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.
25 lines (24 loc) • 2.17 kB
JavaScript
const require_utils = require("../../../common/utils.cjs");
//#region src/namespaces/dc/generate/utils.ts
const generateItemOrFeed = (itemOrFeed) => {
if (!require_utils.isObject(itemOrFeed)) return;
return require_utils.trimObject({
"dc:title": require_utils.generateArrayOrSingular(itemOrFeed.titles, itemOrFeed.title, require_utils.generateCdataString),
"dc:creator": require_utils.generateArrayOrSingular(itemOrFeed.creators, itemOrFeed.creator, require_utils.generateCdataString),
"dc:subject": require_utils.generateArrayOrSingular(itemOrFeed.subjects, itemOrFeed.subject, require_utils.generateCdataString),
"dc:description": require_utils.generateArrayOrSingular(itemOrFeed.descriptions, itemOrFeed.description, require_utils.generateCdataString),
"dc:publisher": require_utils.generateArrayOrSingular(itemOrFeed.publishers, itemOrFeed.publisher, require_utils.generateCdataString),
"dc:contributor": require_utils.generateArrayOrSingular(itemOrFeed.contributors, itemOrFeed.contributor, require_utils.generateCdataString),
"dc:date": require_utils.generateArrayOrSingular(itemOrFeed.dates, itemOrFeed.date, require_utils.generateRfc3339Date),
"dc:type": require_utils.generateArrayOrSingular(itemOrFeed.types, itemOrFeed.type, require_utils.generateCdataString),
"dc:format": require_utils.generateArrayOrSingular(itemOrFeed.formats, itemOrFeed.format, require_utils.generateCdataString),
"dc:identifier": require_utils.generateArrayOrSingular(itemOrFeed.identifiers, itemOrFeed.identifier, require_utils.generateCdataString),
"dc:source": require_utils.generateArrayOrSingular(itemOrFeed.sources, itemOrFeed.source, require_utils.generateCdataString),
"dc:language": require_utils.generateArrayOrSingular(itemOrFeed.languages, itemOrFeed.language, require_utils.generateCdataString),
"dc:relation": require_utils.generateArrayOrSingular(itemOrFeed.relations, itemOrFeed.relation, require_utils.generateCdataString),
"dc:coverage": require_utils.generateCdataString(itemOrFeed.coverage),
"dc:rights": require_utils.generateCdataString(itemOrFeed.rights)
});
};
//#endregion
exports.generateItemOrFeed = generateItemOrFeed;