kinoklub-api
Version:
Support library for KinoKlub
36 lines (35 loc) • 1.29 kB
JavaScript
import { fetchPage } from "../fetchers/index.js";
import { getTicketParams, resolveDate } from "../helpers/global.helper.js";
import { programUrl, ticketsRedirectUrl } from "../vars.js";
import { getCinema, getDay, getHall, getHour, getId, getPrice, getRunning, getTags, getTitle } from "../helpers/program.helper.js";
import { parse } from "node-html-parser";
//#region src/services/program.service.ts
var ProgramScraper = class {
async program(lang, cinemas, options = {}) {
const programListNodes = parse(await fetchPage(programUrl(lang, cinemas, options))).querySelectorAll(".program__info-row");
return this.buildProgram(programListNodes);
}
buildProgram(moviesNode) {
return moviesNode.map((m) => {
const hour = getHour(m);
const day = getDay(m);
const ticketParams = getTicketParams(m);
const queryParams = new URLSearchParams(ticketParams).toString();
return {
id: getId(m),
date: resolveDate(day, hour),
title: getTitle(m),
price: getPrice(m),
hall: getHall(m),
ticketUrl: queryParams ? ticketsRedirectUrl + "?" + queryParams : null,
cinema: getCinema(m),
tags: getTags(m),
hour: getHour(m),
isRunning: getRunning(m)
};
});
}
};
//#endregion
export { ProgramScraper };
//# sourceMappingURL=program.service.js.map