@stryke/fs
Version:
A package containing various file system utilities that expand the functionality of NodeJs's built-in `fs` module.
4 lines (3 loc) • 915 B
JavaScript
import{StormJSON as o}from"@stryke/json/storm-json";import{isError as i}from"@stryke/type-checks/is-error";import{readFile as s,readFileSync as a}from"./read-file";import{writeFile as c,writeFileSync as d}from"./write-file";export function readJsonFileSync(r,t){const n=a(r);t&&(t.endsWithNewline=n.codePointAt(n.length-1)===10);try{return o.parseJson(n,t)}catch(e){throw i(e)?(e.message=e.message.replace("JSON",r),e):new Error(`Failed to parse JSON: ${r}`)}}export async function readJsonFile(r,t){const n=await s(r);t&&(t.endsWithNewline=n.codePointAt(n.length-1)===10);try{return o.parseJson(n,t)}catch(e){throw i(e)?(e.message=e.message.replace("JSON",r),e):new Error(`Failed to parse JSON: ${r}`)}}export function writeJsonFileSync(r,t,n){const e=o.stringify(t,n);return d(r,n?.appendNewLine?`${e}
`:e)}export async function writeJsonFile(r,t,n){const e=o.stringify(t);return c(r,n?.appendNewLine?`${e}
`:e)}