UNPKG

pokemon.js

Version:

A JavaScript library that makes interacting with PokeAPI easier

30 lines 1.44 kB
const get = require('../../fetch/get/get'); const { getLang } = require('../../utils/Variables'); /** Returns data on the generation in JSON format. * @param {'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'} generation * @returns {Promise<JSON>} */ module.exports = async function getGeneration(generation) { if (!isNaN(generation)) { generation = parseInt(generation); let genData = await get(`generation/${generation}`); if (genData !== undefined) { genData.names = genData.names.map(n => { return { language: n.language.name, name: n.name } }); genData.games = genData.version_groups.map(g => g.name); genData.types = genData.types.map(t => t.name); genData.pokemon_species = genData.pokemon_species.map(p => p.name); genData.moves = genData.moves.map(m => m.name); genData.main_region = genData.main_region.name; genData.abilities = genData.abilities.map(a => a.name); delete genData.id delete genData.version_groups; if (getLang().length) { genData.name = genData.names.filter(n => n.language === getLang())[0]; if (genData.name !== undefined) genData.name = genData.name.name else genData.name = ''; delete genData.names; } return genData; } } return undefined; }