UNPKG

@dpkit/zenodo

Version:

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

79 lines 8.59 kB
export function convertPackageToZenodo(dataPackage) { const metadata = { upload_type: "dataset", }; if (dataPackage.title) { metadata.title = dataPackage.title; } if (dataPackage.description) { metadata.description = dataPackage.description; } else if (dataPackage.title) { metadata.description = dataPackage.title; } else { metadata.description = "Dataset created with @dpkit/zenodo"; } if (dataPackage.version) { metadata.version = dataPackage.version; } if (dataPackage.licenses && dataPackage.licenses.length > 0) { const license = dataPackage.licenses[0]; if (license?.name) { metadata.license = license.name; } } if (dataPackage.contributors && dataPackage.contributors.length > 0) { const creators = []; const authors = dataPackage.contributors.filter(c => c.role === "author"); if (authors.length > 0) { authors.forEach(author => { const creator = { name: author.title, }; if (author.path) { creator.affiliation = author.path; } creators.push(creator); }); } else { const firstContributor = dataPackage.contributors[0]; if (firstContributor) { const creator = { name: firstContributor.title, }; if (firstContributor.path) { creator.affiliation = firstContributor.path; } creators.push(creator); } } if (creators.length > 0) { metadata.creators = creators; } else { metadata.creators = [ { name: "Unknown Author", affiliation: "Unknown Affiliation", }, ]; } } else { metadata.creators = [ { name: "Unknown Author", affiliation: "Unknown Affiliation", }, ]; } if (dataPackage.keywords && dataPackage.keywords.length > 0) { metadata.keywords = dataPackage.keywords; } return { metadata: metadata, }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9aZW5vZG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlL2NvbnZlcnQvdG9aZW5vZG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxVQUFVLHNCQUFzQixDQUNwQyxXQUFvQjtJQUVwQixNQUFNLFFBQVEsR0FBdUM7UUFDbkQsV0FBVyxFQUFFLFNBQVM7S0FDdkIsQ0FBQTtJQUVELElBQUksV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3RCLFFBQVEsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQTtJQUNwQyxDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDNUIsUUFBUSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsV0FBVyxDQUFBO0lBQ2hELENBQUM7U0FBTSxJQUFJLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixRQUFRLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUE7SUFDMUMsQ0FBQztTQUFNLENBQUM7UUFDTixRQUFRLENBQUMsV0FBVyxHQUFHLG9DQUFvQyxDQUFBO0lBQzdELENBQUM7SUFFRCxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN4QixRQUFRLENBQUMsT0FBTyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUE7SUFDeEMsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLFFBQVEsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM1RCxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ3ZDLElBQUksT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2xCLFFBQVEsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQTtRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLFlBQVksSUFBSSxXQUFXLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNwRSxNQUFNLFFBQVEsR0FBb0IsRUFBRSxDQUFBO1FBRXBDLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQTtRQUN6RSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDdkIsTUFBTSxPQUFPLEdBQWtCO29CQUM3QixJQUFJLEVBQUUsTUFBTSxDQUFDLEtBQUs7aUJBQ25CLENBQUE7Z0JBRUQsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ2hCLE9BQU8sQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQTtnQkFDbkMsQ0FBQztnQkFFRCxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQ3hCLENBQUMsQ0FBQyxDQUFBO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLGdCQUFnQixHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDcEQsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNyQixNQUFNLE9BQU8sR0FBa0I7b0JBQzdCLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLO2lCQUM3QixDQUFBO2dCQUVELElBQUksZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQzFCLE9BQU8sQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFBO2dCQUM3QyxDQUFDO2dCQUVELFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDeEIsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDeEIsUUFBUSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUE7UUFDOUIsQ0FBQzthQUFNLENBQUM7WUFDTixRQUFRLENBQUMsUUFBUSxHQUFHO2dCQUNsQjtvQkFDRSxJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixXQUFXLEVBQUUscUJBQXFCO2lCQUNuQzthQUNGLENBQUE7UUFDSCxDQUFDO0lBQ0gsQ0FBQztTQUFNLENBQUM7UUFDTixRQUFRLENBQUMsUUFBUSxHQUFHO1lBQ2xCO2dCQUNFLElBQUksRUFBRSxnQkFBZ0I7Z0JBQ3RCLFdBQVcsRUFBRSxxQkFBcUI7YUFDbkM7U0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVELElBQUksV0FBVyxDQUFDLFFBQVEsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUM1RCxRQUFRLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUE7SUFDMUMsQ0FBQztJQUVELE9BQU87UUFDTCxRQUFRLEVBQUUsUUFBcUM7S0FDaEQsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBhY2thZ2UgfSBmcm9tIFwiQGRwa2l0L2NvcmVcIlxuaW1wb3J0IHR5cGUgeyBaZW5vZG9DcmVhdG9yIH0gZnJvbSBcIi4uL0NyZWF0b3IudHNcIlxuaW1wb3J0IHR5cGUgeyBaZW5vZG9QYWNrYWdlIH0gZnJvbSBcIi4uL1BhY2thZ2UudHNcIlxuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFBhY2thZ2VUb1plbm9kbyhcbiAgZGF0YVBhY2thZ2U6IFBhY2thZ2UsXG4pOiBQYXJ0aWFsPFplbm9kb1BhY2thZ2U+IHtcbiAgY29uc3QgbWV0YWRhdGE6IFBhcnRpYWw8WmVub2RvUGFja2FnZVtcIm1ldGFkYXRhXCJdPiA9IHtcbiAgICB1cGxvYWRfdHlwZTogXCJkYXRhc2V0XCIsXG4gIH1cblxuICBpZiAoZGF0YVBhY2thZ2UudGl0bGUpIHtcbiAgICBtZXRhZGF0YS50aXRsZSA9IGRhdGFQYWNrYWdlLnRpdGxlXG4gIH1cblxuICBpZiAoZGF0YVBhY2thZ2UuZGVzY3JpcHRpb24pIHtcbiAgICBtZXRhZGF0YS5kZXNjcmlwdGlvbiA9IGRhdGFQYWNrYWdlLmRlc2NyaXB0aW9uXG4gIH0gZWxzZSBpZiAoZGF0YVBhY2thZ2UudGl0bGUpIHtcbiAgICBtZXRhZGF0YS5kZXNjcmlwdGlvbiA9IGRhdGFQYWNrYWdlLnRpdGxlXG4gIH0gZWxzZSB7XG4gICAgbWV0YWRhdGEuZGVzY3JpcHRpb24gPSBcIkRhdGFzZXQgY3JlYXRlZCB3aXRoIEBkcGtpdC96ZW5vZG9cIlxuICB9XG5cbiAgaWYgKGRhdGFQYWNrYWdlLnZlcnNpb24pIHtcbiAgICBtZXRhZGF0YS52ZXJzaW9uID0gZGF0YVBhY2thZ2UudmVyc2lvblxuICB9XG5cbiAgaWYgKGRhdGFQYWNrYWdlLmxpY2Vuc2VzICYmIGRhdGFQYWNrYWdlLmxpY2Vuc2VzLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBsaWNlbnNlID0gZGF0YVBhY2thZ2UubGljZW5zZXNbMF1cbiAgICBpZiAobGljZW5zZT8ubmFtZSkge1xuICAgICAgbWV0YWRhdGEubGljZW5zZSA9IGxpY2Vuc2UubmFtZVxuICAgIH1cbiAgfVxuXG4gIGlmIChkYXRhUGFja2FnZS5jb250cmlidXRvcnMgJiYgZGF0YVBhY2thZ2UuY29udHJpYnV0b3JzLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBjcmVhdG9yczogWmVub2RvQ3JlYXRvcltdID0gW11cblxuICAgIGNvbnN0IGF1dGhvcnMgPSBkYXRhUGFja2FnZS5jb250cmlidXRvcnMuZmlsdGVyKGMgPT4gYy5yb2xlID09PSBcImF1dGhvclwiKVxuICAgIGlmIChhdXRob3JzLmxlbmd0aCA+IDApIHtcbiAgICAgIGF1dGhvcnMuZm9yRWFjaChhdXRob3IgPT4ge1xuICAgICAgICBjb25zdCBjcmVhdG9yOiBaZW5vZG9DcmVhdG9yID0ge1xuICAgICAgICAgIG5hbWU6IGF1dGhvci50aXRsZSxcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhdXRob3IucGF0aCkge1xuICAgICAgICAgIGNyZWF0b3IuYWZmaWxpYXRpb24gPSBhdXRob3IucGF0aFxuICAgICAgICB9XG5cbiAgICAgICAgY3JlYXRvcnMucHVzaChjcmVhdG9yKVxuICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmlyc3RDb250cmlidXRvciA9IGRhdGFQYWNrYWdlLmNvbnRyaWJ1dG9yc1swXVxuICAgICAgaWYgKGZpcnN0Q29udHJpYnV0b3IpIHtcbiAgICAgICAgY29uc3QgY3JlYXRvcjogWmVub2RvQ3JlYXRvciA9IHtcbiAgICAgICAgICBuYW1lOiBmaXJzdENvbnRyaWJ1dG9yLnRpdGxlLFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpcnN0Q29udHJpYnV0b3IucGF0aCkge1xuICAgICAgICAgIGNyZWF0b3IuYWZmaWxpYXRpb24gPSBmaXJzdENvbnRyaWJ1dG9yLnBhdGhcbiAgICAgICAgfVxuXG4gICAgICAgIGNyZWF0b3JzLnB1c2goY3JlYXRvcilcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY3JlYXRvcnMubGVuZ3RoID4gMCkge1xuICAgICAgbWV0YWRhdGEuY3JlYXRvcnMgPSBjcmVhdG9yc1xuICAgIH0gZWxzZSB7XG4gICAgICBtZXRhZGF0YS5jcmVhdG9ycyA9IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiVW5rbm93biBBdXRob3JcIixcbiAgICAgICAgICBhZmZpbGlhdGlvbjogXCJVbmtub3duIEFmZmlsaWF0aW9uXCIsXG4gICAgICAgIH0sXG4gICAgICBdXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG1ldGFkYXRhLmNyZWF0b3JzID0gW1xuICAgICAge1xuICAgICAgICBuYW1lOiBcIlVua25vd24gQXV0aG9yXCIsXG4gICAgICAgIGFmZmlsaWF0aW9uOiBcIlVua25vd24gQWZmaWxpYXRpb25cIixcbiAgICAgIH0sXG4gICAgXVxuICB9XG5cbiAgaWYgKGRhdGFQYWNrYWdlLmtleXdvcmRzICYmIGRhdGFQYWNrYWdlLmtleXdvcmRzLmxlbmd0aCA+IDApIHtcbiAgICBtZXRhZGF0YS5rZXl3b3JkcyA9IGRhdGFQYWNrYWdlLmtleXdvcmRzXG4gIH1cblxuICByZXR1cm4ge1xuICAgIG1ldGFkYXRhOiBtZXRhZGF0YSBhcyBaZW5vZG9QYWNrYWdlW1wibWV0YWRhdGFcIl0sXG4gIH1cbn1cbiJdfQ==