pokemon-tcg-sdk-typescript
v1.3.4
Published
Typescript SDK for the PokemonTCG API (https://pokemontcg.io)
Downloads
240
Readme
Pokemon TCG SDK TypeScript
This is the TypeScript SDK for the Pokemon TCG API.
V2 Announcement
Version 1 of this SDK is officially depricated. Version 2 stable release this SDK is scheduled to be released on Friday, September 17th, 20201. Version 1 will continue to receive support until then. See the migration guide for steps to update your app to use the latest supported version of the SDK
Installation
npm
npm install --save pokemon-tcg-sdk-typescript
yarn
yarn add pokemon-tcg-sdk-typescript
It is recommended to use an API key for version 2 of the API. By default, requests are limited to 20,000/day. Requests are rate limited to 1000 requests a day, and a maximum of 30 per minute.
To use the SDK with an API key, create an account at https://dev.pokemontcg.io to grab an API key. Then set your API key to the environment variable POKEMONTCG_API_KEY in a .env file. Make sure to use this exact environment variable, otherwise the SDK will not be able to read the API key.
Class Definitions
Card
id: string;
name: string;
supertype: string;
subtypes: string[];
hp?: string;
types?: string[];
evolesFrom?: string;
evolvesTo?: string[];
rules?: string[];
ancientTrait?: IAncientTrait;
abilities?: IAbility[];
attacks?: IAttack[];
weaknesses?: IWeakness[];
resistances?: IResistance[];
retreatCost?: string[];
convertedRetreatCost?: number;
set: ISet;
number: string;
artist?: string;
rarity: string;
flavorText?: string;
nationalPokedexNumbers?: number[];
legalities: ILegality;
images: ICardImage;
tcgplayer?: ITCGPlayer;
cardmarket?: ICardmarket;
IAbility
name: string;
text: string;
type: string;
IAttack
cost: string[];
name: string;
text: string;
damage: string;
convertedEnergyCost: string;
IResistance, IWeakness
type: string;
value: string;
Set
id: string;
images: ISetImage;
legalities: ILegality;
name: string;
printedTotal: number;
ptcgoCode: string;
releaseDate: string;
series: string;
total: number;
updatedAt: string;
IQuery
{ name: string, value: string | number }
Method Definitions
Card.find(id: string): Promise<Card>
Card.where(params: IQuery[]): Promise<Card[]>
Card.all(): Promise<Card[]>
Set.find(id: string): Promise<Set>
Set.where(params: IQuery[]): Promise<Set[]>
Set.all(): Promise<Set[]>
Meta.allTypes(): Promise<string[]>
Meta.allSubtypes(): Promise<string[]>
Meta.allSupertypes(): Promise<string[]>
Usage
All of the calls return generic promises like Promise<T>
or Promise<T[]>
. The type is determined from the class making the call. The examples here are using the Card
class but the usage for the other classes are the same.
import { PokemonTCG } from 'pokemon-tcg-sdk-typescript'
PokemonTCG.Card.find('xy1')
.then(card => {
// do stuff with the card
})
.catch(error => {
// do something with the error
});
let params: PokemonTCG.IQuery[] = [{ name: 'name', value: 'Charizard' }];
PokemonTCG.Card.where(params)
.then(cards => {
// do stuff with the cards
})
.catch(error => {
// do something with the error
});
PokemonTCG.Card.all()
.then(cards => {
// do stuff with the cards
})
.catch(error => {
// do something with the error
});
Contributing
- Open an issue
- Describe what the SDK is missing and what changes you'd like to see implemented
- Ask clarifying questions
- Fork it (click the Fork button at the top of the page)
- Create your feature branch (git checkout -b my-new-feature)
- Make some changes and fix some bugs!
- Run the tests
npm run-script test
- Test your changes in a project of yours:
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request to
master