poe-api-manager 1.2.23 → 2.1.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 (180) hide show
  1. package/Changelog.md +39 -0
  2. package/README.md +142 -21
  3. package/dist/index.d.ts +5 -0
  4. package/dist/index.js +12 -0
  5. package/dist/lib/AbstractClass/PoeNinja.js +1 -1
  6. package/dist/lib/AbstractClass/PoeNinjaLeaf.d.ts +8 -0
  7. package/dist/lib/AbstractClass/PoeNinjaLeaf.js +14 -0
  8. package/dist/lib/AbstractClass/PoeWatch.js +1 -1
  9. package/dist/lib/AbstractClass/PoeWatchLeaf.d.ts +8 -0
  10. package/dist/lib/AbstractClass/PoeWatchLeaf.js +14 -0
  11. package/dist/lib/NinjaAPI.js +2 -2
  12. package/dist/lib/Poe2NinjaAPI.d.ts +25 -0
  13. package/dist/lib/Poe2NinjaAPI.js +35 -0
  14. package/dist/lib/Poe2WatchAPI.d.ts +17 -0
  15. package/dist/lib/Poe2WatchAPI.js +26 -0
  16. package/dist/lib/Utils.d.ts +14 -0
  17. package/dist/lib/Utils.js +21 -12
  18. package/dist/lib/errors/CustomError.js +4 -1
  19. package/dist/lib/mainfunctions/propertyFilter.js +4 -7
  20. package/dist/lib/modules/poe.ninja/currencyView/{currencySubModules/submodules/CurrencyModule.d.ts → CurrencyModule.d.ts} +1 -1
  21. package/dist/lib/modules/poe.ninja/currencyView/{currencySubModules/submodules/CurrencyModule.js → CurrencyModule.js} +4 -4
  22. package/dist/lib/modules/poe.ninja/currencyView/CurrencyViewModule.d.ts +5 -5
  23. package/dist/lib/modules/poe.ninja/currencyView/CurrencyViewModule.js +8 -27
  24. package/dist/lib/modules/poe.ninja/fetch/fetchData.js +17 -8
  25. package/dist/lib/modules/poe.ninja/fetch/merge/mergeData.js +7 -7
  26. package/dist/lib/modules/poe.ninja/fetch/merge/mergeExchangeData.d.ts +10 -0
  27. package/dist/lib/modules/poe.ninja/fetch/merge/mergeExchangeData.js +32 -0
  28. package/dist/lib/modules/poe.ninja/func/getData.js +7 -12
  29. package/dist/lib/modules/poe.ninja/func/getQuickCurrency.js +14 -14
  30. package/dist/lib/modules/poe.ninja/func/urlGenerator.js +18 -2
  31. package/dist/lib/modules/poe.ninja/itemView/ItemViewModule.d.ts +58 -119
  32. package/dist/lib/modules/poe.ninja/itemView/ItemViewModule.js +71 -142
  33. package/dist/lib/modules/poe.ninja/poe2/Poe2ExchangeView.d.ts +26 -0
  34. package/dist/lib/modules/poe.ninja/poe2/Poe2ExchangeView.js +55 -0
  35. package/dist/lib/modules/poe.ninja/poe2/Poe2ItemView.d.ts +20 -0
  36. package/dist/lib/modules/poe.ninja/poe2/Poe2ItemView.js +45 -0
  37. package/dist/lib/modules/poe.ninja/poe2/PoeNinja2.d.ts +26 -0
  38. package/dist/lib/modules/poe.ninja/poe2/PoeNinja2.js +48 -0
  39. package/dist/lib/modules/poe.ninja/poe2/fetchData2.d.ts +12 -0
  40. package/dist/lib/modules/poe.ninja/poe2/fetchData2.js +57 -0
  41. package/dist/lib/modules/poe.ninja/poe2/getData2.d.ts +11 -0
  42. package/dist/lib/modules/poe.ninja/poe2/getData2.js +26 -0
  43. package/dist/lib/modules/poe.ninja/poe2/urlGenerator2.d.ts +9 -0
  44. package/dist/lib/modules/poe.ninja/poe2/urlGenerator2.js +21 -0
  45. package/dist/lib/modules/poe.watch/WatchViewModule.d.ts +46 -84
  46. package/dist/lib/modules/poe.watch/WatchViewModule.js +58 -108
  47. package/dist/lib/modules/poe.watch/allModules/subModules/AccessoryModule.js +1 -6
  48. package/dist/lib/modules/poe.watch/allModules/subModules/ArmourModule.js +1 -6
  49. package/dist/lib/modules/poe.watch/allModules/subModules/BaseModule.js +1 -6
  50. package/dist/lib/modules/poe.watch/allModules/subModules/GemModule.js +1 -6
  51. package/dist/lib/modules/poe.watch/allModules/subModules/WeaponModule.js +1 -6
  52. package/dist/lib/modules/poe.watch/fetch/watchFetch.js +2 -5
  53. package/dist/lib/modules/poe.watch/func/WatchUrlGenerator.js +2 -2
  54. package/dist/lib/modules/poe.watch/func/getCategory.js +6 -3
  55. package/dist/lib/modules/poe.watch/func/getData.js +8 -13
  56. package/dist/lib/modules/poe.watch/poe2/Poe2ExchangeModule.d.ts +30 -0
  57. package/dist/lib/modules/poe.watch/poe2/Poe2ExchangeModule.js +53 -0
  58. package/dist/lib/modules/poe.watch/poe2/filterByCategory.d.ts +9 -0
  59. package/dist/lib/modules/poe.watch/poe2/filterByCategory.js +14 -0
  60. package/dist/lib/modules/poe.watch/poe2/getCategory2.d.ts +9 -0
  61. package/dist/lib/modules/poe.watch/poe2/getCategory2.js +40 -0
  62. package/dist/lib/modules/poe.watch/poe2/getData2.d.ts +9 -0
  63. package/dist/lib/modules/poe.watch/poe2/getData2.js +24 -0
  64. package/dist/lib/modules/poe.watch/poe2/unwrapItems.d.ts +11 -0
  65. package/dist/lib/modules/poe.watch/poe2/unwrapItems.js +21 -0
  66. package/dist/lib/modules/poe.watch/poe2/watchFetch2.d.ts +8 -0
  67. package/dist/lib/modules/poe.watch/poe2/watchFetch2.js +43 -0
  68. package/dist/lib/modules/poe.watch/poe2/watchUrlGenerator2.d.ts +8 -0
  69. package/dist/lib/modules/poe.watch/poe2/watchUrlGenerator2.js +13 -0
  70. package/dist/lib/modules/utils/getLeagues.js +2 -2
  71. package/dist/lib/modules/utils/getNinjaLeagues.d.ts +8 -0
  72. package/dist/lib/modules/utils/getNinjaLeagues.js +36 -0
  73. package/dist/lib/modules/utils/httpGet.d.ts +9 -0
  74. package/dist/lib/modules/utils/httpGet.js +23 -0
  75. package/package.json +14 -9
  76. package/CODE_OF_CONDUCT.md +0 -77
  77. package/CONTRIBUTING.md +0 -56
  78. package/SECURITY.md +0 -14
  79. package/dist/index.min.js +0 -1
  80. package/dist/lib/modules/poe.ninja/currencyView/currencySubModules/CurrencySubModules.d.ts +0 -2
  81. package/dist/lib/modules/poe.ninja/currencyView/currencySubModules/CurrencySubModules.js +0 -18
  82. package/dist/lib/modules/poe.ninja/currencyView/currencySubModules/submodules/FragmentModule.d.ts +0 -14
  83. package/dist/lib/modules/poe.ninja/currencyView/currencySubModules/submodules/FragmentModule.js +0 -26
  84. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/itemSubModules.d.ts +0 -29
  85. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/itemSubModules.js +0 -45
  86. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/AllflameEmberModule.d.ts +0 -12
  87. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/AllflameEmberModule.js +0 -23
  88. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/BaseTypeModule.d.ts +0 -12
  89. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/BaseTypeModule.js +0 -23
  90. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/BeastModule.d.ts +0 -12
  91. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/BeastModule.js +0 -23
  92. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/BlightRavagedMapModule.d.ts +0 -12
  93. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/BlightRavagedMapModule.js +0 -23
  94. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/BlightedMapModule.d.ts +0 -12
  95. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/BlightedMapModule.js +0 -23
  96. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/ClusterJewelModule.d.ts +0 -12
  97. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/ClusterJewelModule.js +0 -23
  98. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/CoffinModule.d.ts +0 -12
  99. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/CoffinModule.js +0 -22
  100. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/DeliriumOrbsModule.d.ts +0 -12
  101. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/DeliriumOrbsModule.js +0 -22
  102. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/DivinationCardModule.d.ts +0 -12
  103. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/DivinationCardModule.js +0 -22
  104. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/EssenceModule.d.ts +0 -12
  105. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/EssenceModule.js +0 -22
  106. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/FossilModule.d.ts +0 -12
  107. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/FossilModule.js +0 -22
  108. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/HelmetEnchantModule.d.ts +0 -12
  109. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/HelmetEnchantModule.js +0 -22
  110. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/IncubatorModule.d.ts +0 -12
  111. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/IncubatorModule.js +0 -22
  112. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/InvitationModule.d.ts +0 -12
  113. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/InvitationModule.js +0 -22
  114. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/MapModule.d.ts +0 -12
  115. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/MapModule.js +0 -22
  116. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/MemoryModule.d.ts +0 -12
  117. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/MemoryModule.js +0 -22
  118. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/OilModule.d.ts +0 -12
  119. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/OilModule.js +0 -22
  120. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/OmenModule.d.ts +0 -12
  121. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/OmenModule.js +0 -22
  122. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/ResonatorModule.d.ts +0 -12
  123. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/ResonatorModule.js +0 -22
  124. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/ScarabModule.d.ts +0 -12
  125. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/ScarabModule.js +0 -22
  126. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/SkillGemModule.d.ts +0 -12
  127. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/SkillGemModule.js +0 -22
  128. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/UniqueAccessoryModule.d.ts +0 -12
  129. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/UniqueAccessoryModule.js +0 -22
  130. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/UniqueArmourModule.d.ts +0 -12
  131. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/UniqueArmourModule.js +0 -22
  132. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/UniqueFlaskModule.d.ts +0 -12
  133. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/UniqueFlaskModule.js +0 -22
  134. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/UniqueJewelModule.d.ts +0 -12
  135. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/UniqueJewelModule.js +0 -22
  136. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/UniqueMapModule.d.ts +0 -12
  137. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/UniqueMapModule.js +0 -22
  138. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/UniqueRelicModule.d.ts +0 -12
  139. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/UniqueRelicModule.js +0 -22
  140. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/UniqueWeaponModule.d.ts +0 -12
  141. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/UniqueWeaponModule.js +0 -22
  142. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/VialsModule.d.ts +0 -12
  143. package/dist/lib/modules/poe.ninja/itemView/itemSubmodules/subModules/VialsModule.js +0 -22
  144. package/dist/lib/modules/poe.watch/allModules/Modules.d.ts +0 -21
  145. package/dist/lib/modules/poe.watch/allModules/Modules.js +0 -37
  146. package/dist/lib/modules/poe.watch/allModules/subModules/BeastModule.d.ts +0 -11
  147. package/dist/lib/modules/poe.watch/allModules/subModules/BeastModule.js +0 -21
  148. package/dist/lib/modules/poe.watch/allModules/subModules/CurrencyModule.d.ts +0 -11
  149. package/dist/lib/modules/poe.watch/allModules/subModules/CurrencyModule.js +0 -21
  150. package/dist/lib/modules/poe.watch/allModules/subModules/DeliriumOrbModule.d.ts +0 -11
  151. package/dist/lib/modules/poe.watch/allModules/subModules/DeliriumOrbModule.js +0 -21
  152. package/dist/lib/modules/poe.watch/allModules/subModules/DivsModule.d.ts +0 -11
  153. package/dist/lib/modules/poe.watch/allModules/subModules/DivsModule.js +0 -21
  154. package/dist/lib/modules/poe.watch/allModules/subModules/EssenceModule.d.ts +0 -11
  155. package/dist/lib/modules/poe.watch/allModules/subModules/EssenceModule.js +0 -21
  156. package/dist/lib/modules/poe.watch/allModules/subModules/FlaskModule.d.ts +0 -11
  157. package/dist/lib/modules/poe.watch/allModules/subModules/FlaskModule.js +0 -21
  158. package/dist/lib/modules/poe.watch/allModules/subModules/FossilModule.d.ts +0 -11
  159. package/dist/lib/modules/poe.watch/allModules/subModules/FossilModule.js +0 -21
  160. package/dist/lib/modules/poe.watch/allModules/subModules/FragmentModule.d.ts +0 -11
  161. package/dist/lib/modules/poe.watch/allModules/subModules/FragmentModule.js +0 -21
  162. package/dist/lib/modules/poe.watch/allModules/subModules/InscribedModule.d.ts +0 -11
  163. package/dist/lib/modules/poe.watch/allModules/subModules/InscribedModule.js +0 -21
  164. package/dist/lib/modules/poe.watch/allModules/subModules/InvitationModule.d.ts +0 -11
  165. package/dist/lib/modules/poe.watch/allModules/subModules/InvitationModule.js +0 -21
  166. package/dist/lib/modules/poe.watch/allModules/subModules/JewelModule.d.ts +0 -11
  167. package/dist/lib/modules/poe.watch/allModules/subModules/JewelModule.js +0 -21
  168. package/dist/lib/modules/poe.watch/allModules/subModules/MapModule.d.ts +0 -11
  169. package/dist/lib/modules/poe.watch/allModules/subModules/MapModule.js +0 -21
  170. package/dist/lib/modules/poe.watch/allModules/subModules/OilModule.d.ts +0 -11
  171. package/dist/lib/modules/poe.watch/allModules/subModules/OilModule.js +0 -21
  172. package/dist/lib/modules/poe.watch/allModules/subModules/ScarabModule.d.ts +0 -11
  173. package/dist/lib/modules/poe.watch/allModules/subModules/ScarabModule.js +0 -21
  174. package/dist/lib/modules/poe.watch/allModules/subModules/SextantModule.d.ts +0 -11
  175. package/dist/lib/modules/poe.watch/allModules/subModules/SextantModule.js +0 -21
  176. package/dist/lib/modules/poe.watch/allModules/subModules/UniqueMapsModule.d.ts +0 -11
  177. package/dist/lib/modules/poe.watch/allModules/subModules/UniqueMapsModule.js +0 -21
  178. package/dist/lib/modules/utils/fetchData/fetchData.d.ts +0 -10
  179. package/dist/lib/modules/utils/fetchData/fetchData.js +0 -26
  180. package/tsconfig.json +0 -12
@@ -1,91 +1,53 @@
1
- import * as Modules from "./allModules/Modules";
1
+ import PoeWatch from "../../AbstractClass/PoeWatch";
2
+ import { AccessoryModule } from "./allModules/subModules/AccessoryModule";
3
+ import { ArmourModule } from "./allModules/subModules/ArmourModule";
4
+ import { BaseModule } from "./allModules/subModules/BaseModule";
5
+ import { GemModule } from "./allModules/subModules/GemModule";
6
+ import { WeaponModule } from "./allModules/subModules/WeaponModule";
2
7
  /**
3
8
  * Represents a module for fetching data related to Watchstones and Watchstone Regions.
4
9
  */
5
10
  export default class WatchViewModule {
6
- /**
7
- * Module for fetching data related to Currency.
8
- */
9
- currency: Modules.CurrencyModule;
10
- /**
11
- * Module for fetching data related to Accessories.
12
- */
13
- accessory: Modules.AccessoryModule;
14
- /**
15
- * Module for fetching data related to Armour.
16
- */
17
- armour: Modules.ArmourModule;
18
- /**
19
- * Module for fetching data related to Base.
20
- */
21
- base: Modules.BaseModule;
22
- /**
23
- * Module for fetching data related to Beast.
24
- */
25
- beast: Modules.BeastModule;
26
- /**
27
- * Module for fetching data related to DeliriumOrb.
28
- */
29
- deliriumOrb: Modules.DeliriumOrbModule;
30
- /**
31
- * Module for fetching data related to Divs.
32
- */
33
- divs: Modules.DivsModule;
34
- /**
35
- * Module for fetching data related to Essence.
36
- */
37
- essence: Modules.EssenceModule;
38
- /**
39
- * Module for fetching data related to Fossil.
40
- */
41
- fossil: Modules.FossilModule;
42
- /**
43
- * Module for fetching data related to Fragment.
44
- */
45
- fragment: Modules.FragmentModule;
46
- /**
47
- * Module for fetching data related to Map.
48
- */
49
- map: Modules.MapModule;
50
- /**
51
- * Module for fetching data related to Flask.
52
- */
53
- flask: Modules.FlaskModule;
54
- /**
55
- * Module for fetching data related to Jewel.
56
- */
57
- jewel: Modules.JewelModule;
58
- /**
59
- * Module for fetching data related to Gem.
60
- */
61
- gem: Modules.GemModule;
62
- /**
63
- * Module for fetching data related to Inscribed.
64
- */
65
- /**
66
- * Module for fetching data related to Invitation.
67
- */
68
- invitation: Modules.InvitationModule;
69
- /**
70
- * Module for fetching data related to Oil.
71
- */
72
- oil: Modules.OilModule;
73
- /**
74
- * Module for fetching data related to Scarab.
75
- */
76
- scarab: Modules.ScarabModule;
77
- /**
78
- * Module for fetching data related to Sextant.
79
- */
80
- sextant: Modules.SextantModule;
81
- /**
82
- * Module for fetching data related to UniqueMaps.
83
- */
84
- uniqueMaps: Modules.UniqueMapsModule;
85
- /**
86
- * Module for fetching data related to Weapon.
87
- */
88
- weapon: Modules.WeaponModule;
11
+ /** Module for fetching data related to Currency. */
12
+ currency: PoeWatch;
13
+ /** Module for fetching data related to Accessories. */
14
+ accessory: AccessoryModule;
15
+ /** Module for fetching data related to Armour. */
16
+ armour: ArmourModule;
17
+ /** Module for fetching data related to Base. */
18
+ base: BaseModule;
19
+ /** Module for fetching data related to Beast. */
20
+ beast: PoeWatch;
21
+ /** Module for fetching data related to DeliriumOrb. */
22
+ deliriumOrb: PoeWatch;
23
+ /** Module for fetching data related to Divs. */
24
+ divs: PoeWatch;
25
+ /** Module for fetching data related to Essence. */
26
+ essence: PoeWatch;
27
+ /** Module for fetching data related to Fossil. */
28
+ fossil: PoeWatch;
29
+ /** Module for fetching data related to Fragment. */
30
+ fragment: PoeWatch;
31
+ /** Module for fetching data related to Map. */
32
+ map: PoeWatch;
33
+ /** Module for fetching data related to Flask. */
34
+ flask: PoeWatch;
35
+ /** Module for fetching data related to Jewel. */
36
+ jewel: PoeWatch;
37
+ /** Module for fetching data related to Gem. */
38
+ gem: GemModule;
39
+ /** Module for fetching data related to Invitation. */
40
+ invitation: PoeWatch;
41
+ /** Module for fetching data related to Oil. */
42
+ oil: PoeWatch;
43
+ /** Module for fetching data related to Scarab. */
44
+ scarab: PoeWatch;
45
+ /** Module for fetching data related to Sextant. */
46
+ sextant: PoeWatch;
47
+ /** Module for fetching data related to UniqueMaps. */
48
+ uniqueMaps: PoeWatch;
49
+ /** Module for fetching data related to Weapon. */
50
+ weapon: WeaponModule;
89
51
  /**
90
52
  * Creates an instance of WatchWievModule.
91
53
  * @param league - The league name to fetch data from.
@@ -1,143 +1,93 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
4
  };
25
5
  Object.defineProperty(exports, "__esModule", { value: true });
26
- const Modules = __importStar(require("./allModules/Modules"));
6
+ const PoeWatchLeaf_1 = __importDefault(require("../../AbstractClass/PoeWatchLeaf"));
7
+ const AccessoryModule_1 = require("./allModules/subModules/AccessoryModule");
8
+ const ArmourModule_1 = require("./allModules/subModules/ArmourModule");
9
+ const BaseModule_1 = require("./allModules/subModules/BaseModule");
10
+ const GemModule_1 = require("./allModules/subModules/GemModule");
11
+ const WeaponModule_1 = require("./allModules/subModules/WeaponModule");
12
+ /**
13
+ * Maps each generic (no getCategory) view property to its poe.watch `type`
14
+ * (category) value. accessory/armour/base/gem/weapon have getCategory and
15
+ * keep their own classes below.
16
+ */
17
+ const GENERIC_TYPES = {
18
+ currency: "currency",
19
+ beast: "beast",
20
+ deliriumOrb: "deliriumOrb",
21
+ divs: "card",
22
+ essence: "essence",
23
+ fossil: "fossil",
24
+ fragment: "fragment",
25
+ map: "map",
26
+ flask: "flask",
27
+ jewel: "jewel",
28
+ invitation: "invitation",
29
+ oil: "oil",
30
+ scarab: "scarab",
31
+ sextant: "sextans",
32
+ uniqueMaps: "uniqueMap",
33
+ };
27
34
  /**
28
35
  * Represents a module for fetching data related to Watchstones and Watchstone Regions.
29
36
  */
30
37
  class WatchViewModule {
31
- /**
32
- * Module for fetching data related to Currency.
33
- */
38
+ /** Module for fetching data related to Currency. */
34
39
  currency;
35
- /**
36
- * Module for fetching data related to Accessories.
37
- */
40
+ /** Module for fetching data related to Accessories. */
38
41
  accessory;
39
- /**
40
- * Module for fetching data related to Armour.
41
- */
42
+ /** Module for fetching data related to Armour. */
42
43
  armour;
43
- /**
44
- * Module for fetching data related to Base.
45
- */
44
+ /** Module for fetching data related to Base. */
46
45
  base;
47
- /**
48
- * Module for fetching data related to Beast.
49
- */
46
+ /** Module for fetching data related to Beast. */
50
47
  beast;
51
- /**
52
- * Module for fetching data related to DeliriumOrb.
53
- */
48
+ /** Module for fetching data related to DeliriumOrb. */
54
49
  deliriumOrb;
55
- /**
56
- * Module for fetching data related to Divs.
57
- */
50
+ /** Module for fetching data related to Divs. */
58
51
  divs;
59
- /**
60
- * Module for fetching data related to Essence.
61
- */
52
+ /** Module for fetching data related to Essence. */
62
53
  essence;
63
- /**
64
- * Module for fetching data related to Fossil.
65
- */
54
+ /** Module for fetching data related to Fossil. */
66
55
  fossil;
67
- /**
68
- * Module for fetching data related to Fragment.
69
- */
56
+ /** Module for fetching data related to Fragment. */
70
57
  fragment;
71
- /**
72
- * Module for fetching data related to Map.
73
- */
58
+ /** Module for fetching data related to Map. */
74
59
  map;
75
- /**
76
- * Module for fetching data related to Flask.
77
- */
60
+ /** Module for fetching data related to Flask. */
78
61
  flask;
79
- /**
80
- * Module for fetching data related to Jewel.
81
- */
62
+ /** Module for fetching data related to Jewel. */
82
63
  jewel;
83
- /**
84
- * Module for fetching data related to Gem.
85
- */
64
+ /** Module for fetching data related to Gem. */
86
65
  gem;
87
- /**
88
- * Module for fetching data related to Inscribed.
89
- */
90
- //public inscribed: Modules.InscribedModule;
91
- /**
92
- * Module for fetching data related to Invitation.
93
- */
66
+ /** Module for fetching data related to Invitation. */
94
67
  invitation;
95
- /**
96
- * Module for fetching data related to Oil.
97
- */
68
+ /** Module for fetching data related to Oil. */
98
69
  oil;
99
- /**
100
- * Module for fetching data related to Scarab.
101
- */
70
+ /** Module for fetching data related to Scarab. */
102
71
  scarab;
103
- /**
104
- * Module for fetching data related to Sextant.
105
- */
72
+ /** Module for fetching data related to Sextant. */
106
73
  sextant;
107
- /**
108
- * Module for fetching data related to UniqueMaps.
109
- */
74
+ /** Module for fetching data related to UniqueMaps. */
110
75
  uniqueMaps;
111
- /**
112
- * Module for fetching data related to Weapon.
113
- */
76
+ /** Module for fetching data related to Weapon. */
114
77
  weapon;
115
78
  /**
116
79
  * Creates an instance of WatchWievModule.
117
80
  * @param league - The league name to fetch data from.
118
81
  */
119
82
  constructor(league) {
120
- this.currency = new Modules.CurrencyModule(league);
121
- this.accessory = new Modules.AccessoryModule(league);
122
- this.armour = new Modules.ArmourModule(league);
123
- this.base = new Modules.BaseModule(league);
124
- this.beast = new Modules.BeastModule(league);
125
- this.essence = new Modules.EssenceModule(league);
126
- this.fossil = new Modules.FossilModule(league);
127
- this.fragment = new Modules.FragmentModule(league);
128
- this.map = new Modules.MapModule(league);
129
- this.flask = new Modules.FlaskModule(league);
130
- this.jewel = new Modules.JewelModule(league);
131
- this.gem = new Modules.GemModule(league);
132
- this.invitation = new Modules.InvitationModule(league);
133
- this.oil = new Modules.OilModule(league);
134
- this.scarab = new Modules.ScarabModule(league);
135
- this.sextant = new Modules.SextantModule(league);
136
- this.weapon = new Modules.WeaponModule(league);
137
- this.uniqueMaps = new Modules.UniqueMapsModule(league);
138
- this.deliriumOrb = new Modules.DeliriumOrbModule(league);
139
- this.divs = new Modules.DivsModule(league);
140
- //this.inscribed = new Modules.InscribedModule(league);- not now
83
+ Object.keys(GENERIC_TYPES).forEach((key) => {
84
+ this[key] = new PoeWatchLeaf_1.default(league, GENERIC_TYPES[key]);
85
+ });
86
+ this.accessory = new AccessoryModule_1.AccessoryModule(league);
87
+ this.armour = new ArmourModule_1.ArmourModule(league);
88
+ this.base = new BaseModule_1.BaseModule(league);
89
+ this.gem = new GemModule_1.GemModule(league);
90
+ this.weapon = new WeaponModule_1.WeaponModule(league);
141
91
  }
142
92
  }
143
93
  exports.default = WatchViewModule;
@@ -27,12 +27,7 @@ class AccessoryModule extends PoeWatch_1.default {
27
27
  * @throws - Throws errors encountered while fetching data.
28
28
  */
29
29
  async getCategory(categoryName) {
30
- try {
31
- return await (0, getCategory_1.default)(this.league, this.type, categoryName);
32
- }
33
- catch (error) {
34
- throw new Error(`Error fetching Accessory data: ${error.message}`);
35
- }
30
+ return await (0, getCategory_1.default)(this.league, this.type, categoryName);
36
31
  }
37
32
  }
38
33
  exports.AccessoryModule = AccessoryModule;
@@ -27,12 +27,7 @@ class ArmourModule extends PoeWatch_1.default {
27
27
  * @throws - Throws errors encountered while fetching data.
28
28
  */
29
29
  async getCategory(categoryName) {
30
- try {
31
- return await (0, getCategory_1.default)(this.league, this.type, categoryName);
32
- }
33
- catch (error) {
34
- throw new Error(`Error fetching Accessory data: ${error.message}`);
35
- }
30
+ return await (0, getCategory_1.default)(this.league, this.type, categoryName);
36
31
  }
37
32
  }
38
33
  exports.ArmourModule = ArmourModule;
@@ -27,12 +27,7 @@ class BaseModule extends PoeWatch_1.default {
27
27
  * @throws - Throws errors encountered while fetching data.
28
28
  */
29
29
  async getCategory(categoryName) {
30
- try {
31
- return await (0, getCategory_1.default)(this.league, this.type, categoryName);
32
- }
33
- catch (error) {
34
- throw new Error(`Error fetching Accessory data: ${error.message}`);
35
- }
30
+ return await (0, getCategory_1.default)(this.league, this.type, categoryName);
36
31
  }
37
32
  }
38
33
  exports.BaseModule = BaseModule;
@@ -27,12 +27,7 @@ class GemModule extends PoeWatch_1.default {
27
27
  * @throws - Throws errors encountered while fetching data.
28
28
  */
29
29
  async getCategory(categoryName) {
30
- try {
31
- return await (0, getCategory_1.default)(this.league, this.type, categoryName);
32
- }
33
- catch (error) {
34
- throw new Error(`Error fetching Accessory data: ${error.message}`);
35
- }
30
+ return await (0, getCategory_1.default)(this.league, this.type, categoryName);
36
31
  }
37
32
  }
38
33
  exports.GemModule = GemModule;
@@ -27,12 +27,7 @@ class WeaponModule extends PoeWatch_1.default {
27
27
  * @throws - Throws errors encountered while fetching data.
28
28
  */
29
29
  async getCategory(categoryName) {
30
- try {
31
- return await (0, getCategory_1.default)(this.league, this.type, categoryName);
32
- }
33
- catch (error) {
34
- throw new Error(`Error fetching Accessory data: ${error.message}`);
35
- }
30
+ return await (0, getCategory_1.default)(this.league, this.type, categoryName);
36
31
  }
37
32
  }
38
33
  exports.WeaponModule = WeaponModule;
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const axios_1 = __importDefault(require("axios"));
7
7
  const ApiError_1 = __importDefault(require("../../../errors/ApiError"));
8
8
  const WatchUrlGenerator_1 = __importDefault(require("../func/WatchUrlGenerator"));
9
+ const httpGet_1 = __importDefault(require("../../utils/httpGet"));
9
10
  /**
10
11
  * Fetches data from the POE Watch API based on the provided query URL.
11
12
  * @param league - The game league for which to fetch currency data.
@@ -16,11 +17,7 @@ const WatchUrlGenerator_1 = __importDefault(require("../func/WatchUrlGenerator")
16
17
  async function fetchData(league, type) {
17
18
  try {
18
19
  const url = (0, WatchUrlGenerator_1.default)(league, type);
19
- const response = await axios_1.default.get(url, {
20
- headers: {
21
- "Accept-Encoding": "identity",
22
- },
23
- });
20
+ const response = await (0, httpGet_1.default)(url);
24
21
  if (response.data) {
25
22
  return response.data;
26
23
  }
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = urlGenerator;
3
4
  /**
4
5
  * Generates a URL based on league and type. poe.watch API is used.
5
6
  * @param {string} league - The league for which the URL is generated.
@@ -7,6 +8,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
8
  * @returns {string} - The generated URL.
8
9
  */
9
10
  function urlGenerator(league, type) {
10
- return `https://api.poe.watch/get?category=${type}&league=${league}`;
11
+ return `https://api.poe.watch/get?category=${encodeURIComponent(type)}&league=${encodeURIComponent(league)}`;
11
12
  }
12
- exports.default = urlGenerator;
@@ -5,6 +5,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const watchFetch_1 = __importDefault(require("../fetch/watchFetch"));
7
7
  const ValidationError_1 = __importDefault(require("../../../errors/ValidationError"));
8
+ const ApiError_1 = __importDefault(require("../../../errors/ApiError"));
9
+ const CustomError_1 = __importDefault(require("../../../errors/CustomError"));
8
10
  /**
9
11
  * Fetches data based on the provided query URL and filters it by category name.
10
12
  * @param league - The league to fetch the data from.
@@ -36,11 +38,12 @@ async function getCategory(league, type, categoryName) {
36
38
  return filteredData;
37
39
  }
38
40
  catch (error) {
39
- // If it's already a custom error, pass it through
40
- if (error instanceof ValidationError_1.default) {
41
+ // If it's already a custom error (validation, api, ...), pass it through unchanged
42
+ if (error instanceof CustomError_1.default) {
41
43
  throw error;
42
44
  }
43
- throw new ValidationError_1.default(`Error fetching or filtering data for category: ${error.message}`, 400, { league, type, categoryName });
45
+ // Only genuinely unknown errors (network failures, etc.) get wrapped, as a 500
46
+ throw new ApiError_1.default(`Error fetching or filtering data for category: ${error.message}`, 500, { league, type, categoryName });
44
47
  }
45
48
  }
46
49
  exports.default = getCategory;
@@ -15,20 +15,15 @@ const propertyFilter_1 = __importDefault(require("../../../mainfunctions/propert
15
15
  * @throws - Throws an error if there is an issue fetching or filtering the data.
16
16
  */
17
17
  async function getData(league, type, requestedProperties) {
18
- try {
19
- const fetchedData = await (0, watchFetch_1.default)(league, type);
20
- // If requestedProperties are specified, filter the data based on those properties
21
- if (requestedProperties && requestedProperties.length > 0) {
22
- const result = (0, propertyFilter_1.default)(fetchedData, requestedProperties);
23
- return result;
24
- }
25
- else {
26
- // If no specific properties are requested, return the entire fetched data
27
- return fetchedData;
28
- }
18
+ const fetchedData = await (0, watchFetch_1.default)(league, type);
19
+ // If requestedProperties are specified, filter the data based on those properties
20
+ if (requestedProperties && requestedProperties.length > 0) {
21
+ const result = (0, propertyFilter_1.default)(fetchedData, requestedProperties);
22
+ return result;
29
23
  }
30
- catch (error) {
31
- throw new Error(`Error fetching data: ${error.message}`);
24
+ else {
25
+ // If no specific properties are requested, return the entire fetched data
26
+ return fetchedData;
32
27
  }
33
28
  }
34
29
  exports.default = getData;
@@ -0,0 +1,30 @@
1
+ import IPoeWatch from "../../../Interfaces/IPoeWatch";
2
+ /**
3
+ * Represents poe.watch's PoE2 exchange ratios - the only PoE2 endpoint
4
+ * poe.watch exposes.
5
+ * @class
6
+ * @implements {IPoeWatch}
7
+ */
8
+ export default class Poe2ExchangeModule implements IPoeWatch {
9
+ protected readonly league: string;
10
+ /**
11
+ * Creates a new instance of Poe2ExchangeModule.
12
+ * @param league - The league from which the data will be fetched.
13
+ */
14
+ constructor(league: string);
15
+ /**
16
+ * Retrieves PoE2 exchange ratios data.
17
+ * @param {string[]} requestedProperties Optional array of properties to include in the response.
18
+ * @returns {Promise<object[]>} A promise that resolves to an array of objects containing the requested data.
19
+ * @throws {Error} If there is an error retrieving the data.
20
+ */
21
+ getData(requestedProperties?: string[]): Promise<object[]>;
22
+ /**
23
+ * Retrieves PoE2 exchange ratios filtered by category.
24
+ * @async
25
+ * @param categoryName - The category to filter by (e.g. "currency").
26
+ * @returns - A Promise containing data for the specified category.
27
+ * @throws - Throws errors encountered while fetching data.
28
+ */
29
+ getCategory(categoryName: string): Promise<object[]>;
30
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const ApiError_1 = __importDefault(require("../../../errors/ApiError"));
7
+ const CustomError_1 = __importDefault(require("../../../errors/CustomError"));
8
+ const getData2_1 = __importDefault(require("./getData2"));
9
+ const getCategory2_1 = __importDefault(require("./getCategory2"));
10
+ /**
11
+ * Represents poe.watch's PoE2 exchange ratios - the only PoE2 endpoint
12
+ * poe.watch exposes.
13
+ * @class
14
+ * @implements {IPoeWatch}
15
+ */
16
+ class Poe2ExchangeModule {
17
+ league;
18
+ /**
19
+ * Creates a new instance of Poe2ExchangeModule.
20
+ * @param league - The league from which the data will be fetched.
21
+ */
22
+ constructor(league) {
23
+ this.league = league;
24
+ }
25
+ /**
26
+ * Retrieves PoE2 exchange ratios data.
27
+ * @param {string[]} requestedProperties Optional array of properties to include in the response.
28
+ * @returns {Promise<object[]>} A promise that resolves to an array of objects containing the requested data.
29
+ * @throws {Error} If there is an error retrieving the data.
30
+ */
31
+ async getData(requestedProperties) {
32
+ try {
33
+ return await (0, getData2_1.default)(this.league, requestedProperties);
34
+ }
35
+ catch (error) {
36
+ if (error instanceof CustomError_1.default) {
37
+ throw error;
38
+ }
39
+ throw new ApiError_1.default(`Error retrieving PoE2 exchange data: ${error.message}`, 500, { league: this.league });
40
+ }
41
+ }
42
+ /**
43
+ * Retrieves PoE2 exchange ratios filtered by category.
44
+ * @async
45
+ * @param categoryName - The category to filter by (e.g. "currency").
46
+ * @returns - A Promise containing data for the specified category.
47
+ * @throws - Throws errors encountered while fetching data.
48
+ */
49
+ async getCategory(categoryName) {
50
+ return await (0, getCategory2_1.default)(this.league, categoryName);
51
+ }
52
+ }
53
+ exports.default = Poe2ExchangeModule;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Filters PoE2 exchange ratio items by their `category` field. Note this is
3
+ * `category`, not `group` - the field the PoE1 getCategory filters on -
4
+ * because the PoE2 ratios response uses a different field name.
5
+ * @param items The items to filter.
6
+ * @param categoryName The category value to match.
7
+ * @returns The matching items.
8
+ */
9
+ export default function filterByCategory(items: any[], categoryName: string): any[];
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = filterByCategory;
4
+ /**
5
+ * Filters PoE2 exchange ratio items by their `category` field. Note this is
6
+ * `category`, not `group` - the field the PoE1 getCategory filters on -
7
+ * because the PoE2 ratios response uses a different field name.
8
+ * @param items The items to filter.
9
+ * @param categoryName The category value to match.
10
+ * @returns The matching items.
11
+ */
12
+ function filterByCategory(items, categoryName) {
13
+ return items.filter((item) => item.category === categoryName);
14
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Fetches PoE2 exchange ratios and filters them by category.
3
+ * @param league - The league to fetch the data from.
4
+ * @param categoryName - The category to filter by (matches the `category` field).
5
+ * @returns A promise that resolves to an array of filtered items.
6
+ * @throws Throws a ValidationError if category name is missing or matches nothing.
7
+ */
8
+ declare function getCategory2(league: string, categoryName: string): Promise<object[]>;
9
+ export default getCategory2;