UNPKG

@stryke/fs

Version:

A package containing various file system utilities that expand the functionality of NodeJs's built-in `fs` module.

41 lines (40 loc) 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.readJsonFile = readJsonFile; exports.readJsonFileSync = readJsonFileSync; exports.writeJsonFile = writeJsonFile; exports.writeJsonFileSync = writeJsonFileSync; var _stormJson = require("@stryke/json/storm-json"); var _isError = require("@stryke/type-checks/is-error"); var _readFile = require("./read-file.cjs"); var _writeFile = require("./write-file.cjs"); function readJsonFileSync(r, t) { const n = (0, _readFile.readFileSync)(r); t && (t.endsWithNewline = n.codePointAt(n.length - 1) === 10); try { return _stormJson.StormJSON.parseJson(n, t); } catch (e) { throw (0, _isError.isError)(e) ? (e.message = e.message.replace("JSON", r), e) : new Error(`Failed to parse JSON: ${r}`); } } async function readJsonFile(r, t) { const n = await (0, _readFile.readFile)(r); t && (t.endsWithNewline = n.codePointAt(n.length - 1) === 10); try { return _stormJson.StormJSON.parseJson(n, t); } catch (e) { throw (0, _isError.isError)(e) ? (e.message = e.message.replace("JSON", r), e) : new Error(`Failed to parse JSON: ${r}`); } } function writeJsonFileSync(r, t, n) { const e = _stormJson.StormJSON.stringify(t, n); return (0, _writeFile.writeFileSync)(r, n?.appendNewLine ? `${e} ` : e); } async function writeJsonFile(r, t, n) { const e = _stormJson.StormJSON.stringify(t); return (0, _writeFile.writeFile)(r, n?.appendNewLine ? `${e} ` : e); }