UNPKG

@aidarkezio/main-func

Version:
69 lines • 2.77 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.jadwalTVNow = exports.listJadwalTV = void 0; const got_1 = __importDefault(require("got")); const cheerio_1 = __importDefault(require("cheerio")); const types_js_1 = require("./types.js"); const utils_js_1 = require("../utils.js"); exports.listJadwalTV = (async () => await (0, got_1.default)('https://raw.githubusercontent.com/BochilTeam/scraper/master/data/jadwal-tv.json').json())(); async function jadwalTV(channel) { types_js_1.JadwalTVArgsSchema.parse(arguments); const list = await exports.listJadwalTV; const data = list.find(({ channel: name }) => (new RegExp(channel, 'ig')).test(name)); if (!data) throw new utils_js_1.ScraperError(`List not found!!\n${JSON.stringify(exports.listJadwalTV, null, 2)}`); const text = await (0, got_1.default)(`https://www.jadwaltv.net/${data.isPay ? 'jadwal-pay-tv/' : ''}${data.value}`).text(); const result = []; const $ = cheerio_1.default.load(text); $('div > table.table').each(function () { $(this).find('tbody > tr') .slice(1).each(function () { const el = $(this).find('td'); const date = el.eq(0).text(); const event = el.eq(1).text(); if (!/Jadwal TV selengkapnya di/ig.test(event)) { result.push({ date, event }); } }); }); const res = { channel: data.channel, result }; return types_js_1.JadwalTVSchema.parse(res); } exports.default = jadwalTV; async function jadwalTVNow() { const text = await (0, got_1.default)('https://www.jadwaltv.net/channel/acara-tv-nasional-saat-ini').text(); const result = {}; const $ = cheerio_1.default.load(text); $('div > table.table').each(function () { let prevChannel; $(this).find('tbody > tr') .slice(1).each(function () { const el = $(this).find('td'); const channel = el.eq(0).find('strong > a[href]') .text().trim().toLowerCase(); if (channel) { prevChannel = channel; result[channel] = []; } else if (prevChannel) { const date = el.eq(0).text(); const event = el.eq(1).text(); result[prevChannel].push({ date, event }); } }); }); return types_js_1.JadwalTVNOWSchema.parse(result); } exports.jadwalTVNow = jadwalTVNow; //# sourceMappingURL=jadwal-tv.js.map