UNPKG

@dpkit/file

Version:

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

10 lines 1.99 kB
import { createWriteStream } from "node:fs"; import { mkdir } from "node:fs/promises"; import { dirname } from "node:path"; import { pipeline } from "node:stream/promises"; export async function saveFileStream(stream, options) { // The "wx" flag ensures that the file won't overwrite an existing file await mkdir(dirname(options.path), { recursive: true }); await pipeline(stream, createWriteStream(options.path, { flags: "wx" })); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3N0cmVhbS9zYXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFNBQVMsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUVuQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUE7QUFFL0MsTUFBTSxDQUFDLEtBQUssVUFBVSxjQUFjLENBQ2xDLE1BQWdCLEVBQ2hCLE9BRUM7SUFFRCx1RUFBdUU7SUFDdkUsTUFBTSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQ3ZELE1BQU0sUUFBUSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQTtBQUMxRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlV3JpdGVTdHJlYW0gfSBmcm9tIFwibm9kZTpmc1wiXG5pbXBvcnQgeyBta2RpciB9IGZyb20gXCJub2RlOmZzL3Byb21pc2VzXCJcbmltcG9ydCB7IGRpcm5hbWUgfSBmcm9tIFwibm9kZTpwYXRoXCJcbmltcG9ydCB0eXBlIHsgUmVhZGFibGUgfSBmcm9tIFwibm9kZTpzdHJlYW1cIlxuaW1wb3J0IHsgcGlwZWxpbmUgfSBmcm9tIFwibm9kZTpzdHJlYW0vcHJvbWlzZXNcIlxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2F2ZUZpbGVTdHJlYW0oXG4gIHN0cmVhbTogUmVhZGFibGUsXG4gIG9wdGlvbnM6IHtcbiAgICBwYXRoOiBzdHJpbmdcbiAgfSxcbikge1xuICAvLyBUaGUgXCJ3eFwiIGZsYWcgZW5zdXJlcyB0aGF0IHRoZSBmaWxlIHdvbid0IG92ZXJ3cml0ZSBhbiBleGlzdGluZyBmaWxlXG4gIGF3YWl0IG1rZGlyKGRpcm5hbWUob3B0aW9ucy5wYXRoKSwgeyByZWN1cnNpdmU6IHRydWUgfSlcbiAgYXdhaXQgcGlwZWxpbmUoc3RyZWFtLCBjcmVhdGVXcml0ZVN0cmVhbShvcHRpb25zLnBhdGgsIHsgZmxhZ3M6IFwid3hcIiB9KSlcbn1cbiJdfQ==