UNPKG

myanimelist-url-to-id

Version:
100 lines (60 loc) 2.31 kB
# MyAnimeList Url to ID Parser/Converter Convert your MyAnimeList URL to the respective's object ID. This can be usefull when you're trying to parse MyAnimeList URl's to extract their ID. Yes, we support TypeScript. ## Supported Url - Anime - Manga - Character (Both Manga and Anime) ## Usage ### Installation ```bash npm i -s myanimelist-url-to-id # OR yarn add myanimelist-url-to-id ``` ### Use them in your project ```ts import { getCharaId } from 'myanimelist-url-to-id'; console.log(getCharaId('https://myanimelist.net/character/81239/Yuuma_Kuga')); // 81239 ``` ## Documentation You can actually see the usage of this library on the [`__test__`folder](src/__test__/), and go with the documentation that I made on the functions comment (that shows up on Intellisense). But for clarity I'll write it here too. ### `AnimeUtil` Class #### `getAnimeId (url: string): number` Will returns something like `34599` #### `getAnimeUrl (id: number): string` Will return something like `https://myanimelist.net/anime/34599` ### `CharaUtil` Class **Note**: Chara stands for Character. #### `getCharaId(url: string): number` Will return something like `140046` #### `getCharaUrl(id: number): string` Will return something like `https://myanimelist.net/character/140046` ### `MangaUtil` Class #### `getMangaId(url: string): number` Will return something like `91941` #### `getMangaUrl(id: number): string` Will return something like `https://myanimelist.net/manga/91941` ### `InvalidUrl` Exception the `getAnimeId`, `getCharaId` and `getMangaId` will throws `InvalidUrl` exception when the Url doesn't match the pattern we have. Please handle it properly. ```js import {InvalidUrl} from "myanimelist-url-to-id/build/exceptions" try { let animeId = getAnimeId('malformed-url'); } catch (e) { if(e instanceof InvalidUrl) { // handle your error here. } } ``` ## FAQ **Do this library requires MAL API?** \ Short answer — No. We just parse your url and give you back the ID. **Do I need to access MAL API to get the full information?** \ Yes. **How can this be an FAQ when you wrote it before the package released?** \ [In this case, "FAQ" stands for "Fully Anticipated Questions"](https://www.youtube.com/watch?v=8YUWDrLazCg). ## License [MIT](./LICENSE).