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.
15 lines (14 loc) • 652 B
JavaScript
const require_utils = require("../../../common/utils.cjs");
//#region src/feeds/rss/detect/index.ts
const rssElementRegex = /(?:^|[\s>])<(?:\w+:)?rss[\s>]/im;
const versionAttributeRegex = /version\s*=\s*["'][^"']*["']/i;
const rssElementsRegex = /(<(channel|item|title|link|description|pubDate|guid)[\s>])/i;
const detect = (value) => {
if (!require_utils.isNonEmptyString(value)) return false;
if (!rssElementRegex.test(value)) return false;
const hasVersionAttribute = versionAttributeRegex.test(value);
const hasRssElements = rssElementsRegex.test(value);
return hasVersionAttribute || hasRssElements;
};
//#endregion
exports.detect = detect;