Compare commits

...

20 Commits

Author SHA1 Message Date
f7010d5f93 v2.0.3 2021-05-28 11:39:55 +02:00
ed3fbcf5db Fixed regulation Mark name not being correct
Signed-off-by: Avior <florian.bouillon@delta-wings.net>
2021-05-28 11:37:23 +02:00
f62615814d v2.0.2 2021-05-28 11:36:55 +02:00
eec10c548a Fixed name
Signed-off-by: Avior <florian.bouillon@delta-wings.net>
2021-05-28 11:36:20 +02:00
720bc6b43a v2.0.1 2021-05-28 11:28:24 +02:00
3557334076 removed hardcoded values as they depends on language
Signed-off-by: Avior <florian.bouillon@delta-wings.net>
2021-05-28 11:28:00 +02:00
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
0cc19ec1f3 v2.0.0-beta.3 2021-04-24 19:53:36 +02:00
551c3bbc6b Updated Deps
Signed-off-by: Avior <florian.bouillon@delta-wings.net>
2021-04-24 19:53:08 +02:00
4b644067fa Changed Functions name
Signed-off-by: Avior <florian.bouillon@delta-wings.net>
2021-04-24 18:58:08 +02:00
41d105cda8 v2.0.0-beta.2 2021-04-20 10:40:08 +02:00
73028f4803 Fixed get serie pointing the old endpoint
Signed-off-by: Avior <florian.bouillon@delta-wings.net>
2021-04-20 10:39:45 +02:00
10 changed files with 147 additions and 213 deletions

View File

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

77
interfaces.d.ts vendored
View File

@ -18,11 +18,6 @@ interface variants {
firstEdition?: boolean firstEdition?: boolean
} }
export type Types = 'Colorless' | 'Darkness' | 'Dragon' |
'Fairy' | 'Fightning' | 'Fire' |
'Grass' | 'Lightning' | 'Metal' |
'Psychic' | 'Water'
export type SetList = Array<SetResume> export type SetList = Array<SetResume>
export type SerieList = Array<SerieResume> export type SerieList = Array<SerieResume>
export type CardList = Array<CardResume> export type CardList = Array<CardResume>
@ -33,8 +28,14 @@ interface SetResume {
logo?: string logo?: string
symbol?: string symbol?: string
cardCount: { 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 +51,33 @@ export interface Set extends SetResume {
expanded: boolean 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 cards: CardList
} }
@ -81,7 +109,7 @@ export interface Card<SetType extends SetResume = SetResume> extends CardResume
* - Ultra Rare * - Ultra Rare
* - Secret Rare * - Secret Rare
*/ */
rarity: 'None' | 'Common'| 'Uncommon' | 'Rare' | 'Ultra Rare' | 'Secret Rare' rarity: string
/** /**
* Card Category * Card Category
@ -90,7 +118,7 @@ export interface Card<SetType extends SetResume = SetResume> extends CardResume
* - Trainer * - Trainer
* - Energy * - Energy
*/ */
category: 'Pokemon' | 'Trainer' | 'Energy' category: string
/** /**
* Card Variants (Override Set Variants) * Card Variants (Override Set Variants)
@ -119,7 +147,7 @@ export interface Card<SetType extends SetResume = SetResume> extends CardResume
/** /**
* Pokemon Types * Pokemon Types
*/ */
types?: Array<Types> // ex for multiple https://www.tcgdex.net/database/ex/ex13/17 types?: Array<string> // ex for multiple https://www.tcgdex.net/database/ex/ex13/17
/** /**
* Pokemon Sub Evolution * Pokemon Sub Evolution
@ -155,7 +183,7 @@ export interface Card<SetType extends SetResume = SetResume> extends CardResume
* - Stage2 https://www.tcgdex.net/database/xy/xy9/3 * - Stage2 https://www.tcgdex.net/database/xy/xy9/3
* - VMAX https://www.tcgdex.net/database/swsh/swsh1/50 * - VMAX https://www.tcgdex.net/database/swsh/swsh1/50
*/ */
stage?: 'Basic' | 'BREAK' | 'LEVEL-UP' | 'MEGA' | 'RESTORED' | 'Stage1' | 'Stage2' | 'VMAX' stage?: string
/** /**
* Card Suffix * Card Suffix
@ -168,7 +196,7 @@ export interface Card<SetType extends SetResume = SetResume> extends CardResume
* - SP https://www.tcgdex.net/database/pl/pl1/7 * - SP https://www.tcgdex.net/database/pl/pl1/7
* - TAG TEAM-GX https://www.tcgdex.net/database/sm/sm12/226 * - TAG TEAM-GX https://www.tcgdex.net/database/sm/sm12/226
*/ */
suffix?: 'EX' | 'GX' | 'V' | 'Legend' | 'Prime' | 'SP' | 'TAG TEAM-GX' suffix?: string
/** /**
* Pokemon Held Item * Pokemon Held Item
@ -186,7 +214,7 @@ export interface Card<SetType extends SetResume = SetResume> extends CardResume
* multi abilities ex https://www.tcgdex.net/database/ex/ex15/10 * multi abilities ex https://www.tcgdex.net/database/ex/ex15/10
*/ */
abilities?: Array<{ abilities?: Array<{
type: 'Pokemon Power' | 'Poke-BODY' | 'Poke-POWER' | 'Ability' | 'Ancient Trait' type: string
name: string name: string
effect: string effect: string
}> }>
@ -195,7 +223,7 @@ export interface Card<SetType extends SetResume = SetResume> extends CardResume
* Pokemon Attacks * Pokemon Attacks
*/ */
attacks?: Array<{ attacks?: Array<{
cost?: Array<Types> cost?: Array<string>
name: string name: string
effect?: string effect?: string
damage?: string | number damage?: string | number
@ -205,12 +233,12 @@ export interface Card<SetType extends SetResume = SetResume> extends CardResume
* Pokemon Weaknesses * Pokemon Weaknesses
*/ */
weaknesses?: Array<{ weaknesses?: Array<{
type: Types type: string
value?: string value?: string
}> }>
resistances?: Array<{ resistances?: Array<{
type: Types type: string
value?: string value?: string
}> }>
@ -220,18 +248,15 @@ export interface Card<SetType extends SetResume = SetResume> extends CardResume
effect?: string effect?: string
// Trainer Only // Trainer Only
trainerType?: 'Supporter' | // https://www.tcgdex.net/database/ex/ex7/83 trainerType?: string
'Item' | // https://www.tcgdex.net/database/ex/ex7/89
'Stadium' | // https://www.tcgdex.net/database/ex/ex7/87
'Tool' | // https://www.tcgdex.net/database/neo/neo1/93
'Ace Spec' | // https://www.tcgdex.net/database/bw/bw7/139
'Technical Machine' | // https://www.tcgdex.net/database/ecard/ecard1/144
'Goldenred Game Corner' | // https://www.tcgdex.net/database/neo/neo1/83
'Rocket\'s Secret Machine' // https://www.tcgdex.net/database/ex/ex7/84
// Energy Only // Energy Only
energyType?: 'Normal' | // https://www.tcgdex.net/database/ecard/ecard1/160 energyType?: string
'Special' // https://www.tcgdex.net/database/ecard/ecard1/158
/**
* Define the rotation mark on cards >= Sword & Shield
*/
regulationMark?: string
} }
export type StringEndpointList = Array<string> export type StringEndpointList = Array<string>

View File

@ -1,12 +1,13 @@
{ {
"name": "@tcgdex/sdk", "name": "@tcgdex/sdk",
"version": "2.0.0-beta.1", "version": "2.0.3",
"main": "./tcgdex.js", "main": "./tcgdex.js",
"types": "./main.d.ts", "types": "./main.d.ts",
"repository": "https://github.com/tcgdex/javascript-sdk.git", "repository": "https://github.com/tcgdex/javascript-sdk.git",
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"@types/node-fetch": "2.5.7", "@types/node-fetch": "2.5.7",
"ts-node": "^9.1.1",
"typescript": "^4.1.3" "typescript": "^4.1.3"
}, },
"dependencies": { "dependencies": {

View File

@ -10,32 +10,24 @@ export default class TCGdex {
return this.lang || TCGdex.defaultLang return this.lang || TCGdex.defaultLang
} }
private getBaseUrl() { private getBaseUrl() {
return `https://api.tcgdex.net/v2/${this.getLang()}` return `https://api.tcgdex.net/v2/${this.getLang()}`
} }
private gbu() { public async fetchCard(id: string | number, set?: string): Promise<Card | undefined> {
return this.getBaseUrl() const path = set ? ['sets', set] : ['cards']
return this.rwgr<Card>(...path, id).get()
} }
public async getCard(id: string|number, full: true, set?: string): Promise<Card<Set> | undefined> public async fetchCards(set?: string): Promise<Array<CardResume> | undefined> {
// @ts-expect-error Temporary while building it in the compiler
public async getCard(id: string|number, full?: boolean, set?: string): Promise<Card | undefined> {
const txt = set ? `sets/${set}` : "cards"
const req = this.rwgr<Card>(`${this.gbu()}/${txt}/${id}/`)
return req.get()
}
public async getCards(set?: string): Promise<Array<CardResume> | undefined> {
if (set) { if (set) {
const setSingle = await this.getSet(set) const setSingle = await this.fetchSet(set)
if (!setSingle) { if (!setSingle) {
return undefined return undefined
} }
return setSingle.cards return setSingle.cards
} }
const req = this.rwgr<Array<CardResume>>(`/cards/`) const req = this.rwgr<Array<CardResume>>('cards')
const resp = await req.get() const resp = await req.get()
if (!resp) { if (!resp) {
return undefined return undefined
@ -43,8 +35,8 @@ export default class TCGdex {
return resp return resp
} }
public async getSet(set: string): Promise<Set | undefined> { 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() const resp = await req.get()
if (!resp) { if (!resp) {
return undefined return undefined
@ -52,25 +44,25 @@ export default class TCGdex {
return resp return resp
} }
public async getSerie(expansion: string): Promise<Serie | undefined> { public async fetchSerie(expansion: string): Promise<Serie | undefined> {
const req = this.rwgr<Serie>(`/expansions/${expansion}/`) const req = this.rwgr<Serie>('series', expansion)
return req.get() return req.get()
} }
public async getSeries(): Promise<SerieList | undefined> { public async fetchSeries(): Promise<SerieList | undefined> {
const req = this.rwgr<SerieList>(`/expansions/`) const req = this.rwgr<SerieList>('series')
return req.get() return req.get()
} }
public async getSets(expansion?: string): Promise<SetList | undefined> { public async fetchSets(expansion?: string): Promise<SetList | undefined> {
if (expansion) { if (expansion) {
const expansionSingle = await this.getSerie(expansion) const expansionSingle = await this.fetchSerie(expansion)
if (!expansionSingle) { if (!expansionSingle) {
return undefined return undefined
} }
return expansionSingle.sets return expansionSingle.sets
} }
const req = this.rwgr<SetList>(`/sets/`) const req = this.rwgr<SetList>('sets')
const list = await req.get() const list = await req.get()
if (!list) { if (!list) {
return undefined return undefined
@ -78,7 +70,10 @@ export default class TCGdex {
return list return list
} }
private rwgr<T = any>(url: string) { private rwgr<T = any>(...url: Array<string | number>) {
return RequestWrapper.getRequest<T>(`${this.gbu()}${url}`) 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

View File

@ -11,15 +11,25 @@
form-data "^3.0.0" form-data "^3.0.0"
"@types/node@*": "@types/node@*":
version "13.9.0" version "14.14.41"
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.9.0.tgz#5b6ee7a77faacddd7de719017d0bc12f52f81589" resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.41.tgz#d0b939d94c1d7bd53d04824af45f1139b8c45615"
integrity sha512-0ARSQootUG1RljH2HncpsY2TJBfGQIKOOi7kxzUY6z54ePu/ZD+wJA8zI2Q6v8rol2qpG/rvqsReco8zNMPvhQ== integrity sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g==
arg@^4.1.0:
version "4.1.3"
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
asynckit@^0.4.0: asynckit@^0.4.0:
version "0.4.0" version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
buffer-from@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
combined-stream@^1.0.8: combined-stream@^1.0.8:
version "1.0.8" version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
@ -27,15 +37,25 @@ combined-stream@^1.0.8:
dependencies: dependencies:
delayed-stream "~1.0.0" delayed-stream "~1.0.0"
create-require@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
delayed-stream@~1.0.0: delayed-stream@~1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
diff@^4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
form-data@^3.0.0: form-data@^3.0.0:
version "3.0.0" version "3.0.1"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.0.tgz#31b7e39c85f1355b7139ee0c647cf0de7f83c682" resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f"
integrity sha512-CKMFDglpbMi6PyN+brwB9Q/GOw0eAnsrEZDgcsH5Krhz5Od/haKHAX0NmQfha2zPPz0JpWzA7GJHGSnvCRLWsg== integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==
dependencies: dependencies:
asynckit "^0.4.0" asynckit "^0.4.0"
combined-stream "^1.0.8" combined-stream "^1.0.8"
@ -49,29 +69,64 @@ isomorphic-unfetch@^3.1.0:
node-fetch "^2.6.1" node-fetch "^2.6.1"
unfetch "^4.2.0" unfetch "^4.2.0"
mime-db@1.43.0: make-error@^1.1.1:
version "1.43.0" version "1.3.6"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ== integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
mime-db@1.47.0:
version "1.47.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c"
integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==
mime-types@^2.1.12: mime-types@^2.1.12:
version "2.1.27" version "2.1.30"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.30.tgz#6e7be8b4c479825f85ed6326695db73f9305d62d"
integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== integrity sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==
dependencies: dependencies:
mime-db "1.44.0" mime-db "1.47.0"
node-fetch@^2.6.1: node-fetch@^2.6.1:
version "2.6.1" version "2.6.1"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
source-map-support@^0.5.17:
version "0.5.19"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
dependencies:
buffer-from "^1.0.0"
source-map "^0.6.0"
source-map@^0.6.0:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
ts-node@^9.1.1:
version "9.1.1"
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d"
integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==
dependencies:
arg "^4.1.0"
create-require "^1.1.0"
diff "^4.0.1"
make-error "^1.1.1"
source-map-support "^0.5.17"
yn "3.1.1"
typescript@^4.1.3: typescript@^4.1.3:
version "4.1.3" version "4.2.4"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961"
integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg== integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==
unfetch@^4.2.0: unfetch@^4.2.0:
version "4.2.0" version "4.2.0"
resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be" resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be"
integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==
yn@3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==