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.

41 lines (40 loc) 1.5 kB
import { generateCdataString, generatePlainString, generateTextOrCdataString, isObject, trimObject } from "../../../common/utils.js"; //#region src/namespaces/acast/generate/utils.ts const generateSignature = (signature) => { if (!isObject(signature)) return; return trimObject({ "@key": generatePlainString(signature.key), "@algorithm": generatePlainString(signature.algorithm), ...generateTextOrCdataString(signature.value) }); }; const generateNetwork = (network) => { if (!isObject(network)) return; return trimObject({ "@id": generatePlainString(network.id), "@slug": generatePlainString(network.slug), ...generateTextOrCdataString(network.value) }); }; const generateFeed = (feed) => { if (!isObject(feed)) return; return trimObject({ "acast:showId": generateCdataString(feed.showId), "acast:showUrl": generateCdataString(feed.showUrl), "acast:signature": generateSignature(feed.signature), "acast:settings": generateCdataString(feed.settings), "acast:network": generateNetwork(feed.network), "acast:importedFeed": generateCdataString(feed.importedFeed) }); }; const generateItem = (item) => { if (!isObject(item)) return; return trimObject({ "acast:episodeId": generateCdataString(item.episodeId), "acast:showId": generateCdataString(item.showId), "acast:episodeUrl": generateCdataString(item.episodeUrl), "acast:settings": generateCdataString(item.settings) }); }; //#endregion export { generateFeed, generateItem, generateNetwork, generateSignature };