import { EpisodeLink, ProviderContext } from "../types"; export const getEpisodes = async function ({ url, providerContext, }: { url: string; providerContext: ProviderContext; }): Promise { const { axios, cheerio } = providerContext; try { const res = await axios.get(url); const html = res.data; let $ = cheerio.load(html); const episodeLinks: EpisodeLink[] = []; $( 'strong:contains("Episode"),strong:contains("1080"),strong:contains("720"),strong:contains("480")' ).map((i, element) => { const title = $(element).text(); const link = $(element) .parent() .parent() .next("h4") .find("a") .attr("href"); if (link && !title.includes("zip")) { episodeLinks.push({ title: title, link, }); } }); return episodeLinks; } catch (err) { return [ { title: "Server 1", link: url, }, ]; } };