@dpkit/zip
Version:
Fast TypeScript data management framework built on top of the Data Package standard and Polars DataFrames
21 lines • 2.83 kB
JavaScript
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==