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.

44 lines (43 loc) 1.83 kB
const require_utils = require("../../../common/utils.cjs"); //#region src/namespaces/acast/generate/utils.ts const generateSignature = (signature) => { if (!require_utils.isObject(signature)) return; return require_utils.trimObject({ "@key": require_utils.generatePlainString(signature.key), "@algorithm": require_utils.generatePlainString(signature.algorithm), ...require_utils.generateTextOrCdataString(signature.value) }); }; const generateNetwork = (network) => { if (!require_utils.isObject(network)) return; return require_utils.trimObject({ "@id": require_utils.generatePlainString(network.id), "@slug": require_utils.generatePlainString(network.slug), ...require_utils.generateTextOrCdataString(network.value) }); }; const generateFeed = (feed) => { if (!require_utils.isObject(feed)) return; return require_utils.trimObject({ "acast:showId": require_utils.generateCdataString(feed.showId), "acast:showUrl": require_utils.generateCdataString(feed.showUrl), "acast:signature": generateSignature(feed.signature), "acast:settings": require_utils.generateCdataString(feed.settings), "acast:network": generateNetwork(feed.network), "acast:importedFeed": require_utils.generateCdataString(feed.importedFeed) }); }; const generateItem = (item) => { if (!require_utils.isObject(item)) return; return require_utils.trimObject({ "acast:episodeId": require_utils.generateCdataString(item.episodeId), "acast:showId": require_utils.generateCdataString(item.showId), "acast:episodeUrl": require_utils.generateCdataString(item.episodeUrl), "acast:settings": require_utils.generateCdataString(item.settings) }); }; //#endregion exports.generateFeed = generateFeed; exports.generateItem = generateItem; exports.generateNetwork = generateNetwork; exports.generateSignature = generateSignature;