UNPKG

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.

38 lines (37 loc) 2.94 kB
import { isObject, parseArrayOf, parseDate, parseSingularOf, parseString, retrieveText, trimObject } from "../../../common/utils.js"; //#region src/namespaces/dc/parse/utils.ts const retrieveItemOrFeed = (value) => { if (!isObject(value)) return; return trimObject({ titles: parseArrayOf(value["dc:title"], (value) => parseString(retrieveText(value))), creators: parseArrayOf(value["dc:creator"], (value) => parseString(retrieveText(value))), subjects: parseArrayOf(value["dc:subject"], (value) => parseString(retrieveText(value))), descriptions: parseArrayOf(value["dc:description"], (value) => parseString(retrieveText(value))), publishers: parseArrayOf(value["dc:publisher"], (value) => parseString(retrieveText(value))), contributors: parseArrayOf(value["dc:contributor"], (value) => parseString(retrieveText(value))), dates: parseArrayOf(value["dc:date"], (value) => parseDate(retrieveText(value))), types: parseArrayOf(value["dc:type"], (value) => parseString(retrieveText(value))), formats: parseArrayOf(value["dc:format"], (value) => parseString(retrieveText(value))), identifiers: parseArrayOf(value["dc:identifier"], (value) => parseString(retrieveText(value))), sources: parseArrayOf(value["dc:source"], (value) => parseString(retrieveText(value))), languages: parseArrayOf(value["dc:language"], (value) => parseString(retrieveText(value))), relations: parseArrayOf(value["dc:relation"], (value) => parseString(retrieveText(value))), title: parseSingularOf(value["dc:title"], (value) => parseString(retrieveText(value))), creator: parseSingularOf(value["dc:creator"], (value) => parseString(retrieveText(value))), subject: parseSingularOf(value["dc:subject"], (value) => parseString(retrieveText(value))), description: parseSingularOf(value["dc:description"], (value) => parseString(retrieveText(value))), publisher: parseSingularOf(value["dc:publisher"], (value) => parseString(retrieveText(value))), contributor: parseSingularOf(value["dc:contributor"], (value) => parseString(retrieveText(value))), date: parseSingularOf(value["dc:date"], (value) => parseDate(retrieveText(value))), type: parseSingularOf(value["dc:type"], (value) => parseString(retrieveText(value))), format: parseSingularOf(value["dc:format"], (value) => parseString(retrieveText(value))), identifier: parseSingularOf(value["dc:identifier"], (value) => parseString(retrieveText(value))), source: parseSingularOf(value["dc:source"], (value) => parseString(retrieveText(value))), language: parseSingularOf(value["dc:language"], (value) => parseString(retrieveText(value))), relation: parseSingularOf(value["dc:relation"], (value) => parseString(retrieveText(value))), coverage: parseSingularOf(value["dc:coverage"], (value) => parseString(retrieveText(value))), rights: parseSingularOf(value["dc:rights"], (value) => parseString(retrieveText(value))) }); }; //#endregion export { retrieveItemOrFeed };