feedsmith
Version:
Fast, all‑in‑one feed parser and generator for RSS, Atom, RDF, and JSON Feed, with support for Podcast, iTunes, Dublin Core, and OPML files.
26 lines (25 loc) • 1.12 kB
JavaScript
import { isObject, parseSingularOf, parseString, retrieveText, trimObject } from "../../../common/utils.js";
//#region src/namespaces/arxiv/parse/utils.ts
const parsePrimaryCategory = (value) => {
if (!isObject(value)) return;
return trimObject({
term: parseString(value["@term"]),
scheme: parseString(value["@scheme"]),
label: parseString(value["@label"])
});
};
const retrieveAuthor = (value) => {
if (!isObject(value)) return;
return trimObject({ affiliation: parseSingularOf(value["arxiv:affiliation"], (value) => parseString(retrieveText(value))) });
};
const retrieveEntry = (value) => {
if (!isObject(value)) return;
return trimObject({
comment: parseSingularOf(value["arxiv:comment"], (value) => parseString(retrieveText(value))),
journalRef: parseSingularOf(value["arxiv:journal_ref"], (value) => parseString(retrieveText(value))),
doi: parseSingularOf(value["arxiv:doi"], (value) => parseString(retrieveText(value))),
primaryCategory: parseSingularOf(value["arxiv:primary_category"], parsePrimaryCategory)
});
};
//#endregion
export { parsePrimaryCategory, retrieveAuthor, retrieveEntry };