UNPKG

dpkit

Version:

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

16 lines 2.26 kB
import { loadPackageDescriptor } from "@dpkit/core"; import { dpkit } from "../general/index.js"; export async function loadPackage(source) { for (const plugin of dpkit.plugins) { const result = await plugin.loadPackage?.(source); if (result) return result; } if (source.endsWith("datapackage.json")) { const cleanup = async () => { }; const dataPackage = await loadPackageDescriptor(source); return { dataPackage, cleanup }; } throw new Error(`No plugin can load the package: ${source}`); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3BhY2thZ2UvbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBRTNDLE1BQU0sQ0FBQyxLQUFLLFVBQVUsV0FBVyxDQUFDLE1BQWM7SUFDOUMsS0FBSyxNQUFNLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkMsTUFBTSxNQUFNLEdBQUcsTUFBTSxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDakQsSUFBSSxNQUFNO1lBQUUsT0FBTyxNQUFNLENBQUE7SUFDM0IsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7UUFDeEMsTUFBTSxPQUFPLEdBQUcsS0FBSyxJQUFJLEVBQUUsR0FBRSxDQUFDLENBQUE7UUFDOUIsTUFBTSxXQUFXLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxDQUFBO0lBQ2pDLENBQUM7SUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO0FBQzlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBsb2FkUGFja2FnZURlc2NyaXB0b3IgfSBmcm9tIFwiQGRwa2l0L2NvcmVcIlxuaW1wb3J0IHsgZHBraXQgfSBmcm9tIFwiLi4vZ2VuZXJhbC9pbmRleC5qc1wiXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkUGFja2FnZShzb3VyY2U6IHN0cmluZykge1xuICBmb3IgKGNvbnN0IHBsdWdpbiBvZiBkcGtpdC5wbHVnaW5zKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcGx1Z2luLmxvYWRQYWNrYWdlPy4oc291cmNlKVxuICAgIGlmIChyZXN1bHQpIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIGlmIChzb3VyY2UuZW5kc1dpdGgoXCJkYXRhcGFja2FnZS5qc29uXCIpKSB7XG4gICAgY29uc3QgY2xlYW51cCA9IGFzeW5jICgpID0+IHt9XG4gICAgY29uc3QgZGF0YVBhY2thZ2UgPSBhd2FpdCBsb2FkUGFja2FnZURlc2NyaXB0b3Ioc291cmNlKVxuICAgIHJldHVybiB7IGRhdGFQYWNrYWdlLCBjbGVhbnVwIH1cbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcihgTm8gcGx1Z2luIGNhbiBsb2FkIHRoZSBwYWNrYWdlOiAke3NvdXJjZX1gKVxufVxuIl19