@dpkit/zenodo
Version:
Fast TypeScript data management framework built on top of the Data Package standard and Polars DataFrames
23 lines (18 loc) • 624 B
text/typescript
import { getFormat, getName } from "@dpkit/core"
import type { ZenodoResource } from "../Resource.ts"
export function convertResourceFromZenodo(zenodoResource: ZenodoResource) {
const path = convertPath(zenodoResource.links.self)
const resource = {
path,
name: getName(zenodoResource.key) ?? zenodoResource.id,
format: getFormat(zenodoResource.key),
bytes: zenodoResource.size,
hash: zenodoResource.checksum,
"zenodo:key": zenodoResource.key,
"zenodo:url": path,
}
return resource
}
function convertPath(link: string) {
return link.replace("/api/", "/").replace(/\/content$/, "")
}