rsshub
Version:
Make RSS Great Again!
35 lines (34 loc) • 1.23 kB
JavaScript
import { t as rofetch } from "./ofetch-W1aeTHCo.mjs";
import { t as parseDate } from "./parse-date-CjhZE69i.mjs";
//#region lib/routes/wto/dispute-settlement.ts
const route = {
path: "/dispute-settlement/:year?",
categories: ["government"],
example: "/wto/dispute-settlement",
parameters: { year: "Year, current year by default" },
name: "Dispute settlement news",
maintainers: ["nczitzk"],
handler
};
async function handler(ctx) {
const { year = (/* @__PURE__ */ new Date()).getFullYear() } = ctx.req.param();
const rootUrl = "https://www.wto.org";
const data = (await rofetch(`${rootUrl}/library/news/news_${year}_e.js`, { parseResponse: (txt) => txt })).split("] = {");
data.shift();
const items = data.map((item) => {
item = "{" + item.split("news_item[", 1)[0].replace("};", "}");
return {
title: item.match(/ni_head:"(.*)",/)[1],
link: item.match(/nl_url:"(.*)",/)[1],
description: item.match(/ni_intro:"(.*)",/)[1],
pubDate: parseDate(item.match(/ni_date:"(.*)",/)[1].replaceAll(".", "-").replace("_", " "))
};
});
return {
title: `Dispute settlement news archive ${year} - WTO`,
link: `${rootUrl}/english/news_e/archive_e/dis_arc_e.htm`,
item: items
};
}
//#endregion
export { route };