UNPKG

rsshub

Version:
52 lines (50 loc) 1.49 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 "./helpers-DxBp0Pty.mjs"; import "./render-BQo6B4tL.mjs"; import { t as got_default } from "./got-KxxWdaxq.mjs"; import { i as api_key_default, t as MEDIA_TYPE_TO_ITEM_HANDLE } from "./utils-CQz8GZS-.mjs"; //#region lib/routes/themoviedb/trending.ts const MEDIA_TYPE_TO_TITLE = { tv: "TV Shows", movie: "Movies" }; const route = { path: "/trending/:mediaType/:timeWindow/:lang?", categories: ["multimedia"], example: "/themoviedb/trending/tv/day/en-US", parameters: { mediaType: "`movie` or `tv`", timeWindow: "`day` or `week`", lang: "Language" }, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, name: "Trending", maintainers: ["x2cf"], handler }; async function handler(ctx) { const { mediaType, timeWindow, lang } = ctx.req.param(); const { data } = await got_default(`https://api.themoviedb.org/3/trending/${mediaType}/${timeWindow}`, { searchParams: { language: lang, api_key: api_key_default() } }); return { title: `Popular ${MEDIA_TYPE_TO_TITLE[mediaType]} — TMDB`, link: `https://www.themoviedb.org/${mediaType}`, item: data.results.map((item) => MEDIA_TYPE_TO_ITEM_HANDLE[mediaType](item, lang)) }; } //#endregion export { route };