@blizzard-api/hs 1.0.4 → 2.0.0
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 +246 -246
- package/dist/index.js +104 -80
- package/dist/index.js.map +1 -1
- package/package.json +6 -6
package/dist/index.d.ts
CHANGED
|
@@ -1,33 +1,32 @@
|
|
|
1
|
-
import { Locales, Resource } from
|
|
2
|
-
|
|
3
|
-
type GameMode$1 = 'arena' | 'battlegrounds' | 'classic' | 'constructed' | 'duels' | 'mercenaries' | 'standard';
|
|
4
|
-
type SearchSortOption = `${SortOptions}:${SortDirection}`;
|
|
5
|
-
type SortDirection = 'asc' | 'desc';
|
|
6
|
-
type SortOptions = 'attack' | 'class' | 'dataAdded' | 'groupByClass' | 'health' | 'manaCost' | 'name';
|
|
1
|
+
import { Locales, NameId, Resource } from "@blizzard-api/core";
|
|
7
2
|
|
|
3
|
+
//#region src/card-backs/types.d.ts
|
|
8
4
|
interface CardBackSearchParameters {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
cardBackCategory?: 'achieve' | 'base' | 'blizzard' | 'esports' | 'events' | 'fireside' | 'game_license' | 'golden' | 'heroes' | 'legend' | 'pre_purchase' | 'promotion' | 'season';
|
|
6
|
+
locale?: Locales;
|
|
7
|
+
page?: number;
|
|
8
|
+
pageSize?: number;
|
|
9
|
+
sort?: `${SearchOptions}:${SortOptions}`;
|
|
10
|
+
textFilter?: string;
|
|
15
11
|
}
|
|
16
12
|
interface CardBackSearchResponse {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
cardBacks: Array<SingleCardBackSearchResponse>;
|
|
14
|
+
cardCount: number;
|
|
15
|
+
page: number;
|
|
16
|
+
pageCount: number;
|
|
21
17
|
}
|
|
18
|
+
type SearchOptions = 'attack' | 'class' | 'dataAdded' | 'groupByClass' | 'health' | 'manaCost' | 'name';
|
|
22
19
|
interface SingleCardBackSearchResponse {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
20
|
+
id: number;
|
|
21
|
+
image: string;
|
|
22
|
+
name: Record<Locales, string> | string;
|
|
23
|
+
slug: string;
|
|
24
|
+
sortCategory: number;
|
|
25
|
+
text: Record<Locales, string> | string;
|
|
29
26
|
}
|
|
30
|
-
|
|
27
|
+
type SortOptions = 'asc' | 'desc';
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region src/card-backs/card-backs.d.ts
|
|
31
30
|
/**
|
|
32
31
|
* Returns a list of card backs based on the search parameters provided.
|
|
33
32
|
* @param options The options for fetching card backs. See {@link CardBackSearchParameters}.
|
|
@@ -41,101 +40,104 @@ declare function cardBackSearch(options: CardBackSearchParameters): Resource<Car
|
|
|
41
40
|
* @returns The card back resource. See {@link SingleCardBackSearchResponse}.
|
|
42
41
|
*/
|
|
43
42
|
declare function fetchOneCardBack(id: string, locale?: Locales): Resource<SingleCardBackSearchResponse, {
|
|
44
|
-
|
|
43
|
+
locale?: Locales;
|
|
45
44
|
}>;
|
|
46
|
-
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region src/cards/types.d.ts
|
|
47
47
|
interface BlizzardCardSearchParameters extends BaseSearchParameters {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
attack?: string;
|
|
49
|
+
defaultMercenary?: string;
|
|
50
|
+
health?: string;
|
|
51
|
+
mercenaryId?: string;
|
|
52
52
|
}
|
|
53
53
|
interface CardSearchParameters extends BaseSearchParameters {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
54
|
+
attack?: Array<number> | number;
|
|
55
|
+
defaultMercenary?: Array<number> | number;
|
|
56
|
+
health?: Array<number> | number;
|
|
57
|
+
mercenaryId?: Array<number> | number;
|
|
58
58
|
}
|
|
59
59
|
interface CardSearchResponse {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
cardCount: number;
|
|
61
|
+
cards: Array<Card$1>;
|
|
62
|
+
page: number;
|
|
63
|
+
pageCount: number;
|
|
64
64
|
}
|
|
65
65
|
interface FetchOneCardResponse {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
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
87
|
}
|
|
88
|
+
type GameMode = 'arena' | 'battlegrounds' | 'classic' | 'constructed' | 'duels' | 'mercenaries' | 'standard';
|
|
88
89
|
interface BaseSearchParameters {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
90
|
+
gameMode?: GameMode;
|
|
91
|
+
locale?: Locales;
|
|
92
|
+
mercenaryRole?: string;
|
|
93
|
+
minionType?: string;
|
|
94
|
+
page?: number;
|
|
95
|
+
pageSize?: number;
|
|
96
|
+
sort?: 'attack:asc' | 'attack:desc' | 'health:asc' | 'health:desc' | 'name:asc' | 'name:desc' | 'tier:asc' | 'tier:desc';
|
|
97
|
+
textFilter?: string;
|
|
98
|
+
tier?: 1 | 2 | 3 | 4 | 5 | 6 | 'hero';
|
|
98
99
|
}
|
|
99
100
|
interface Card$1 {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
101
|
+
artistName: null | string;
|
|
102
|
+
attack: number;
|
|
103
|
+
cardSetId: number;
|
|
104
|
+
cardTypeId: number;
|
|
105
|
+
classId: null | number;
|
|
106
|
+
collectible: number;
|
|
107
|
+
cropImage: null | string;
|
|
108
|
+
flavorText: string;
|
|
109
|
+
health: number;
|
|
110
|
+
id: number;
|
|
111
|
+
image: string;
|
|
112
|
+
imageGold: string;
|
|
113
|
+
isZilliaxCosmeticModule: boolean;
|
|
114
|
+
isZilliaxFunctionalModule: boolean;
|
|
115
|
+
manaCost: number;
|
|
116
|
+
mercenaryHero: MercenaryHero;
|
|
117
|
+
minionTypeId: number;
|
|
118
|
+
multiClassIds: Array<number>;
|
|
119
|
+
multiTypeIds?: Array<number>;
|
|
120
|
+
name: string;
|
|
121
|
+
rarityId: number;
|
|
122
|
+
slug: string;
|
|
123
|
+
text: string;
|
|
123
124
|
}
|
|
124
125
|
interface MercenaryHero {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
126
|
+
collectible: number;
|
|
127
|
+
craftingCost: number;
|
|
128
|
+
default: number;
|
|
129
|
+
faction: null | number;
|
|
130
|
+
mercId: number;
|
|
131
|
+
rarity: number;
|
|
132
|
+
roleId: number;
|
|
133
|
+
statsByLevel: Record<string, StatsByLevel>;
|
|
133
134
|
}
|
|
134
135
|
interface StatsByLevel {
|
|
135
|
-
|
|
136
|
-
|
|
136
|
+
attack: number;
|
|
137
|
+
health: number;
|
|
137
138
|
}
|
|
138
|
-
|
|
139
|
+
//#endregion
|
|
140
|
+
//#region src/cards/cards.d.ts
|
|
139
141
|
/**
|
|
140
142
|
* Returns a list of cards based on the search parameters provided.
|
|
141
143
|
* @param options The options for fetching cards. See {@link CardSearchParameters}.
|
|
@@ -151,178 +153,174 @@ declare function cardSearch(options: CardSearchParameters): Resource<CardSearchR
|
|
|
151
153
|
* @returns The card resource. See {@link FetchOneCardResponse}.
|
|
152
154
|
*/
|
|
153
155
|
declare function fetchOneCard(id: string, options?: {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
+
gameMode?: GameMode;
|
|
157
|
+
locale?: Locales;
|
|
156
158
|
}): Resource<FetchOneCardResponse, {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
+
gameMode?: GameMode;
|
|
160
|
+
locale?: Locales;
|
|
159
161
|
}>;
|
|
160
|
-
|
|
162
|
+
//#endregion
|
|
163
|
+
//#region src/decks/types.d.ts
|
|
161
164
|
interface DeckResponse {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
165
|
+
cardCount: number;
|
|
166
|
+
cards: Array<Card>;
|
|
167
|
+
class: Class$1;
|
|
168
|
+
deckCode: string;
|
|
169
|
+
format: string;
|
|
170
|
+
hero: Hero;
|
|
171
|
+
heroPower: Hero;
|
|
172
|
+
version: number;
|
|
170
173
|
}
|
|
171
174
|
type DeckSearchParameters = {
|
|
172
|
-
|
|
175
|
+
code: string;
|
|
173
176
|
} | {
|
|
174
|
-
|
|
175
|
-
|
|
177
|
+
hero?: string;
|
|
178
|
+
ids: string;
|
|
176
179
|
};
|
|
177
180
|
interface Card {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
181
|
+
armor?: number;
|
|
182
|
+
artistName: string;
|
|
183
|
+
attack?: number;
|
|
184
|
+
bannedFromSideboard?: number;
|
|
185
|
+
cardSetId: number;
|
|
186
|
+
cardTypeId: number;
|
|
187
|
+
childIds?: Array<number>;
|
|
188
|
+
classId: number;
|
|
189
|
+
collectible: number;
|
|
190
|
+
cropImage: string;
|
|
191
|
+
flavorText: string;
|
|
192
|
+
health?: number;
|
|
193
|
+
id: number;
|
|
194
|
+
image: string;
|
|
195
|
+
imageGold: string;
|
|
196
|
+
isZilliaxCosmeticModule: boolean;
|
|
197
|
+
isZilliaxFunctionalModule: boolean;
|
|
198
|
+
keywordIds?: Array<number>;
|
|
199
|
+
manaCost: number;
|
|
200
|
+
minionTypeId?: number;
|
|
201
|
+
multiClassIds: Array<number>;
|
|
202
|
+
name: string;
|
|
203
|
+
rarityId: number;
|
|
204
|
+
slug: string;
|
|
205
|
+
spellSchoolId?: number;
|
|
206
|
+
text: string;
|
|
204
207
|
}
|
|
205
208
|
interface Class$1 {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
+
id: number;
|
|
210
|
+
name: string;
|
|
211
|
+
slug: string;
|
|
209
212
|
}
|
|
210
213
|
interface Hero {
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
214
|
+
artistName: null | string;
|
|
215
|
+
cardSetId: number;
|
|
216
|
+
cardTypeId: number;
|
|
217
|
+
classId: number;
|
|
218
|
+
collectible: number;
|
|
219
|
+
cropImage: null;
|
|
220
|
+
flavorText: string;
|
|
221
|
+
health?: number;
|
|
222
|
+
id: number;
|
|
223
|
+
image: string;
|
|
224
|
+
imageGold: string;
|
|
225
|
+
isZilliaxCosmeticModule: boolean;
|
|
226
|
+
isZilliaxFunctionalModule: boolean;
|
|
227
|
+
manaCost: number;
|
|
228
|
+
multiClassIds: Array<number>;
|
|
229
|
+
name: string;
|
|
230
|
+
parentId: number;
|
|
231
|
+
rarityId: null | number;
|
|
232
|
+
slug: string;
|
|
233
|
+
text: string;
|
|
231
234
|
}
|
|
232
|
-
|
|
235
|
+
//#endregion
|
|
236
|
+
//#region src/decks/decks.d.ts
|
|
233
237
|
/**
|
|
234
238
|
* Returns a deck based on the code provided.
|
|
235
239
|
* @param options The options for fetching a deck.
|
|
236
240
|
* @returns The deck resource. See {@link DeckResponse}.
|
|
237
241
|
*/
|
|
238
242
|
declare function getDeck(options: {
|
|
239
|
-
|
|
243
|
+
code: string;
|
|
240
244
|
} | {
|
|
241
|
-
|
|
242
|
-
|
|
245
|
+
hero?: string;
|
|
246
|
+
ids: Array<string>;
|
|
243
247
|
}): Resource<DeckResponse, DeckSearchParameters>;
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
* Base record interface containing name and id properties that often appear together in Blizzard API responses.
|
|
247
|
-
*/
|
|
248
|
-
interface NameId {
|
|
249
|
-
id: number;
|
|
250
|
-
name: string;
|
|
251
|
-
}
|
|
252
|
-
|
|
248
|
+
//#endregion
|
|
249
|
+
//#region src/metadata/types.d.ts
|
|
253
250
|
interface AllMetadataResponse {
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
251
|
+
arenaIds: Array<number>;
|
|
252
|
+
bgGameModes: Array<GameMode$1>;
|
|
253
|
+
cardBackCategories: Array<GameMode$1>;
|
|
254
|
+
classes: Array<Class>;
|
|
255
|
+
filterableFields: Array<string>;
|
|
256
|
+
gameModes: Array<GameMode$1>;
|
|
257
|
+
keywords: Array<Keyword>;
|
|
258
|
+
mercenaryFactions: Array<GameMode$1>;
|
|
259
|
+
mercenaryRoles: Array<GameMode$1>;
|
|
260
|
+
minionTypes: Array<GameMode$1>;
|
|
261
|
+
numericFields: Array<string>;
|
|
262
|
+
rarities: Array<Rarity>;
|
|
263
|
+
setGroups: Array<SetGroup>;
|
|
264
|
+
sets: Array<Set>;
|
|
265
|
+
spellSchools: Array<GameMode$1>;
|
|
266
|
+
types: Array<GameMode$1>;
|
|
270
267
|
}
|
|
271
268
|
interface SpecificMetadataResponse extends NameId {
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
269
|
+
aliasSetIds?: Array<number>;
|
|
270
|
+
collectibleCount: number;
|
|
271
|
+
collectibleRevealedCount: number;
|
|
272
|
+
hyped: boolean;
|
|
273
|
+
nonCollectibleCount: number;
|
|
274
|
+
nonCollectibleRevealedCount: number;
|
|
275
|
+
slug: string;
|
|
276
|
+
type: SetType;
|
|
280
277
|
}
|
|
281
278
|
interface Class {
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
279
|
+
alternateHeroCardIds?: Array<number>;
|
|
280
|
+
cardId?: number;
|
|
281
|
+
heroPowerCardId?: number;
|
|
282
|
+
id: number;
|
|
283
|
+
name: string;
|
|
284
|
+
slug: string;
|
|
288
285
|
}
|
|
289
|
-
interface GameMode extends NameId {
|
|
290
|
-
|
|
291
|
-
|
|
286
|
+
interface GameMode$1 extends NameId {
|
|
287
|
+
gameModes?: Array<number>;
|
|
288
|
+
slug: string;
|
|
292
289
|
}
|
|
293
290
|
interface Keyword extends NameId {
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
291
|
+
gameModes: Array<number>;
|
|
292
|
+
refText: string;
|
|
293
|
+
slug: string;
|
|
294
|
+
text: string;
|
|
298
295
|
}
|
|
299
296
|
interface Rarity extends NameId {
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
297
|
+
craftingCost: Array<null | number>;
|
|
298
|
+
dustValue: Array<null | number>;
|
|
299
|
+
slug: string;
|
|
303
300
|
}
|
|
304
301
|
interface Set extends NameId {
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
302
|
+
aliasSetIds?: Array<number>;
|
|
303
|
+
collectibleCount: number;
|
|
304
|
+
collectibleRevealedCount: number;
|
|
305
|
+
hyped: boolean;
|
|
306
|
+
nonCollectibleCount: number;
|
|
307
|
+
nonCollectibleRevealedCount: number;
|
|
308
|
+
slug: string;
|
|
309
|
+
type: SetType;
|
|
313
310
|
}
|
|
314
311
|
interface SetGroup {
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
312
|
+
cardSets: Array<string>;
|
|
313
|
+
icon?: string;
|
|
314
|
+
name: string;
|
|
315
|
+
slug: string;
|
|
316
|
+
standard?: boolean;
|
|
317
|
+
svg?: null | string;
|
|
318
|
+
year?: number;
|
|
319
|
+
yearRange?: string;
|
|
323
320
|
}
|
|
324
321
|
type SetType = '' | 'adventure' | 'base' | 'expansion';
|
|
325
|
-
|
|
322
|
+
//#endregion
|
|
323
|
+
//#region src/metadata/metadata.d.ts
|
|
326
324
|
/**
|
|
327
325
|
* Returns all metadata
|
|
328
326
|
* @returns The all metadata resource. See {@link AllMetadataResponse}.
|
|
@@ -334,15 +332,17 @@ declare function allMetadata(): Resource<AllMetadataResponse>;
|
|
|
334
332
|
* @returns The specific metadata resource. See {@link SpecificMetadataResponse}.
|
|
335
333
|
*/
|
|
336
334
|
declare function specificMetadata(type: 'classes' | 'keywords' | 'minionTypes' | 'rarities' | 'setGroups' | 'sets' | 'types'): Resource<SpecificMetadataResponse>;
|
|
337
|
-
|
|
335
|
+
//#endregion
|
|
336
|
+
//#region src/index.d.ts
|
|
338
337
|
declare const hs: {
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
338
|
+
cardBackSearch: typeof cardBackSearch;
|
|
339
|
+
fetchOneCardBack: typeof fetchOneCardBack;
|
|
340
|
+
cardSearch: typeof cardSearch;
|
|
341
|
+
fetchOneCard: typeof fetchOneCard;
|
|
342
|
+
getDeck: typeof getDeck;
|
|
343
|
+
allMetadata: typeof allMetadata;
|
|
344
|
+
specificMetadata: typeof specificMetadata;
|
|
346
345
|
};
|
|
347
|
-
|
|
348
|
-
export {
|
|
346
|
+
//#endregion
|
|
347
|
+
export { AllMetadataResponse, BlizzardCardSearchParameters, CardBackSearchParameters, CardBackSearchResponse, CardSearchParameters, CardSearchResponse, DeckResponse, DeckSearchParameters, FetchOneCardResponse, GameMode, SearchOptions, SingleCardBackSearchResponse, SortOptions, SpecificMetadataResponse, allMetadata, cardBackSearch, cardSearch, hs as default, hs, fetchOneCard, fetchOneCardBack, getDeck, specificMetadata };
|
|
348
|
+
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,101 +1,125 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/card-backs/card-backs.ts
|
|
2
|
+
/**
|
|
3
|
+
* Returns a list of card backs based on the search parameters provided.
|
|
4
|
+
* @param options The options for fetching card backs. See {@link CardBackSearchParameters}.
|
|
5
|
+
* @returns The card back search resource. See {@link CardBackSearchResponse}.
|
|
6
|
+
*/
|
|
2
7
|
function cardBackSearch(options) {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
8
|
+
return {
|
|
9
|
+
parameters: options,
|
|
10
|
+
path: "hearthstone/cardbacks"
|
|
11
|
+
};
|
|
7
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Returns a single card back based on the ID provided.
|
|
15
|
+
* @param id The card back ID
|
|
16
|
+
* @param locale The locale to use for fetching the card back (optional).
|
|
17
|
+
* @returns The card back resource. See {@link SingleCardBackSearchResponse}.
|
|
18
|
+
*/
|
|
8
19
|
function fetchOneCardBack(id, locale) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
20
|
+
return {
|
|
21
|
+
parameters: { locale },
|
|
22
|
+
path: `hearthstone/cardbacks/${id}`
|
|
23
|
+
};
|
|
13
24
|
}
|
|
14
25
|
|
|
15
|
-
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region src/cards/cards.ts
|
|
28
|
+
/**
|
|
29
|
+
* Returns a list of cards based on the search parameters provided.
|
|
30
|
+
* @param options The options for fetching cards. See {@link CardSearchParameters}.
|
|
31
|
+
* @returns The card search resource. See {@link CardSearchResponse}.
|
|
32
|
+
*/
|
|
16
33
|
function cardSearch(options) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
...options,
|
|
36
|
-
attack,
|
|
37
|
-
defaultMercenary,
|
|
38
|
-
health,
|
|
39
|
-
mercenaryId
|
|
40
|
-
},
|
|
41
|
-
path: "hearthstone/cards"
|
|
42
|
-
};
|
|
34
|
+
let attack = void 0;
|
|
35
|
+
let defaultMercenary = void 0;
|
|
36
|
+
let health = void 0;
|
|
37
|
+
let mercenaryId = void 0;
|
|
38
|
+
if (options.attack) attack = Array.isArray(options.attack) ? options.attack.join(",") : `${options.attack}`;
|
|
39
|
+
if (options.defaultMercenary) defaultMercenary = Array.isArray(options.defaultMercenary) ? options.defaultMercenary.join(",") : `${options.defaultMercenary}`;
|
|
40
|
+
if (options.health) health = Array.isArray(options.health) ? options.health.join(",") : `${options.health}`;
|
|
41
|
+
if (options.mercenaryId) mercenaryId = Array.isArray(options.mercenaryId) ? options.mercenaryId.join(",") : `${options.mercenaryId}`;
|
|
42
|
+
return {
|
|
43
|
+
parameters: {
|
|
44
|
+
...options,
|
|
45
|
+
attack,
|
|
46
|
+
defaultMercenary,
|
|
47
|
+
health,
|
|
48
|
+
mercenaryId
|
|
49
|
+
},
|
|
50
|
+
path: "hearthstone/cards"
|
|
51
|
+
};
|
|
43
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* Returns a single card based on the ID provided.
|
|
55
|
+
* @param id The card ID
|
|
56
|
+
* @param options The options for fetching a card.
|
|
57
|
+
* @param options.gameMode The game mode to use for fetching the card (optional).
|
|
58
|
+
* @param options.locale The locale to use for fetching the card (optional).
|
|
59
|
+
* @returns The card resource. See {@link FetchOneCardResponse}.
|
|
60
|
+
*/
|
|
44
61
|
function fetchOneCard(id, options) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
62
|
+
const { gameMode = "constructed", locale } = options ?? {};
|
|
63
|
+
return {
|
|
64
|
+
parameters: {
|
|
65
|
+
gameMode,
|
|
66
|
+
locale
|
|
67
|
+
},
|
|
68
|
+
path: `hearthstone/cards/${id}`
|
|
69
|
+
};
|
|
50
70
|
}
|
|
51
71
|
|
|
52
|
-
|
|
72
|
+
//#endregion
|
|
73
|
+
//#region src/decks/decks.ts
|
|
74
|
+
/**
|
|
75
|
+
* Returns a deck based on the code provided.
|
|
76
|
+
* @param options The options for fetching a deck.
|
|
77
|
+
* @returns The deck resource. See {@link DeckResponse}.
|
|
78
|
+
*/
|
|
53
79
|
function getDeck(options) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
ids: options.ids?.join(",")
|
|
66
|
-
},
|
|
67
|
-
path: "hearthstone/deck"
|
|
68
|
-
};
|
|
80
|
+
if ("code" in options) return {
|
|
81
|
+
parameters: { code: encodeURI(options.code) },
|
|
82
|
+
path: "hearthstone/deck"
|
|
83
|
+
};
|
|
84
|
+
return {
|
|
85
|
+
parameters: {
|
|
86
|
+
hero: options.hero,
|
|
87
|
+
ids: options.ids?.join(",")
|
|
88
|
+
},
|
|
89
|
+
path: "hearthstone/deck"
|
|
90
|
+
};
|
|
69
91
|
}
|
|
70
92
|
|
|
71
|
-
|
|
93
|
+
//#endregion
|
|
94
|
+
//#region src/metadata/metadata.ts
|
|
95
|
+
/**
|
|
96
|
+
* Returns all metadata
|
|
97
|
+
* @returns The all metadata resource. See {@link AllMetadataResponse}.
|
|
98
|
+
*/
|
|
72
99
|
function allMetadata() {
|
|
73
|
-
|
|
74
|
-
path: "hearthstone/metadata"
|
|
75
|
-
};
|
|
100
|
+
return { path: "hearthstone/metadata" };
|
|
76
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Returns specific metadata based on the type requested.
|
|
104
|
+
* @param type The type of metadata to retrieve.
|
|
105
|
+
* @returns The specific metadata resource. See {@link SpecificMetadataResponse}.
|
|
106
|
+
*/
|
|
77
107
|
function specificMetadata(type) {
|
|
78
|
-
|
|
79
|
-
path: `hearthstone/metadata/${type}`
|
|
80
|
-
};
|
|
108
|
+
return { path: `hearthstone/metadata/${type}` };
|
|
81
109
|
}
|
|
82
110
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
//Metadata
|
|
94
|
-
allMetadata,
|
|
95
|
-
specificMetadata
|
|
111
|
+
//#endregion
|
|
112
|
+
//#region src/index.ts
|
|
113
|
+
const hs = {
|
|
114
|
+
cardBackSearch,
|
|
115
|
+
fetchOneCardBack,
|
|
116
|
+
cardSearch,
|
|
117
|
+
fetchOneCard,
|
|
118
|
+
getDeck,
|
|
119
|
+
allMetadata,
|
|
120
|
+
specificMetadata
|
|
96
121
|
};
|
|
97
|
-
var src_default = hs;
|
|
98
122
|
|
|
99
|
-
|
|
100
|
-
|
|
123
|
+
//#endregion
|
|
124
|
+
export { allMetadata, cardBackSearch, cardSearch, hs as default, hs, fetchOneCard, fetchOneCardBack, getDeck, specificMetadata };
|
|
101
125
|
//# sourceMappingURL=index.js.map
|
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"],"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/card-backs/card-backs.ts","../src/cards/cards.ts","../src/decks/decks.ts","../src/metadata/metadata.ts","../src/index.ts"],"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 {\r\n BlizzardCardSearchParameters,\r\n CardSearchParameters,\r\n CardSearchResponse,\r\n FetchOneCardResponse,\r\n GameMode,\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 default hs;\r\nexport { 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"],"mappings":";;;;;;AAQA,SAAgB,eACd,SAC4D;AAC5D,QAAO;EACL,YAAY;EACZ,MAAM;EACP;;;;;;;;AASH,SAAgB,iBACd,IACA,QAC8D;AAC9D,QAAO;EACL,YAAY,EAAE,QAAQ;EACtB,MAAM,yBAAyB;EAChC;;;;;;;;;;AChBH,SAAgB,WAAW,SAA2F;CACpH,IAAI,SAA6B;CACjC,IAAI,mBAAuC;CAC3C,IAAI,SAA6B;CACjC,IAAI,cAAkC;AAEtC,KAAI,QAAQ,OACV,UAAS,MAAM,QAAQ,QAAQ,OAAO,GAAG,QAAQ,OAAO,KAAK,IAAI,GAAG,GAAG,QAAQ;AAEjF,KAAI,QAAQ,iBACV,oBAAmB,MAAM,QAAQ,QAAQ,iBAAiB,GACtD,QAAQ,iBAAiB,KAAK,IAAI,GAClC,GAAG,QAAQ;AAEjB,KAAI,QAAQ,OACV,UAAS,MAAM,QAAQ,QAAQ,OAAO,GAAG,QAAQ,OAAO,KAAK,IAAI,GAAG,GAAG,QAAQ;AAEjF,KAAI,QAAQ,YACV,eAAc,MAAM,QAAQ,QAAQ,YAAY,GAAG,QAAQ,YAAY,KAAK,IAAI,GAAG,GAAG,QAAQ;AAGhG,QAAO;EACL,YAAY;GACV,GAAG;GACH;GACA;GACA;GACA;GACD;EACD,MAAM;EACP;;;;;;;;;;AAWH,SAAgB,aACd,IACA,SAI2E;CAC3E,MAAM,EAAE,WAAW,eAAe,WAAW,WAAW,EAAE;AAC1D,QAAO;EACL,YAAY;GAAE;GAAU;GAAQ;EAChC,MAAM,qBAAqB;EAC5B;;;;;;;;;;AC1DH,SAAgB,QACd,SAC8C;AAC9C,KAAI,UAAU,QACZ,QAAO;EACL,YAAY,EACV,MAAM,UAAU,QAAQ,KAAK,EAC9B;EACD,MAAM;EACP;AAGH,QAAO;EACL,YAAY;GACV,MAAM,QAAQ;GACd,KAAK,QAAQ,KAAK,KAAK,IAAI;GAC5B;EACD,MAAM;EACP;;;;;;;;;ACnBH,SAAgB,cAA6C;AAC3D,QAAO,EACL,MAAM,wBACP;;;;;;;AAQH,SAAgB,iBACd,MACoC;AACpC,QAAO,EACL,MAAM,wBAAwB,QAC/B;;;;;AClBH,MAAM,KAAK;CAET;CACA;CAEA;CACA;CAEA;CAEA;CACA;CACD"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blizzard-api/hs",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Putro",
|
|
6
6
|
"description": "A series of helpers to interact with the Hearthstone Blizzard API",
|
|
7
7
|
"repository": "https://github.com/Pewtro/blizzard-api/tree/main/packages/hs",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"engines": {
|
|
10
|
-
"node": "^
|
|
10
|
+
"node": "^20.19.0 || ^22.13.0 || >=24"
|
|
11
11
|
},
|
|
12
12
|
"module": "./dist/index.js",
|
|
13
13
|
"types": "./dist/index.d.ts",
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {},
|
|
34
34
|
"peerDependencies": {
|
|
35
|
-
"@blizzard-api/core": "
|
|
35
|
+
"@blizzard-api/core": "3.0.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@blizzard-api/core": "
|
|
38
|
+
"@blizzard-api/core": "3.0.0"
|
|
39
39
|
},
|
|
40
40
|
"scripts": {
|
|
41
|
-
"build": "
|
|
42
|
-
"dev": "
|
|
41
|
+
"build": "tsdown",
|
|
42
|
+
"dev": "tsdown --watch",
|
|
43
43
|
"test": "vitest run",
|
|
44
44
|
"test:coverage": "pnpm test -- --coverage",
|
|
45
45
|
"test:watch": "vitest watch"
|