@powercalc/power-router 1.0.50 → 1.0.52

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 (109) hide show
  1. package/{dist/router → dist-build}/index.js +1 -1
  2. package/package.json +3 -3
  3. package/dist/app.d.ts +0 -1
  4. package/dist/app.js +0 -27
  5. package/dist/app.js.map +0 -1
  6. package/dist/autoloader/index.d.ts +0 -6
  7. package/dist/autoloader/index.js +0 -30
  8. package/dist/autoloader/index.js.map +0 -1
  9. package/dist/controllers/LoadAndParse.d.ts +0 -10
  10. package/dist/controllers/LoadAndParse.js +0 -54
  11. package/dist/controllers/LoadAndParse.js.map +0 -1
  12. package/dist/controllers/Router.d.ts +0 -7
  13. package/dist/controllers/Router.js +0 -103
  14. package/dist/controllers/Router.js.map +0 -1
  15. package/dist/converter.d.ts +0 -8
  16. package/dist/converter.js +0 -57
  17. package/dist/converter.js.map +0 -1
  18. package/dist/genTypes.d.ts +0 -4
  19. package/dist/genTypes.js +0 -54
  20. package/dist/genTypes.js.map +0 -1
  21. package/dist/index.d.ts +0 -2
  22. package/dist/index.js +0 -2
  23. package/dist/index.js.map +0 -1
  24. package/dist/interfaces/config.d.ts +0 -5
  25. package/dist/interfaces/config.js +0 -2
  26. package/dist/interfaces/config.js.map +0 -1
  27. package/dist/interfaces/entsoe.d.ts +0 -50
  28. package/dist/interfaces/entsoe.js +0 -2
  29. package/dist/interfaces/entsoe.js.map +0 -1
  30. package/dist/interfaces/queryoptions.d.ts +0 -15
  31. package/dist/interfaces/queryoptions.js +0 -13
  32. package/dist/interfaces/queryoptions.js.map +0 -1
  33. package/dist/interfaces/types.d.ts +0 -12
  34. package/dist/interfaces/types.js +0 -2
  35. package/dist/interfaces/types.js.map +0 -1
  36. package/dist/load.d.ts +0 -7
  37. package/dist/load.js +0 -32
  38. package/dist/load.js.map +0 -1
  39. package/dist/router/autoloader/index.d.ts +0 -6
  40. package/dist/router/autoloader/index.js +0 -34
  41. package/dist/router/autoloader/index.js.map +0 -1
  42. package/dist/router/config/countries.json +0 -194
  43. package/dist/router/config/countrydata.json +0 -266
  44. package/dist/router/config/types.json +0 -333
  45. package/dist/router/controllers/LoadAndParse.d.ts +0 -10
  46. package/dist/router/controllers/LoadAndParse.js +0 -58
  47. package/dist/router/controllers/LoadAndParse.js.map +0 -1
  48. package/dist/router/controllers/Router.d.ts +0 -7
  49. package/dist/router/controllers/Router.js +0 -107
  50. package/dist/router/controllers/Router.js.map +0 -1
  51. package/dist/router/countries.json +0 -194
  52. package/dist/router/countrydata.json +0 -266
  53. package/dist/router/index.d.ts +0 -2
  54. package/dist/router/index.js.map +0 -1
  55. package/dist/router/interfaces/config.d.ts +0 -5
  56. package/dist/router/interfaces/config.js +0 -3
  57. package/dist/router/interfaces/config.js.map +0 -1
  58. package/dist/router/interfaces/entsoe.d.ts +0 -50
  59. package/dist/router/interfaces/entsoe.js +0 -3
  60. package/dist/router/interfaces/entsoe.js.map +0 -1
  61. package/dist/router/interfaces/queryoptions.d.ts +0 -15
  62. package/dist/router/interfaces/queryoptions.js +0 -16
  63. package/dist/router/interfaces/queryoptions.js.map +0 -1
  64. package/dist/router/interfaces/types.d.ts +0 -12
  65. package/dist/router/interfaces/types.js +0 -3
  66. package/dist/router/interfaces/types.js.map +0 -1
  67. package/dist/router/services/CommonTimestamps.d.ts +0 -15
  68. package/dist/router/services/CommonTimestamps.js +0 -177
  69. package/dist/router/services/CommonTimestamps.js.map +0 -1
  70. package/dist/router/services/Eurostat.d.ts +0 -10
  71. package/dist/router/services/Eurostat.js +0 -69
  72. package/dist/router/services/Eurostat.js.map +0 -1
  73. package/dist/router/services/LoadService.d.ts +0 -27
  74. package/dist/router/services/LoadService.js +0 -83
  75. package/dist/router/services/LoadService.js.map +0 -1
  76. package/dist/router/services/Loader.d.ts +0 -38
  77. package/dist/router/services/Loader.js +0 -120
  78. package/dist/router/services/Loader.js.map +0 -1
  79. package/dist/router/services/ParseEdifact.d.ts +0 -28
  80. package/dist/router/services/ParseEdifact.js +0 -159
  81. package/dist/router/services/ParseEdifact.js.map +0 -1
  82. package/dist/router/services/ParseInstalled.d.ts +0 -9
  83. package/dist/router/services/ParseInstalled.js +0 -46
  84. package/dist/router/services/ParseInstalled.js.map +0 -1
  85. package/dist/router/services/batch/maxHydrofill.d.ts +0 -10
  86. package/dist/router/services/batch/maxHydrofill.js +0 -66
  87. package/dist/router/services/batch/maxHydrofill.js.map +0 -1
  88. package/dist/router/types.json +0 -333
  89. package/dist/services/CommonTimestamps.d.ts +0 -15
  90. package/dist/services/CommonTimestamps.js +0 -173
  91. package/dist/services/CommonTimestamps.js.map +0 -1
  92. package/dist/services/Eurostat.d.ts +0 -10
  93. package/dist/services/Eurostat.js +0 -65
  94. package/dist/services/Eurostat.js.map +0 -1
  95. package/dist/services/LoadService.d.ts +0 -27
  96. package/dist/services/LoadService.js +0 -79
  97. package/dist/services/LoadService.js.map +0 -1
  98. package/dist/services/Loader.d.ts +0 -38
  99. package/dist/services/Loader.js +0 -116
  100. package/dist/services/Loader.js.map +0 -1
  101. package/dist/services/ParseEdifact.d.ts +0 -28
  102. package/dist/services/ParseEdifact.js +0 -155
  103. package/dist/services/ParseEdifact.js.map +0 -1
  104. package/dist/services/ParseInstalled.d.ts +0 -9
  105. package/dist/services/ParseInstalled.js +0 -42
  106. package/dist/services/ParseInstalled.js.map +0 -1
  107. package/dist/services/batch/maxHydrofill.d.ts +0 -10
  108. package/dist/services/batch/maxHydrofill.js +0 -62
  109. package/dist/services/batch/maxHydrofill.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PowerRouter = void 0;
4
- var Router_1 = require("./controllers/Router");
4
+ var Router_1 = require("./router/controllers/Router");
5
5
  Object.defineProperty(exports, "PowerRouter", { enumerable: true, get: function () { return Router_1.PowerRouter; } });
6
6
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@powercalc/power-router",
3
- "version": "1.0.50",
3
+ "version": "1.0.52",
4
4
  "description": "",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
5
+ "main": "dist-build/index.js",
6
+ "types": "dist-build/index.d.ts",
7
7
  "scripts": {
8
8
  "test": "echo \"Error: no test specified\" && exit 1",
9
9
  "v": "node -v",
package/dist/app.d.ts DELETED
@@ -1 +0,0 @@
1
- import 'reflect-metadata';
package/dist/app.js DELETED
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- require("reflect-metadata");
7
- process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = '0';
8
- const express_1 = __importDefault(require("express"));
9
- const cors_1 = __importDefault(require("cors"));
10
- const path_1 = require("path");
11
- const process_1 = require("process");
12
- const Router_1 = require("./router/controllers/Router");
13
- const app = (0, express_1.default)();
14
- const port = 30000;
15
- const config = {
16
- securityToken: '1c608639-afff-4d73-bfe1-a960fe7ea8da',
17
- cacheDir: (0, path_1.join)((0, process_1.cwd)(), 'data'),
18
- entsoeDomain: "https://web-api.tp.entsoe.eu"
19
- };
20
- app.use((0, cors_1.default)());
21
- app.use('/entsoe', Router_1.PowerRouter.init(config));
22
- app.use('/public', express_1.default.static('public'));
23
- // app.use('/config', express.static('dist/config', { maxAge: 100000 }));
24
- app.listen(port, () => {
25
- console.log(`Server listening on port ${port}`);
26
- });
27
- //# sourceMappingURL=app.js.map
package/dist/app.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":";;;;;AAAA,4BAA0B;AAC1B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,GAAG,GAAG,CAAC;AAElD,sDAA2C;AAC3C,gDAAuB;AACvB,+BAA4B;AAC5B,qCAA8B;AAE9B,wDAA0D;AAE1D,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;AACtB,MAAM,IAAI,GAAG,KAAK,CAAC;AACnB,MAAM,MAAM,GAAW;IACrB,aAAa,EAAE,sCAAsC;IACrD,QAAQ,EAAE,IAAA,WAAI,EAAC,IAAA,aAAG,GAAE,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,8BAA8B;CAC7C,CAAA;AACD,GAAG,CAAC,GAAG,CAAC,IAAA,cAAI,GAAW,CAAC,CAAC;AACzB,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,oBAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7C,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,iBAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC7C,yEAAyE;AAEzE,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;IACpB,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC"}
@@ -1,6 +0,0 @@
1
- export declare class Autoload {
2
- baseUrl: string;
3
- init(): void;
4
- iterateCountries(): Promise<void>;
5
- loadContry(country: string): Promise<void>;
6
- }
@@ -1,30 +0,0 @@
1
- export class Autoload {
2
- constructor() {
3
- this.baseUrl = "http://3.71.38.118/";
4
- }
5
- init() {
6
- this.iterateCountries();
7
- }
8
- async iterateCountries() {
9
- const response = await fetch(`${this.baseUrl}/entsoe/coutries`);
10
- const json = await response.json();
11
- const countryList = json.map((item) => item.name);
12
- for (let c = 0; c < countryList.length; c++) {
13
- await this.loadContry(countryList[c]);
14
- }
15
- }
16
- async loadContry(country) {
17
- const minYear = 2015;
18
- const maxYear = 2023;
19
- for (let year = minYear; year <= maxYear; year++) {
20
- for (let month = 1; month <= 12; month++) {
21
- const url = `${this.baseUrl}/entsoe/${country}/${year}/${month}`;
22
- console.log(url);
23
- const response = await fetch(url);
24
- const json = await response.json();
25
- console.log(json);
26
- }
27
- }
28
- }
29
- }
30
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/router/autoloader/index.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,QAAQ;IAArB;QACE,YAAO,GAAG,qBAAqB,CAAC;IA2BlC,CAAC;IA1BC,IAAI;QACF,IAAI,CAAC,gBAAgB,EAAE,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,gBAAgB;QACZ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,kBAAkB,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAe,CAAC;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,KAAI,IAAI,CAAC,GAAC,CAAC,EAAC,CAAC,GAAC,WAAW,CAAC,MAAM,EAAC,CAAC,EAAE,EAAC;YACjC,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;SACxC;IAEX,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,OAAc;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC;QACrB,KAAK,IAAI,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,IAAI,EAAE,EAAE;YAChD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE;gBACxC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,WAAW,OAAO,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACjB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;aACnB;SACF;IACH,CAAC;CACF"}
@@ -1,10 +0,0 @@
1
- import { Request } from 'express';
2
- import { LoadService } from '../services/LoadService';
3
- import { Config } from '../interfaces/config';
4
- export declare class LoadAndParse {
5
- country: string;
6
- private countries;
7
- loadService: LoadService;
8
- constructor(config: Config);
9
- get(req: Request, chartType: string): Promise<any>;
10
- }
@@ -1,54 +0,0 @@
1
- import { join } from 'path';
2
- import { readFileSync } from 'fs';
3
- import { LoadService } from '../services/LoadService';
4
- import { Format, PosNeg } from '../interfaces/queryoptions';
5
- export class LoadAndParse {
6
- constructor(config) {
7
- this.country = '';
8
- const countriesFile = join(__dirname, '../config/countries.json'); // Set the path to your config file
9
- this.countries = JSON.parse(readFileSync(countriesFile, 'utf8')); // Read the config file from disk
10
- this.loadService = new LoadService(config);
11
- }
12
- async get(req, chartType) {
13
- var _a;
14
- const country = req.params.country;
15
- if (this.country !== country) {
16
- //console.log(`=========== ${country} =============`)
17
- this.country = country;
18
- }
19
- const queryOptions = {};
20
- const year = parseInt(req.params.year);
21
- const month = parseInt(req.params.month);
22
- if (req.query.posneg === PosNeg.POS || req.query.posneg === PosNeg.NEG) {
23
- queryOptions.posneg = req.query.posneg;
24
- }
25
- if (typeof (req.query.format) === 'string' && Object.values(Format).includes(req.query.format)) {
26
- queryOptions.format = req.query.format;
27
- }
28
- let reload = false;
29
- if (typeof (req.headers.reload) === 'string') {
30
- reload = true;
31
- queryOptions.reload = true;
32
- }
33
- const countryCode = (_a = this.countries.find(item => item.name === country)) === null || _a === void 0 ? void 0 : _a.code;
34
- if (!countryCode) {
35
- throw new Error('Unknown country ' + country);
36
- }
37
- if (chartType === 'installed') {
38
- return await this.loadService.getInstalled(countryCode, reload);
39
- }
40
- if (chartType === 'power') {
41
- return await this.loadService.getPower(countryCode, year, month, queryOptions);
42
- }
43
- if (chartType === 'hydrofill') {
44
- return await this.loadService.getHydrofill(countryCode, reload);
45
- }
46
- if (chartType === 'fossil') {
47
- return await this.loadService.getFossil(countryCode);
48
- }
49
- if (chartType === 'countrydata') {
50
- return await this.loadService.getCountrydata(countryCode, reload);
51
- }
52
- }
53
- }
54
- //# sourceMappingURL=LoadAndParse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LoadAndParse.js","sourceRoot":"","sources":["../../src/router/controllers/LoadAndParse.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { Router, Request, Response } from 'express';
2
- import { Config } from '../interfaces/config';
3
- export declare class PowerRouter {
4
- static init(config: Config): Router;
5
- static load(config: Config, req: Request, res: Response, type: string): Promise<void>;
6
- static calcCacheTime(req: Request): number;
7
- }
@@ -1,103 +0,0 @@
1
- import { Router } from 'express';
2
- import { createHash } from 'crypto';
3
- import { stat, writeFile } from 'fs/promises';
4
- import { gzipSync } from 'zlib';
5
- import { Buffer } from 'node:buffer';
6
- import { createReadStream } from 'fs';
7
- import { LoadAndParse } from './LoadAndParse';
8
- import { join } from 'path';
9
- export class PowerRouter {
10
- static init(config) {
11
- console.log('init', config);
12
- const router = Router();
13
- router.get(`/:country/:year/:month`, async (req, res) => {
14
- await this.load(config, req, res, 'power');
15
- });
16
- router.get(`/:country/fossil`, async (req, res) => {
17
- await this.load(config, req, res, 'fossil');
18
- });
19
- router.get(`/:country/installed`, async (req, res) => {
20
- await this.load(config, req, res, 'installed');
21
- });
22
- router.get(`/:country/hydrofill`, async (req, res) => {
23
- await this.load(config, req, res, 'hydrofill');
24
- });
25
- router.get(`/:country/countrydata`, async (req, res) => {
26
- await this.load(config, req, res, 'countrydata');
27
- });
28
- router.get('/types', async (req, res) => {
29
- const filePath = join(__dirname, '..', 'config', 'types.json');
30
- res.set({ 'Cache-Control': 'max-age=86400' });
31
- res.sendFile(filePath);
32
- });
33
- router.get('/countries', async (req, res) => {
34
- const filePath = join(__dirname, '..', 'config', 'countrydata.json');
35
- res.set({ 'Cache-Control': 'max-age=86400' });
36
- res.sendFile(filePath);
37
- });
38
- return router;
39
- }
40
- static async load(config, req, res, type) {
41
- const entsoeLoader = new LoadAndParse(config);
42
- const cacheTime = this.calcCacheTime(req);
43
- const successHeaders = {
44
- 'Cache-Control': `public, max-age=${cacheTime}`,
45
- 'Content-Encoding': 'gzip',
46
- 'Content-Type': 'application/json'
47
- };
48
- try {
49
- let cacheData;
50
- const cacheKey = req.url;
51
- const cacheFilePath = `${config.cacheDir}/json.gz/${createHash('md5').update(cacheKey).digest('hex')}.json.gz`;
52
- if (!(req.headers['reload'] === 'full')) {
53
- // check if there is a cache file for this request
54
- try {
55
- const stats = await stat(cacheFilePath);
56
- const modtime = stats.mtime.getTime();
57
- // Check if the If-Modified-Since header matches the last modified date
58
- const ifModifiedSince = req.headers['if-modified-since'];
59
- if (ifModifiedSince && (modtime - new Date(ifModifiedSince).getTime()) < 5000) {
60
- res.status(304).end();
61
- return;
62
- }
63
- res.setHeader('Last-Modified', (new Date(modtime)).toUTCString());
64
- res.set(successHeaders);
65
- // console.log('cached')
66
- createReadStream(cacheFilePath)
67
- .pipe(res);
68
- return;
69
- }
70
- catch (err) {
71
- // no cache file found, continue with request
72
- }
73
- }
74
- // if no cache hit, load data and store in cache
75
- if (!cacheData) {
76
- // LOAD THE DATA FROM SOURCE
77
- const body = await entsoeLoader.get(req, type);
78
- const buf = Buffer.from(JSON.stringify(body), 'utf-8');
79
- const cacheDataBuffer = gzipSync(buf);
80
- //await mkdir(basename(cacheFilePath), {recursive:true});
81
- await writeFile(cacheFilePath, cacheDataBuffer, 'utf-8');
82
- res.setHeader('Last-Modified', (new Date()).toUTCString());
83
- res.set(successHeaders);
84
- res.send(cacheDataBuffer);
85
- }
86
- }
87
- catch (e) {
88
- console.log(e);
89
- }
90
- }
91
- static calcCacheTime(req) {
92
- const reqMonth = `${req.params.year} ${req.params.month}`;
93
- const now = new Date();
94
- const nowMonth = `${now.getFullYear()} ${now.getMonth() + 1}`;
95
- if (reqMonth === nowMonth) {
96
- return 5 * 60;
97
- }
98
- else {
99
- return 3600 * 7;
100
- }
101
- }
102
- }
103
- //# sourceMappingURL=Router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../src/router/controllers/Router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAc,gBAAgB,EAAE,MAAM,IAAI,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B,MAAM,OAAO,WAAW;IACtB,MAAM,CAAC,IAAI,CAAC,MAAc;QACxB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC3B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACtD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAChD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACnD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QACjD,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACnD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QACjD,CAAC,CAAC,CAAA;QAEF,MAAM,CAAC,GAAG,CAAC,uBAAuB,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACrD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;QACnD,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;YAC/D,GAAG,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC,CAAC;YAC9C,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;YACrE,GAAG,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC,CAAC;YAC9C,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAc,EAAE,GAAY,EAAE,GAAa,EAAE,IAAY;QACzE,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,cAAc,GAAG;YACrB,eAAe,EAAE,mBAAmB,SAAS,EAAE;YAC/C,kBAAkB,EAAE,MAAM;YAC1B,cAAc,EAAE,kBAAkB;SACnC,CAAC;QACF,IAAI;YACF,IAAI,SAAiC,CAAC;YACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC;YACzB,MAAM,aAAa,GAAG,GAAG,MAAM,CAAC,QAAQ,YAAY,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;YAC/G,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,EAAE;gBAEvC,kDAAkD;gBAClD,IAAI;oBACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC;oBACxC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;oBACtC,uEAAuE;oBACvE,MAAM,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;oBACzD,IAAI,eAAe,IAAI,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE;wBAC7E,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;wBACtB,OAAO;qBACR;oBACD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;oBAClE,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;oBACxB,wBAAwB;oBACxB,gBAAgB,CAAC,aAAa,CAAC;yBAC5B,IAAI,CAAC,GAAG,CAAC,CAAC;oBACb,OAAM;iBACP;gBAAC,OAAO,GAAG,EAAE;oBACZ,6CAA6C;iBAC9C;aACF;YAED,gDAAgD;YAChD,IAAI,CAAC,SAAS,EAAE;gBAEd,6BAA6B;gBAC7B,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;gBACvD,MAAM,eAAe,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACtC,yDAAyD;gBACzD,MAAM,SAAS,CAAC,aAAa,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;gBACzD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACxB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aAC3B;SACF;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAChB;IACH,CAAC;IACD,MAAM,CAAC,aAAa,CAAC,GAAY;QAC/B,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAA;QAC7D,IAAI,QAAQ,KAAK,QAAQ,EAAE;YACzB,OAAO,CAAC,GAAG,EAAE,CAAC;SACf;aAAM;YACL,OAAO,IAAI,GAAG,CAAC,CAAC;SACjB;IACH,CAAC;CACF"}
@@ -1,8 +0,0 @@
1
- export declare class Convert {
2
- static start(): Promise<void>;
3
- static getCountries(): Promise<any>;
4
- static getGeneration(countryCode: string): Promise<any>;
5
- static getLoad(countryCode: string): Promise<any>;
6
- static getPrice(countryCode: string): Promise<any>;
7
- static getHydrofill(countryCode: string): Promise<any>;
8
- }
package/dist/converter.js DELETED
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Convert = void 0;
4
- const genTypes_1 = require("./genTypes");
5
- const maxHydrofill_1 = require("./router/services/batch/maxHydrofill");
6
- const promises_1 = require("node:fs/promises");
7
- class Convert {
8
- static async start() {
9
- const countries = await this.getCountries();
10
- for (const country of countries) {
11
- const types = await genTypes_1.GenTypes.getTypes(country.code);
12
- country.types = types;
13
- const h = await maxHydrofill_1.Hydrofill.getMaxHydrofill(country.code);
14
- if (h.max) {
15
- const GW = Math.round(h.max / 1000) + ' GW';
16
- country.hydrofill = {
17
- min: h.min,
18
- max: h.max
19
- };
20
- }
21
- const gen = await this.getGeneration(country.code);
22
- const load = await this.getLoad(country.code);
23
- const price = await this.getPrice(country.code);
24
- const hydrofill = await this.getHydrofill(country.code);
25
- }
26
- console.log(countries);
27
- (0, promises_1.writeFile)('data/countrydata.json', JSON.stringify(countries, null, 2), 'utf-8');
28
- }
29
- static async getCountries() {
30
- const url = 'https://powercalculator.eu/entsoe/datalists/countries';
31
- const response = await fetch(url);
32
- return await response.json();
33
- }
34
- static async getGeneration(countryCode) {
35
- const url = `https://powercalculator.eu/entsoe/${countryCode}/generation?year=2021&month=9`;
36
- const response = await fetch(url);
37
- return await response.json();
38
- }
39
- static async getLoad(countryCode) {
40
- const url = `https://powercalculator.eu/entsoe/${countryCode}/load?year=2021&month=9`;
41
- const response = await fetch(url);
42
- return await response.json();
43
- }
44
- static async getPrice(countryCode) {
45
- const url = `https://powercalculator.eu/entsoe/${countryCode}/prices?year=2021&month=9`;
46
- const response = await fetch(url);
47
- return await response.json();
48
- }
49
- static async getHydrofill(countryCode) {
50
- const url = `https://powercalculator.eu/entsoe/${countryCode}/hydrofill?year=2021`;
51
- const response = await fetch(url);
52
- return await response.json();
53
- }
54
- }
55
- exports.Convert = Convert;
56
- Convert.start();
57
- //# sourceMappingURL=converter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AACtC,uEAAiE;AACjE,+CAA6C;AAG7C,MAAa,OAAO;IAChB,MAAM,CAAC,KAAK,CAAC,KAAK;QACd,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QAC3C,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE;YAC7B,MAAM,KAAK,GAAG,MAAM,mBAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACpD,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YACtB,MAAM,CAAC,GAAG,MAAM,wBAAS,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACvD,IAAI,CAAC,CAAC,GAAG,EAAE;gBACP,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,KAAK,CAAA;gBAC3C,OAAO,CAAC,SAAS,GAAG;oBAChB,GAAG,EAAE,CAAC,CAAC,GAAG;oBACV,GAAG,EAAE,CAAC,CAAC,GAAG;iBACb,CAAA;aACJ;YACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAClD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC7C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC/C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;SAC1D;QACD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,IAAA,oBAAS,EAAC,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IACnF,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY;QACrB,MAAM,GAAG,GAAG,uDAAuD,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAChC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,WAAmB;QAC1C,MAAM,GAAG,GAAG,qCAAqC,WAAW,+BAA+B,CAAC;QAC5F,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAChC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAmB;QACpC,MAAM,GAAG,GAAG,qCAAqC,WAAW,yBAAyB,CAAC;QACtF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAChC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAmB;QACrC,MAAM,GAAG,GAAG,qCAAqC,WAAW,2BAA2B,CAAC;QACxF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAChC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,WAAmB;QACzC,MAAM,GAAG,GAAG,qCAAqC,WAAW,sBAAsB,CAAA;QAClF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAChC,CAAC;CAEJ;AArDD,0BAqDC;AAED,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -1,4 +0,0 @@
1
- export declare class GenTypes {
2
- static getTypes(country: string): Promise<any[]>;
3
- static makeGen(gen: any, load: any, price: any): any;
4
- }
package/dist/genTypes.js DELETED
@@ -1,54 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GenTypes = void 0;
4
- const node_zlib_1 = require("node:zlib");
5
- const load_1 = require("./load");
6
- const promises_1 = require("node:fs/promises");
7
- class GenTypes {
8
- static async getTypes(country) {
9
- let types = [];
10
- const minYear = 2015;
11
- const maxYear = 2023;
12
- let min;
13
- let max;
14
- for (let year = minYear; year <= maxYear; year++) {
15
- for (let month = 1; month <= 12; month++) {
16
- const gen = await load_1.Load.getGeneration(country, year, month);
17
- const price = await load_1.Load.getPrice(country, year, month);
18
- const load = await load_1.Load.getLoad(country, year, month);
19
- const all = this.makeGen(gen, load, price);
20
- const gzipfilename = `data/gzip/${country}-${year}-${month}.json.gzip`;
21
- const filename = `data/generation/${country}-${year}-${month}.json`;
22
- const buf = Buffer.from(JSON.stringify(all), 'utf-8');
23
- (0, node_zlib_1.gzip)(buf, async (_, result) => {
24
- var _a;
25
- await (0, promises_1.writeFile)(gzipfilename, result, 'utf-8');
26
- // console.log(gen.dataset.map((item:any) => item.label))
27
- types = types.concat(((_a = gen.dataset) === null || _a === void 0 ? void 0 : _a.map((item) => item.psrType)) || []);
28
- });
29
- await (0, promises_1.writeFile)(filename, JSON.stringify(all, null, 2), 'utf-8');
30
- }
31
- }
32
- return [...new Set(types)].sort();
33
- }
34
- static makeGen(gen, load, price) {
35
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
36
- const all = {};
37
- if ((_a = gen.dataset) === null || _a === void 0 ? void 0 : _a[0]) {
38
- all.time = (_d = (_c = (_b = gen.dataset) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.map((item) => item.x);
39
- gen.dataset.forEach((dataset) => {
40
- all[dataset.psrType] = dataset.data.map((item) => item.y);
41
- });
42
- }
43
- if ((_f = (_e = load === null || load === void 0 ? void 0 : load.dataset) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.data) {
44
- all.A05 = load.dataset[0].data.map((item) => item.y);
45
- }
46
- if ((_g = price === null || price === void 0 ? void 0 : price.dataset) === null || _g === void 0 ? void 0 : _g[0]) {
47
- all.price = price.dataset[0].data.map((item) => item.y);
48
- }
49
- console.log((_h = all.time) === null || _h === void 0 ? void 0 : _h.length, (_j = all.A05) === null || _j === void 0 ? void 0 : _j.length, (_k = all.price) === null || _k === void 0 ? void 0 : _k.length);
50
- return all;
51
- }
52
- }
53
- exports.GenTypes = GenTypes;
54
- //# sourceMappingURL=genTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"genTypes.js","sourceRoot":"","sources":["../src/genTypes.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export { PowerRouter } from './controllers/Router';
2
- export { Config } from './interfaces/config';
package/dist/index.js DELETED
@@ -1,2 +0,0 @@
1
- export { PowerRouter } from './controllers/Router';
2
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,5 +0,0 @@
1
- export interface Config {
2
- securityToken: string;
3
- cacheDir: string;
4
- entsoeDomain: string;
5
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/router/interfaces/config.ts"],"names":[],"mappings":""}
@@ -1,50 +0,0 @@
1
- export interface Entsoe {
2
- GL_MarketDocument?: EntsoeDocument;
3
- Publication_MarketDocument?: EntsoeDocument;
4
- Acknowledgement_MarketDocument?: ErrorDocument;
5
- }
6
- export interface EntsoeDocument {
7
- TimeSeries: TimeSeries[];
8
- 'period.timeInterval'?: TimeInterval[];
9
- 'time_Period.timeInterval'?: TimeInterval[];
10
- type?: string[];
11
- }
12
- export interface TimeSeries {
13
- Period: EntsoePeriod[];
14
- MktPSRType?: MktPSRType[];
15
- 'outBiddingZone_Domain.mRID': string;
16
- }
17
- export interface EntsoePeriod {
18
- Point: EntsoePoint[];
19
- resolution: string;
20
- timeInterval: TimeInterval[];
21
- }
22
- interface TimeInterval {
23
- start: string[];
24
- end: string[];
25
- }
26
- export interface MktPSRType {
27
- psrType?: string[];
28
- PowerSystemResources?: PowerSystemResource[];
29
- }
30
- export interface EntsoePoint {
31
- position: string[];
32
- quantity?: string[];
33
- 'price.amount'?: string[];
34
- }
35
- export interface PowerSystemResource {
36
- mRID: mRID[];
37
- name: string[];
38
- }
39
- export interface mRID {
40
- _: string;
41
- }
42
- export interface ErrorDocument {
43
- mRID: string;
44
- Reason: Reason[];
45
- }
46
- interface Reason {
47
- code: string[];
48
- text: string[];
49
- }
50
- export {};
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=entsoe.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entsoe.js","sourceRoot":"","sources":["../../src/router/interfaces/entsoe.ts"],"names":[],"mappings":""}
@@ -1,15 +0,0 @@
1
- export interface QueryOptions {
2
- reload?: boolean;
3
- format?: Format;
4
- posneg?: PosNeg;
5
- }
6
- export declare enum Format {
7
- EDIFACT = "edifact",
8
- EDIJSON = "edijson",
9
- SOURCES = "sources",
10
- KEYVALUE = "keyvalue"
11
- }
12
- export declare enum PosNeg {
13
- POS = "pos",
14
- NEG = "neg"
15
- }
@@ -1,13 +0,0 @@
1
- export var Format;
2
- (function (Format) {
3
- Format["EDIFACT"] = "edifact";
4
- Format["EDIJSON"] = "edijson";
5
- Format["SOURCES"] = "sources";
6
- Format["KEYVALUE"] = "keyvalue";
7
- })(Format || (Format = {}));
8
- export var PosNeg;
9
- (function (PosNeg) {
10
- PosNeg["POS"] = "pos";
11
- PosNeg["NEG"] = "neg";
12
- })(PosNeg || (PosNeg = {}));
13
- //# sourceMappingURL=queryoptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queryoptions.js","sourceRoot":"","sources":["../../src/router/interfaces/queryoptions.ts"],"names":[],"mappings":"AAMA,MAAM,CAAN,IAAY,MAKX;AALD,WAAY,MAAM;IACd,6BAAmB,CAAA;IACnB,6BAAmB,CAAA;IACnB,6BAAmB,CAAA;IACnB,+BAAqB,CAAA;AACzB,CAAC,EALW,MAAM,KAAN,MAAM,QAKjB;AACD,MAAM,CAAN,IAAY,MAGX;AAHD,WAAY,MAAM;IACd,qBAAW,CAAA;IACX,qBAAW,CAAA;AACf,CAAC,EAHW,MAAM,KAAN,MAAM,QAGjB"}
@@ -1,12 +0,0 @@
1
- export interface Types {
2
- [key: string]: Type;
3
- }
4
- export interface Type {
5
- name: string;
6
- psrType: string;
7
- co2Footprint: number;
8
- color: string;
9
- abbr: string;
10
- yAxis: string;
11
- stack: string;
12
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/router/interfaces/types.ts"],"names":[],"mappings":""}
package/dist/load.d.ts DELETED
@@ -1,7 +0,0 @@
1
- export declare class Load {
2
- static getCountries(): Promise<any>;
3
- static getGeneration(countryCode: string, year: number, month: number): Promise<any>;
4
- static getLoad(countryCode: string, year: number, month: number): Promise<any>;
5
- static getPrice(countryCode: string, year: number, month: number): Promise<any>;
6
- static getHydrofill(countryCode: string, year: number): Promise<any>;
7
- }
package/dist/load.js DELETED
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Load = void 0;
4
- class Load {
5
- static async getCountries() {
6
- const url = 'https://powercalculator.eu/entsoe/datalists/countries';
7
- const response = await fetch(url);
8
- return await response.json();
9
- }
10
- static async getGeneration(countryCode, year, month) {
11
- const url = `https://powercalculator.eu/entsoe/${countryCode}/generation?year=${year}&month=${month}`;
12
- const response = await fetch(url);
13
- return await response.json();
14
- }
15
- static async getLoad(countryCode, year, month) {
16
- const url = `https://powercalculator.eu/entsoe/${countryCode}/load?year=${year}&month=${month}`;
17
- const response = await fetch(url);
18
- return await response.json();
19
- }
20
- static async getPrice(countryCode, year, month) {
21
- const url = `https://powercalculator.eu/entsoe/${countryCode}/prices?year=${year}&month=${month}`;
22
- const response = await fetch(url);
23
- return await response.json();
24
- }
25
- static async getHydrofill(countryCode, year) {
26
- const url = `https://powercalculator.eu/entsoe/${countryCode}/hydrofill?year=${year}`;
27
- const response = await fetch(url);
28
- return await response.json();
29
- }
30
- }
31
- exports.Load = Load;
32
- //# sourceMappingURL=load.js.map
package/dist/load.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"load.js","sourceRoot":"","sources":["../src/load.ts"],"names":[],"mappings":";;;AAAA,MAAa,IAAI;IAGb,MAAM,CAAC,KAAK,CAAC,YAAY;QACrB,MAAM,GAAG,GAAG,uDAAuD,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAChC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,WAAmB,EAAE,IAAY,EAAE,KAAa;QACvE,MAAM,GAAG,GAAG,qCAAqC,WAAW,oBAAoB,IAAI,UAAU,KAAK,EAAE,CAAC;QACtG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAChC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAmB,EAAE,IAAY,EAAE,KAAa;QACjE,MAAM,GAAG,GAAG,qCAAqC,WAAW,cAAc,IAAI,UAAU,KAAK,EAAE,CAAC;QAChG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAChC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAmB,EAAE,IAAY,EAAE,KAAa;QAClE,MAAM,GAAG,GAAG,qCAAqC,WAAW,gBAAgB,IAAI,UAAU,KAAK,EAAE,CAAC;QAClG,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAChC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,WAAmB,EAAE,IAAY;QACvD,MAAM,GAAG,GAAG,qCAAqC,WAAW,mBAAmB,IAAI,EAAE,CAAA;QACrF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;IAChC,CAAC;CAEJ;AAjCD,oBAiCC"}
@@ -1,6 +0,0 @@
1
- export declare class Autoload {
2
- baseUrl: string;
3
- init(): void;
4
- iterateCountries(): Promise<void>;
5
- loadContry(country: string): Promise<void>;
6
- }