UNPKG

@neodx/vfs

Version:

Simple virtual file system - working dir context, lazy changes, different modes, integrations and moreover

41 lines (40 loc) 982 B
import { parseJson as n, serializeJson as t } from '@neodx/fs'; import { c as r } from '../_internal/create-vfs-plugin-CTZbwgZU.mjs'; function e() { return r( 'json', n => ( (n.jsonFile = t => a(n, t)), (n.readJson = (t, r) => o(n, t, r)), (n.writeJson = (t, r, e) => s(n, t, r, e)), (n.updateJson = (t, r, e) => i(n, t, r, e)), n ) ); } function a(n, t) { return { read: r => o(n, t, r), write: (r, e) => s(n, t, r, e), update: (r, e) => i(n, t, r, e) }; } async function o(t, r, e) { try { return n(await t.read(r, 'utf-8'), e); } catch (n) { throw Error(`Cannot parse ${r}: ${n.message}`); } } async function s(n, r, e, a) { return await n.write(r, t(e, a)); } async function i(n, t, r, e) { let a = await o(n, t, e); return await s(n, t, (await r(a)) ?? a, e); } export { a as createJsonFileApi, e as json, o as readVfsJson, i as updateVfsJson, s as writeVfsJson }; //# sourceMappingURL=json.mjs.map