@blizzard-api/hs 0.1.1 → 1.0.1

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 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,64 @@ 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
31
  declare function cardBackSearch(options: CardBackSearchParameters): Resource<CardBackSearchResponse, CardBackSearchParameters>;
32
32
  declare function fetchOneCardBack(id: string, locale?: Locales): Resource<SingleCardBackSearchResponse, {
33
33
  locale?: Locales;
34
34
  }>;
35
35
 
36
+ interface BlizzardCardSearchParameters extends BaseSearchParameters {
37
+ attack?: string;
38
+ defaultMercenary?: string;
39
+ health?: string;
40
+ mercenaryId?: string;
41
+ }
42
+ interface CardSearchParameters extends BaseSearchParameters {
43
+ attack?: Array<number> | number;
44
+ defaultMercenary?: Array<number> | number;
45
+ health?: Array<number> | number;
46
+ mercenaryId?: Array<number> | number;
47
+ }
36
48
  interface CardSearchResponse {
37
49
  cardCount: number;
38
50
  cards: Array<Card$1>;
39
51
  page: number;
40
52
  pageCount: number;
41
53
  }
54
+ interface FetchOneCardResponse {
55
+ artistName: string;
56
+ attack: number;
57
+ cardSetId: number;
58
+ cardTypeId: number;
59
+ classId: number;
60
+ collectible: number;
61
+ cropImage: string;
62
+ flavorText: Record<Locales, string> | string;
63
+ health: number;
64
+ id: number;
65
+ image: Record<Locales, string> | string;
66
+ imageGold: Record<Locales, string> | string;
67
+ isZilliaxCosmeticModule: boolean;
68
+ isZilliaxFunctionalModule: boolean;
69
+ keywordIds: Array<number>;
70
+ manaCost: number;
71
+ multiClassIds: Array<number>;
72
+ name: Record<Locales, string> | string;
73
+ rarityId: number;
74
+ slug: string;
75
+ text: Record<Locales, string> | string;
76
+ }
77
+ interface BaseSearchParameters {
78
+ gameMode?: GameMode$1;
79
+ locale?: Locales;
80
+ mercenaryRole?: string;
81
+ minionType?: string;
82
+ page?: number;
83
+ pageSize?: number;
84
+ sort?: 'attack:asc' | 'attack:desc' | 'health:asc' | 'health:desc' | 'name:asc' | 'name:desc' | 'tier:asc' | 'tier:desc';
85
+ textFilter?: string;
86
+ tier?: 1 | 2 | 3 | 4 | 5 | 6 | 'hero';
87
+ }
42
88
  interface Card$1 {
43
89
  artistName: null | string;
44
90
  attack: number;
@@ -78,52 +124,6 @@ interface StatsByLevel {
78
124
  attack: number;
79
125
  health: number;
80
126
  }
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
127
 
128
128
  declare function cardSearch(options: CardSearchParameters): Resource<CardSearchResponse, BlizzardCardSearchParameters>;
129
129
  declare function fetchOneCard(id: string, options?: {
@@ -134,12 +134,6 @@ declare function fetchOneCard(id: string, options?: {
134
134
  locale?: Locales;
135
135
  }>;
136
136
 
137
- type DeckSearchParameters = {
138
- code: string;
139
- } | {
140
- hero?: string;
141
- ids: string;
142
- };
143
137
  interface DeckResponse {
144
138
  cardCount: number;
145
139
  cards: Array<Card>;
@@ -150,6 +144,12 @@ interface DeckResponse {
150
144
  heroPower: Hero;
151
145
  version: number;
152
146
  }
147
+ type DeckSearchParameters = {
148
+ code: string;
149
+ } | {
150
+ hero?: string;
151
+ ids: string;
152
+ };
153
153
  interface Card {
154
154
  armor?: number;
155
155
  artistName: string;
@@ -239,9 +239,15 @@ interface AllMetadataResponse {
239
239
  spellSchools: Array<GameMode>;
240
240
  types: Array<GameMode>;
241
241
  }
242
- interface GameMode extends NameId {
243
- gameModes?: Array<number>;
242
+ interface SpecificMetadataResponse extends NameId {
243
+ aliasSetIds?: Array<number>;
244
+ collectibleCount: number;
245
+ collectibleRevealedCount: number;
246
+ hyped: boolean;
247
+ nonCollectibleCount: number;
248
+ nonCollectibleRevealedCount: number;
244
249
  slug: string;
250
+ type: SetType;
245
251
  }
246
252
  interface Class {
247
253
  alternateHeroCardIds?: Array<number>;
@@ -251,6 +257,10 @@ interface Class {
251
257
  name: string;
252
258
  slug: string;
253
259
  }
260
+ interface GameMode extends NameId {
261
+ gameModes?: Array<number>;
262
+ slug: string;
263
+ }
254
264
  interface Keyword extends NameId {
255
265
  gameModes: Array<number>;
256
266
  refText: string;
@@ -262,17 +272,6 @@ interface Rarity extends NameId {
262
272
  dustValue: Array<null | number>;
263
273
  slug: string;
264
274
  }
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
275
  interface Set extends NameId {
277
276
  aliasSetIds?: Array<number>;
278
277
  collectibleCount: number;
@@ -283,16 +282,17 @@ interface Set extends NameId {
283
282
  slug: string;
284
283
  type: SetType;
285
284
  }
286
- interface SpecificMetadataResponse extends NameId {
287
- aliasSetIds?: Array<number>;
288
- collectibleCount: number;
289
- collectibleRevealedCount: number;
290
- hyped: boolean;
291
- nonCollectibleCount: number;
292
- nonCollectibleRevealedCount: number;
285
+ interface SetGroup {
286
+ cardSets: Array<string>;
287
+ icon?: string;
288
+ name: string;
293
289
  slug: string;
294
- type: SetType;
290
+ standard?: boolean;
291
+ svg?: null | string;
292
+ year?: number;
293
+ yearRange?: string;
295
294
  }
295
+ type SetType = '' | 'adventure' | 'base' | 'expansion';
296
296
 
297
297
  declare function allMetadata(): Resource<AllMetadataResponse>;
298
298
  declare function specificMetadata(type: 'classes' | 'keywords' | 'minionTypes' | 'rarities' | 'setGroups' | 'sets' | 'types'): Resource<SpecificMetadataResponse>;
package/package.json CHANGED
@@ -1,25 +1,21 @@
1
1
  {
2
2
  "name": "@blizzard-api/hs",
3
- "version": "0.1.1",
3
+ "version": "1.0.1",
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": "^18.18 || ^20.9 || ^21.1 || ^22"
10
+ "node": "^18.18 || >=20.9"
11
11
  },
12
- "main": "./dist/index.cjs",
13
12
  "module": "./dist/index.js",
14
13
  "types": "./dist/index.d.ts",
15
14
  "exports": {
16
15
  "import": {
16
+ "@blizzard-api/hs-local": "./src/index.ts",
17
17
  "types": "./dist/index.d.ts",
18
18
  "default": "./dist/index.js"
19
- },
20
- "require": {
21
- "types": "./dist/index.d.cts",
22
- "default": "./dist/index.cjs"
23
19
  }
24
20
  },
25
21
  "files": [
@@ -36,10 +32,10 @@
36
32
  ],
37
33
  "dependencies": {},
38
34
  "peerDependencies": {
39
- "@blizzard-api/core": "1.2.1"
35
+ "@blizzard-api/core": "2.0.1"
40
36
  },
41
37
  "devDependencies": {
42
- "@blizzard-api/core": "1.2.1"
38
+ "@blizzard-api/core": "2.0.1"
43
39
  },
44
40
  "scripts": {
45
41
  "build": "tsup",
package/dist/index.cjs DELETED
@@ -1,112 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- // src/card-backs/card-backs.ts
6
- function cardBackSearch(options) {
7
- return {
8
- parameters: options,
9
- path: "hearthstone/cardbacks"
10
- };
11
- }
12
- function fetchOneCardBack(id, locale) {
13
- return {
14
- parameters: { locale },
15
- path: `hearthstone/cardbacks/${id}`
16
- };
17
- }
18
-
19
- // src/cards/cards.ts
20
- function cardSearch(options) {
21
- let attack = void 0;
22
- let defaultMercenary = void 0;
23
- let health = void 0;
24
- let mercenaryId = void 0;
25
- if (options.attack) {
26
- attack = Array.isArray(options.attack) ? options.attack.join(",") : `${options.attack}`;
27
- }
28
- if (options.defaultMercenary) {
29
- defaultMercenary = Array.isArray(options.defaultMercenary) ? options.defaultMercenary.join(",") : `${options.defaultMercenary}`;
30
- }
31
- if (options.health) {
32
- health = Array.isArray(options.health) ? options.health.join(",") : `${options.health}`;
33
- }
34
- if (options.mercenaryId) {
35
- mercenaryId = Array.isArray(options.mercenaryId) ? options.mercenaryId.join(",") : `${options.mercenaryId}`;
36
- }
37
- return {
38
- parameters: {
39
- ...options,
40
- attack,
41
- defaultMercenary,
42
- health,
43
- mercenaryId
44
- },
45
- path: "hearthstone/cards"
46
- };
47
- }
48
- function fetchOneCard(id, options) {
49
- const { gameMode = "constructed", locale } = options ?? {};
50
- return {
51
- parameters: { gameMode, locale },
52
- path: `hearthstone/cards/${id}`
53
- };
54
- }
55
-
56
- // src/decks/decks.ts
57
- function getDeck(options) {
58
- if ("code" in options) {
59
- return {
60
- parameters: {
61
- code: encodeURI(options.code)
62
- },
63
- path: "hearthstone/deck"
64
- };
65
- }
66
- return {
67
- parameters: {
68
- hero: options.hero,
69
- ids: options.ids?.join(",")
70
- },
71
- path: "hearthstone/deck"
72
- };
73
- }
74
-
75
- // src/metadata/metadata.ts
76
- function allMetadata() {
77
- return {
78
- path: "hearthstone/metadata"
79
- };
80
- }
81
- function specificMetadata(type) {
82
- return {
83
- path: `hearthstone/metadata/${type}`
84
- };
85
- }
86
-
87
- // src/index.ts
88
- var hs = {
89
- //Card Backs
90
- cardBackSearch,
91
- fetchOneCardBack,
92
- //Cards
93
- cardSearch,
94
- fetchOneCard,
95
- //Decks
96
- getDeck,
97
- //Metadata
98
- allMetadata,
99
- specificMetadata
100
- };
101
-
102
- exports.allMetadata = allMetadata;
103
- exports.cardBackSearch = cardBackSearch;
104
- exports.cardSearch = cardSearch;
105
- exports.default = hs;
106
- exports.fetchOneCard = fetchOneCard;
107
- exports.fetchOneCardBack = fetchOneCardBack;
108
- exports.getDeck = getDeck;
109
- exports.hs = hs;
110
- exports.specificMetadata = specificMetadata;
111
- //# sourceMappingURL=index.cjs.map
112
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
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.cjs","sourcesContent":["import type { Locales, Resource } from '@blizzard-api/core';\r\nimport type { CardBackSearchParameters, CardBackSearchResponse, SingleCardBackSearchResponse } from './types';\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\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\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\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\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\nexport function allMetadata(): Resource<AllMetadataResponse> {\r\n return {\r\n path: 'hearthstone/metadata',\r\n };\r\n}\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/dist/index.d.cts DELETED
@@ -1,310 +0,0 @@
1
- import { Locales, Resource } from '@blizzard-api/core';
2
-
3
- type SortDirection = 'asc' | 'desc';
4
- 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
-
8
- interface CardBackSearchResponse {
9
- cardBacks: Array<SingleCardBackSearchResponse>;
10
- cardCount: number;
11
- page: number;
12
- pageCount: number;
13
- }
14
- interface SingleCardBackSearchResponse {
15
- id: number;
16
- image: string;
17
- name: Record<Locales, string> | string;
18
- slug: string;
19
- sortCategory: number;
20
- text: Record<Locales, string> | string;
21
- }
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
-
31
- declare function cardBackSearch(options: CardBackSearchParameters): Resource<CardBackSearchResponse, CardBackSearchParameters>;
32
- declare function fetchOneCardBack(id: string, locale?: Locales): Resource<SingleCardBackSearchResponse, {
33
- locale?: Locales;
34
- }>;
35
-
36
- interface CardSearchResponse {
37
- cardCount: number;
38
- cards: Array<Card$1>;
39
- page: number;
40
- pageCount: number;
41
- }
42
- interface Card$1 {
43
- artistName: null | string;
44
- attack: number;
45
- cardSetId: number;
46
- cardTypeId: number;
47
- classId: null | number;
48
- collectible: number;
49
- cropImage: null | string;
50
- flavorText: string;
51
- health: number;
52
- id: number;
53
- image: string;
54
- imageGold: string;
55
- isZilliaxCosmeticModule: boolean;
56
- isZilliaxFunctionalModule: boolean;
57
- manaCost: number;
58
- mercenaryHero: MercenaryHero;
59
- minionTypeId: number;
60
- multiClassIds: Array<number>;
61
- multiTypeIds?: Array<number>;
62
- name: string;
63
- rarityId: number;
64
- slug: string;
65
- text: string;
66
- }
67
- interface MercenaryHero {
68
- collectible: number;
69
- craftingCost: number;
70
- default: number;
71
- faction: null | number;
72
- mercId: number;
73
- rarity: number;
74
- roleId: number;
75
- statsByLevel: Record<string, StatsByLevel>;
76
- }
77
- interface StatsByLevel {
78
- attack: number;
79
- health: number;
80
- }
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
-
128
- declare function cardSearch(options: CardSearchParameters): Resource<CardSearchResponse, BlizzardCardSearchParameters>;
129
- declare function fetchOneCard(id: string, options?: {
130
- gameMode?: GameMode$1;
131
- locale?: Locales;
132
- }): Resource<FetchOneCardResponse, {
133
- gameMode?: GameMode$1;
134
- locale?: Locales;
135
- }>;
136
-
137
- type DeckSearchParameters = {
138
- code: string;
139
- } | {
140
- hero?: string;
141
- ids: string;
142
- };
143
- interface DeckResponse {
144
- cardCount: number;
145
- cards: Array<Card>;
146
- class: Class$1;
147
- deckCode: string;
148
- format: string;
149
- hero: Hero;
150
- heroPower: Hero;
151
- version: number;
152
- }
153
- interface Card {
154
- armor?: number;
155
- artistName: string;
156
- attack?: number;
157
- bannedFromSideboard?: number;
158
- cardSetId: number;
159
- cardTypeId: number;
160
- childIds?: Array<number>;
161
- classId: number;
162
- collectible: number;
163
- cropImage: string;
164
- flavorText: string;
165
- health?: number;
166
- id: number;
167
- image: string;
168
- imageGold: string;
169
- isZilliaxCosmeticModule: boolean;
170
- isZilliaxFunctionalModule: boolean;
171
- keywordIds?: Array<number>;
172
- manaCost: number;
173
- minionTypeId?: number;
174
- multiClassIds: Array<number>;
175
- name: string;
176
- rarityId: number;
177
- slug: string;
178
- spellSchoolId?: number;
179
- text: string;
180
- }
181
- interface Class$1 {
182
- id: number;
183
- name: string;
184
- slug: string;
185
- }
186
- interface Hero {
187
- artistName: null | string;
188
- cardSetId: number;
189
- cardTypeId: number;
190
- classId: number;
191
- collectible: number;
192
- cropImage: null;
193
- flavorText: string;
194
- health?: number;
195
- id: number;
196
- image: string;
197
- imageGold: string;
198
- isZilliaxCosmeticModule: boolean;
199
- isZilliaxFunctionalModule: boolean;
200
- manaCost: number;
201
- multiClassIds: Array<number>;
202
- name: string;
203
- parentId: number;
204
- rarityId: null | number;
205
- slug: string;
206
- text: string;
207
- }
208
-
209
- declare function getDeck(options: {
210
- code: string;
211
- } | {
212
- hero?: string;
213
- ids: Array<string>;
214
- }): Resource<DeckResponse, DeckSearchParameters>;
215
-
216
- /**
217
- * Base record interface containing name and id properties that often appear together in Blizzard API responses.
218
- */
219
- interface NameId {
220
- id: number;
221
- name: string;
222
- }
223
-
224
- interface AllMetadataResponse {
225
- arenaIds: Array<number>;
226
- bgGameModes: Array<GameMode>;
227
- cardBackCategories: Array<GameMode>;
228
- classes: Array<Class>;
229
- filterableFields: Array<string>;
230
- gameModes: Array<GameMode>;
231
- keywords: Array<Keyword>;
232
- mercenaryFactions: Array<GameMode>;
233
- mercenaryRoles: Array<GameMode>;
234
- minionTypes: Array<GameMode>;
235
- numericFields: Array<string>;
236
- rarities: Array<Rarity>;
237
- setGroups: Array<SetGroup>;
238
- sets: Array<Set>;
239
- spellSchools: Array<GameMode>;
240
- types: Array<GameMode>;
241
- }
242
- interface GameMode extends NameId {
243
- gameModes?: Array<number>;
244
- slug: string;
245
- }
246
- interface Class {
247
- alternateHeroCardIds?: Array<number>;
248
- cardId?: number;
249
- heroPowerCardId?: number;
250
- id: number;
251
- name: string;
252
- slug: string;
253
- }
254
- interface Keyword extends NameId {
255
- gameModes: Array<number>;
256
- refText: string;
257
- slug: string;
258
- text: string;
259
- }
260
- interface Rarity extends NameId {
261
- craftingCost: Array<null | number>;
262
- dustValue: Array<null | number>;
263
- slug: string;
264
- }
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
- interface Set extends NameId {
277
- aliasSetIds?: Array<number>;
278
- collectibleCount: number;
279
- collectibleRevealedCount: number;
280
- hyped: boolean;
281
- nonCollectibleCount: number;
282
- nonCollectibleRevealedCount: number;
283
- slug: string;
284
- type: SetType;
285
- }
286
- interface SpecificMetadataResponse extends NameId {
287
- aliasSetIds?: Array<number>;
288
- collectibleCount: number;
289
- collectibleRevealedCount: number;
290
- hyped: boolean;
291
- nonCollectibleCount: number;
292
- nonCollectibleRevealedCount: number;
293
- slug: string;
294
- type: SetType;
295
- }
296
-
297
- declare function allMetadata(): Resource<AllMetadataResponse>;
298
- declare function specificMetadata(type: 'classes' | 'keywords' | 'minionTypes' | 'rarities' | 'setGroups' | 'sets' | 'types'): Resource<SpecificMetadataResponse>;
299
-
300
- declare const hs: {
301
- cardBackSearch: typeof cardBackSearch;
302
- fetchOneCardBack: typeof fetchOneCardBack;
303
- cardSearch: typeof cardSearch;
304
- fetchOneCard: typeof fetchOneCard;
305
- getDeck: typeof getDeck;
306
- allMetadata: typeof allMetadata;
307
- specificMetadata: typeof specificMetadata;
308
- };
309
-
310
- export { type AllMetadataResponse, type BlizzardCardSearchParameters, type CardBackSearchParameters, type CardBackSearchResponse, type CardSearchParameters, type CardSearchResponse, type DeckResponse, type DeckSearchParameters, type FetchOneCardResponse, type SingleCardBackSearchResponse, type SpecificMetadataResponse, allMetadata, cardBackSearch, cardSearch, hs as default, fetchOneCard, fetchOneCardBack, getDeck, hs, specificMetadata };