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.
28 lines (27 loc) • 1.28 kB
JavaScript
const require_utils = require("../../../common/utils.cjs");
//#region src/namespaces/opensearch/generate/utils.ts
const generateQuery = (query) => {
if (!require_utils.isObject(query)) return;
return require_utils.trimObject({
"@role": require_utils.generatePlainString(query.role),
"@searchTerms": require_utils.generatePlainString(query.searchTerms),
"@count": require_utils.generateNumber(query.count),
"@startIndex": require_utils.generateNumber(query.startIndex),
"@startPage": require_utils.generateNumber(query.startPage),
"@language": require_utils.generatePlainString(query.language),
"@inputEncoding": require_utils.generatePlainString(query.inputEncoding),
"@outputEncoding": require_utils.generatePlainString(query.outputEncoding)
});
};
const generateFeed = (feed) => {
if (!require_utils.isObject(feed)) return;
return require_utils.trimObject({
"opensearch:totalResults": require_utils.generateNumber(feed.totalResults),
"opensearch:startIndex": require_utils.generateNumber(feed.startIndex),
"opensearch:itemsPerPage": require_utils.generateNumber(feed.itemsPerPage),
"opensearch:Query": require_utils.trimArray(feed.queries, generateQuery)
});
};
//#endregion
exports.generateFeed = generateFeed;
exports.generateQuery = generateQuery;