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.

54 lines (53 loc) 2.26 kB
const require_utils = require("../../../common/utils.cjs"); //#region src/namespaces/spotify/parse/utils.ts const parseLimit = (value) => { if (!require_utils.isObject(value)) return; return require_utils.trimObject({ recentCount: require_utils.parseNumber(value["@recentcount"]) }); }; const parsePartner = (value) => { if (!require_utils.isObject(value)) return; const id = require_utils.parseString(value["@id"]); return id ? { id } : void 0; }; const parseSandbox = (value) => { if (!require_utils.isObject(value)) return; const enabled = require_utils.parseBoolean(value["@enabled"]); return enabled !== void 0 ? { enabled } : void 0; }; const parseFeedAccess = (value) => { if (!require_utils.isObject(value)) return; return require_utils.trimObject({ partner: require_utils.parseSingularOf(value.partner, parsePartner), sandbox: require_utils.parseSingularOf(value.sandbox, parseSandbox) }); }; const parseEntitlement = (value) => { if (!require_utils.isObject(value)) return; const name = require_utils.parseString(value["@name"]); return name ? { name } : void 0; }; const parseItemAccess = (value) => { if (!require_utils.isObject(value)) return; return require_utils.trimObject({ entitlement: require_utils.parseSingularOf(value.entitlement, parseEntitlement) }); }; const retrieveFeed = (value) => { if (!require_utils.isObject(value)) return; return require_utils.trimObject({ limit: require_utils.parseSingularOf(value["spotify:limit"], parseLimit), countryOfOrigin: require_utils.parseSingularOf(value["spotify:countryoforigin"], (value) => require_utils.parseString(require_utils.retrieveText(value))), access: require_utils.parseSingularOf(value["spotify:access"], parseFeedAccess) }); }; const retrieveItem = (value) => { if (!require_utils.isObject(value)) return; return require_utils.trimObject({ access: require_utils.parseSingularOf(value["spotify:access"], parseItemAccess) }); }; //#endregion exports.parseEntitlement = parseEntitlement; exports.parseFeedAccess = parseFeedAccess; exports.parseItemAccess = parseItemAccess; exports.parseLimit = parseLimit; exports.parsePartner = parsePartner; exports.parseSandbox = parseSandbox; exports.retrieveFeed = retrieveFeed; exports.retrieveItem = retrieveItem;