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