UNPKG

showdown-calc-cli

Version:

Quick and easy pokemon damage calulations in your terminal

51 lines (50 loc) 1.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateBoost = exports.validateEv = exports.validateMove = exports.validateNature = exports.validateAbility = exports.validateItem = exports.validateSpecies = void 0; const calc_1 = require("@smogon/calc"); const _1 = require("."); const validateSpecies = (input, gen) => { if (Object.keys(calc_1.SPECIES[gen]).includes((0, _1.capitalize)(input))) return true; return 'Enter a valid pokemon name'; }; exports.validateSpecies = validateSpecies; const validateItem = (input, gen) => { const item = (0, _1.capitalize)(input); if (item === 'Non-damage Impacting Item' || calc_1.ITEMS[gen].includes(item)) return true; return 'Enter a valid item'; }; exports.validateItem = validateItem; const validateAbility = (input, gen) => { const ability = (0, _1.capitalize)(input); if (ability === 'Non-damage Impacting Ability' || calc_1.ABILITIES[gen].includes(ability)) return true; return 'Enter a valid ability'; }; exports.validateAbility = validateAbility; const validateNature = (input) => { if (Object.keys(calc_1.NATURES).includes((0, _1.capitalize)(input))) return true; return 'Enter a valid nature'; }; exports.validateNature = validateNature; const validateMove = (input, gen) => { const move = (0, _1.capitalize)(input); if (Object.keys(calc_1.MOVES[gen]).includes(move) && calc_1.MOVES[gen][move].category !== 'Status') return true; return 'Enter a valid damaging move'; }; exports.validateMove = validateMove; const validateEv = (input) => { if (Number(input) >= 0 && Number(input) <= 255) return true; return 'Enter a valid EV value'; }; exports.validateEv = validateEv; const validateBoost = (input) => { if (Number(input) >= -6 && Number(input) <= 6) return true; return 'Enter a valid stat boost'; }; exports.validateBoost = validateBoost;