@dpkit/zenodo
Version:
Fast TypeScript data management framework built on top of the Data Package standard and Polars DataFrames
21 lines (16 loc) • 559 B
text/typescript
import type { Plugin } from "@dpkit/core"
import { isRemotePath } from "@dpkit/core"
import { loadPackageFromZenodo } from "./package/load.ts"
export class ZenodoPlugin implements Plugin {
async loadPackage(source: string) {
const isZenodo = getIsZenodo(source)
if (!isZenodo) return undefined
const dataPackage = await loadPackageFromZenodo(source)
return dataPackage
}
}
function getIsZenodo(path: string) {
const isRemote = isRemotePath(path)
if (!isRemote) return false
return new URL(path).hostname.endsWith("zenodo.org")
}