4.0.1 • Published 2 years ago

@nxpkmn/sets v4.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

@nxpkmn/sets

Test Status License npm version

Parsing logic for Pokémon Showdown's sets export format.

Installation

$ npm install @nxpkmn/sets

Alternatively, as detailed below, if you are using @nxpkmn/sets in the browser and want a convenient way to get started, simply depend on a transpiled and minified version via unpkg:

<script src="https://unpkg.com/@nxpkmn/sets"></script>

Usage

This package can be used to parse sets and teams without any dependencies:

import {Sets} from '@nxpkmn/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 case alphanumerics) into display names, a Data implementation must be provided as the optional second parameter to the method you're using. The Data interface has been written such that it is compatible with the Dex type from smogon/pokemon-showdown-client, smogon/pokemon-showdown, and from the pkmn/dex package which can be used in a standalone fashion outside of Pokémon Showdown codebase:

import {Dex} from '@nxpkmn/dex';
import {Sets} from '@nxpkmn/sets';

const set = Sets.unpack(
  'Tangrowth||AssaultVest|H|GigaDrain,KnockOff,PowerWhip' +
  ',Earthquake|Sassy|248,,8,,252,||,30,30,,,|||,Ice,',
  Dex.forGen(6)
);

Browser

The recommended way of using @nxpkmn/sets in a web browser is to configure your bundler (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 production.min.js is included in the package. You simply need to depend on ./node_modules/@nxpkmn/sets/build/production.min.js in a script tag (which is what the unpkg shortcut above is doing), after which PokemonSets and PokemonTeams will be accessible as globals.

License

This package is distributed under the terms of the MIT License.