UNPKG

@freik/node-utils

Version:

My personal set of utilities for NodeJS

2 lines (1 loc) 1.58 kB
var d=Object.create;var a=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var w=Object.getPrototypeOf,A=Object.prototype.hasOwnProperty;var h=(n,t)=>{for(var e in t)a(n,e,{get:t[e],enumerable:!0})},p=(n,t,e,F)=>{if(t&&typeof t=="object"||typeof t=="function")for(let c of m(t))!A.call(n,c)&&c!==e&&a(n,c,{get:()=>t[c],enumerable:!(F=g(t,c))||F.enumerable});return n};var l=(n,t,e)=>(e=n!=null?d(w(n)):{},p(t||!n||!n.__esModule?a(e,"default",{value:n,enumerable:!0}):e,n)),k=n=>p(a({},"__esModule",{value:!0}),n);var P={};h(P,{Get:()=>r,GetAsync:()=>f,GetFilePath:()=>o,GetSync:()=>r,Load:()=>r,LoadAsync:()=>f,LoadSync:()=>r,Read:()=>r,ReadAsync:()=>f,ReadSync:()=>r,Save:()=>i,SaveAsync:()=>S,SaveSync:()=>i,Set:()=>i,SetAsync:()=>S,SetSync:()=>i,Write:()=>i,WriteAsync:()=>S,WriteSync:()=>i});module.exports=k(P);var s=require("@freik/typechk"),y=l(require("fs")),x=l(require("os")),G=l(require("path"));const u={readFileAsync:y.promises.readFile,writeFileAsync:y.promises.writeFile,readFileSync:y.readFileSync,writeFileSync:y.writeFileSync};function o(n){return G.join(x.homedir(),".config",`${n}.json`)}function r(n){const t=o(n);try{const e=u.readFileSync(t,"utf8");return(0,s.Unpickle)(e)}catch{return}}async function f(n){const t=o(n);try{const e=await u.readFileAsync(t,"utf8");return(0,s.Unpickle)(e)}catch{return}}function i(n,t){const e=o(n);try{return u.writeFileSync(e,(0,s.Pickle)(t),"utf8"),!0}catch{return!1}}async function S(n,t){const e=o(n);try{return await u.writeFileAsync(e,(0,s.Pickle)(t),"utf8"),!0}catch{return!1}}