https://github.com/chez14/node-myanimelist-url-to-id
MyAnimeList URL to ID converter
https://github.com/chez14/node-myanimelist-url-to-id
converter myanimelist myanimelist-api parser
Last synced: 4 months ago
JSON representation
MyAnimeList URL to ID converter
- Host: GitHub
- URL: https://github.com/chez14/node-myanimelist-url-to-id
- Owner: chez14
- License: mit
- Created: 2020-08-22T05:13:23.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-01T21:00:11.000Z (over 2 years ago)
- Last Synced: 2025-02-23T13:56:42.477Z (4 months ago)
- Topics: converter, myanimelist, myanimelist-api, parser
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/myanimelist-url-to-id
- Size: 860 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# 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).