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.
40 lines (39 loc) • 1.79 kB
JavaScript
const require_utils = require("../../../common/utils.cjs");
//#region src/namespaces/googleplay/generate/utils.ts
const generateImage = (image) => {
if (!require_utils.isObject(image)) return;
return require_utils.trimObject({ "@href": require_utils.generatePlainString(image.href) });
};
const generateCategory = (category) => {
return require_utils.trimObject({ "@text": require_utils.generatePlainString(category) });
};
const generateExplicit = (explicit) => {
if (explicit === "clean") return explicit;
return require_utils.generateYesNoBoolean(explicit);
};
const generateItem = (item) => {
if (!require_utils.isObject(item)) return;
return require_utils.trimObject({
"googleplay:author": require_utils.generatePlainString(item.author),
"googleplay:description": require_utils.generateCdataString(item.description),
"googleplay:explicit": generateExplicit(item.explicit),
"googleplay:block": require_utils.generateYesNoBoolean(item.block),
"googleplay:image": generateImage(item.image)
});
};
const generateFeed = (feed) => {
if (!require_utils.isObject(feed)) return;
return require_utils.trimObject({
"googleplay:author": require_utils.generatePlainString(feed.author),
"googleplay:description": require_utils.generateCdataString(feed.description),
"googleplay:explicit": generateExplicit(feed.explicit),
"googleplay:block": require_utils.generateYesNoBoolean(feed.block),
"googleplay:image": generateImage(feed.image),
"googleplay:new-feed-url": require_utils.generatePlainString(feed.newFeedUrl),
"googleplay:email": require_utils.generatePlainString(feed.email),
"googleplay:category": require_utils.trimArray(feed.categories, generateCategory)
});
};
//#endregion
exports.generateFeed = generateFeed;
exports.generateItem = generateItem;