Parsing logic for Pokémon Showdown sets and teams
npm install @pkmn/sets@pkmn/sets!Test Status
!License

Parsing logic for Pokémon Showdown's sets export format.
``sh`
$ npm install @pkmn/sets
Alternatively, as detailed below, if you are using @pkmn/sets in the browser and want
a convenient way to get started, simply depend on a transpiled and minified version via
unpkg:
`html`
This package can be used to parse sets and teams without any dependencies:
`ts
import {Sets} from '@pkmn/sets';
const set = Sets.importSet(
Tangrowth @ Assault Vest
Ability: Regenerator
EVs: 248 HP / 8 Def / 252 SpD
Sassy Nature
IVs: 30 Atk / 30 Def
- Giga Drain
- Knock Off
- Hidden Power [Ice]
- Earthquake);`
If you need to be able to unpack teams sent over the wire from old Pokémon Showdown server
implementations, need richer past generation support, or need the ability to convert sets written
with IDs (a core data type within Pokémon Showdown - strings containing just lower caseData
alphanumerics) into display names, a implementation must be provided as the optional secondData
parameter to the method you're using. The interface has been written such that it isDex
compatible with the type frompkmn/dex
smogon/pokemon-showdown-client,
smogon/pokemon-showdown, and from the package which can be used in a standalone fashion outside of Pokémon Showdown
codebase:
`ts
import {Dex} from '@pkmn/dex';
import {Sets} from '@pkmn/sets';
const set = Sets.unpack(
'Tangrowth||AssaultVest|H|GigaDrain,KnockOff,PowerWhip' +
',Earthquake|Sassy|248,,8,,252,||,30,30,,,|||,Ice,',
Dex.forGen(6)
);
`
The recommended way of using @pkmn/sets in a web browser is to configure your bundlerindex.min.js
(Webpack, Rollup,
Parcel, etc) to minimize it and package it with the rest of your
application. If you do not use a bundler, a convenience is included in the package../node_modules/@pkmn/sets/build/index.min.js
You simply need to depend on in a script tag (whichpkmn.sets` will be accessible as a
is what the unpkg shortcut above is doing), after which **
global.**
This package is distributed under the terms of the MIT License.