UNPKG

rsshub

Version:
49 lines (47 loc) 1.55 kB
import "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import { t as ViewType } from "./types-D84BRIt4.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import "./ofetch-BIyrKU3Y.mjs"; import "./parse-date-BrP7mxXf.mjs"; import "./config-not-found-Dyp3RlZZ.mjs"; import { a as postFilter, n as generatePostDataItem, r as getClient, t as CONFIG_OPTIONS } from "./utils-k6GIPexf.mjs"; //#region lib/routes/mixi2/discovery.ts const handler = async (ctx) => { const limit = Number.parseInt(ctx.req.query("limit") ?? "20", 10); const client = getClient(); const data = await client.getRecommendedTimeline({ limit }); const personasData = await client.getPersonas({ personaIds: data?.posts?.map((post) => post.personaId) ?? [] }); return { title: "発見", link: "https://mixi.social/home/discovery", image: "https://mixi.social/_next/static/media/image_logo.8bb36f11.svg", item: data?.posts?.filter(postFilter).map((post) => { return { title: `@${personasData.personas.find((persona) => persona.personaId === post.personaId)?.name}`, ...generatePostDataItem(post, personasData.personas) }; }) ?? [] }; }; const route = { path: "/discovery", name: "発見", categories: ["social-media"], example: "/mixi2/discovery", features: { supportRadar: true, requireConfig: CONFIG_OPTIONS }, radar: [{ source: ["mixi.social/home/discovery"], target: "/discovery", title: "発見" }], view: ViewType.SocialMedia, handler, maintainers: ["KarasuShin"] }; //#endregion export { route };