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.

51 lines (50 loc) 2.04 kB
const require_utils = require("../../../common/utils.cjs"); //#region src/namespaces/spotify/generate/utils.ts const generateLimit = (limit) => { if (!require_utils.isObject(limit)) return; return require_utils.trimObject({ "@recentCount": require_utils.generateNumber(limit.recentCount) }); }; const generatePartner = (partner) => { if (!require_utils.isObject(partner)) return; return require_utils.trimObject({ "@id": require_utils.generatePlainString(partner.id) }); }; const generateSandbox = (sandbox) => { if (!require_utils.isObject(sandbox)) return; return { "@enabled": sandbox.enabled }; }; const generateFeedAccess = (access) => { if (!require_utils.isObject(access)) return; return require_utils.trimObject({ partner: generatePartner(access.partner), sandbox: generateSandbox(access.sandbox) }); }; const generateEntitlement = (entitlement) => { if (!require_utils.isObject(entitlement)) return; return require_utils.trimObject({ "@name": require_utils.generatePlainString(entitlement.name) }); }; const generateItemAccess = (access) => { if (!require_utils.isObject(access)) return; return require_utils.trimObject({ entitlement: generateEntitlement(access.entitlement) }); }; const generateFeed = (feed) => { if (!require_utils.isObject(feed)) return; return require_utils.trimObject({ "spotify:limit": generateLimit(feed.limit), "spotify:countryOfOrigin": require_utils.generateCdataString(feed.countryOfOrigin), "spotify:access": generateFeedAccess(feed.access) }); }; const generateItem = (item) => { if (!require_utils.isObject(item)) return; return require_utils.trimObject({ "spotify:access": generateItemAccess(item.access) }); }; //#endregion exports.generateEntitlement = generateEntitlement; exports.generateFeed = generateFeed; exports.generateFeedAccess = generateFeedAccess; exports.generateItem = generateItem; exports.generateItemAccess = generateItemAccess; exports.generateLimit = generateLimit; exports.generatePartner = generatePartner; exports.generateSandbox = generateSandbox;