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.
44 lines (43 loc) • 2.4 kB
JavaScript
const require_utils = require("../../../common/utils.cjs");
//#region src/namespaces/acast/parse/utils.ts
const parseSignature = (value) => {
if (!require_utils.isObject(value)) return;
return require_utils.trimObject({
key: require_utils.parseString(value["@key"]),
algorithm: require_utils.parseString(value["@algorithm"]),
value: require_utils.parseString(require_utils.retrieveText(value))
});
};
const parseNetwork = (value) => {
if (!require_utils.isObject(value)) return;
return require_utils.trimObject({
id: require_utils.parseString(value["@id"]),
slug: require_utils.parseString(value["@slug"]),
value: require_utils.parseString(require_utils.retrieveText(value))
});
};
const retrieveFeed = (value) => {
if (!require_utils.isObject(value)) return;
return require_utils.trimObject({
showId: require_utils.parseSingularOf(value["acast:showid"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
showUrl: require_utils.parseSingularOf(value["acast:showurl"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
signature: require_utils.parseSingularOf(value["acast:signature"], parseSignature),
settings: require_utils.parseSingularOf(value["acast:settings"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
network: require_utils.parseSingularOf(value["acast:network"], parseNetwork),
importedFeed: require_utils.parseSingularOf(value["acast:importedfeed"], (value) => require_utils.parseString(require_utils.retrieveText(value)))
});
};
const retrieveItem = (value) => {
if (!require_utils.isObject(value)) return;
return require_utils.trimObject({
episodeId: require_utils.parseSingularOf(value["acast:episodeid"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
showId: require_utils.parseSingularOf(value["acast:showid"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
episodeUrl: require_utils.parseSingularOf(value["acast:episodeurl"], (value) => require_utils.parseString(require_utils.retrieveText(value))),
settings: require_utils.parseSingularOf(value["acast:settings"], (value) => require_utils.parseString(require_utils.retrieveText(value)))
});
};
//#endregion
exports.parseNetwork = parseNetwork;
exports.parseSignature = parseSignature;
exports.retrieveFeed = retrieveFeed;
exports.retrieveItem = retrieveItem;