Skip to content

Communicate with the Open Source TCGdex API in Javascript/Typescript using the SDK

License

Notifications You must be signed in to change notification settings

tcgdex/javascript-sdk

Repository files navigation

TCGdex Main Image

NOM Version NPM Downloads npm version Github stars the TCGdex JAvascript SDK is released under the MIT license. Discord Link

TCGdex JavaScript/TypeScript SDK

The Javascript/Typescript SDK provides a convenient access with the Open Source TCGdex API.

The SDK is available in ESM and CommonJS and should be automaticly chosen.

Documentation

The full API/SDK documentation in progress at API Documentation - TCGdex

Getting Started

How To install

In the browser

To use the SDK in the browser, simply add the following script tag to your HTML pages:

<script src="https://cdn.jsdelivr.net/npm/@tcgdex/sdk@2/dist/tcgdex.browser.js"></script>

You cna also download the script from JSDelivr by right clicking the link and selecting save link as.

In Node.js

Simply type the following into a terminal window:

npm install @tcgdex/sdk

Usage

Note: a complete documentation is available at TCGdex.dev

Example: Fetch a Card

in Browser

<script src="https://cdn.jsdelivr.net/npm/@tcgdex/[email protected]/dist/tcgdex.browser.js"></script>
<script>
	// Instantiate the SDK
	const tcgdex = new TCGdex('en');

	// go into an async context
	;(async () => {
		// Card will be Furret from the Darkness Ablaze Set
		const card = await tcgdex.fetch('cards', 'swsh3-136');
	})();
</script>

in NodeJS (in an async context)

// Import the SDK in Typescript or moduleJS
import TCGdex from '@tcgdex/sdk'

// import the SDK in commonJS
const TCGdex = require('@tcgdex/sdk').default

// Instantiate the SDK
const tcgdex = new TCGdex('en');

// go into an async context
(async () => {
	// Card will be Furret from the Darkness Ablaze Set
	const card = await tcgdex.fetch('cards', 'swsh3-136');

	// You can also get the same result using
	const card = await tcgdex.fetch('sets', 'Darkness Ablaze', 136);
})();

Other Examples

// fetch a Set's informations using the set's name or ID
await tcgdex.fetch('sets', 'Darkness Ablaze')

// Fetch a serie using the serie's name or ID
await tcgdex.fetch('series', 'Sword & Shield')

// Fetch cards possible pokemon cards HP
await tcgdex.fetch('hp');

// Fetch Cards with the specific number of HP
await tcgdex.fetch('hp', 110);

// Fetch cards possible illustrators
await tcgdex.fetch('illustrators');

// Fetch Cards with the specific illustrator
await tcgdex.fetch('illustrators', 'tetsuya koizumi');

Other Endpoints

They work like the two (hp and illustrators) abose

  • categories: the the different cards categories
  • energy-types: Fetch different types of energies
  • hp: fetch the different cards possible HPs
  • illustrators: fetch all the cards illustrators
  • rarities: fetch the cards rarities
  • retreats: fetch the cards using the retreat count
  • stages: fetch differents cards stages
  • suffixes: fetch differents cards suffixes
  • trainer-types: fetch trainer cards types
  • dex-ids: fetch pokemon Global Pokédex IDS
  • types: fetch the cards using the Pokémon type(s)

Contributing

See CONTRIBUTING.md

TL::DR

  • Fork

  • Commit your changes

  • Pull Request on this Repository

License

This project is licensed under the IT License. A copy of the license is available at LICENSE.md