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,184 +1,113 @@
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("./itemSubmodules/itemSubModules"));
6
+ const PoeNinjaLeaf_1 = __importDefault(require("../../../AbstractClass/PoeNinjaLeaf"));
7
+ /**
8
+ * Maps each itemView property to its poe.ninja `type` value and the endpoint
9
+ * (typeName) it's served from. Each of these used to be its own 10-line
10
+ * class whose only content was these two strings.
11
+ */
12
+ const ITEM_TYPES = {
13
+ baseType: { type: "BaseType", endpoint: "itemoverview" },
14
+ beast: { type: "Beast", endpoint: "itemoverview" },
15
+ deliriumOrbs: { type: "DeliriumOrb", endpoint: "exchangeoverview" },
16
+ divinationCard: { type: "DivinationCard", endpoint: "exchangeoverview" },
17
+ essence: { type: "Essence", endpoint: "exchangeoverview" },
18
+ fossil: { type: "Fossil", endpoint: "exchangeoverview" },
19
+ incubator: { type: "Incubator", endpoint: "itemoverview" },
20
+ map: { type: "Map", endpoint: "itemoverview" },
21
+ oil: { type: "Oil", endpoint: "exchangeoverview" },
22
+ resonator: { type: "Resonator", endpoint: "exchangeoverview" },
23
+ scarab: { type: "Scarab", endpoint: "exchangeoverview" },
24
+ skillGem: { type: "SkillGem", endpoint: "itemoverview" },
25
+ uniqueAccessory: { type: "UniqueAccessory", endpoint: "itemoverview" },
26
+ uniqueArmour: { type: "UniqueArmour", endpoint: "itemoverview" },
27
+ uniqueFlask: { type: "UniqueFlask", endpoint: "itemoverview" },
28
+ uniqueJewel: { type: "UniqueJewel", endpoint: "itemoverview" },
29
+ uniqueMap: { type: "UniqueMap", endpoint: "itemoverview" },
30
+ uniqueWeapon: { type: "UniqueWeapon", endpoint: "itemoverview" },
31
+ vials: { type: "Vial", endpoint: "itemoverview" },
32
+ omen: { type: "Omen", endpoint: "exchangeoverview" },
33
+ memory: { type: "Memory", endpoint: "itemoverview" },
34
+ invitation: { type: "Invitation", endpoint: "itemoverview" },
35
+ uniqueRelics: { type: "UniqueRelic", endpoint: "itemoverview" },
36
+ clusterJewel: { type: "ClusterJewel", endpoint: "itemoverview" },
37
+ blightedMap: { type: "BlightedMap", endpoint: "itemoverview" },
38
+ blightRavagedMap: { type: "BlightedRavagedMap", endpoint: "itemoverview" },
39
+ coffin: { type: "Coffin", endpoint: "itemoverview" },
40
+ allflameEmber: { type: "AllflameEmber", endpoint: "exchangeoverview" },
41
+ };
27
42
  /**
28
43
  * Represents a module for viewing item-related information in a specific Path of Exile league.
29
44
  */
30
45
  class ItemViewModule {
31
- /**
32
- * Represents a submodule for base type item information.
33
- */
46
+ /** Represents a submodule for base type item information. */
34
47
  baseType;
35
- /**
36
- * Represents a submodule for beast item information.
37
- */
48
+ /** Represents a submodule for beast item information. */
38
49
  beast;
39
- /**
40
- * Represents a submodule for delirium orbs item information.
41
- */
50
+ /** Represents a submodule for delirium orbs item information. *(exchange)* */
42
51
  deliriumOrbs;
43
- /**
44
- * Represents a submodule for divination card item information.
45
- */
52
+ /** Represents a submodule for divination card item information. *(exchange)* */
46
53
  divinationCard;
47
- /**
48
- * Represents a submodule for essence item information.
49
- */
54
+ /** Represents a submodule for essence item information. *(exchange)* */
50
55
  essence;
51
- /**
52
- * Represents a submodule for fossil item information.
53
- */
56
+ /** Represents a submodule for fossil item information. *(exchange)* */
54
57
  fossil;
55
- /**
56
- * Represents a submodule for helmet enchant item information.
57
- */
58
- helmetEnchant;
59
- /**
60
- * Represents a submodule for incubator item information.
61
- */
58
+ /** Represents a submodule for incubator item information. */
62
59
  incubator;
63
- /**
64
- * Represents a submodule for map item information.
65
- */
60
+ /** Represents a submodule for map item information. */
66
61
  map;
67
- /**
68
- * Represents a submodule for oil item information.
69
- */
62
+ /** Represents a submodule for oil item information. *(exchange)* */
70
63
  oil;
71
- /**
72
- * Represents a submodule for resonator item information.
73
- */
64
+ /** Represents a submodule for resonator item information. *(exchange)* */
74
65
  resonator;
75
- /**
76
- * Represents a submodule for scarab item information.
77
- */
66
+ /** Represents a submodule for scarab item information. *(exchange)* */
78
67
  scarab;
79
- /**
80
- * Represents a submodule for skill gem item information.
81
- */
68
+ /** Represents a submodule for skill gem item information. */
82
69
  skillGem;
83
- /**
84
- * Represents a submodule for unique accessory item information.
85
- */
70
+ /** Represents a submodule for unique accessory item information. */
86
71
  uniqueAccessory;
87
- /**
88
- * Represents a submodule for unique armour item information.
89
- */
72
+ /** Represents a submodule for unique armour item information. */
90
73
  uniqueArmour;
91
- /**
92
- * Represents a submodule for unique flask item information.
93
- */
74
+ /** Represents a submodule for unique flask item information. */
94
75
  uniqueFlask;
95
- /**
96
- * Represents a submodule for unique jewel item information.
97
- */
76
+ /** Represents a submodule for unique jewel item information. */
98
77
  uniqueJewel;
99
- /**
100
- * Represents a submodule for unique map item information.
101
- */
78
+ /** Represents a submodule for unique map item information. */
102
79
  uniqueMap;
103
- /**
104
- * Represents a submodule for unique weapon item information.
105
- */
80
+ /** Represents a submodule for unique weapon item information. */
106
81
  uniqueWeapon;
107
- /**
108
- * Represents a submodule for vials item information.
109
- */
82
+ /** Represents a submodule for vials item information. */
110
83
  vials;
111
- /**
112
- * Represents a submodule for omen item information.
113
- */
84
+ /** Represents a submodule for omen item information. *(exchange)* */
114
85
  omen;
115
- /**
116
- * Represents a submodule for memory item information.
117
- */
86
+ /** Represents a submodule for memory item information. */
118
87
  memory;
119
- /**
120
- * Represents a submodule for invitation item information.
121
- */
88
+ /** Represents a submodule for invitation item information. */
122
89
  invitation;
123
- /**
124
- * Represents a submodule for unique relics item information.
125
- */
90
+ /** Represents a submodule for unique relics item information. */
126
91
  uniqueRelics;
127
- /**
128
- * Represents a submodule for cluster jewel item information.
129
- */
92
+ /** Represents a submodule for cluster jewel item information. */
130
93
  clusterJewel;
131
- /**
132
- * Represents a submodule for blighted map item information.
133
- */
94
+ /** Represents a submodule for blighted map item information. */
134
95
  blightedMap;
135
- /**
136
- * Represents a submodule for blight ravaged map item information.
137
- */
96
+ /** Represents a submodule for blight ravaged map item information. */
138
97
  blightRavagedMap;
139
- /**
140
- * Represents a submodule for coffin item information.
141
- */
98
+ /** Represents a submodule for coffin item information. */
142
99
  coffin;
143
- /**
144
- * Creates an instance of AllflameEmberModule.
145
- */
100
+ /** Represents a submodule for allflame ember item information. *(exchange)* */
146
101
  allflameEmber;
147
102
  /**
148
103
  * Creates a new instance of ItemViewModule.
149
104
  * @param league - The Path of Exile league for which the item information is retrieved.
150
- * @param typeName - The type of item information to retrieve.
151
105
  */
152
- constructor(league, typeName) {
153
- this.baseType = new Modules.BaseTypeModule(league, typeName);
154
- this.beast = new Modules.BeastModule(league, typeName);
155
- this.deliriumOrbs = new Modules.DeliriumOrbsModule(league, typeName);
156
- this.divinationCard = new Modules.DivinationCardModule(league, typeName);
157
- this.essence = new Modules.EssenceModule(league, typeName);
158
- this.fossil = new Modules.FossilModule(league, typeName);
159
- this.helmetEnchant = new Modules.HelmetEnchantModule(league, typeName);
160
- this.incubator = new Modules.IncubatorModule(league, typeName);
161
- this.map = new Modules.MapModule(league, typeName);
162
- this.oil = new Modules.OilModule(league, typeName);
163
- this.resonator = new Modules.ResonatorModule(league, typeName);
164
- this.scarab = new Modules.ScarabModule(league, typeName);
165
- this.skillGem = new Modules.SkillGemModule(league, typeName);
166
- this.uniqueAccessory = new Modules.UniqueAccessoryModule(league, typeName);
167
- this.uniqueArmour = new Modules.UniqueArmourModule(league, typeName);
168
- this.uniqueFlask = new Modules.UniqueFlaskModule(league, typeName);
169
- this.uniqueJewel = new Modules.UniqueJewelModule(league, typeName);
170
- this.uniqueMap = new Modules.UniqueMapModule(league, typeName);
171
- this.uniqueWeapon = new Modules.UniqueWeaponModule(league, typeName);
172
- this.vials = new Modules.VialsModule(league, typeName);
173
- this.omen = new Modules.OmenModule(league, typeName);
174
- this.memory = new Modules.MemoryModule(league, typeName);
175
- this.invitation = new Modules.InvitationModule(league, typeName);
176
- this.uniqueRelics = new Modules.UniqueRelicModule(league, typeName);
177
- this.clusterJewel = new Modules.ClusterJewelModule(league, typeName);
178
- this.blightedMap = new Modules.BlightedMapModule(league, typeName);
179
- this.blightRavagedMap = new Modules.BlightedRavagedMapModule(league, typeName);
180
- this.coffin = new Modules.CoffinModule(league, typeName);
181
- this.allflameEmber = new Modules.AllflameEmberModule(league, typeName);
106
+ constructor(league) {
107
+ Object.keys(ITEM_TYPES).forEach((key) => {
108
+ const entry = ITEM_TYPES[key];
109
+ this[key] = new PoeNinjaLeaf_1.default(league, entry.endpoint, entry.type);
110
+ });
182
111
  }
183
112
  }
184
113
  exports.default = ItemViewModule;
@@ -0,0 +1,26 @@
1
+ import PoeNinja2 from "./PoeNinja2";
2
+ /**
3
+ * Represents the poe.ninja PoE2 exchange types for a league. PoE2 currency
4
+ * lives here too - there is no PoE2 stash currency endpoint.
5
+ */
6
+ export default class Poe2ExchangeView {
7
+ currency: PoeNinja2;
8
+ fragments: PoeNinja2;
9
+ abyss: PoeNinja2;
10
+ uncutGems: PoeNinja2;
11
+ lineageSupportGems: PoeNinja2;
12
+ essences: PoeNinja2;
13
+ soulCores: PoeNinja2;
14
+ idols: PoeNinja2;
15
+ runes: PoeNinja2;
16
+ ritual: PoeNinja2;
17
+ expedition: PoeNinja2;
18
+ delirium: PoeNinja2;
19
+ breach: PoeNinja2;
20
+ verisium: PoeNinja2;
21
+ /**
22
+ * Creates a new Poe2ExchangeView instance.
23
+ * @param league The Path of Exile 2 league.
24
+ */
25
+ constructor(league: string);
26
+ }
@@ -0,0 +1,55 @@
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 PoeNinja2_1 = __importDefault(require("./PoeNinja2"));
7
+ /**
8
+ * The 14 poe.ninja PoE2 exchange types, verified live.
9
+ */
10
+ const EXCHANGE_TYPES = {
11
+ currency: "Currency",
12
+ fragments: "Fragments",
13
+ abyss: "Abyss",
14
+ uncutGems: "UncutGems",
15
+ lineageSupportGems: "LineageSupportGems",
16
+ essences: "Essences",
17
+ soulCores: "SoulCores",
18
+ idols: "Idols",
19
+ runes: "Runes",
20
+ ritual: "Ritual",
21
+ expedition: "Expedition",
22
+ delirium: "Delirium",
23
+ breach: "Breach",
24
+ verisium: "Verisium",
25
+ };
26
+ /**
27
+ * Represents the poe.ninja PoE2 exchange types for a league. PoE2 currency
28
+ * lives here too - there is no PoE2 stash currency endpoint.
29
+ */
30
+ class Poe2ExchangeView {
31
+ currency;
32
+ fragments;
33
+ abyss;
34
+ uncutGems;
35
+ lineageSupportGems;
36
+ essences;
37
+ soulCores;
38
+ idols;
39
+ runes;
40
+ ritual;
41
+ expedition;
42
+ delirium;
43
+ breach;
44
+ verisium;
45
+ /**
46
+ * Creates a new Poe2ExchangeView instance.
47
+ * @param league The Path of Exile 2 league.
48
+ */
49
+ constructor(league) {
50
+ Object.keys(EXCHANGE_TYPES).forEach((key) => {
51
+ this[key] = new PoeNinja2_1.default(league, EXCHANGE_TYPES[key], "exchange");
52
+ });
53
+ }
54
+ }
55
+ exports.default = Poe2ExchangeView;
@@ -0,0 +1,20 @@
1
+ import PoeNinja2 from "./PoeNinja2";
2
+ /**
3
+ * Represents the poe.ninja PoE2 stash item types for a league.
4
+ */
5
+ export default class Poe2ItemView {
6
+ uniqueWeapons: PoeNinja2;
7
+ uniqueArmours: PoeNinja2;
8
+ uniqueAccessories: PoeNinja2;
9
+ uniqueFlasks: PoeNinja2;
10
+ uniqueCharms: PoeNinja2;
11
+ uniqueJewels: PoeNinja2;
12
+ uniqueSanctumRelics: PoeNinja2;
13
+ uniqueTablets: PoeNinja2;
14
+ precursorTablets: PoeNinja2;
15
+ /**
16
+ * Creates a new Poe2ItemView instance.
17
+ * @param league The Path of Exile 2 league.
18
+ */
19
+ constructor(league: string);
20
+ }
@@ -0,0 +1,45 @@
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 PoeNinja2_1 = __importDefault(require("./PoeNinja2"));
7
+ /**
8
+ * The 9 poe.ninja PoE2 stash item types, verified live. Empty on "Standard" -
9
+ * PoE2 economy data only exists on active leagues.
10
+ */
11
+ const ITEM_TYPES = {
12
+ uniqueWeapons: "UniqueWeapons",
13
+ uniqueArmours: "UniqueArmours",
14
+ uniqueAccessories: "UniqueAccessories",
15
+ uniqueFlasks: "UniqueFlasks",
16
+ uniqueCharms: "UniqueCharms",
17
+ uniqueJewels: "UniqueJewels",
18
+ uniqueSanctumRelics: "UniqueSanctumRelics",
19
+ uniqueTablets: "UniqueTablets",
20
+ precursorTablets: "PrecursorTablets",
21
+ };
22
+ /**
23
+ * Represents the poe.ninja PoE2 stash item types for a league.
24
+ */
25
+ class Poe2ItemView {
26
+ uniqueWeapons;
27
+ uniqueArmours;
28
+ uniqueAccessories;
29
+ uniqueFlasks;
30
+ uniqueCharms;
31
+ uniqueJewels;
32
+ uniqueSanctumRelics;
33
+ uniqueTablets;
34
+ precursorTablets;
35
+ /**
36
+ * Creates a new Poe2ItemView instance.
37
+ * @param league The Path of Exile 2 league.
38
+ */
39
+ constructor(league) {
40
+ Object.keys(ITEM_TYPES).forEach((key) => {
41
+ this[key] = new PoeNinja2_1.default(league, ITEM_TYPES[key], "item");
42
+ });
43
+ }
44
+ }
45
+ exports.default = Poe2ItemView;
@@ -0,0 +1,26 @@
1
+ import IPoeNinja from "../../../Interfaces/IPoeNinja";
2
+ /**
3
+ * Represents a poe.ninja PoE2 submodule. Unlike PoE1, there's a single
4
+ * generic leaf here - no PoE2 type needs behaviour beyond getData().
5
+ * @class
6
+ * @implements {IPoeNinja}
7
+ */
8
+ export default class PoeNinja2 implements IPoeNinja {
9
+ protected readonly league: string;
10
+ protected readonly type: string;
11
+ protected readonly endpoint: "exchange" | "item";
12
+ /**
13
+ * Creates an instance of PoeNinja2.
14
+ * @param {string} league - The league name.
15
+ * @param {string} type - The poe.ninja PoE2 type (e.g. "Currency", "UniqueWeapons").
16
+ * @param {"exchange" | "item"} endpoint - Which PoE2 economy endpoint to hit.
17
+ */
18
+ constructor(league: string, type: string, endpoint: "exchange" | "item");
19
+ /**
20
+ * Retrieves data from the poe.ninja PoE2 API.
21
+ * @param {string[]} requestedProperties - Optional array of properties to include in the retrieved data.
22
+ * @returns {Promise<object[]>} A promise that resolves to an array of objects containing the retrieved data.
23
+ * @throws {Error} If there is an error retrieving the data.
24
+ */
25
+ getData(requestedProperties?: string[]): Promise<object[]>;
26
+ }
@@ -0,0 +1,48 @@
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
+ /**
10
+ * Represents a poe.ninja PoE2 submodule. Unlike PoE1, there's a single
11
+ * generic leaf here - no PoE2 type needs behaviour beyond getData().
12
+ * @class
13
+ * @implements {IPoeNinja}
14
+ */
15
+ class PoeNinja2 {
16
+ league;
17
+ type;
18
+ endpoint;
19
+ /**
20
+ * Creates an instance of PoeNinja2.
21
+ * @param {string} league - The league name.
22
+ * @param {string} type - The poe.ninja PoE2 type (e.g. "Currency", "UniqueWeapons").
23
+ * @param {"exchange" | "item"} endpoint - Which PoE2 economy endpoint to hit.
24
+ */
25
+ constructor(league, type, endpoint) {
26
+ this.league = league;
27
+ this.type = type;
28
+ this.endpoint = endpoint;
29
+ }
30
+ /**
31
+ * Retrieves data from the poe.ninja PoE2 API.
32
+ * @param {string[]} requestedProperties - Optional array of properties to include in the retrieved data.
33
+ * @returns {Promise<object[]>} A promise that resolves to an array of objects containing the retrieved data.
34
+ * @throws {Error} If there is an error retrieving the data.
35
+ */
36
+ async getData(requestedProperties) {
37
+ try {
38
+ return await (0, getData2_1.default)(this.league, this.type, this.endpoint, requestedProperties);
39
+ }
40
+ catch (error) {
41
+ if (error instanceof CustomError_1.default) {
42
+ throw error;
43
+ }
44
+ throw new ApiError_1.default(`Error getData ${this.type} (${this.endpoint}) data: ${error.message}`, 500, { league: this.league, type: this.type, endpoint: this.endpoint });
45
+ }
46
+ }
47
+ }
48
+ exports.default = PoeNinja2;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Fetches data from poe.ninja's PoE2 economy API.
3
+ * @param league The game league for which to fetch data.
4
+ * @param type The poe.ninja PoE2 type (e.g. "Currency", "UniqueWeapons").
5
+ * @param endpoint "exchange" reuses mergeExchangeData like the PoE1 exchange
6
+ * endpoint (identical response shape); "item" is the PoE2 stash endpoint,
7
+ * whose lines already carry everything needed, so no merge is required.
8
+ * @returns A promise that resolves to an array of objects containing the fetched data.
9
+ * @throws Throws an error if there's an issue with the API response or data fetching process.
10
+ */
11
+ declare function fetchData2(league: string, type: string, endpoint: "exchange" | "item"): Promise<object[]>;
12
+ export default fetchData2;
@@ -0,0 +1,57 @@
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 axios_1 = __importDefault(require("axios"));
7
+ const mergeExchangeData_1 = __importDefault(require("../fetch/merge/mergeExchangeData"));
8
+ const urlGenerator2_1 = __importDefault(require("./urlGenerator2"));
9
+ const ApiError_1 = __importDefault(require("../../../errors/ApiError"));
10
+ const CustomError_1 = __importDefault(require("../../../errors/CustomError"));
11
+ const httpGet_1 = __importDefault(require("../../utils/httpGet"));
12
+ /**
13
+ * Fetches data from poe.ninja's PoE2 economy API.
14
+ * @param league The game league for which to fetch data.
15
+ * @param type The poe.ninja PoE2 type (e.g. "Currency", "UniqueWeapons").
16
+ * @param endpoint "exchange" reuses mergeExchangeData like the PoE1 exchange
17
+ * endpoint (identical response shape); "item" is the PoE2 stash endpoint,
18
+ * whose lines already carry everything needed, so no merge is required.
19
+ * @returns A promise that resolves to an array of objects containing the fetched data.
20
+ * @throws Throws an error if there's an issue with the API response or data fetching process.
21
+ */
22
+ async function fetchData2(league, type, endpoint) {
23
+ try {
24
+ const url = (0, urlGenerator2_1.default)(league, type, endpoint);
25
+ const response = await (0, httpGet_1.default)(url);
26
+ if (endpoint === "exchange") {
27
+ if (response.data && response.data.lines && response.data.items) {
28
+ return (0, mergeExchangeData_1.default)(response.data.lines, response.data.items, response.data.core);
29
+ }
30
+ else {
31
+ throw new ApiError_1.default(`Invalid response format from POE Ninja PoE2 Exchange Type:${type}`, 400, { league, type, endpoint });
32
+ }
33
+ }
34
+ else {
35
+ if (response.data && response.data.lines) {
36
+ return response.data.lines;
37
+ }
38
+ else {
39
+ throw new ApiError_1.default(`Invalid response format from POE Ninja PoE2 Item Type:${type}`, 400, { league, type, endpoint });
40
+ }
41
+ }
42
+ }
43
+ catch (error) {
44
+ // If it's already a typed error (ApiError/ValidationError), pass it through
45
+ if (error instanceof CustomError_1.default) {
46
+ throw error;
47
+ }
48
+ // Handle axios errors with more context
49
+ if (axios_1.default.isAxiosError(error)) {
50
+ const statusCode = error.response?.status || 500;
51
+ throw new ApiError_1.default(`Error fetching data: ${error.message} Type:${type} Endpoint:${endpoint}`, statusCode, { url: error.config?.url, league, type, endpoint });
52
+ }
53
+ // General error case
54
+ throw new ApiError_1.default(`Error fetching data: ${error.message} Type:${type} Endpoint:${endpoint}`, 500, { league, type, endpoint });
55
+ }
56
+ }
57
+ exports.default = fetchData2;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Fetches PoE2 data from poe.ninja and optionally filters it.
3
+ * @param league - The name of the league to fetch data from.
4
+ * @param type - The poe.ninja PoE2 type to fetch data for.
5
+ * @param endpoint - Which PoE2 economy endpoint to hit ("exchange" or "item").
6
+ * @param requestedProperties - Optional. An array of properties to filter the fetched data by.
7
+ * @returns A promise that resolves to an array of objects containing the fetched data.
8
+ * @throws If there is an error fetching the data.
9
+ */
10
+ declare function getData2(league: string, type: string, endpoint: "exchange" | "item", requestedProperties?: string[]): Promise<object[]>;
11
+ export default getData2;
@@ -0,0 +1,26 @@
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 fetchData2_1 = __importDefault(require("./fetchData2"));
7
+ const propertyFilter_1 = __importDefault(require("../../../mainfunctions/propertyFilter"));
8
+ /**
9
+ * Fetches PoE2 data from poe.ninja and optionally filters it.
10
+ * @param league - The name of the league to fetch data from.
11
+ * @param type - The poe.ninja PoE2 type to fetch data for.
12
+ * @param endpoint - Which PoE2 economy endpoint to hit ("exchange" or "item").
13
+ * @param requestedProperties - Optional. An array of properties to filter the fetched data by.
14
+ * @returns A promise that resolves to an array of objects containing the fetched data.
15
+ * @throws If there is an error fetching the data.
16
+ */
17
+ async function getData2(league, type, endpoint, requestedProperties) {
18
+ const fetchedData = await (0, fetchData2_1.default)(league, type, endpoint);
19
+ if (requestedProperties) {
20
+ return (0, propertyFilter_1.default)(fetchedData, requestedProperties);
21
+ }
22
+ else {
23
+ return fetchedData;
24
+ }
25
+ }
26
+ exports.default = getData2;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Generates a poe.ninja PoE2 URL. Unlike PoE1, there is no currency stash
3
+ * endpoint - currency is served by the exchange endpoint.
4
+ * @param league The league for which the URL is generated.
5
+ * @param type The poe.ninja PoE2 type (e.g. "Currency", "UniqueWeapons").
6
+ * @param endpoint Which PoE2 economy endpoint to hit.
7
+ * @returns The generated URL.
8
+ */
9
+ export default function urlGenerator2(league: string, type: string, endpoint: "exchange" | "item"): string;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = urlGenerator2;
4
+ /**
5
+ * Maps the poe.ninja PoE2 economy endpoint to its API path.
6
+ */
7
+ const PATHS = {
8
+ exchange: "/poe2/api/economy/exchange/current/overview",
9
+ item: "/poe2/api/economy/stash/current/item/overview",
10
+ };
11
+ /**
12
+ * Generates a poe.ninja PoE2 URL. Unlike PoE1, there is no currency stash
13
+ * endpoint - currency is served by the exchange endpoint.
14
+ * @param league The league for which the URL is generated.
15
+ * @param type The poe.ninja PoE2 type (e.g. "Currency", "UniqueWeapons").
16
+ * @param endpoint Which PoE2 economy endpoint to hit.
17
+ * @returns The generated URL.
18
+ */
19
+ function urlGenerator2(league, type, endpoint) {
20
+ return `https://poe.ninja${PATHS[endpoint]}?league=${encodeURIComponent(league)}&type=${encodeURIComponent(type)}`;
21
+ }