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.

46 lines (45 loc) 2.87 kB
const require_utils = require("../../../common/utils.cjs"); //#region src/namespaces/googleplay/parse/utils.ts const parseImage = (value) => { if (require_utils.isObject(value) && value["@href"]) return require_utils.trimObject({ href: require_utils.parseString(value["@href"]) }); const text = require_utils.retrieveText(value); if (text) return require_utils.trimObject({ href: require_utils.parseString(text) }); }; const parseCategory = (value) => { if (require_utils.isObject(value) && value["@text"]) return require_utils.parseString(value["@text"]); return require_utils.parseString(require_utils.retrieveText(value)); }; const parseExplicit = (value) => { const explicit = require_utils.retrieveText(value)?.trim().toLowerCase(); if (explicit === "clean") return explicit; return require_utils.parseYesNoBoolean(value); }; const retrieveItem = (value) => { if (!require_utils.isObject(value)) return; return require_utils.trimObject({ author: require_utils.parseSingularOf(value["googleplay:author"], (value) => require_utils.parseString(require_utils.retrieveText(value))), description: require_utils.parseSingularOf(value["googleplay:description"], (value) => require_utils.parseString(require_utils.retrieveText(value))), explicit: require_utils.parseSingularOf(value["googleplay:explicit"], parseExplicit), block: require_utils.parseSingularOf(value["googleplay:block"], (value) => require_utils.parseYesNoBoolean(require_utils.retrieveText(value))), image: require_utils.parseSingularOf(value["googleplay:image"], parseImage) }); }; const retrieveFeed = (value) => { if (!require_utils.isObject(value)) return; return require_utils.trimObject({ author: require_utils.parseSingularOf(value["googleplay:author"], (value) => require_utils.parseString(require_utils.retrieveText(value))), description: require_utils.parseSingularOf(value["googleplay:description"], (value) => require_utils.parseString(require_utils.retrieveText(value))), explicit: require_utils.parseSingularOf(value["googleplay:explicit"], parseExplicit), block: require_utils.parseSingularOf(value["googleplay:block"], (value) => require_utils.parseYesNoBoolean(require_utils.retrieveText(value))), image: require_utils.parseSingularOf(value["googleplay:image"], parseImage), newFeedUrl: require_utils.parseSingularOf(value["googleplay:new-feed-url"], (value) => require_utils.parseString(require_utils.retrieveText(value))), email: require_utils.parseSingularOf(value["googleplay:email"], (value) => require_utils.parseString(require_utils.retrieveText(value))), categories: require_utils.parseArrayOf(value["googleplay:category"], parseCategory) }); }; //#endregion exports.parseCategory = parseCategory; exports.parseExplicit = parseExplicit; exports.parseImage = parseImage; exports.retrieveFeed = retrieveFeed; exports.retrieveItem = retrieveItem;