poe-api-manager 0.2.2 → 0.2.8

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 (69) hide show
  1. package/Changelog.md +17 -14
  2. package/README.md +31 -18
  3. package/lib/NinjaAPI.js +26 -4
  4. package/lib/WatchAPI.js +45 -1
  5. package/lib/config/poeNinja/url.js +9 -0
  6. package/lib/config/poeWatch/url.js +9 -0
  7. package/lib/modules/mainfunctions/filter/propertyFilter.js +18 -0
  8. package/lib/modules/poe.ninja/currency/CurrencyWievModule.js +39 -2
  9. package/lib/modules/poe.ninja/currency/currencyFetch/fetchCurrency.js +11 -3
  10. package/lib/modules/poe.ninja/currency/currencyFetch/merge/mergeData.js +7 -0
  11. package/lib/modules/poe.ninja/currency/currencySubmodules/functions/getData.js +23 -0
  12. package/lib/modules/poe.ninja/currency/currencySubmodules/subModules/CurrencyModule.js +45 -2
  13. package/lib/modules/poe.ninja/currency/currencySubmodules/subModules/FragmentModule.js +45 -2
  14. package/lib/modules/poe.ninja/item/ItemWievModule.js +135 -2
  15. package/lib/modules/poe.ninja/item/itemFetch/fetchItem.js +23 -2
  16. package/lib/modules/poe.ninja/item/itemSubmodules/functions/getData.js +19 -0
  17. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/BaseTypeModule.js +41 -2
  18. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/BeastModule.js +41 -2
  19. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/BlightRavagedMapModule.js +46 -2
  20. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/BlightedMapModule.js +43 -2
  21. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/ClusterJewelModule.js +46 -2
  22. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/DeliriumOrbsModule.js +46 -2
  23. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/DivinationCardModule.js +46 -2
  24. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/EssenceModule.js +46 -2
  25. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/FossilModule.js +46 -2
  26. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/HelmetEnchantModule.js +46 -2
  27. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/IncubatorModule.js +46 -2
  28. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/InvitationModule.js +46 -2
  29. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/MapModule.js +46 -2
  30. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/MemoryModule.js +46 -2
  31. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/OilModule.js +46 -2
  32. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/OmenModule.js +46 -2
  33. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/ResonatorModule.js +46 -2
  34. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/ScarabModule.js +46 -2
  35. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/SkillGemModule.js +46 -2
  36. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueAccessoryModule.js +46 -2
  37. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueArmourModule.js +46 -2
  38. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueFlaskModule.js +46 -2
  39. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueJewelModule.js +46 -2
  40. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueMapModule.js +46 -2
  41. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueRelicModule.js +46 -2
  42. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueWeaponModule.js +46 -2
  43. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/VialsModule.js +46 -2
  44. package/lib/modules/poe.watch/WatchWievModule.js +106 -4
  45. package/lib/modules/poe.watch/allModules/fetch/fetch.js +11 -2
  46. package/lib/modules/poe.watch/allModules/functions/getCategory.js +55 -0
  47. package/lib/modules/poe.watch/allModules/functions/getData.js +20 -1
  48. package/lib/modules/poe.watch/allModules/submodules/AccessoryModule.js +77 -1
  49. package/lib/modules/poe.watch/allModules/submodules/ArmourModule.js +75 -1
  50. package/lib/modules/poe.watch/allModules/submodules/BaseModule.js +75 -1
  51. package/lib/modules/poe.watch/allModules/submodules/BeastModule.js +47 -1
  52. package/lib/modules/poe.watch/allModules/submodules/CurrencyModule.js +49 -2
  53. package/lib/modules/poe.watch/allModules/submodules/DeliriumOrbModule.js +47 -1
  54. package/lib/modules/poe.watch/allModules/submodules/DivsModule.js +47 -1
  55. package/lib/modules/poe.watch/allModules/submodules/EssenceModule.js +47 -1
  56. package/lib/modules/poe.watch/allModules/submodules/FlaskModule.js +47 -1
  57. package/lib/modules/poe.watch/allModules/submodules/FossilModule.js +47 -1
  58. package/lib/modules/poe.watch/allModules/submodules/FragmentModule.js +47 -1
  59. package/lib/modules/poe.watch/allModules/submodules/GemModule.js +76 -1
  60. package/lib/modules/poe.watch/allModules/submodules/InscribedModule.js +49 -1
  61. package/lib/modules/poe.watch/allModules/submodules/InvitationModule.js +47 -1
  62. package/lib/modules/poe.watch/allModules/submodules/JewelModule.js +47 -1
  63. package/lib/modules/poe.watch/allModules/submodules/MapModule.js +47 -1
  64. package/lib/modules/poe.watch/allModules/submodules/OilModule.js +47 -1
  65. package/lib/modules/poe.watch/allModules/submodules/ScarabModule.js +47 -1
  66. package/lib/modules/poe.watch/allModules/submodules/SextantModule.js +47 -1
  67. package/lib/modules/poe.watch/allModules/submodules/UniqueMapsModule.js +47 -1
  68. package/lib/modules/poe.watch/allModules/submodules/WeaponModule.js +75 -1
  69. package/package.json +1 -1
@@ -1,13 +1,59 @@
1
1
  const getData = require("../functions/getData");
2
2
 
3
+ /**
4
+ * Represents a module for fetching data related to Unique Maps.
5
+ *
6
+ * @class
7
+ */
3
8
  class UniqueMapsModule {
9
+ /**
10
+ * The query URL for fetching Unique Maps data.
11
+ *
12
+ * @private
13
+ * @type {string}
14
+ */
4
15
  #queryUrl;
16
+
17
+ /**
18
+ * Creates an instance of UniqueMapsModule.
19
+ *
20
+ * @param {string} leagueUrl - The league URL to fetch data from.
21
+ */
5
22
  constructor(leagueUrl) {
23
+ /**
24
+ * The constructed query URL for fetching Unique Maps data.
25
+ *
26
+ * @private
27
+ * @type {string}
28
+ */
6
29
  this.#queryUrl = `currency${leagueUrl}`;
7
30
  }
31
+
32
+ /**
33
+ * Asynchronously retrieves Unique Maps data based on the specified properties.
34
+ *
35
+ * @async
36
+ * @param {Array<string>} requestedProperties - An array of properties to retrieve.
37
+ * @returns {Promise<Object>} A promise that resolves to the retrieved data.
38
+ */
8
39
  async getData(requestedProperties) {
9
- return getData(this.#queryUrl, requestedProperties);
40
+ try {
41
+ /**
42
+ * Calls the getData function to fetch Unique Maps data.
43
+ *
44
+ * @type {Promise<Array<Object>>}
45
+ */
46
+ return getData(this.#queryUrl, requestedProperties);
47
+ } catch (error) {
48
+ /**
49
+ * Throws an error if there's an issue fetching or processing the Unique Maps data.
50
+ *
51
+ * @throws {Error}
52
+ */
53
+ throw new Error(`Error fetching Unique Maps data: ${error.message}`);
54
+ }
10
55
  }
11
56
  }
12
57
 
58
+ // Export the UniqueMapsModule class
13
59
  module.exports = UniqueMapsModule;
@@ -1,13 +1,87 @@
1
1
  const getData = require("../functions/getData");
2
+ const getCategory = require("../functions/getCategory");
2
3
 
4
+ /**
5
+ * Represents a module for fetching data related to Weapons.
6
+ *
7
+ * @class
8
+ */
3
9
  class WeaponModule {
10
+ /**
11
+ * The query URL for fetching Weapon data.
12
+ *
13
+ * @private
14
+ * @type {string}
15
+ */
4
16
  #queryUrl;
17
+
18
+ /**
19
+ * Creates an instance of WeaponModule.
20
+ *
21
+ * @param {string} leagueUrl - The league URL to fetch data from.
22
+ */
5
23
  constructor(leagueUrl) {
24
+ /**
25
+ * The constructed query URL for fetching Weapon data.
26
+ *
27
+ * @private
28
+ * @type {string}
29
+ */
6
30
  this.#queryUrl = `weapon${leagueUrl}`;
7
31
  }
32
+
33
+ /**
34
+ * Asynchronously retrieves Weapon data based on the specified properties.
35
+ *
36
+ * @async
37
+ * @param {Array<string>} requestedProperties - An array of properties to retrieve.
38
+ * @returns {Promise<Object>} A promise that resolves to the retrieved data.
39
+ */
8
40
  async getData(requestedProperties) {
9
- return getData(this.#queryUrl, requestedProperties);
41
+ try {
42
+ /**
43
+ * Calls the getData function to fetch Weapon data.
44
+ *
45
+ * @type {Promise<Array<Object>>}
46
+ */
47
+ return getData(this.#queryUrl, requestedProperties);
48
+ } catch (error) {
49
+ /**
50
+ * Throws an error if there's an issue fetching or processing the Weapon data.
51
+ *
52
+ * @throws {Error}
53
+ */
54
+ throw new Error(`Error fetching Weapon data: ${error.message}`);
55
+ }
56
+ }
57
+ /**
58
+ * Asynchronously retrieves weapon data based on the specified category name.
59
+ *
60
+ * @async
61
+ * @param {string} categoryName - The name of the category to retrieve.
62
+ * * Possible values: "twohandswords", "fishingrods", "onehandswords", "twohandaxes", "staves", "warstaff", "daggers", "scepters".
63
+ * @returns {Promise<Array<Object>>} - A promise that resolves to the retrieved data.
64
+ * @throws {Error} - Throws an error if there is an issue fetching or processing the weapon data for the specified category.
65
+ *
66
+ */
67
+ async getCategory(categoryName) {
68
+ try {
69
+ /**
70
+ * Calls the getCategory function to fetch weapon data based on category name.
71
+ *
72
+ * @type {Promise<Array<Object>>}
73
+ */
74
+ return getCategory(this.#queryUrl, categoryName);
75
+ } catch (error) {
76
+ /**
77
+ * Throws an error if there's an issue fetching or processing the weapon data for the specified category.
78
+ *
79
+ * @throws {Error}
80
+ */
81
+ throw new Error(`Error fetching data Weapon Category: ${error.message}`);
82
+ }
10
83
  }
11
84
  }
12
85
 
86
+ // Export the WeaponModule class
13
87
  module.exports = WeaponModule;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "poe-api-manager",
3
- "version": "0.2.2",
3
+ "version": "0.2.8",
4
4
  "description": "API management for poe.ninja and poe.watch",
5
5
  "main": "index.js",
6
6
  "scripts": {