poe-api-manager 0.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 (46) hide show
  1. package/Changelog.md +14 -0
  2. package/LICENSE +21 -0
  3. package/README.md +154 -0
  4. package/index.js +3 -0
  5. package/lib/NinjaAPI.js +11 -0
  6. package/lib/config/poeNinja/url.js +3 -0
  7. package/lib/modules/filter/propertyFilter.js +18 -0
  8. package/lib/modules/poe.ninja/currency/CurrencyWievModule.js +17 -0
  9. package/lib/modules/poe.ninja/currency/currencyFetch/fetchCurrency.js +26 -0
  10. package/lib/modules/poe.ninja/currency/currencyFetch/merge/mergeData.js +29 -0
  11. package/lib/modules/poe.ninja/currency/currencySubmodules/CurrencySubModules.js +4 -0
  12. package/lib/modules/poe.ninja/currency/currencySubmodules/functions/getData.js +22 -0
  13. package/lib/modules/poe.ninja/currency/currencySubmodules/subModules/CurrencyModule.js +15 -0
  14. package/lib/modules/poe.ninja/currency/currencySubmodules/subModules/FragmentModule.js +15 -0
  15. package/lib/modules/poe.ninja/item/ItemWievModule.js +42 -0
  16. package/lib/modules/poe.ninja/item/itemFetch/fetchItem.js +20 -0
  17. package/lib/modules/poe.ninja/item/itemSubmodules/functions/getData.js +22 -0
  18. package/lib/modules/poe.ninja/item/itemSubmodules/itemSubModules.js +32 -0
  19. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/BaseTypeModule.js +15 -0
  20. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/BeastModule.js +15 -0
  21. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/BlightRavagedMapModule.js +15 -0
  22. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/BlightedMapModule.js +15 -0
  23. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/ClusterJewelModule.js +15 -0
  24. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/DeliriumOrbsModule.js +15 -0
  25. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/DivinationCardModule.js +15 -0
  26. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/EssenceModule.js +15 -0
  27. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/FossilModule.js +15 -0
  28. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/HelmetEnchantModule.js +15 -0
  29. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/IncubatorModule.js +15 -0
  30. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/InvitationModule.js +15 -0
  31. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/MapModule.js +15 -0
  32. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/MemoryModule.js +15 -0
  33. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/OilModule.js +15 -0
  34. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/OmenModule.js +15 -0
  35. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/ResonatorModule.js +15 -0
  36. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/ScarabModule.js +15 -0
  37. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/SkillGemModule.js +15 -0
  38. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueAccessoryModule.js +15 -0
  39. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueArmourModule.js +15 -0
  40. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueFlaskModule.js +15 -0
  41. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueJewelModule.js +15 -0
  42. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueMapModule.js +15 -0
  43. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueRelicModule.js +15 -0
  44. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueWeaponModule.js +15 -0
  45. package/lib/modules/poe.ninja/item/itemSubmodules/subModules/VialsModule.js +15 -0
  46. package/package.json +35 -0
package/Changelog.md ADDED
@@ -0,0 +1,14 @@
1
+ # Changelog
2
+
3
+ ## 0.1.0 17.02.1014
4
+ poe.ninja API new
5
+
6
+ - Omens
7
+ - Unique Relics
8
+ - Cluster Jewels
9
+ - Blighted Maps
10
+ - Blight Ravaged Maps
11
+ - Invitations
12
+ - Memories
13
+
14
+ ## 0.0.1 Publish 15.02.2024
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Ayberk Gezer
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,154 @@
1
+ # poe-economy-manager
2
+
3
+ [![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://choosealicense.com/licenses/mit/)
4
+ ![Version](https://img.shields.io/github/package-json/v/ayberkgezer/poe-api-manager)
5
+ ![GitHub top language](https://img.shields.io/github/languages/top/ayberkgezer/poe-api-manager?logo=javascript)
6
+ [![ISSUES](https://img.shields.io/github/issues/ayberkgezer/poe-api-manager)](https://github.com/ayberkgezer/poe-api-manager/issues)
7
+
8
+ - [Introduction](#introduction)
9
+ - [Overwiev](#overwiev)
10
+ - [Installation](#installation)
11
+ - [Getting Started](#getting-started)
12
+ - [currencyWiev](#currencywiev)
13
+ - [itemWiev](#itemwiev)
14
+ - [Changelog](https://github.com/ayberkgezer/poe-api-manager/blob/main/Changelog.md)
15
+ - [Examples](#examples)
16
+
17
+
18
+
19
+ ## Introduction
20
+ The purpose of this library is to make the economic data in the Path of Exile game easily usable.
21
+
22
+ >Important!: For economy, it is taken from the poe.ninja website. (for now)
23
+
24
+ > Note: This product is in no way affiliated with or endorsed by Grinding Gear Games and poe.ninja.
25
+
26
+ ## Overwiev
27
+
28
+ There are two types of usage for Poe: [currencywiev](#currencywiev) and [itemwiev](#itemwiev).
29
+
30
+ ## Installation
31
+ **Install with npm:**
32
+ ```bash
33
+ $ npm install poe-api-manager
34
+ ```
35
+
36
+ ## Getting Started
37
+ ```javascript
38
+ const NinjaAPI = require("poe-api-manager");
39
+
40
+ const ninjaAPI = new NinjaAPI("League-Name");
41
+ ```
42
+
43
+ ### currencyWiev
44
+ What we can get here is as follows.
45
+ - Currency
46
+ - Fragment
47
+
48
+ getData() => function returns data purely.
49
+ ```javascript
50
+ //Example Currency
51
+ ninjaAPI.currencyWiev.currency.getData().then((data) => {
52
+ console.log(data);
53
+ });
54
+ ```
55
+ getdata(requestedProperties) => The function filters the data as desired.
56
+ >Note: Enter [poe.ninja Document](https://github.com/ayberkgezer/poe.ninja-API-Document?tab=readme-ov-file#poeninja-api) to access the values for the filter.
57
+ ```javascript
58
+ //Filtered data is returned
59
+ ninjaAPI.currencyWiev.currency.getData(["id", "name", "icon"]).then((data) => {
60
+ console.log(data);
61
+ });
62
+ ```
63
+ ### itemWiev
64
+ What we can get here is as follows.
65
+ - BaseType
66
+ - Beast
67
+ - Delirium Orbs
68
+ - Divination Cards
69
+ - Essences
70
+ - Fossils
71
+ - Helment Enchant
72
+ - Incubators
73
+ - Maps
74
+ - Oils
75
+ - Resanators
76
+ - Scarabs
77
+ - Skill Gems
78
+ - Unique Accessories
79
+ - Unique Armours
80
+ - Unique Flask
81
+ - Unique Jewels
82
+ - Unique Maps
83
+ - Unique Weapons
84
+ - Vials
85
+ - Omens
86
+ - Unique Relics
87
+ - Cluster Jewels
88
+ - Blighted Maps
89
+ - Blight Ravaged Maps
90
+ - Invitations
91
+ - Memories
92
+
93
+ getData() => function returns data purely.
94
+ ```javascript
95
+ //Example BaseType
96
+ ninjaAPI.itemWiev.baseType.getData().then((data) => {
97
+ console.log(data);
98
+ });
99
+ ```
100
+ getdata(requestedProperties) => The function filters the data as desired.
101
+ >Note: Enter [poe.ninja Document](https://github.com/ayberkgezer/poe.ninja-API-Document?tab=readme-ov-file#poeninja-api) to access the values for the filter.
102
+ ```javascript
103
+ //Filtered data is returned
104
+ ninjaAPI.itemWiev.baseType.getData(["id", "name", "icon"]).then((data) => {
105
+ console.log(data);
106
+ });
107
+ ```
108
+
109
+ ## Examples
110
+ ```javascript
111
+ const NinjaAPI = require("poe-api-manager");
112
+
113
+ // Create NinjaAPI
114
+ const ninjaAPI = new NinjaAPI("Affliction");
115
+
116
+ //We entered the filter data
117
+ const requestedProperties = ["id", "name", "icon"];
118
+
119
+ //filtered BaseType data
120
+ ninjaAPI.itemwiev.baseType.getData(requestedProperties).then((data) => {
121
+ console.log(data);
122
+ });
123
+
124
+ //filtered Currency data
125
+ ninjaAPI.currencyWiev.currency.getData(requestedProperties).then((data) => {
126
+ console.log(data);
127
+ });
128
+ ```
129
+
130
+ ```javascript
131
+ const NinjaAPI = require("poe-api-manager");
132
+
133
+ // Create NinjaAPI
134
+ const ninjaAPI = new NinjaAPI("Affliction");
135
+
136
+ const requestedProperties = ["id", "name", "icon"];
137
+
138
+ //Using await in an async function
139
+ const fetchData = async () => {
140
+ try {
141
+ //Oil Data
142
+ const oilData = await ninjaAPI.item.oil.getData(requestedProperties);
143
+
144
+ console.log("Oil Data:", oilData);
145
+
146
+ //Currency Data
147
+ const currencyData = await ninjaAPI.currencyWiev.currency.getData(requestedProperties);
148
+
149
+ console.log("Currency Data:", currencyData);
150
+ } catch (error) {
151
+ console.error("Error fetching data:", error);
152
+ }
153
+ };
154
+ ```
package/index.js ADDED
@@ -0,0 +1,3 @@
1
+ const NinjaAPI = require("./lib/NinjaAPI");
2
+
3
+ module.exports = NinjaAPI;
@@ -0,0 +1,11 @@
1
+ const ItemWievModule = require("./modules/poe.ninja/item/ItemWievModule");
2
+ const CurrencyWievModule = require("./modules/poe.ninja/currency/CurrencyWievModule");
3
+
4
+ class NinjaAPI {
5
+ constructor(league) {
6
+ this.league = league;
7
+ this.currencyWiev = new CurrencyWievModule(league);
8
+ this.itemWiev = new ItemWievModule(league);
9
+ }
10
+ }
11
+ module.exports = NinjaAPI;
@@ -0,0 +1,3 @@
1
+ module.exports = {
2
+ baseurl: "https://poe.ninja/api/data/",
3
+ };
@@ -0,0 +1,18 @@
1
+ module.exports = function filterProperties(data, requestedProperties) {
2
+ const result = [];
3
+
4
+ data.forEach((item) => {
5
+ const itemResult = {};
6
+ requestedProperties.forEach((prop) => {
7
+ if (item.hasOwnProperty(prop)) {
8
+ itemResult[prop] = item[prop];
9
+ } else {
10
+ console.warn(`Property not found: ${prop}`);
11
+ }
12
+ });
13
+
14
+ result.push(itemResult);
15
+ });
16
+
17
+ return result;
18
+ };
@@ -0,0 +1,17 @@
1
+ const currencySubmodules = require("./currencySubmodules/CurrencySubModules");
2
+ const baseurl = require("../../../config/poeNinja/url");
3
+
4
+ //currencywiev module
5
+ class CurrencyWievModule {
6
+ constructor(league) {
7
+ this.league = league;
8
+ this.baseurl = baseurl.baseurl;
9
+ const url = `${this.baseurl}currencyoverview?league=${this.league}&type=`;
10
+
11
+ this.currency = new currencySubmodules.CurrencyModule(url);
12
+ this.fragment = new currencySubmodules.FragmentModule(url);
13
+ }
14
+ }
15
+
16
+ //export CurrencyWievModule;
17
+ module.exports = CurrencyWievModule;
@@ -0,0 +1,26 @@
1
+ const axios = require("axios");
2
+ const mergeData = require("./merge/mergeData");
3
+
4
+ // items for a specific fetch function
5
+ async function fetchData(baseurl, type) {
6
+ try {
7
+ const url = `${baseurl}${type}`;
8
+ const response = await axios.get(url);
9
+
10
+ if (response.data && response.data.lines && response.data.currencyDetails) {
11
+ const lines = response.data.lines;
12
+ const currencyDetails = response.data.currencyDetails;
13
+ const mergedData = mergeData(lines, currencyDetails);
14
+ return mergedData;
15
+ } else {
16
+ throw new Error(
17
+ "Invalid response format from POE Ninja API Currencywiev"
18
+ );
19
+ }
20
+ } catch (error) {
21
+ throw new Error(`Error fetching data: ${error.message}`);
22
+ }
23
+ }
24
+
25
+ // export fetchData;
26
+ module.exports = fetchData;
@@ -0,0 +1,29 @@
1
+ function mergeData(lines, currencyDetails) {
2
+ const mergedData = [];
3
+
4
+ lines.forEach((line) => {
5
+ const currencyType = line.currencyTypeName;
6
+
7
+ // Find the corresponding currencyDetail based on currencyType
8
+ const currencyDetail = currencyDetails.find(
9
+ (detail) => detail.name === currencyType
10
+ );
11
+
12
+ if (currencyDetail) {
13
+ // Merge line and currencyDetail into a new object
14
+ const mergedItem = {
15
+ ...line,
16
+ id: currencyDetail.id,
17
+ icon: currencyDetail.icon,
18
+ name: currencyDetail.name,
19
+ };
20
+
21
+ // Add the merged item to the result array
22
+ mergedData.push(mergedItem);
23
+ }
24
+ });
25
+
26
+ return mergedData;
27
+ }
28
+
29
+ module.exports = mergeData;
@@ -0,0 +1,4 @@
1
+ module.exports = {
2
+ CurrencyModule: require("./subModules/CurrencyModule"),
3
+ FragmentModule: require("./subModules/FragmentModule"),
4
+ };
@@ -0,0 +1,22 @@
1
+ const fetchData = require("../../currencyFetch/fetchCurrency");
2
+ const filterProperties = require("../../../../filter/propertyFilter");
3
+
4
+ async function getData(url, type, requestedProperties) {
5
+ try {
6
+ // Fetch data using the fetchData function
7
+ const fetchedData = await fetchData(url, type);
8
+
9
+ // If requestedProperties are specified, filter the data based on those properties
10
+ if (requestedProperties) {
11
+ const result = filterProperties(fetchedData, requestedProperties);
12
+ return result;
13
+ } else {
14
+ // If no specific properties are requested, return the entire fetched data
15
+ return fetchedData;
16
+ }
17
+ } catch (error) {
18
+ throw new Error(`Error fetching data: ${error.message}`);
19
+ }
20
+ }
21
+
22
+ module.exports = getData;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class CurrencyModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "Currency";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export CurrencyModule;
15
+ module.exports = CurrencyModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class FragmentModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "Fragment";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export FragmentModule;
15
+ module.exports = FragmentModule;
@@ -0,0 +1,42 @@
1
+ const itemSubmodules = require("./itemSubmodules/itemSubModules");
2
+ const baseurl = require("../../../config/poeNinja/url");
3
+
4
+ //itemwiev module
5
+ class ItemWievModule {
6
+ constructor(league) {
7
+ this.league = league;
8
+ this.baseurl = baseurl.baseurl;
9
+ const url = `${this.baseurl}itemoverview?league=${this.league}&type=`;
10
+
11
+ this.baseType = new itemSubmodules.BaseTypeModule(url);
12
+ this.beast = new itemSubmodules.BeastModule(url);
13
+ this.deliriumOrbs = new itemSubmodules.DeliriumOrbsModule(url);
14
+ this.divinationCard = new itemSubmodules.DivinationCardModule(url);
15
+ this.essence = new itemSubmodules.EssenceModule(url);
16
+ this.fossil = new itemSubmodules.FossilModule(url);
17
+ this.helmetEnchant = new itemSubmodules.HelmetEnchantModule(url);
18
+ this.incubator = new itemSubmodules.IncubatorModule(url);
19
+ this.map = new itemSubmodules.MapModule(url);
20
+ this.oil = new itemSubmodules.OilModule(url);
21
+ this.resonator = new itemSubmodules.ResonatorModule(url);
22
+ this.scarab = new itemSubmodules.ScarabModule(url);
23
+ this.skillGem = new itemSubmodules.SkillGemModule(url);
24
+ this.uniqueAccessory = new itemSubmodules.UniqueAccessoryModule(url);
25
+ this.uniqueArmour = new itemSubmodules.UniqueArmourModule(url);
26
+ this.uniqueFlask = new itemSubmodules.UniqueFlaskModule(url);
27
+ this.uniqueJewel = new itemSubmodules.UniqueJewelModule(url);
28
+ this.uniqueMap = new itemSubmodules.UniqueMapModule(url);
29
+ this.uniqueWeapon = new itemSubmodules.UniqueWeaponModule(url);
30
+ this.vials = new itemSubmodules.VialsModule(url);
31
+ this.omen = new itemSubmodules.OmenModule(url);
32
+ this.memory = new itemSubmodules.MemoryModule(url);
33
+ this.invitation = new itemSubmodules.InvitationModule(url);
34
+ this.uniqueRelics = new itemSubmodules.UniqueRelicsModule(url);
35
+ this.clusterJewel = new itemSubmodules.ClusterJewelModule(url);
36
+ this.blightedMap = new itemSubmodules.BlightedMapModule(url);
37
+ this.blightRavagedMap = new itemSubmodules.BlightRavagedMapModule(url);
38
+ }
39
+ }
40
+
41
+ //export ItemWievModule;
42
+ module.exports = ItemWievModule;
@@ -0,0 +1,20 @@
1
+ const axios = require("axios");
2
+
3
+ // items for a specific fetch function
4
+ async function fetchData(baseurl, type) {
5
+ try {
6
+ const url = `${baseurl}${type}`;
7
+ const response = await axios.get(url);
8
+
9
+ if (response.data && response.data.lines) {
10
+ return response.data.lines;
11
+ } else {
12
+ throw new Error("Invalid response format from POE Ninja API Itemwiev");
13
+ }
14
+ } catch (error) {
15
+ throw new Error(`Error fetching data: ${error.message}`);
16
+ }
17
+ }
18
+
19
+ // export fetchData;
20
+ module.exports = fetchData;
@@ -0,0 +1,22 @@
1
+ const fetchData = require("../../itemFetch/fetchItem");
2
+ const filterProperties = require("../../../../filter/propertyFilter");
3
+
4
+ async function getData(url, type, requestedProperties) {
5
+ try {
6
+ // Fetch data using the fetchData function
7
+ const fetchedData = await fetchData(url, type);
8
+
9
+ // If requestedProperties are specified, filter the data based on those properties
10
+ if (requestedProperties) {
11
+ const result = filterProperties(fetchedData, requestedProperties);
12
+ return result;
13
+ } else {
14
+ // If no specific properties are requested, return the entire fetched data
15
+ return fetchedData;
16
+ }
17
+ } catch (error) {
18
+ throw new Error(`Error fetching data: ${error.message}`);
19
+ }
20
+ }
21
+
22
+ module.exports = getData;
@@ -0,0 +1,32 @@
1
+ const OmenModule = require("./subModules/OmenModule");
2
+
3
+ // itemSubmodules.js
4
+ module.exports = {
5
+ BaseTypeModule: require("./subModules/BaseTypeModule"),
6
+ BeastModule: require("./subModules/BeastModule"),
7
+ DeliriumOrbsModule: require("./subModules/DeliriumOrbsModule"),
8
+ DivinationCardModule: require("./subModules/DivinationCardModule"),
9
+ EssenceModule: require("./subModules/EssenceModule"),
10
+ FossilModule: require("./subModules/FossilModule"),
11
+ HelmetEnchantModule: require("./subModules/HelmetEnchantModule"),
12
+ IncubatorModule: require("./subModules/IncubatorModule"),
13
+ MapModule: require("./subModules/MapModule"),
14
+ OilModule: require("./subModules/OilModule"),
15
+ ResonatorModule: require("./subModules/ResonatorModule"),
16
+ ScarabModule: require("./subModules/ScarabModule"),
17
+ SkillGemModule: require("./subModules/SkillGemModule"),
18
+ UniqueAccessoryModule: require("./subModules/UniqueAccessoryModule"),
19
+ UniqueArmourModule: require("./subModules/UniqueArmourModule"),
20
+ UniqueFlaskModule: require("./subModules/UniqueFlaskModule"),
21
+ UniqueJewelModule: require("./subModules/UniqueJewelModule"),
22
+ UniqueMapModule: require("./subModules/UniqueMapModule"),
23
+ UniqueWeaponModule: require("./subModules/UniqueWeaponModule"),
24
+ VialsModule: require("./subModules/VialsModule"),
25
+ OmenModule: require("./subModules/OmenModule"),
26
+ MemoryModule: require("./subModules/MemoryModule"),
27
+ InvitationModule: require("./subModules/InvitationModule"),
28
+ UniqueRelicsModule: require("./subModules/UniqueRelicModule"),
29
+ ClusterJewelModule: require("./subModules/ClusterJewelModule"),
30
+ BlightedMapModule: require("./subModules/BlightedMapModule"),
31
+ BlightRavagedMapModule: require("./subModules/BlightRavagedMapModule"),
32
+ };
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class BaseTypeModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "BaseType";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export BaseTypeModule;
15
+ module.exports = BaseTypeModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class BeastModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "Beast";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export BeastModule;
15
+ module.exports = BeastModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class BlightRavagedMapModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "BlightRavagedMap";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export BlightRavagedMapModule;
15
+ module.exports = BlightRavagedMapModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class BlightedMapModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "BlightedMap";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export BlightedMapModule;
15
+ module.exports = BlightedMapModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class ClusterJewelModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "ClusterJewel";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export ClusterJewelModule;
15
+ module.exports = ClusterJewelModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class DeliriumOrbsModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "DeliriumOrb";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export DeliriumOrbsModule;
15
+ module.exports = DeliriumOrbsModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class DivinationCardModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "DivinationCard";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export DivinationCardModule;
15
+ module.exports = DivinationCardModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class EssenceModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "Essence";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export EssenceModule;
15
+ module.exports = EssenceModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class FossilModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "Fossil";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export FossilModule;
15
+ module.exports = FossilModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class HelmetEnchantModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "HelmetEnchant";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export HelmetEnchantModule;
15
+ module.exports = HelmetEnchantModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class IncubatorModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "Incubator";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export IncubatorModule;
15
+ module.exports = IncubatorModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class InvitationModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "Invitation";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export InvitationModule;
15
+ module.exports = InvitationModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class MapModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "Map";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export MapModule;
15
+ module.exports = MapModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class MemoryModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "Memory";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export MemoryModule;
15
+ module.exports = MemoryModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class OilModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "Oil";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export OilModule;
15
+ module.exports = OilModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class OmenModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "Omen";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export OmenModule;
15
+ module.exports = OmenModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class ResonatorModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "Resonator";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export ResonatorModule;
15
+ module.exports = ResonatorModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class ScarabModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "Scarab";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export ScarabModule;
15
+ module.exports = ScarabModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class SkillGemModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "SkillGem";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export SkillGemModule;
15
+ module.exports = SkillGemModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class UniqueAccessoryModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "UniqueAccessory";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export UniqueAccessoryModule;
15
+ module.exports = UniqueAccessoryModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class UniqueArmourModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "UniqueArmour";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export UniqueArmourModule;
15
+ module.exports = UniqueArmourModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class UniqueFlaskModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "UniqueFlask";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export UniqueMapModule;
15
+ module.exports = UniqueFlaskModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class UniqueJewelModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "UniqueJewel";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export UniqueJewelModule;
15
+ module.exports = UniqueJewelModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class UniqueMapModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "UniqueMap";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export UniqueMapModule;
15
+ module.exports = UniqueMapModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class UniqueRelicModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "UniqueRelic";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export UniqueRelicModule;
15
+ module.exports = UniqueRelicModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class UniqueWeaponModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "UniqueWeapon";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export UniqueWeaponModule;
15
+ module.exports = UniqueWeaponModule;
@@ -0,0 +1,15 @@
1
+ const getData = require("../functions/getData");
2
+
3
+ class VialsModule {
4
+ constructor(url) {
5
+ this.url = url;
6
+ this.type = "Vial";
7
+ }
8
+
9
+ async getData(requestedProperties) {
10
+ return getData(this.url, this.type, requestedProperties);
11
+ }
12
+ }
13
+
14
+ //export VialsModule;
15
+ module.exports = VialsModule;
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "poe-api-manager",
3
+ "version": "0.1.0",
4
+ "description": "API management for Path of Exile",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/ayberkgezer/poe-api-manager.git"
12
+ },
13
+ "keywords": [
14
+ "poe",
15
+ "economy",
16
+ "ninja",
17
+ "poe.ninja",
18
+ "poe economy",
19
+ "path of exile",
20
+ "path of exile economy",
21
+ "path of exile ninja",
22
+ "api",
23
+ "poe api",
24
+ "poe economy api"
25
+ ],
26
+ "author": "Ayberk Gezer",
27
+ "license": "MIT",
28
+ "bugs": {
29
+ "url": "https://github.com/ayberkgezer/poe-api-manager/issues"
30
+ },
31
+ "homepage": "https://github.com/ayberkgezer/poe-api-manager#readme",
32
+ "dependencies": {
33
+ "axios": "^1.6.7"
34
+ }
35
+ }