El SDK de JavaScript
Instalación
Sección titulada «Instalación»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
Sección titulada «Uso Básico»// Importar el SDK en ESM/TypeScriptimport TCGdex from '@tcgdex/sdk'
// O importar el SDK en CommonJSconst TCGdex = require('@tcgdex/sdk').default
// Instanciar el SDK con tu idioma preferidoconst tcgdex = new TCGdex('en');
// Usar en un contexto asíncrono(async () => { // Obtener Furret del 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 el SDK const tcgdex = new TCGdex('en');
// Usar en un contexto asíncrono (async () => { // Obtener Furret del Set Darkness Ablaze const card = await tcgdex.card.get('swsh3-136'); console.log(card.name); // "Furret" })();</script>
Obteniendo Datos
Sección titulada «Obteniendo Datos»El SDK proporciona endpoints dedicados para tipos de datos comunes:
// Obtener una carta específicaconst card = await tcgdex.card.get('swsh3-136');
// Obtener un set específicoconst set = await tcgdex.set.get('swsh3');
// Obtener una serie específicaconst serie = await tcgdex.serie.get('swsh');
// Obtener una lista de todas las cartasconst allCards = await tcgdex.card.list();
Obteniendo Datos Aleatorios
Sección titulada «Obteniendo Datos Aleatorios»También puedes recuperar cartas, sets o series aleatorias:
// Obtener una carta aleatoriaconst randomCard = await tcgdex.random.card();
// Obtener un set aleatorioconst randomSet = await tcgdex.random.set();
// Obtener una serie aleatoriaconst randomSerie = await tcgdex.random.serie();
Consultas Avanzadas
Sección titulada «Consultas Avanzadas»El SDK proporciona un potente sistema de consultas para filtrar datos:
import TCGdex, { Query } from '@tcgdex/sdk';
const tcgdex = new TCGdex('en');
// Crear una consulta para encontrar cartas de Pikachu con HP entre 60 y 70const pikachuCards = await tcgdex.card.list( Query.create() .equal('name', 'Pikachu') // Coincidir con el nombre exacto .greaterOrEqualThan('hp', 60) // HP >= 60 .lesserThan('hp', 70) // HP < 70 .sort('localId', 'ASC') // Ordenar por ID ascendente);
// Encontrar cartas que contengan "5" en su ID pero no "tg"const filteredCards = await tcgdex.card.list( Query.create() .contains('localId', '5') // ID contiene "5" .not.contains('localId', 'tg') // ID no contiene "tg");
// Ejemplo de paginación - obtener página 3 con 2 elementos por páginaconst paginatedCards = await tcgdex.card.list( Query.create() .paginate(3, 2));
Relaciones entre Objetos
Sección titulada «Relaciones entre Objetos»El SDK facilita la navegación entre relaciones de objetos:
// Obtener una carta y luego recuperar su setconst card = await tcgdex.card.get('swsh3-136');const set = await card.getSet();
// Obtener un set y luego recuperar su serieconst set = await tcgdex.set.get('swsh3');const serie = await set.getSerie();
// Obtener una carta de la lista de cartas de un setconst set = await tcgdex.set.get('swsh3');const firstCardResume = set.cards[0];const fullCard = await firstCardResume.getCard();
Filtrado por Atributos
Sección titulada «Filtrado por Atributos»Encuentra cartas por atributos específicos:
// Obtener todas las cartas de tipo fuegoconst fireType = await tcgdex.type.get('fire');
// Obtener todas las cartas con un HP específicoconst hp90Cards = await tcgdex.hp.get('90');
// Obtener todas las cartas de un ilustrador específicoconst illustratorCards = await tcgdex.illustrator.get('TOKIYA');
// Obtener todas las cartas con una rareza específicaconst rareCards = await tcgdex.rarity.get('rare');
Opciones de Configuración
Sección titulada «Opciones de Configuración»El SDK proporciona varias opciones de configuración:
// Crear el SDK con un idioma específicoconst tcgdex = new TCGdex('fr'); // Francés
// Cambiar el idioma después de la inicializacióntcgdex.setLang('en'); // Cambiar a inglés
// Establecer un punto de acceso API personalizadotcgdex.setEndpoint('https://custom-api.example.com/v2');
// Configurar el almacenamiento en cachétcgdex.setCacheTTL(3600); // Establecer la duración de la caché a 1 hora
Imágenes de Cartas
Sección titulada «Imágenes de Cartas»Accede fácilmente a las imágenes de las cartas:
const card = await tcgdex.card.get('swsh3-136');
// Obtener URL de imagen PNG de alta calidadconst highQualityPng = card.getImageURL('high', 'png');
// Obtener URL de imagen WEBP de baja calidad para mejor rendimientoconst lowQualityWebp = card.getImageURL('low', 'webp');
Recursos Relacionados
Sección titulada «Recursos Relacionados»- Consulta la documentación completa de la API REST para todos los endpoints disponibles
- Código fuente en GitHub
- Paquete NPM
- Comunidad de Discord