@blizzard-api/hs 3.0.1 → 3.1.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.
@@ -1,2 +1,2 @@
1
- import { n as fetchOneCardBack, t as cardBackSearch } from "../index-HHvhYDVQ.js";
1
+ import { n as fetchOneCardBack, t as cardBackSearch } from "../index-DISoZUa9.js";
2
2
  export { cardBackSearch, fetchOneCardBack };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/card-backs/index.ts"],"sourcesContent":["import type { Locales, Resource } from '@blizzard-api/core';\nimport type { CardBackSearchParameters, CardBackSearchResponse, SingleCardBackSearchResponse } from './types';\n\n/**\n * Returns a list of card backs based on the search parameters provided.\n * @param options The options for fetching card backs. See {@link CardBackSearchParameters}.\n * @returns The card back search resource. See {@link CardBackSearchResponse}.\n */\nexport function cardBackSearch(\n options: CardBackSearchParameters,\n): Resource<CardBackSearchResponse, CardBackSearchParameters> {\n return {\n parameters: options,\n path: 'hearthstone/cardbacks',\n };\n}\n\n/**\n * Returns a single card back based on the ID provided.\n * @param id The card back ID\n * @param locale The locale to use for fetching the card back (optional).\n * @returns The card back resource. See {@link SingleCardBackSearchResponse}.\n */\nexport function fetchOneCardBack(\n id: string,\n locale?: Locales,\n): Resource<SingleCardBackSearchResponse, { locale?: Locales }> {\n return {\n parameters: { locale },\n path: `hearthstone/cardbacks/${id}`,\n };\n}\n"],"mappings":";;;;;;AAQA,SAAgB,eACd,SAC4D;CAC5D,OAAO;EACL,YAAY;EACZ,MAAM;EACP;;;;;;;;AASH,SAAgB,iBACd,IACA,QAC8D;CAC9D,OAAO;EACL,YAAY,EAAE,QAAQ;EACtB,MAAM,yBAAyB;EAChC"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/card-backs/index.ts"],"sourcesContent":["import type { Locales, Resource } from '@blizzard-api/core';\nimport type { CardBackSearchParameters, CardBackSearchResponse, SingleCardBackSearchResponse } from './types';\n\n/**\n * Returns a list of card backs based on the search parameters provided.\n * @param options The options for fetching card backs. See {@link CardBackSearchParameters}.\n * @returns The card back search resource. See {@link CardBackSearchResponse}.\n */\nexport function cardBackSearch(\n options: CardBackSearchParameters,\n): Resource<CardBackSearchResponse, CardBackSearchParameters> {\n return {\n parameters: options,\n path: 'hearthstone/cardbacks',\n };\n}\n\n/**\n * Returns a single card back based on the ID provided.\n * @param id The card back ID\n * @param locale The locale to use for fetching the card back (optional).\n * @returns The card back resource. See {@link SingleCardBackSearchResponse}.\n */\nexport function fetchOneCardBack(\n id: number | string,\n locale?: Locales,\n): Resource<SingleCardBackSearchResponse, { locale?: Locales }> {\n return {\n parameters: { locale },\n path: `hearthstone/cardbacks/${id}`,\n };\n}\n"],"mappings":";;;;;;AAQA,SAAgB,eACd,SAC4D;CAC5D,OAAO;EACL,YAAY;EACZ,MAAM;CACR;AACF;;;;;;;AAQA,SAAgB,iBACd,IACA,QAC8D;CAC9D,OAAO;EACL,YAAY,EAAE,OAAO;EACrB,MAAM,yBAAyB;CACjC;AACF"}
@@ -1,2 +1,2 @@
1
- import { n as fetchOneCard, t as cardSearch } from "../index-DbPHKsXS.js";
1
+ import { n as fetchOneCard, t as cardSearch } from "../index-D6Vnhl2r.js";
2
2
  export { cardSearch, fetchOneCard };
@@ -1,25 +1,39 @@
1
1
  //#region src/cards/index.ts
2
+ const collectibleMapping = {
3
+ both: "0,1",
4
+ collectible: "1",
5
+ "non-collectible": "0"
6
+ };
2
7
  /**
3
8
  * Returns a list of cards based on the search parameters provided.
4
9
  * @param options The options for fetching cards. See {@link CardSearchParameters}.
5
10
  * @returns The card search resource. See {@link CardSearchResponse}.
6
11
  */
7
12
  function cardSearch(options) {
8
- let attack = void 0;
9
- let defaultMercenary = void 0;
10
- let health = void 0;
11
- let mercenaryId = void 0;
12
- if (options.attack) attack = Array.isArray(options.attack) ? options.attack.join(",") : `${options.attack}`;
13
- if (options.defaultMercenary) defaultMercenary = Array.isArray(options.defaultMercenary) ? options.defaultMercenary.join(",") : `${options.defaultMercenary}`;
14
- if (options.health) health = Array.isArray(options.health) ? options.health.join(",") : `${options.health}`;
15
- if (options.mercenaryId) mercenaryId = Array.isArray(options.mercenaryId) ? options.mercenaryId.join(",") : `${options.mercenaryId}`;
13
+ let attack;
14
+ let defaultMercenary;
15
+ let health;
16
+ let mercenaryId;
17
+ let collectible = "0,1";
18
+ let manaCost;
19
+ let tier;
20
+ if (options.attack) attack = Array.isArray(options.attack) ? options.attack.join(",") : String(options.attack);
21
+ if (options.defaultMercenary) defaultMercenary = Array.isArray(options.defaultMercenary) ? options.defaultMercenary.join(",") : String(options.defaultMercenary);
22
+ if (options.health) health = Array.isArray(options.health) ? options.health.join(",") : String(options.health);
23
+ if (options.mercenaryId) mercenaryId = Array.isArray(options.mercenaryId) ? options.mercenaryId.join(",") : String(options.mercenaryId);
24
+ if (options.collectible) collectible = collectibleMapping[options.collectible];
25
+ if (options.manaCost) manaCost = Array.isArray(options.manaCost) ? options.manaCost.join(",") : String(options.manaCost);
26
+ if (options.tier) tier = Array.isArray(options.tier) ? options.tier.join(",") : String(options.tier);
16
27
  return {
17
28
  parameters: {
18
29
  ...options,
19
30
  attack,
31
+ collectible,
20
32
  defaultMercenary,
21
33
  health,
22
- mercenaryId
34
+ manaCost,
35
+ mercenaryId,
36
+ tier
23
37
  },
24
38
  path: "hearthstone/cards"
25
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/cards/index.ts"],"sourcesContent":["import type { Locales, Resource } from '@blizzard-api/core';\nimport type {\n BlizzardCardSearchParameters,\n CardSearchParameters,\n CardSearchResponse,\n FetchOneCardResponse,\n GameMode,\n} from './types';\n\n/**\n * Returns a list of cards based on the search parameters provided.\n * @param options The options for fetching cards. See {@link CardSearchParameters}.\n * @returns The card search resource. See {@link CardSearchResponse}.\n */\nexport function cardSearch(options: CardSearchParameters): Resource<CardSearchResponse, BlizzardCardSearchParameters> {\n let attack: string | undefined = undefined;\n let defaultMercenary: string | undefined = undefined;\n let health: string | undefined = undefined;\n let mercenaryId: string | undefined = undefined;\n\n if (options.attack) {\n attack = Array.isArray(options.attack) ? options.attack.join(',') : `${options.attack}`;\n }\n if (options.defaultMercenary) {\n defaultMercenary = Array.isArray(options.defaultMercenary)\n ? options.defaultMercenary.join(',')\n : `${options.defaultMercenary}`;\n }\n if (options.health) {\n health = Array.isArray(options.health) ? options.health.join(',') : `${options.health}`;\n }\n if (options.mercenaryId) {\n mercenaryId = Array.isArray(options.mercenaryId) ? options.mercenaryId.join(',') : `${options.mercenaryId}`;\n }\n\n return {\n parameters: {\n ...options,\n attack,\n defaultMercenary,\n health,\n mercenaryId,\n },\n path: 'hearthstone/cards',\n };\n}\n\n/**\n * Returns a single card based on the ID provided.\n * @param id The card ID\n * @param options The options for fetching a card.\n * @param options.gameMode The game mode to use for fetching the card (optional).\n * @param options.locale The locale to use for fetching the card (optional).\n * @returns The card resource. See {@link FetchOneCardResponse}.\n */\nexport function fetchOneCard(\n id: string,\n options?: {\n gameMode?: GameMode;\n locale?: Locales;\n },\n): Resource<FetchOneCardResponse, { gameMode?: GameMode; locale?: Locales }> {\n const { gameMode = 'constructed', locale } = options ?? {};\n return {\n parameters: { gameMode, locale },\n path: `hearthstone/cards/${id}`,\n };\n}\n"],"mappings":";;;;;;AAcA,SAAgB,WAAW,SAA2F;CACpH,IAAI,SAA6B,KAAA;CACjC,IAAI,mBAAuC,KAAA;CAC3C,IAAI,SAA6B,KAAA;CACjC,IAAI,cAAkC,KAAA;CAEtC,IAAI,QAAQ,QACV,SAAS,MAAM,QAAQ,QAAQ,OAAO,GAAG,QAAQ,OAAO,KAAK,IAAI,GAAG,GAAG,QAAQ;CAEjF,IAAI,QAAQ,kBACV,mBAAmB,MAAM,QAAQ,QAAQ,iBAAiB,GACtD,QAAQ,iBAAiB,KAAK,IAAI,GAClC,GAAG,QAAQ;CAEjB,IAAI,QAAQ,QACV,SAAS,MAAM,QAAQ,QAAQ,OAAO,GAAG,QAAQ,OAAO,KAAK,IAAI,GAAG,GAAG,QAAQ;CAEjF,IAAI,QAAQ,aACV,cAAc,MAAM,QAAQ,QAAQ,YAAY,GAAG,QAAQ,YAAY,KAAK,IAAI,GAAG,GAAG,QAAQ;CAGhG,OAAO;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;CAC1D,OAAO;EACL,YAAY;GAAE;GAAU;GAAQ;EAChC,MAAM,qBAAqB;EAC5B"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/cards/index.ts"],"sourcesContent":["/* eslint-disable sonarjs/cognitive-complexity */\nimport type { Locales, Resource } from '@blizzard-api/core';\nimport type {\n BlizzardCardSearchParameters,\n CardSearchParameters,\n CardSearchResponse,\n FetchOneCardResponse,\n GameMode,\n} from './types';\n\nconst collectibleMapping: Record<\n Required<CardSearchParameters>['collectible'],\n BlizzardCardSearchParameters['collectible']\n> = {\n both: '0,1',\n collectible: '1',\n 'non-collectible': '0',\n};\n\n/**\n * Returns a list of cards based on the search parameters provided.\n * @param options The options for fetching cards. See {@link CardSearchParameters}.\n * @returns The card search resource. See {@link CardSearchResponse}.\n */\nexport function cardSearch(options: CardSearchParameters): Resource<CardSearchResponse, BlizzardCardSearchParameters> {\n let attack: string | undefined;\n let defaultMercenary: string | undefined;\n let health: string | undefined;\n let mercenaryId: string | undefined;\n let collectible: BlizzardCardSearchParameters['collectible'] = '0,1';\n let manaCost: string | undefined;\n let tier: string | undefined;\n\n if (options.attack) {\n attack = Array.isArray(options.attack) ? options.attack.join(',') : String(options.attack);\n }\n if (options.defaultMercenary) {\n defaultMercenary = Array.isArray(options.defaultMercenary)\n ? options.defaultMercenary.join(',')\n : String(options.defaultMercenary);\n }\n if (options.health) {\n health = Array.isArray(options.health) ? options.health.join(',') : String(options.health);\n }\n if (options.mercenaryId) {\n mercenaryId = Array.isArray(options.mercenaryId) ? options.mercenaryId.join(',') : String(options.mercenaryId);\n }\n if (options.collectible) {\n collectible = collectibleMapping[options.collectible];\n }\n if (options.manaCost) {\n manaCost = Array.isArray(options.manaCost) ? options.manaCost.join(',') : String(options.manaCost);\n }\n if (options.tier) {\n tier = Array.isArray(options.tier) ? options.tier.join(',') : String(options.tier);\n }\n\n return {\n parameters: {\n ...options,\n attack,\n collectible,\n defaultMercenary,\n health,\n manaCost,\n mercenaryId,\n tier,\n },\n path: 'hearthstone/cards',\n };\n}\n\n/**\n * Returns a single card based on the ID provided.\n * @param id The card ID\n * @param options The options for fetching a card.\n * @param options.gameMode The game mode to use for fetching the card (optional).\n * @param options.locale The locale to use for fetching the card (optional).\n * @returns The card resource. See {@link FetchOneCardResponse}.\n */\nexport function fetchOneCard(\n id: string,\n options?: {\n gameMode?: GameMode;\n locale?: Locales;\n },\n): Resource<FetchOneCardResponse, { gameMode?: GameMode; locale?: Locales }> {\n const { gameMode = 'constructed', locale } = options ?? {};\n return {\n parameters: { gameMode, locale },\n path: `hearthstone/cards/${id}`,\n };\n}\n"],"mappings":";AAUA,MAAM,qBAGF;CACF,MAAM;CACN,aAAa;CACb,mBAAmB;AACrB;;;;;;AAOA,SAAgB,WAAW,SAA2F;CACpH,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI,cAA2D;CAC/D,IAAI;CACJ,IAAI;CAEJ,IAAI,QAAQ,QACV,SAAS,MAAM,QAAQ,QAAQ,MAAM,IAAI,QAAQ,OAAO,KAAK,GAAG,IAAI,OAAO,QAAQ,MAAM;CAE3F,IAAI,QAAQ,kBACV,mBAAmB,MAAM,QAAQ,QAAQ,gBAAgB,IACrD,QAAQ,iBAAiB,KAAK,GAAG,IACjC,OAAO,QAAQ,gBAAgB;CAErC,IAAI,QAAQ,QACV,SAAS,MAAM,QAAQ,QAAQ,MAAM,IAAI,QAAQ,OAAO,KAAK,GAAG,IAAI,OAAO,QAAQ,MAAM;CAE3F,IAAI,QAAQ,aACV,cAAc,MAAM,QAAQ,QAAQ,WAAW,IAAI,QAAQ,YAAY,KAAK,GAAG,IAAI,OAAO,QAAQ,WAAW;CAE/G,IAAI,QAAQ,aACV,cAAc,mBAAmB,QAAQ;CAE3C,IAAI,QAAQ,UACV,WAAW,MAAM,QAAQ,QAAQ,QAAQ,IAAI,QAAQ,SAAS,KAAK,GAAG,IAAI,OAAO,QAAQ,QAAQ;CAEnG,IAAI,QAAQ,MACV,OAAO,MAAM,QAAQ,QAAQ,IAAI,IAAI,QAAQ,KAAK,KAAK,GAAG,IAAI,OAAO,QAAQ,IAAI;CAGnF,OAAO;EACL,YAAY;GACV,GAAG;GACH;GACA;GACA;GACA;GACA;GACA;GACA;EACF;EACA,MAAM;CACR;AACF;;;;;;;;;AAUA,SAAgB,aACd,IACA,SAI2E;CAC3E,MAAM,EAAE,WAAW,eAAe,WAAW,WAAW,CAAC;CACzD,OAAO;EACL,YAAY;GAAE;GAAU;EAAO;EAC/B,MAAM,qBAAqB;CAC7B;AACF"}
@@ -1,2 +1,2 @@
1
- import { t as getDeck } from "../index-BKJLD2Xh.js";
1
+ import { t as getDeck } from "../index-DctpuvUj.js";
2
2
  export { getDeck };
@@ -11,7 +11,7 @@ function getDeck(options) {
11
11
  };
12
12
  return {
13
13
  parameters: {
14
- hero: options.hero,
14
+ hero: options.hero?.toString(),
15
15
  ids: options.ids?.join(",")
16
16
  },
17
17
  path: "hearthstone/deck"
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/decks/index.ts"],"sourcesContent":["import type { Resource } from '@blizzard-api/core';\nimport type { DeckResponse, DeckSearchParameters } from './types';\n\n/**\n * Returns a deck based on the code provided.\n * @param options The options for fetching a deck.\n * @returns The deck resource. See {@link DeckResponse}.\n */\nexport function getDeck(\n options: { code: string } | { hero?: string; ids: Array<string> },\n): Resource<DeckResponse, DeckSearchParameters> {\n if ('code' in options) {\n return {\n parameters: {\n code: encodeURI(options.code),\n },\n path: 'hearthstone/deck',\n };\n }\n\n return {\n parameters: {\n hero: options.hero,\n ids: options.ids?.join(','),\n },\n path: 'hearthstone/deck',\n };\n}\n"],"mappings":";;;;;;AAQA,SAAgB,QACd,SAC8C;CAC9C,IAAI,UAAU,SACZ,OAAO;EACL,YAAY,EACV,MAAM,UAAU,QAAQ,KAAK,EAC9B;EACD,MAAM;EACP;CAGH,OAAO;EACL,YAAY;GACV,MAAM,QAAQ;GACd,KAAK,QAAQ,KAAK,KAAK,IAAI;GAC5B;EACD,MAAM;EACP"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/decks/index.ts"],"sourcesContent":["import type { Resource } from '@blizzard-api/core';\nimport type { DeckResponse, DeckSearchParameters } from './types';\n\n/**\n * Returns a deck based on the code provided.\n * @param options The options for fetching a deck.\n * @returns The deck resource. See {@link DeckResponse}.\n */\nexport function getDeck(\n options: { code: string } | { hero?: number | string; ids: Array<number | string> },\n): Resource<DeckResponse, DeckSearchParameters> {\n if ('code' in options) {\n return {\n parameters: {\n code: encodeURI(options.code),\n },\n path: 'hearthstone/deck',\n };\n }\n\n return {\n parameters: {\n hero: options.hero?.toString(),\n ids: options.ids?.join(','),\n },\n path: 'hearthstone/deck',\n };\n}\n"],"mappings":";;;;;;AAQA,SAAgB,QACd,SAC8C;CAC9C,IAAI,UAAU,SACZ,OAAO;EACL,YAAY,EACV,MAAM,UAAU,QAAQ,IAAI,EAC9B;EACA,MAAM;CACR;CAGF,OAAO;EACL,YAAY;GACV,MAAM,QAAQ,MAAM,SAAS;GAC7B,KAAK,QAAQ,KAAK,KAAK,GAAG;EAC5B;EACA,MAAM;CACR;AACF"}
@@ -1,17 +1,22 @@
1
1
  import { Locales, Resource } from "@blizzard-api/core";
2
-
3
2
  //#region src/cards/types.d.ts
4
3
  interface BlizzardCardSearchParameters extends BaseSearchParameters {
5
4
  attack?: string;
5
+ collectible: '0' | '0,1' | '1';
6
6
  defaultMercenary?: string;
7
7
  health?: string;
8
+ manaCost?: string;
8
9
  mercenaryId?: string;
10
+ tier?: string;
9
11
  }
10
12
  interface CardSearchParameters extends BaseSearchParameters {
11
- attack?: Array<number> | number;
12
- defaultMercenary?: Array<number> | number;
13
- health?: Array<number> | number;
14
- mercenaryId?: Array<number> | number;
13
+ attack?: MultipleValueCardSearchParameter;
14
+ collectible?: 'both' | 'collectible' | 'non-collectible';
15
+ defaultMercenary?: MultipleValueCardSearchParameter;
16
+ health?: MultipleValueCardSearchParameter;
17
+ manaCost?: MultipleValueCardSearchParameter;
18
+ mercenaryId?: MultipleValueCardSearchParameter;
19
+ tier?: Array<Tier> | Tier;
15
20
  }
16
21
  interface CardSearchResponse {
17
22
  cardCount: number;
@@ -20,63 +25,95 @@ interface CardSearchResponse {
20
25
  pageCount: number;
21
26
  }
22
27
  interface FetchOneCardResponse {
23
- artistName: string;
24
- attack: number;
28
+ armor?: number;
29
+ artistName: null | string;
30
+ attack?: number;
25
31
  cardSetId: number;
26
32
  cardTypeId: number;
27
- classId: number;
33
+ childIds?: Array<number>;
34
+ classId: null | number;
28
35
  collectible: number;
29
- cropImage: string;
36
+ copyOfCardId?: Array<number>;
37
+ cropImage: null | string;
30
38
  flavorText: Record<Locales, string> | string;
31
- health: number;
39
+ health?: number;
32
40
  id: number;
33
41
  image: Record<Locales, string> | string;
34
42
  imageGold: Record<Locales, string> | string;
35
43
  isZilliaxCosmeticModule: boolean;
36
44
  isZilliaxFunctionalModule: boolean;
37
- keywordIds: Array<number>;
45
+ keywordIds?: Array<number>;
38
46
  manaCost: number;
47
+ mercenaryHero?: MercenaryHero;
48
+ minionTypeId?: number;
39
49
  multiClassIds: Array<number>;
50
+ multiTypeIds?: Array<number>;
40
51
  name: Record<Locales, string> | string;
41
- rarityId: number;
52
+ parentId?: number;
53
+ rarityId?: null | number;
42
54
  slug: string;
55
+ spellSchoolId?: number;
43
56
  text: Record<Locales, string> | string;
44
57
  }
45
58
  type GameMode = 'arena' | 'battlegrounds' | 'classic' | 'constructed' | 'duels' | 'mercenaries' | 'standard';
46
59
  interface BaseSearchParameters {
60
+ class?: string;
47
61
  gameMode?: GameMode;
62
+ keyword?: string;
48
63
  locale?: Locales;
49
64
  mercenaryRole?: string;
50
65
  minionType?: string;
51
66
  page?: number;
52
67
  pageSize?: number;
68
+ rarity?: string;
69
+ set?: string;
53
70
  sort?: 'attack:asc' | 'attack:desc' | 'health:asc' | 'health:desc' | 'name:asc' | 'name:desc' | 'tier:asc' | 'tier:desc';
71
+ spellSchool?: string;
54
72
  textFilter?: string;
55
- tier?: 1 | 2 | 3 | 4 | 5 | 6 | 'hero';
73
+ type?: string;
74
+ }
75
+ interface Battlegrounds {
76
+ duosOnly: boolean;
77
+ hero: boolean;
78
+ image: string;
79
+ imageGold: string;
80
+ quest: boolean;
81
+ reward: boolean;
82
+ solosOnly: boolean;
83
+ subsetTribes: Array<number>;
84
+ tier: Tier;
85
+ upgradeId: number;
56
86
  }
57
87
  interface Card {
88
+ armor?: number;
58
89
  artistName: null | string;
59
- attack: number;
90
+ attack?: number;
91
+ battlegrounds?: Battlegrounds;
60
92
  cardSetId: number;
61
93
  cardTypeId: number;
94
+ childIds?: Array<number>;
62
95
  classId: null | number;
63
96
  collectible: number;
97
+ copyOfCardId?: Array<number>;
64
98
  cropImage: null | string;
65
99
  flavorText: string;
66
- health: number;
100
+ health?: number;
67
101
  id: number;
68
102
  image: string;
69
103
  imageGold: string;
70
104
  isZilliaxCosmeticModule: boolean;
71
105
  isZilliaxFunctionalModule: boolean;
106
+ keywordIds?: Array<number>;
72
107
  manaCost: number;
73
- mercenaryHero: MercenaryHero;
74
- minionTypeId: number;
108
+ mercenaryHero?: MercenaryHero;
109
+ minionTypeId?: number;
75
110
  multiClassIds: Array<number>;
76
111
  multiTypeIds?: Array<number>;
77
112
  name: string;
78
- rarityId: number;
113
+ parentId?: number;
114
+ rarityId: null | number;
79
115
  slug: string;
116
+ spellSchoolId?: number;
80
117
  text: string;
81
118
  }
82
119
  interface MercenaryHero {
@@ -89,10 +126,12 @@ interface MercenaryHero {
89
126
  roleId: number;
90
127
  statsByLevel: Record<string, StatsByLevel>;
91
128
  }
129
+ type MultipleValueCardSearchParameter = Array<number | string> | number | string;
92
130
  interface StatsByLevel {
93
131
  attack: number;
94
132
  health: number;
95
133
  }
134
+ type Tier = 1 | 2 | 3 | 4 | 5 | 6 | 'hero';
96
135
  //#endregion
97
136
  //#region src/cards/index.d.ts
98
137
  /**
@@ -118,4 +157,4 @@ declare function fetchOneCard(id: string, options?: {
118
157
  }>;
119
158
  //#endregion
120
159
  export { CardSearchResponse as a, CardSearchParameters as i, fetchOneCard as n, FetchOneCardResponse as o, BlizzardCardSearchParameters as r, GameMode as s, cardSearch as t };
121
- //# sourceMappingURL=index-DbPHKsXS.d.ts.map
160
+ //# sourceMappingURL=index-D6Vnhl2r.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { Locales, Resource } from "@blizzard-api/core";
2
-
3
2
  //#region src/card-backs/types.d.ts
4
3
  interface CardBackSearchParameters {
5
4
  cardBackCategory?: 'achieve' | 'base' | 'blizzard' | 'esports' | 'events' | 'fireside' | 'game_license' | 'golden' | 'heroes' | 'legend' | 'pre_purchase' | 'promotion' | 'season';
@@ -39,9 +38,9 @@ declare function cardBackSearch(options: CardBackSearchParameters): Resource<Car
39
38
  * @param locale The locale to use for fetching the card back (optional).
40
39
  * @returns The card back resource. See {@link SingleCardBackSearchResponse}.
41
40
  */
42
- declare function fetchOneCardBack(id: string, locale?: Locales): Resource<SingleCardBackSearchResponse, {
41
+ declare function fetchOneCardBack(id: number | string, locale?: Locales): Resource<SingleCardBackSearchResponse, {
43
42
  locale?: Locales;
44
43
  }>;
45
44
  //#endregion
46
45
  export { SearchOptions as a, CardBackSearchResponse as i, fetchOneCardBack as n, SingleCardBackSearchResponse as o, CardBackSearchParameters as r, SortOptions as s, cardBackSearch as t };
47
- //# sourceMappingURL=index-HHvhYDVQ.d.ts.map
46
+ //# sourceMappingURL=index-DISoZUa9.d.ts.map
@@ -1,5 +1,4 @@
1
1
  import { Resource } from "@blizzard-api/core";
2
-
3
2
  //#region src/decks/types.d.ts
4
3
  interface DeckResponse {
5
4
  cardCount: number;
@@ -27,6 +26,7 @@ interface Card {
27
26
  childIds?: Array<number>;
28
27
  classId: number;
29
28
  collectible: number;
29
+ copyOfCardId?: Array<number>;
30
30
  cropImage: string;
31
31
  flavorText: string;
32
32
  health?: number;
@@ -39,6 +39,7 @@ interface Card {
39
39
  manaCost: number;
40
40
  minionTypeId?: number;
41
41
  multiClassIds: Array<number>;
42
+ multiTypeIds?: Array<number>;
42
43
  name: string;
43
44
  rarityId: number;
44
45
  slug: string;
@@ -54,9 +55,11 @@ interface Hero {
54
55
  artistName: null | string;
55
56
  cardSetId: number;
56
57
  cardTypeId: number;
58
+ childIds?: Array<number>;
57
59
  classId: number;
58
60
  collectible: number;
59
- cropImage: null;
61
+ copyOfCardId?: Array<number>;
62
+ cropImage: null | string;
60
63
  flavorText: string;
61
64
  health?: number;
62
65
  id: number;
@@ -66,8 +69,9 @@ interface Hero {
66
69
  isZilliaxFunctionalModule: boolean;
67
70
  manaCost: number;
68
71
  multiClassIds: Array<number>;
72
+ multiTypeIds?: Array<number>;
69
73
  name: string;
70
- parentId: number;
74
+ parentId?: number;
71
75
  rarityId: null | number;
72
76
  slug: string;
73
77
  text: string;
@@ -82,9 +86,9 @@ interface Hero {
82
86
  declare function getDeck(options: {
83
87
  code: string;
84
88
  } | {
85
- hero?: string;
86
- ids: Array<string>;
89
+ hero?: number | string;
90
+ ids: Array<number | string>;
87
91
  }): Resource<DeckResponse, DeckSearchParameters>;
88
92
  //#endregion
89
93
  export { DeckResponse as n, DeckSearchParameters as r, getDeck as t };
90
- //# sourceMappingURL=index-BKJLD2Xh.d.ts.map
94
+ //# sourceMappingURL=index-DctpuvUj.d.ts.map
@@ -1,11 +1,11 @@
1
1
  import { NameId, Resource } from "@blizzard-api/core";
2
-
3
2
  //#region src/metadata/types.d.ts
4
3
  interface AllMetadataResponse {
5
4
  arenaIds: Array<number>;
6
5
  bgGameModes: Array<GameMode>;
7
6
  cardBackCategories: Array<GameMode>;
8
7
  classes: Array<Class>;
8
+ factions: Array<GameMode>;
9
9
  filterableFields: Array<string>;
10
10
  gameModes: Array<GameMode>;
11
11
  keywords: Array<Keyword>;
@@ -19,15 +19,12 @@ interface AllMetadataResponse {
19
19
  spellSchools: Array<GameMode>;
20
20
  types: Array<GameMode>;
21
21
  }
22
- interface SpecificMetadataResponse extends NameId {
23
- aliasSetIds?: Array<number>;
24
- collectibleCount: number;
25
- collectibleRevealedCount: number;
26
- hyped: boolean;
27
- nonCollectibleCount: number;
28
- nonCollectibleRevealedCount: number;
22
+ type SpecificMetadataResponse = Array<CardbackMetadataResponse> | Array<CraftingCostMetadataResponse> | Array<DetailedMetadataResponse> | Array<number> | Array<ReferenceTextMetadataResponse> | Array<SetGroupsMetadataResponse> | Array<SlugNameIdMetadataResponse> | Array<string>;
23
+ interface CardbackMetadataResponse extends NameId {
24
+ alternateHeroCardIds?: Array<number>;
25
+ cardId?: number;
26
+ heroPowerCardId?: number;
29
27
  slug: string;
30
- type: SetType;
31
28
  }
32
29
  interface Class {
33
30
  alternateHeroCardIds?: Array<number>;
@@ -37,6 +34,21 @@ interface Class {
37
34
  name: string;
38
35
  slug: string;
39
36
  }
37
+ interface CraftingCostMetadataResponse extends NameId {
38
+ craftingCost: Array<null | number>;
39
+ dustValue: Array<null | number>;
40
+ slug: string;
41
+ }
42
+ interface DetailedMetadataResponse extends NameId {
43
+ aliasSetIds?: Array<number>;
44
+ collectibleCount: number;
45
+ collectibleRevealedCount: number;
46
+ hyped: boolean;
47
+ nonCollectibleCount: number;
48
+ nonCollectibleRevealedCount: number;
49
+ slug: string;
50
+ type: SetType;
51
+ }
40
52
  interface GameMode extends NameId {
41
53
  gameModes?: Array<number>;
42
54
  slug: string;
@@ -52,6 +64,12 @@ interface Rarity extends NameId {
52
64
  dustValue: Array<null | number>;
53
65
  slug: string;
54
66
  }
67
+ interface ReferenceTextMetadataResponse extends NameId {
68
+ gameModes: Array<number>;
69
+ refText: string;
70
+ slug: string;
71
+ text: string;
72
+ }
55
73
  interface Set extends NameId {
56
74
  aliasSetIds?: Array<number>;
57
75
  collectibleCount: number;
@@ -72,7 +90,21 @@ interface SetGroup {
72
90
  year?: number;
73
91
  yearRange?: string;
74
92
  }
93
+ interface SetGroupsMetadataResponse {
94
+ cardSets: Array<string>;
95
+ icon?: string;
96
+ name: string;
97
+ slug: string;
98
+ standard?: boolean;
99
+ svg?: null | string;
100
+ year?: number;
101
+ yearRange?: string;
102
+ }
75
103
  type SetType = '' | 'adventure' | 'base' | 'expansion';
104
+ interface SlugNameIdMetadataResponse extends NameId {
105
+ gameModes?: Array<number>;
106
+ slug: string;
107
+ }
76
108
  //#endregion
77
109
  //#region src/metadata/index.d.ts
78
110
  /**
@@ -85,7 +117,7 @@ declare function allMetadata(): Resource<AllMetadataResponse>;
85
117
  * @param type The type of metadata to retrieve.
86
118
  * @returns The specific metadata resource. See {@link SpecificMetadataResponse}.
87
119
  */
88
- declare function specificMetadata(type: 'classes' | 'keywords' | 'minionTypes' | 'rarities' | 'setGroups' | 'sets' | 'types'): Resource<SpecificMetadataResponse>;
120
+ declare function specificMetadata(type: keyof AllMetadataResponse): Resource<SpecificMetadataResponse>;
89
121
  //#endregion
90
122
  export { SpecificMetadataResponse as i, specificMetadata as n, AllMetadataResponse as r, allMetadata as t };
91
- //# sourceMappingURL=index-Drg-Gvee.d.ts.map
123
+ //# sourceMappingURL=index-hPXfx360.d.ts.map
package/dist/index.d.ts CHANGED
@@ -1,8 +1,7 @@
1
- import { a as SearchOptions, i as CardBackSearchResponse, n as fetchOneCardBack, o as SingleCardBackSearchResponse, r as CardBackSearchParameters, s as SortOptions, t as cardBackSearch } from "./index-HHvhYDVQ.js";
2
- import { a as CardSearchResponse, i as CardSearchParameters, n as fetchOneCard, o as FetchOneCardResponse, r as BlizzardCardSearchParameters, s as GameMode, t as cardSearch } from "./index-DbPHKsXS.js";
3
- import { n as DeckResponse, r as DeckSearchParameters, t as getDeck } from "./index-BKJLD2Xh.js";
4
- import { i as SpecificMetadataResponse, n as specificMetadata, r as AllMetadataResponse, t as allMetadata } from "./index-Drg-Gvee.js";
5
-
1
+ import { a as SearchOptions, i as CardBackSearchResponse, n as fetchOneCardBack, o as SingleCardBackSearchResponse, r as CardBackSearchParameters, s as SortOptions, t as cardBackSearch } from "./index-DISoZUa9.js";
2
+ import { a as CardSearchResponse, i as CardSearchParameters, n as fetchOneCard, o as FetchOneCardResponse, r as BlizzardCardSearchParameters, s as GameMode, t as cardSearch } from "./index-D6Vnhl2r.js";
3
+ import { n as DeckResponse, r as DeckSearchParameters, t as getDeck } from "./index-DctpuvUj.js";
4
+ import { i as SpecificMetadataResponse, n as specificMetadata, r as AllMetadataResponse, t as allMetadata } from "./index-hPXfx360.js";
6
5
  //#region src/index.d.ts
7
6
  declare const hs: {
8
7
  cardBackSearch: typeof cardBackSearch;
@@ -14,5 +13,5 @@ declare const hs: {
14
13
  specificMetadata: typeof specificMetadata;
15
14
  };
16
15
  //#endregion
17
- 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 };
16
+ export { type AllMetadataResponse, type BlizzardCardSearchParameters, type CardBackSearchParameters, type CardBackSearchResponse, type CardSearchParameters, type CardSearchResponse, type DeckResponse, type DeckSearchParameters, type FetchOneCardResponse, type GameMode, type SearchOptions, type SingleCardBackSearchResponse, type SortOptions, type SpecificMetadataResponse, allMetadata, cardBackSearch, cardSearch, hs as default, hs, fetchOneCard, fetchOneCardBack, getDeck, specificMetadata };
18
17
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import { cardBackSearch, fetchOneCardBack } from './card-backs/index';\r\nimport { cardSearch, fetchOneCard } from './cards/index';\r\nimport { getDeck } from './decks/index';\r\nimport { allMetadata, specificMetadata } from './metadata/index';\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/index';\r\nexport type * from './card-backs/types';\r\n//Cards\r\nexport * from './cards/index';\r\nexport type * from './cards/types';\r\n//Decks\r\nexport * from './decks/index';\r\nexport type * from './decks/types';\r\n//Metadata\r\nexport * from './metadata/index';\r\nexport type * from './metadata/types';\r\n"],"mappings":";;;;;AAKA,MAAM,KAAK;CAET;CACA;CAEA;CACA;CAEA;CAEA;CACA;CACD"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../src/index.ts"],"sourcesContent":["import { cardBackSearch, fetchOneCardBack } from './card-backs/index';\r\nimport { cardSearch, fetchOneCard } from './cards/index';\r\nimport { getDeck } from './decks/index';\r\nimport { allMetadata, specificMetadata } from './metadata/index';\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/index';\r\nexport type * from './card-backs/types';\r\n//Cards\r\nexport * from './cards/index';\r\nexport type * from './cards/types';\r\n//Decks\r\nexport * from './decks/index';\r\nexport type * from './decks/types';\r\n//Metadata\r\nexport * from './metadata/index';\r\nexport type * from './metadata/types';\r\n"],"mappings":";;;;;AAKA,MAAM,KAAK;CAET;CACA;CAEA;CACA;CAEA;CAEA;CACA;AACF"}
@@ -1,2 +1,2 @@
1
- import { n as specificMetadata, t as allMetadata } from "../index-Drg-Gvee.js";
1
+ import { n as specificMetadata, t as allMetadata } from "../index-hPXfx360.js";
2
2
  export { allMetadata, specificMetadata };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/metadata/index.ts"],"sourcesContent":["import type { Resource } from '@blizzard-api/core';\nimport type { AllMetadataResponse, SpecificMetadataResponse } from './types';\n\n/**\n * Returns all metadata\n * @returns The all metadata resource. See {@link AllMetadataResponse}.\n */\nexport function allMetadata(): Resource<AllMetadataResponse> {\n return {\n path: 'hearthstone/metadata',\n };\n}\n\n/**\n * Returns specific metadata based on the type requested.\n * @param type The type of metadata to retrieve.\n * @returns The specific metadata resource. See {@link SpecificMetadataResponse}.\n */\nexport function specificMetadata(\n type: 'classes' | 'keywords' | 'minionTypes' | 'rarities' | 'setGroups' | 'sets' | 'types',\n): Resource<SpecificMetadataResponse> {\n return {\n path: `hearthstone/metadata/${type}`,\n };\n}\n"],"mappings":";;;;;AAOA,SAAgB,cAA6C;CAC3D,OAAO,EACL,MAAM,wBACP;;;;;;;AAQH,SAAgB,iBACd,MACoC;CACpC,OAAO,EACL,MAAM,wBAAwB,QAC/B"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/metadata/index.ts"],"sourcesContent":["import type { Resource } from '@blizzard-api/core';\nimport type { AllMetadataResponse, SpecificMetadataResponse } from './types';\n\n/**\n * Returns all metadata\n * @returns The all metadata resource. See {@link AllMetadataResponse}.\n */\nexport function allMetadata(): Resource<AllMetadataResponse> {\n return {\n path: 'hearthstone/metadata',\n };\n}\n\n/**\n * Returns specific metadata based on the type requested.\n * @param type The type of metadata to retrieve.\n * @returns The specific metadata resource. See {@link SpecificMetadataResponse}.\n */\nexport function specificMetadata(type: keyof AllMetadataResponse): Resource<SpecificMetadataResponse> {\n return {\n path: `hearthstone/metadata/${type}`,\n };\n}\n"],"mappings":";;;;;AAOA,SAAgB,cAA6C;CAC3D,OAAO,EACL,MAAM,uBACR;AACF;;;;;;AAOA,SAAgB,iBAAiB,MAAqE;CACpG,OAAO,EACL,MAAM,wBAAwB,OAChC;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blizzard-api/hs",
3
- "version": "3.0.1",
3
+ "version": "3.1.1",
4
4
  "license": "MIT",
5
5
  "author": "Putro",
6
6
  "description": "A series of helpers to interact with the Hearthstone Blizzard API",
@@ -30,6 +30,7 @@
30
30
  "files": [
31
31
  "dist"
32
32
  ],
33
+ "sideEffects": false,
33
34
  "keywords": [
34
35
  "blizzard",
35
36
  "battlenet",
@@ -41,10 +42,10 @@
41
42
  ],
42
43
  "dependencies": {},
43
44
  "peerDependencies": {
44
- "@blizzard-api/core": "4.1.0"
45
+ "@blizzard-api/core": "4.1.2"
45
46
  },
46
47
  "devDependencies": {
47
- "@blizzard-api/core": "4.1.0"
48
+ "@blizzard-api/core": "4.1.2"
48
49
  },
49
50
  "scripts": {
50
51
  "build": "tsdown",