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
@@ -4,10 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.CurrencyModule = void 0;
7
- const PoeNinja_1 = __importDefault(require("../../../../../AbstractClass/PoeNinja"));
8
- const getQuickCurrency_1 = __importDefault(require("../../../func/getQuickCurrency"));
9
- const CustomError_1 = __importDefault(require("../../../../../errors/CustomError"));
10
- const ApiError_1 = __importDefault(require("../../../../../errors/ApiError"));
7
+ const PoeNinja_1 = __importDefault(require("../../../AbstractClass/PoeNinja"));
8
+ const getQuickCurrency_1 = __importDefault(require("../func/getQuickCurrency"));
9
+ const CustomError_1 = __importDefault(require("../../../errors/CustomError"));
10
+ const ApiError_1 = __importDefault(require("../../../errors/ApiError"));
11
11
  /**
12
12
  * Represents a module for retrieving currency data from the PoeNinja API.
13
13
  */
@@ -1,4 +1,5 @@
1
- import * as Modules from "./currencySubModules/CurrencySubModules";
1
+ import PoeNinja from "../../../AbstractClass/PoeNinja";
2
+ import { CurrencyModule } from "./CurrencyModule";
2
3
  /**
3
4
  * Represents a module for fetching currency overview data.
4
5
  */
@@ -6,15 +7,14 @@ export default class CurrencyViewModule {
6
7
  /**
7
8
  * Represents a module for fetching currency data.
8
9
  */
9
- currency: Modules.CurrencyModule;
10
+ currency: CurrencyModule;
10
11
  /**
11
12
  * Represents a module for fetching fragment data.
12
13
  */
13
- fragment: Modules.FragmentModule;
14
+ fragment: PoeNinja;
14
15
  /**
15
16
  * Creates a new CurrencyViewModule instance.
16
17
  * @param league The name of the Path of Exile league.
17
- * @param typeName The type of data to retrieve.
18
18
  */
19
- constructor(league: string, typeName: string);
19
+ constructor(league: string);
20
20
  }
@@ -1,29 +1,11 @@
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("./currencySubModules/CurrencySubModules"));
6
+ const PoeNinjaLeaf_1 = __importDefault(require("../../../AbstractClass/PoeNinjaLeaf"));
7
+ const CurrencyModule_1 = require("./CurrencyModule");
8
+ const TYPE_NAME = "currencyoverview";
27
9
  /**
28
10
  * Represents a module for fetching currency overview data.
29
11
  */
@@ -39,11 +21,10 @@ class CurrencyViewModule {
39
21
  /**
40
22
  * Creates a new CurrencyViewModule instance.
41
23
  * @param league The name of the Path of Exile league.
42
- * @param typeName The type of data to retrieve.
43
24
  */
44
- constructor(league, typeName) {
45
- this.currency = new Modules.CurrencyModule(league, typeName);
46
- this.fragment = new Modules.FragmentModule(league, typeName);
25
+ constructor(league) {
26
+ this.currency = new CurrencyModule_1.CurrencyModule(league, TYPE_NAME);
27
+ this.fragment = new PoeNinjaLeaf_1.default(league, TYPE_NAME, "Fragment");
47
28
  }
48
29
  }
49
30
  exports.default = CurrencyViewModule;
@@ -5,8 +5,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const axios_1 = __importDefault(require("axios"));
7
7
  const mergeData_1 = __importDefault(require("./merge/mergeData"));
8
+ const mergeExchangeData_1 = __importDefault(require("./merge/mergeExchangeData"));
8
9
  const urlGenerator_1 = __importDefault(require("../func/urlGenerator"));
9
10
  const ApiError_1 = __importDefault(require("../../../errors/ApiError"));
11
+ const CustomError_1 = __importDefault(require("../../../errors/CustomError"));
12
+ const httpGet_1 = __importDefault(require("../../utils/httpGet"));
10
13
  /**
11
14
  * Fetches data from a specified API endpoint, merges relevant data, and returns the result.
12
15
  * @param league The game league for which to fetch data.
@@ -19,12 +22,7 @@ async function fetchData(league, typeName, type) {
19
22
  try {
20
23
  // Generate the URL for the specified league, type name, and type
21
24
  const url = (0, urlGenerator_1.default)(league, typeName, type);
22
- //axios.get(url) is a promise
23
- const response = await axios_1.default.get(url, {
24
- headers: {
25
- "Accept-Encoding": "identity",
26
- },
27
- });
25
+ const response = await (0, httpGet_1.default)(url);
28
26
  //typwName is either currencyoverview or itemoverview
29
27
  if (typeName == "currencyoverview") {
30
28
  //if the response has data and lines and currencyDetails
@@ -49,6 +47,17 @@ async function fetchData(league, typeName, type) {
49
47
  throw new ApiError_1.default(`Invalid response format from POE Ninja API ItemView Type:${type}`, 400, { league, typeName, type });
50
48
  }
51
49
  }
50
+ else if (typeName == "exchangeoverview") {
51
+ // CAVEAT: unlike the other two endpoints, the exchange endpoint returns
52
+ // HTTP 200 with an empty lines[] for an unknown type instead of a 404
53
+ // (verified live), so a bad type yields [] here rather than an error.
54
+ if (response.data && response.data.lines && response.data.items) {
55
+ return (0, mergeExchangeData_1.default)(response.data.lines, response.data.items, response.data.core);
56
+ }
57
+ else {
58
+ throw new ApiError_1.default(`Invalid response format from POE Ninja API ExchangeView Type:${type}`, 400, { league, typeName, type });
59
+ }
60
+ }
52
61
  else {
53
62
  throw new ApiError_1.default(`Invalid type: ${type}`, 400, {
54
63
  league,
@@ -58,8 +67,8 @@ async function fetchData(league, typeName, type) {
58
67
  }
59
68
  }
60
69
  catch (error) {
61
- // If it's already an ApiError, pass it through
62
- if (error instanceof ApiError_1.default) {
70
+ // If it's already a typed error (ApiError/ValidationError), pass it through
71
+ if (error instanceof CustomError_1.default) {
63
72
  throw error;
64
73
  }
65
74
  // Handle axios errors with more context
@@ -12,17 +12,17 @@ function mergeData(lines, currencyDetails) {
12
12
  const currencyType = line.currencyTypeName;
13
13
  // Find the corresponding currencyDetail based on currencyType
14
14
  const currencyDetail = currencyDetails.find((detail) => detail.name === currencyType);
15
- if (currencyDetail) {
16
- // Merge line and currencyDetail into a new object
17
- const mergedItem = {
15
+ // Merge line and currencyDetail into a new object. Keep unmatched lines
16
+ // as-is instead of dropping them.
17
+ const mergedItem = currencyDetail
18
+ ? {
18
19
  ...line,
19
20
  id: currencyDetail.id,
20
21
  icon: currencyDetail.icon,
21
22
  name: currencyDetail.name,
22
- };
23
- // Add the merged item to the result array
24
- mergedData.push(mergedItem);
25
- }
23
+ }
24
+ : { ...line };
25
+ mergedData.push(mergedItem);
26
26
  });
27
27
  return mergedData;
28
28
  }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Merges exchange endpoint lines with their join-table items, normalizing the
3
+ * result to the documented ["id","name","icon"] contract.
4
+ * @param lines The exchange lines to be merged.
5
+ * @param items The exchange join-table items (top-level `items[]`, not `core.items`).
6
+ * @param core The exchange `core` object; `core.primary` names the unit of `line.primaryValue`.
7
+ * @returns The merged data.
8
+ */
9
+ declare function mergeExchangeData(lines: any[], items: any[], core: any): any[];
10
+ export default mergeExchangeData;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Merges exchange endpoint lines with their join-table items, normalizing the
5
+ * result to the documented ["id","name","icon"] contract.
6
+ * @param lines The exchange lines to be merged.
7
+ * @param items The exchange join-table items (top-level `items[]`, not `core.items`).
8
+ * @param core The exchange `core` object; `core.primary` names the unit of `line.primaryValue`.
9
+ * @returns The merged data.
10
+ */
11
+ function mergeExchangeData(lines, items, core) {
12
+ const mergedData = [];
13
+ lines.forEach((line) => {
14
+ const item = items.find((candidate) => candidate.id === line.id);
15
+ const mergedItem = { ...line };
16
+ if (item) {
17
+ mergedItem.name = item.name;
18
+ mergedItem.icon = `https://web.poecdn.com${item.image}`;
19
+ mergedItem.detailsId = item.detailsId;
20
+ mergedItem.category = item.category;
21
+ }
22
+ if (core?.primary === "chaos") {
23
+ mergedItem.chaosValue = line.primaryValue;
24
+ }
25
+ else {
26
+ delete mergedItem.chaosValue;
27
+ }
28
+ mergedData.push(mergedItem);
29
+ });
30
+ return mergedData;
31
+ }
32
+ exports.default = mergeExchangeData;
@@ -16,19 +16,14 @@ const propertyFilter_1 = __importDefault(require("../../../mainfunctions/propert
16
16
  * @throws If there is an error fetching the data.
17
17
  */
18
18
  async function getData(league, typeName, type, requestedProperties) {
19
- try {
20
- const fetchedData = await (0, fetchData_1.default)(league, typeName, type);
21
- //if requestedProperties use filterProperties to filter fetchedData
22
- if (requestedProperties) {
23
- const result = (0, propertyFilter_1.default)(fetchedData, requestedProperties);
24
- return result;
25
- }
26
- else {
27
- return fetchedData;
28
- }
19
+ const fetchedData = await (0, fetchData_1.default)(league, typeName, type);
20
+ //if requestedProperties use filterProperties to filter fetchedData
21
+ if (requestedProperties) {
22
+ const result = (0, propertyFilter_1.default)(fetchedData, requestedProperties);
23
+ return result;
29
24
  }
30
- catch (error) {
31
- throw new Error(`Type:${type} Error fetching data: ${error.message}`);
25
+ else {
26
+ return fetchedData;
32
27
  }
33
28
  }
34
29
  exports.default = getData;
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const fetchData_1 = __importDefault(require("../fetch/fetchData"));
7
+ const ValidationError_1 = __importDefault(require("../../../errors/ValidationError"));
7
8
  /**
8
9
  * Retrieves quick currency data for a specific currency in a given league and type.
9
10
  * @param league - The league for which to fetch currency data.
@@ -14,21 +15,20 @@ const fetchData_1 = __importDefault(require("../fetch/fetchData"));
14
15
  * @throws Throws an error if the currency data cannot be fetched or if the currency is not found.
15
16
  */
16
17
  async function getQuickCurrency(league, typeName, type, currencyTypeName) {
17
- try {
18
- const fetchedData = await (0, fetchData_1.default)(league, typeName, type);
19
- //find the currencyTypeName in the fetchedData
20
- for (const data of fetchedData) {
21
- if (data.currencyTypeName === currencyTypeName) {
22
- return {
23
- currencyTypeName: data.currencyTypeName,
24
- chaosEquivalent: data.chaosEquivalent,
25
- };
26
- }
18
+ const fetchedData = await (0, fetchData_1.default)(league, typeName, type);
19
+ //find the currencyTypeName in the fetchedData
20
+ for (const data of fetchedData) {
21
+ if (data.currencyTypeName === currencyTypeName) {
22
+ return {
23
+ currencyTypeName: data.currencyTypeName,
24
+ chaosEquivalent: data.chaosEquivalent,
25
+ };
27
26
  }
28
- throw new Error("Currency not found");
29
- }
30
- catch (error) {
31
- throw new Error(`Error fetching currency data: ${error.message}`);
32
27
  }
28
+ throw new ValidationError_1.default(`Currency not found: ${currencyTypeName}`, 404, {
29
+ league,
30
+ type,
31
+ currencyTypeName,
32
+ });
33
33
  }
34
34
  exports.default = getQuickCurrency;
@@ -1,5 +1,18 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.default = urlGenerator;
7
+ const ValidationError_1 = __importDefault(require("../../../errors/ValidationError"));
8
+ /**
9
+ * Maps the internal typeName to its poe.ninja economy API path.
10
+ */
11
+ const PATHS = {
12
+ currencyoverview: "/poe1/api/economy/stash/current/currency/overview",
13
+ itemoverview: "/poe1/api/economy/stash/current/item/overview",
14
+ exchangeoverview: "/poe1/api/economy/exchange/current/overview",
15
+ };
3
16
  /**
4
17
  * Generates a URL based on league and type. poe.ninja (currencyView) API is used.
5
18
  * @param league The league for which the URL is generated.
@@ -8,6 +21,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
8
21
  * @returns The generated URL.
9
22
  */
10
23
  function urlGenerator(league, typeName, type) {
11
- return `https://poe.ninja/api/data/${typeName}?league=${league}&type=${type}`;
24
+ const path = PATHS[typeName];
25
+ if (!path) {
26
+ throw new ValidationError_1.default(`Invalid typeName: ${typeName}`, 400, { league, typeName, type });
27
+ }
28
+ return `https://poe.ninja${path}?league=${encodeURIComponent(league)}&type=${encodeURIComponent(type)}`;
12
29
  }
13
- exports.default = urlGenerator;
@@ -1,128 +1,67 @@
1
- import * as Modules from "./itemSubmodules/itemSubModules";
1
+ import PoeNinja from "../../../AbstractClass/PoeNinja";
2
2
  /**
3
3
  * Represents a module for viewing item-related information in a specific Path of Exile league.
4
4
  */
5
5
  export default class ItemViewModule {
6
- /**
7
- * Represents a submodule for base type item information.
8
- */
9
- baseType: Modules.BaseTypeModule;
10
- /**
11
- * Represents a submodule for beast item information.
12
- */
13
- beast: Modules.BeastModule;
14
- /**
15
- * Represents a submodule for delirium orbs item information.
16
- */
17
- deliriumOrbs: Modules.DeliriumOrbsModule;
18
- /**
19
- * Represents a submodule for divination card item information.
20
- */
21
- divinationCard: Modules.DivinationCardModule;
22
- /**
23
- * Represents a submodule for essence item information.
24
- */
25
- essence: Modules.EssenceModule;
26
- /**
27
- * Represents a submodule for fossil item information.
28
- */
29
- fossil: Modules.FossilModule;
30
- /**
31
- * Represents a submodule for helmet enchant item information.
32
- */
33
- helmetEnchant: Modules.HelmetEnchantModule;
34
- /**
35
- * Represents a submodule for incubator item information.
36
- */
37
- incubator: Modules.IncubatorModule;
38
- /**
39
- * Represents a submodule for map item information.
40
- */
41
- map: Modules.MapModule;
42
- /**
43
- * Represents a submodule for oil item information.
44
- */
45
- oil: Modules.OilModule;
46
- /**
47
- * Represents a submodule for resonator item information.
48
- */
49
- resonator: Modules.ResonatorModule;
50
- /**
51
- * Represents a submodule for scarab item information.
52
- */
53
- scarab: Modules.ScarabModule;
54
- /**
55
- * Represents a submodule for skill gem item information.
56
- */
57
- skillGem: Modules.SkillGemModule;
58
- /**
59
- * Represents a submodule for unique accessory item information.
60
- */
61
- uniqueAccessory: Modules.UniqueAccessoryModule;
62
- /**
63
- * Represents a submodule for unique armour item information.
64
- */
65
- uniqueArmour: Modules.UniqueArmourModule;
66
- /**
67
- * Represents a submodule for unique flask item information.
68
- */
69
- uniqueFlask: Modules.UniqueFlaskModule;
70
- /**
71
- * Represents a submodule for unique jewel item information.
72
- */
73
- uniqueJewel: Modules.UniqueJewelModule;
74
- /**
75
- * Represents a submodule for unique map item information.
76
- */
77
- uniqueMap: Modules.UniqueMapModule;
78
- /**
79
- * Represents a submodule for unique weapon item information.
80
- */
81
- uniqueWeapon: Modules.UniqueWeaponModule;
82
- /**
83
- * Represents a submodule for vials item information.
84
- */
85
- vials: Modules.VialsModule;
86
- /**
87
- * Represents a submodule for omen item information.
88
- */
89
- omen: Modules.OmenModule;
90
- /**
91
- * Represents a submodule for memory item information.
92
- */
93
- memory: Modules.MemoryModule;
94
- /**
95
- * Represents a submodule for invitation item information.
96
- */
97
- invitation: Modules.InvitationModule;
98
- /**
99
- * Represents a submodule for unique relics item information.
100
- */
101
- uniqueRelics: Modules.UniqueRelicModule;
102
- /**
103
- * Represents a submodule for cluster jewel item information.
104
- */
105
- clusterJewel: Modules.ClusterJewelModule;
106
- /**
107
- * Represents a submodule for blighted map item information.
108
- */
109
- blightedMap: Modules.BlightedMapModule;
110
- /**
111
- * Represents a submodule for blight ravaged map item information.
112
- */
113
- blightRavagedMap: Modules.BlightedRavagedMapModule;
114
- /**
115
- * Represents a submodule for coffin item information.
116
- */
117
- coffin: Modules.CoffinModule;
118
- /**
119
- * Creates an instance of AllflameEmberModule.
120
- */
121
- allflameEmber: Modules.AllflameEmberModule;
6
+ /** Represents a submodule for base type item information. */
7
+ baseType: PoeNinja;
8
+ /** Represents a submodule for beast item information. */
9
+ beast: PoeNinja;
10
+ /** Represents a submodule for delirium orbs item information. *(exchange)* */
11
+ deliriumOrbs: PoeNinja;
12
+ /** Represents a submodule for divination card item information. *(exchange)* */
13
+ divinationCard: PoeNinja;
14
+ /** Represents a submodule for essence item information. *(exchange)* */
15
+ essence: PoeNinja;
16
+ /** Represents a submodule for fossil item information. *(exchange)* */
17
+ fossil: PoeNinja;
18
+ /** Represents a submodule for incubator item information. */
19
+ incubator: PoeNinja;
20
+ /** Represents a submodule for map item information. */
21
+ map: PoeNinja;
22
+ /** Represents a submodule for oil item information. *(exchange)* */
23
+ oil: PoeNinja;
24
+ /** Represents a submodule for resonator item information. *(exchange)* */
25
+ resonator: PoeNinja;
26
+ /** Represents a submodule for scarab item information. *(exchange)* */
27
+ scarab: PoeNinja;
28
+ /** Represents a submodule for skill gem item information. */
29
+ skillGem: PoeNinja;
30
+ /** Represents a submodule for unique accessory item information. */
31
+ uniqueAccessory: PoeNinja;
32
+ /** Represents a submodule for unique armour item information. */
33
+ uniqueArmour: PoeNinja;
34
+ /** Represents a submodule for unique flask item information. */
35
+ uniqueFlask: PoeNinja;
36
+ /** Represents a submodule for unique jewel item information. */
37
+ uniqueJewel: PoeNinja;
38
+ /** Represents a submodule for unique map item information. */
39
+ uniqueMap: PoeNinja;
40
+ /** Represents a submodule for unique weapon item information. */
41
+ uniqueWeapon: PoeNinja;
42
+ /** Represents a submodule for vials item information. */
43
+ vials: PoeNinja;
44
+ /** Represents a submodule for omen item information. *(exchange)* */
45
+ omen: PoeNinja;
46
+ /** Represents a submodule for memory item information. */
47
+ memory: PoeNinja;
48
+ /** Represents a submodule for invitation item information. */
49
+ invitation: PoeNinja;
50
+ /** Represents a submodule for unique relics item information. */
51
+ uniqueRelics: PoeNinja;
52
+ /** Represents a submodule for cluster jewel item information. */
53
+ clusterJewel: PoeNinja;
54
+ /** Represents a submodule for blighted map item information. */
55
+ blightedMap: PoeNinja;
56
+ /** Represents a submodule for blight ravaged map item information. */
57
+ blightRavagedMap: PoeNinja;
58
+ /** Represents a submodule for coffin item information. */
59
+ coffin: PoeNinja;
60
+ /** Represents a submodule for allflame ember item information. *(exchange)* */
61
+ allflameEmber: PoeNinja;
122
62
  /**
123
63
  * Creates a new instance of ItemViewModule.
124
64
  * @param league - The Path of Exile league for which the item information is retrieved.
125
- * @param typeName - The type of item information to retrieve.
126
65
  */
127
- constructor(league: string, typeName: string);
66
+ constructor(league: string);
128
67
  }