Giter Club home page Giter Club logo

javascript-sdk's Introduction

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

javascript-sdk's People

Contributors

aviortheking avatar dependabot[bot] avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

javascript-sdk's Issues

Implements classes to simplify requesting

the current interfaces will be kept but I will also export classes that contains some shortcuts to some other endpoints

ex:

export default class CardResume implements CardResumeInterface {

    public function getCard(): Card
}

Implements Observable

Currently the default export implement Promises based requests.

Adding an Observable class will be quite interresting to do (use RxJS implementation?)

  • move the default TCGdex.ts to TCGdexPromises.ts
  • TCGdex.ts default export TCGdexPromises (and also export it as TCGdexPromises)
  • create and implement TCGdexObservables.ts (export it as TCGdexObservable)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.