kinoklub-api
Version:
Support library for KinoKlub
44 lines (43 loc) • 1.66 kB
JavaScript
import { resolveCinema } from "./global.helper.js";
import { NodeType } from "node-html-parser";
//#region src/helpers/program.helper.ts
const getId = (el) => {
return +el.querySelector(".program__movie-name").attributes["data-projection"];
};
const getTitle = (el) => {
return el.querySelector(".program__movie-name").textContent.trim();
};
const getHour = (el) => {
return el.querySelector(".program__hour").textContent;
};
const getRunning = (el) => {
return el.classList.contains("program__info-row--running");
};
const getTags = (el) => {
return el.querySelectorAll(".program__tag").map((x) => x.textContent.replace(/(\r\n|\n|\r|\t)/gm, "").trim());
};
const getPrice = (el) => {
const price = el.querySelector(".program__price form")?.textContent?.replace(/(\r\n|\n|\r|\t)/gm, "").trim();
if (price === "Vyprodáno" || price === "Sold out") return "Sold out";
if (price === "Zdarma" || price === "Free") return "Free";
return price;
};
const getDay = (el) => {
return el.querySelector(".program__movie-name").closest(".program").querySelector(".program__day .desktop").textContent;
};
const getCinema = (el) => {
const cinema = el.querySelector(".program__place span")?.textContent;
return resolveCinema(cinema);
};
const getHall = (el) => {
const hallEl = el.querySelector(".program__place");
if (!hallEl) return null;
for (const node of hallEl.childNodes) if (node.nodeType === NodeType.TEXT_NODE) {
const text = node.textContent?.trim();
if (text) return text;
}
return null;
};
//#endregion
export { getCinema, getDay, getHall, getHour, getId, getPrice, getRunning, getTags, getTitle };
//# sourceMappingURL=program.helper.js.map