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.
99 lines (98 loc) • 9.5 kB
JavaScript
import { isObject, parseArrayOf, parseDate, parseSingularOf, parseString, retrieveText, trimObject } from "../../../common/utils.js";
//#region src/namespaces/dcterms/parse/utils.ts
const retrieveItemOrFeed = (value) => {
if (!isObject(value)) return;
return trimObject({
abstracts: parseArrayOf(value["dcterms:abstract"], (value) => parseString(retrieveText(value))),
accrualMethods: parseArrayOf(value["dcterms:accrualmethod"], (value) => parseString(retrieveText(value))),
accrualPeriodicities: parseArrayOf(value["dcterms:accrualperiodicity"], (value) => parseString(retrieveText(value))),
accrualPolicies: parseArrayOf(value["dcterms:accrualpolicy"], (value) => parseString(retrieveText(value))),
alternatives: parseArrayOf(value["dcterms:alternative"], (value) => parseString(retrieveText(value))),
audiences: parseArrayOf(value["dcterms:audience"], (value) => parseString(retrieveText(value))),
bibliographicCitations: parseArrayOf(value["dcterms:bibliographiccitation"], (value) => parseString(retrieveText(value))),
contributors: parseArrayOf(value["dcterms:contributor"], (value) => parseString(retrieveText(value))),
coverages: parseArrayOf(value["dcterms:coverage"], (value) => parseString(retrieveText(value))),
creators: parseArrayOf(value["dcterms:creator"], (value) => parseString(retrieveText(value))),
dates: parseArrayOf(value["dcterms:date"], (value) => parseDate(retrieveText(value))),
descriptions: parseArrayOf(value["dcterms:description"], (value) => parseString(retrieveText(value))),
educationLevels: parseArrayOf(value["dcterms:educationlevel"], (value) => parseString(retrieveText(value))),
extents: parseArrayOf(value["dcterms:extent"], (value) => parseString(retrieveText(value))),
formats: parseArrayOf(value["dcterms:format"], (value) => parseString(retrieveText(value))),
hasFormats: parseArrayOf(value["dcterms:hasformat"], (value) => parseString(retrieveText(value))),
hasParts: parseArrayOf(value["dcterms:haspart"], (value) => parseString(retrieveText(value))),
hasVersions: parseArrayOf(value["dcterms:hasversion"], (value) => parseString(retrieveText(value))),
identifiers: parseArrayOf(value["dcterms:identifier"], (value) => parseString(retrieveText(value))),
instructionalMethods: parseArrayOf(value["dcterms:instructionalmethod"], (value) => parseString(retrieveText(value))),
languages: parseArrayOf(value["dcterms:language"], (value) => parseString(retrieveText(value))),
licenses: parseArrayOf(value["dcterms:license"], (value) => parseString(retrieveText(value))),
mediators: parseArrayOf(value["dcterms:mediator"], (value) => parseString(retrieveText(value))),
mediums: parseArrayOf(value["dcterms:medium"], (value) => parseString(retrieveText(value))),
provenances: parseArrayOf(value["dcterms:provenance"], (value) => parseString(retrieveText(value))),
publishers: parseArrayOf(value["dcterms:publisher"], (value) => parseString(retrieveText(value))),
relations: parseArrayOf(value["dcterms:relation"], (value) => parseString(retrieveText(value))),
rightsHolders: parseArrayOf(value["dcterms:rightsholder"], (value) => parseString(retrieveText(value))),
sources: parseArrayOf(value["dcterms:source"], (value) => parseString(retrieveText(value))),
spatials: parseArrayOf(value["dcterms:spatial"], (value) => parseString(retrieveText(value))),
subjects: parseArrayOf(value["dcterms:subject"], (value) => parseString(retrieveText(value))),
temporals: parseArrayOf(value["dcterms:temporal"], (value) => parseString(retrieveText(value))),
titles: parseArrayOf(value["dcterms:title"], (value) => parseString(retrieveText(value))),
types: parseArrayOf(value["dcterms:type"], (value) => parseString(retrieveText(value))),
abstract: parseSingularOf(value["dcterms:abstract"], (value) => parseString(retrieveText(value))),
accrualMethod: parseSingularOf(value["dcterms:accrualmethod"], (value) => parseString(retrieveText(value))),
accrualPeriodicity: parseSingularOf(value["dcterms:accrualperiodicity"], (value) => parseString(retrieveText(value))),
accrualPolicy: parseSingularOf(value["dcterms:accrualpolicy"], (value) => parseString(retrieveText(value))),
alternative: parseSingularOf(value["dcterms:alternative"], (value) => parseString(retrieveText(value))),
audience: parseSingularOf(value["dcterms:audience"], (value) => parseString(retrieveText(value))),
bibliographicCitation: parseSingularOf(value["dcterms:bibliographiccitation"], (value) => parseString(retrieveText(value))),
contributor: parseSingularOf(value["dcterms:contributor"], (value) => parseString(retrieveText(value))),
coverage: parseSingularOf(value["dcterms:coverage"], (value) => parseString(retrieveText(value))),
creator: parseSingularOf(value["dcterms:creator"], (value) => parseString(retrieveText(value))),
date: parseSingularOf(value["dcterms:date"], (value) => parseDate(retrieveText(value))),
description: parseSingularOf(value["dcterms:description"], (value) => parseString(retrieveText(value))),
educationLevel: parseSingularOf(value["dcterms:educationlevel"], (value) => parseString(retrieveText(value))),
extent: parseSingularOf(value["dcterms:extent"], (value) => parseString(retrieveText(value))),
format: parseSingularOf(value["dcterms:format"], (value) => parseString(retrieveText(value))),
hasFormat: parseSingularOf(value["dcterms:hasformat"], (value) => parseString(retrieveText(value))),
hasPart: parseSingularOf(value["dcterms:haspart"], (value) => parseString(retrieveText(value))),
hasVersion: parseSingularOf(value["dcterms:hasversion"], (value) => parseString(retrieveText(value))),
identifier: parseSingularOf(value["dcterms:identifier"], (value) => parseString(retrieveText(value))),
instructionalMethod: parseSingularOf(value["dcterms:instructionalmethod"], (value) => parseString(retrieveText(value))),
language: parseSingularOf(value["dcterms:language"], (value) => parseString(retrieveText(value))),
license: parseSingularOf(value["dcterms:license"], (value) => parseString(retrieveText(value))),
mediator: parseSingularOf(value["dcterms:mediator"], (value) => parseString(retrieveText(value))),
medium: parseSingularOf(value["dcterms:medium"], (value) => parseString(retrieveText(value))),
provenance: parseSingularOf(value["dcterms:provenance"], (value) => parseString(retrieveText(value))),
publisher: parseSingularOf(value["dcterms:publisher"], (value) => parseString(retrieveText(value))),
relation: parseSingularOf(value["dcterms:relation"], (value) => parseString(retrieveText(value))),
rightsHolder: parseSingularOf(value["dcterms:rightsholder"], (value) => parseString(retrieveText(value))),
source: parseSingularOf(value["dcterms:source"], (value) => parseString(retrieveText(value))),
spatial: parseSingularOf(value["dcterms:spatial"], (value) => parseString(retrieveText(value))),
subject: parseSingularOf(value["dcterms:subject"], (value) => parseString(retrieveText(value))),
temporal: parseSingularOf(value["dcterms:temporal"], (value) => parseString(retrieveText(value))),
title: parseSingularOf(value["dcterms:title"], (value) => parseString(retrieveText(value))),
type: parseSingularOf(value["dcterms:type"], (value) => parseString(retrieveText(value))),
accessRights: parseSingularOf(value["dcterms:accessrights"], (value) => parseString(retrieveText(value))),
available: parseSingularOf(value["dcterms:available"], (value) => parseDate(retrieveText(value))),
conformsTo: parseSingularOf(value["dcterms:conformsto"], (value) => parseString(retrieveText(value))),
created: parseSingularOf(value["dcterms:created"], (value) => parseDate(retrieveText(value))),
dateAccepted: parseSingularOf(value["dcterms:dateaccepted"], (value) => parseDate(retrieveText(value))),
dateCopyrighted: parseSingularOf(value["dcterms:datecopyrighted"], (value) => parseDate(retrieveText(value))),
dateSubmitted: parseSingularOf(value["dcterms:datesubmitted"], (value) => parseDate(retrieveText(value))),
isFormatOf: parseSingularOf(value["dcterms:isformatof"], (value) => parseString(retrieveText(value))),
isPartOf: parseSingularOf(value["dcterms:ispartof"], (value) => parseString(retrieveText(value))),
isReferencedBy: parseSingularOf(value["dcterms:isreferencedby"], (value) => parseString(retrieveText(value))),
isReplacedBy: parseSingularOf(value["dcterms:isreplacedby"], (value) => parseString(retrieveText(value))),
isRequiredBy: parseSingularOf(value["dcterms:isrequiredby"], (value) => parseString(retrieveText(value))),
issued: parseSingularOf(value["dcterms:issued"], (value) => parseDate(retrieveText(value))),
isVersionOf: parseSingularOf(value["dcterms:isversionof"], (value) => parseString(retrieveText(value))),
modified: parseSingularOf(value["dcterms:modified"], (value) => parseDate(retrieveText(value))),
references: parseSingularOf(value["dcterms:references"], (value) => parseString(retrieveText(value))),
replaces: parseSingularOf(value["dcterms:replaces"], (value) => parseString(retrieveText(value))),
requires: parseSingularOf(value["dcterms:requires"], (value) => parseString(retrieveText(value))),
rights: parseSingularOf(value["dcterms:rights"], (value) => parseString(retrieveText(value))),
tableOfContents: parseSingularOf(value["dcterms:tableofcontents"], (value) => parseString(retrieveText(value))),
valid: parseSingularOf(value["dcterms:valid"], (value) => parseDate(retrieveText(value)))
});
};
//#endregion
export { retrieveItemOrFeed };