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.
- package/Changelog.md +14 -0
- package/LICENSE +21 -0
- package/README.md +154 -0
- package/index.js +3 -0
- package/lib/NinjaAPI.js +11 -0
- package/lib/config/poeNinja/url.js +3 -0
- package/lib/modules/filter/propertyFilter.js +18 -0
- package/lib/modules/poe.ninja/currency/CurrencyWievModule.js +17 -0
- package/lib/modules/poe.ninja/currency/currencyFetch/fetchCurrency.js +26 -0
- package/lib/modules/poe.ninja/currency/currencyFetch/merge/mergeData.js +29 -0
- package/lib/modules/poe.ninja/currency/currencySubmodules/CurrencySubModules.js +4 -0
- package/lib/modules/poe.ninja/currency/currencySubmodules/functions/getData.js +22 -0
- package/lib/modules/poe.ninja/currency/currencySubmodules/subModules/CurrencyModule.js +15 -0
- package/lib/modules/poe.ninja/currency/currencySubmodules/subModules/FragmentModule.js +15 -0
- package/lib/modules/poe.ninja/item/ItemWievModule.js +42 -0
- package/lib/modules/poe.ninja/item/itemFetch/fetchItem.js +20 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/functions/getData.js +22 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/itemSubModules.js +32 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/BaseTypeModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/BeastModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/BlightRavagedMapModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/BlightedMapModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/ClusterJewelModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/DeliriumOrbsModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/DivinationCardModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/EssenceModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/FossilModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/HelmetEnchantModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/IncubatorModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/InvitationModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/MapModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/MemoryModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/OilModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/OmenModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/ResonatorModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/ScarabModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/SkillGemModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueAccessoryModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueArmourModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueFlaskModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueJewelModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueMapModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueRelicModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/UniqueWeaponModule.js +15 -0
- package/lib/modules/poe.ninja/item/itemSubmodules/subModules/VialsModule.js +15 -0
- package/package.json +35 -0
package/Changelog.md
ADDED
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
|
+
[](https://choosealicense.com/licenses/mit/)
|
|
4
|
+

|
|
5
|
+

|
|
6
|
+
[](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
package/lib/NinjaAPI.js
ADDED
|
@@ -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,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,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
|
+
}
|