@neodx/vfs
Version:
Simple virtual file system - working dir context, lazy changes, different modes, integrations and moreover
41 lines (40 loc) • 982 B
JavaScript
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