-
-
-
- Item
- Q1
- Median
- Q3
- Percent
- |
-
-
-
-
- |
-
- |
- {{ formatIsk(r.q1) }} |
- {{ formatIsk(r.mmedian) }} |
- {{ formatIsk(r.q3) }} |
- {{ percentFormater.format(r.percent) }} |
-
-
- |
-
-
-
+
+
+
+
+ Item
+ Q1
+ Median
+ Q3
+ Percent
+ |
+
+
+
+
+ |
+
+ |
+ {{ formatIsk(r.q1) }} |
+ {{ formatIsk(r.mmedian) }} |
+ {{ formatIsk(r.q3) }} |
+ {{ percentFormater.format(r.percent) }} |
+
+
+ |
+
+
+
\ No newline at end of file
diff --git a/src/market/market.ts b/src/market/market.ts
index 0f6a553..8f15c1b 100644
--- a/src/market/market.ts
+++ b/src/market/market.ts
@@ -13,10 +13,8 @@ export type MarketOrderHistory = {
}
export type MarketResult = {
- type: MarketType,
- q1: number,
- median: number,
- q3: number,
+ type: MarketType;
+ history: MarketOrderHistory[];
}
export type HistoryQuartils = {
@@ -26,14 +24,16 @@ export type HistoryQuartils = {
q3: number,
}
-export const getHistory = async (regionId: number, tyeId: number): Promise
=> (await esiAxiosInstance.get(`/markets/${regionId}/history/`, { params: { type_id: tyeId } })).data;
+export const getHistory = async (regionId: number, tyeId: number): Promise => (await esiAxiosInstance.get(`/markets/${regionId}/history/`, { params: { type_id: tyeId } })).data;
+
+export const getHistoryQuartils = (history: MarketOrderHistory[], days?: number): HistoryQuartils => {
+ const now = Date.now();
-export const getHistoryQuartils = (history: MarketOrderHistory[]): HistoryQuartils => {
const volumes = history
.flatMap(h => {
const volume = h.volume;
- if (volume === 0) {
+ if (volume === 0 || (days && new Date(h.date).getTime() < now - days * 24 * 60 * 60 * 1000)) {
return [];
}
diff --git a/src/market/type/MarketType.ts b/src/market/type/MarketType.ts
index 02c9c23..77640b9 100644
--- a/src/market/type/MarketType.ts
+++ b/src/market/type/MarketType.ts
@@ -13,5 +13,12 @@ export type MarketType = {
portionSize: number;
}
-export const getMarketType = async (id: number): Promise => (await apiAxiosInstance.get(`/sde/types/${id}/`)).data;
-export const searchMarketType = async (name: string): Promise => (await apiAxiosInstance.post("/sde/types/search", [["name", name]])).data[0];
+export const getMarketType = async (type: string | number): Promise => (await getMarketTypes(type))[0];
+export const getMarketTypes = async (types: (string | number)[]): Promise => {
+ if (types.length === 0) {
+ return [];
+ } else if (types.length === 1 && typeof types[0] === "number") {
+ return [(await apiAxiosInstance.get(`/sde/types/${types[0]}/`)).data];
+ }
+ return (await apiAxiosInstance.post("/sde/types/search", types.map(t => [typeof t === "number" ? 'id' : "name", t]))).data;
+}