poe-api-manager 0.2.8 → 1.2.1

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 (71) hide show
  1. package/Changelog.md +12 -2
  2. package/README.md +31 -9
  3. package/index.js +4 -0
  4. package/lib/Utils.js +41 -0
  5. package/lib/WatchAPI.js +1 -33
  6. package/lib/modules/poe.ninja/currency/CurrencyBaseClass.js +37 -0
  7. package/lib/modules/poe.ninja/currency/CurrencyWievModule.js +2 -27
  8. package/lib/modules/poe.ninja/currency/currencySubmodules/subModules/CurrencyModule.js +8 -52
  9. package/lib/modules/poe.ninja/currency/currencySubmodules/subModules/FragmentModule.js +8 -52
  10. package/lib/modules/poe.ninja/currency/{currencySubmodules/functions → methods}/getData.js +2 -2
  11. package/lib/modules/poe.ninja/item/ItemBaseClass.js +64 -0
  12. package/lib/modules/poe.ninja/item/ItemWievModule.js +27 -52
  13. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/BaseTypeModule.js +8 -48
  14. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/BeastModule.js +8 -48
  15. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/BlightRavagedMapModule.js +9 -54
  16. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/BlightedMapModule.js +7 -49
  17. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/ClusterJewelModule.js +7 -52
  18. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/DeliriumOrbsModule.js +7 -52
  19. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/DivinationCardModule.js +7 -52
  20. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/EssenceModule.js +7 -52
  21. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/FossilModule.js +7 -52
  22. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/HelmetEnchantModule.js +7 -52
  23. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/IncubatorModule.js +7 -52
  24. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/InvitationModule.js +7 -52
  25. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/MapModule.js +7 -52
  26. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/MemoryModule.js +7 -52
  27. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/OilModule.js +7 -52
  28. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/OmenModule.js +7 -52
  29. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/ResonatorModule.js +7 -52
  30. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/ScarabModule.js +7 -52
  31. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/SkillGemModule.js +7 -52
  32. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueAccessoryModule.js +7 -52
  33. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueArmourModule.js +7 -52
  34. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueFlaskModule.js +7 -52
  35. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueJewelModule.js +7 -52
  36. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueMapModule.js +7 -52
  37. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueRelicModule.js +7 -52
  38. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueWeaponModule.js +7 -52
  39. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/VialsModule.js +7 -52
  40. package/lib/modules/poe.ninja/item/{itemSubmodules/functions → methods}/getData.js +2 -2
  41. package/lib/modules/poe.watch/allModules/WatchBaseClass.js +45 -0
  42. package/lib/modules/poe.watch/allModules/fetch/fetch.js +1 -4
  43. package/lib/modules/poe.watch/allModules/submodules/AccessoryModule.js +19 -62
  44. package/lib/modules/poe.watch/allModules/submodules/ArmourModule.js +19 -60
  45. package/lib/modules/poe.watch/allModules/submodules/BaseModule.js +19 -59
  46. package/lib/modules/poe.watch/allModules/submodules/BeastModule.js +13 -42
  47. package/lib/modules/poe.watch/allModules/submodules/CurrencyModule.js +13 -43
  48. package/lib/modules/poe.watch/allModules/submodules/DeliriumOrbModule.js +20 -42
  49. package/lib/modules/poe.watch/allModules/submodules/DivsModule.js +14 -43
  50. package/lib/modules/poe.watch/allModules/submodules/EssenceModule.js +13 -42
  51. package/lib/modules/poe.watch/allModules/submodules/FlaskModule.js +13 -42
  52. package/lib/modules/poe.watch/allModules/submodules/FossilModule.js +13 -42
  53. package/lib/modules/poe.watch/allModules/submodules/FragmentModule.js +13 -42
  54. package/lib/modules/poe.watch/allModules/submodules/GemModule.js +19 -61
  55. package/lib/modules/poe.watch/allModules/submodules/InscribedModule.js +13 -44
  56. package/lib/modules/poe.watch/allModules/submodules/InvitationModule.js +13 -42
  57. package/lib/modules/poe.watch/allModules/submodules/JewelModule.js +13 -42
  58. package/lib/modules/poe.watch/allModules/submodules/MapModule.js +13 -42
  59. package/lib/modules/poe.watch/allModules/submodules/OilModule.js +13 -42
  60. package/lib/modules/poe.watch/allModules/submodules/ScarabModule.js +13 -42
  61. package/lib/modules/poe.watch/allModules/submodules/SextantModule.js +13 -42
  62. package/lib/modules/poe.watch/allModules/submodules/UniqueMapsModule.js +13 -42
  63. package/lib/modules/poe.watch/allModules/submodules/WeaponModule.js +19 -59
  64. package/lib/modules/poe.watch/allModules/watchUrlGenerator/urlGenerator.js +9 -0
  65. package/lib/modules/utils/functions/fetch/fetch.js +22 -0
  66. package/lib/modules/utils/getLeagues.js +24 -0
  67. package/package.json +1 -1
  68. package/lib/config/poeNinja/url.js +0 -12
  69. package/lib/config/poeWatch/url.js +0 -12
  70. /package/lib/modules/poe.watch/allModules/{functions → methods}/getCategory.js +0 -0
  71. /package/lib/modules/poe.watch/allModules/{functions → methods}/getData.js +0 -0
@@ -1,60 +1,15 @@
1
- const getData = require("../functions/getData");
2
-
1
+ const ItemBaseClass = require("../../ItemBaseClass");
3
2
  /**
4
- * Represents a module for fetching data related to Scarabs.
5
- *
6
- * @class
3
+ * Represents a module for handling scarabs.
4
+ * @extends ItemBaseClass
7
5
  */
8
- class ScarabModule {
9
- /**
10
- * The URL for fetching data.
11
- *
12
- * @private
13
- * @type {string}
14
- */
15
- #url;
16
-
17
- /**
18
- * The type of data (Scarab in this case).
19
- *
20
- * @private
21
- * @type {string}
22
- */
23
- #type;
24
-
6
+ class ScarabModule extends ItemBaseClass {
25
7
  /**
26
8
  * Creates an instance of ScarabModule.
27
- *
28
- * @param {string} url - The URL to fetch data from.
29
- */
30
- constructor(url) {
31
- this.#url = url;
32
- this.#type = "Scarab";
33
- }
34
-
35
- /**
36
- * Asynchronously retrieves data based on the specified properties.
37
- *
38
- * @async
39
- * @param {Array<string>} requestedProperties - An array of properties to retrieve.
40
- * @returns {Promise<Object>} A promise that resolves to the retrieved data.
9
+ * @param {string} league - The league name.
41
10
  */
42
- async getData(requestedProperties) {
43
- try {
44
- /**
45
- * Calls the getData function to fetch Scarab data.
46
- *
47
- * @type {Promise<Array<Object>>}
48
- */
49
- return getData(this.#url, this.#type, requestedProperties);
50
- } catch (error) {
51
- /**
52
- * Throws an error if there's an issue fetching or processing the Scarab data.
53
- *
54
- * @throws {Error}
55
- */
56
- throw new Error(`Error fetching Scarab data: ${error.message}`);
57
- }
11
+ constructor(league) {
12
+ super(league, "Scarab");
58
13
  }
59
14
  }
60
15
 
@@ -1,60 +1,15 @@
1
- const getData = require("../functions/getData");
2
-
1
+ const ItemBaseClass = require("../../ItemBaseClass");
3
2
  /**
4
- * Represents a module for fetching data related to Skill Gems.
5
- *
6
- * @class
3
+ * Represents a module for handling skill gems.
4
+ * @extends ItemBaseClass
7
5
  */
8
- class SkillGemModule {
9
- /**
10
- * The URL for fetching data.
11
- *
12
- * @private
13
- * @type {string}
14
- */
15
- #url;
16
-
17
- /**
18
- * The type of data (SkillGem in this case).
19
- *
20
- * @private
21
- * @type {string}
22
- */
23
- #type;
24
-
6
+ class SkillGemModule extends ItemBaseClass {
25
7
  /**
26
8
  * Creates an instance of SkillGemModule.
27
- *
28
- * @param {string} url - The URL to fetch data from.
29
- */
30
- constructor(url) {
31
- this.#url = url;
32
- this.#type = "SkillGem";
33
- }
34
-
35
- /**
36
- * Asynchronously retrieves data based on the specified properties.
37
- *
38
- * @async
39
- * @param {Array<string>} requestedProperties - An array of properties to retrieve.
40
- * @returns {Promise<Object>} A promise that resolves to the retrieved data.
9
+ * @param {string} league - The league name.
41
10
  */
42
- async getData(requestedProperties) {
43
- try {
44
- /**
45
- * Calls the getData function to fetch SkillGem data.
46
- *
47
- * @type {Promise<Array<Object>>}
48
- */
49
- return getData(this.#url, this.#type, requestedProperties);
50
- } catch (error) {
51
- /**
52
- * Throws an error if there's an issue fetching or processing the SkillGem data.
53
- *
54
- * @throws {Error}
55
- */
56
- throw new Error(`Error fetching SkillGem data: ${error.message}`);
57
- }
11
+ constructor(league) {
12
+ super(league, "SkillGem");
58
13
  }
59
14
  }
60
15
 
@@ -1,60 +1,15 @@
1
- const getData = require("../functions/getData");
2
-
1
+ const ItemBaseClass = require("../../ItemBaseClass");
3
2
  /**
4
- * Represents a module for fetching data related to Unique Accessories.
5
- *
6
- * @class
3
+ * Represents a module for handling unique accessories.
4
+ * @extends ItemBaseClass
7
5
  */
8
- class UniqueAccessoryModule {
9
- /**
10
- * The URL for fetching data.
11
- *
12
- * @private
13
- * @type {string}
14
- */
15
- #url;
16
-
17
- /**
18
- * The type of data (UniqueAccessory in this case).
19
- *
20
- * @private
21
- * @type {string}
22
- */
23
- #type;
24
-
6
+ class UniqueAccessoryModule extends ItemBaseClass {
25
7
  /**
26
8
  * Creates an instance of UniqueAccessoryModule.
27
- *
28
- * @param {string} url - The URL to fetch data from.
29
- */
30
- constructor(url) {
31
- this.#url = url;
32
- this.#type = "UniqueAccessory";
33
- }
34
-
35
- /**
36
- * Asynchronously retrieves data based on the specified properties.
37
- *
38
- * @async
39
- * @param {Array<string>} requestedProperties - An array of properties to retrieve.
40
- * @returns {Promise<Object>} A promise that resolves to the retrieved data.
9
+ * @param {string} league - The league name.
41
10
  */
42
- async getData(requestedProperties) {
43
- try {
44
- /**
45
- * Calls the getData function to fetch UniqueAccessory data.
46
- *
47
- * @type {Promise<Array<Object>>}
48
- */
49
- return getData(this.#url, this.#type, requestedProperties);
50
- } catch (error) {
51
- /**
52
- * Throws an error if there's an issue fetching or processing the UniqueAccessory data.
53
- *
54
- * @throws {Error}
55
- */
56
- throw new Error(`Error fetching UniqueAccessory data: ${error.message}`);
57
- }
11
+ constructor(league) {
12
+ super(league, "UniqueAccessory");
58
13
  }
59
14
  }
60
15
 
@@ -1,60 +1,15 @@
1
- const getData = require("../functions/getData");
2
-
1
+ const ItemBaseClass = require("../../ItemBaseClass");
3
2
  /**
4
- * Represents a module for fetching data related to Unique Armours.
5
- *
6
- * @class
3
+ * Represents a module for handling unique armours.
4
+ * @extends ItemBaseClass
7
5
  */
8
- class UniqueArmourModule {
9
- /**
10
- * The URL for fetching data.
11
- *
12
- * @private
13
- * @type {string}
14
- */
15
- #url;
16
-
17
- /**
18
- * The type of data (UniqueArmour in this case).
19
- *
20
- * @private
21
- * @type {string}
22
- */
23
- #type;
24
-
6
+ class UniqueArmourModule extends ItemBaseClass {
25
7
  /**
26
8
  * Creates an instance of UniqueArmourModule.
27
- *
28
- * @param {string} url - The URL to fetch data from.
29
- */
30
- constructor(url) {
31
- this.#url = url;
32
- this.#type = "UniqueArmour";
33
- }
34
-
35
- /**
36
- * Asynchronously retrieves data based on the specified properties.
37
- *
38
- * @async
39
- * @param {Array<string>} requestedProperties - An array of properties to retrieve.
40
- * @returns {Promise<Object>} A promise that resolves to the retrieved data.
9
+ * @param {string} league - The league name.
41
10
  */
42
- async getData(requestedProperties) {
43
- try {
44
- /**
45
- * Calls the getData function to fetch UniqueArmour data.
46
- *
47
- * @type {Promise<Array<Object>>}
48
- */
49
- return getData(this.#url, this.#type, requestedProperties);
50
- } catch (error) {
51
- /**
52
- * Throws an error if there's an issue fetching or processing the UniqueArmour data.
53
- *
54
- * @throws {Error}
55
- */
56
- throw new Error(`Error fetching UniqueArmour data: ${error.message}`);
57
- }
11
+ constructor(league) {
12
+ super(league, "UniqueArmour");
58
13
  }
59
14
  }
60
15
 
@@ -1,60 +1,15 @@
1
- const getData = require("../functions/getData");
2
-
1
+ const ItemBaseClass = require("../../ItemBaseClass");
3
2
  /**
4
- * Represents a module for fetching data related to Unique Flasks.
5
- *
6
- * @class
3
+ * Represents a module for handling unique flasks.
4
+ * @extends ItemBaseClass
7
5
  */
8
- class UniqueFlaskModule {
9
- /**
10
- * The URL for fetching data.
11
- *
12
- * @private
13
- * @type {string}
14
- */
15
- #url;
16
-
17
- /**
18
- * The type of data (UniqueFlask in this case).
19
- *
20
- * @private
21
- * @type {string}
22
- */
23
- #type;
24
-
6
+ class UniqueFlaskModule extends ItemBaseClass {
25
7
  /**
26
8
  * Creates an instance of UniqueFlaskModule.
27
- *
28
- * @param {string} url - The URL to fetch data from.
29
- */
30
- constructor(url) {
31
- this.#url = url;
32
- this.#type = "UniqueFlask";
33
- }
34
-
35
- /**
36
- * Asynchronously retrieves data based on the specified properties.
37
- *
38
- * @async
39
- * @param {Array<string>} requestedProperties - An array of properties to retrieve.
40
- * @returns {Promise<Object>} A promise that resolves to the retrieved data.
9
+ * @param {string} league - The league name.
41
10
  */
42
- async getData(requestedProperties) {
43
- try {
44
- /**
45
- * Calls the getData function to fetch UniqueFlask data.
46
- *
47
- * @type {Promise<Array<Object>>}
48
- */
49
- return getData(this.#url, this.#type, requestedProperties);
50
- } catch (error) {
51
- /**
52
- * Throws an error if there's an issue fetching or processing the UniqueFlask data.
53
- *
54
- * @throws {Error}
55
- */
56
- throw new Error(`Error fetching UniqueFlask data: ${error.message}`);
57
- }
11
+ constructor(league) {
12
+ super(league, "UniqueFlask");
58
13
  }
59
14
  }
60
15
 
@@ -1,60 +1,15 @@
1
- const getData = require("../functions/getData");
2
-
1
+ const ItemBaseClass = require("../../ItemBaseClass");
3
2
  /**
4
- * Represents a module for fetching data related to Unique Jewels.
5
- *
6
- * @class
3
+ * Represents a module for handling unique jewels.
4
+ * @extends ItemBaseClass
7
5
  */
8
- class UniqueJewelModule {
9
- /**
10
- * The URL for fetching data.
11
- *
12
- * @private
13
- * @type {string}
14
- */
15
- #url;
16
-
17
- /**
18
- * The type of data (UniqueJewel in this case).
19
- *
20
- * @private
21
- * @type {string}
22
- */
23
- #type;
24
-
6
+ class UniqueJewelModule extends ItemBaseClass {
25
7
  /**
26
8
  * Creates an instance of UniqueJewelModule.
27
- *
28
- * @param {string} url - The URL to fetch data from.
29
- */
30
- constructor(url) {
31
- this.#url = url;
32
- this.#type = "UniqueJewel";
33
- }
34
-
35
- /**
36
- * Asynchronously retrieves data based on the specified properties.
37
- *
38
- * @async
39
- * @param {Array<string>} requestedProperties - An array of properties to retrieve.
40
- * @returns {Promise<Object>} A promise that resolves to the retrieved data.
9
+ * @param {string} league - The league name.
41
10
  */
42
- async getData(requestedProperties) {
43
- try {
44
- /**
45
- * Calls the getData function to fetch UniqueJewel data.
46
- *
47
- * @type {Promise<Array<Object>>}
48
- */
49
- return getData(this.#url, this.#type, requestedProperties);
50
- } catch (error) {
51
- /**
52
- * Throws an error if there's an issue fetching or processing the UniqueJewel data.
53
- *
54
- * @throws {Error}
55
- */
56
- throw new Error(`Error fetching UniqueJewel data: ${error.message}`);
57
- }
11
+ constructor(league) {
12
+ super(league, "UniqueJewel");
58
13
  }
59
14
  }
60
15
 
@@ -1,60 +1,15 @@
1
- const getData = require("../functions/getData");
2
-
1
+ const ItemBaseClass = require("../../ItemBaseClass");
3
2
  /**
4
- * Represents a module for fetching data related to Unique Maps.
5
- *
6
- * @class
3
+ * Represents a module for handling unique maps.
4
+ * @extends ItemBaseClass
7
5
  */
8
- class UniqueMapModule {
9
- /**
10
- * The URL for fetching data.
11
- *
12
- * @private
13
- * @type {string}
14
- */
15
- #url;
16
-
17
- /**
18
- * The type of data (UniqueMap in this case).
19
- *
20
- * @private
21
- * @type {string}
22
- */
23
- #type;
24
-
6
+ class UniqueMapModule extends ItemBaseClass {
25
7
  /**
26
8
  * Creates an instance of UniqueMapModule.
27
- *
28
- * @param {string} url - The URL to fetch data from.
29
- */
30
- constructor(url) {
31
- this.#url = url;
32
- this.#type = "UniqueMap";
33
- }
34
-
35
- /**
36
- * Asynchronously retrieves data based on the specified properties.
37
- *
38
- * @async
39
- * @param {Array<string>} requestedProperties - An array of properties to retrieve.
40
- * @returns {Promise<Object>} A promise that resolves to the retrieved data.
9
+ * @param {string} league - The league name.
41
10
  */
42
- async getData(requestedProperties) {
43
- try {
44
- /**
45
- * Calls the getData function to fetch UniqueMap data.
46
- *
47
- * @type {Promise<Array<Object>>}
48
- */
49
- return getData(this.#url, this.#type, requestedProperties);
50
- } catch (error) {
51
- /**
52
- * Throws an error if there's an issue fetching or processing the UniqueMap data.
53
- *
54
- * @throws {Error}
55
- */
56
- throw new Error(`Error fetching UniqueMap data: ${error.message}`);
57
- }
11
+ constructor(league) {
12
+ super(league, "UniqueMap");
58
13
  }
59
14
  }
60
15
 
@@ -1,60 +1,15 @@
1
- const getData = require("../functions/getData");
2
-
1
+ const ItemBaseClass = require("../../ItemBaseClass");
3
2
  /**
4
- * Represents a module for fetching data related to Unique Relics.
5
- *
6
- * @class
3
+ * Represents a module for handling unique relics.
4
+ * @extends ItemBaseClass
7
5
  */
8
- class UniqueRelicModule {
9
- /**
10
- * The URL for fetching data.
11
- *
12
- * @private
13
- * @type {string}
14
- */
15
- #url;
16
-
17
- /**
18
- * The type of data (UniqueRelic in this case).
19
- *
20
- * @private
21
- * @type {string}
22
- */
23
- #type;
24
-
6
+ class UniqueRelicModule extends ItemBaseClass {
25
7
  /**
26
8
  * Creates an instance of UniqueRelicModule.
27
- *
28
- * @param {string} url - The URL to fetch data from.
29
- */
30
- constructor(url) {
31
- this.#url = url;
32
- this.#type = "UniqueRelic";
33
- }
34
-
35
- /**
36
- * Asynchronously retrieves data based on the specified properties.
37
- *
38
- * @async
39
- * @param {Array<string>} requestedProperties - An array of properties to retrieve.
40
- * @returns {Promise<Object>} A promise that resolves to the retrieved data.
9
+ * @param {string} league - The league name.
41
10
  */
42
- async getData(requestedProperties) {
43
- try {
44
- /**
45
- * Calls the getData function to fetch UniqueRelic data.
46
- *
47
- * @type {Promise<Array<Object>>}
48
- */
49
- return getData(this.#url, this.#type, requestedProperties);
50
- } catch (error) {
51
- /**
52
- * Throws an error if there's an issue fetching or processing the UniqueRelic data.
53
- *
54
- * @throws {Error}
55
- */
56
- throw new Error(`Error fetching UniqueRelic data: ${error.message}`);
57
- }
11
+ constructor(league) {
12
+ super(league, "UniqueRelic");
58
13
  }
59
14
  }
60
15
 
@@ -1,60 +1,15 @@
1
- const getData = require("../functions/getData");
2
-
1
+ const ItemBaseClass = require("../../ItemBaseClass");
3
2
  /**
4
- * Represents a module for fetching data related to Unique Weapons.
5
- *
6
- * @class
3
+ * Represents a module for handling unique weapons.
4
+ * @extends ItemBaseClass
7
5
  */
8
- class UniqueWeaponModule {
9
- /**
10
- * The URL for fetching data.
11
- *
12
- * @private
13
- * @type {string}
14
- */
15
- #url;
16
-
17
- /**
18
- * The type of data (UniqueWeapon in this case).
19
- *
20
- * @private
21
- * @type {string}
22
- */
23
- #type;
24
-
6
+ class UniqueWeaponModule extends ItemBaseClass {
25
7
  /**
26
8
  * Creates an instance of UniqueWeaponModule.
27
- *
28
- * @param {string} url - The URL to fetch data from.
29
- */
30
- constructor(url) {
31
- this.#url = url;
32
- this.#type = "UniqueWeapon";
33
- }
34
-
35
- /**
36
- * Asynchronously retrieves data based on the specified properties.
37
- *
38
- * @async
39
- * @param {Array<string>} requestedProperties - An array of properties to retrieve.
40
- * @returns {Promise<Object>} A promise that resolves to the retrieved data.
9
+ * @param {string} league - The league name.
41
10
  */
42
- async getData(requestedProperties) {
43
- try {
44
- /**
45
- * Calls the getData function to fetch UniqueWeapon data.
46
- *
47
- * @type {Promise<Array<Object>>}
48
- */
49
- return getData(this.#url, this.#type, requestedProperties);
50
- } catch (error) {
51
- /**
52
- * Throws an error if there's an issue fetching or processing the UniqueWeapon data.
53
- *
54
- * @throws {Error}
55
- */
56
- throw new Error(`Error fetching UniqueWeapon data: ${error.message}`);
57
- }
11
+ constructor(league) {
12
+ super(league, "UniqueWeapon");
58
13
  }
59
14
  }
60
15
 
@@ -1,60 +1,15 @@
1
- const getData = require("../functions/getData");
2
-
1
+ const ItemBaseClass = require("../../ItemBaseClass");
3
2
  /**
4
- * Represents a module for fetching data related to Vials.
5
- *
6
- * @class
3
+ * Represents a module for handling vials.
4
+ * @extends ItemBaseClass
7
5
  */
8
- class VialsModule {
9
- /**
10
- * The URL for fetching data.
11
- *
12
- * @private
13
- * @type {string}
14
- */
15
- #url;
16
-
17
- /**
18
- * The type of data (Vial in this case).
19
- *
20
- * @private
21
- * @type {string}
22
- */
23
- #type;
24
-
6
+ class VialsModule extends ItemBaseClass {
25
7
  /**
26
8
  * Creates an instance of VialsModule.
27
- *
28
- * @param {string} url - The URL to fetch data from.
29
- */
30
- constructor(url) {
31
- this.#url = url;
32
- this.#type = "Vial";
33
- }
34
-
35
- /**
36
- * Asynchronously retrieves data based on the specified properties.
37
- *
38
- * @async
39
- * @param {Array<string>} requestedProperties - An array of properties to retrieve.
40
- * @returns {Promise<Object>} A promise that resolves to the retrieved data.
9
+ * @param {string} league - The league name.
41
10
  */
42
- async getData(requestedProperties) {
43
- try {
44
- /**
45
- * Calls the getData function to fetch Vial data.
46
- *
47
- * @type {Promise<Array<Object>>}
48
- */
49
- return getData(this.#url, this.#type, requestedProperties);
50
- } catch (error) {
51
- /**
52
- * Throws an error if there's an issue fetching or processing the Vial data.
53
- *
54
- * @throws {Error}
55
- */
56
- throw new Error(`Error fetching Vial data: ${error.message}`);
57
- }
11
+ constructor(league) {
12
+ super(league, "Vial");
58
13
  }
59
14
  }
60
15
 
@@ -1,5 +1,5 @@
1
- const fetchData = require("../../itemFetch/fetchItem");
2
- const filterProperties = require("../../../../mainfunctions/filter/propertyFilter");
1
+ const fetchData = require("../itemFetch/fetchItem");
2
+ const filterProperties = require("../../../mainfunctions/filter/propertyFilter");
3
3
 
4
4
  /**
5
5
  * Asynchronously fetches and filters item-related data from a specified URL.