gchcg-cli
Version:
1 lines • 978 B
JavaScript
;const fs=require("fs");function isObject(e){return"[object Object]"===Object.prototype.toString.call(e)}function spinnerStart(e,n="|/-\\"){const t=new(0,require("cli-spinner").Spinner)(e+" %s");return t.setSpinnerString(n),t.start(),t}function sleep(e=1e3){return new Promise((n=>setTimeout(n,e)))}function exec(e,n,t){const r="win32"===process.platform,i=r?"cmd":e,s=r?["/c"].concat(e,n):n;return require("child_process").spawn(i,s,t||{})}function execAsync(e,n,t){return new Promise(((r,i)=>{const s=exec(e,n,t);s.on("error",(e=>{i(e)})),s.on("exit",(e=>{r(e)}))}))}function readFile(e,n={}){if(fs.existsSync(e)){const t=fs.readFileSync(e);if(t)return n.toJson?t.toJSON():t.toString()}return null}function writeFile(e,n,{rewrite:t=!0}={}){return fs.existsSync(e)?!!t&&(fs.writeFileSync(e,n),!0):(fs.writeFileSync(e,n),!0)}module.exports={isObject:isObject,spinnerStart:spinnerStart,sleep:sleep,exec:exec,execAsync:execAsync,readFile:readFile,writeFile:writeFile};