UNPKG

rsshub

Version:
47 lines (45 loc) 1.38 kB
import "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import "./ofetch-BIyrKU3Y.mjs"; import "./parse-date-BrP7mxXf.mjs"; import { t as cache_default } from "./cache-Bo__VnGm.mjs"; import { t as rss_parser_default } from "./rss-parser-Dtop7M8f.mjs"; import { t as parseItem } from "./utils-DMB6kBhb.mjs"; //#region lib/routes/coindesk/news.ts const route = { path: "/news", categories: ["finance"], example: "/coindesk/news", parameters: {}, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, name: "News", maintainers: ["pseudoyu"], handler, radar: [{ source: ["coindesk.com/"], target: "/news" }], description: "Get latest news from CoinDesk with full text." }; async function handler() { const feed = await rss_parser_default.parseURL("https://feeds.feedburner.com/Coindesk"); const validItems = (await Promise.all(feed.items.map((item) => cache_default.tryGet(item.link, () => parseItem(item))))).filter((item) => item !== null); return { title: feed.title || "CoinDesk News", link: feed.link || "https://coindesk.com", description: feed.description || "Latest news from CoinDesk", language: feed.language || "en", item: validItems }; } //#endregion export { route };