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.getMangaUrl = exports.getMangaId = 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 mangaPattern = /\/manga\/([\d]+)/; /** * Get Charater ID from given MAL Manga URL. * @param url URL string of MyAnimeList Manga URL */ function getMangaId(url) { if (!utils_1.startsWith(ConstDefinition_1.MAL_BaseUrl, url) || !mangaPattern.test(url)) { throw new InvalidUrl_1.default("The url doesn't match the Manga Pattern."); } var result = mangaPattern.exec(url); return parseInt(result[1]); } exports.getMangaId = getMangaId; /** * Get MAL Manga URL (not canonical) from given ID. * @param id Manga ID */ function getMangaUrl(id) { var url = new url_1.URL('/manga/' + id, ConstDefinition_1.MAL_BaseUrl); return url.toString(); } exports.getMangaUrl = getMangaUrl;