UNPKG

@dpkit/zenodo

Version:

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

18 lines 2.21 kB
import { isRemotePath } from "@dpkit/core"; import { loadPackageFromZenodo } from "./package/load.js"; export class ZenodoPlugin { async loadPackage(source) { const isZenodo = getIsZenodo(source); if (!isZenodo) return undefined; const dataPackage = await loadPackageFromZenodo(source); return dataPackage; } } function getIsZenodo(path) { const isRemote = isRemotePath(path); if (!isRemote) return false; return new URL(path).hostname.endsWith("zenodo.org"); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDMUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFekQsTUFBTSxPQUFPLFlBQVk7SUFDdkIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFjO1FBQzlCLE1BQU0sUUFBUSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUNwQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sU0FBUyxDQUFBO1FBRS9CLE1BQU0sV0FBVyxHQUFHLE1BQU0scUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDdkQsT0FBTyxXQUFXLENBQUE7SUFDcEIsQ0FBQztDQUNGO0FBRUQsU0FBUyxXQUFXLENBQUMsSUFBWTtJQUMvQixNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDbkMsSUFBSSxDQUFDLFFBQVE7UUFBRSxPQUFPLEtBQUssQ0FBQTtJQUUzQixPQUFPLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUE7QUFDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSBcIkBkcGtpdC9jb3JlXCJcbmltcG9ydCB7IGlzUmVtb3RlUGF0aCB9IGZyb20gXCJAZHBraXQvY29yZVwiXG5pbXBvcnQgeyBsb2FkUGFja2FnZUZyb21aZW5vZG8gfSBmcm9tIFwiLi9wYWNrYWdlL2xvYWQudHNcIlxuXG5leHBvcnQgY2xhc3MgWmVub2RvUGx1Z2luIGltcGxlbWVudHMgUGx1Z2luIHtcbiAgYXN5bmMgbG9hZFBhY2thZ2Uoc291cmNlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBpc1plbm9kbyA9IGdldElzWmVub2RvKHNvdXJjZSlcbiAgICBpZiAoIWlzWmVub2RvKSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICBjb25zdCBkYXRhUGFja2FnZSA9IGF3YWl0IGxvYWRQYWNrYWdlRnJvbVplbm9kbyhzb3VyY2UpXG4gICAgcmV0dXJuIGRhdGFQYWNrYWdlXG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0SXNaZW5vZG8ocGF0aDogc3RyaW5nKSB7XG4gIGNvbnN0IGlzUmVtb3RlID0gaXNSZW1vdGVQYXRoKHBhdGgpXG4gIGlmICghaXNSZW1vdGUpIHJldHVybiBmYWxzZVxuXG4gIHJldHVybiBuZXcgVVJMKHBhdGgpLmhvc3RuYW1lLmVuZHNXaXRoKFwiemVub2RvLm9yZ1wiKVxufVxuIl19