@grnsft/if 0.1.0 → 0.1.1

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 (38) hide show
  1. package/coverage/clover.xml +132 -1118
  2. package/coverage/coverage-final.json +9 -26
  3. package/coverage/lcov-report/config/config.ts.html +3 -66
  4. package/coverage/lcov-report/config/index.html +15 -15
  5. package/coverage/lcov-report/config/index.ts.html +3 -3
  6. package/coverage/lcov-report/config/strings.ts.html +82 -19
  7. package/coverage/lcov-report/index.html +36 -231
  8. package/coverage/lcov-report/lib/index.html +43 -13
  9. package/coverage/lcov-report/lib/models-universe.ts.html +433 -0
  10. package/coverage/lcov-report/lib/observatory.ts.html +187 -0
  11. package/coverage/lcov-report/lib/supercomputer.ts.html +553 -0
  12. package/coverage/lcov-report/util/args.ts.html +23 -8
  13. package/coverage/lcov-report/util/errors.ts.html +157 -0
  14. package/coverage/lcov-report/util/index.html +20 -50
  15. package/coverage/lcov-report/util/yaml.ts.html +17 -11
  16. package/coverage/lcov.info +225 -2004
  17. package/examples/impls/test/sci.yml +37 -13
  18. package/package.json +4 -3
  19. package/tsconfig.build.tsbuildinfo +1 -1
  20. package/build/config/config.d.ts +0 -9
  21. package/build/config/config.js +0 -51
  22. package/build/lib/observatory.d.ts +0 -20
  23. package/build/lib/observatory.js +0 -31
  24. package/build/types/model-interface.d.ts +0 -16
  25. package/build/types/model-interface.js +0 -3
  26. package/build/types/process-args.d.ts +0 -7
  27. package/build/types/process-args.js +0 -3
  28. package/build/types/supercomputer.d.ts +0 -4
  29. package/build/types/supercomputer.js +0 -3
  30. package/build/util/args.js +0 -48
  31. package/build/util/errors.d.ts +0 -6
  32. package/build/util/errors.js +0 -22
  33. package/build/util/helpers.js +0 -18
  34. package/src/__mocks__/boavizta/countries.json +0 -138
  35. package/src/__mocks__/boavizta/instance_types.json +0 -625
  36. package/src/__mocks__/boavizta/providers.json +0 -1
  37. package/src/__mocks__/watt-time/data.json +0 -119
  38. package/yarn-error.log +0 -5854
@@ -0,0 +1,157 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for util/errors.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../prettify.css" />
9
+ <link rel="stylesheet" href="../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../index.html">All files</a> / <a href="index.html">util</a> errors.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>6/6</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>0/0</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>2/2</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>6/6</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
91
+ <span class="cline-any cline-neutral">&nbsp;</span>
92
+ <span class="cline-any cline-neutral">&nbsp;</span>
93
+ <span class="cline-any cline-neutral">&nbsp;</span>
94
+ <span class="cline-any cline-neutral">&nbsp;</span>
95
+ <span class="cline-any cline-neutral">&nbsp;</span>
96
+ <span class="cline-any cline-neutral">&nbsp;</span>
97
+ <span class="cline-any cline-neutral">&nbsp;</span>
98
+ <span class="cline-any cline-neutral">&nbsp;</span>
99
+ <span class="cline-any cline-neutral">&nbsp;</span>
100
+ <span class="cline-any cline-neutral">&nbsp;</span>
101
+ <span class="cline-any cline-yes">3x</span>
102
+ <span class="cline-any cline-yes">12x</span>
103
+ <span class="cline-any cline-neutral">&nbsp;</span>
104
+ <span class="cline-any cline-neutral">&nbsp;</span>
105
+ <span class="cline-any cline-neutral">&nbsp;</span>
106
+ <span class="cline-any cline-yes">6x</span>
107
+ <span class="cline-any cline-yes">6x</span>
108
+ <span class="cline-any cline-neutral">&nbsp;</span>
109
+ <span class="cline-any cline-neutral">&nbsp;</span>
110
+ <span class="cline-any cline-neutral">&nbsp;</span>
111
+ <span class="cline-any cline-neutral">&nbsp;</span>
112
+ <span class="cline-any cline-yes">12x</span>
113
+ <span class="cline-any cline-neutral">&nbsp;</span>
114
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const CUSTOM_ERRORS = [
115
+ 'CliInputError',
116
+ 'ImplValidationError',
117
+ 'ModelInitializationError',
118
+ 'ModelCredentialError',
119
+ ] as const;
120
+ &nbsp;
121
+ type CustomErrors = {
122
+ [K in (typeof CUSTOM_ERRORS)[number]]: ErrorConstructor;
123
+ };
124
+ &nbsp;
125
+ export const ERRORS = CUSTOM_ERRORS.reduce((acc, className) =&gt; {
126
+ acc = {
127
+ ...acc,
128
+ [className]: class extends Error {
129
+ constructor(message: string) {
130
+ super(message);
131
+ this.name = this.constructor.name;
132
+ }
133
+ },
134
+ };
135
+ &nbsp;
136
+ return acc;
137
+ }, {} as CustomErrors);
138
+ &nbsp;</pre></td></tr></table></pre>
139
+
140
+ <div class='push'></div><!-- for sticky footer -->
141
+ </div><!-- /wrapper -->
142
+ <div class='footer quiet pad2 space-top1 center small'>
143
+ Code coverage generated by
144
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
145
+ at 2023-11-16T06:37:22.380Z
146
+ </div>
147
+ <script src="../prettify.js"></script>
148
+ <script>
149
+ window.onload = function () {
150
+ prettyPrint();
151
+ };
152
+ </script>
153
+ <script src="../sorter.js"></script>
154
+ <script src="../block-navigation.js"></script>
155
+ </body>
156
+ </html>
157
+
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">87.75% </span>
26
+ <span class="strong">98.03% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>129/147</span>
28
+ <span class='fraction'>50/51</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">65.3% </span>
33
+ <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>32/49</span>
35
+ <span class='fraction'>5/5</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">96.42% </span>
40
+ <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>27/28</span>
42
+ <span class='fraction'>8/8</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">87.05% </span>
47
+ <span class="strong">97.82% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>121/139</span>
49
+ <span class='fraction'>45/46</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,62 +80,32 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file high" data-value="args.ts"><a href="args.ts.html">args.ts</a></td>
83
- <td data-value="100" class="pic high">
84
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
83
+ <td data-value="96" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 96%"></div><div class="cover-empty" style="width: 4%"></div></div>
85
85
  </td>
86
- <td data-value="100" class="pct high">100%</td>
87
- <td data-value="22" class="abs high">22/22</td>
86
+ <td data-value="96" class="pct high">96%</td>
87
+ <td data-value="25" class="abs high">24/25</td>
88
88
  <td data-value="100" class="pct high">100%</td>
89
89
  <td data-value="5" class="abs high">5/5</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
91
  <td data-value="3" class="abs high">3/3</td>
92
- <td data-value="100" class="pct high">100%</td>
93
- <td data-value="20" class="abs high">20/20</td>
94
- </tr>
95
-
96
- <tr>
97
- <td class="file medium" data-value="models-universe.ts"><a href="models-universe.ts.html">models-universe.ts</a></td>
98
- <td data-value="67.85" class="pic medium">
99
- <div class="chart"><div class="cover-fill" style="width: 67%"></div><div class="cover-empty" style="width: 33%"></div></div>
100
- </td>
101
- <td data-value="67.85" class="pct medium">67.85%</td>
102
- <td data-value="56" class="abs medium">38/56</td>
103
- <td data-value="41.37" class="pct low">41.37%</td>
104
- <td data-value="29" class="abs low">12/29</td>
105
- <td data-value="90" class="pct high">90%</td>
106
- <td data-value="10" class="abs high">9/10</td>
107
- <td data-value="67.27" class="pct medium">67.27%</td>
108
- <td data-value="55" class="abs medium">37/55</td>
92
+ <td data-value="95.65" class="pct high">95.65%</td>
93
+ <td data-value="23" class="abs high">22/23</td>
109
94
  </tr>
110
95
 
111
96
  <tr>
112
- <td class="file high" data-value="observatory.ts"><a href="observatory.ts.html">observatory.ts</a></td>
97
+ <td class="file high" data-value="errors.ts"><a href="errors.ts.html">errors.ts</a></td>
113
98
  <td data-value="100" class="pic high">
114
99
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
115
100
  </td>
116
101
  <td data-value="100" class="pct high">100%</td>
117
- <td data-value="11" class="abs high">11/11</td>
102
+ <td data-value="6" class="abs high">6/6</td>
118
103
  <td data-value="100" class="pct high">100%</td>
119
- <td data-value="2" class="abs high">2/2</td>
120
- <td data-value="100" class="pct high">100%</td>
121
- <td data-value="5" class="abs high">5/5</td>
122
- <td data-value="100" class="pct high">100%</td>
123
- <td data-value="10" class="abs high">10/10</td>
124
- </tr>
125
-
126
- <tr>
127
- <td class="file high" data-value="supercomputer.ts"><a href="supercomputer.ts.html">supercomputer.ts</a></td>
128
- <td data-value="100" class="pic high">
129
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
130
- </td>
131
- <td data-value="100" class="pct high">100%</td>
132
- <td data-value="38" class="abs high">38/38</td>
133
- <td data-value="100" class="pct high">100%</td>
134
- <td data-value="13" class="abs high">13/13</td>
104
+ <td data-value="0" class="abs high">0/0</td>
135
105
  <td data-value="100" class="pct high">100%</td>
136
- <td data-value="7" class="abs high">7/7</td>
106
+ <td data-value="2" class="abs high">2/2</td>
137
107
  <td data-value="100" class="pct high">100%</td>
138
- <td data-value="37" class="abs high">37/37</td>
108
+ <td data-value="6" class="abs high">6/6</td>
139
109
  </tr>
140
110
 
141
111
  <tr>
@@ -161,7 +131,7 @@
161
131
  <div class='footer quiet pad2 space-top1 center small'>
162
132
  Code coverage generated by
163
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at 2023-11-01T14:37:41.749Z
134
+ at 2023-11-16T06:37:22.380Z
165
135
  </div>
166
136
  <script src="../prettify.js"></script>
167
137
  <script>
@@ -99,24 +99,28 @@
99
99
  <a name='L34'></a><a href='#L34'>34</a>
100
100
  <a name='L35'></a><a href='#L35'>35</a>
101
101
  <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
103
- <span class="cline-any cline-yes">3x</span>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
105
+ <span class="cline-any cline-yes">2x</span>
106
+ <span class="cline-any cline-neutral">&nbsp;</span>
107
+ <span class="cline-any cline-yes">2x</span>
108
+ <span class="cline-any cline-neutral">&nbsp;</span>
104
109
  <span class="cline-any cline-neutral">&nbsp;</span>
105
- <span class="cline-any cline-yes">3x</span>
106
110
  <span class="cline-any cline-neutral">&nbsp;</span>
107
111
  <span class="cline-any cline-neutral">&nbsp;</span>
108
112
  <span class="cline-any cline-neutral">&nbsp;</span>
109
113
  <span class="cline-any cline-neutral">&nbsp;</span>
110
- <span class="cline-any cline-yes">3x</span>
111
- <span class="cline-any cline-yes">4x</span>
114
+ <span class="cline-any cline-yes">2x</span>
115
+ <span class="cline-any cline-yes">1x</span>
112
116
  <span class="cline-any cline-neutral">&nbsp;</span>
113
- <span class="cline-any cline-yes">4x</span>
117
+ <span class="cline-any cline-yes">1x</span>
114
118
  <span class="cline-any cline-neutral">&nbsp;</span>
115
119
  <span class="cline-any cline-neutral">&nbsp;</span>
116
120
  <span class="cline-any cline-neutral">&nbsp;</span>
117
121
  <span class="cline-any cline-neutral">&nbsp;</span>
118
122
  <span class="cline-any cline-neutral">&nbsp;</span>
119
- <span class="cline-any cline-yes">3x</span>
123
+ <span class="cline-any cline-yes">2x</span>
120
124
  <span class="cline-any cline-yes">2x</span>
121
125
  <span class="cline-any cline-yes">2x</span>
122
126
  <span class="cline-any cline-yes">2x</span>
@@ -127,7 +131,7 @@
127
131
  <span class="cline-any cline-neutral">&nbsp;</span>
128
132
  <span class="cline-any cline-neutral">&nbsp;</span>
129
133
  <span class="cline-any cline-neutral">&nbsp;</span>
130
- <span class="cline-any cline-yes">3x</span>
134
+ <span class="cline-any cline-yes">2x</span>
131
135
  <span class="cline-any cline-yes">5x</span>
132
136
  <span class="cline-any cline-yes">5x</span>
133
137
  <span class="cline-any cline-yes">5x</span>
@@ -140,13 +144,15 @@ import * as path from 'path';
140
144
  &nbsp;
141
145
  import * as YAML from 'js-yaml';
142
146
  &nbsp;
147
+ import {Impl} from '../types/impl';
148
+ &nbsp;
143
149
  /**
144
150
  * Reads and parses `yaml` file to object.
145
151
  */
146
- export const openYamlFileAsObject = async (filePath: string): Promise&lt;any&gt; =&gt; {
152
+ export const openYamlFileAsObject = async (filePath: string): Promise&lt;Impl&gt; =&gt; {
147
153
  const yamlFileBuffer = await fs.readFile(filePath, 'utf8');
148
154
  &nbsp;
149
- return YAML.load(yamlFileBuffer);
155
+ return YAML.load(yamlFileBuffer) as Impl;
150
156
  };
151
157
  &nbsp;
152
158
  /**
@@ -178,7 +184,7 @@ export const checkIfFileIsYaml = (fileName: string) =&gt; {
178
184
  <div class='footer quiet pad2 space-top1 center small'>
179
185
  Code coverage generated by
180
186
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
181
- at 2023-11-01T14:37:41.749Z
187
+ at 2023-11-16T06:37:22.380Z
182
188
  </div>
183
189
  <script src="../prettify.js"></script>
184
190
  <script>