UNPKG

myanimelist-api

Version:

A wrapper for Official MyAnimeList REST API V2.

70 lines (55 loc) 1.76 kB
const BaseClass = require('../base'); const { ANIME } = require('../../config/urls.json'); const defaults = require('../../config/defaults'); class Anime extends BaseClass { details(id, options = {}) { const params = { fields: defaults.fields, ...options }; return this._formRequest('GET', `${ANIME}/${id}`, params); } list(key, options = {}) { const params = { q: key, limit: 100, fields: defaults.fields, ...options }; return this._formRequest('GET', ANIME, params); } seasonal(season, year, options = {}) { if (!defaults.seasons.includes(season)) { throw new Error("Invalid season name"); } const params = { limit: 100, fields: defaults.fields, ...options }; return this._formRequest('GET', `${ANIME}/season/${year}/${season}`, params); } ranking(rankingType, options = {}) { if (!defaults.animeRanking.includes(rankingType)) { throw new Error("Invalid Ranking Type") } const params = { ranking_type: rankingType, limit: 100, offset: 0, fields: defaults.fields, ...options } return this._formRequest('GET', `${ANIME}/ranking`, params); } suggestions(options = {}) { const params = { limit: 100, offset: 0, fields: defaults.fields, ...options } return this._formRequest('GET', `${ANIME}/suggestions`, params); } } module.exports = Anime;