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