rsshub
Version:
Make RSS Great Again!
52 lines (50 loc) • 1.49 kB
JavaScript
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 };