/javascript-sdk

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

Primary LanguageTypeScriptMIT LicenseMIT

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/sdk@2.4.9/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