@pinta365/blizzard_api 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (423) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +145 -37
  3. package/esm/mod.d.ts +43 -6
  4. package/esm/mod.js +69 -6
  5. package/esm/src/client.d.ts +95 -0
  6. package/esm/src/client.js +52 -0
  7. package/esm/src/diablo3/community/act.d.ts +29 -0
  8. package/esm/src/diablo3/community/act.js +23 -0
  9. package/esm/src/diablo3/community/artisan.d.ts +50 -0
  10. package/esm/src/diablo3/community/artisan.js +25 -0
  11. package/esm/src/diablo3/community/follower.d.ts +25 -0
  12. package/esm/src/diablo3/community/follower.js +12 -0
  13. package/esm/src/diablo3/community/hero.d.ts +57 -0
  14. package/esm/src/diablo3/community/hero.js +25 -0
  15. package/esm/src/diablo3/community/item.d.ts +48 -0
  16. package/esm/src/diablo3/community/item.js +12 -0
  17. package/esm/src/diablo3/community/item_type.d.ts +26 -0
  18. package/esm/src/diablo3/community/item_type.js +23 -0
  19. package/esm/src/diablo3/community/profile.d.ts +352 -0
  20. package/esm/src/diablo3/community/profile.js +61 -0
  21. package/esm/src/diablo3/game_data/d3.d.ts +127 -0
  22. package/esm/src/diablo3/game_data/d3.js +72 -0
  23. package/esm/src/diablo3/index.d.ts +8 -0
  24. package/esm/src/diablo3/index.js +8 -0
  25. package/esm/src/diablo3/types.d.ts +8 -0
  26. package/esm/src/diablo3/types.js +1 -0
  27. package/esm/src/generated/diablo3_api.d.ts +156 -0
  28. package/esm/src/generated/diablo3_api.js +2 -0
  29. package/esm/src/generated/hearthstone_api.d.ts +51 -0
  30. package/esm/src/generated/hearthstone_api.js +2 -0
  31. package/esm/src/generated/sc2_api.d.ts +139 -0
  32. package/esm/src/generated/sc2_api.js +2 -0
  33. package/esm/src/generated/wow_api.d.ts +1482 -0
  34. package/esm/src/generated/wow_api.js +2 -0
  35. package/esm/src/generated/wow_classic_api.d.ts +555 -0
  36. package/esm/src/generated/wow_classic_api.js +2 -0
  37. package/esm/src/generated/wow_classic_era_api.d.ts +418 -0
  38. package/esm/src/generated/wow_classic_era_api.js +2 -0
  39. package/esm/src/hearthstone/game_data/card_backs.d.ts +31 -0
  40. package/esm/src/hearthstone/game_data/card_backs.js +22 -0
  41. package/esm/src/hearthstone/game_data/cards.d.ts +55 -0
  42. package/esm/src/hearthstone/game_data/cards.js +26 -0
  43. package/esm/src/hearthstone/game_data/decks.d.ts +29 -0
  44. package/esm/src/hearthstone/game_data/decks.js +13 -0
  45. package/esm/src/hearthstone/game_data/metadata.d.ts +82 -0
  46. package/esm/src/hearthstone/game_data/metadata.js +11 -0
  47. package/esm/src/hearthstone/index.d.ts +4 -0
  48. package/esm/src/hearthstone/index.js +4 -0
  49. package/esm/src/hearthstone/search.d.ts +21 -0
  50. package/esm/src/hearthstone/search.js +28 -0
  51. package/esm/src/hearthstone/types.d.ts +5 -0
  52. package/esm/src/hearthstone/types.js +1 -0
  53. package/esm/src/shared/bind.d.ts +14 -0
  54. package/esm/src/shared/bind.js +15 -0
  55. package/esm/src/shared/context.d.ts +163 -0
  56. package/esm/src/shared/context.js +304 -0
  57. package/esm/src/shared/errors.d.ts +53 -0
  58. package/esm/src/shared/errors.js +95 -0
  59. package/esm/src/shared/index.d.ts +4 -0
  60. package/esm/src/shared/index.js +2 -0
  61. package/esm/src/shared/types.d.ts +133 -0
  62. package/esm/src/shared/types.js +2 -0
  63. package/esm/src/starcraft2/community/account.d.ts +19 -0
  64. package/esm/src/starcraft2/community/account.js +15 -0
  65. package/esm/src/starcraft2/community/ladder.d.ts +29 -0
  66. package/esm/src/starcraft2/community/ladder.js +27 -0
  67. package/esm/src/starcraft2/community/legacy.d.ts +206 -0
  68. package/esm/src/starcraft2/community/legacy.js +83 -0
  69. package/esm/src/starcraft2/community/profile.d.ts +255 -0
  70. package/esm/src/starcraft2/community/profile.js +73 -0
  71. package/esm/src/starcraft2/game_data/league.d.ts +35 -0
  72. package/esm/src/starcraft2/game_data/league.js +20 -0
  73. package/esm/src/starcraft2/index.d.ts +5 -0
  74. package/esm/src/starcraft2/index.js +5 -0
  75. package/esm/src/starcraft2/types.d.ts +5 -0
  76. package/esm/src/starcraft2/types.js +1 -0
  77. package/esm/src/wow/game_data/achievement.d.ts +87 -0
  78. package/esm/src/wow/game_data/achievement.js +68 -0
  79. package/esm/src/wow/game_data/auction_house.d.ts +65 -0
  80. package/esm/src/wow/game_data/auction_house.js +33 -0
  81. package/esm/src/wow/game_data/azerite_essence.d.ts +50 -0
  82. package/esm/src/wow/game_data/azerite_essence.js +48 -0
  83. package/esm/src/wow/game_data/connected_realm.d.ts +62 -0
  84. package/esm/src/wow/game_data/connected_realm.js +35 -0
  85. package/esm/src/wow/game_data/covenant.d.ts +115 -0
  86. package/esm/src/wow/game_data/covenant.js +88 -0
  87. package/esm/src/wow/game_data/creature.d.ts +98 -0
  88. package/esm/src/wow/game_data/creature.js +99 -0
  89. package/esm/src/wow/game_data/guild_crest.d.ts +56 -0
  90. package/esm/src/wow/game_data/guild_crest.js +38 -0
  91. package/esm/src/wow/game_data/heirloom.d.ts +82 -0
  92. package/esm/src/wow/game_data/heirloom.js +25 -0
  93. package/esm/src/wow/game_data/housing.d.ts +111 -0
  94. package/esm/src/wow/game_data/housing.js +124 -0
  95. package/esm/src/wow/game_data/item.d.ts +183 -0
  96. package/esm/src/wow/game_data/item.js +100 -0
  97. package/esm/src/wow/game_data/item_appearance.d.ts +102 -0
  98. package/esm/src/wow/game_data/item_appearance.js +73 -0
  99. package/esm/src/wow/game_data/journal.d.ts +124 -0
  100. package/esm/src/wow/game_data/journal.js +98 -0
  101. package/esm/src/wow/game_data/keystone_affix.d.ts +39 -0
  102. package/esm/src/wow/game_data/keystone_affix.js +38 -0
  103. package/esm/src/wow/game_data/media_search.d.ts +9 -0
  104. package/esm/src/wow/game_data/media_search.js +10 -0
  105. package/esm/src/wow/game_data/modified_crafting.d.ts +65 -0
  106. package/esm/src/wow/game_data/modified_crafting.js +62 -0
  107. package/esm/src/wow/game_data/mount.d.ts +38 -0
  108. package/esm/src/wow/game_data/mount.js +35 -0
  109. package/esm/src/wow/game_data/mythic_keystone_dungeon.d.ts +92 -0
  110. package/esm/src/wow/game_data/mythic_keystone_dungeon.js +87 -0
  111. package/esm/src/wow/game_data/mythic_keystone_leaderboard.d.ts +70 -0
  112. package/esm/src/wow/game_data/mythic_keystone_leaderboard.js +28 -0
  113. package/esm/src/wow/game_data/mythic_raid_leaderboard.d.ts +36 -0
  114. package/esm/src/wow/game_data/mythic_raid_leaderboard.js +14 -0
  115. package/esm/src/wow/game_data/neighborhood.d.ts +36 -0
  116. package/esm/src/wow/game_data/neighborhood.js +38 -0
  117. package/esm/src/wow/game_data/pet.d.ts +93 -0
  118. package/esm/src/wow/game_data/pet.js +76 -0
  119. package/esm/src/wow/game_data/playable_class.d.ts +58 -0
  120. package/esm/src/wow/game_data/playable_class.js +51 -0
  121. package/esm/src/wow/game_data/playable_race.d.ts +31 -0
  122. package/esm/src/wow/game_data/playable_race.js +25 -0
  123. package/esm/src/wow/game_data/playable_specialization.d.ts +63 -0
  124. package/esm/src/wow/game_data/playable_specialization.js +38 -0
  125. package/esm/src/wow/game_data/power_type.d.ts +22 -0
  126. package/esm/src/wow/game_data/power_type.js +25 -0
  127. package/esm/src/wow/game_data/profession.d.ts +88 -0
  128. package/esm/src/wow/game_data/profession.js +78 -0
  129. package/esm/src/wow/game_data/pvp_season.d.ts +108 -0
  130. package/esm/src/wow/game_data/pvp_season.js +66 -0
  131. package/esm/src/wow/game_data/pvp_tier.d.ts +41 -0
  132. package/esm/src/wow/game_data/pvp_tier.js +38 -0
  133. package/esm/src/wow/game_data/quest.d.ts +116 -0
  134. package/esm/src/wow/game_data/quest.js +100 -0
  135. package/esm/src/wow/game_data/realm.d.ts +43 -0
  136. package/esm/src/wow/game_data/realm.js +35 -0
  137. package/esm/src/wow/game_data/region.d.ts +26 -0
  138. package/esm/src/wow/game_data/region.js +25 -0
  139. package/esm/src/wow/game_data/reputations.d.ts +57 -0
  140. package/esm/src/wow/game_data/reputations.js +50 -0
  141. package/esm/src/wow/game_data/spell.d.ts +34 -0
  142. package/esm/src/wow/game_data/spell.js +36 -0
  143. package/esm/src/wow/game_data/talent.d.ts +143 -0
  144. package/esm/src/wow/game_data/talent.js +89 -0
  145. package/esm/src/wow/game_data/tech_talent.d.ts +72 -0
  146. package/esm/src/wow/game_data/tech_talent.js +63 -0
  147. package/esm/src/wow/game_data/title.d.ts +33 -0
  148. package/esm/src/wow/game_data/title.js +25 -0
  149. package/esm/src/wow/game_data/token.d.ts +17 -0
  150. package/esm/src/wow/game_data/token.js +18 -0
  151. package/esm/src/wow/game_data/toy.d.ts +25 -0
  152. package/esm/src/wow/game_data/toy.js +25 -0
  153. package/esm/src/wow/index.d.ts +59 -0
  154. package/esm/src/wow/index.js +61 -0
  155. package/esm/src/wow/profile/account_profile.d.ts +185 -0
  156. package/esm/src/wow/profile/account_profile.js +132 -0
  157. package/esm/src/wow/profile/character_achievements.d.ts +88 -0
  158. package/esm/src/wow/profile/character_achievements.js +28 -0
  159. package/esm/src/wow/profile/character_appearance.d.ts +79 -0
  160. package/esm/src/wow/profile/character_appearance.js +14 -0
  161. package/esm/src/wow/profile/character_collections.d.ts +132 -0
  162. package/esm/src/wow/profile/character_collections.js +98 -0
  163. package/esm/src/wow/profile/character_encounters.d.ts +78 -0
  164. package/esm/src/wow/profile/character_encounters.js +42 -0
  165. package/esm/src/wow/profile/character_equipment.d.ts +177 -0
  166. package/esm/src/wow/profile/character_equipment.js +14 -0
  167. package/esm/src/wow/profile/character_house.d.ts +16 -0
  168. package/esm/src/wow/profile/character_house.js +17 -0
  169. package/esm/src/wow/profile/character_hunter_pets.d.ts +22 -0
  170. package/esm/src/wow/profile/character_hunter_pets.js +14 -0
  171. package/esm/src/wow/profile/character_media.d.ts +14 -0
  172. package/esm/src/wow/profile/character_media.js +14 -0
  173. package/esm/src/wow/profile/character_mythic_keystone_profile.d.ts +70 -0
  174. package/esm/src/wow/profile/character_mythic_keystone_profile.js +31 -0
  175. package/esm/src/wow/profile/character_professions.d.ts +29 -0
  176. package/esm/src/wow/profile/character_professions.js +14 -0
  177. package/esm/src/wow/profile/character_profile.d.ts +83 -0
  178. package/esm/src/wow/profile/character_profile.js +39 -0
  179. package/esm/src/wow/profile/character_pvp.d.ts +53 -0
  180. package/esm/src/wow/profile/character_pvp.js +29 -0
  181. package/esm/src/wow/profile/character_quests.d.ts +29 -0
  182. package/esm/src/wow/profile/character_quests.js +28 -0
  183. package/esm/src/wow/profile/character_reputations.d.ts +30 -0
  184. package/esm/src/wow/profile/character_reputations.js +14 -0
  185. package/esm/src/wow/profile/character_soulbinds.d.ts +31 -0
  186. package/esm/src/wow/profile/character_soulbinds.js +14 -0
  187. package/esm/src/wow/profile/character_specializations.d.ts +82 -0
  188. package/esm/src/wow/profile/character_specializations.js +14 -0
  189. package/esm/src/wow/profile/character_statistics.d.ts +104 -0
  190. package/esm/src/wow/profile/character_statistics.js +14 -0
  191. package/esm/src/wow/profile/character_titles.d.ts +14 -0
  192. package/esm/src/wow/profile/character_titles.js +14 -0
  193. package/esm/src/wow/profile/guild.d.ts +150 -0
  194. package/esm/src/wow/profile/guild.js +56 -0
  195. package/esm/src/wow/search.d.ts +23 -0
  196. package/esm/src/wow/search.js +29 -0
  197. package/esm/src/wow/types.d.ts +58 -0
  198. package/esm/src/wow/types.js +1 -0
  199. package/esm/src/wow_classic/auction_house.d.ts +41 -0
  200. package/esm/src/wow_classic/auction_house.js +31 -0
  201. package/esm/src/wow_classic/character_specializations.d.ts +45 -0
  202. package/esm/src/wow_classic/character_specializations.js +18 -0
  203. package/esm/src/wow_classic/era.d.ts +8 -0
  204. package/esm/src/wow_classic/era.js +10 -0
  205. package/esm/src/wow_classic/index.d.ts +15 -0
  206. package/esm/src/wow_classic/index.js +17 -0
  207. package/esm/src/wow_classic/profile_overrides.d.ts +125 -0
  208. package/esm/src/wow_classic/profile_overrides.js +111 -0
  209. package/esm/src/wow_classic/shared.d.ts +23 -0
  210. package/esm/src/wow_classic/shared.js +26 -0
  211. package/esm/src/wow_classic/types.d.ts +3 -0
  212. package/esm/src/wow_classic/types.js +1 -0
  213. package/package.json +23 -2
  214. package/script/mod.d.ts +43 -6
  215. package/script/mod.js +91 -21
  216. package/script/src/client.d.ts +95 -0
  217. package/script/src/client.js +89 -0
  218. package/script/src/diablo3/community/act.d.ts +29 -0
  219. package/script/src/diablo3/community/act.js +27 -0
  220. package/script/src/diablo3/community/artisan.d.ts +50 -0
  221. package/script/src/diablo3/community/artisan.js +29 -0
  222. package/script/src/diablo3/community/follower.d.ts +25 -0
  223. package/script/src/diablo3/community/follower.js +15 -0
  224. package/script/src/diablo3/community/hero.d.ts +57 -0
  225. package/script/src/diablo3/community/hero.js +29 -0
  226. package/script/src/diablo3/community/item.d.ts +48 -0
  227. package/script/src/diablo3/community/item.js +15 -0
  228. package/script/src/diablo3/community/item_type.d.ts +26 -0
  229. package/script/src/diablo3/community/item_type.js +27 -0
  230. package/script/src/diablo3/community/profile.d.ts +352 -0
  231. package/script/src/diablo3/community/profile.js +67 -0
  232. package/script/src/diablo3/game_data/d3.d.ts +127 -0
  233. package/script/src/diablo3/game_data/d3.js +80 -0
  234. package/script/src/diablo3/index.d.ts +8 -0
  235. package/script/src/diablo3/index.js +31 -0
  236. package/script/src/diablo3/types.d.ts +8 -0
  237. package/script/src/diablo3/types.js +2 -0
  238. package/script/src/generated/diablo3_api.d.ts +156 -0
  239. package/script/src/generated/diablo3_api.js +3 -0
  240. package/script/src/generated/hearthstone_api.d.ts +51 -0
  241. package/script/src/generated/hearthstone_api.js +3 -0
  242. package/script/src/generated/sc2_api.d.ts +139 -0
  243. package/script/src/generated/sc2_api.js +3 -0
  244. package/script/src/generated/wow_api.d.ts +1482 -0
  245. package/script/src/generated/wow_api.js +3 -0
  246. package/script/src/generated/wow_classic_api.d.ts +555 -0
  247. package/script/src/generated/wow_classic_api.js +3 -0
  248. package/script/src/generated/wow_classic_era_api.d.ts +418 -0
  249. package/script/src/generated/wow_classic_era_api.js +3 -0
  250. package/script/src/hearthstone/game_data/card_backs.d.ts +31 -0
  251. package/script/src/hearthstone/game_data/card_backs.js +26 -0
  252. package/script/src/hearthstone/game_data/cards.d.ts +55 -0
  253. package/script/src/hearthstone/game_data/cards.js +30 -0
  254. package/script/src/hearthstone/game_data/decks.d.ts +29 -0
  255. package/script/src/hearthstone/game_data/decks.js +16 -0
  256. package/script/src/hearthstone/game_data/metadata.d.ts +82 -0
  257. package/script/src/hearthstone/game_data/metadata.js +14 -0
  258. package/script/src/hearthstone/index.d.ts +4 -0
  259. package/script/src/hearthstone/index.js +13 -0
  260. package/script/src/hearthstone/search.d.ts +21 -0
  261. package/script/src/hearthstone/search.js +31 -0
  262. package/script/src/hearthstone/types.d.ts +5 -0
  263. package/script/src/hearthstone/types.js +2 -0
  264. package/script/src/shared/bind.d.ts +14 -0
  265. package/script/src/shared/bind.js +18 -0
  266. package/script/src/shared/context.d.ts +163 -0
  267. package/script/src/shared/context.js +312 -0
  268. package/script/src/shared/errors.d.ts +53 -0
  269. package/script/src/shared/errors.js +104 -0
  270. package/script/src/shared/index.d.ts +4 -0
  271. package/script/src/shared/index.js +10 -0
  272. package/script/src/shared/types.d.ts +133 -0
  273. package/script/src/shared/types.js +3 -0
  274. package/script/src/starcraft2/community/account.d.ts +19 -0
  275. package/script/src/starcraft2/community/account.js +18 -0
  276. package/script/src/starcraft2/community/ladder.d.ts +29 -0
  277. package/script/src/starcraft2/community/ladder.js +31 -0
  278. package/script/src/starcraft2/community/legacy.d.ts +206 -0
  279. package/script/src/starcraft2/community/legacy.js +91 -0
  280. package/script/src/starcraft2/community/profile.d.ts +255 -0
  281. package/script/src/starcraft2/community/profile.js +80 -0
  282. package/script/src/starcraft2/game_data/league.d.ts +35 -0
  283. package/script/src/starcraft2/game_data/league.js +23 -0
  284. package/script/src/starcraft2/index.d.ts +5 -0
  285. package/script/src/starcraft2/index.js +23 -0
  286. package/script/src/starcraft2/types.d.ts +5 -0
  287. package/script/src/starcraft2/types.js +2 -0
  288. package/script/src/wow/game_data/achievement.d.ts +87 -0
  289. package/script/src/wow/game_data/achievement.js +75 -0
  290. package/script/src/wow/game_data/auction_house.d.ts +65 -0
  291. package/script/src/wow/game_data/auction_house.js +37 -0
  292. package/script/src/wow/game_data/azerite_essence.d.ts +50 -0
  293. package/script/src/wow/game_data/azerite_essence.js +54 -0
  294. package/script/src/wow/game_data/connected_realm.d.ts +62 -0
  295. package/script/src/wow/game_data/connected_realm.js +40 -0
  296. package/script/src/wow/game_data/covenant.d.ts +115 -0
  297. package/script/src/wow/game_data/covenant.js +97 -0
  298. package/script/src/wow/game_data/creature.d.ts +98 -0
  299. package/script/src/wow/game_data/creature.js +109 -0
  300. package/script/src/wow/game_data/guild_crest.d.ts +56 -0
  301. package/script/src/wow/game_data/guild_crest.js +43 -0
  302. package/script/src/wow/game_data/heirloom.d.ts +82 -0
  303. package/script/src/wow/game_data/heirloom.js +29 -0
  304. package/script/src/wow/game_data/housing.d.ts +111 -0
  305. package/script/src/wow/game_data/housing.js +138 -0
  306. package/script/src/wow/game_data/item.d.ts +183 -0
  307. package/script/src/wow/game_data/item.js +110 -0
  308. package/script/src/wow/game_data/item_appearance.d.ts +102 -0
  309. package/script/src/wow/game_data/item_appearance.js +81 -0
  310. package/script/src/wow/game_data/journal.d.ts +124 -0
  311. package/script/src/wow/game_data/journal.js +108 -0
  312. package/script/src/wow/game_data/keystone_affix.d.ts +39 -0
  313. package/script/src/wow/game_data/keystone_affix.js +43 -0
  314. package/script/src/wow/game_data/media_search.d.ts +9 -0
  315. package/script/src/wow/game_data/media_search.js +13 -0
  316. package/script/src/wow/game_data/modified_crafting.d.ts +65 -0
  317. package/script/src/wow/game_data/modified_crafting.js +69 -0
  318. package/script/src/wow/game_data/mount.d.ts +38 -0
  319. package/script/src/wow/game_data/mount.js +40 -0
  320. package/script/src/wow/game_data/mythic_keystone_dungeon.d.ts +92 -0
  321. package/script/src/wow/game_data/mythic_keystone_dungeon.js +96 -0
  322. package/script/src/wow/game_data/mythic_keystone_leaderboard.d.ts +70 -0
  323. package/script/src/wow/game_data/mythic_keystone_leaderboard.js +32 -0
  324. package/script/src/wow/game_data/mythic_raid_leaderboard.d.ts +36 -0
  325. package/script/src/wow/game_data/mythic_raid_leaderboard.js +17 -0
  326. package/script/src/wow/game_data/neighborhood.d.ts +36 -0
  327. package/script/src/wow/game_data/neighborhood.js +43 -0
  328. package/script/src/wow/game_data/pet.d.ts +93 -0
  329. package/script/src/wow/game_data/pet.js +84 -0
  330. package/script/src/wow/game_data/playable_class.d.ts +58 -0
  331. package/script/src/wow/game_data/playable_class.js +57 -0
  332. package/script/src/wow/game_data/playable_race.d.ts +31 -0
  333. package/script/src/wow/game_data/playable_race.js +29 -0
  334. package/script/src/wow/game_data/playable_specialization.d.ts +63 -0
  335. package/script/src/wow/game_data/playable_specialization.js +43 -0
  336. package/script/src/wow/game_data/power_type.d.ts +22 -0
  337. package/script/src/wow/game_data/power_type.js +29 -0
  338. package/script/src/wow/game_data/profession.d.ts +88 -0
  339. package/script/src/wow/game_data/profession.js +86 -0
  340. package/script/src/wow/game_data/pvp_season.d.ts +108 -0
  341. package/script/src/wow/game_data/pvp_season.js +73 -0
  342. package/script/src/wow/game_data/pvp_tier.d.ts +41 -0
  343. package/script/src/wow/game_data/pvp_tier.js +43 -0
  344. package/script/src/wow/game_data/quest.d.ts +116 -0
  345. package/script/src/wow/game_data/quest.js +110 -0
  346. package/script/src/wow/game_data/realm.d.ts +43 -0
  347. package/script/src/wow/game_data/realm.js +40 -0
  348. package/script/src/wow/game_data/region.d.ts +26 -0
  349. package/script/src/wow/game_data/region.js +29 -0
  350. package/script/src/wow/game_data/reputations.d.ts +57 -0
  351. package/script/src/wow/game_data/reputations.js +56 -0
  352. package/script/src/wow/game_data/spell.d.ts +34 -0
  353. package/script/src/wow/game_data/spell.js +41 -0
  354. package/script/src/wow/game_data/talent.d.ts +143 -0
  355. package/script/src/wow/game_data/talent.js +98 -0
  356. package/script/src/wow/game_data/tech_talent.d.ts +72 -0
  357. package/script/src/wow/game_data/tech_talent.js +70 -0
  358. package/script/src/wow/game_data/title.d.ts +33 -0
  359. package/script/src/wow/game_data/title.js +29 -0
  360. package/script/src/wow/game_data/token.d.ts +17 -0
  361. package/script/src/wow/game_data/token.js +21 -0
  362. package/script/src/wow/game_data/toy.d.ts +25 -0
  363. package/script/src/wow/game_data/toy.js +29 -0
  364. package/script/src/wow/index.d.ts +59 -0
  365. package/script/src/wow/index.js +272 -0
  366. package/script/src/wow/profile/account_profile.d.ts +185 -0
  367. package/script/src/wow/profile/account_profile.js +143 -0
  368. package/script/src/wow/profile/character_achievements.d.ts +88 -0
  369. package/script/src/wow/profile/character_achievements.js +32 -0
  370. package/script/src/wow/profile/character_appearance.d.ts +79 -0
  371. package/script/src/wow/profile/character_appearance.js +17 -0
  372. package/script/src/wow/profile/character_collections.d.ts +132 -0
  373. package/script/src/wow/profile/character_collections.js +107 -0
  374. package/script/src/wow/profile/character_encounters.d.ts +78 -0
  375. package/script/src/wow/profile/character_encounters.js +47 -0
  376. package/script/src/wow/profile/character_equipment.d.ts +177 -0
  377. package/script/src/wow/profile/character_equipment.js +17 -0
  378. package/script/src/wow/profile/character_house.d.ts +16 -0
  379. package/script/src/wow/profile/character_house.js +20 -0
  380. package/script/src/wow/profile/character_hunter_pets.d.ts +22 -0
  381. package/script/src/wow/profile/character_hunter_pets.js +17 -0
  382. package/script/src/wow/profile/character_media.d.ts +14 -0
  383. package/script/src/wow/profile/character_media.js +17 -0
  384. package/script/src/wow/profile/character_mythic_keystone_profile.d.ts +70 -0
  385. package/script/src/wow/profile/character_mythic_keystone_profile.js +35 -0
  386. package/script/src/wow/profile/character_professions.d.ts +29 -0
  387. package/script/src/wow/profile/character_professions.js +17 -0
  388. package/script/src/wow/profile/character_profile.d.ts +83 -0
  389. package/script/src/wow/profile/character_profile.js +43 -0
  390. package/script/src/wow/profile/character_pvp.d.ts +53 -0
  391. package/script/src/wow/profile/character_pvp.js +33 -0
  392. package/script/src/wow/profile/character_quests.d.ts +29 -0
  393. package/script/src/wow/profile/character_quests.js +32 -0
  394. package/script/src/wow/profile/character_reputations.d.ts +30 -0
  395. package/script/src/wow/profile/character_reputations.js +17 -0
  396. package/script/src/wow/profile/character_soulbinds.d.ts +31 -0
  397. package/script/src/wow/profile/character_soulbinds.js +17 -0
  398. package/script/src/wow/profile/character_specializations.d.ts +82 -0
  399. package/script/src/wow/profile/character_specializations.js +17 -0
  400. package/script/src/wow/profile/character_statistics.d.ts +104 -0
  401. package/script/src/wow/profile/character_statistics.js +17 -0
  402. package/script/src/wow/profile/character_titles.d.ts +14 -0
  403. package/script/src/wow/profile/character_titles.js +17 -0
  404. package/script/src/wow/profile/guild.d.ts +150 -0
  405. package/script/src/wow/profile/guild.js +62 -0
  406. package/script/src/wow/search.d.ts +23 -0
  407. package/script/src/wow/search.js +32 -0
  408. package/script/src/wow/types.d.ts +58 -0
  409. package/script/src/wow/types.js +2 -0
  410. package/script/src/wow_classic/auction_house.d.ts +41 -0
  411. package/script/src/wow_classic/auction_house.js +35 -0
  412. package/script/src/wow_classic/character_specializations.d.ts +45 -0
  413. package/script/src/wow_classic/character_specializations.js +21 -0
  414. package/script/src/wow_classic/era.d.ts +8 -0
  415. package/script/src/wow_classic/era.js +30 -0
  416. package/script/src/wow_classic/index.d.ts +15 -0
  417. package/script/src/wow_classic/index.js +55 -0
  418. package/script/src/wow_classic/profile_overrides.d.ts +125 -0
  419. package/script/src/wow_classic/profile_overrides.js +123 -0
  420. package/script/src/wow_classic/shared.d.ts +23 -0
  421. package/script/src/wow_classic/shared.js +81 -0
  422. package/script/src/wow_classic/types.d.ts +3 -0
  423. package/script/src/wow_classic/types.js +2 -0
@@ -0,0 +1,255 @@
1
+ /**
2
+ * This module provides the StarCraft II profile endpoints (static, metadata, profile, ladder summary and ladder) using
3
+ * the Blizzard API.
4
+ */
5
+ import type { ApiContext } from "../../shared/index.js";
6
+ export interface Sc2StaticAchievement {
7
+ categoryId: string;
8
+ chainAchievementIds: string[];
9
+ chainRewardSize: number;
10
+ criteriaIds: string[];
11
+ description: string;
12
+ flags: number;
13
+ id: string;
14
+ imageUrl: string;
15
+ isChained: boolean;
16
+ points: number;
17
+ title: string;
18
+ uiOrderHint: number;
19
+ }
20
+ export interface Sc2StaticCriterion {
21
+ achievementId: string;
22
+ description: string;
23
+ evaluationClass: string;
24
+ flags: number;
25
+ id: string;
26
+ necessaryQuantity: number;
27
+ uiOrderHint: number;
28
+ }
29
+ export interface Sc2StaticCategory {
30
+ childrenCategoryIds: string[];
31
+ featuredAchievementId: string;
32
+ id: string;
33
+ name: string;
34
+ parentCategoryId: string;
35
+ points: number;
36
+ uiOrderHint: number;
37
+ medalTiers: number[];
38
+ }
39
+ export interface Sc2StaticReward {
40
+ flags: number;
41
+ id: string;
42
+ achievementId: string;
43
+ name: string;
44
+ imageUrl: string;
45
+ unlockableType: string;
46
+ isSkin: boolean;
47
+ uiOrderHint: number;
48
+ command?: string;
49
+ }
50
+ export interface Sc2StaticProfile {
51
+ achievements: Sc2StaticAchievement[];
52
+ criteria: Sc2StaticCriterion[];
53
+ categories: Sc2StaticCategory[];
54
+ rewards: Sc2StaticReward[];
55
+ }
56
+ export interface Sc2ProfileMetadata {
57
+ name: string;
58
+ profileUrl: string;
59
+ avatarUrl: string;
60
+ profileId: string;
61
+ regionId: number;
62
+ realmId: number;
63
+ }
64
+ export interface Sc2ProfileSummary {
65
+ id: string;
66
+ realm: number;
67
+ displayName: string;
68
+ clanName: string;
69
+ clanTag: string;
70
+ portrait: string;
71
+ decalTerran: string;
72
+ decalProtoss: string;
73
+ decalZerg: string;
74
+ totalSwarmLevel: number;
75
+ totalAchievementPoints: number;
76
+ }
77
+ export interface Sc2SeasonSnapshotEntry {
78
+ rank: number;
79
+ leagueName: string | null;
80
+ totalGames: number;
81
+ totalWins: number;
82
+ }
83
+ export interface Sc2Career {
84
+ terranWins: number;
85
+ zergWins: number;
86
+ protossWins: number;
87
+ totalCareerGames: number;
88
+ totalGamesThisSeason: number;
89
+ current1v1LeagueName: string | null;
90
+ currentBestTeamLeagueName: string | null;
91
+ best1v1Finish: {
92
+ leagueName: string | null;
93
+ timesAchieved: number;
94
+ };
95
+ bestTeamFinish: {
96
+ leagueName: string | null;
97
+ timesAchieved: number;
98
+ };
99
+ }
100
+ export interface Sc2SwarmLevel {
101
+ level: number;
102
+ maxLevelPoints: number;
103
+ currentLevelPoints: number;
104
+ }
105
+ export interface Sc2SwarmLevels {
106
+ level: number;
107
+ terran: Sc2SwarmLevel;
108
+ zerg: Sc2SwarmLevel;
109
+ protoss: Sc2SwarmLevel;
110
+ }
111
+ export interface Sc2CategoryPointProgress {
112
+ categoryId: string;
113
+ pointsEarned: number;
114
+ }
115
+ export interface Sc2EarnedReward {
116
+ rewardId: string;
117
+ selected: boolean;
118
+ achievementId?: string;
119
+ category?: string;
120
+ }
121
+ export interface Sc2EarnedAchievement {
122
+ achievementId: string;
123
+ completionDate: number;
124
+ numCompletedAchievementsInSeries: number;
125
+ totalAchievementsInSeries: number;
126
+ isComplete: boolean;
127
+ inProgress: boolean;
128
+ criteria: unknown[];
129
+ nextProgressEarnedQuantity?: number;
130
+ nextProgressRequiredQuantity?: number;
131
+ }
132
+ export interface Sc2PlayerProfile {
133
+ summary: Sc2ProfileSummary;
134
+ snapshot: {
135
+ seasonSnapshot: Record<string, Sc2SeasonSnapshotEntry>;
136
+ totalRankedSeasonGamesPlayed: number;
137
+ };
138
+ career: Sc2Career;
139
+ swarmLevels: Sc2SwarmLevels;
140
+ campaign: Record<string, unknown>;
141
+ categoryPointProgress: Sc2CategoryPointProgress[];
142
+ achievementShowcase: unknown[];
143
+ earnedRewards: Sc2EarnedReward[];
144
+ earnedAchievements: Sc2EarnedAchievement[];
145
+ }
146
+ export interface Sc2LadderTeamMember {
147
+ id: string;
148
+ realm: number;
149
+ region: number;
150
+ displayName: string;
151
+ clanTag?: string;
152
+ favoriteRace: string;
153
+ }
154
+ export interface Sc2LadderTeam {
155
+ teamMembers: Sc2LadderTeamMember[];
156
+ previousRank: number;
157
+ points: number;
158
+ wins: number;
159
+ losses: number;
160
+ mmr: number;
161
+ joinTimestamp: number;
162
+ }
163
+ export interface Sc2LadderMembership {
164
+ ladderId: string;
165
+ localizedGameMode: string;
166
+ rank: number;
167
+ }
168
+ export interface Sc2LadderShowcaseEntry {
169
+ ladderId: string;
170
+ team: {
171
+ localizedGameMode: string;
172
+ members: {
173
+ favoriteRace: string;
174
+ name: string;
175
+ playerId: string;
176
+ region: number;
177
+ }[];
178
+ };
179
+ leagueName: string;
180
+ localizedDivisionName: string;
181
+ rank: number;
182
+ wins: number;
183
+ losses: number;
184
+ }
185
+ export interface Sc2PlacementMatch {
186
+ localizedGameMode: string;
187
+ members: {
188
+ name: string;
189
+ playerId: string;
190
+ region: number;
191
+ }[];
192
+ gamesRemaining: number;
193
+ }
194
+ export interface Sc2LadderSummary {
195
+ showCaseEntries: Sc2LadderShowcaseEntry[];
196
+ placementMatches: Sc2PlacementMatch[];
197
+ allLadderMemberships: Sc2LadderMembership[];
198
+ }
199
+ export interface Sc2Ladder {
200
+ ladderTeams: Sc2LadderTeam[];
201
+ allLadderMemberships: Sc2LadderMembership[];
202
+ league: string;
203
+ currentLadderMembership: {
204
+ ladderId: string;
205
+ localizedGameMode: string;
206
+ };
207
+ ranksAndPools: {
208
+ rank: number;
209
+ mmr: number;
210
+ }[];
211
+ }
212
+ /**
213
+ * Returns the static StarCraft II profile data (achievements, criteria, categories and rewards) for a region.
214
+ *
215
+ * @param regionId - The region: 1=US, 2=EU, 3=KR/TW, 5=CN.
216
+ * @returns A promise that resolves to an object representing the static profile data.
217
+ */
218
+ export declare function staticProfile(ctx: ApiContext, regionId: number): Promise<Sc2StaticProfile>;
219
+ /**
220
+ * Returns the metadata of a StarCraft II profile.
221
+ *
222
+ * @param regionId - The region: 1=US, 2=EU, 3=KR/TW, 5=CN.
223
+ * @param realmId - The realm: 1 or 2.
224
+ * @param profileId - The unique identifier for the profile.
225
+ * @returns A promise that resolves to an object representing the profile metadata.
226
+ */
227
+ export declare function metadataProfile(ctx: ApiContext, regionId: number, realmId: number, profileId: number): Promise<Sc2ProfileMetadata>;
228
+ /**
229
+ * Returns a StarCraft II profile.
230
+ *
231
+ * @param regionId - The region: 1=US, 2=EU, 3=KR/TW, 5=CN.
232
+ * @param realmId - The realm: 1 or 2.
233
+ * @param profileId - The unique identifier for the profile.
234
+ * @returns A promise that resolves to an object representing the profile.
235
+ */
236
+ export declare function profile(ctx: ApiContext, regionId: number, realmId: number, profileId: number): Promise<Sc2PlayerProfile>;
237
+ /**
238
+ * Returns the ladder summary of a StarCraft II profile.
239
+ *
240
+ * @param regionId - The region: 1=US, 2=EU, 3=KR/TW, 5=CN.
241
+ * @param realmId - The realm: 1 or 2.
242
+ * @param profileId - The unique identifier for the profile.
243
+ * @returns A promise that resolves to an object representing the ladder summary.
244
+ */
245
+ export declare function ladderSummary(ctx: ApiContext, regionId: number, realmId: number, profileId: number): Promise<Sc2LadderSummary>;
246
+ /**
247
+ * Returns a StarCraft II ladder.
248
+ *
249
+ * @param regionId - The region: 1=US, 2=EU, 3=KR/TW, 5=CN.
250
+ * @param realmId - The realm: 1 or 2.
251
+ * @param profileId - The unique identifier for the profile.
252
+ * @param ladderId - The unique identifier for the ladder.
253
+ * @returns A promise that resolves to an object representing the ladder.
254
+ */
255
+ export declare function ladder(ctx: ApiContext, regionId: number, realmId: number, profileId: number, ladderId: string): Promise<Sc2Ladder>;
@@ -0,0 +1,73 @@
1
+ /**
2
+ * This module provides the StarCraft II profile endpoints (static, metadata, profile, ladder summary and ladder) using
3
+ * the Blizzard API.
4
+ */
5
+ /**
6
+ * Returns the static StarCraft II profile data (achievements, criteria, categories and rewards) for a region.
7
+ *
8
+ * @param regionId - The region: 1=US, 2=EU, 3=KR/TW, 5=CN.
9
+ * @returns A promise that resolves to an object representing the static profile data.
10
+ */
11
+ export async function staticProfile(ctx, regionId) {
12
+ return await ctx.request({
13
+ method: "GET",
14
+ url: `/sc2/static/profile/${regionId}`,
15
+ });
16
+ }
17
+ /**
18
+ * Returns the metadata of a StarCraft II profile.
19
+ *
20
+ * @param regionId - The region: 1=US, 2=EU, 3=KR/TW, 5=CN.
21
+ * @param realmId - The realm: 1 or 2.
22
+ * @param profileId - The unique identifier for the profile.
23
+ * @returns A promise that resolves to an object representing the profile metadata.
24
+ */
25
+ export async function metadataProfile(ctx, regionId, realmId, profileId) {
26
+ return await ctx.request({
27
+ method: "GET",
28
+ url: `/sc2/metadata/profile/${regionId}/${realmId}/${profileId}`,
29
+ });
30
+ }
31
+ /**
32
+ * Returns a StarCraft II profile.
33
+ *
34
+ * @param regionId - The region: 1=US, 2=EU, 3=KR/TW, 5=CN.
35
+ * @param realmId - The realm: 1 or 2.
36
+ * @param profileId - The unique identifier for the profile.
37
+ * @returns A promise that resolves to an object representing the profile.
38
+ */
39
+ export async function profile(ctx, regionId, realmId, profileId) {
40
+ return await ctx.request({
41
+ method: "GET",
42
+ url: `/sc2/profile/${regionId}/${realmId}/${profileId}`,
43
+ });
44
+ }
45
+ /**
46
+ * Returns the ladder summary of a StarCraft II profile.
47
+ *
48
+ * @param regionId - The region: 1=US, 2=EU, 3=KR/TW, 5=CN.
49
+ * @param realmId - The realm: 1 or 2.
50
+ * @param profileId - The unique identifier for the profile.
51
+ * @returns A promise that resolves to an object representing the ladder summary.
52
+ */
53
+ export async function ladderSummary(ctx, regionId, realmId, profileId) {
54
+ return await ctx.request({
55
+ method: "GET",
56
+ url: `/sc2/profile/${regionId}/${realmId}/${profileId}/ladder/summary`,
57
+ });
58
+ }
59
+ /**
60
+ * Returns a StarCraft II ladder.
61
+ *
62
+ * @param regionId - The region: 1=US, 2=EU, 3=KR/TW, 5=CN.
63
+ * @param realmId - The realm: 1 or 2.
64
+ * @param profileId - The unique identifier for the profile.
65
+ * @param ladderId - The unique identifier for the ladder.
66
+ * @returns A promise that resolves to an object representing the ladder.
67
+ */
68
+ export async function ladder(ctx, regionId, realmId, profileId, ladderId) {
69
+ return await ctx.request({
70
+ method: "GET",
71
+ url: `/sc2/profile/${regionId}/${realmId}/${profileId}/ladder/${ladderId}`,
72
+ });
73
+ }
@@ -0,0 +1,35 @@
1
+ import type { ApiContext } from "../../shared/index.js";
2
+ import type { LinkSelfHref } from "../../shared/index.js";
3
+ export interface League extends LinkSelfHref {
4
+ key: {
5
+ league_id: number;
6
+ season_id: number;
7
+ queue_id: number;
8
+ team_type: number;
9
+ };
10
+ tier: {
11
+ id: number;
12
+ min_rating?: number;
13
+ max_rating?: number;
14
+ division: {
15
+ id: number;
16
+ ladder_id: number;
17
+ member_count: number;
18
+ }[];
19
+ }[];
20
+ }
21
+ /**
22
+ * Returns data for the specified season, queue, team, and league.
23
+ *
24
+ * Notes from the battle.net docs:
25
+ * queueId: the standard available queueIds are: 1=WoL 1v1, 2=WoL 2v2, 3=WoL 3v3, 4=WoL 4v4, 101=HotS 1v1, 102=HotS 2v2, 103=HotS 3v3, 104=HotS 4v4, 201=LotV 1v1, 202=LotV 2v2, 203=LotV 3v3, 204=LotV 4v4, 206=LotV Archon. Note that other available queues may not be listed here.
26
+ * teamType: there are two available teamTypes: 0=arranged, 1=random.
27
+ * leagueId: available leagueIds are: 0=Bronze, 1=Silver, 2=Gold, 3=Platinum, 4=Diamond, 5=Master, 6=Grandmaster.
28
+ *
29
+ * @param seasonId - The season ID of the data to retrieve.
30
+ * @param queueId - The queue ID of the data to retrieve.
31
+ * @param teamType - The team type of the data to retrieve.
32
+ * @param leagueId - The league ID of the data to retrieve.
33
+ * @returns A promise that resolves to an object representing the data for a league.
34
+ */
35
+ export declare function leagueData(ctx: ApiContext, seasonId: number, queueId: number, teamType: number, leagueId: number): Promise<League>;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Returns data for the specified season, queue, team, and league.
3
+ *
4
+ * Notes from the battle.net docs:
5
+ * queueId: the standard available queueIds are: 1=WoL 1v1, 2=WoL 2v2, 3=WoL 3v3, 4=WoL 4v4, 101=HotS 1v1, 102=HotS 2v2, 103=HotS 3v3, 104=HotS 4v4, 201=LotV 1v1, 202=LotV 2v2, 203=LotV 3v3, 204=LotV 4v4, 206=LotV Archon. Note that other available queues may not be listed here.
6
+ * teamType: there are two available teamTypes: 0=arranged, 1=random.
7
+ * leagueId: available leagueIds are: 0=Bronze, 1=Silver, 2=Gold, 3=Platinum, 4=Diamond, 5=Master, 6=Grandmaster.
8
+ *
9
+ * @param seasonId - The season ID of the data to retrieve.
10
+ * @param queueId - The queue ID of the data to retrieve.
11
+ * @param teamType - The team type of the data to retrieve.
12
+ * @param leagueId - The league ID of the data to retrieve.
13
+ * @returns A promise that resolves to an object representing the data for a league.
14
+ */
15
+ export async function leagueData(ctx, seasonId, queueId, teamType, leagueId) {
16
+ return await ctx.request({
17
+ method: "GET",
18
+ url: `/data/sc2/league/${seasonId}/${queueId}/${teamType}/${leagueId}`,
19
+ });
20
+ }
@@ -0,0 +1,5 @@
1
+ export { leagueData } from "./game_data/league.js";
2
+ export { ladder, ladderSummary, metadataProfile, profile, staticProfile } from "./community/profile.js";
3
+ export { grandmasterLeaderboard, season } from "./community/ladder.js";
4
+ export { player } from "./community/account.js";
5
+ export { legacyAchievements, legacyLadder, legacyLadders, legacyMatches, legacyProfile, legacyRewards, } from "./community/legacy.js";
@@ -0,0 +1,5 @@
1
+ export { leagueData } from "./game_data/league.js";
2
+ export { ladder, ladderSummary, metadataProfile, profile, staticProfile } from "./community/profile.js";
3
+ export { grandmasterLeaderboard, season } from "./community/ladder.js";
4
+ export { player } from "./community/account.js";
5
+ export { legacyAchievements, legacyLadder, legacyLadders, legacyMatches, legacyProfile, legacyRewards, } from "./community/legacy.js";
@@ -0,0 +1,5 @@
1
+ export type { Sc2Player } from "./community/account.js";
2
+ export type { Sc2GrandmasterLeaderboard, Sc2Season } from "./community/ladder.js";
3
+ export type { Sc2LegacyAchievement, Sc2LegacyAchievementCategory, Sc2LegacyAchievements, Sc2LegacyAchievementsSummary, Sc2LegacyCareer, Sc2LegacyCharacter, Sc2LegacyIcon, Sc2LegacyLadder, Sc2LegacyLadderGroup, Sc2LegacyLadders, Sc2LegacyMatch, Sc2LegacyMatches, Sc2LegacyProfile, Sc2LegacyReward, Sc2LegacyRewards, Sc2LegacySeason, Sc2LegacySwarmLevel, Sc2LegacySwarmLevels, } from "./community/legacy.js";
4
+ export type { Sc2Career, Sc2CategoryPointProgress, Sc2EarnedAchievement, Sc2EarnedReward, Sc2Ladder, Sc2LadderMembership, Sc2LadderShowcaseEntry, Sc2LadderSummary, Sc2LadderTeam, Sc2LadderTeamMember, Sc2PlacementMatch, Sc2PlayerProfile, Sc2ProfileMetadata, Sc2ProfileSummary, Sc2SeasonSnapshotEntry, Sc2StaticAchievement, Sc2StaticCategory, Sc2StaticCriterion, Sc2StaticProfile, Sc2StaticReward, Sc2SwarmLevel, Sc2SwarmLevels, } from "./community/profile.js";
5
+ export type { League } from "./game_data/league.js";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,87 @@
1
+ /**
2
+ * This module provides interfaces and API function definitions for fetching World of Warcraft achievement data using the Blizzard API.
3
+ *
4
+ * @author Pinta <https://github.com/Pinta365>
5
+ */
6
+ import type { ApiContext } from "../../shared/index.js";
7
+ import type { Asset, KeyId, KeyNameId, LinkSelfHref, LocalizedString, NamedRef } from "../../shared/index.js";
8
+ export interface AchievementCategories extends LinkSelfHref {
9
+ categories: KeyNameId[];
10
+ root_categories: NamedRef[];
11
+ guild_categories: NamedRef[];
12
+ }
13
+ export interface AggregatesByFaction {
14
+ alliance: {
15
+ quantity: number;
16
+ points: number;
17
+ };
18
+ horde: {
19
+ quantity: number;
20
+ points: number;
21
+ };
22
+ }
23
+ export interface AchievementCategory extends LinkSelfHref {
24
+ id: number;
25
+ name: LocalizedString;
26
+ achievements?: KeyNameId[];
27
+ parent_category?: KeyNameId;
28
+ is_guild_category: boolean;
29
+ aggregates_by_faction: AggregatesByFaction;
30
+ display_order: number;
31
+ }
32
+ export interface Achievements extends LinkSelfHref {
33
+ achievements: KeyNameId[];
34
+ }
35
+ export interface Achievement extends LinkSelfHref {
36
+ id: number;
37
+ category: KeyNameId;
38
+ name: LocalizedString;
39
+ description: LocalizedString;
40
+ points: number;
41
+ is_account_wide: boolean;
42
+ criteria?: {
43
+ id: number;
44
+ description: LocalizedString;
45
+ amount: number;
46
+ };
47
+ next_achievement?: KeyNameId;
48
+ media: KeyId;
49
+ display_order: number;
50
+ }
51
+ export interface AchievementMedia extends LinkSelfHref {
52
+ assets: Asset[];
53
+ id: number;
54
+ }
55
+ /**
56
+ * Fetches and returns an index of achievement categories.
57
+ *
58
+ * @returns A promise that resolves to an object representing the index of achievement categories.
59
+ */
60
+ export declare function achievementCategories(ctx: ApiContext): Promise<AchievementCategories>;
61
+ /**
62
+ * Fetches and returns details of a specific achievement category identified by its ID.
63
+ *
64
+ * @param achievementCategoryId - The unique identifier of the achievement category to retrieve.
65
+ * @returns A promise that resolves to an object representing the achievement category details.
66
+ */
67
+ export declare function achievementCategory(ctx: ApiContext, achievementCategoryId: number): Promise<AchievementCategory>;
68
+ /**
69
+ * Fetches and returns an index of achievements.
70
+ *
71
+ * @returns A promise that resolves to an object representing the index of achievements.
72
+ */
73
+ export declare function achievements(ctx: ApiContext): Promise<Achievements>;
74
+ /**
75
+ * Fetches and returns details of a specific achievement identified by its ID.
76
+ *
77
+ * @param achievementId - The unique identifier of the achievement to retrieve.
78
+ * @returns A promise that resolves to an object representing the achievement details.
79
+ */
80
+ export declare function achievement(ctx: ApiContext, achievementId: number): Promise<Achievement>;
81
+ /**
82
+ * Fetches and returns media details for a specific achievement identified by its ID.
83
+ *
84
+ * @param achievementId - The unique identifier of the achievement to retrieve media details for.
85
+ * @returns A promise that resolves to an object representing the achievement media details.
86
+ */
87
+ export declare function achievementMedia(ctx: ApiContext, achievementId: number): Promise<AchievementMedia>;
@@ -0,0 +1,68 @@
1
+ /**
2
+ * This module provides interfaces and API function definitions for fetching World of Warcraft achievement data using the Blizzard API.
3
+ *
4
+ * @author Pinta <https://github.com/Pinta365>
5
+ */
6
+ /**
7
+ * Fetches and returns an index of achievement categories.
8
+ *
9
+ * @returns A promise that resolves to an object representing the index of achievement categories.
10
+ */
11
+ export async function achievementCategories(ctx) {
12
+ return await ctx.request({
13
+ method: "GET",
14
+ url: "/data/wow/achievement-category/index",
15
+ namespace: "static",
16
+ });
17
+ }
18
+ /**
19
+ * Fetches and returns details of a specific achievement category identified by its ID.
20
+ *
21
+ * @param achievementCategoryId - The unique identifier of the achievement category to retrieve.
22
+ * @returns A promise that resolves to an object representing the achievement category details.
23
+ */
24
+ export async function achievementCategory(ctx, achievementCategoryId) {
25
+ return await ctx.request({
26
+ method: "GET",
27
+ url: `/data/wow/achievement-category/${achievementCategoryId}`,
28
+ namespace: "static",
29
+ });
30
+ }
31
+ /**
32
+ * Fetches and returns an index of achievements.
33
+ *
34
+ * @returns A promise that resolves to an object representing the index of achievements.
35
+ */
36
+ export async function achievements(ctx) {
37
+ return await ctx.request({
38
+ method: "GET",
39
+ url: "/data/wow/achievement/index",
40
+ namespace: "static",
41
+ });
42
+ }
43
+ /**
44
+ * Fetches and returns details of a specific achievement identified by its ID.
45
+ *
46
+ * @param achievementId - The unique identifier of the achievement to retrieve.
47
+ * @returns A promise that resolves to an object representing the achievement details.
48
+ */
49
+ export async function achievement(ctx, achievementId) {
50
+ return await ctx.request({
51
+ method: "GET",
52
+ url: `/data/wow/achievement/${achievementId}`,
53
+ namespace: "static",
54
+ });
55
+ }
56
+ /**
57
+ * Fetches and returns media details for a specific achievement identified by its ID.
58
+ *
59
+ * @param achievementId - The unique identifier of the achievement to retrieve media details for.
60
+ * @returns A promise that resolves to an object representing the achievement media details.
61
+ */
62
+ export async function achievementMedia(ctx, achievementId) {
63
+ return await ctx.request({
64
+ method: "GET",
65
+ url: `/data/wow/media/achievement/${achievementId}`,
66
+ namespace: "static",
67
+ });
68
+ }
@@ -0,0 +1,65 @@
1
+ import type { ApiContext } from "../../shared/index.js";
2
+ import type { LinkSelfHref } from "../../shared/index.js";
3
+ export interface AuctionItem {
4
+ id: number;
5
+ modifiers?: {
6
+ type: number;
7
+ value: number;
8
+ }[];
9
+ pet_breed_id?: number;
10
+ pet_level?: number;
11
+ pet_quality_id?: number;
12
+ pet_species_id?: number;
13
+ bonus_lists?: number[];
14
+ context?: number;
15
+ }
16
+ export interface AuctionListing {
17
+ id: number;
18
+ item: AuctionItem;
19
+ bid?: number;
20
+ buyout?: number;
21
+ quantity: number;
22
+ time_left: string;
23
+ }
24
+ export interface Auctions extends LinkSelfHref {
25
+ connected_realm: {
26
+ href: string;
27
+ };
28
+ auctions: AuctionListing[];
29
+ commodities: {
30
+ href: string;
31
+ };
32
+ }
33
+ export interface commodity {
34
+ "id": number;
35
+ "item": {
36
+ "id": number;
37
+ };
38
+ "quantity": number;
39
+ "unit_price": number;
40
+ "time_left": string;
41
+ }
42
+ export interface Commodities extends LinkSelfHref {
43
+ auctions: commodity[];
44
+ }
45
+ /**
46
+ * Returns all active auctions for a connected realm.
47
+ *
48
+ * Auction house data updates at a set interval. The value was initially set at 1 hour; however, it might change over time without notice.
49
+ *
50
+ * NOTE: Depending on the number of active auctions on the specified connected realm, the response from this endpoint may be rather large.
51
+ *
52
+ * @param connectedRealmId - The id of the connected realm to return auctions from.
53
+ * @returns A promise that resolves to an object representing the auctions being listed.
54
+ */
55
+ export declare function auctions(ctx: ApiContext, connectedRealmId: number): Promise<Auctions>;
56
+ /**
57
+ * Returns all active auctions for commodity items for the entire game region.
58
+ *
59
+ * Auction house data updates at a set interval. The value was initially set at 1 hour; however, it might change over time without notice.
60
+ *
61
+ * NOTE: Depending on the number of active auctions on the specified region, the response from this endpoint may be rather large.
62
+ *
63
+ * @returns A promise that resolves to an object representing the commodities being listed.
64
+ */
65
+ export declare function commodities(ctx: ApiContext): Promise<Commodities>;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Returns all active auctions for a connected realm.
3
+ *
4
+ * Auction house data updates at a set interval. The value was initially set at 1 hour; however, it might change over time without notice.
5
+ *
6
+ * NOTE: Depending on the number of active auctions on the specified connected realm, the response from this endpoint may be rather large.
7
+ *
8
+ * @param connectedRealmId - The id of the connected realm to return auctions from.
9
+ * @returns A promise that resolves to an object representing the auctions being listed.
10
+ */
11
+ export async function auctions(ctx, connectedRealmId) {
12
+ return await ctx.request({
13
+ method: "GET",
14
+ url: `/data/wow/connected-realm/${connectedRealmId}/auctions`,
15
+ namespace: "dynamic",
16
+ });
17
+ }
18
+ /**
19
+ * Returns all active auctions for commodity items for the entire game region.
20
+ *
21
+ * Auction house data updates at a set interval. The value was initially set at 1 hour; however, it might change over time without notice.
22
+ *
23
+ * NOTE: Depending on the number of active auctions on the specified region, the response from this endpoint may be rather large.
24
+ *
25
+ * @returns A promise that resolves to an object representing the commodities being listed.
26
+ */
27
+ export async function commodities(ctx) {
28
+ return await ctx.request({
29
+ method: "GET",
30
+ url: "/data/wow/auctions/commodities",
31
+ namespace: "dynamic",
32
+ });
33
+ }