poe-api-manager 0.2.2 → 0.2.6

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 (67) hide show
  1. package/Changelog.md +4 -0
  2. package/lib/NinjaAPI.js +26 -4
  3. package/lib/WatchAPI.js +44 -0
  4. package/lib/config/poeNinja/url.js +9 -0
  5. package/lib/config/poeWatch/url.js +9 -0
  6. package/lib/modules/mainfunctions/filter/propertyFilter.js +18 -0
  7. package/lib/modules/poe.ninja/currency/CurrencyWievModule.js +39 -2
  8. package/lib/modules/poe.ninja/currency/currencyFetch/fetchCurrency.js +11 -3
  9. package/lib/modules/poe.ninja/currency/currencyFetch/merge/mergeData.js +7 -0
  10. package/lib/modules/poe.ninja/currency/currencySubmodules/functions/getData.js +23 -0
  11. package/lib/modules/poe.ninja/currency/currencySubmodules/subModules/CurrencyModule.js +45 -2
  12. package/lib/modules/poe.ninja/currency/currencySubmodules/subModules/FragmentModule.js +45 -2
  13. package/lib/modules/poe.ninja/item/ItemWievModule.js +135 -2
  14. package/lib/modules/poe.ninja/item/itemFetch/fetchItem.js +23 -2
  15. package/lib/modules/poe.ninja/item/itemSubmodules/functions/getData.js +19 -0
  16. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/BaseTypeModule.js +41 -2
  17. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/BeastModule.js +41 -2
  18. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/BlightRavagedMapModule.js +46 -2
  19. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/BlightedMapModule.js +43 -2
  20. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/ClusterJewelModule.js +46 -2
  21. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/DeliriumOrbsModule.js +46 -2
  22. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/DivinationCardModule.js +46 -2
  23. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/EssenceModule.js +46 -2
  24. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/FossilModule.js +46 -2
  25. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/HelmetEnchantModule.js +46 -2
  26. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/IncubatorModule.js +46 -2
  27. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/InvitationModule.js +46 -2
  28. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/MapModule.js +46 -2
  29. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/MemoryModule.js +46 -2
  30. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/OilModule.js +46 -2
  31. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/OmenModule.js +46 -2
  32. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/ResonatorModule.js +46 -2
  33. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/ScarabModule.js +46 -2
  34. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/SkillGemModule.js +46 -2
  35. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueAccessoryModule.js +46 -2
  36. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueArmourModule.js +46 -2
  37. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueFlaskModule.js +46 -2
  38. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueJewelModule.js +46 -2
  39. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueMapModule.js +46 -2
  40. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueRelicModule.js +46 -2
  41. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueWeaponModule.js +46 -2
  42. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/VialsModule.js +46 -2
  43. package/lib/modules/poe.watch/WatchWievModule.js +106 -4
  44. package/lib/modules/poe.watch/allModules/fetch/fetch.js +11 -2
  45. package/lib/modules/poe.watch/allModules/functions/getData.js +20 -1
  46. package/lib/modules/poe.watch/allModules/submodules/AccessoryModule.js +47 -1
  47. package/lib/modules/poe.watch/allModules/submodules/ArmourModule.js +47 -1
  48. package/lib/modules/poe.watch/allModules/submodules/BaseModule.js +47 -1
  49. package/lib/modules/poe.watch/allModules/submodules/BeastModule.js +47 -1
  50. package/lib/modules/poe.watch/allModules/submodules/CurrencyModule.js +49 -2
  51. package/lib/modules/poe.watch/allModules/submodules/DeliriumOrbModule.js +47 -1
  52. package/lib/modules/poe.watch/allModules/submodules/DivsModule.js +47 -1
  53. package/lib/modules/poe.watch/allModules/submodules/EssenceModule.js +47 -1
  54. package/lib/modules/poe.watch/allModules/submodules/FlaskModule.js +47 -1
  55. package/lib/modules/poe.watch/allModules/submodules/FossilModule.js +47 -1
  56. package/lib/modules/poe.watch/allModules/submodules/FragmentModule.js +47 -1
  57. package/lib/modules/poe.watch/allModules/submodules/GemModule.js +47 -1
  58. package/lib/modules/poe.watch/allModules/submodules/InscribedModule.js +49 -1
  59. package/lib/modules/poe.watch/allModules/submodules/InvitationModule.js +47 -1
  60. package/lib/modules/poe.watch/allModules/submodules/JewelModule.js +47 -1
  61. package/lib/modules/poe.watch/allModules/submodules/MapModule.js +47 -1
  62. package/lib/modules/poe.watch/allModules/submodules/OilModule.js +47 -1
  63. package/lib/modules/poe.watch/allModules/submodules/ScarabModule.js +47 -1
  64. package/lib/modules/poe.watch/allModules/submodules/SextantModule.js +47 -1
  65. package/lib/modules/poe.watch/allModules/submodules/UniqueMapsModule.js +47 -1
  66. package/lib/modules/poe.watch/allModules/submodules/WeaponModule.js +47 -1
  67. 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 Armour.
5
+ *
6
+ * @class
7
+ */
3
8
  class ArmourModule {
9
+ /**
10
+ * The query URL for fetching armour data.
11
+ *
12
+ * @private
13
+ * @type {string}
14
+ */
4
15
  #queryUrl;
16
+
17
+ /**
18
+ * Creates an instance of ArmourModule.
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 armour data.
25
+ *
26
+ * @private
27
+ * @type {string}
28
+ */
6
29
  this.#queryUrl = `armour${leagueUrl}`;
7
30
  }
31
+
32
+ /**
33
+ * Asynchronously retrieves armour 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 armour 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 armour data.
50
+ *
51
+ * @throws {Error}
52
+ */
53
+ throw new Error(`Error fetching armour data: ${error.message}`);
54
+ }
10
55
  }
11
56
  }
12
57
 
58
+ // Export the ArmourModule class
13
59
  module.exports = ArmourModule;
@@ -1,13 +1,59 @@
1
1
  const getData = require("../functions/getData");
2
2
 
3
+ /**
4
+ * Represents a module for fetching data related to Bases.
5
+ *
6
+ * @class
7
+ */
3
8
  class BaseModule {
9
+ /**
10
+ * The query URL for fetching base data.
11
+ *
12
+ * @private
13
+ * @type {string}
14
+ */
4
15
  #queryUrl;
16
+
17
+ /**
18
+ * Creates an instance of BaseModule.
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 base data.
25
+ *
26
+ * @private
27
+ * @type {string}
28
+ */
6
29
  this.#queryUrl = `bases${leagueUrl}`;
7
30
  }
31
+
32
+ /**
33
+ * Asynchronously retrieves base 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 base 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 base data.
50
+ *
51
+ * @throws {Error}
52
+ */
53
+ throw new Error(`Error fetching base data: ${error.message}`);
54
+ }
10
55
  }
11
56
  }
12
57
 
58
+ // Export the BaseModule class
13
59
  module.exports = BaseModule;
@@ -1,13 +1,59 @@
1
1
  const getData = require("../functions/getData");
2
2
 
3
+ /**
4
+ * Represents a module for fetching data related to Beasts.
5
+ *
6
+ * @class
7
+ */
3
8
  class BeastModule {
9
+ /**
10
+ * The query URL for fetching beast data.
11
+ *
12
+ * @private
13
+ * @type {string}
14
+ */
4
15
  #queryUrl;
16
+
17
+ /**
18
+ * Creates an instance of BeastModule.
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 beast data.
25
+ *
26
+ * @private
27
+ * @type {string}
28
+ */
6
29
  this.#queryUrl = `beast${leagueUrl}`;
7
30
  }
31
+
32
+ /**
33
+ * Asynchronously retrieves beast 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 beast 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 beast data.
50
+ *
51
+ * @throws {Error}
52
+ */
53
+ throw new Error(`Error fetching beast data: ${error.message}`);
54
+ }
10
55
  }
11
56
  }
12
57
 
58
+ // Export the BeastModule class
13
59
  module.exports = BeastModule;
@@ -1,13 +1,60 @@
1
1
  const getData = require("../functions/getData");
2
2
 
3
+ /**
4
+ * Represents a module for fetching data related to Currency.
5
+ *
6
+ * @class
7
+ */
3
8
  class CurrencyModule {
9
+ /**
10
+ * The query URL for fetching currency data.
11
+ *
12
+ * @private
13
+ * @type {string}
14
+ */
4
15
  #queryUrl;
16
+
17
+ /**
18
+ * Creates an instance of CurrencyModule.
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 currency data.
25
+ *
26
+ * @private
27
+ * @type {string}
28
+ */
6
29
  this.#queryUrl = `currency${leagueUrl}`;
7
30
  }
31
+
32
+ /**
33
+ * Asynchronously retrieves currency 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 currency 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 currency data.
50
+ *
51
+ * @throws {Error}
52
+ */
53
+ throw new Error(`Error fetching currency data: ${error.message}`);
54
+ }
10
55
  }
11
56
  }
12
- // export CurrencyModule;
57
+
58
+ // Uncomment the line below if you want to export the CurrencyModule class
59
+ // module.exports = CurrencyModule;
13
60
  module.exports = CurrencyModule;
@@ -1,13 +1,59 @@
1
1
  const getData = require("../functions/getData");
2
2
 
3
+ /**
4
+ * Represents a module for fetching data related to Delirium Orbs.
5
+ *
6
+ * @class
7
+ */
3
8
  class DeliriumOrbModule {
9
+ /**
10
+ * The query URL for fetching Delirium Orb data.
11
+ *
12
+ * @private
13
+ * @type {string}
14
+ */
4
15
  #queryUrl;
16
+
17
+ /**
18
+ * Creates an instance of DeliriumOrbModule.
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 Delirium Orb data.
25
+ *
26
+ * @private
27
+ * @type {string}
28
+ */
6
29
  this.#queryUrl = `currency${leagueUrl}`;
7
30
  }
31
+
32
+ /**
33
+ * Asynchronously retrieves Delirium Orb 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 Delirium Orb 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 Delirium Orb data.
50
+ *
51
+ * @throws {Error}
52
+ */
53
+ throw new Error(`Error fetching Delirium Orb data: ${error.message}`);
54
+ }
10
55
  }
11
56
  }
12
57
 
58
+ // Export the DeliriumOrbModule class
13
59
  module.exports = DeliriumOrbModule;
@@ -1,13 +1,59 @@
1
1
  const getData = require("../functions/getData");
2
2
 
3
+ /**
4
+ * Represents a module for fetching data related to Divination Cards.
5
+ *
6
+ * @class
7
+ */
3
8
  class DivsModule {
9
+ /**
10
+ * The query URL for fetching Divination Card data.
11
+ *
12
+ * @private
13
+ * @type {string}
14
+ */
4
15
  #queryUrl;
16
+
17
+ /**
18
+ * Creates an instance of DivsModule.
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 Divination Card data.
25
+ *
26
+ * @private
27
+ * @type {string}
28
+ */
6
29
  this.#queryUrl = `currency${leagueUrl}`;
7
30
  }
31
+
32
+ /**
33
+ * Asynchronously retrieves Divination Card 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 Divination Card 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 Divination Card data.
50
+ *
51
+ * @throws {Error}
52
+ */
53
+ throw new Error(`Error fetching Divination Card data: ${error.message}`);
54
+ }
10
55
  }
11
56
  }
12
57
 
58
+ // Export the DivsModule class
13
59
  module.exports = DivsModule;
@@ -1,13 +1,59 @@
1
1
  const getData = require("../functions/getData");
2
2
 
3
+ /**
4
+ * Represents a module for fetching data related to Essences.
5
+ *
6
+ * @class
7
+ */
3
8
  class EssenceModule {
9
+ /**
10
+ * The query URL for fetching Essence data.
11
+ *
12
+ * @private
13
+ * @type {string}
14
+ */
4
15
  #queryUrl;
16
+
17
+ /**
18
+ * Creates an instance of EssenceModule.
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 Essence data.
25
+ *
26
+ * @private
27
+ * @type {string}
28
+ */
6
29
  this.#queryUrl = `essence${leagueUrl}`;
7
30
  }
31
+
32
+ /**
33
+ * Asynchronously retrieves Essence 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 Essence 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 Essence data.
50
+ *
51
+ * @throws {Error}
52
+ */
53
+ throw new Error(`Error fetching Essence data: ${error.message}`);
54
+ }
10
55
  }
11
56
  }
12
57
 
58
+ // Export the EssenceModule class
13
59
  module.exports = EssenceModule;
@@ -1,13 +1,59 @@
1
1
  const getData = require("../functions/getData");
2
2
 
3
+ /**
4
+ * Represents a module for fetching data related to Flasks.
5
+ *
6
+ * @class
7
+ */
3
8
  class FlaskModule {
9
+ /**
10
+ * The query URL for fetching Flask data.
11
+ *
12
+ * @private
13
+ * @type {string}
14
+ */
4
15
  #queryUrl;
16
+
17
+ /**
18
+ * Creates an instance of FlaskModule.
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 Flask data.
25
+ *
26
+ * @private
27
+ * @type {string}
28
+ */
6
29
  this.#queryUrl = `flask${leagueUrl}`;
7
30
  }
31
+
32
+ /**
33
+ * Asynchronously retrieves Flask 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 Flask 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 Flask data.
50
+ *
51
+ * @throws {Error}
52
+ */
53
+ throw new Error(`Error fetching Flask data: ${error.message}`);
54
+ }
10
55
  }
11
56
  }
12
57
 
58
+ // Export the FlaskModule class
13
59
  module.exports = FlaskModule;
@@ -1,13 +1,59 @@
1
1
  const getData = require("../functions/getData");
2
2
 
3
+ /**
4
+ * Represents a module for fetching data related to Fossils.
5
+ *
6
+ * @class
7
+ */
3
8
  class FossilModule {
9
+ /**
10
+ * The query URL for fetching Fossil data.
11
+ *
12
+ * @private
13
+ * @type {string}
14
+ */
4
15
  #queryUrl;
16
+
17
+ /**
18
+ * Creates an instance of FossilModule.
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 Fossil data.
25
+ *
26
+ * @private
27
+ * @type {string}
28
+ */
6
29
  this.#queryUrl = `fossil${leagueUrl}`;
7
30
  }
31
+
32
+ /**
33
+ * Asynchronously retrieves Fossil 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 Fossil 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 Fossil data.
50
+ *
51
+ * @throws {Error}
52
+ */
53
+ throw new Error(`Error fetching Fossil data: ${error.message}`);
54
+ }
10
55
  }
11
56
  }
12
57
 
58
+ // Export the FossilModule class
13
59
  module.exports = FossilModule;
@@ -1,13 +1,59 @@
1
1
  const getData = require("../functions/getData");
2
2
 
3
+ /**
4
+ * Represents a module for fetching data related to Fragments.
5
+ *
6
+ * @class
7
+ */
3
8
  class FragmentModule {
9
+ /**
10
+ * The query URL for fetching Fragment data.
11
+ *
12
+ * @private
13
+ * @type {string}
14
+ */
4
15
  #queryUrl;
16
+
17
+ /**
18
+ * Creates an instance of FragmentModule.
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 Fragment data.
25
+ *
26
+ * @private
27
+ * @type {string}
28
+ */
6
29
  this.#queryUrl = `fragment${leagueUrl}`;
7
30
  }
31
+
32
+ /**
33
+ * Asynchronously retrieves Fragment 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 Fragment 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 Fragment data.
50
+ *
51
+ * @throws {Error}
52
+ */
53
+ throw new Error(`Error fetching Fragment data: ${error.message}`);
54
+ }
10
55
  }
11
56
  }
12
57
 
58
+ // Export the FragmentModule class
13
59
  module.exports = FragmentModule;
@@ -1,13 +1,59 @@
1
1
  const getData = require("../functions/getData");
2
2
 
3
+ /**
4
+ * Represents a module for fetching data related to Skill Gems.
5
+ *
6
+ * @class
7
+ */
3
8
  class GemModule {
9
+ /**
10
+ * The query URL for fetching Skill Gem data.
11
+ *
12
+ * @private
13
+ * @type {string}
14
+ */
4
15
  #queryUrl;
16
+
17
+ /**
18
+ * Creates an instance of GemModule.
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 Skill Gem data.
25
+ *
26
+ * @private
27
+ * @type {string}
28
+ */
6
29
  this.#queryUrl = `gem${leagueUrl}`;
7
30
  }
31
+
32
+ /**
33
+ * Asynchronously retrieves Skill Gem 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 Skill Gem 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 Skill Gem data.
50
+ *
51
+ * @throws {Error}
52
+ */
53
+ throw new Error(`Error fetching Skill Gem data: ${error.message}`);
54
+ }
10
55
  }
11
56
  }
12
57
 
58
+ // Export the GemModule class
13
59
  module.exports = GemModule;