@grnsft/if 0.0.5 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/.examples/ompls/azure.yml +205 -0
  2. package/.github/workflows/nodejs-ci.yml +0 -8
  3. package/README.md +48 -9
  4. package/build/config/config.d.ts +0 -23
  5. package/build/config/config.js +1 -24
  6. package/build/index.js +3 -4
  7. package/build/lib/models-universe.js +95 -0
  8. package/build/lib/observatory.js +31 -0
  9. package/build/lib/supercomputer.js +109 -0
  10. package/examples/impls/test/azure.yml +8 -8
  11. package/examples/impls/test/ccf.yml +5 -3
  12. package/examples/impls/test/if-demo.yml +19 -9
  13. package/examples/impls/test/metadata.yml +3 -2
  14. package/examples/impls/test/nesting.yml +10 -13
  15. package/examples/impls/test/sci-e.yml +1 -1
  16. package/examples/impls/test/sci-m.yml +2 -2
  17. package/examples/impls/test/sci-o.yml +2 -4
  18. package/examples/impls/test/sci.yml +1 -2
  19. package/examples/impls/test/shell.yml +2 -1
  20. package/examples/impls/{tdp-finder-test.yml → test/tdp-finder.yml} +8 -8
  21. package/examples/ompls/ccf.yml +3 -1
  22. package/examples/ompls/if-demo.yml +46 -22
  23. package/package.json +12 -5
  24. package/tsconfig.build.json +7 -0
  25. package/tsconfig.build.tsbuildinfo +1 -0
  26. package/build/__mocks__/azure/index.d.ts +0 -11
  27. package/build/__mocks__/azure/index.js +0 -132
  28. package/build/__mocks__/boavizta/countries.json +0 -138
  29. package/build/__mocks__/boavizta/instance_types.json +0 -625
  30. package/build/__mocks__/boavizta/providers.json +0 -1
  31. package/build/__mocks__/fs/index.d.ts +0 -3
  32. package/build/__mocks__/fs/index.js +0 -56
  33. package/build/__mocks__/model-universe/index.d.ts +0 -31
  34. package/build/__mocks__/model-universe/index.js +0 -64
  35. package/build/__mocks__/watt-time/data.json +0 -119
  36. package/build/__tests__/integration/ompl/index.test.d.ts +0 -1
  37. package/build/__tests__/integration/ompl/index.test.js +0 -61
  38. package/build/__tests__/unit/lib/azure-importer/index.test.d.ts +0 -1
  39. package/build/__tests__/unit/lib/azure-importer/index.test.js +0 -152
  40. package/build/__tests__/unit/lib/boavizta/index.test.d.ts +0 -1
  41. package/build/__tests__/unit/lib/boavizta/index.test.js +0 -579
  42. package/build/__tests__/unit/lib/case-studies/aveva.test.d.ts +0 -1
  43. package/build/__tests__/unit/lib/case-studies/aveva.test.js +0 -36
  44. package/build/__tests__/unit/lib/case-studies/emem.test.d.ts +0 -1
  45. package/build/__tests__/unit/lib/case-studies/emem.test.js +0 -108
  46. package/build/__tests__/unit/lib/case-studies/eshoppen.test.d.ts +0 -1
  47. package/build/__tests__/unit/lib/case-studies/eshoppen.test.js +0 -53
  48. package/build/__tests__/unit/lib/case-studies/sci-accenture.test.d.ts +0 -1
  49. package/build/__tests__/unit/lib/case-studies/sci-accenture.test.js +0 -23
  50. package/build/__tests__/unit/lib/ccf/index.test.d.ts +0 -1
  51. package/build/__tests__/unit/lib/ccf/index.test.js +0 -223
  52. package/build/__tests__/unit/lib/cloud-instance-metadata/index.test.d.ts +0 -1
  53. package/build/__tests__/unit/lib/cloud-instance-metadata/index.test.js +0 -73
  54. package/build/__tests__/unit/lib/sci/index.test.d.ts +0 -1
  55. package/build/__tests__/unit/lib/sci/index.test.js +0 -106
  56. package/build/__tests__/unit/lib/sci-e/index.test.d.ts +0 -1
  57. package/build/__tests__/unit/lib/sci-e/index.test.js +0 -30
  58. package/build/__tests__/unit/lib/sci-m/index.test.d.ts +0 -1
  59. package/build/__tests__/unit/lib/sci-m/index.test.js +0 -58
  60. package/build/__tests__/unit/lib/sci-o/index.test.d.ts +0 -1
  61. package/build/__tests__/unit/lib/sci-o/index.test.js +0 -42
  62. package/build/__tests__/unit/lib/shell-imp/index.test.d.ts +0 -1
  63. package/build/__tests__/unit/lib/shell-imp/index.test.js +0 -21
  64. package/build/__tests__/unit/lib/tdp-finder/index.test.d.ts +0 -1
  65. package/build/__tests__/unit/lib/tdp-finder/index.test.js +0 -62
  66. package/build/__tests__/unit/lib/teads-aws/index.test.d.ts +0 -1
  67. package/build/__tests__/unit/lib/teads-aws/index.test.js +0 -170
  68. package/build/__tests__/unit/lib/teads-curve/index.test.d.ts +0 -1
  69. package/build/__tests__/unit/lib/teads-curve/index.test.js +0 -146
  70. package/build/__tests__/unit/lib/watt-time/index.test.d.ts +0 -1
  71. package/build/__tests__/unit/lib/watt-time/index.test.js +0 -106
  72. package/build/__tests__/unit/util/args.test.d.ts +0 -1
  73. package/build/__tests__/unit/util/args.test.js +0 -92
  74. package/build/__tests__/unit/util/models-universe.test.d.ts +0 -1
  75. package/build/__tests__/unit/util/models-universe.test.js +0 -193
  76. package/build/__tests__/unit/util/observatory.test.d.ts +0 -1
  77. package/build/__tests__/unit/util/observatory.test.js +0 -99
  78. package/build/__tests__/unit/util/supercomputer.test.d.ts +0 -1
  79. package/build/__tests__/unit/util/supercomputer.test.js +0 -231
  80. package/build/__tests__/unit/util/yaml.test.d.ts +0 -1
  81. package/build/__tests__/unit/util/yaml.test.js +0 -59
  82. package/build/lib/azure-importer/index.d.ts +0 -55
  83. package/build/lib/azure-importer/index.js +0 -314
  84. package/build/lib/boavizta/index.d.ts +0 -53
  85. package/build/lib/boavizta/index.js +0 -254
  86. package/build/lib/case-studies/aveva-model.d.ts +0 -29
  87. package/build/lib/case-studies/aveva-model.js +0 -53
  88. package/build/lib/case-studies/emem-model.d.ts +0 -42
  89. package/build/lib/case-studies/emem-model.js +0 -93
  90. package/build/lib/case-studies/eshoppen-model.d.ts +0 -24
  91. package/build/lib/case-studies/eshoppen-model.js +0 -123
  92. package/build/lib/case-studies/index.d.ts +0 -4
  93. package/build/lib/case-studies/index.js +0 -21
  94. package/build/lib/case-studies/sci-accenture-model.d.ts +0 -10
  95. package/build/lib/case-studies/sci-accenture-model.js +0 -37
  96. package/build/lib/ccf/aws-embodied.json +0 -5591
  97. package/build/lib/ccf/aws-instances.json +0 -21116
  98. package/build/lib/ccf/aws-use.json +0 -79
  99. package/build/lib/ccf/azure-embodied.json +0 -6547
  100. package/build/lib/ccf/azure-instances.json +0 -8332
  101. package/build/lib/ccf/azure-use.json +0 -58
  102. package/build/lib/ccf/gcp-embodied.json +0 -3049
  103. package/build/lib/ccf/gcp-instances.json +0 -3880
  104. package/build/lib/ccf/gcp-use.json +0 -58
  105. package/build/lib/ccf/index.d.ts +0 -63
  106. package/build/lib/ccf/index.js +0 -338
  107. package/build/lib/cloud-instance-metadata/aws-instances.json +0 -1
  108. package/build/lib/cloud-instance-metadata/azure-instances.json +0 -1
  109. package/build/lib/cloud-instance-metadata/index.d.ts +0 -15
  110. package/build/lib/cloud-instance-metadata/index.js +0 -104
  111. package/build/lib/index.d.ts +0 -14
  112. package/build/lib/index.js +0 -32
  113. package/build/lib/interfaces/ccf.d.ts +0 -19
  114. package/build/lib/interfaces/ccf.js +0 -3
  115. package/build/lib/interfaces/index.d.ts +0 -7
  116. package/build/lib/interfaces/index.js +0 -18
  117. package/build/lib/sci/index.d.ts +0 -13
  118. package/build/lib/sci/index.js +0 -131
  119. package/build/lib/sci-e/index.d.ts +0 -38
  120. package/build/lib/sci-e/index.js +0 -85
  121. package/build/lib/sci-m/index.d.ts +0 -10
  122. package/build/lib/sci-m/index.js +0 -124
  123. package/build/lib/sci-o/index.d.ts +0 -17
  124. package/build/lib/sci-o/index.js +0 -52
  125. package/build/lib/shell-imp/index.d.ts +0 -32
  126. package/build/lib/shell-imp/index.js +0 -82
  127. package/build/lib/tdp-finder/index.d.ts +0 -19
  128. package/build/lib/tdp-finder/index.js +0 -98
  129. package/build/lib/teads-aws/aws-embodied.json +0 -1
  130. package/build/lib/teads-aws/aws-instances.json +0 -1
  131. package/build/lib/teads-aws/index.d.ts +0 -58
  132. package/build/lib/teads-aws/index.js +0 -208
  133. package/build/lib/teads-curve/index.d.ts +0 -52
  134. package/build/lib/teads-curve/index.js +0 -158
  135. package/build/lib/watt-time/index.d.ts +0 -18
  136. package/build/lib/watt-time/index.js +0 -204
  137. package/build/util/models-universe.js +0 -95
  138. package/build/util/observatory.js +0 -31
  139. package/build/util/supercomputer.js +0 -109
  140. package/docs/implementations/tdp-finder.md +0 -36
  141. package/examples/impls/test/complex-pipeline.yml +0 -67
  142. package/examples/impls/test/toto.yaml +0 -22
  143. package/tsconfig.tsbuildinfo +0 -1
  144. /package/build/{util → lib}/models-universe.d.ts +0 -0
  145. /package/build/{util → lib}/observatory.d.ts +0 -0
  146. /package/build/{util → lib}/supercomputer.d.ts +0 -0
@@ -1 +0,0 @@
1
- export {};
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const globals_1 = require("@jest/globals");
4
- const aveva_model_1 = require("../../../../lib/case-studies/aveva-model");
5
- globals_1.jest.setTimeout(30000);
6
- (0, globals_1.describe)('aveva:configure test', () => {
7
- (0, globals_1.test)('initialize with params', async () => {
8
- const outputModel = new aveva_model_1.EAvevaModel();
9
- (0, globals_1.expect)(outputModel.name).toBeUndefined();
10
- await outputModel.configure('test', {});
11
- (0, globals_1.expect)(outputModel.name).toBe('test');
12
- outputModel.authenticate({});
13
- (0, globals_1.expect)(outputModel.authParams).toStrictEqual({});
14
- (0, globals_1.expect)(outputModel.modelIdentifier()).toBe('aveva');
15
- await (0, globals_1.expect)(outputModel.execute([])).resolves.toStrictEqual([]);
16
- await (0, globals_1.expect)(outputModel.execute(undefined)).rejects.toThrowError();
17
- await (0, globals_1.expect)(outputModel.execute({})).rejects.toThrowError();
18
- await (0, globals_1.expect)(outputModel.execute([
19
- {
20
- pl: 16.009,
21
- pb: 11.335,
22
- time: 8322,
23
- timestamp: '2021-01-01T00:00:00Z',
24
- },
25
- ])).resolves.toStrictEqual([
26
- {
27
- 'energy-cpu': 38.897028,
28
- pl: 16.009,
29
- pb: 11.335,
30
- time: 8322,
31
- timestamp: '2021-01-01T00:00:00Z',
32
- },
33
- ]);
34
- });
35
- });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZldmEudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9fX3Rlc3RzX18vdW5pdC9saWIvY2FzZS1zdHVkaWVzL2F2ZXZhLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwyQ0FBMkQ7QUFDM0QsMEVBQXFFO0FBRXJFLGNBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFdkIsSUFBQSxrQkFBUSxFQUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRTtJQUNwQyxJQUFBLGNBQUksRUFBQyx3QkFBd0IsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN4QyxNQUFNLFdBQVcsR0FBRyxJQUFJLHlCQUFXLEVBQUUsQ0FBQztRQUN0QyxJQUFBLGdCQUFNLEVBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDeEMsSUFBQSxnQkFBTSxFQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEMsV0FBVyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3QixJQUFBLGdCQUFNLEVBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqRCxJQUFBLGdCQUFNLEVBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BELE1BQU0sSUFBQSxnQkFBTSxFQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sSUFBQSxnQkFBTSxFQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEUsTUFBTSxJQUFBLGdCQUFNLEVBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3RCxNQUFNLElBQUEsZ0JBQU0sRUFDVixXQUFXLENBQUMsT0FBTyxDQUFDO1lBQ2xCO2dCQUNFLEVBQUUsRUFBRSxNQUFNO2dCQUNWLEVBQUUsRUFBRSxNQUFNO2dCQUNWLElBQUksRUFBRSxJQUFJO2dCQUNWLFNBQVMsRUFBRSxzQkFBc0I7YUFDbEM7U0FDRixDQUFDLENBQ0gsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO1lBQ3ZCO2dCQUNFLFlBQVksRUFBRSxTQUFTO2dCQUN2QixFQUFFLEVBQUUsTUFBTTtnQkFDVixFQUFFLEVBQUUsTUFBTTtnQkFDVixJQUFJLEVBQUUsSUFBSTtnQkFDVixTQUFTLEVBQUUsc0JBQXNCO2FBQ2xDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGVzY3JpYmUsIGV4cGVjdCwgamVzdCwgdGVzdH0gZnJvbSAnQGplc3QvZ2xvYmFscyc7XG5pbXBvcnQge0VBdmV2YU1vZGVsfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvY2FzZS1zdHVkaWVzL2F2ZXZhLW1vZGVsJztcblxuamVzdC5zZXRUaW1lb3V0KDMwMDAwKTtcblxuZGVzY3JpYmUoJ2F2ZXZhOmNvbmZpZ3VyZSB0ZXN0JywgKCkgPT4ge1xuICB0ZXN0KCdpbml0aWFsaXplIHdpdGggcGFyYW1zJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG91dHB1dE1vZGVsID0gbmV3IEVBdmV2YU1vZGVsKCk7XG4gICAgZXhwZWN0KG91dHB1dE1vZGVsLm5hbWUpLnRvQmVVbmRlZmluZWQoKTtcbiAgICBhd2FpdCBvdXRwdXRNb2RlbC5jb25maWd1cmUoJ3Rlc3QnLCB7fSk7XG4gICAgZXhwZWN0KG91dHB1dE1vZGVsLm5hbWUpLnRvQmUoJ3Rlc3QnKTtcbiAgICBvdXRwdXRNb2RlbC5hdXRoZW50aWNhdGUoe30pO1xuICAgIGV4cGVjdChvdXRwdXRNb2RlbC5hdXRoUGFyYW1zKS50b1N0cmljdEVxdWFsKHt9KTtcbiAgICBleHBlY3Qob3V0cHV0TW9kZWwubW9kZWxJZGVudGlmaWVyKCkpLnRvQmUoJ2F2ZXZhJyk7XG4gICAgYXdhaXQgZXhwZWN0KG91dHB1dE1vZGVsLmV4ZWN1dGUoW10pKS5yZXNvbHZlcy50b1N0cmljdEVxdWFsKFtdKTtcbiAgICBhd2FpdCBleHBlY3Qob3V0cHV0TW9kZWwuZXhlY3V0ZSh1bmRlZmluZWQpKS5yZWplY3RzLnRvVGhyb3dFcnJvcigpO1xuICAgIGF3YWl0IGV4cGVjdChvdXRwdXRNb2RlbC5leGVjdXRlKHt9KSkucmVqZWN0cy50b1Rocm93RXJyb3IoKTtcbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICBvdXRwdXRNb2RlbC5leGVjdXRlKFtcbiAgICAgICAge1xuICAgICAgICAgIHBsOiAxNi4wMDksXG4gICAgICAgICAgcGI6IDExLjMzNSxcbiAgICAgICAgICB0aW1lOiA4MzIyLFxuICAgICAgICAgIHRpbWVzdGFtcDogJzIwMjEtMDEtMDFUMDA6MDA6MDBaJyxcbiAgICAgICAgfSxcbiAgICAgIF0pXG4gICAgKS5yZXNvbHZlcy50b1N0cmljdEVxdWFsKFtcbiAgICAgIHtcbiAgICAgICAgJ2VuZXJneS1jcHUnOiAzOC44OTcwMjgsXG4gICAgICAgIHBsOiAxNi4wMDksXG4gICAgICAgIHBiOiAxMS4zMzUsXG4gICAgICAgIHRpbWU6IDgzMjIsXG4gICAgICAgIHRpbWVzdGFtcDogJzIwMjEtMDEtMDFUMDA6MDA6MDBaJyxcbiAgICAgIH0sXG4gICAgXSk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -1 +0,0 @@
1
- export {};
@@ -1,108 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const globals_1 = require("@jest/globals");
4
- const emem_model_1 = require("../../../../lib/case-studies/emem-model");
5
- globals_1.jest.setTimeout(30000);
6
- (0, globals_1.describe)('emem:configure test', () => {
7
- (0, globals_1.test)('initialize with params', async () => {
8
- const outputModel = new emem_model_1.EMemModel();
9
- await (0, globals_1.expect)(outputModel.execute([
10
- {
11
- duration: 3600,
12
- 'mem-util': 50.0,
13
- timestamp: '2021-01-01T00:00:00Z',
14
- },
15
- ])).rejects.toThrowError();
16
- await outputModel.configure('test', {
17
- 'mem-alloc': 32,
18
- });
19
- await (0, globals_1.expect)(outputModel.execute([
20
- {
21
- duration: 3600,
22
- 'mem-util': 50.0,
23
- timestamp: '2021-01-01T00:00:00Z',
24
- },
25
- ])).rejects.toThrowError();
26
- await outputModel.configure('test', {
27
- 'mem-alloc': 32,
28
- 'mem-energy': 0.38,
29
- });
30
- await (0, globals_1.expect)(outputModel.execute([
31
- {
32
- duration: 3600,
33
- 'mem-util': 150.0,
34
- timestamp: '2021-01-01T00:00:00Z',
35
- },
36
- ])).rejects.toThrowError();
37
- outputModel.authenticate({});
38
- await (0, globals_1.expect)(outputModel.authParams).toStrictEqual({});
39
- await outputModel.configure('test', {
40
- 'mem-alloc': 32,
41
- 'mem-energy': 0.38,
42
- });
43
- await (0, globals_1.expect)(outputModel.name).toBe('test');
44
- await (0, globals_1.expect)(outputModel.configure('test')).rejects.toThrow();
45
- await (0, globals_1.expect)(outputModel.execute(undefined)).rejects.toThrow();
46
- await (0, globals_1.expect)(outputModel.execute({})).rejects.toThrow();
47
- (0, globals_1.expect)(outputModel.modelIdentifier()).toBe('energy-memory');
48
- await (0, globals_1.expect)(outputModel.execute([{ timestamp: 'test' }])).rejects.toThrow();
49
- await (0, globals_1.expect)(outputModel.execute([
50
- {
51
- duration: 3600,
52
- 'mem-util': 50.0,
53
- timestamp: '2021-01-01T00:00:00Z',
54
- },
55
- ])).resolves.toStrictEqual([
56
- {
57
- 'energy-memory': 0.00608,
58
- duration: 3600,
59
- 'mem-util': 50.0,
60
- timestamp: '2021-01-01T00:00:00Z',
61
- },
62
- ]);
63
- });
64
- (0, globals_1.test)('initialize with params', async () => {
65
- const outputModel = new emem_model_1.EMemModel();
66
- await outputModel.configure('test', {
67
- 'mem-alloc': 32,
68
- 'mem-energy': 0.38,
69
- });
70
- await (0, globals_1.expect)(outputModel.execute([
71
- {
72
- duration: 3600,
73
- 'mem-util': 10.0,
74
- timestamp: '2021-01-01T00:00:00Z',
75
- },
76
- {
77
- duration: 3600,
78
- 'mem-util': 50.0,
79
- timestamp: '2021-01-01T00:00:00Z',
80
- },
81
- {
82
- duration: 3600,
83
- 'mem-util': 90.0,
84
- timestamp: '2021-01-01T00:00:00Z',
85
- },
86
- ])).resolves.toStrictEqual([
87
- {
88
- 'energy-memory': 0.0012160000000000003,
89
- duration: 3600,
90
- 'mem-util': 10.0,
91
- timestamp: '2021-01-01T00:00:00Z',
92
- },
93
- {
94
- 'energy-memory': 0.00608,
95
- duration: 3600,
96
- 'mem-util': 50.0,
97
- timestamp: '2021-01-01T00:00:00Z',
98
- },
99
- {
100
- 'energy-memory': 0.010944,
101
- duration: 3600,
102
- 'mem-util': 90.0,
103
- timestamp: '2021-01-01T00:00:00Z',
104
- },
105
- ]);
106
- });
107
- });
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1lbS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL19fdGVzdHNfXy91bml0L2xpYi9jYXNlLXN0dWRpZXMvZW1lbS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMkNBQTJEO0FBQzNELHdFQUFrRTtBQUVsRSxjQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRXZCLElBQUEsa0JBQVEsRUFBQyxxQkFBcUIsRUFBRSxHQUFHLEVBQUU7SUFDbkMsSUFBQSxjQUFJLEVBQUMsd0JBQXdCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDeEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxzQkFBUyxFQUFFLENBQUM7UUFDcEMsTUFBTSxJQUFBLGdCQUFNLEVBQ1YsV0FBVyxDQUFDLE9BQU8sQ0FBQztZQUNsQjtnQkFDRSxRQUFRLEVBQUUsSUFBSTtnQkFDZCxVQUFVLEVBQUUsSUFBSTtnQkFDaEIsU0FBUyxFQUFFLHNCQUFzQjthQUNsQztTQUNGLENBQUMsQ0FDSCxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QixNQUFNLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO1lBQ2xDLFdBQVcsRUFBRSxFQUFFO1NBQ2hCLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBQSxnQkFBTSxFQUNWLFdBQVcsQ0FBQyxPQUFPLENBQUM7WUFDbEI7Z0JBQ0UsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLFNBQVMsRUFBRSxzQkFBc0I7YUFDbEM7U0FDRixDQUFDLENBQ0gsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekIsTUFBTSxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtZQUNsQyxXQUFXLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRSxJQUFJO1NBQ25CLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBQSxnQkFBTSxFQUNWLFdBQVcs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QkFBc0I7YUFDbEM7WUFDRDtnQkFDRSxlQUFlLEVBQUUsT0FBTztnQkFDeEIsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLFNBQVMsRUFBRSxzQkFBc0I7YUFDbEM7WUFDRDtnQkFDRSxlQUFlLEVBQUUsUUFBUTtnQkFDekIsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLFNBQVMsRUFBRSxzQkFBc0I7YUFDbEM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkZXNjcmliZSwgZXhwZWN0LCBqZXN0LCB0ZXN0fSBmcm9tICdAamVzdC9nbG9iYWxzJztcbmltcG9ydCB7RU1lbU1vZGVsfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvY2FzZS1zdHVkaWVzL2VtZW0tbW9kZWwnO1xuXG5qZXN0LnNldFRpbWVvdXQoMzAwMDApO1xuXG5kZXNjcmliZSgnZW1lbTpjb25maWd1cmUgdGVzdCcsICgpID0+IHtcbiAgdGVzdCgnaW5pdGlhbGl6ZSB3aXRoIHBhcmFtcycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBvdXRwdXRNb2RlbCA9IG5ldyBFTWVtTW9kZWwoKTtcbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICBvdXRwdXRNb2RlbC5leGVjdXRlKFtcbiAgICAgICAge1xuICAgICAgICAgIGR1cmF0aW9uOiAzNjAwLFxuICAgICAgICAgICdtZW0tdXRpbCc6IDUwLjAsXG4gICAgICAgICAgdGltZXN0YW1wOiAnMjAyMS0wMS0wMVQwMDowMDowMFonLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApLnJlamVjdHMudG9UaHJvd0Vycm9yKCk7XG4gICAgYXdhaXQgb3V0cHV0TW9kZWwuY29uZmlndXJlKCd0ZXN0Jywge1xuICAgICAgJ21lbS1hbGxvYyc6IDMyLFxuICAgIH0pO1xuICAgIGF3YWl0IGV4cGVjdChcbiAgICAgIG91dHB1dE1vZGVsLmV4ZWN1dGUoW1xuICAgICAgICB7XG4gICAgICAgICAgZHVyYXRpb246IDM2MDAsXG4gICAgICAgICAgJ21lbS11dGlsJzogNTAuMCxcbiAgICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICAgIH0sXG4gICAgICBdKVxuICAgICkucmVqZWN0cy50b1Rocm93RXJyb3IoKTtcbiAgICBhd2FpdCBvdXRwdXRNb2RlbC5jb25maWd1cmUoJ3Rlc3QnLCB7XG4gICAgICAnbWVtLWFsbG9jJzogMzIsXG4gICAgICAnbWVtLWVuZXJneSc6IDAuMzgsXG4gICAgfSk7XG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgb3V0cHV0TW9kZWwuZXhlY3V0ZShbXG4gICAgICAgIHtcbiAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAnbWVtLXV0aWwnOiAxNTAuMCxcbiAgICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICAgIH0sXG4gICAgICBdKVxuICAgICkucmVqZWN0cy50b1Rocm93RXJyb3IoKTtcbiAgICBvdXRwdXRNb2RlbC5hdXRoZW50aWNhdGUoe30pO1xuICAgIGF3YWl0IGV4cGVjdChvdXRwdXRNb2RlbC5hdXRoUGFyYW1zKS50b1N0cmljdEVxdWFsKHt9KTtcbiAgICBhd2FpdCBvdXRwdXRNb2RlbC5jb25maWd1cmUoJ3Rlc3QnLCB7XG4gICAgICAnbWVtLWFsbG9jJzogMzIsXG4gICAgICAnbWVtLWVuZXJneSc6IDAuMzgsXG4gICAgfSk7XG4gICAgYXdhaXQgZXhwZWN0KG91dHB1dE1vZGVsLm5hbWUpLnRvQmUoJ3Rlc3QnKTtcbiAgICBhd2FpdCBleHBlY3Qob3V0cHV0TW9kZWwuY29uZmlndXJlKCd0ZXN0JykpLnJlamVjdHMudG9UaHJvdygpO1xuICAgIGF3YWl0IGV4cGVjdChvdXRwdXRNb2RlbC5leGVjdXRlKHVuZGVmaW5lZCkpLnJlamVjdHMudG9UaHJvdygpO1xuICAgIGF3YWl0IGV4cGVjdChvdXRwdXRNb2RlbC5leGVjdXRlKHt9KSkucmVqZWN0cy50b1Rocm93KCk7XG4gICAgZXhwZWN0KG91dHB1dE1vZGVsLm1vZGVsSWRlbnRpZmllcigpKS50b0JlKCdlbmVyZ3ktbWVtb3J5Jyk7XG4gICAgYXdhaXQgZXhwZWN0KG91dHB1dE1vZGVsLmV4ZWN1dGUoW3t0aW1lc3RhbXA6ICd0ZXN0J31dKSkucmVqZWN0cy50b1Rocm93KCk7XG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgb3V0cHV0TW9kZWwuZXhlY3V0ZShbXG4gICAgICAgIHtcbiAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAnbWVtLXV0aWwnOiA1MC4wLFxuICAgICAgICAgIHRpbWVzdGFtcDogJzIwMjEtMDEtMDFUMDA6MDA6MDBaJyxcbiAgICAgICAgfSxcbiAgICAgIF0pXG4gICAgKS5yZXNvbHZlcy50b1N0cmljdEVxdWFsKFtcbiAgICAgIHtcbiAgICAgICAgJ2VuZXJneS1tZW1vcnknOiAwLjAwNjA4LFxuICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgJ21lbS11dGlsJzogNTAuMCxcbiAgICAgICAgdGltZXN0YW1wOiAnMjAyMS0wMS0wMVQwMDowMDowMFonLFxuICAgICAgfSxcbiAgICBdKTtcbiAgfSk7XG4gIHRlc3QoJ2luaXRpYWxpemUgd2l0aCBwYXJhbXMnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3V0cHV0TW9kZWwgPSBuZXcgRU1lbU1vZGVsKCk7XG4gICAgYXdhaXQgb3V0cHV0TW9kZWwuY29uZmlndXJlKCd0ZXN0Jywge1xuICAgICAgJ21lbS1hbGxvYyc6IDMyLFxuICAgICAgJ21lbS1lbmVyZ3knOiAwLjM4LFxuICAgIH0pO1xuICAgIGF3YWl0IGV4cGVjdChcbiAgICAgIG91dHB1dE1vZGVsLmV4ZWN1dGUoW1xuICAgICAgICB7XG4gICAgICAgICAgZHVyYXRpb246IDM2MDAsXG4gICAgICAgICAgJ21lbS11dGlsJzogMTAuMCxcbiAgICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAnbWVtLXV0aWwnOiA1MC4wLFxuICAgICAgICAgIHRpbWVzdGFtcDogJzIwMjEtMDEtMDFUMDA6MDA6MDBaJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGR1cmF0aW9uOiAzNjAwLFxuICAgICAgICAgICdtZW0tdXRpbCc6IDkwLjAsXG4gICAgICAgICAgdGltZXN0YW1wOiAnMjAyMS0wMS0wMVQwMDowMDowMFonLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApLnJlc29sdmVzLnRvU3RyaWN0RXF1YWwoW1xuICAgICAge1xuICAgICAgICAnZW5lcmd5LW1lbW9yeSc6IDAuMDAxMjE2MDAwMDAwMDAwMDAwMyxcbiAgICAgICAgZHVyYXRpb246IDM2MDAsXG4gICAgICAgICdtZW0tdXRpbCc6IDEwLjAsXG4gICAgICAgIHRpbWVzdGFtcDogJzIwMjEtMDEtMDFUMDA6MDA6MDBaJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgICdlbmVyZ3ktbWVtb3J5JzogMC4wMDYwOCxcbiAgICAgICAgZHVyYXRpb246IDM2MDAsXG4gICAgICAgICdtZW0tdXRpbCc6IDUwLjAsXG4gICAgICAgIHRpbWVzdGFtcDogJzIwMjEtMDEtMDFUMDA6MDA6MDBaJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgICdlbmVyZ3ktbWVtb3J5JzogMC4wMTA5NDQsXG4gICAgICAgIGR1cmF0aW9uOiAzNjAwLFxuICAgICAgICAnbWVtLXV0aWwnOiA5MC4wLFxuICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICB9LFxuICAgIF0pO1xuICB9KTtcbn0pO1xuIl19
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const globals_1 = require("@jest/globals");
4
- const eshoppen_model_1 = require("../../../../lib/case-studies/eshoppen-model");
5
- globals_1.jest.setTimeout(30000);
6
- (0, globals_1.describe)('eshoppen:configure test', () => {
7
- (0, globals_1.test)('initialize and test', async () => {
8
- const model = await new eshoppen_model_1.EshoppenModel().configure('eshoppen', {
9
- type: 'energy-cpu',
10
- });
11
- (0, globals_1.expect)(model).toBeInstanceOf(eshoppen_model_1.EshoppenModel);
12
- await (0, globals_1.expect)(model.execute([
13
- {
14
- 'n-hours': 1,
15
- 'n-chips': 1,
16
- 'thermal-design-power': 120,
17
- 'tdp-coeff': 1.02,
18
- },
19
- ])).resolves.toStrictEqual([
20
- {
21
- 'energy-cpu': 0.12240000000000001,
22
- 'n-hours': 1,
23
- 'n-chips': 1,
24
- 'thermal-design-power': 120,
25
- 'tdp-coeff': 1.02,
26
- },
27
- ]);
28
- await (0, globals_1.expect)(model.execute([{}])).rejects.toThrowError();
29
- await (0, globals_1.expect)(model.execute({})).rejects.toThrowError();
30
- (0, globals_1.expect)(model.authenticate({ test: 'test' })).toBe(undefined);
31
- const model2 = await new eshoppen_model_1.EshoppenMemModel().configure('eshoppen', {
32
- type: 'energy-memory',
33
- });
34
- (0, globals_1.expect)(model2).toBeInstanceOf(eshoppen_model_1.EshoppenMemModel);
35
- await (0, globals_1.expect)(model2.execute([
36
- {
37
- 'n-hours': 1,
38
- 'n-chips': 1,
39
- 'tdp-mem': 1,
40
- 'tdp-coeff': 1,
41
- },
42
- ])).resolves.toStrictEqual([
43
- {
44
- 'energy-memory': 0.001,
45
- 'n-chips': 1,
46
- 'n-hours': 1,
47
- 'tdp-coeff': 1,
48
- 'tdp-mem': 1,
49
- },
50
- ]);
51
- });
52
- });
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNob3BwZW4udGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9fX3Rlc3RzX18vdW5pdC9saWIvY2FzZS1zdHVkaWVzL2VzaG9wcGVuLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwyQ0FBMkQ7QUFDM0QsZ0ZBR3FEO0FBRXJELGNBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFdkIsSUFBQSxrQkFBUSxFQUFDLHlCQUF5QixFQUFFLEdBQUcsRUFBRTtJQUN2QyxJQUFBLGNBQUksRUFBQyxxQkFBcUIsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNyQyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksOEJBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUU7WUFDNUQsSUFBSSxFQUFFLFlBQVk7U0FDbkIsQ0FBQyxDQUFDO1FBQ0gsSUFBQSxnQkFBTSxFQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyw4QkFBYSxDQUFDLENBQUM7UUFDNUMsTUFBTSxJQUFBLGdCQUFNLEVBQ1YsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNaO2dCQUNFLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFNBQVMsRUFBRSxDQUFDO2dCQUNaLHNCQUFzQixFQUFFLEdBQUc7Z0JBQzNCLFdBQVcsRUFBRSxJQUFJO2FBQ2xCO1NBQ0YsQ0FBQyxDQUNILENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQztZQUN2QjtnQkFDRSxZQUFZLEVBQUUsbUJBQW1CO2dCQUNqQyxTQUFTLEVBQUUsQ0FBQztnQkFDWixTQUFTLEVBQUUsQ0FBQztnQkFDWixzQkFBc0IsRUFBRSxHQUFHO2dCQUMzQixXQUFXLEVBQUUsSUFBSTthQUNsQjtTQUNGLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBQSxnQkFBTSxFQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pELE1BQU0sSUFBQSxnQkFBTSxFQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdkQsSUFBQSxnQkFBTSxFQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUzRCxNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksaUNBQWdCLEVBQUUsQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFO1lBQ2hFLElBQUksRUFBRSxlQUFlO1NBQ3RCLENBQUMsQ0FBQztRQUNILElBQUEsZ0JBQU0sRUFBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLENBQUMsaUNBQWdCLENBQUMsQ0FBQztRQUNoRCxNQUFNLElBQUEsZ0JBQU0sRUFDVixNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ2I7Z0JBQ0UsU0FBUyxFQUFFLENBQUM7Z0JBQ1osU0FBUyxFQUFFLENBQUM7Z0JBQ1osU0FBUyxFQUFFLENBQUM7Z0JBQ1osV0FBVyxFQUFFLENBQUM7YUFDZjtTQUNGLENBQUMsQ0FDSCxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDdkI7Z0JBQ0UsZUFBZSxFQUFFLEtBQUs7Z0JBQ3RCLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFNBQVMsRUFBRSxDQUFDO2dCQUNaLFdBQVcsRUFBRSxDQUFDO2dCQUNkLFNBQVMsRUFBRSxDQUFDO2FBQ2I7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkZXNjcmliZSwgZXhwZWN0LCBqZXN0LCB0ZXN0fSBmcm9tICdAamVzdC9nbG9iYWxzJztcbmltcG9ydCB7XG4gIEVzaG9wcGVuTWVtTW9kZWwsXG4gIEVzaG9wcGVuTW9kZWwsXG59IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9jYXNlLXN0dWRpZXMvZXNob3BwZW4tbW9kZWwnO1xuXG5qZXN0LnNldFRpbWVvdXQoMzAwMDApO1xuXG5kZXNjcmliZSgnZXNob3BwZW46Y29uZmlndXJlIHRlc3QnLCAoKSA9PiB7XG4gIHRlc3QoJ2luaXRpYWxpemUgYW5kIHRlc3QnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbW9kZWwgPSBhd2FpdCBuZXcgRXNob3BwZW5Nb2RlbCgpLmNvbmZpZ3VyZSgnZXNob3BwZW4nLCB7XG4gICAgICB0eXBlOiAnZW5lcmd5LWNwdScsXG4gICAgfSk7XG4gICAgZXhwZWN0KG1vZGVsKS50b0JlSW5zdGFuY2VPZihFc2hvcHBlbk1vZGVsKTtcbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICBtb2RlbC5leGVjdXRlKFtcbiAgICAgICAge1xuICAgICAgICAgICduLWhvdXJzJzogMSxcbiAgICAgICAgICAnbi1jaGlwcyc6IDEsXG4gICAgICAgICAgJ3RoZXJtYWwtZGVzaWduLXBvd2VyJzogMTIwLFxuICAgICAgICAgICd0ZHAtY29lZmYnOiAxLjAyLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApLnJlc29sdmVzLnRvU3RyaWN0RXF1YWwoW1xuICAgICAge1xuICAgICAgICAnZW5lcmd5LWNwdSc6IDAuMTIyNDAwMDAwMDAwMDAwMDEsXG4gICAgICAgICduLWhvdXJzJzogMSxcbiAgICAgICAgJ24tY2hpcHMnOiAxLFxuICAgICAgICAndGhlcm1hbC1kZXNpZ24tcG93ZXInOiAxMjAsXG4gICAgICAgICd0ZHAtY29lZmYnOiAxLjAyLFxuICAgICAgfSxcbiAgICBdKTtcbiAgICBhd2FpdCBleHBlY3QobW9kZWwuZXhlY3V0ZShbe31dKSkucmVqZWN0cy50b1Rocm93RXJyb3IoKTtcbiAgICBhd2FpdCBleHBlY3QobW9kZWwuZXhlY3V0ZSh7fSkpLnJlamVjdHMudG9UaHJvd0Vycm9yKCk7XG4gICAgZXhwZWN0KG1vZGVsLmF1dGhlbnRpY2F0ZSh7dGVzdDogJ3Rlc3QnfSkpLnRvQmUodW5kZWZpbmVkKTtcblxuICAgIGNvbnN0IG1vZGVsMiA9IGF3YWl0IG5ldyBFc2hvcHBlbk1lbU1vZGVsKCkuY29uZmlndXJlKCdlc2hvcHBlbicsIHtcbiAgICAgIHR5cGU6ICdlbmVyZ3ktbWVtb3J5JyxcbiAgICB9KTtcbiAgICBleHBlY3QobW9kZWwyKS50b0JlSW5zdGFuY2VPZihFc2hvcHBlbk1lbU1vZGVsKTtcbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICBtb2RlbDIuZXhlY3V0ZShbXG4gICAgICAgIHtcbiAgICAgICAgICAnbi1ob3Vycyc6IDEsXG4gICAgICAgICAgJ24tY2hpcHMnOiAxLFxuICAgICAgICAgICd0ZHAtbWVtJzogMSxcbiAgICAgICAgICAndGRwLWNvZWZmJzogMSxcbiAgICAgICAgfSxcbiAgICAgIF0pXG4gICAgKS5yZXNvbHZlcy50b1N0cmljdEVxdWFsKFtcbiAgICAgIHtcbiAgICAgICAgJ2VuZXJneS1tZW1vcnknOiAwLjAwMSxcbiAgICAgICAgJ24tY2hpcHMnOiAxLFxuICAgICAgICAnbi1ob3Vycyc6IDEsXG4gICAgICAgICd0ZHAtY29lZmYnOiAxLFxuICAgICAgICAndGRwLW1lbSc6IDEsXG4gICAgICB9LFxuICAgIF0pO1xuICB9KTtcbn0pO1xuIl19
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const globals_1 = require("@jest/globals");
4
- const sci_accenture_model_1 = require("../../../../lib/case-studies/sci-accenture-model");
5
- globals_1.jest.setTimeout(30000);
6
- (0, globals_1.describe)('accenture:configure test', () => {
7
- (0, globals_1.test)('initialize and test', async () => {
8
- const model = await new sci_accenture_model_1.SciAccentureModel().configure('sci-accenture', {});
9
- (0, globals_1.expect)(model).toBeInstanceOf(sci_accenture_model_1.SciAccentureModel);
10
- await (0, globals_1.expect)(model.execute([
11
- {
12
- sci: 1,
13
- },
14
- ])).resolves.toStrictEqual([
15
- {
16
- sci: 1,
17
- sci_total: 1.05,
18
- },
19
- ]);
20
- await (0, globals_1.expect)(model.execute([{}])).rejects.toThrowError();
21
- });
22
- });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NpLWFjY2VudHVyZS50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL19fdGVzdHNfXy91bml0L2xpYi9jYXNlLXN0dWRpZXMvc2NpLWFjY2VudHVyZS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMkNBQTJEO0FBQzNELDBGQUFtRjtBQUVuRixjQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRXZCLElBQUEsa0JBQVEsRUFBQywwQkFBMEIsRUFBRSxHQUFHLEVBQUU7SUFDeEMsSUFBQSxjQUFJLEVBQUMscUJBQXFCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDckMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLHVDQUFpQixFQUFFLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzRSxJQUFBLGdCQUFNLEVBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLHVDQUFpQixDQUFDLENBQUM7UUFDaEQsTUFBTSxJQUFBLGdCQUFNLEVBQ1YsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNaO2dCQUNFLEdBQUcsRUFBRSxDQUFDO2FBQ1A7U0FDRixDQUFDLENBQ0gsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO1lBQ3ZCO2dCQUNFLEdBQUcsRUFBRSxDQUFDO2dCQUNOLFNBQVMsRUFBRSxJQUFJO2FBQ2hCO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxJQUFBLGdCQUFNLEVBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDM0QsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGVzY3JpYmUsIGV4cGVjdCwgamVzdCwgdGVzdH0gZnJvbSAnQGplc3QvZ2xvYmFscyc7XG5pbXBvcnQge1NjaUFjY2VudHVyZU1vZGVsfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvY2FzZS1zdHVkaWVzL3NjaS1hY2NlbnR1cmUtbW9kZWwnO1xuXG5qZXN0LnNldFRpbWVvdXQoMzAwMDApO1xuXG5kZXNjcmliZSgnYWNjZW50dXJlOmNvbmZpZ3VyZSB0ZXN0JywgKCkgPT4ge1xuICB0ZXN0KCdpbml0aWFsaXplIGFuZCB0ZXN0JywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG1vZGVsID0gYXdhaXQgbmV3IFNjaUFjY2VudHVyZU1vZGVsKCkuY29uZmlndXJlKCdzY2ktYWNjZW50dXJlJywge30pO1xuICAgIGV4cGVjdChtb2RlbCkudG9CZUluc3RhbmNlT2YoU2NpQWNjZW50dXJlTW9kZWwpO1xuICAgIGF3YWl0IGV4cGVjdChcbiAgICAgIG1vZGVsLmV4ZWN1dGUoW1xuICAgICAgICB7XG4gICAgICAgICAgc2NpOiAxLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApLnJlc29sdmVzLnRvU3RyaWN0RXF1YWwoW1xuICAgICAge1xuICAgICAgICBzY2k6IDEsXG4gICAgICAgIHNjaV90b3RhbDogMS4wNSxcbiAgICAgIH0sXG4gICAgXSk7XG4gICAgYXdhaXQgZXhwZWN0KG1vZGVsLmV4ZWN1dGUoW3t9XSkpLnJlamVjdHMudG9UaHJvd0Vycm9yKCk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -1 +0,0 @@
1
- export {};
@@ -1,223 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const globals_1 = require("@jest/globals");
4
- const index_1 = require("../../../../lib/ccf/index");
5
- globals_1.jest.setTimeout(30000);
6
- (0, globals_1.describe)('ccf:configure test', () => {
7
- (0, globals_1.test)('initialize with params', async () => {
8
- const outputModel = new index_1.CloudCarbonFootprint();
9
- await (0, globals_1.expect)(outputModel.configure('test', {
10
- vendor: 'aws2',
11
- 'instance-type': 't2.micro',
12
- })).rejects.toThrowError();
13
- (0, globals_1.expect)(outputModel.resolveAwsArchitecture('Graviton')).toStrictEqual('Graviton');
14
- try {
15
- outputModel.resolveAwsArchitecture('Gra2');
16
- }
17
- catch (e) {
18
- (0, globals_1.expect)(e.message).toBe('Gra2 not supported');
19
- }
20
- await outputModel.configure('test', {
21
- vendor: 'aws',
22
- 'instance-type': 't2.micro',
23
- });
24
- await (0, globals_1.expect)(outputModel.execute([
25
- { duration: 3600, 'cpu-util': 50, timestamp: '2021-01-01T00:00:00Z' },
26
- ])).resolves.toStrictEqual([
27
- {
28
- duration: 3600,
29
- 'cpu-util': 50,
30
- timestamp: '2021-01-01T00:00:00Z',
31
- energy: 0.0023031270462730543,
32
- 'embodied-carbon': 0.04216723744292237 * 1000,
33
- },
34
- ]);
35
- await outputModel.configure('test', {
36
- vendor: 'aws',
37
- interpolation: 'spline',
38
- 'instance-type': 't2.micro',
39
- });
40
- await (0, globals_1.expect)(outputModel.execute([
41
- { duration: 3600, 'cpu-util': 50, timestamp: '2021-01-01T00:00:00Z' },
42
- ])).resolves.toStrictEqual([
43
- {
44
- 'cpu-util': 50,
45
- timestamp: '2021-01-01T00:00:00Z',
46
- duration: 3600,
47
- 'embodied-carbon': 42.16723744292237,
48
- energy: 0.004900000000000001,
49
- },
50
- ]);
51
- await (0, globals_1.expect)(outputModel.execute(undefined)).rejects.toThrowError();
52
- await (0, globals_1.expect)(outputModel.execute({})).rejects.toThrowError();
53
- });
54
- (0, globals_1.test)('initialize with params:aws', async () => {
55
- const outputModel = new index_1.CloudCarbonFootprint();
56
- await outputModel.configure('test', {
57
- vendor: 'aws',
58
- 'instance-type': 'm5n.large',
59
- });
60
- await (0, globals_1.expect)(outputModel.execute([
61
- {
62
- duration: 3600,
63
- 'cpu-util': 10,
64
- timestamp: '2021-01-01T00:00:00Z',
65
- },
66
- {
67
- duration: 3600,
68
- 'cpu-util': 50,
69
- timestamp: '2021-01-01T00:00:00Z',
70
- },
71
- {
72
- duration: 3600,
73
- 'cpu-util': 100,
74
- timestamp: '2021-01-01T00:00:00Z',
75
- },
76
- ])).resolves.toStrictEqual([
77
- {
78
- duration: 3600,
79
- 'cpu-util': 10,
80
- timestamp: '2021-01-01T00:00:00Z',
81
- energy: 0.0019435697915529846,
82
- 'embodied-carbon': 91.94006849315068,
83
- },
84
- {
85
- duration: 3600,
86
- 'cpu-util': 50,
87
- timestamp: '2021-01-01T00:00:00Z',
88
- energy: 0.0046062540925461085,
89
- 'embodied-carbon': 91.94006849315068,
90
- },
91
- {
92
- duration: 3600,
93
- 'cpu-util': 100,
94
- timestamp: '2021-01-01T00:00:00Z',
95
- energy: 0.007934609468787513,
96
- 'embodied-carbon': 91.94006849315068,
97
- },
98
- ]);
99
- });
100
- (0, globals_1.test)('initialize with params:azure', async () => {
101
- const outputModel = new index_1.CloudCarbonFootprint();
102
- await outputModel.configure('test', {
103
- vendor: 'azure',
104
- 'instance-type': 'D2 v4',
105
- });
106
- await (0, globals_1.expect)(outputModel.execute([
107
- {
108
- duration: 3600,
109
- 'cpu-util': 10,
110
- timestamp: '2021-01-01T00:00:00Z',
111
- },
112
- {
113
- duration: 3600,
114
- 'cpu-util': 50,
115
- timestamp: '2021-01-01T00:00:00Z',
116
- },
117
- {
118
- duration: 3600,
119
- 'cpu-util': 100,
120
- timestamp: '2021-01-01T00:00:00Z',
121
- },
122
- ])).resolves.toStrictEqual([
123
- {
124
- duration: 3600,
125
- 'cpu-util': 10,
126
- timestamp: '2021-01-01T00:00:00Z',
127
- energy: 0.0019435697915529846,
128
- 'embodied-carbon': 0.08179908675799086 * 1000,
129
- },
130
- {
131
- duration: 3600,
132
- 'cpu-util': 50,
133
- timestamp: '2021-01-01T00:00:00Z',
134
- energy: 0.0046062540925461085,
135
- 'embodied-carbon': 0.08179908675799086 * 1000,
136
- },
137
- {
138
- duration: 3600,
139
- 'cpu-util': 100,
140
- timestamp: '2021-01-01T00:00:00Z',
141
- energy: 0.007934609468787513,
142
- 'embodied-carbon': 0.08179908675799086 * 1000,
143
- },
144
- ]);
145
- });
146
- (0, globals_1.test)('initialize with params:gcp', async () => {
147
- const outputModel = new index_1.CloudCarbonFootprint();
148
- await outputModel.configure('test', {
149
- vendor: 'gcp',
150
- 'instance-type': 'n2-standard-2',
151
- });
152
- await (0, globals_1.expect)(outputModel.execute([
153
- {
154
- duration: 3600,
155
- 'cpu-util': 10,
156
- timestamp: '2021-01-01T00:00:00Z',
157
- },
158
- {
159
- duration: 3600,
160
- 'cpu-util': 50,
161
- timestamp: '2021-01-01T00:00:00Z',
162
- },
163
- {
164
- duration: 3600,
165
- 'cpu-util': 100,
166
- timestamp: '2021-01-01T00:00:00Z',
167
- },
168
- ])).resolves.toStrictEqual([
169
- {
170
- duration: 3600,
171
- 'cpu-util': 10,
172
- timestamp: '2021-01-01T00:00:00Z',
173
- energy: 0.0018785992503765141,
174
- 'embodied-carbon': 0.10778881278538813 * 1000,
175
- },
176
- {
177
- duration: 3600,
178
- 'cpu-util': 50,
179
- timestamp: '2021-01-01T00:00:00Z',
180
- energy: 0.004281401386663755,
181
- 'embodied-carbon': 0.10778881278538813 * 1000,
182
- },
183
- {
184
- duration: 3600,
185
- 'cpu-util': 100,
186
- timestamp: '2021-01-01T00:00:00Z',
187
- energy: 0.0072849040570228075,
188
- 'embodied-carbon': 0.10778881278538813 * 1000,
189
- },
190
- ]);
191
- });
192
- (0, globals_1.test)('initialize with wrong params', async () => {
193
- const outputModel = new index_1.CloudCarbonFootprint();
194
- await (0, globals_1.expect)(outputModel.configure('test', {
195
- vendor: 'aws',
196
- 'instance-type': 't5.micro',
197
- })).rejects.toThrowError();
198
- await (0, globals_1.expect)(outputModel.execute([
199
- { duration: 3600, 'cpu-util': 50, timestamp: '2021-01-01T00:00:00Z' },
200
- ])).rejects.toThrowError();
201
- });
202
- (0, globals_1.test)('initialize with wrong params', async () => {
203
- const outputModel = new index_1.CloudCarbonFootprint();
204
- await (0, globals_1.expect)(outputModel.configure('test', {
205
- vendor: 'aws2',
206
- 'instance-type': 't2.micro',
207
- })).rejects.toThrowError();
208
- await (0, globals_1.expect)(outputModel.execute([
209
- { duration: 3600, 'cpu-util': 50, timestamp: '2021-01-01T00:00:00Z' },
210
- ])).rejects.toThrowError();
211
- });
212
- (0, globals_1.test)('initialize with correct params but wrong input', async () => {
213
- const outputModel = new index_1.CloudCarbonFootprint();
214
- await (0, globals_1.expect)(outputModel.configure('test', {
215
- vendor: 'aws',
216
- 'instance-type': 't2.micro',
217
- })).resolves.toBeInstanceOf(index_1.CloudCarbonFootprint);
218
- await (0, globals_1.expect)(outputModel.execute([
219
- { duration: 3600, cpus: 1, timestamp: '2021-01-01T00:00:00Z' },
220
- ])).rejects.toThrowError();
221
- });
222
- });
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9fX3Rlc3RzX18vdW5pdC9saWIvY2NmL2luZGV4LnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwyQ0FBMkQ7QUFDM0QscURBQStEO0FBRS9ELGNBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7QUFFdkIsSUFBQSxrQkFBUSxFQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRTtJQUNsQyxJQUFBLGNBQUksRUFBQyx3QkFBd0IsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN4QyxNQUFNLFdBQVcsR0FBRyxJQUFJLDRCQUFvQixFQUFFLENBQUM7UUFFL0MsTUFBTSxJQUFBLGdCQUFNLEVBQ1YsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUU7WUFDNUIsTUFBTSxFQUFFLE1BQU07WUFDZCxlQUFlLEVBQUUsVUFBVTtTQUM1QixDQUFDLENBQ0gsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekIsSUFBQSxnQkFBTSxFQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FDbEUsVUFBVSxDQUNYLENBQUM7UUFDRixJQUFJO1lBQ0YsV0FBVyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQzVDO1FBQUMsT0FBTyxDQUFNLEVBQUU7WUFDZixJQUFBLGdCQUFNLEVBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsTUFBTSxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtZQUNsQyxNQUFNLEVBQUUsS0FBSztZQUNiLGVBQWUsRUFBRSxVQUFVO1NBQzVCLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBQSxnQkFBTSxFQUNWLFdBQVcsQ0FBQyxPQUFPLENBQUM7WUFDbEIsRUFBQyxRQUFRLEVB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QUFDO0lBQzNCLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBQSxjQUFJLEVBQUMsZ0RBQWdELEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDaEUsTUFBTSxXQUFXLEdBQUcsSUFBSSw0QkFBb0IsRUFBRSxDQUFDO1FBQy9DLE1BQU0sSUFBQSxnQkFBTSxFQUNWLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFO1lBQzVCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsZUFBZSxFQUFFLFVBQVU7U0FDNUIsQ0FBQyxDQUNILENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyw0QkFBb0IsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sSUFBQSxnQkFBTSxFQUNWLFdBQVcsQ0FBQyxPQUFPLENBQUM7WUFDbEIsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFDO1NBQzdELENBQUMsQ0FDSCxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkZXNjcmliZSwgZXhwZWN0LCBqZXN0LCB0ZXN0fSBmcm9tICdAamVzdC9nbG9iYWxzJztcbmltcG9ydCB7Q2xvdWRDYXJib25Gb290cHJpbnR9IGZyb20gJy4uLy4uLy4uLy4uL2xpYi9jY2YvaW5kZXgnO1xuXG5qZXN0LnNldFRpbWVvdXQoMzAwMDApO1xuXG5kZXNjcmliZSgnY2NmOmNvbmZpZ3VyZSB0ZXN0JywgKCkgPT4ge1xuICB0ZXN0KCdpbml0aWFsaXplIHdpdGggcGFyYW1zJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG91dHB1dE1vZGVsID0gbmV3IENsb3VkQ2FyYm9uRm9vdHByaW50KCk7XG5cbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICBvdXRwdXRNb2RlbC5jb25maWd1cmUoJ3Rlc3QnLCB7XG4gICAgICAgIHZlbmRvcjogJ2F3czInLFxuICAgICAgICAnaW5zdGFuY2UtdHlwZSc6ICd0Mi5taWNybycsXG4gICAgICB9KVxuICAgICkucmVqZWN0cy50b1Rocm93RXJyb3IoKTtcbiAgICBleHBlY3Qob3V0cHV0TW9kZWwucmVzb2x2ZUF3c0FyY2hpdGVjdHVyZSgnR3Jhdml0b24nKSkudG9TdHJpY3RFcXVhbChcbiAgICAgICdHcmF2aXRvbidcbiAgICApO1xuICAgIHRyeSB7XG4gICAgICBvdXRwdXRNb2RlbC5yZXNvbHZlQXdzQXJjaGl0ZWN0dXJlKCdHcmEyJyk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICBleHBlY3QoZS5tZXNzYWdlKS50b0JlKCdHcmEyIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICB9XG4gICAgYXdhaXQgb3V0cHV0TW9kZWwuY29uZmlndXJlKCd0ZXN0Jywge1xuICAgICAgdmVuZG9yOiAnYXdzJyxcbiAgICAgICdpbnN0YW5jZS10eXBlJzogJ3QyLm1pY3JvJyxcbiAgICB9KTtcbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICBvdXRwdXRNb2RlbC5leGVjdXRlKFtcbiAgICAgICAge2R1cmF0aW9uOiAzNjAwLCAnY3B1LXV0aWwnOiA1MCwgdGltZXN0YW1wOiAnMjAyMS0wMS0wMVQwMDowMDowMFonfSxcbiAgICAgIF0pXG4gICAgKS5yZXNvbHZlcy50b1N0cmljdEVxdWFsKFtcbiAgICAgIHtcbiAgICAgICAgZHVyYXRpb246IDM2MDAsXG4gICAgICAgICdjcHUtdXRpbCc6IDUwLFxuICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICAgIGVuZXJneTogMC4wMDIzMDMxMjcwNDYyNzMwNTQzLFxuICAgICAgICAnZW1ib2RpZWQtY2FyYm9uJzogMC4wNDIxNjcyMzc0NDI5MjIzNyAqIDEwMDAsXG4gICAgICB9LFxuICAgIF0pO1xuICAgIGF3YWl0IG91dHB1dE1vZGVsLmNvbmZpZ3VyZSgndGVzdCcsIHtcbiAgICAgIHZlbmRvcjogJ2F3cycsXG4gICAgICBpbnRlcnBvbGF0aW9uOiAnc3BsaW5lJyxcbiAgICAgICdpbnN0YW5jZS10eXBlJzogJ3QyLm1pY3JvJyxcbiAgICB9KTtcbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICBvdXRwdXRNb2RlbC5leGVjdXRlKFtcbiAgICAgICAge2R1cmF0aW9uOiAzNjAwLCAnY3B1LXV0aWwnOiA1MCwgdGltZXN0YW1wOiAnMjAyMS0wMS0wMVQwMDowMDowMFonfSxcbiAgICAgIF0pXG4gICAgKS5yZXNvbHZlcy50b1N0cmljdEVxdWFsKFtcbiAgICAgIHtcbiAgICAgICAgJ2NwdS11dGlsJzogNTAsXG4gICAgICAgIHRpbWVzdGFtcDogJzIwMjEtMDEtMDFUMDA6MDA6MDBaJyxcbiAgICAgICAgZHVyYXRpb246IDM2MDAsXG4gICAgICAgICdlbWJvZGllZC1jYXJib24nOiA0Mi4xNjcyMzc0NDI5MjIzNyxcbiAgICAgICAgZW5lcmd5OiAwLjAwNDkwMDAwMDAwMDAwMDAwMSxcbiAgICAgIH0sXG4gICAgXSk7XG4gICAgYXdhaXQgZXhwZWN0KG91dHB1dE1vZGVsLmV4ZWN1dGUodW5kZWZpbmVkKSkucmVqZWN0cy50b1Rocm93RXJyb3IoKTtcbiAgICBhd2FpdCBleHBlY3Qob3V0cHV0TW9kZWwuZXhlY3V0ZSh7fSkpLnJlamVjdHMudG9UaHJvd0Vycm9yKCk7XG4gIH0pO1xuICB0ZXN0KCdpbml0aWFsaXplIHdpdGggcGFyYW1zOmF3cycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBvdXRwdXRNb2RlbCA9IG5ldyBDbG91ZENhcmJvbkZvb3RwcmludCgpO1xuICAgIGF3YWl0IG91dHB1dE1vZGVsLmNvbmZpZ3VyZSgndGVzdCcsIHtcbiAgICAgIHZlbmRvcjogJ2F3cycsXG4gICAgICAnaW5zdGFuY2UtdHlwZSc6ICdtNW4ubGFyZ2UnLFxuICAgIH0pO1xuICAgIGF3YWl0IGV4cGVjdChcbiAgICAgIG91dHB1dE1vZGVsLmV4ZWN1dGUoW1xuICAgICAgICB7XG4gICAgICAgICAgZHVyYXRpb246IDM2MDAsXG4gICAgICAgICAgJ2NwdS11dGlsJzogMTAsXG4gICAgICAgICAgdGltZXN0YW1wOiAnMjAyMS0wMS0wMVQwMDowMDowMFonLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgZHVyYXRpb246IDM2MDAsXG4gICAgICAgICAgJ2NwdS11dGlsJzogNTAsXG4gICAgICAgICAgdGltZXN0YW1wOiAnMjAyMS0wMS0wMVQwMDowMDowMFonLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgZHVyYXRpb246IDM2MDAsXG4gICAgICAgICAgJ2NwdS11dGlsJzogMTAwLFxuICAgICAgICAgIHRpbWVzdGFtcDogJzIwMjEtMDEtMDFUMDA6MDA6MDBaJyxcbiAgICAgICAgfSxcbiAgICAgIF0pXG4gICAgKS5yZXNvbHZlcy50b1N0cmljdEVxdWFsKFtcbiAgICAgIHtcbiAgICAgICAgZHVyYXRpb246IDM2MDAsXG4gICAgICAgICdjcHUtdXRpbCc6IDEwLFxuICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICAgIGVuZXJneTogMC4wMDE5NDM1Njk3OTE1NTI5ODQ2LFxuICAgICAgICAnZW1ib2RpZWQtY2FyYm9uJzogOTEuOTQwMDY4NDkzMTUwNjgsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgJ2NwdS11dGlsJzogNTAsXG4gICAgICAgIHRpbWVzdGFtcDogJzIwMjEtMDEtMDFUMDA6MDA6MDBaJyxcbiAgICAgICAgZW5lcmd5OiAwLjAwNDYwNjI1NDA5MjU0NjEwODUsXG4gICAgICAgICdlbWJvZGllZC1jYXJib24nOiA5MS45NDAwNjg0OTMxNTA2OCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGR1cmF0aW9uOiAzNjAwLFxuICAgICAgICAnY3B1LXV0aWwnOiAxMDAsXG4gICAgICAgIHRpbWVzdGFtcDogJzIwMjEtMDEtMDFUMDA6MDA6MDBaJyxcbiAgICAgICAgZW5lcmd5OiAwLjAwNzkzNDYwOTQ2ODc4NzUxMyxcbiAgICAgICAgJ2VtYm9kaWVkLWNhcmJvbic6IDkxLjk0MDA2ODQ5MzE1MDY4LFxuICAgICAgfSxcbiAgICBdKTtcbiAgfSk7XG4gIHRlc3QoJ2luaXRpYWxpemUgd2l0aCBwYXJhbXM6YXp1cmUnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3V0cHV0TW9kZWwgPSBuZXcgQ2xvdWRDYXJib25Gb290cHJpbnQoKTtcbiAgICBhd2FpdCBvdXRwdXRNb2RlbC5jb25maWd1cmUoJ3Rlc3QnLCB7XG4gICAgICB2ZW5kb3I6ICdhenVyZScsXG4gICAgICAnaW5zdGFuY2UtdHlwZSc6ICdEMiB2NCcsXG4gICAgfSk7XG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgb3V0cHV0TW9kZWwuZXhlY3V0ZShbXG4gICAgICAgIHtcbiAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAnY3B1LXV0aWwnOiAxMCxcbiAgICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAnY3B1LXV0aWwnOiA1MCxcbiAgICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAnY3B1LXV0aWwnOiAxMDAsXG4gICAgICAgICAgdGltZXN0YW1wOiAnMjAyMS0wMS0wMVQwMDowMDowMFonLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApLnJlc29sdmVzLnRvU3RyaWN0RXF1YWwoW1xuICAgICAge1xuICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgJ2NwdS11dGlsJzogMTAsXG4gICAgICAgIHRpbWVzdGFtcDogJzIwMjEtMDEtMDFUMDA6MDA6MDBaJyxcbiAgICAgICAgZW5lcmd5OiAwLjAwMTk0MzU2OTc5MTU1Mjk4NDYsXG4gICAgICAgICdlbWJvZGllZC1jYXJib24nOiAwLjA4MTc5OTA4Njc1Nzk5MDg2ICogMTAwMCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGR1cmF0aW9uOiAzNjAwLFxuICAgICAgICAnY3B1LXV0aWwnOiA1MCxcbiAgICAgICAgdGltZXN0YW1wOiAnMjAyMS0wMS0wMVQwMDowMDowMFonLFxuICAgICAgICBlbmVyZ3k6IDAuMDA0NjA2MjU0MDkyNTQ2MTA4NSxcbiAgICAgICAgJ2VtYm9kaWVkLWNhcmJvbic6IDAuMDgxNzk5MDg2NzU3OTkwODYgKiAxMDAwLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZHVyYXRpb246IDM2MDAsXG4gICAgICAgICdjcHUtdXRpbCc6IDEwMCxcbiAgICAgICAgdGltZXN0YW1wOiAnMjAyMS0wMS0wMVQwMDowMDowMFonLFxuICAgICAgICBlbmVyZ3k6IDAuMDA3OTM0NjA5NDY4Nzg3NTEzLFxuICAgICAgICAnZW1ib2RpZWQtY2FyYm9uJzogMC4wODE3OTkwODY3NTc5OTA4NiAqIDEwMDAsXG4gICAgICB9LFxuICAgIF0pO1xuICB9KTtcbiAgdGVzdCgnaW5pdGlhbGl6ZSB3aXRoIHBhcmFtczpnY3AnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3V0cHV0TW9kZWwgPSBuZXcgQ2xvdWRDYXJib25Gb290cHJpbnQoKTtcbiAgICBhd2FpdCBvdXRwdXRNb2RlbC5jb25maWd1cmUoJ3Rlc3QnLCB7XG4gICAgICB2ZW5kb3I6ICdnY3AnLFxuICAgICAgJ2luc3RhbmNlLXR5cGUnOiAnbjItc3RhbmRhcmQtMicsXG4gICAgfSk7XG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgb3V0cHV0TW9kZWwuZXhlY3V0ZShbXG4gICAgICAgIHtcbiAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAnY3B1LXV0aWwnOiAxMCxcbiAgICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAnY3B1LXV0aWwnOiA1MCxcbiAgICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgICAnY3B1LXV0aWwnOiAxMDAsXG4gICAgICAgICAgdGltZXN0YW1wOiAnMjAyMS0wMS0wMVQwMDowMDowMFonLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApLnJlc29sdmVzLnRvU3RyaWN0RXF1YWwoW1xuICAgICAge1xuICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgJ2NwdS11dGlsJzogMTAsXG4gICAgICAgIHRpbWVzdGFtcDogJzIwMjEtMDEtMDFUMDA6MDA6MDBaJyxcbiAgICAgICAgZW5lcmd5OiAwLjAwMTg3ODU5OTI1MDM3NjUxNDEsXG4gICAgICAgICdlbWJvZGllZC1jYXJib24nOiAwLjEwNzc4ODgxMjc4NTM4ODEzICogMTAwMCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGR1cmF0aW9uOiAzNjAwLFxuICAgICAgICAnY3B1LXV0aWwnOiA1MCxcbiAgICAgICAgdGltZXN0YW1wOiAnMjAyMS0wMS0wMVQwMDowMDowMFonLFxuICAgICAgICBlbmVyZ3k6IDAuMDA0MjgxNDAxMzg2NjYzNzU1LFxuICAgICAgICAnZW1ib2RpZWQtY2FyYm9uJzogMC4xMDc3ODg4MTI3ODUzODgxMyAqIDEwMDAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBkdXJhdGlvbjogMzYwMCxcbiAgICAgICAgJ2NwdS11dGlsJzogMTAwLFxuICAgICAgICB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWicsXG4gICAgICAgIGVuZXJneTogMC4wMDcyODQ5MDQwNTcwMjI4MDc1LFxuICAgICAgICAnZW1ib2RpZWQtY2FyYm9uJzogMC4xMDc3ODg4MTI3ODUzODgxMyAqIDEwMDAsXG4gICAgICB9LFxuICAgIF0pO1xuICB9KTtcblxuICB0ZXN0KCdpbml0aWFsaXplIHdpdGggd3JvbmcgcGFyYW1zJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG91dHB1dE1vZGVsID0gbmV3IENsb3VkQ2FyYm9uRm9vdHByaW50KCk7XG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgb3V0cHV0TW9kZWwuY29uZmlndXJlKCd0ZXN0Jywge1xuICAgICAgICB2ZW5kb3I6ICdhd3MnLFxuICAgICAgICAnaW5zdGFuY2UtdHlwZSc6ICd0NS5taWNybycsXG4gICAgICB9KVxuICAgICkucmVqZWN0cy50b1Rocm93RXJyb3IoKTtcbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICBvdXRwdXRNb2RlbC5leGVjdXRlKFtcbiAgICAgICAge2R1cmF0aW9uOiAzNjAwLCAnY3B1LXV0aWwnOiA1MCwgdGltZXN0YW1wOiAnMjAyMS0wMS0wMVQwMDowMDowMFonfSxcbiAgICAgIF0pXG4gICAgKS5yZWplY3RzLnRvVGhyb3dFcnJvcigpO1xuICB9KTtcbiAgdGVzdCgnaW5pdGlhbGl6ZSB3aXRoIHdyb25nIHBhcmFtcycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBvdXRwdXRNb2RlbCA9IG5ldyBDbG91ZENhcmJvbkZvb3RwcmludCgpO1xuICAgIGF3YWl0IGV4cGVjdChcbiAgICAgIG91dHB1dE1vZGVsLmNvbmZpZ3VyZSgndGVzdCcsIHtcbiAgICAgICAgdmVuZG9yOiAnYXdzMicsXG4gICAgICAgICdpbnN0YW5jZS10eXBlJzogJ3QyLm1pY3JvJyxcbiAgICAgIH0pXG4gICAgKS5yZWplY3RzLnRvVGhyb3dFcnJvcigpO1xuICAgIGF3YWl0IGV4cGVjdChcbiAgICAgIG91dHB1dE1vZGVsLmV4ZWN1dGUoW1xuICAgICAgICB7ZHVyYXRpb246IDM2MDAsICdjcHUtdXRpbCc6IDUwLCB0aW1lc3RhbXA6ICcyMDIxLTAxLTAxVDAwOjAwOjAwWid9LFxuICAgICAgXSlcbiAgICApLnJlamVjdHMudG9UaHJvd0Vycm9yKCk7XG4gIH0pO1xuXG4gIHRlc3QoJ2luaXRpYWxpemUgd2l0aCBjb3JyZWN0IHBhcmFtcyBidXQgd3JvbmcgaW5wdXQnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qgb3V0cHV0TW9kZWwgPSBuZXcgQ2xvdWRDYXJib25Gb290cHJpbnQoKTtcbiAgICBhd2FpdCBleHBlY3QoXG4gICAgICBvdXRwdXRNb2RlbC5jb25maWd1cmUoJ3Rlc3QnLCB7XG4gICAgICAgIHZlbmRvcjogJ2F3cycsXG4gICAgICAgICdpbnN0YW5jZS10eXBlJzogJ3QyLm1pY3JvJyxcbiAgICAgIH0pXG4gICAgKS5yZXNvbHZlcy50b0JlSW5zdGFuY2VPZihDbG91ZENhcmJvbkZvb3RwcmludCk7XG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgb3V0cHV0TW9kZWwuZXhlY3V0ZShbXG4gICAgICAgIHtkdXJhdGlvbjogMzYwMCwgY3B1czogMSwgdGltZXN0YW1wOiAnMjAyMS0wMS0wMVQwMDowMDowMFonfSxcbiAgICAgIF0pXG4gICAgKS5yZWplY3RzLnRvVGhyb3dFcnJvcigpO1xuICB9KTtcbn0pO1xuIl19
@@ -1,73 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const globals_1 = require("@jest/globals");
4
- const index_1 = require("../../../../lib/cloud-instance-metadata/index");
5
- globals_1.jest.setTimeout(30000);
6
- (0, globals_1.describe)('cimd:configure test:aws', () => {
7
- (0, globals_1.test)('initialize and test:aws', async () => {
8
- const model = await new index_1.CloudInstanceMetadataModel().configure('cimd', {});
9
- (0, globals_1.expect)(model).toBeInstanceOf(index_1.CloudInstanceMetadataModel);
10
- await (0, globals_1.expect)(model.execute([
11
- {
12
- 'cloud-instance-type': 'm5n.large',
13
- 'cloud-vendor': 'aws',
14
- },
15
- ])).resolves.toStrictEqual(globals_1.expect.arrayContaining([
16
- {
17
- 'cloud-instance-type': 'm5n.large',
18
- 'cloud-vendor': 'aws',
19
- 'physical-processor': 'Intel Xeon Platinum 8259CL',
20
- 'vcpus-allocated': '2',
21
- 'vcpus-total': '96',
22
- 'memory-available': '8',
23
- },
24
- ]));
25
- await (0, globals_1.expect)(model.execute([
26
- {
27
- 'cloud-instance-type': 't2.micro',
28
- 'cloud-vendor': 'aws2',
29
- },
30
- ])).rejects.toThrowError('cloud-vendor: Only `aws`/`azure` is currently supported');
31
- await (0, globals_1.expect)(model.execute([
32
- {
33
- 'cloud-instance-type': 't2.micro2',
34
- 'cloud-vendor': 'aws',
35
- },
36
- ])).rejects.toThrowError('cloud-instance-type: t2.micro2 is not supported in vendor: aws');
37
- });
38
- });
39
- (0, globals_1.describe)('cimd:configure test:azure', () => {
40
- (0, globals_1.test)('initialize and test', async () => {
41
- const model = await new index_1.CloudInstanceMetadataModel().configure('cimd', {});
42
- (0, globals_1.expect)(model).toBeInstanceOf(index_1.CloudInstanceMetadataModel);
43
- await (0, globals_1.expect)(model.execute([
44
- {
45
- 'cloud-instance-type': 'Standard_NC24s_v3',
46
- 'cloud-vendor': 'azure',
47
- },
48
- ])).resolves.toStrictEqual(globals_1.expect.arrayContaining([
49
- {
50
- 'cloud-instance-type': 'Standard_NC24s_v3',
51
- 'cloud-vendor': 'azure',
52
- 'physical-processor': 'Intel Xeon E5-2690 v4',
53
- 'vcpus-allocated': '24',
54
- 'vcpus-total': '28',
55
- 'memory-available': '448',
56
- 'thermal-design-power': '135',
57
- },
58
- ]));
59
- await (0, globals_1.expect)(model.execute([
60
- {
61
- 'cloud-instance-type': 't2.micro',
62
- 'cloud-vendor': 'aws2',
63
- },
64
- ])).rejects.toThrowError('cloud-vendor: Only `aws`/`azure` is currently supported');
65
- await (0, globals_1.expect)(model.execute([
66
- {
67
- 'cloud-instance-type': 't2.micro2',
68
- 'cloud-vendor': 'azure',
69
- },
70
- ])).rejects.toThrowError('cloud-instance-type: t2.micro2 is not supported in vendor: azure');
71
- });
72
- });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9fX3Rlc3RzX18vdW5pdC9saWIvY2xvdWQtaW5zdGFuY2UtbWV0YWRhdGEvaW5kZXgudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDJDQUEyRDtBQUMzRCx5RUFBeUY7QUFFekYsY0FBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUV2QixJQUFBLGtCQUFRLEVBQUMseUJBQXlCLEVBQUUsR0FBRyxFQUFFO0lBQ3ZDLElBQUEsY0FBSSxFQUFDLHlCQUF5QixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxrQ0FBMEIsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDM0UsSUFBQSxnQkFBTSxFQUFDLEtBQUssQ0FBQyxDQUFDLGNBQWMsQ0FBQyxrQ0FBMEIsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sSUFBQSxnQkFBTSxFQUNWLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDWjtnQkFDRSxxQkFBcUIsRUFBRSxXQUFXO2dCQUNsQyxjQUFjLEVBQUUsS0FBSzthQUN0QjtTQUNGLENBQUMsQ0FDSCxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQ3RCLGdCQUFNLENBQUMsZUFBZSxDQUFDO1lBQ3JCO2dCQUNFLHFCQUFxQixFQUFFLFdBQVc7Z0JBQ2xDLGNBQWMsRUFBRSxLQUFLO2dCQUNyQixvQkFBb0IsRUFBRSw0QkFBNEI7Z0JBQ2xELGlCQUFpQixFQUFFLEdBQUc7Z0JBQ3RCLGFBQWEsRUFBRSxJQUFJO2dCQUNuQixrQkFBa0IsRUFBRSxHQUFHO2FBQ3hCO1NBQ0YsQ0FBQyxDQUNILENBQUM7UUFDRixNQUFNLElBQUEsZ0JBQU0sRUFDVixLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ1o7Z0JBQ0UscUJBQXFCLEVBQUUsVUFBVTtnQkFDakMsY0FBYyxFQUFFLE1BQU07YUFDdkI7U0FDRixDQUFDLENBQ0gsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUNwQix5REFBeUQsQ0FDMUQsQ0FBQztRQUNGLE1BQU0sSUFBQSxnQkFBTSxFQUNWLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDWjtnQkFDRSxxQkFBcUIsRUFBRSxXQUFXO2dCQUNsQyxjQUFjLEVBQUUsS0FBSzthQUN0QjtTQUNGLENBQUMsQ0FDSCxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQ3BCLGdFQUFnRSxDQUNqRSxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQztBQUVILElBQUEsa0JBQVEsRUFBQywyQkFBMkIsRUFBRSxHQUFHLEVBQUU7SUFDekMsSUFBQSxjQUFJLEVBQUMscUJBQXFCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDckMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLGtDQUEwQixFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMzRSxJQUFBLGdCQUFNLEVBQUMsS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLGtDQUEwQixDQUFDLENBQUM7UUFDekQsTUFBTSxJQUFBLGdCQUFNLEVBQ1YsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUNaO2dCQUNFLHFCQUFxQixFQUFFLG1CQUFtQjtnQkFDMUMsY0FBYyxFQUFFLE9BQU87YUFDeEI7U0FDRixDQUFDLENBQ0gsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUN0QixnQkFBTSxDQUFDLGVBQWUsQ0FBQztZQUNyQjtnQkFDRSxxQkFBcUIsRUFBRSxtQkFBbUI7Z0JBQzFDLGNBQWMsRUFBRSxPQUFPO2dCQUN2QixvQkFBb0IsRUFBRSx1QkFBdUI7Z0JBQzdDLGlCQUFpQixFQUFFLElBQUk7Z0JBQ3ZCLGFBQWEsRUFBRSxJQUFJO2dCQUNuQixrQkFBa0IsRUFBRSxLQUFLO2dCQUN6QixzQkFBc0IsRUFBRSxLQUFLO2FBQzlCO1NBQ0YsQ0FBQyxDQUNILENBQUM7UUFDRixNQUFNLElBQUEsZ0JBQU0sRUFDVixLQUFLLENBQUMsT0FBTyxDQUFDO1lBQ1o7Z0JBQ0UscUJBQXFCLEVBQUUsVUFBVTtnQkFDakMsY0FBYyxFQUFFLE1BQU07YUFDdkI7U0FDRixDQUFDLENBQ0gsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUNwQix5REFBeUQsQ0FDMUQsQ0FBQztRQUNGLE1BQU0sSUFBQSxnQkFBTSxFQUNWLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFDWjtnQkFDRSxxQkFBcUIsRUFBRSxXQUFXO2dCQUNsQyxjQUFjLEVBQUUsT0FBTzthQUN4QjtTQUNGLENBQUMsQ0FDSCxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQ3BCLGtFQUFrRSxDQUNuRSxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGVzY3JpYmUsIGV4cGVjdCwgamVzdCwgdGVzdH0gZnJvbSAnQGplc3QvZ2xvYmFscyc7XG5pbXBvcnQge0Nsb3VkSW5zdGFuY2VNZXRhZGF0YU1vZGVsfSBmcm9tICcuLi8uLi8uLi8uLi9saWIvY2xvdWQtaW5zdGFuY2UtbWV0YWRhdGEvaW5kZXgnO1xuXG5qZXN0LnNldFRpbWVvdXQoMzAwMDApO1xuXG5kZXNjcmliZSgnY2ltZDpjb25maWd1cmUgdGVzdDphd3MnLCAoKSA9PiB7XG4gIHRlc3QoJ2luaXRpYWxpemUgYW5kIHRlc3Q6YXdzJywgYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IG1vZGVsID0gYXdhaXQgbmV3IENsb3VkSW5zdGFuY2VNZXRhZGF0YU1vZGVsKCkuY29uZmlndXJlKCdjaW1kJywge30pO1xuICAgIGV4cGVjdChtb2RlbCkudG9CZUluc3RhbmNlT2YoQ2xvdWRJbnN0YW5jZU1ldGFkYXRhTW9kZWwpO1xuICAgIGF3YWl0IGV4cGVjdChcbiAgICAgIG1vZGVsLmV4ZWN1dGUoW1xuICAgICAgICB7XG4gICAgICAgICAgJ2Nsb3VkLWluc3RhbmNlLXR5cGUnOiAnbTVuLmxhcmdlJyxcbiAgICAgICAgICAnY2xvdWQtdmVuZG9yJzogJ2F3cycsXG4gICAgICAgIH0sXG4gICAgICBdKVxuICAgICkucmVzb2x2ZXMudG9TdHJpY3RFcXVhbChcbiAgICAgIGV4cGVjdC5hcnJheUNvbnRhaW5pbmcoW1xuICAgICAgICB7XG4gICAgICAgICAgJ2Nsb3VkLWluc3RhbmNlLXR5cGUnOiAnbTVuLmxhcmdlJyxcbiAgICAgICAgICAnY2xvdWQtdmVuZG9yJzogJ2F3cycsXG4gICAgICAgICAgJ3BoeXNpY2FsLXByb2Nlc3Nvcic6ICdJbnRlbCBYZW9uIFBsYXRpbnVtIDgyNTlDTCcsXG4gICAgICAgICAgJ3ZjcHVzLWFsbG9jYXRlZCc6ICcyJyxcbiAgICAgICAgICAndmNwdXMtdG90YWwnOiAnOTYnLFxuICAgICAgICAgICdtZW1vcnktYXZhaWxhYmxlJzogJzgnLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApO1xuICAgIGF3YWl0IGV4cGVjdChcbiAgICAgIG1vZGVsLmV4ZWN1dGUoW1xuICAgICAgICB7XG4gICAgICAgICAgJ2Nsb3VkLWluc3RhbmNlLXR5cGUnOiAndDIubWljcm8nLFxuICAgICAgICAgICdjbG91ZC12ZW5kb3InOiAnYXdzMicsXG4gICAgICAgIH0sXG4gICAgICBdKVxuICAgICkucmVqZWN0cy50b1Rocm93RXJyb3IoXG4gICAgICAnY2xvdWQtdmVuZG9yOiBPbmx5IGBhd3NgL2BhenVyZWAgaXMgY3VycmVudGx5IHN1cHBvcnRlZCdcbiAgICApO1xuICAgIGF3YWl0IGV4cGVjdChcbiAgICAgIG1vZGVsLmV4ZWN1dGUoW1xuICAgICAgICB7XG4gICAgICAgICAgJ2Nsb3VkLWluc3RhbmNlLXR5cGUnOiAndDIubWljcm8yJyxcbiAgICAgICAgICAnY2xvdWQtdmVuZG9yJzogJ2F3cycsXG4gICAgICAgIH0sXG4gICAgICBdKVxuICAgICkucmVqZWN0cy50b1Rocm93RXJyb3IoXG4gICAgICAnY2xvdWQtaW5zdGFuY2UtdHlwZTogdDIubWljcm8yIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdmVuZG9yOiBhd3MnXG4gICAgKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoJ2NpbWQ6Y29uZmlndXJlIHRlc3Q6YXp1cmUnLCAoKSA9PiB7XG4gIHRlc3QoJ2luaXRpYWxpemUgYW5kIHRlc3QnLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgbW9kZWwgPSBhd2FpdCBuZXcgQ2xvdWRJbnN0YW5jZU1ldGFkYXRhTW9kZWwoKS5jb25maWd1cmUoJ2NpbWQnLCB7fSk7XG4gICAgZXhwZWN0KG1vZGVsKS50b0JlSW5zdGFuY2VPZihDbG91ZEluc3RhbmNlTWV0YWRhdGFNb2RlbCk7XG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgbW9kZWwuZXhlY3V0ZShbXG4gICAgICAgIHtcbiAgICAgICAgICAnY2xvdWQtaW5zdGFuY2UtdHlwZSc6ICdTdGFuZGFyZF9OQzI0c192MycsXG4gICAgICAgICAgJ2Nsb3VkLXZlbmRvcic6ICdhenVyZScsXG4gICAgICAgIH0sXG4gICAgICBdKVxuICAgICkucmVzb2x2ZXMudG9TdHJpY3RFcXVhbChcbiAgICAgIGV4cGVjdC5hcnJheUNvbnRhaW5pbmcoW1xuICAgICAgICB7XG4gICAgICAgICAgJ2Nsb3VkLWluc3RhbmNlLXR5cGUnOiAnU3RhbmRhcmRfTkMyNHNfdjMnLFxuICAgICAgICAgICdjbG91ZC12ZW5kb3InOiAnYXp1cmUnLFxuICAgICAgICAgICdwaHlzaWNhbC1wcm9jZXNzb3InOiAnSW50ZWwgWGVvbiBFNS0yNjkwIHY0JyxcbiAgICAgICAgICAndmNwdXMtYWxsb2NhdGVkJzogJzI0JyxcbiAgICAgICAgICAndmNwdXMtdG90YWwnOiAnMjgnLFxuICAgICAgICAgICdtZW1vcnktYXZhaWxhYmxlJzogJzQ0OCcsXG4gICAgICAgICAgJ3RoZXJtYWwtZGVzaWduLXBvd2VyJzogJzEzNScsXG4gICAgICAgIH0sXG4gICAgICBdKVxuICAgICk7XG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgbW9kZWwuZXhlY3V0ZShbXG4gICAgICAgIHtcbiAgICAgICAgICAnY2xvdWQtaW5zdGFuY2UtdHlwZSc6ICd0Mi5taWNybycsXG4gICAgICAgICAgJ2Nsb3VkLXZlbmRvcic6ICdhd3MyJyxcbiAgICAgICAgfSxcbiAgICAgIF0pXG4gICAgKS5yZWplY3RzLnRvVGhyb3dFcnJvcihcbiAgICAgICdjbG91ZC12ZW5kb3I6IE9ubHkgYGF3c2AvYGF6dXJlYCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkJ1xuICAgICk7XG4gICAgYXdhaXQgZXhwZWN0KFxuICAgICAgbW9kZWwuZXhlY3V0ZShbXG4gICAgICAgIHtcbiAgICAgICAgICAnY2xvdWQtaW5zdGFuY2UtdHlwZSc6ICd0Mi5taWNybzInLFxuICAgICAgICAgICdjbG91ZC12ZW5kb3InOiAnYXp1cmUnLFxuICAgICAgICB9LFxuICAgICAgXSlcbiAgICApLnJlamVjdHMudG9UaHJvd0Vycm9yKFxuICAgICAgJ2Nsb3VkLWluc3RhbmNlLXR5cGU6IHQyLm1pY3JvMiBpcyBub3Qgc3VwcG9ydGVkIGluIHZlbmRvcjogYXp1cmUnXG4gICAgKTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -1 +0,0 @@
1
- export {};