UNPKG

rsshub

Version:
41 lines (39 loc) 1.56 kB
import "./config-MQ-7ebJ_.mjs"; import "./logger-C4avouvV.mjs"; import "./parse-date-r5WDWHno.mjs"; import "./is-worker-DESPicPc.mjs"; import { t as cache_default } from "./cache-SV6W5EPy.mjs"; import "./proxy-CjvoY5ys.mjs"; import { n as puppeteer_default } from "./puppeteer-9J9JS5H4.mjs"; import { i as puppeteerFetch, n as getItem, r as parseList, t as baseUrl } from "./utils-CIrp8W18.mjs"; //#region lib/routes/javtrailers/studios.ts const route = { path: "/studios/:studio", categories: ["multimedia"], example: "/javtrailers/studios/s1-no-1-style", parameters: { studio: "Studio name, can be found in the URL of the studio page" }, radar: [{ source: ["javtrailers.com/studios/:category"] }], name: "Studios", maintainers: ["TonyRL"], handler, features: { nsfw: true, requirePuppeteer: true } }; async function handler(ctx) { const { studio } = ctx.req.param(); const browser = await puppeteer_default(); const response = await puppeteerFetch(`${baseUrl}/api/studios/${studio}?page=0`, browser); const list = parseList(response.videos); const items = await Promise.all(list.map((item) => cache_default.tryGet(item.link, () => getItem(item, browser)))); await browser.close(); return { title: `${response.studio.hotDvdIds?.join(" ") ?? response.studio.name} Jav Online | Japanese Adult Video - JavTrailers.com`, description: "Watch Jav made by Prestige free, with high definition, we have over 4,000 studios available for free streaming.", link: `${baseUrl}/studios/${studio}`, item: items }; } //#endregion export { route };