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.
153 lines (152 loc) • 20.3 kB
JavaScript
const require_utils = require("../../../common/utils.cjs");
//#region src/namespaces/prism/parse/utils.ts
const retrieveFeed = (value) => {
if (!require_utils.isObject(value)) return;
return require_utils.trimObject({
publicationName: require_utils.parseSingularOf(value["prism:publicationname"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
issn: require_utils.parseSingularOf(value["prism:issn"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
eIssn: require_utils.parseSingularOf(value["prism:eissn"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
isbns: require_utils.parseArrayOf(value["prism:isbn"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
issueIdentifier: require_utils.parseSingularOf(value["prism:issueidentifier"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
issueName: require_utils.parseSingularOf(value["prism:issuename"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
issueTeaser: require_utils.parseSingularOf(value["prism:issueteaser"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
issueType: require_utils.parseSingularOf(value["prism:issuetype"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
volume: require_utils.parseSingularOf(value["prism:volume"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
number: require_utils.parseSingularOf(value["prism:number"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
edition: require_utils.parseSingularOf(value["prism:edition"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
aggregateIssueNumber: require_utils.parseSingularOf(value["prism:aggregateissuenumber"], (value) => require_utils.parseNumber(require_utils.retrieveText(value))),
aggregationType: require_utils.parseSingularOf(value["prism:aggregationtype"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
coverDate: require_utils.parseSingularOf(value["prism:coverdate"], (value) => require_utils.parseDate(require_utils.retrieveText(value))),
coverDisplayDate: require_utils.parseSingularOf(value["prism:coverdisplaydate"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
publicationDates: require_utils.parseArrayOf(value["prism:publicationdate"], (value) => require_utils.parseDate(require_utils.retrieveText(value))),
publicationDisplayDates: require_utils.parseArrayOf(value["prism:publicationdisplaydate"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
creationDate: require_utils.parseSingularOf(value["prism:creationdate"], (value) => require_utils.parseDate(require_utils.retrieveText(value))),
modificationDate: require_utils.parseSingularOf(value["prism:modificationdate"], (value) => require_utils.parseDate(require_utils.retrieveText(value))),
dateReceived: require_utils.parseSingularOf(value["prism:datereceived"], (value) => require_utils.parseDate(require_utils.retrieveText(value))),
onSaleDates: require_utils.parseArrayOf(value["prism:onsaledate"], (value) => require_utils.parseDate(require_utils.retrieveText(value))),
onSaleDays: require_utils.parseArrayOf(value["prism:onsaleday"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
offSaleDates: require_utils.parseArrayOf(value["prism:offsaledate"], (value) => require_utils.parseDate(require_utils.retrieveText(value))),
killDate: require_utils.parseSingularOf(value["prism:killdate"], (value) => require_utils.parseDate(require_utils.retrieveText(value))),
copyrightYears: require_utils.parseArrayOf(value["prism:copyrightyear"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
contentType: require_utils.parseSingularOf(value["prism:contenttype"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
alternateTitles: require_utils.parseArrayOf(value["prism:alternatetitle"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
subtitles: require_utils.parseArrayOf(value["prism:subtitle"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
teasers: require_utils.parseArrayOf(value["prism:teaser"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
keywords: require_utils.parseArrayOf(value["prism:keyword"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
seriesTitle: require_utils.parseSingularOf(value["prism:seriestitle"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
seriesNumber: require_utils.parseSingularOf(value["prism:seriesnumber"], (value) => require_utils.parseNumber(require_utils.retrieveText(value))),
bookEditions: require_utils.parseArrayOf(value["prism:bookedition"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
nationalCatalogNumber: require_utils.parseSingularOf(value["prism:nationalcatalognumber"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
productCodes: require_utils.parseArrayOf(value["prism:productcode"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
uspsNumber: require_utils.parseSingularOf(value["prism:uspsnumber"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
publishingFrequency: require_utils.parseSingularOf(value["prism:publishingfrequency"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
channels: require_utils.parseArrayOf(value["prism:channel"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
subchannel1: require_utils.parseSingularOf(value["prism:subchannel1"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
subchannel2: require_utils.parseSingularOf(value["prism:subchannel2"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
subchannel3: require_utils.parseSingularOf(value["prism:subchannel3"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
subchannel4: require_utils.parseSingularOf(value["prism:subchannel4"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
section: require_utils.parseSingularOf(value["prism:section"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
subsection1: require_utils.parseSingularOf(value["prism:subsection1"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
subsection2: require_utils.parseSingularOf(value["prism:subsection2"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
subsection3: require_utils.parseSingularOf(value["prism:subsection3"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
subsection4: require_utils.parseSingularOf(value["prism:subsection4"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
corporateEntities: require_utils.parseArrayOf(value["prism:corporateentity"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
distributor: require_utils.parseSingularOf(value["prism:distributor"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
sellingAgencies: require_utils.parseArrayOf(value["prism:sellingagency"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
organizations: require_utils.parseArrayOf(value["prism:organization"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
persons: require_utils.parseArrayOf(value["prism:person"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
platforms: require_utils.parseArrayOf(value["prism:platform"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
originPlatforms: require_utils.parseArrayOf(value["prism:originplatform"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
device: require_utils.parseSingularOf(value["prism:device"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
complianceProfile: require_utils.parseSingularOf(value["prism:complianceprofile"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
blogTitle: require_utils.parseSingularOf(value["prism:blogtitle"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
blogURL: require_utils.parseSingularOf(value["prism:blogurl"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
links: require_utils.parseArrayOf(value["prism:link"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
urls: require_utils.parseArrayOf(value["prism:url"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
byteCount: require_utils.parseSingularOf(value["prism:bytecount"], (value) => require_utils.parseNumber(require_utils.retrieveText(value))),
ratings: require_utils.parseArrayOf(value["prism:rating"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
timePeriod: require_utils.parseSingularOf(value["prism:timeperiod"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
versionIdentifier: require_utils.parseSingularOf(value["prism:versionidentifier"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
tickers: require_utils.parseArrayOf(value["prism:ticker"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
academicFields: require_utils.parseArrayOf(value["prism:academicfield"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
events: require_utils.parseArrayOf(value["prism:event"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
genres: require_utils.parseArrayOf(value["prism:genre"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
industries: require_utils.parseArrayOf(value["prism:industry"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
locations: require_utils.parseArrayOf(value["prism:location"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
objects: require_utils.parseArrayOf(value["prism:object"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
profession: require_utils.parseSingularOf(value["prism:profession"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
sport: require_utils.parseSingularOf(value["prism:sport"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
embargoDate: require_utils.parseSingularOf(value["prism:embargodate"], (value) => require_utils.parseDate(require_utils.retrieveText(value))),
copyright: require_utils.parseSingularOf(value["prism:copyright"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
expirationDate: require_utils.parseSingularOf(value["prism:expirationdate"], (value) => require_utils.parseDate(require_utils.retrieveText(value))),
rightsAgent: require_utils.parseSingularOf(value["prism:rightsagent"], (value) => require_utils.parseString(require_utils.retrieveText(value)))
});
};
const retrieveItem = (value) => {
if (!require_utils.isObject(value)) return;
return require_utils.trimObject({
publicationName: require_utils.parseSingularOf(value["prism:publicationname"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
issn: require_utils.parseSingularOf(value["prism:issn"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
eIssn: require_utils.parseSingularOf(value["prism:eissn"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
doi: require_utils.parseSingularOf(value["prism:doi"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
urls: require_utils.parseArrayOf(value["prism:url"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
volume: require_utils.parseSingularOf(value["prism:volume"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
number: require_utils.parseSingularOf(value["prism:number"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
edition: require_utils.parseSingularOf(value["prism:edition"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
section: require_utils.parseSingularOf(value["prism:section"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
startingPage: require_utils.parseSingularOf(value["prism:startingpage"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
endingPage: require_utils.parseSingularOf(value["prism:endingpage"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
pageRange: require_utils.parseSingularOf(value["prism:pagerange"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
pageCount: require_utils.parseSingularOf(value["prism:pagecount"], (value) => require_utils.parseNumber(require_utils.retrieveText(value))),
pageProgressionDirection: require_utils.parseSingularOf(value["prism:pageprogressiondirection"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
samplePageRange: require_utils.parseSingularOf(value["prism:samplepagerange"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
publicationDates: require_utils.parseArrayOf(value["prism:publicationdate"], (value) => require_utils.parseDate(require_utils.retrieveText(value))),
publicationDisplayDates: require_utils.parseArrayOf(value["prism:publicationdisplaydate"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
creationDate: require_utils.parseSingularOf(value["prism:creationdate"], (value) => require_utils.parseDate(require_utils.retrieveText(value))),
modificationDate: require_utils.parseSingularOf(value["prism:modificationdate"], (value) => require_utils.parseDate(require_utils.retrieveText(value))),
dateReceived: require_utils.parseSingularOf(value["prism:datereceived"], (value) => require_utils.parseDate(require_utils.retrieveText(value))),
killDate: require_utils.parseSingularOf(value["prism:killdate"], (value) => require_utils.parseDate(require_utils.retrieveText(value))),
copyrightYears: require_utils.parseArrayOf(value["prism:copyrightyear"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
contentType: require_utils.parseSingularOf(value["prism:contenttype"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
genres: require_utils.parseArrayOf(value["prism:genre"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
alternateTitles: require_utils.parseArrayOf(value["prism:alternatetitle"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
subtitles: require_utils.parseArrayOf(value["prism:subtitle"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
teasers: require_utils.parseArrayOf(value["prism:teaser"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
keywords: require_utils.parseArrayOf(value["prism:keyword"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
corporateEntities: require_utils.parseArrayOf(value["prism:corporateentity"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
organizations: require_utils.parseArrayOf(value["prism:organization"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
persons: require_utils.parseArrayOf(value["prism:person"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
platforms: require_utils.parseArrayOf(value["prism:platform"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
device: require_utils.parseSingularOf(value["prism:device"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
academicFields: require_utils.parseArrayOf(value["prism:academicfield"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
events: require_utils.parseArrayOf(value["prism:event"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
industries: require_utils.parseArrayOf(value["prism:industry"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
locations: require_utils.parseArrayOf(value["prism:location"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
objects: require_utils.parseArrayOf(value["prism:object"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
profession: require_utils.parseSingularOf(value["prism:profession"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
sport: require_utils.parseSingularOf(value["prism:sport"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
hasAlternatives: require_utils.parseArrayOf(value["prism:hasalternative"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
hasCorrections: require_utils.parseArrayOf(value["prism:hascorrection"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
hasTranslations: require_utils.parseArrayOf(value["prism:hastranslation"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
isAlternativeOf: require_utils.parseArrayOf(value["prism:isalternativeof"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
isCorrectionOf: require_utils.parseArrayOf(value["prism:iscorrectionof"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
isTranslationOf: require_utils.parseSingularOf(value["prism:istranslationof"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
supplementTitles: require_utils.parseArrayOf(value["prism:supplementtitle"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
supplementDisplayID: require_utils.parseSingularOf(value["prism:supplementdisplayid"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
supplementStartingPage: require_utils.parseSingularOf(value["prism:supplementstartingpage"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
links: require_utils.parseArrayOf(value["prism:link"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
wordCount: require_utils.parseSingularOf(value["prism:wordcount"], (value) => require_utils.parseNumber(require_utils.retrieveText(value))),
byteCount: require_utils.parseSingularOf(value["prism:bytecount"], (value) => require_utils.parseNumber(require_utils.retrieveText(value))),
ratings: require_utils.parseArrayOf(value["prism:rating"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
timePeriod: require_utils.parseSingularOf(value["prism:timeperiod"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
versionIdentifier: require_utils.parseSingularOf(value["prism:versionidentifier"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
tickers: require_utils.parseArrayOf(value["prism:ticker"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
embargoDate: require_utils.parseSingularOf(value["prism:embargodate"], (value) => require_utils.parseDate(require_utils.retrieveText(value))),
copyright: require_utils.parseSingularOf(value["prism:copyright"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
expirationDate: require_utils.parseSingularOf(value["prism:expirationdate"], (value) => require_utils.parseDate(require_utils.retrieveText(value))),
rightsAgent: require_utils.parseSingularOf(value["prism:rightsagent"], (value) => require_utils.parseString(require_utils.retrieveText(value)))
});
};
//#endregion
exports.retrieveFeed = retrieveFeed;
exports.retrieveItem = retrieveItem;