@blizzard-api/hs 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +121 -83
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
import { Locales, Resource } from '@blizzard-api/core';
|
|
2
2
|
|
|
3
|
+
type GameMode$1 = 'arena' | 'battlegrounds' | 'classic' | 'constructed' | 'duels' | 'mercenaries' | 'standard';
|
|
4
|
+
type SearchSortOption = `${SortOptions}:${SortDirection}`;
|
|
3
5
|
type SortDirection = 'asc' | 'desc';
|
|
4
6
|
type SortOptions = 'attack' | 'class' | 'dataAdded' | 'groupByClass' | 'health' | 'manaCost' | 'name';
|
|
5
|
-
type SearchSortOption = `${SortOptions}:${SortDirection}`;
|
|
6
|
-
type GameMode$1 = 'arena' | 'battlegrounds' | 'classic' | 'constructed' | 'duels' | 'mercenaries' | 'standard';
|
|
7
7
|
|
|
8
|
+
interface CardBackSearchParameters {
|
|
9
|
+
cardBackCategory?: 'achieve' | 'base' | 'blizzard' | 'esports' | 'events' | 'fireside' | 'game_license' | 'golden' | 'heroes' | 'legend' | 'pre_purchase' | 'promotion' | 'season';
|
|
10
|
+
locale?: Locales;
|
|
11
|
+
page?: number;
|
|
12
|
+
pageSize?: number;
|
|
13
|
+
sort?: SearchSortOption;
|
|
14
|
+
textFilter?: string;
|
|
15
|
+
}
|
|
8
16
|
interface CardBackSearchResponse {
|
|
9
17
|
cardBacks: Array<SingleCardBackSearchResponse>;
|
|
10
18
|
cardCount: number;
|
|
@@ -19,26 +27,75 @@ interface SingleCardBackSearchResponse {
|
|
|
19
27
|
sortCategory: number;
|
|
20
28
|
text: Record<Locales, string> | string;
|
|
21
29
|
}
|
|
22
|
-
interface CardBackSearchParameters {
|
|
23
|
-
cardBackCategory?: 'achieve' | 'base' | 'blizzard' | 'esports' | 'events' | 'fireside' | 'game_license' | 'golden' | 'heroes' | 'legend' | 'pre_purchase' | 'promotion' | 'season';
|
|
24
|
-
locale?: Locales;
|
|
25
|
-
page?: number;
|
|
26
|
-
pageSize?: number;
|
|
27
|
-
sort?: SearchSortOption;
|
|
28
|
-
textFilter?: string;
|
|
29
|
-
}
|
|
30
30
|
|
|
31
|
+
/**
|
|
32
|
+
* Returns a list of card backs based on the search parameters provided.
|
|
33
|
+
* @param options The options for fetching card backs. See {@link CardBackSearchParameters}.
|
|
34
|
+
* @returns The card back search resource. See {@link CardBackSearchResponse}.
|
|
35
|
+
*/
|
|
31
36
|
declare function cardBackSearch(options: CardBackSearchParameters): Resource<CardBackSearchResponse, CardBackSearchParameters>;
|
|
37
|
+
/**
|
|
38
|
+
* Returns a single card back based on the ID provided.
|
|
39
|
+
* @param id The card back ID
|
|
40
|
+
* @param locale The locale to use for fetching the card back (optional).
|
|
41
|
+
* @returns The card back resource. See {@link SingleCardBackSearchResponse}.
|
|
42
|
+
*/
|
|
32
43
|
declare function fetchOneCardBack(id: string, locale?: Locales): Resource<SingleCardBackSearchResponse, {
|
|
33
44
|
locale?: Locales;
|
|
34
45
|
}>;
|
|
35
46
|
|
|
47
|
+
interface BlizzardCardSearchParameters extends BaseSearchParameters {
|
|
48
|
+
attack?: string;
|
|
49
|
+
defaultMercenary?: string;
|
|
50
|
+
health?: string;
|
|
51
|
+
mercenaryId?: string;
|
|
52
|
+
}
|
|
53
|
+
interface CardSearchParameters extends BaseSearchParameters {
|
|
54
|
+
attack?: Array<number> | number;
|
|
55
|
+
defaultMercenary?: Array<number> | number;
|
|
56
|
+
health?: Array<number> | number;
|
|
57
|
+
mercenaryId?: Array<number> | number;
|
|
58
|
+
}
|
|
36
59
|
interface CardSearchResponse {
|
|
37
60
|
cardCount: number;
|
|
38
61
|
cards: Array<Card$1>;
|
|
39
62
|
page: number;
|
|
40
63
|
pageCount: number;
|
|
41
64
|
}
|
|
65
|
+
interface FetchOneCardResponse {
|
|
66
|
+
artistName: string;
|
|
67
|
+
attack: number;
|
|
68
|
+
cardSetId: number;
|
|
69
|
+
cardTypeId: number;
|
|
70
|
+
classId: number;
|
|
71
|
+
collectible: number;
|
|
72
|
+
cropImage: string;
|
|
73
|
+
flavorText: Record<Locales, string> | string;
|
|
74
|
+
health: number;
|
|
75
|
+
id: number;
|
|
76
|
+
image: Record<Locales, string> | string;
|
|
77
|
+
imageGold: Record<Locales, string> | string;
|
|
78
|
+
isZilliaxCosmeticModule: boolean;
|
|
79
|
+
isZilliaxFunctionalModule: boolean;
|
|
80
|
+
keywordIds: Array<number>;
|
|
81
|
+
manaCost: number;
|
|
82
|
+
multiClassIds: Array<number>;
|
|
83
|
+
name: Record<Locales, string> | string;
|
|
84
|
+
rarityId: number;
|
|
85
|
+
slug: string;
|
|
86
|
+
text: Record<Locales, string> | string;
|
|
87
|
+
}
|
|
88
|
+
interface BaseSearchParameters {
|
|
89
|
+
gameMode?: GameMode$1;
|
|
90
|
+
locale?: Locales;
|
|
91
|
+
mercenaryRole?: string;
|
|
92
|
+
minionType?: string;
|
|
93
|
+
page?: number;
|
|
94
|
+
pageSize?: number;
|
|
95
|
+
sort?: 'attack:asc' | 'attack:desc' | 'health:asc' | 'health:desc' | 'name:asc' | 'name:desc' | 'tier:asc' | 'tier:desc';
|
|
96
|
+
textFilter?: string;
|
|
97
|
+
tier?: 1 | 2 | 3 | 4 | 5 | 6 | 'hero';
|
|
98
|
+
}
|
|
42
99
|
interface Card$1 {
|
|
43
100
|
artistName: null | string;
|
|
44
101
|
attack: number;
|
|
@@ -78,54 +135,21 @@ interface StatsByLevel {
|
|
|
78
135
|
attack: number;
|
|
79
136
|
health: number;
|
|
80
137
|
}
|
|
81
|
-
interface CardSearchParameters extends BaseSearchParameters {
|
|
82
|
-
attack?: Array<number> | number;
|
|
83
|
-
defaultMercenary?: Array<number> | number;
|
|
84
|
-
health?: Array<number> | number;
|
|
85
|
-
mercenaryId?: Array<number> | number;
|
|
86
|
-
}
|
|
87
|
-
interface BlizzardCardSearchParameters extends BaseSearchParameters {
|
|
88
|
-
attack?: string;
|
|
89
|
-
defaultMercenary?: string;
|
|
90
|
-
health?: string;
|
|
91
|
-
mercenaryId?: string;
|
|
92
|
-
}
|
|
93
|
-
interface BaseSearchParameters {
|
|
94
|
-
gameMode?: GameMode$1;
|
|
95
|
-
locale?: Locales;
|
|
96
|
-
mercenaryRole?: string;
|
|
97
|
-
minionType?: string;
|
|
98
|
-
page?: number;
|
|
99
|
-
pageSize?: number;
|
|
100
|
-
sort?: 'attack:asc' | 'attack:desc' | 'health:asc' | 'health:desc' | 'name:asc' | 'name:desc' | 'tier:asc' | 'tier:desc';
|
|
101
|
-
textFilter?: string;
|
|
102
|
-
tier?: 'hero' | 1 | 2 | 3 | 4 | 5 | 6;
|
|
103
|
-
}
|
|
104
|
-
interface FetchOneCardResponse {
|
|
105
|
-
artistName: string;
|
|
106
|
-
attack: number;
|
|
107
|
-
cardSetId: number;
|
|
108
|
-
cardTypeId: number;
|
|
109
|
-
classId: number;
|
|
110
|
-
collectible: number;
|
|
111
|
-
cropImage: string;
|
|
112
|
-
flavorText: Record<Locales, string> | string;
|
|
113
|
-
health: number;
|
|
114
|
-
id: number;
|
|
115
|
-
image: Record<Locales, string> | string;
|
|
116
|
-
imageGold: Record<Locales, string> | string;
|
|
117
|
-
isZilliaxCosmeticModule: boolean;
|
|
118
|
-
isZilliaxFunctionalModule: boolean;
|
|
119
|
-
keywordIds: Array<number>;
|
|
120
|
-
manaCost: number;
|
|
121
|
-
multiClassIds: Array<number>;
|
|
122
|
-
name: Record<Locales, string> | string;
|
|
123
|
-
rarityId: number;
|
|
124
|
-
slug: string;
|
|
125
|
-
text: Record<Locales, string> | string;
|
|
126
|
-
}
|
|
127
138
|
|
|
139
|
+
/**
|
|
140
|
+
* Returns a list of cards based on the search parameters provided.
|
|
141
|
+
* @param options The options for fetching cards. See {@link CardSearchParameters}.
|
|
142
|
+
* @returns The card search resource. See {@link CardSearchResponse}.
|
|
143
|
+
*/
|
|
128
144
|
declare function cardSearch(options: CardSearchParameters): Resource<CardSearchResponse, BlizzardCardSearchParameters>;
|
|
145
|
+
/**
|
|
146
|
+
* Returns a single card based on the ID provided.
|
|
147
|
+
* @param id The card ID
|
|
148
|
+
* @param options The options for fetching a card.
|
|
149
|
+
* @param options.gameMode The game mode to use for fetching the card (optional).
|
|
150
|
+
* @param options.locale The locale to use for fetching the card (optional).
|
|
151
|
+
* @returns The card resource. See {@link FetchOneCardResponse}.
|
|
152
|
+
*/
|
|
129
153
|
declare function fetchOneCard(id: string, options?: {
|
|
130
154
|
gameMode?: GameMode$1;
|
|
131
155
|
locale?: Locales;
|
|
@@ -134,12 +158,6 @@ declare function fetchOneCard(id: string, options?: {
|
|
|
134
158
|
locale?: Locales;
|
|
135
159
|
}>;
|
|
136
160
|
|
|
137
|
-
type DeckSearchParameters = {
|
|
138
|
-
code: string;
|
|
139
|
-
} | {
|
|
140
|
-
hero?: string;
|
|
141
|
-
ids: string;
|
|
142
|
-
};
|
|
143
161
|
interface DeckResponse {
|
|
144
162
|
cardCount: number;
|
|
145
163
|
cards: Array<Card>;
|
|
@@ -150,6 +168,12 @@ interface DeckResponse {
|
|
|
150
168
|
heroPower: Hero;
|
|
151
169
|
version: number;
|
|
152
170
|
}
|
|
171
|
+
type DeckSearchParameters = {
|
|
172
|
+
code: string;
|
|
173
|
+
} | {
|
|
174
|
+
hero?: string;
|
|
175
|
+
ids: string;
|
|
176
|
+
};
|
|
153
177
|
interface Card {
|
|
154
178
|
armor?: number;
|
|
155
179
|
artistName: string;
|
|
@@ -206,6 +230,11 @@ interface Hero {
|
|
|
206
230
|
text: string;
|
|
207
231
|
}
|
|
208
232
|
|
|
233
|
+
/**
|
|
234
|
+
* Returns a deck based on the code provided.
|
|
235
|
+
* @param options The options for fetching a deck.
|
|
236
|
+
* @returns The deck resource. See {@link DeckResponse}.
|
|
237
|
+
*/
|
|
209
238
|
declare function getDeck(options: {
|
|
210
239
|
code: string;
|
|
211
240
|
} | {
|
|
@@ -239,9 +268,15 @@ interface AllMetadataResponse {
|
|
|
239
268
|
spellSchools: Array<GameMode>;
|
|
240
269
|
types: Array<GameMode>;
|
|
241
270
|
}
|
|
242
|
-
interface
|
|
243
|
-
|
|
271
|
+
interface SpecificMetadataResponse extends NameId {
|
|
272
|
+
aliasSetIds?: Array<number>;
|
|
273
|
+
collectibleCount: number;
|
|
274
|
+
collectibleRevealedCount: number;
|
|
275
|
+
hyped: boolean;
|
|
276
|
+
nonCollectibleCount: number;
|
|
277
|
+
nonCollectibleRevealedCount: number;
|
|
244
278
|
slug: string;
|
|
279
|
+
type: SetType;
|
|
245
280
|
}
|
|
246
281
|
interface Class {
|
|
247
282
|
alternateHeroCardIds?: Array<number>;
|
|
@@ -251,6 +286,10 @@ interface Class {
|
|
|
251
286
|
name: string;
|
|
252
287
|
slug: string;
|
|
253
288
|
}
|
|
289
|
+
interface GameMode extends NameId {
|
|
290
|
+
gameModes?: Array<number>;
|
|
291
|
+
slug: string;
|
|
292
|
+
}
|
|
254
293
|
interface Keyword extends NameId {
|
|
255
294
|
gameModes: Array<number>;
|
|
256
295
|
refText: string;
|
|
@@ -262,17 +301,6 @@ interface Rarity extends NameId {
|
|
|
262
301
|
dustValue: Array<null | number>;
|
|
263
302
|
slug: string;
|
|
264
303
|
}
|
|
265
|
-
interface SetGroup {
|
|
266
|
-
cardSets: Array<string>;
|
|
267
|
-
icon?: string;
|
|
268
|
-
name: string;
|
|
269
|
-
slug: string;
|
|
270
|
-
standard?: boolean;
|
|
271
|
-
svg?: null | string;
|
|
272
|
-
year?: number;
|
|
273
|
-
yearRange?: string;
|
|
274
|
-
}
|
|
275
|
-
type SetType = '' | 'adventure' | 'base' | 'expansion';
|
|
276
304
|
interface Set extends NameId {
|
|
277
305
|
aliasSetIds?: Array<number>;
|
|
278
306
|
collectibleCount: number;
|
|
@@ -283,18 +311,28 @@ interface Set extends NameId {
|
|
|
283
311
|
slug: string;
|
|
284
312
|
type: SetType;
|
|
285
313
|
}
|
|
286
|
-
interface
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
hyped: boolean;
|
|
291
|
-
nonCollectibleCount: number;
|
|
292
|
-
nonCollectibleRevealedCount: number;
|
|
314
|
+
interface SetGroup {
|
|
315
|
+
cardSets: Array<string>;
|
|
316
|
+
icon?: string;
|
|
317
|
+
name: string;
|
|
293
318
|
slug: string;
|
|
294
|
-
|
|
319
|
+
standard?: boolean;
|
|
320
|
+
svg?: null | string;
|
|
321
|
+
year?: number;
|
|
322
|
+
yearRange?: string;
|
|
295
323
|
}
|
|
324
|
+
type SetType = '' | 'adventure' | 'base' | 'expansion';
|
|
296
325
|
|
|
326
|
+
/**
|
|
327
|
+
* Returns all metadata
|
|
328
|
+
* @returns The all metadata resource. See {@link AllMetadataResponse}.
|
|
329
|
+
*/
|
|
297
330
|
declare function allMetadata(): Resource<AllMetadataResponse>;
|
|
331
|
+
/**
|
|
332
|
+
* Returns specific metadata based on the type requested.
|
|
333
|
+
* @param type The type of metadata to retrieve.
|
|
334
|
+
* @returns The specific metadata resource. See {@link SpecificMetadataResponse}.
|
|
335
|
+
*/
|
|
298
336
|
declare function specificMetadata(type: 'classes' | 'keywords' | 'minionTypes' | 'rarities' | 'setGroups' | 'sets' | 'types'): Resource<SpecificMetadataResponse>;
|
|
299
337
|
|
|
300
338
|
declare const hs: {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/card-backs/card-backs.ts","../src/cards/cards.ts","../src/decks/decks.ts","../src/metadata/metadata.ts","../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"sources":["../src/card-backs/card-backs.ts","../src/cards/cards.ts","../src/decks/decks.ts","../src/metadata/metadata.ts","../src/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import type { Locales, Resource } from '@blizzard-api/core';\r\nimport type { CardBackSearchParameters, CardBackSearchResponse, SingleCardBackSearchResponse } from './types';\r\n\r\n/**\r\n * Returns a list of card backs based on the search parameters provided.\r\n * @param options The options for fetching card backs. See {@link CardBackSearchParameters}.\r\n * @returns The card back search resource. See {@link CardBackSearchResponse}.\r\n */\r\nexport function cardBackSearch(\r\n options: CardBackSearchParameters,\r\n): Resource<CardBackSearchResponse, CardBackSearchParameters> {\r\n return {\r\n parameters: options,\r\n path: 'hearthstone/cardbacks',\r\n };\r\n}\r\n\r\n/**\r\n * Returns a single card back based on the ID provided.\r\n * @param id The card back ID\r\n * @param locale The locale to use for fetching the card back (optional).\r\n * @returns The card back resource. See {@link SingleCardBackSearchResponse}.\r\n */\r\nexport function fetchOneCardBack(\r\n id: string,\r\n locale?: Locales,\r\n): Resource<SingleCardBackSearchResponse, { locale?: Locales }> {\r\n return {\r\n parameters: { locale },\r\n path: `hearthstone/cardbacks/${id}`,\r\n };\r\n}\r\n","import type { Locales, Resource } from '@blizzard-api/core';\r\nimport type { GameMode } from '../base';\r\nimport type {\r\n BlizzardCardSearchParameters,\r\n CardSearchParameters,\r\n CardSearchResponse,\r\n FetchOneCardResponse,\r\n} from './types';\r\n\r\n/**\r\n * Returns a list of cards based on the search parameters provided.\r\n * @param options The options for fetching cards. See {@link CardSearchParameters}.\r\n * @returns The card search resource. See {@link CardSearchResponse}.\r\n */\r\nexport function cardSearch(options: CardSearchParameters): Resource<CardSearchResponse, BlizzardCardSearchParameters> {\r\n let attack: string | undefined = undefined;\r\n let defaultMercenary: string | undefined = undefined;\r\n let health: string | undefined = undefined;\r\n let mercenaryId: string | undefined = undefined;\r\n\r\n if (options.attack) {\r\n attack = Array.isArray(options.attack) ? options.attack.join(',') : `${options.attack}`;\r\n }\r\n if (options.defaultMercenary) {\r\n defaultMercenary = Array.isArray(options.defaultMercenary)\r\n ? options.defaultMercenary.join(',')\r\n : `${options.defaultMercenary}`;\r\n }\r\n if (options.health) {\r\n health = Array.isArray(options.health) ? options.health.join(',') : `${options.health}`;\r\n }\r\n if (options.mercenaryId) {\r\n mercenaryId = Array.isArray(options.mercenaryId) ? options.mercenaryId.join(',') : `${options.mercenaryId}`;\r\n }\r\n\r\n return {\r\n parameters: {\r\n ...options,\r\n attack,\r\n defaultMercenary,\r\n health,\r\n mercenaryId,\r\n },\r\n path: 'hearthstone/cards',\r\n };\r\n}\r\n\r\n/**\r\n * Returns a single card based on the ID provided.\r\n * @param id The card ID\r\n * @param options The options for fetching a card.\r\n * @param options.gameMode The game mode to use for fetching the card (optional).\r\n * @param options.locale The locale to use for fetching the card (optional).\r\n * @returns The card resource. See {@link FetchOneCardResponse}.\r\n */\r\nexport function fetchOneCard(\r\n id: string,\r\n options?: {\r\n gameMode?: GameMode;\r\n locale?: Locales;\r\n },\r\n): Resource<FetchOneCardResponse, { gameMode?: GameMode; locale?: Locales }> {\r\n const { gameMode = 'constructed', locale } = options ?? {};\r\n return {\r\n parameters: { gameMode, locale },\r\n path: `hearthstone/cards/${id}`,\r\n };\r\n}\r\n","import type { Resource } from '@blizzard-api/core';\r\nimport type { DeckResponse, DeckSearchParameters } from './types';\r\n\r\n/**\r\n * Returns a deck based on the code provided.\r\n * @param options The options for fetching a deck.\r\n * @returns The deck resource. See {@link DeckResponse}.\r\n */\r\nexport function getDeck(\r\n options: { code: string } | { hero?: string; ids: Array<string> },\r\n): Resource<DeckResponse, DeckSearchParameters> {\r\n if ('code' in options) {\r\n return {\r\n parameters: {\r\n code: encodeURI(options.code),\r\n },\r\n path: 'hearthstone/deck',\r\n };\r\n }\r\n\r\n return {\r\n parameters: {\r\n hero: options.hero,\r\n ids: options.ids?.join(','),\r\n },\r\n path: 'hearthstone/deck',\r\n };\r\n}\r\n","import type { Resource } from '@blizzard-api/core';\r\nimport type { AllMetadataResponse, SpecificMetadataResponse } from './types';\r\n\r\n/**\r\n * Returns all metadata\r\n * @returns The all metadata resource. See {@link AllMetadataResponse}.\r\n */\r\nexport function allMetadata(): Resource<AllMetadataResponse> {\r\n return {\r\n path: 'hearthstone/metadata',\r\n };\r\n}\r\n\r\n/**\r\n * Returns specific metadata based on the type requested.\r\n * @param type The type of metadata to retrieve.\r\n * @returns The specific metadata resource. See {@link SpecificMetadataResponse}.\r\n */\r\nexport function specificMetadata(\r\n type: 'classes' | 'keywords' | 'minionTypes' | 'rarities' | 'setGroups' | 'sets' | 'types',\r\n): Resource<SpecificMetadataResponse> {\r\n return {\r\n path: `hearthstone/metadata/${type}`,\r\n };\r\n}\r\n","import { cardBackSearch, fetchOneCardBack } from './card-backs/card-backs';\r\nimport { cardSearch, fetchOneCard } from './cards/cards';\r\nimport { getDeck } from './decks/decks';\r\nimport { allMetadata, specificMetadata } from './metadata/metadata';\r\n\r\nconst hs = {\r\n //Card Backs\r\n cardBackSearch,\r\n fetchOneCardBack,\r\n //Cards\r\n cardSearch,\r\n fetchOneCard,\r\n //Decks\r\n getDeck,\r\n //Metadata\r\n allMetadata,\r\n specificMetadata,\r\n};\r\nexport { hs as default, hs };\r\n\r\n//Card Backs\r\nexport * from './card-backs/card-backs';\r\nexport type * from './card-backs/types';\r\n//Cards\r\nexport * from './cards/cards';\r\nexport type * from './cards/types';\r\n//Decks\r\nexport * from './decks/decks';\r\nexport type * from './decks/types';\r\n//Metadata\r\nexport * from './metadata/metadata';\r\nexport type * from './metadata/types';\r\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blizzard-api/hs",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Putro",
|
|
6
6
|
"description": "A series of helpers to interact with the Hearthstone Blizzard API",
|
|
@@ -32,10 +32,10 @@
|
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {},
|
|
34
34
|
"peerDependencies": {
|
|
35
|
-
"@blizzard-api/core": "2.0.
|
|
35
|
+
"@blizzard-api/core": "2.0.2"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@blizzard-api/core": "2.0.
|
|
38
|
+
"@blizzard-api/core": "2.0.2"
|
|
39
39
|
},
|
|
40
40
|
"scripts": {
|
|
41
41
|
"build": "tsup",
|