El SDK de TypeScript
Instalación
Sección titulada «Instalación»npm i @tcgdex/sdk
bun i @tcgdex/sdk
yarn add @tcgdex/sdk
pnpm add @tcgdex/sdk
Uso Básico
Sección titulada «Uso Básico»// Importar el SDK en ESM/TypeScriptimport TCGdex from '@tcgdex/sdk'
// 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"})();
Obteniendo Datos
Sección titulada «Obteniendo Datos»// 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»// 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»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') // Coincidencia exacta del nombre .greaterOrEqualThan('hp', 60) // HP >= 60 .lesserThan('hp', 70) // HP < 70 .sort('localId', 'ASC') // Ordenar por ID ascendente);
// Encontrar cartas que contienen "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»// 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»// Obtener todas las cartas de tipo fuegoconst fireType = await tcgdex.type.get('fire');
// Obtener todas las cartas con 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»// Crear 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 conexión API personalizadotcgdex.setEndpoint('https://custom-api.example.com/v2');
// Configurar cachétcgdex.setCacheTTL(3600); // Establecer duración de caché a 1 hora
Imágenes de Cartas
Sección titulada «Imágenes de 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