O SDK JavaScript
Instalação
Seção intitulada “Instalação”npm i @tcgdex/sdk
bun i @tcgdex/sdk
yarn add @tcgdex/sdk
pnpm add @tcgdex/sdk
<script src="https://cdn.jsdelivr.net/npm/@tcgdex/sdk@2/dist/tcgdex.browser.js"></script>
Uso Básico
Seção intitulada “Uso Básico”// Importar o SDK em ESM/TypeScriptimport TCGdex from '@tcgdex/sdk'
// OU importar o SDK em CommonJSconst TCGdex = require('@tcgdex/sdk').default
// Instanciar o SDK com seu idioma preferidoconst tcgdex = new TCGdex('en');
// Usar em um contexto assíncrono(async () => { // Buscar Furret do Set Darkness Ablaze const card = await tcgdex.card.get('swsh3-136'); console.log(card.name); // "Furret"})();
<script src="https://cdn.jsdelivr.net/npm/@tcgdex/sdk@2/dist/tcgdex.browser.js"></script><script> // Instanciar o SDK const tcgdex = new TCGdex('en');
// Usar em um contexto assíncrono (async () => { // Buscar Furret do Set Darkness Ablaze const card = await tcgdex.card.get('swsh3-136'); console.log(card.name); // "Furret" })();</script>
Buscando Dados
Seção intitulada “Buscando Dados”O SDK fornece endpoints dedicados para tipos comuns de dados:
// Obter uma carta específicaconst card = await tcgdex.card.get('swsh3-136');
// Obter um set específicoconst set = await tcgdex.set.get('swsh3');
// Obter uma série específicaconst serie = await tcgdex.serie.get('swsh');
// Obter uma lista de todas as cartasconst allCards = await tcgdex.card.list();
Obtendo Dados Aleatórios
Seção intitulada “Obtendo Dados Aleatórios”Você também pode recuperar cartas, sets ou séries aleatórias:
// Obter uma carta aleatóriaconst randomCard = await tcgdex.random.card();
// Obter um set aleatórioconst randomSet = await tcgdex.random.set();
// Obter uma série aleatóriaconst randomSerie = await tcgdex.random.serie();
Consultas Avançadas
Seção intitulada “Consultas Avançadas”O SDK fornece um poderoso sistema de consultas para filtrar dados:
import TCGdex, { Query } from '@tcgdex/sdk';
const tcgdex = new TCGdex('en');
// Criar uma consulta para encontrar cartas de Pikachu com HP entre 60 e 70const pikachuCards = await tcgdex.card.list( Query.create() .equal('name', 'Pikachu') // Combinar nome exato .greaterOrEqualThan('hp', 60) // HP >= 60 .lesserThan('hp', 70) // HP < 70 .sort('localId', 'ASC') // Ordenar por ID em ordem crescente);
// Encontrar cartas contendo "5" em seu ID mas não "tg"const filteredCards = await tcgdex.card.list( Query.create() .contains('localId', '5') // ID contém "5" .not.contains('localId', 'tg') // ID não contém "tg");
// Exemplo de paginação - obter página 3 com 2 itens por páginaconst paginatedCards = await tcgdex.card.list( Query.create() .paginate(3, 2));
Relacionamentos de Objetos
Seção intitulada “Relacionamentos de Objetos”O SDK facilita a navegação entre os relacionamentos de objetos:
// Obter uma carta e depois recuperar seu setconst card = await tcgdex.card.get('swsh3-136');const set = await card.getSet();
// Obter um set e depois recuperar sua sérieconst set = await tcgdex.set.get('swsh3');const serie = await set.getSerie();
// Obter uma carta da lista de cartas de um setconst set = await tcgdex.set.get('swsh3');const firstCardResume = set.cards[0];const fullCard = await firstCardResume.getCard();
Filtrando por Atributos
Seção intitulada “Filtrando por Atributos”Encontre cartas por atributos específicos:
// Obter todas as cartas do tipo fogoconst fireType = await tcgdex.type.get('fire');
// Obter todas as cartas com HP específicoconst hp90Cards = await tcgdex.hp.get('90');
// Obter todas as cartas de um ilustrador específicoconst illustratorCards = await tcgdex.illustrator.get('TOKIYA');
// Obter todas as cartas com uma raridade específicaconst rareCards = await tcgdex.rarity.get('rare');
Opções de Configuração
Seção intitulada “Opções de Configuração”O SDK fornece várias opções de configuração:
// Criar SDK com um idioma específicoconst tcgdex = new TCGdex('fr'); // Francês
// Mudar o idioma após a inicializaçãotcgdex.setLang('en'); // Mudar para Inglês
// Definir um endpoint de API personalizadotcgdex.setEndpoint('https://custom-api.example.com/v2');
// Configurar cachetcgdex.setCacheTTL(3600); // Definir duração do cache para 1 hora
Imagens de Cartas
Seção intitulada “Imagens de Cartas”Acesse facilmente as imagens das cartas:
const card = await tcgdex.card.get('swsh3-136');
// Obter URL de imagem PNG de alta qualidadeconst highQualityPng = card.getImageURL('high', 'png');
// Obter URL de imagem WEBP de baixa qualidade para melhor desempenhoconst lowQualityWebp = card.getImageURL('low', 'webp');
Recursos Relacionados
Seção intitulada “Recursos Relacionados”- Consulte a documentação completa da API REST para todos os endpoints disponíveis
- Código fonte no GitHub
- Pacote NPM
- Comunidade no Discord