Compare commits

...

9 Commits

Author SHA1 Message Date
a6e2ee60cc v2.0.0 2021-05-28 11:26:39 +02:00
22589b0be5 Updated interface to support new rotationMark field
Signed-off-by: Avior <florian.bouillon@delta-wings.net>
2021-05-28 11:25:55 +02:00
81d4447d27 Removed translation files
They were moved to the compiler

Signed-off-by: Avior <florian.bouillon@delta-wings.net>
2021-05-28 11:25:31 +02:00
d7ba03749d v2.0.0-beta.6 2021-05-07 10:17:26 +02:00
6c5fc609ae Added URL URLs Normalization
Signed-off-by: Avior <florian.bouillon@delta-wings.net>
2021-05-07 10:16:42 +02:00
4597476e6b v2.0.0-beta.5 2021-05-03 21:57:12 +02:00
2ac98526a1 Fixed Items with accents not being correctly fetched
Signed-off-by: Avior <florian.bouillon@delta-wings.net>
2021-05-03 21:56:42 +02:00
040cb4508a v2.0.0-beta.4 2021-05-02 15:49:34 +02:00
edbcf7f4da Add new cardCount field to set
Signed-off-by: Avior <florian.bouillon@delta-wings.net>
2021-05-02 15:48:26 +02:00
9 changed files with 55 additions and 156 deletions

View File

@ -4,3 +4,5 @@
tsconfig.json
*.ts
yarn.lock
test.js
test.d.ts

42
interfaces.d.ts vendored
View File

@ -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>

View File

@ -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",

View File

@ -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('/')}`)
}
}

View File

@ -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

View File

@ -1,15 +0,0 @@
import { translations } from "../TranslationUtil"
const translations: translations = {
en: [
"Pokémon",
"Trainer",
"Energy"
],
fr: [
"Pokémon",
"Dresseur",
"Énergie"
]
}
export default translations

View File

@ -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

View File

@ -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

View File

@ -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