UNPKG

@dpkit/zip

Version:

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

21 lines 2.83 kB
import { loadPackageFromZip, savePackageToZip } from "./package/index.js"; export class ZipPlugin { async loadPackage(source) { const isZip = source.endsWith(".zip"); if (!isZip) return undefined; const { dataPackage, cleanup } = await loadPackageFromZip(source); return { dataPackage, cleanup }; } async savePackage(dataPackage, options) { const isZip = options.target.endsWith(".zip"); if (!isZip) return undefined; await savePackageToZip(dataPackage, { archivePath: options.target, withRemote: !!options?.withRemote, }); return { path: undefined }; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBRXpFLE1BQU0sT0FBTyxTQUFTO0lBQ3BCLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBYztRQUM5QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQ3JDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxTQUFTLENBQUE7UUFFNUIsTUFBTSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRWpFLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLENBQUE7SUFDakMsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQ2YsV0FBb0IsRUFDcEIsT0FBaUQ7UUFFakQsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDN0MsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLFNBQVMsQ0FBQTtRQUU1QixNQUFNLGdCQUFnQixDQUFDLFdBQVcsRUFBRTtZQUNsQyxXQUFXLEVBQUUsT0FBTyxDQUFDLE1BQU07WUFDM0IsVUFBVSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsVUFBVTtTQUNsQyxDQUFDLENBQUE7UUFFRixPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFBO0lBQzVCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGFja2FnZSwgUGx1Z2luIH0gZnJvbSBcIkBkcGtpdC9jb3JlXCJcbmltcG9ydCB7IGxvYWRQYWNrYWdlRnJvbVppcCwgc2F2ZVBhY2thZ2VUb1ppcCB9IGZyb20gXCIuL3BhY2thZ2UvaW5kZXguanNcIlxuXG5leHBvcnQgY2xhc3MgWmlwUGx1Z2luIGltcGxlbWVudHMgUGx1Z2luIHtcbiAgYXN5bmMgbG9hZFBhY2thZ2Uoc291cmNlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBpc1ppcCA9IHNvdXJjZS5lbmRzV2l0aChcIi56aXBcIilcbiAgICBpZiAoIWlzWmlwKSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICBjb25zdCB7IGRhdGFQYWNrYWdlLCBjbGVhbnVwIH0gPSBhd2FpdCBsb2FkUGFja2FnZUZyb21aaXAoc291cmNlKVxuXG4gICAgcmV0dXJuIHsgZGF0YVBhY2thZ2UsIGNsZWFudXAgfVxuICB9XG5cbiAgYXN5bmMgc2F2ZVBhY2thZ2UoXG4gICAgZGF0YVBhY2thZ2U6IFBhY2thZ2UsXG4gICAgb3B0aW9uczogeyB0YXJnZXQ6IHN0cmluZzsgd2l0aFJlbW90ZT86IGJvb2xlYW4gfSxcbiAgKSB7XG4gICAgY29uc3QgaXNaaXAgPSBvcHRpb25zLnRhcmdldC5lbmRzV2l0aChcIi56aXBcIilcbiAgICBpZiAoIWlzWmlwKSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICBhd2FpdCBzYXZlUGFja2FnZVRvWmlwKGRhdGFQYWNrYWdlLCB7XG4gICAgICBhcmNoaXZlUGF0aDogb3B0aW9ucy50YXJnZXQsXG4gICAgICB3aXRoUmVtb3RlOiAhIW9wdGlvbnM/LndpdGhSZW1vdGUsXG4gICAgfSlcblxuICAgIHJldHVybiB7IHBhdGg6IHVuZGVmaW5lZCB9XG4gIH1cbn1cbiJdfQ==