UNPKG

@dpkit/datahub

Version:

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

18 lines 2.2 kB
import { isRemotePath } from "@dpkit/core"; import { loadPackageFromDatahub } from "./package/index.js"; export class DatahubPlugin { async loadPackage(source) { const isDatahub = getIsDatahub(source); if (!isDatahub) return undefined; const dataPackage = await loadPackageFromDatahub(source); return dataPackage; } } function getIsDatahub(path) { const isRemote = isRemotePath(path); if (!isRemote) return false; return new URL(path).hostname === "datahub.io"; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDMUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFM0QsTUFBTSxPQUFPLGFBQWE7SUFDeEIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFjO1FBQzlCLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN0QyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU8sU0FBUyxDQUFBO1FBRWhDLE1BQU0sV0FBVyxHQUFHLE1BQU0sc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDeEQsT0FBTyxXQUFXLENBQUE7SUFDcEIsQ0FBQztDQUNGO0FBRUQsU0FBUyxZQUFZLENBQUMsSUFBWTtJQUNoQyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDbkMsSUFBSSxDQUFDLFFBQVE7UUFBRSxPQUFPLEtBQUssQ0FBQTtJQUUzQixPQUFPLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsS0FBSyxZQUFZLENBQUE7QUFDaEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSBcIkBkcGtpdC9jb3JlXCJcbmltcG9ydCB7IGlzUmVtb3RlUGF0aCB9IGZyb20gXCJAZHBraXQvY29yZVwiXG5pbXBvcnQgeyBsb2FkUGFja2FnZUZyb21EYXRhaHViIH0gZnJvbSBcIi4vcGFja2FnZS9pbmRleC50c1wiXG5cbmV4cG9ydCBjbGFzcyBEYXRhaHViUGx1Z2luIGltcGxlbWVudHMgUGx1Z2luIHtcbiAgYXN5bmMgbG9hZFBhY2thZ2Uoc291cmNlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBpc0RhdGFodWIgPSBnZXRJc0RhdGFodWIoc291cmNlKVxuICAgIGlmICghaXNEYXRhaHViKSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICBjb25zdCBkYXRhUGFja2FnZSA9IGF3YWl0IGxvYWRQYWNrYWdlRnJvbURhdGFodWIoc291cmNlKVxuICAgIHJldHVybiBkYXRhUGFja2FnZVxuICB9XG59XG5cbmZ1bmN0aW9uIGdldElzRGF0YWh1YihwYXRoOiBzdHJpbmcpIHtcbiAgY29uc3QgaXNSZW1vdGUgPSBpc1JlbW90ZVBhdGgocGF0aClcbiAgaWYgKCFpc1JlbW90ZSkgcmV0dXJuIGZhbHNlXG5cbiAgcmV0dXJuIG5ldyBVUkwocGF0aCkuaG9zdG5hbWUgPT09IFwiZGF0YWh1Yi5pb1wiXG59XG4iXX0=