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