UNPKG

ani-cli-npm

Version:

ani-cli tool rewritten as npm package

40 lines (39 loc) 1.46 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.search = void 0; const regex_1 = require("./core_utils/regex"); const curl_1 = require("./core_utils/curl"); const input_1 = require("./input"); const chalk_1 = __importDefault(require("chalk")); async function search_anime(search) { let filter = "*<ahref=\"/category/*\"title=\"*\">"; let html = (await (0, curl_1.curl)("https://gogoanime.dk//search.html?keyword=" + search)).split("\n"); let lines = []; for (let x in html) { html[x] = html[x].replaceAll(/ /g, '').replaceAll(/\t/g, ''); if ((0, regex_1.RegexParse)(html[x], filter)) { html[x] = html[x].slice(html[x].indexOf("/category/") + 10); html[x] = html[x].slice(0, html[x].indexOf("\"title=")); lines.push(html[x]); } } if (!lines[0]) { lines.pop(); } return lines; } async function search() { console.clear(); console.log(chalk_1.default.magenta("Search...")); let _selection = await (0, input_1.input)(); let results = await search_anime(_selection); if (results[0] === undefined) { console.log(chalk_1.default.red("No results found.")); return 1; } return results[await (0, input_1.selection)(results)]; } exports.search = search;