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.
30 lines (29 loc) • 1.14 kB
JavaScript
const require_utils = require("../../../common/utils.cjs");
//#region src/namespaces/thr/parse/utils.ts
const parseInReplyTo = (value) => {
if (!require_utils.isObject(value)) return;
return require_utils.trimObject({
ref: require_utils.parseString(value["@ref"]),
href: require_utils.parseString(value["@href"]),
type: require_utils.parseString(value["@type"]),
source: require_utils.parseString(value["@source"])
});
};
const retrieveLink = (value) => {
if (!require_utils.isObject(value)) return;
return require_utils.trimObject({
count: require_utils.parseNumber(value["@thr:count"]),
updated: require_utils.parseDate(value["@thr:updated"])
});
};
const retrieveItem = (value) => {
if (!require_utils.isObject(value)) return;
return require_utils.trimObject({
total: require_utils.parseSingularOf(value["thr:total"], (value) => require_utils.parseNumber(require_utils.retrieveText(value))),
inReplyTos: require_utils.parseArrayOf(value["thr:in-reply-to"], parseInReplyTo)
});
};
//#endregion
exports.parseInReplyTo = parseInReplyTo;
exports.retrieveItem = retrieveItem;
exports.retrieveLink = retrieveLink;