UNPKG

@dpkit/core

Version:

Fast TypeScript data management framework built on top of the Data Package standard and Polars DataFrames

15 lines 2.43 kB
import { node } from "../node.js"; import { stringifyDescriptor } from "./process/stringify.js"; /** * Save a descriptor (JSON Object) to a file path * Works in Node.js environments */ export async function saveDescriptor(descriptor, options) { if (!node) { throw new Error("File system is not supported in this environment"); } const text = stringifyDescriptor(descriptor); await node.fs.mkdir(node.path.dirname(options.path), { recursive: true }); await node.fs.writeFile(options.path, text, { encoding: "utf8", flag: "wx" }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2dlbmVyYWwvZGVzY3JpcHRvci9zYXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFFakMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFFNUQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxjQUFjLENBQ2xDLFVBQXNCLEVBQ3RCLE9BRUM7SUFFRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDVixNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUE7SUFDckUsQ0FBQztJQUVELE1BQU0sSUFBSSxHQUFHLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBRTVDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7SUFDekUsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7QUFDL0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG5vZGUgfSBmcm9tIFwiLi4vbm9kZS50c1wiXG5pbXBvcnQgdHlwZSB7IERlc2NyaXB0b3IgfSBmcm9tIFwiLi9EZXNjcmlwdG9yLnRzXCJcbmltcG9ydCB7IHN0cmluZ2lmeURlc2NyaXB0b3IgfSBmcm9tIFwiLi9wcm9jZXNzL3N0cmluZ2lmeS50c1wiXG5cbi8qKlxuICogU2F2ZSBhIGRlc2NyaXB0b3IgKEpTT04gT2JqZWN0KSB0byBhIGZpbGUgcGF0aFxuICogV29ya3MgaW4gTm9kZS5qcyBlbnZpcm9ubWVudHNcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNhdmVEZXNjcmlwdG9yKFxuICBkZXNjcmlwdG9yOiBEZXNjcmlwdG9yLFxuICBvcHRpb25zOiB7XG4gICAgcGF0aDogc3RyaW5nXG4gIH0sXG4pIHtcbiAgaWYgKCFub2RlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiRmlsZSBzeXN0ZW0gaXMgbm90IHN1cHBvcnRlZCBpbiB0aGlzIGVudmlyb25tZW50XCIpXG4gIH1cblxuICBjb25zdCB0ZXh0ID0gc3RyaW5naWZ5RGVzY3JpcHRvcihkZXNjcmlwdG9yKVxuXG4gIGF3YWl0IG5vZGUuZnMubWtkaXIobm9kZS5wYXRoLmRpcm5hbWUob3B0aW9ucy5wYXRoKSwgeyByZWN1cnNpdmU6IHRydWUgfSlcbiAgYXdhaXQgbm9kZS5mcy53cml0ZUZpbGUob3B0aW9ucy5wYXRoLCB0ZXh0LCB7IGVuY29kaW5nOiBcInV0ZjhcIiwgZmxhZzogXCJ3eFwiIH0pXG59XG4iXX0=