@powercalc/power-router 1.0.63 → 1.0.65
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/dist/controllers/LoadAndParse.d.ts +1 -0
- package/dist/controllers/LoadAndParse.js +12 -5
- package/dist/controllers/LoadAndParse.js.map +1 -1
- package/dist/controllers/Router.js +1 -0
- package/dist/controllers/Router.js.map +1 -1
- package/dist/interfaces/config.d.ts +1 -0
- package/dist/services/EnergyCharts.d.ts +17 -0
- package/dist/services/EnergyCharts.js +190 -0
- package/dist/services/EnergyCharts.js.map +1 -0
- package/dist/services/Eurostat.d.ts +3 -2
- package/dist/services/Eurostat.js +49 -13
- package/dist/services/Eurostat.js.map +1 -1
- package/dist/services/LoadService.d.ts +12 -11
- package/dist/services/LoadService.js +44 -18
- package/dist/services/LoadService.js.map +1 -1
- package/dist/services/Loader.d.ts +2 -2
- package/dist/services/Loader.js +10 -2
- package/dist/services/Loader.js.map +1 -1
- package/dist/services/NaturalGasPrice.d.ts +2 -1
- package/dist/services/NaturalGasPrice.js +5 -1
- package/dist/services/NaturalGasPrice.js.map +1 -1
- package/dist/services/ParseEdifact.js +0 -6
- package/dist/services/ParseEdifact.js.map +1 -1
- package/dist/services/batch/maxHydrofill.js +0 -2
- package/dist/services/batch/maxHydrofill.js.map +1 -1
- package/package.json +1 -1
- package/src/app.ts +9 -0
- package/src/genTypes.ts +0 -1
- package/src/router/controllers/LoadAndParse.ts +11 -6
- package/src/router/controllers/Router.ts +1 -1
- package/src/router/interfaces/config.ts +6 -5
- package/src/router/services/EnergyCharts.ts +195 -0
- package/src/router/services/Eurostat.ts +111 -68
- package/src/router/services/LoadService.ts +129 -80
- package/src/router/services/Loader.ts +11 -4
- package/src/router/services/NaturalGasPrice.ts +5 -1
- package/src/router/services/ParseEdifact.ts +0 -6
- package/src/router/services/batch/maxHydrofill.ts +0 -2
|
@@ -7,6 +7,7 @@ const LoadService_1 = require("../services/LoadService");
|
|
|
7
7
|
const queryoptions_1 = require("../interfaces/queryoptions");
|
|
8
8
|
class LoadAndParse {
|
|
9
9
|
constructor(config) {
|
|
10
|
+
this.config = config;
|
|
10
11
|
this.country = '';
|
|
11
12
|
const countriesFile = (0, path_1.join)(__dirname, '../config/countries.json'); // Set the path to your config file
|
|
12
13
|
this.countries = JSON.parse((0, fs_1.readFileSync)(countriesFile, 'utf8')); // Read the config file from disk
|
|
@@ -38,19 +39,25 @@ class LoadAndParse {
|
|
|
38
39
|
throw new Error('Unknown country ' + country);
|
|
39
40
|
}
|
|
40
41
|
if (chartType === 'installed') {
|
|
41
|
-
|
|
42
|
+
console.log('yes');
|
|
43
|
+
return await this.loadService.getInstalled(countryCode, queryOptions);
|
|
42
44
|
}
|
|
43
45
|
if (chartType === 'power') {
|
|
44
|
-
|
|
46
|
+
if (this.config.source === 'energycharts') {
|
|
47
|
+
return await this.loadService.getPowerEnergyCharts(countryCode, year, month);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
return await this.loadService.getPower(countryCode, year, month, queryOptions);
|
|
51
|
+
}
|
|
45
52
|
}
|
|
46
53
|
if (chartType === 'hydrofill') {
|
|
47
|
-
return await this.loadService.getHydrofill(countryCode,
|
|
54
|
+
return await this.loadService.getHydrofill(countryCode, queryOptions);
|
|
48
55
|
}
|
|
49
56
|
if (chartType === 'fossil') {
|
|
50
|
-
return await this.loadService.getFossil(countryCode);
|
|
57
|
+
return await this.loadService.getFossil(countryCode, queryOptions);
|
|
51
58
|
}
|
|
52
59
|
if (chartType === 'countrydata') {
|
|
53
|
-
return await this.loadService.getCountrydata(countryCode,
|
|
60
|
+
return await this.loadService.getCountrydata(countryCode, queryOptions);
|
|
54
61
|
}
|
|
55
62
|
}
|
|
56
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadAndParse.js","sourceRoot":"","sources":["../../src/router/controllers/LoadAndParse.ts"],"names":[],"mappings":";;;AAEA,+BAA4B;AAC5B,2BAAkC;AAClC,yDAAsD;AAEtD,6DAA0E;AAE1E,MAAa,YAAY;IAMvB,
|
|
1
|
+
{"version":3,"file":"LoadAndParse.js","sourceRoot":"","sources":["../../src/router/controllers/LoadAndParse.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,7 @@ class PowerRouter {
|
|
|
53
53
|
const cacheKey = req.url;
|
|
54
54
|
const cacheFilePath = `${config.cacheDir}/json.gz/${(0, crypto_1.createHash)('md5').update(cacheKey).digest('hex')}.json.gz`;
|
|
55
55
|
if (!(req.headers['reload'] === 'full')) {
|
|
56
|
+
// todo: throttle
|
|
56
57
|
// check if there is a cache file for this request
|
|
57
58
|
try {
|
|
58
59
|
const stats = await (0, promises_1.stat)(cacheFilePath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/router/controllers/Router.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/router/controllers/Router.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare class EnergyCharts {
|
|
2
|
+
pumpUp: string;
|
|
3
|
+
trans: ({
|
|
4
|
+
energyCharts: string;
|
|
5
|
+
powerRouter: null;
|
|
6
|
+
} | {
|
|
7
|
+
energyCharts: string;
|
|
8
|
+
powerRouter: string;
|
|
9
|
+
})[];
|
|
10
|
+
countries: any;
|
|
11
|
+
constructor();
|
|
12
|
+
load(country: string, startIso: string, endIso: string): Promise<any>;
|
|
13
|
+
getPrices(country: string, startIso: string, endIso: string): Promise<any>;
|
|
14
|
+
translate(json: any): any;
|
|
15
|
+
rebase(data: any, newTime: number[]): any;
|
|
16
|
+
private findTime;
|
|
17
|
+
}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EnergyCharts = void 0;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
class EnergyCharts {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.pumpUp = 'Hydro pumped storage consumption';
|
|
9
|
+
this.trans = [
|
|
10
|
+
{
|
|
11
|
+
energyCharts: 'Hydro pumped storage consumption',
|
|
12
|
+
powerRouter: null,
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
energyCharts: 'Cross border electricity trading',
|
|
16
|
+
powerRouter: 'other',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
energyCharts: 'Nuclear',
|
|
20
|
+
powerRouter: 'nuclear',
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
energyCharts: 'Hydro Run-of-River',
|
|
24
|
+
powerRouter: 'hydroRunOfRiverAndPoundage',
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
energyCharts: 'Biomass',
|
|
28
|
+
powerRouter: 'biomass',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
energyCharts: 'Fossil brown coal / lignite',
|
|
32
|
+
powerRouter: 'fossilBrownCoalLignite',
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
energyCharts: 'Fossil hard coal',
|
|
36
|
+
powerRouter: 'fossilHardCoal',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
energyCharts: 'Fossil oil',
|
|
40
|
+
powerRouter: 'fossilOil',
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
energyCharts: 'Fossil gas',
|
|
44
|
+
powerRouter: 'fossilGas',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
energyCharts: 'Geothermal',
|
|
48
|
+
powerRouter: 'geothermal',
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
energyCharts: 'Hydro water reservoir',
|
|
52
|
+
powerRouter: 'hydroWaterReservoir',
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
energyCharts: 'Hydro pumped storage',
|
|
56
|
+
powerRouter: 'hydroPumpedStorage',
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
energyCharts: 'Others',
|
|
60
|
+
powerRouter: 'other',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
energyCharts: 'Waste',
|
|
64
|
+
powerRouter: 'waste',
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
energyCharts: 'Wind offshore',
|
|
68
|
+
powerRouter: 'windOffshore',
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
energyCharts: 'Wind onshore',
|
|
72
|
+
powerRouter: 'windOnshore',
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
energyCharts: 'Solar',
|
|
76
|
+
powerRouter: 'solar',
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
energyCharts: 'Load',
|
|
80
|
+
powerRouter: 'consumption',
|
|
81
|
+
},
|
|
82
|
+
];
|
|
83
|
+
const countryPath = (0, path_1.join)(__dirname, '..', 'config/countries.json');
|
|
84
|
+
const countriesString = (0, fs_1.readFileSync)(countryPath, 'utf-8');
|
|
85
|
+
this.countries = JSON.parse(countriesString);
|
|
86
|
+
}
|
|
87
|
+
async load(country, startIso, endIso) {
|
|
88
|
+
var _a, _b;
|
|
89
|
+
const countryShort = (_b = (_a = this.countries
|
|
90
|
+
.find((item) => item.code === country)) === null || _a === void 0 ? void 0 : _a.short) === null || _b === void 0 ? void 0 : _b.toLowerCase();
|
|
91
|
+
const start = encodeURIComponent(startIso);
|
|
92
|
+
const end = encodeURIComponent(endIso);
|
|
93
|
+
const url = `https://api.energy-charts.info/public_power?country=${countryShort}&start=${start}&end=${end}`;
|
|
94
|
+
const response = await fetch(url);
|
|
95
|
+
const json = await response.json();
|
|
96
|
+
//console.log(json);
|
|
97
|
+
const t = this.translate(json);
|
|
98
|
+
const priceTime = await this.getPrices(countryShort, startIso, endIso);
|
|
99
|
+
const rebasedPrice = this.rebase(priceTime, t.time);
|
|
100
|
+
t.price = rebasedPrice.price;
|
|
101
|
+
return t;
|
|
102
|
+
}
|
|
103
|
+
async getPrices(country, startIso, endIso) {
|
|
104
|
+
let zone = country.toUpperCase();
|
|
105
|
+
if (zone === 'DE') {
|
|
106
|
+
zone = 'DE-LU';
|
|
107
|
+
}
|
|
108
|
+
const start = encodeURIComponent(startIso);
|
|
109
|
+
const end = encodeURIComponent(endIso);
|
|
110
|
+
const url = `https://api.energy-charts.info/price?bzn=${zone}&start=${start}&end=${end}`;
|
|
111
|
+
const response = await fetch(url);
|
|
112
|
+
const json = await response.json();
|
|
113
|
+
if ((json === null || json === void 0 ? void 0 : json.unix_seconds) && (json === null || json === void 0 ? void 0 : json.price)) {
|
|
114
|
+
const r = {
|
|
115
|
+
time: json.unix_seconds.map((item) => (item || 0) * 1000),
|
|
116
|
+
price: json.price
|
|
117
|
+
};
|
|
118
|
+
return r;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
translate(json) {
|
|
122
|
+
var _a;
|
|
123
|
+
let pumpup;
|
|
124
|
+
const r = {
|
|
125
|
+
time: json.unix_seconds.map((item) => item * 1000),
|
|
126
|
+
};
|
|
127
|
+
(_a = json.production_types) === null || _a === void 0 ? void 0 : _a.forEach((item) => {
|
|
128
|
+
const found = this.trans.find((t) => t.energyCharts === item.name);
|
|
129
|
+
if (found === null || found === void 0 ? void 0 : found.powerRouter) {
|
|
130
|
+
r[found.powerRouter] = item.data;
|
|
131
|
+
}
|
|
132
|
+
if (item.name === this.pumpUp) {
|
|
133
|
+
pumpup = item.data;
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
const hydroPumpedStorage = JSON.parse(JSON.stringify(r['hydroPumpedStorage']));
|
|
137
|
+
if (pumpup) {
|
|
138
|
+
r['hydroPumpedStorage'] = hydroPumpedStorage.map((item, i) => (item || 0) + ((pumpup === null || pumpup === void 0 ? void 0 : pumpup[i]) || 0));
|
|
139
|
+
}
|
|
140
|
+
//console.log(r)
|
|
141
|
+
return r;
|
|
142
|
+
}
|
|
143
|
+
rebase(data, newTime) {
|
|
144
|
+
const sourceTime = data['time'];
|
|
145
|
+
const result = {};
|
|
146
|
+
const keys = Object.keys(data).filter((item) => item !== 'time');
|
|
147
|
+
keys.forEach((key) => {
|
|
148
|
+
result[key] = [];
|
|
149
|
+
});
|
|
150
|
+
newTime.forEach((time) => {
|
|
151
|
+
const [lo, hi] = this.findTime(sourceTime, time);
|
|
152
|
+
const timeDistance = sourceTime[hi] - sourceTime[lo];
|
|
153
|
+
const timeDelta = time - sourceTime[lo];
|
|
154
|
+
keys.forEach((key) => {
|
|
155
|
+
const hiValue = data[key][hi];
|
|
156
|
+
const loValue = data[key][lo];
|
|
157
|
+
const deltaValue = hiValue - loValue;
|
|
158
|
+
const value = loValue + (deltaValue * timeDelta) / timeDistance;
|
|
159
|
+
result[key].push(value);
|
|
160
|
+
});
|
|
161
|
+
});
|
|
162
|
+
// this.changeToEv(result, ev);
|
|
163
|
+
return result;
|
|
164
|
+
}
|
|
165
|
+
findTime(sourceTime, time) {
|
|
166
|
+
let lo = 0;
|
|
167
|
+
let hi = sourceTime.length - 1;
|
|
168
|
+
if (sourceTime.length === 1) {
|
|
169
|
+
return [0, 0];
|
|
170
|
+
}
|
|
171
|
+
if (sourceTime[lo] > time) {
|
|
172
|
+
return [lo, lo + 1];
|
|
173
|
+
}
|
|
174
|
+
if (sourceTime[hi] < time) {
|
|
175
|
+
return [hi - 1, hi];
|
|
176
|
+
}
|
|
177
|
+
while (hi - lo > 1) {
|
|
178
|
+
const mid = Math.trunc((lo + hi) / 2);
|
|
179
|
+
if (sourceTime[mid] < time) {
|
|
180
|
+
lo = mid;
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
hi = mid;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return [lo, hi];
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
exports.EnergyCharts = EnergyCharts;
|
|
190
|
+
//# sourceMappingURL=EnergyCharts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnergyCharts.js","sourceRoot":"","sources":["../../src/router/services/EnergyCharts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Country } from
|
|
1
|
+
import { Country } from './Loader';
|
|
2
|
+
import { QueryOptions } from '../interfaces/queryoptions';
|
|
2
3
|
export declare class EurostatAPI {
|
|
3
4
|
countries: Country[];
|
|
4
5
|
constructor();
|
|
@@ -6,5 +7,5 @@ export declare class EurostatAPI {
|
|
|
6
7
|
private energyConversionFactors;
|
|
7
8
|
convertToMWh(value: number, unit: string): number;
|
|
8
9
|
private fetchData;
|
|
9
|
-
load(countryCode: string): Promise<any>;
|
|
10
|
+
load(countryCode: string, queryOptions: QueryOptions): Promise<any>;
|
|
10
11
|
}
|
|
@@ -3,16 +3,47 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.EurostatAPI = void 0;
|
|
4
4
|
const fs_1 = require("fs");
|
|
5
5
|
const path_1 = require("path");
|
|
6
|
-
|
|
6
|
+
const queryoptions_1 = require("../interfaces/queryoptions");
|
|
7
|
+
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0';
|
|
7
8
|
class EurostatAPI {
|
|
8
9
|
constructor() {
|
|
9
10
|
this.countries = [];
|
|
10
11
|
this.fuels = {
|
|
11
|
-
gas: {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
gas: {
|
|
13
|
+
chartType: 'NRG_CB_GASM',
|
|
14
|
+
siec: 'G3000',
|
|
15
|
+
nrg_bal: 'IC_OBS',
|
|
16
|
+
unit: 'TJ_GCV',
|
|
17
|
+
freq: 'M',
|
|
18
|
+
},
|
|
19
|
+
gas4electricity: {
|
|
20
|
+
chartType: 'NRG_CB_GASM',
|
|
21
|
+
siec: 'G3000',
|
|
22
|
+
nrg_bal: 'TI_EHG_MAP',
|
|
23
|
+
unit: 'TJ_GCV',
|
|
24
|
+
freq: 'M',
|
|
25
|
+
},
|
|
26
|
+
gasoline: {
|
|
27
|
+
chartType: 'NRG_CB_OILM',
|
|
28
|
+
siec: 'O4652',
|
|
29
|
+
nrg_bal: 'GID_OBS',
|
|
30
|
+
unit: 'THS_T',
|
|
31
|
+
freq: 'M',
|
|
32
|
+
},
|
|
33
|
+
diesel: {
|
|
34
|
+
chartType: 'NRG_CB_OILM',
|
|
35
|
+
siec: 'O46711',
|
|
36
|
+
nrg_bal: 'GID_OBS',
|
|
37
|
+
unit: 'THS_T',
|
|
38
|
+
freq: 'M',
|
|
39
|
+
},
|
|
40
|
+
kerosin: {
|
|
41
|
+
chartType: 'NRG_CB_OILM',
|
|
42
|
+
siec: 'O4661',
|
|
43
|
+
nrg_bal: 'GID_OBS',
|
|
44
|
+
unit: 'THS_T',
|
|
45
|
+
freq: 'M',
|
|
46
|
+
},
|
|
16
47
|
};
|
|
17
48
|
this.energyConversionFactors = new Map([
|
|
18
49
|
['KG_EQ', 12988.48],
|
|
@@ -24,7 +55,7 @@ class EurostatAPI {
|
|
|
24
55
|
this.countries = JSON.parse(countriesString);
|
|
25
56
|
}
|
|
26
57
|
convertToMWh(value, unit) {
|
|
27
|
-
const MWh = value * (this.energyConversionFactors.get(unit) || 0) / 3600 / 10 ** 6;
|
|
58
|
+
const MWh = (value * (this.energyConversionFactors.get(unit) || 0)) / 3600 / 10 ** 6;
|
|
28
59
|
return Math.round(MWh);
|
|
29
60
|
}
|
|
30
61
|
async fetchData(url, type, unit) {
|
|
@@ -33,33 +64,38 @@ class EurostatAPI {
|
|
|
33
64
|
try {
|
|
34
65
|
const time = Object.keys(data.dimension.time.category.index);
|
|
35
66
|
return {
|
|
36
|
-
time: time.map(item => new Date(item).getTime()),
|
|
37
|
-
[type]: Object.values(data.value).map((item) => this.convertToMWh(item, unit))
|
|
67
|
+
time: time.map((item) => new Date(item).getTime()),
|
|
68
|
+
[type]: Object.values(data.value).map((item) => this.convertToMWh(item, unit)),
|
|
38
69
|
};
|
|
39
70
|
}
|
|
40
71
|
catch (e) {
|
|
41
72
|
return {
|
|
42
73
|
[type]: [],
|
|
43
|
-
time: []
|
|
74
|
+
time: [],
|
|
44
75
|
};
|
|
45
76
|
}
|
|
46
77
|
}
|
|
47
|
-
async load(countryCode) {
|
|
78
|
+
async load(countryCode, queryOptions) {
|
|
48
79
|
var _a;
|
|
49
|
-
const countryShort = (_a = this.countries.find(item => item.code === countryCode)) === null || _a === void 0 ? void 0 : _a.short;
|
|
80
|
+
const countryShort = (_a = this.countries.find((item) => item.code === countryCode)) === null || _a === void 0 ? void 0 : _a.short;
|
|
50
81
|
const baseUrl = 'https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/data/';
|
|
51
82
|
const geo = `.${countryShort}`;
|
|
83
|
+
const urls = [];
|
|
52
84
|
const promises = [];
|
|
53
85
|
for (const [type, fuel] of Object.entries(this.fuels)) {
|
|
54
86
|
const { chartType, siec, nrg_bal, unit, freq } = fuel;
|
|
55
87
|
const select = `${chartType}/${freq}.${nrg_bal}.${siec}.${unit}`;
|
|
56
88
|
const rest = `?format=JSON&lang=en&startPeriod=2015-01&endPeriod=2050-12`;
|
|
57
89
|
const url = `${baseUrl}${select}${geo}${rest}`;
|
|
90
|
+
urls.push(url);
|
|
58
91
|
promises.push(this.fetchData(url, type, unit));
|
|
59
92
|
}
|
|
93
|
+
if (queryOptions.format === queryoptions_1.Format.SOURCES) {
|
|
94
|
+
return urls;
|
|
95
|
+
}
|
|
60
96
|
const res = await Promise.all(promises);
|
|
61
97
|
let merged = {};
|
|
62
|
-
res.forEach(item => {
|
|
98
|
+
res.forEach((item) => {
|
|
63
99
|
merged = { ...merged, ...item };
|
|
64
100
|
});
|
|
65
101
|
return merged; // this.removeElGas(merged);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Eurostat.js","sourceRoot":"","sources":["../../src/router/services/Eurostat.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Eurostat.js","sourceRoot":"","sources":["../../src/router/services/Eurostat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { EntsoeLoader, LoaderConfig } from
|
|
2
|
-
import { EdifactParser } from
|
|
3
|
-
import { ParseInstalled } from
|
|
4
|
-
import { QueryOptions } from
|
|
1
|
+
import { EntsoeLoader, LoaderConfig } from './Loader';
|
|
2
|
+
import { EdifactParser } from './ParseEdifact';
|
|
3
|
+
import { ParseInstalled } from './ParseInstalled';
|
|
4
|
+
import { QueryOptions } from '../interfaces/queryoptions';
|
|
5
5
|
export declare class LoadService {
|
|
6
6
|
private loaderConfig;
|
|
7
7
|
country: string;
|
|
@@ -9,25 +9,26 @@ export declare class LoadService {
|
|
|
9
9
|
parser: EdifactParser;
|
|
10
10
|
parseInstalled: ParseInstalled;
|
|
11
11
|
constructor(loaderConfig: LoaderConfig);
|
|
12
|
+
getPowerEnergyCharts(countryCode: string, year: number, month: number): Promise<any>;
|
|
12
13
|
getPower(countryCode: string, year: number, month: number, queryOptions?: QueryOptions): Promise<any>;
|
|
13
|
-
getInstalled(countryCode: string,
|
|
14
|
-
getHydrofill(countryCode: string,
|
|
14
|
+
getInstalled(countryCode: string, queryOptions: QueryOptions): Promise<any>;
|
|
15
|
+
getHydrofill(countryCode: string, queryOptions: QueryOptions): Promise<any[] | {
|
|
15
16
|
time: number[];
|
|
16
17
|
hydroFill: number[];
|
|
17
18
|
}>;
|
|
18
|
-
getFossil(country: string): Promise<any>;
|
|
19
|
-
getNaturalGasPrices(country: string): Promise<{
|
|
19
|
+
getFossil(country: string, queryOptions: QueryOptions): Promise<any>;
|
|
20
|
+
getNaturalGasPrices(country: string, queryOptions: QueryOptions): Promise<string[] | {
|
|
20
21
|
time: number[];
|
|
21
22
|
naturalGasPrice: number[];
|
|
22
23
|
}>;
|
|
23
|
-
getCountrydata(country: string,
|
|
24
|
+
getCountrydata(country: string, queryOptions: QueryOptions): Promise<{
|
|
24
25
|
fossil: any;
|
|
25
|
-
price: {
|
|
26
|
+
price: string[] | {
|
|
26
27
|
time: number[];
|
|
27
28
|
naturalGasPrice: number[];
|
|
28
29
|
};
|
|
29
30
|
installed: any;
|
|
30
|
-
hydrofill: {
|
|
31
|
+
hydrofill: any[] | {
|
|
31
32
|
time: number[];
|
|
32
33
|
hydroFill: number[];
|
|
33
34
|
};
|
|
@@ -10,6 +10,7 @@ const CommonTimestamps_1 = require("./CommonTimestamps");
|
|
|
10
10
|
const Eurostat_1 = require("./Eurostat");
|
|
11
11
|
const queryoptions_1 = require("../interfaces/queryoptions");
|
|
12
12
|
const NaturalGasPrice_1 = require("./NaturalGasPrice");
|
|
13
|
+
const EnergyCharts_1 = require("./EnergyCharts");
|
|
13
14
|
class LoadService {
|
|
14
15
|
constructor(loaderConfig) {
|
|
15
16
|
this.loaderConfig = loaderConfig;
|
|
@@ -20,7 +21,16 @@ class LoadService {
|
|
|
20
21
|
this.parser = new ParseEdifact_1.EdifactParser(types);
|
|
21
22
|
this.parseInstalled = new ParseInstalled_1.ParseInstalled(types);
|
|
22
23
|
}
|
|
24
|
+
async getPowerEnergyCharts(countryCode, year, month) {
|
|
25
|
+
const startMonth = new Date(Date.UTC(year, month - 1)).toISOString();
|
|
26
|
+
const endMonth = new Date(Date.UTC(year, month)).toISOString();
|
|
27
|
+
const energyCharts = new EnergyCharts_1.EnergyCharts();
|
|
28
|
+
const power = await energyCharts.load(countryCode, startMonth, endMonth);
|
|
29
|
+
return power;
|
|
30
|
+
}
|
|
23
31
|
async getPower(countryCode, year, month, queryOptions) {
|
|
32
|
+
const startMonth = new Date(Date.UTC(year, month - 1)).toISOString();
|
|
33
|
+
const endMonth = new Date(Date.UTC(year, month)).toISOString();
|
|
24
34
|
const wanted = ['generation', 'price', 'consumption'];
|
|
25
35
|
if ((queryOptions === null || queryOptions === void 0 ? void 0 : queryOptions.format) === queryoptions_1.Format.SOURCES) {
|
|
26
36
|
return this.loader.makeUrls(wanted, countryCode, year, month);
|
|
@@ -33,24 +43,40 @@ class LoadService {
|
|
|
33
43
|
if ((queryOptions === null || queryOptions === void 0 ? void 0 : queryOptions.format) === queryoptions_1.Format.KEYVALUE) {
|
|
34
44
|
return parsed;
|
|
35
45
|
}
|
|
36
|
-
const startMonth = (new Date(Date.UTC(year, month - 1))).toISOString();
|
|
37
|
-
const endMonth = (new Date(Date.UTC(year, month))).toISOString();
|
|
38
46
|
const ready = CommonTimestamps_1.CommonTimestamps.transform(parsed, startMonth, endMonth);
|
|
47
|
+
//console.log('e.price',e.price)
|
|
48
|
+
/*
|
|
49
|
+
if (!e.price) {
|
|
50
|
+
e.price = ready.price
|
|
51
|
+
}
|
|
52
|
+
*/
|
|
39
53
|
return ready;
|
|
40
54
|
}
|
|
41
|
-
async getInstalled(countryCode,
|
|
42
|
-
|
|
55
|
+
async getInstalled(countryCode, queryOptions) {
|
|
56
|
+
/*
|
|
57
|
+
if(queryOptions.format === Format.SOURCES){
|
|
58
|
+
return this.loader.makeUrls(['installed'], countryCode,1,1)
|
|
59
|
+
}
|
|
60
|
+
*/
|
|
61
|
+
const edifactAsJson = await this.loader.loadInstalled(countryCode, queryOptions);
|
|
62
|
+
if (queryOptions.format === queryoptions_1.Format.SOURCES) {
|
|
63
|
+
return edifactAsJson;
|
|
64
|
+
}
|
|
43
65
|
const ready = await this.parseInstalled.parse(edifactAsJson);
|
|
44
66
|
return ready;
|
|
45
67
|
}
|
|
46
|
-
async getHydrofill(countryCode,
|
|
68
|
+
async getHydrofill(countryCode, queryOptions) {
|
|
47
69
|
var _a;
|
|
48
70
|
const wanted = ['hydroFill'];
|
|
49
71
|
const endYear = new Date().getFullYear() + 1;
|
|
50
72
|
let all = [];
|
|
51
73
|
for (let year = 2015; year < endYear; year++) {
|
|
52
74
|
const month = 1;
|
|
53
|
-
const edifactAsJson = await this.loader.load(wanted, countryCode, year, month,
|
|
75
|
+
const edifactAsJson = await this.loader.load(wanted, countryCode, year, month, queryOptions);
|
|
76
|
+
console.log(edifactAsJson);
|
|
77
|
+
if (queryOptions.format === queryoptions_1.Format.SOURCES) {
|
|
78
|
+
return [edifactAsJson.hydroFill];
|
|
79
|
+
}
|
|
54
80
|
const parsed = await this.parser.parseAll(edifactAsJson);
|
|
55
81
|
if (parsed === null || parsed === void 0 ? void 0 : parsed.hydroFill) {
|
|
56
82
|
const yearArr = (_a = Object.values(parsed === null || parsed === void 0 ? void 0 : parsed.hydroFill)) === null || _a === void 0 ? void 0 : _a[0];
|
|
@@ -63,25 +89,25 @@ class LoadService {
|
|
|
63
89
|
return index === self.findIndex((o) => o.time === obj.time);
|
|
64
90
|
});
|
|
65
91
|
return {
|
|
66
|
-
time: keyValue.map(item => item.time),
|
|
67
|
-
hydroFill: keyValue.map(item => item.value)
|
|
92
|
+
time: keyValue.map((item) => item.time),
|
|
93
|
+
hydroFill: keyValue.map((item) => item.value),
|
|
68
94
|
};
|
|
69
95
|
}
|
|
70
|
-
async getFossil(country) {
|
|
96
|
+
async getFossil(country, queryOptions) {
|
|
71
97
|
const eurostat = new Eurostat_1.EurostatAPI();
|
|
72
|
-
return await eurostat.load(country);
|
|
98
|
+
return await eurostat.load(country, queryOptions);
|
|
73
99
|
}
|
|
74
|
-
async getNaturalGasPrices(country) {
|
|
100
|
+
async getNaturalGasPrices(country, queryOptions) {
|
|
75
101
|
const eurostat = new NaturalGasPrice_1.NaturalGasPrices();
|
|
76
|
-
return await eurostat.load(country);
|
|
102
|
+
return await eurostat.load(country, queryOptions);
|
|
77
103
|
}
|
|
78
|
-
async getCountrydata(country,
|
|
79
|
-
console.log('reload', country, reload);
|
|
104
|
+
async getCountrydata(country, queryOptions) {
|
|
105
|
+
console.log('reload', country, queryOptions.reload);
|
|
80
106
|
return {
|
|
81
|
-
fossil: await this.getFossil(country),
|
|
82
|
-
price: await this.getNaturalGasPrices(country),
|
|
83
|
-
installed: await this.getInstalled(country,
|
|
84
|
-
hydrofill: await this.getHydrofill(country,
|
|
107
|
+
fossil: await this.getFossil(country, queryOptions),
|
|
108
|
+
price: await this.getNaturalGasPrices(country, queryOptions),
|
|
109
|
+
installed: await this.getInstalled(country, queryOptions),
|
|
110
|
+
hydrofill: await this.getHydrofill(country, queryOptions),
|
|
85
111
|
};
|
|
86
112
|
}
|
|
87
113
|
}
|