rsshub
Version:
Make RSS Great Again!
50 lines (49 loc) • 1.75 kB
JavaScript
import { t as rofetch } from "./ofetch-C3ts-Hud.mjs";
import { t as parseDate } from "./parse-date-Cr0wQjV_.mjs";
import { t as NotFoundError } from "./not-found-BvVU2U31.mjs";
//#region lib/routes/omegascans/series.ts
const route = {
path: "/series/:id",
name: "Series Chapters",
url: "omegascans.org",
maintainers: ["ereneroglum"],
example: "/omegascans/series/632",
parameters: { id: "Series ID, can be found in API get request on series page" },
categories: ["anime"],
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: false,
supportRadar: false,
supportBT: false,
supportPodcast: false,
supportScihub: false
},
handler: async (ctx) => {
const { id } = ctx.req.param();
const chapters = (await rofetch("https://api.omegascans.org/chapter/query", { query: {
page: 1,
perPage: 30,
series_id: id
} })).data;
if (chapters.length === 0) throw new NotFoundError(`Series ${id} not found on Omega Scans`);
const seriesSlug = chapters[0].series.series_slug;
const seriesTitle = seriesSlug.replaceAll("-", " ").replaceAll(/\b\w/g, (c) => c.toUpperCase());
const seriesLink = `https://omegascans.org/series/${seriesSlug}`;
return {
title: `Omega Scans - ${seriesTitle}`,
link: seriesLink,
image: "https://omegascans.org/wetried_only.png",
item: chapters.map((chapter) => ({
title: chapter.chapter_title ?? chapter.chapter_name,
link: `https://omegascans.org/series/${chapter.series.series_slug}/${chapter.chapter_slug}`,
pubDate: parseDate(chapter.created_at),
image: chapter.chapter_thumbnail ?? void 0,
guid: `omegascans-chapter-${chapter.id}`,
category: [chapter.price === 0 ? "Free" : "Paid"]
}))
};
}
};
//#endregion
export { route };