UNPKG

kinoklub-api

Version:

Support library for KinoKlub

44 lines (43 loc) 1.66 kB
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