mirror of
https://github.com/tcgdex/javascript-sdk.git
synced 2025-07-13 10:35:11 +00:00
Compare commits
9 Commits
v2.0.0-bet
...
v2.0.0
Author | SHA1 | Date | |
---|---|---|---|
a6e2ee60cc
|
|||
22589b0be5
|
|||
81d4447d27
|
|||
d7ba03749d
|
|||
6c5fc609ae
|
|||
4597476e6b
|
|||
2ac98526a1
|
|||
040cb4508a
|
|||
edbcf7f4da
|
@ -4,3 +4,5 @@
|
||||
tsconfig.json
|
||||
*.ts
|
||||
yarn.lock
|
||||
test.js
|
||||
test.d.ts
|
||||
|
42
interfaces.d.ts
vendored
42
interfaces.d.ts
vendored
@ -33,8 +33,14 @@ interface SetResume {
|
||||
logo?: string
|
||||
symbol?: string
|
||||
cardCount: {
|
||||
total: number
|
||||
official: number
|
||||
/**
|
||||
* total of number of cards
|
||||
*/
|
||||
total: number
|
||||
/**
|
||||
* number of cards officialy (on the bottom of each cards)
|
||||
*/
|
||||
official: number
|
||||
}
|
||||
}
|
||||
|
||||
@ -50,6 +56,33 @@ export interface Set extends SetResume {
|
||||
expanded: boolean
|
||||
}
|
||||
|
||||
cardCount: {
|
||||
/**
|
||||
* total of number of cards
|
||||
*/
|
||||
total: number
|
||||
/**
|
||||
* number of cards officialy (on the bottom of each cards)
|
||||
*/
|
||||
official: number
|
||||
/**
|
||||
* number of cards having a normal version
|
||||
*/
|
||||
normal: number
|
||||
/**
|
||||
* number of cards having an reverse version
|
||||
*/
|
||||
reverse: number
|
||||
/**
|
||||
* number of cards having an holo version
|
||||
*/
|
||||
holo: number
|
||||
/**
|
||||
* Number of possible cards
|
||||
*/
|
||||
firstEd?: number
|
||||
}
|
||||
|
||||
cards: CardList
|
||||
}
|
||||
|
||||
@ -232,6 +265,11 @@ export interface Card<SetType extends SetResume = SetResume> extends CardResume
|
||||
// Energy Only
|
||||
energyType?: 'Normal' | // https://www.tcgdex.net/database/ecard/ecard1/160
|
||||
'Special' // https://www.tcgdex.net/database/ecard/ecard1/158
|
||||
|
||||
/**
|
||||
* Define the rotation mark on cards >= Sword & Shield
|
||||
*/
|
||||
rotationMark?: string
|
||||
}
|
||||
|
||||
export type StringEndpointList = Array<string>
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@tcgdex/sdk",
|
||||
"version": "2.0.0-beta.3",
|
||||
"version": "2.0.0",
|
||||
"main": "./tcgdex.js",
|
||||
"types": "./main.d.ts",
|
||||
"repository": "https://github.com/tcgdex/javascript-sdk.git",
|
||||
|
21
tcgdex.ts
21
tcgdex.ts
@ -15,8 +15,8 @@ export default class TCGdex {
|
||||
}
|
||||
|
||||
public async fetchCard(id: string | number, set?: string): Promise<Card | undefined> {
|
||||
const path = `/${set ? `sets/${set}` : 'cards'}/${id}/`
|
||||
return this.rwgr<Card>(path).get()
|
||||
const path = set ? ['sets', set] : ['cards']
|
||||
return this.rwgr<Card>(...path, id).get()
|
||||
}
|
||||
|
||||
public async fetchCards(set?: string): Promise<Array<CardResume> | undefined> {
|
||||
@ -27,7 +27,7 @@ export default class TCGdex {
|
||||
}
|
||||
return setSingle.cards
|
||||
}
|
||||
const req = this.rwgr<Array<CardResume>>(`/cards/`)
|
||||
const req = this.rwgr<Array<CardResume>>('cards')
|
||||
const resp = await req.get()
|
||||
if (!resp) {
|
||||
return undefined
|
||||
@ -36,7 +36,7 @@ export default class TCGdex {
|
||||
}
|
||||
|
||||
public async fetchSet(set: string): Promise<Set | undefined> {
|
||||
const req = this.rwgr<Set>(`/sets/${set}/`)
|
||||
const req = this.rwgr<Set>('sets', set)
|
||||
const resp = await req.get()
|
||||
if (!resp) {
|
||||
return undefined
|
||||
@ -45,12 +45,12 @@ export default class TCGdex {
|
||||
}
|
||||
|
||||
public async fetchSerie(expansion: string): Promise<Serie | undefined> {
|
||||
const req = this.rwgr<Serie>(`/series/${expansion}/`)
|
||||
const req = this.rwgr<Serie>('series', expansion)
|
||||
return req.get()
|
||||
}
|
||||
|
||||
public async fetchSeries(): Promise<SerieList | undefined> {
|
||||
const req = this.rwgr<SerieList>(`/series/`)
|
||||
const req = this.rwgr<SerieList>('series')
|
||||
return req.get()
|
||||
}
|
||||
|
||||
@ -62,7 +62,7 @@ export default class TCGdex {
|
||||
}
|
||||
return expansionSingle.sets
|
||||
}
|
||||
const req = this.rwgr<SetList>(`/sets/`)
|
||||
const req = this.rwgr<SetList>('sets')
|
||||
const list = await req.get()
|
||||
if (!list) {
|
||||
return undefined
|
||||
@ -70,7 +70,10 @@ export default class TCGdex {
|
||||
return list
|
||||
}
|
||||
|
||||
private rwgr<T = any>(url: string) {
|
||||
return RequestWrapper.getRequest<T>(`${this.getBaseUrl()}${url}`)
|
||||
private rwgr<T = any>(...url: Array<string | number>) {
|
||||
return RequestWrapper.getRequest<T>(`${this.getBaseUrl()}/${url.map((v) => encodeURI(
|
||||
// Normalize URL
|
||||
v.toString().replace('?', '%3F').normalize('NFC').replace(/["'\u0300-\u036f]/g, "")
|
||||
)).join('/')}`)
|
||||
}
|
||||
}
|
||||
|
@ -1,17 +0,0 @@
|
||||
import { translations } from "../TranslationUtil"
|
||||
|
||||
const translations: translations = {
|
||||
en: [
|
||||
"Poké-Body",
|
||||
"Poké-Power",
|
||||
"Ability",
|
||||
"Ancient Trait"
|
||||
],
|
||||
fr: [
|
||||
"Poké-Body",
|
||||
"Poké-Power",
|
||||
"Talent",
|
||||
"Trait Ancien"
|
||||
]
|
||||
}
|
||||
export default translations
|
@ -1,15 +0,0 @@
|
||||
import { translations } from "../TranslationUtil"
|
||||
|
||||
const translations: translations = {
|
||||
en: [
|
||||
"Pokémon",
|
||||
"Trainer",
|
||||
"Energy"
|
||||
],
|
||||
fr: [
|
||||
"Pokémon",
|
||||
"Dresseur",
|
||||
"Énergie"
|
||||
]
|
||||
}
|
||||
export default translations
|
@ -1,21 +0,0 @@
|
||||
import { translations } from "../TranslationUtil"
|
||||
|
||||
const translations: translations = {
|
||||
en: [
|
||||
"No rarity",
|
||||
"Common",
|
||||
"unCommon",
|
||||
"Rare",
|
||||
"Rare Ultra",
|
||||
"Ultra Rare",
|
||||
],
|
||||
fr: [
|
||||
"Sans rareté",
|
||||
"Commun",
|
||||
"Non Commun",
|
||||
"Rare",
|
||||
"Rare Ultra",
|
||||
"Ultra Rare",
|
||||
]
|
||||
}
|
||||
export default translations
|
@ -1,59 +0,0 @@
|
||||
import { translations } from "../TranslationUtil"
|
||||
|
||||
const translations: translations = {
|
||||
en: [
|
||||
"Basic Pokémon",
|
||||
"Basic Energy",
|
||||
"BREAK",
|
||||
"EX",
|
||||
"GX",
|
||||
"Item",
|
||||
"LEGEND",
|
||||
"Level-Up",
|
||||
"MEGA",
|
||||
"Restored",
|
||||
"Rocket's Secret Machine",
|
||||
"SP",
|
||||
"Special",
|
||||
"Stadium",
|
||||
"Stage 1",
|
||||
"Stage 2",
|
||||
"Supporter",
|
||||
"Tag Team",
|
||||
"Technical Machine",
|
||||
"Tool",
|
||||
"Pokémon V",
|
||||
"Pokémon VMAX",
|
||||
"Prime",
|
||||
"ACE",
|
||||
"Rainbow",
|
||||
],
|
||||
fr: [
|
||||
"Pokémon de base",
|
||||
"Energie de base",
|
||||
"TURBO",
|
||||
"EX",
|
||||
"GX",
|
||||
"Objet",
|
||||
"LÉGENDE",
|
||||
"Niveau Sup",
|
||||
"Méga",
|
||||
"Restauré",
|
||||
"Machine secrète dees Rocket",
|
||||
"SP",
|
||||
"Spéciale",
|
||||
"Stadium",
|
||||
"Niveau 1",
|
||||
"Niveau 2",
|
||||
"Supporter",
|
||||
"ESCOUADE",
|
||||
"Machine Technique",
|
||||
"Outil",
|
||||
"Pokémon V",
|
||||
"Pokémon VMAX",
|
||||
"Prime",
|
||||
"ACE",
|
||||
"Arc en ciel",
|
||||
]
|
||||
}
|
||||
export default translations
|
@ -1,32 +0,0 @@
|
||||
import { translations } from "../TranslationUtil";
|
||||
|
||||
const trans: translations = {
|
||||
en: [
|
||||
"Colorless",
|
||||
"Darkness",
|
||||
"Dragon",
|
||||
"Fairy",
|
||||
"Fighting",
|
||||
"Fire",
|
||||
"Grass",
|
||||
"Lightning",
|
||||
"Metal",
|
||||
"Psychic",
|
||||
"Water"
|
||||
],
|
||||
fr: [
|
||||
"Incolore",
|
||||
"Obscurité",
|
||||
"Dragon",
|
||||
"Fée",
|
||||
"Combat",
|
||||
"Feu",
|
||||
"Plante",
|
||||
"Électrique",
|
||||
"Métal",
|
||||
"Psy",
|
||||
"Eau"
|
||||
]
|
||||
}
|
||||
|
||||
export default trans
|
Reference in New Issue
Block a user