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.

39 lines (38 loc) 1.57 kB
import { generateCdataString, generatePlainString, generateYesNoBoolean, isObject, trimArray, trimObject } from "../../../common/utils.js"; //#region src/namespaces/googleplay/generate/utils.ts const generateImage = (image) => { if (!isObject(image)) return; return trimObject({ "@href": generatePlainString(image.href) }); }; const generateCategory = (category) => { return trimObject({ "@text": generatePlainString(category) }); }; const generateExplicit = (explicit) => { if (explicit === "clean") return explicit; return generateYesNoBoolean(explicit); }; const generateItem = (item) => { if (!isObject(item)) return; return trimObject({ "googleplay:author": generatePlainString(item.author), "googleplay:description": generateCdataString(item.description), "googleplay:explicit": generateExplicit(item.explicit), "googleplay:block": generateYesNoBoolean(item.block), "googleplay:image": generateImage(item.image) }); }; const generateFeed = (feed) => { if (!isObject(feed)) return; return trimObject({ "googleplay:author": generatePlainString(feed.author), "googleplay:description": generateCdataString(feed.description), "googleplay:explicit": generateExplicit(feed.explicit), "googleplay:block": generateYesNoBoolean(feed.block), "googleplay:image": generateImage(feed.image), "googleplay:new-feed-url": generatePlainString(feed.newFeedUrl), "googleplay:email": generatePlainString(feed.email), "googleplay:category": trimArray(feed.categories, generateCategory) }); }; //#endregion export { generateFeed, generateItem };