@freik/files
Version:
File and Path utilities
6 lines (5 loc) • 1.23 kB
JavaScript
import*as s from"fs";import{promises as c}from"fs";import*as i from"path";import{SpawnRes as a}from"@freik/spawn";const o={readFileAsync:s.promises.readFile,readFileSync:s.readFileSync,writeFileAsync:s.promises.writeFile,writeFileSync:s.writeFileSync,statAsync:s.promises.stat,statSync:s.statSync};function p(t){try{return o.statSync(t).size}catch{return-1}}async function f(t){try{return(await o.statAsync(t)).size}catch{return-1}}function m(t,r){const e=i.sep==="/"?`
`:`\r
`,n=t.join(e);o.writeFileSync(r,n)}async function u(t,r){const e=i.sep==="/"?`
`:`\r
`,n=t.join(e);await o.writeFileAsync(r,n)}function g(t){return o.readFileSync(t,"utf8").split(/\n|\r/).filter(n=>n.trim().length>0)}async function F(t){return(await o.readFileAsync(t,"utf8")).split(/\n|\r/).filter(n=>n.trim().length>0)}async function w(t){let r=t;return i.basename(t).startsWith(".")||(r=i.join(i.dirname(t),"."+i.basename(t)),await c.rename(t,r)),process.platform==="darwin"?await a("chflags",["hidden",r]):process.platform==="win32"?await a("attrib",["+H",r.replaceAll("/","\\")]):process.platform,r}export{u as ArrayToTextFile,m as ArrayToTextFileSync,f as FileSize,p as FileSizeSync,w as HideFile,F as TextFileToArray,g as TextFileToArraySync};