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.46 kB
JavaScript
const require_utils = require("../../../common/utils.cjs");
//#region src/namespaces/opensearch/parse/utils.ts
const parseQuery = (value) => {
if (!require_utils.isObject(value)) return;
return require_utils.trimObject({
role: require_utils.parseString(value["@role"]),
searchTerms: require_utils.parseString(value["@searchterms"]),
count: require_utils.parseNumber(value["@count"]),
startIndex: require_utils.parseNumber(value["@startindex"]),
startPage: require_utils.parseNumber(value["@startpage"]),
language: require_utils.parseString(value["@language"]),
inputEncoding: require_utils.parseString(value["@inputencoding"]),
outputEncoding: require_utils.parseString(value["@outputencoding"])
});
};
const retrieveFeed = (value) => {
if (!require_utils.isObject(value)) return;
return require_utils.trimObject({
totalResults: require_utils.parseSingularOf(value["opensearch:totalresults"], (value) => require_utils.parseNumber(require_utils.retrieveText(value))),
startIndex: require_utils.parseSingularOf(value["opensearch:startindex"], (value) => require_utils.parseNumber(require_utils.retrieveText(value))),
itemsPerPage: require_utils.parseSingularOf(value["opensearch:itemsperpage"], (value) => require_utils.parseNumber(require_utils.retrieveText(value))),
queries: require_utils.parseArrayOf(value["opensearch:query"], parseQuery)
});
};
//#endregion
exports.parseQuery = parseQuery;
exports.retrieveFeed = retrieveFeed;