UNPKG

myanimelist-url-to-id

Version:
33 lines (32 loc) 1.17 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getAnimeUrl = exports.getAnimeId = void 0; var InvalidUrl_1 = __importDefault(require("./exceptions/InvalidUrl")); var url_1 = require("url"); var ConstDefinition_1 = require("./ConstDefinition"); var utils_1 = require("./utils"); var animePattern = /\/anime\/([\d]+)/; /** * Get Charater ID from given MAL Anime URL. * @param url URL string of MyAnimeList Anime URL */ function getAnimeId(url) { if (!utils_1.startsWith(ConstDefinition_1.MAL_BaseUrl, url) || !animePattern.test(url)) { throw new InvalidUrl_1.default("The url doesn't match the Anime Pattern."); } var result = animePattern.exec(url); return parseInt(result[1]); } exports.getAnimeId = getAnimeId; /** * Get MAL Anime URL (not canonical) from given ID. * @param id Anime ID */ function getAnimeUrl(id) { var url = new url_1.URL('/anime/' + id, ConstDefinition_1.MAL_BaseUrl); return url.toString(); } exports.getAnimeUrl = getAnimeUrl;