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
JavaScript
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;