rsshub
Version:
Make RSS Great Again!
57 lines (55 loc) • 1.73 kB
JavaScript
import "./esm-shims-CzJ_djXG.mjs";
import "./config-C37vj7VH.mjs";
import "./dist-BInvbO1W.mjs";
import "./logger-Czu8UMNd.mjs";
import { t as ofetch_default } from "./ofetch-BIyrKU3Y.mjs";
import { t as parseDate } from "./parse-date-BrP7mxXf.mjs";
import { load } from "cheerio";
//#region lib/routes/macupdate/app.ts
const route = {
path: "/app/:appId/:appSlug?",
categories: ["program-update"],
example: "/macupdate/app/11942",
parameters: {
appId: "Application unique ID, can be found in URL",
appSlug: "Application slug, can be found in URL"
},
features: {
requireConfig: false,
requirePuppeteer: false,
antiCrawler: false,
supportBT: false,
supportPodcast: false,
supportScihub: false
},
radar: [{ source: ["macupdate.com/app/mac/:appId/:appSlug"] }],
name: "Update",
maintainers: ["TonyRL"],
handler
};
async function handler(ctx) {
const { appId, appSlug } = ctx.req.param();
const baseUrl = "https://www.macupdate.com";
const $ = load(await ofetch_default(`${baseUrl}/app/mac/${appId}${appSlug ? `/${appSlug}` : ""}`));
const { asPath, appData: { data: appData } } = JSON.parse($("#__NEXT_DATA__").text()).props.pageProps;
const item = {
title: `${appData.title} ${appData.version}`,
description: appData.release_notes,
pubDate: parseDate(appData.date.timestamp, "X"),
link: `${baseUrl}${asPath}`,
guid: `macupdate/app/${appId}/${appData.version}`,
category: [appData.category.name, appData.subcategory?.name],
author: appData.developer.name
};
return {
title: appData.title,
description: appData.description,
link: `${baseUrl}${asPath}`,
logo: appData.logo.source,
icon: appData.logo.source,
item: [item],
language: "en"
};
}
//#endregion
export { route };