@grnsft/if 0.1.8 → 0.1.9

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 (104) hide show
  1. package/build/config/config.d.ts +0 -2
  2. package/build/config/config.js +6 -3
  3. package/build/config/index.d.ts +1 -0
  4. package/build/config/index.js +4 -2
  5. package/build/config/params.d.ts +2 -0
  6. package/build/config/params.js +146 -0
  7. package/build/config/strings.d.ts +5 -0
  8. package/build/config/strings.js +6 -1
  9. package/build/index.js +48 -18
  10. package/build/lib/aggregator.d.ts +7 -0
  11. package/build/lib/aggregator.js +46 -0
  12. package/build/lib/models-universe.d.ts +5 -1
  13. package/build/lib/models-universe.js +37 -5
  14. package/build/lib/supercomputer.d.ts +14 -12
  15. package/build/lib/supercomputer.js +55 -87
  16. package/build/models/time-sync.d.ts +8 -5
  17. package/build/models/time-sync.js +35 -12
  18. package/build/types/aggregator.d.ts +3 -0
  19. package/build/types/aggregator.js +5 -0
  20. package/build/types/impl.d.ts +65 -18
  21. package/build/types/impl.js +17 -3
  22. package/build/types/model-interface.d.ts +1 -2
  23. package/build/types/model-interface.js +1 -1
  24. package/build/types/models-universe.d.ts +2 -5
  25. package/build/types/models-universe.js +1 -1
  26. package/build/types/parameters.d.ts +16 -0
  27. package/build/types/parameters.js +5 -0
  28. package/build/types/process-args.d.ts +1 -0
  29. package/build/types/process-args.js +1 -1
  30. package/build/types/time-sync.d.ts +1 -0
  31. package/build/types/time-sync.js +1 -1
  32. package/build/util/args.d.ts +1 -0
  33. package/build/util/args.js +27 -3
  34. package/build/util/param-selectors.d.ts +5 -0
  35. package/build/util/param-selectors.js +14 -0
  36. package/build/util/validations.d.ts +11 -5
  37. package/build/util/validations.js +17 -25
  38. package/build/util/yaml.js +27 -4
  39. package/examples/impls/test/aggregation-test.yml +19 -19
  40. package/examples/impls/test/aggregation-test2.yml +52 -0
  41. package/examples/impls/test/{azure.yml → azure-importer.yml} +8 -10
  42. package/examples/impls/test/boavizta.yml +27 -0
  43. package/examples/impls/test/cim.yml +19 -0
  44. package/examples/impls/test/e-mem.yml +19 -0
  45. package/examples/impls/test/if-demo.yml +0 -2
  46. package/examples/impls/test/large-impl.yml +30031 -30031
  47. package/examples/impls/test/new-params-test.yml +35 -0
  48. package/examples/impls/test/sci.yml +2 -2
  49. package/examples/impls/test/teads-cpu.yml +18 -0
  50. package/examples/impls/test/time-sync-avoid-padding.yml +50 -0
  51. package/examples/impls/test/time-sync.yml +14 -13
  52. package/examples/ompls/aggregation-test2.yml +83 -0
  53. package/examples/ompls/{azure.yml → azure-importer.yml} +40 -40
  54. package/examples/ompls/boavizta.yml +32 -0
  55. package/examples/ompls/cim.yml +29 -0
  56. package/examples/ompls/e-mem.yml +26 -0
  57. package/examples/ompls/sci.yml +5 -5
  58. package/examples/ompls/teads-cpu.yml +24 -0
  59. package/package.json +1 -1
  60. package/src/models/README.md +3 -1
  61. package/build/config/units.yaml +0 -112
  62. package/build/lib/planet-aggregator.d.ts +0 -6
  63. package/build/lib/planet-aggregator.js +0 -35
  64. package/build/types/helpers.d.ts +0 -1
  65. package/build/types/helpers.js +0 -3
  66. package/build/types/planet-aggregator.d.ts +0 -6
  67. package/build/types/planet-aggregator.js +0 -3
  68. package/build/types/units-dealer.d.ts +0 -3
  69. package/build/types/units-dealer.js +0 -3
  70. package/build/types/units.d.ts +0 -11
  71. package/build/types/units.js +0 -37
  72. package/build/util/units-dealer.d.ts +0 -10
  73. package/build/util/units-dealer.js +0 -32
  74. package/coverage/clover.xml +0 -379
  75. package/coverage/coverage-final.json +0 -14
  76. package/coverage/lcov-report/base.css +0 -224
  77. package/coverage/lcov-report/block-navigation.js +0 -87
  78. package/coverage/lcov-report/config/config.ts.html +0 -250
  79. package/coverage/lcov-report/config/index.html +0 -146
  80. package/coverage/lcov-report/config/index.ts.html +0 -91
  81. package/coverage/lcov-report/config/strings.ts.html +0 -208
  82. package/coverage/lcov-report/favicon.png +0 -0
  83. package/coverage/lcov-report/index.html +0 -161
  84. package/coverage/lcov-report/lib/index.html +0 -161
  85. package/coverage/lcov-report/lib/models-universe.ts.html +0 -517
  86. package/coverage/lcov-report/lib/observatory.ts.html +0 -187
  87. package/coverage/lcov-report/lib/planet-aggregator.ts.html +0 -274
  88. package/coverage/lcov-report/lib/supercomputer.ts.html +0 -472
  89. package/coverage/lcov-report/models/index.html +0 -131
  90. package/coverage/lcov-report/models/index.ts.html +0 -88
  91. package/coverage/lcov-report/models/planet-aggregator.ts.html +0 -271
  92. package/coverage/lcov-report/models/time-sync.ts.html +0 -1165
  93. package/coverage/lcov-report/prettify.css +0 -1
  94. package/coverage/lcov-report/prettify.js +0 -2
  95. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  96. package/coverage/lcov-report/sorter.js +0 -196
  97. package/coverage/lcov-report/util/args.ts.html +0 -289
  98. package/coverage/lcov-report/util/errors.ts.html +0 -166
  99. package/coverage/lcov-report/util/index.html +0 -161
  100. package/coverage/lcov-report/util/units-dealer.ts.html +0 -199
  101. package/coverage/lcov-report/util/yaml.ts.html +0 -193
  102. package/coverage/lcov.info +0 -637
  103. package/src/config/units.yaml +0 -112
  104. package/tsconfig.build.tsbuildinfo +0 -1
@@ -1,472 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for lib/supercomputer.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">lib</a> supercomputer.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'>44/44</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'>11/11</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'>7/7</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'>42/42</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>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
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>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
196
- <span class="cline-any cline-yes">1x</span>
197
- <span class="cline-any cline-yes">1x</span>
198
- <span class="cline-any cline-neutral">&nbsp;</span>
199
- <span class="cline-any cline-yes">1x</span>
200
- <span class="cline-any cline-neutral">&nbsp;</span>
201
- <span class="cline-any cline-yes">1x</span>
202
- <span class="cline-any cline-neutral">&nbsp;</span>
203
- <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-neutral">&nbsp;</span>
205
- <span class="cline-any cline-neutral">&nbsp;</span>
206
- <span class="cline-any cline-yes">1x</span>
207
- <span class="cline-any cline-neutral">&nbsp;</span>
208
- <span class="cline-any cline-yes">1x</span>
209
- <span class="cline-any cline-neutral">&nbsp;</span>
210
- <span class="cline-any cline-neutral">&nbsp;</span>
211
- <span class="cline-any cline-neutral">&nbsp;</span>
212
- <span class="cline-any cline-neutral">&nbsp;</span>
213
- <span class="cline-any cline-yes">1x</span>
214
- <span class="cline-any cline-neutral">&nbsp;</span>
215
- <span class="cline-any cline-neutral">&nbsp;</span>
216
- <span class="cline-any cline-neutral">&nbsp;</span>
217
- <span class="cline-any cline-yes">7x</span>
218
- <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-yes">7x</span>
221
- <span class="cline-any cline-yes">7x</span>
222
- <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-neutral">&nbsp;</span>
224
- <span class="cline-any cline-neutral">&nbsp;</span>
225
- <span class="cline-any cline-neutral">&nbsp;</span>
226
- <span class="cline-any cline-neutral">&nbsp;</span>
227
- <span class="cline-any cline-neutral">&nbsp;</span>
228
- <span class="cline-any cline-yes">7x</span>
229
- <span class="cline-any cline-neutral">&nbsp;</span>
230
- <span class="cline-any cline-yes">7x</span>
231
- <span class="cline-any cline-neutral">&nbsp;</span>
232
- <span class="cline-any cline-neutral">&nbsp;</span>
233
- <span class="cline-any cline-neutral">&nbsp;</span>
234
- <span class="cline-any cline-neutral">&nbsp;</span>
235
- <span class="cline-any cline-neutral">&nbsp;</span>
236
- <span class="cline-any cline-neutral">&nbsp;</span>
237
- <span class="cline-any cline-yes">7x</span>
238
- <span class="cline-any cline-neutral">&nbsp;</span>
239
- <span class="cline-any cline-yes">14x</span>
240
- <span class="cline-any cline-neutral">&nbsp;</span>
241
- <span class="cline-any cline-neutral">&nbsp;</span>
242
- <span class="cline-any cline-neutral">&nbsp;</span>
243
- <span class="cline-any cline-neutral">&nbsp;</span>
244
- <span class="cline-any cline-neutral">&nbsp;</span>
245
- <span class="cline-any cline-neutral">&nbsp;</span>
246
- <span class="cline-any cline-neutral">&nbsp;</span>
247
- <span class="cline-any cline-neutral">&nbsp;</span>
248
- <span class="cline-any cline-neutral">&nbsp;</span>
249
- <span class="cline-any cline-neutral">&nbsp;</span>
250
- <span class="cline-any cline-neutral">&nbsp;</span>
251
- <span class="cline-any cline-neutral">&nbsp;</span>
252
- <span class="cline-any cline-neutral">&nbsp;</span>
253
- <span class="cline-any cline-neutral">&nbsp;</span>
254
- <span class="cline-any cline-neutral">&nbsp;</span>
255
- <span class="cline-any cline-yes">8x</span>
256
- <span class="cline-any cline-yes">6x</span>
257
- <span class="cline-any cline-neutral">&nbsp;</span>
258
- <span class="cline-any cline-neutral">&nbsp;</span>
259
- <span class="cline-any cline-yes">8x</span>
260
- <span class="cline-any cline-neutral">&nbsp;</span>
261
- <span class="cline-any cline-yes">8x</span>
262
- <span class="cline-any cline-yes">2x</span>
263
- <span class="cline-any cline-neutral">&nbsp;</span>
264
- <span class="cline-any cline-neutral">&nbsp;</span>
265
- <span class="cline-any cline-yes">8x</span>
266
- <span class="cline-any cline-yes">1x</span>
267
- <span class="cline-any cline-neutral">&nbsp;</span>
268
- <span class="cline-any cline-neutral">&nbsp;</span>
269
- <span class="cline-any cline-yes">7x</span>
270
- <span class="cline-any cline-yes">7x</span>
271
- <span class="cline-any cline-neutral">&nbsp;</span>
272
- <span class="cline-any cline-yes">7x</span>
273
- <span class="cline-any cline-yes">7x</span>
274
- <span class="cline-any cline-neutral">&nbsp;</span>
275
- <span class="cline-any cline-neutral">&nbsp;</span>
276
- <span class="cline-any cline-neutral">&nbsp;</span>
277
- <span class="cline-any cline-yes">7x</span>
278
- <span class="cline-any cline-neutral">&nbsp;</span>
279
- <span class="cline-any cline-yes">7x</span>
280
- <span class="cline-any cline-yes">7x</span>
281
- <span class="cline-any cline-yes">7x</span>
282
- <span class="cline-any cline-neutral">&nbsp;</span>
283
- <span class="cline-any cline-neutral">&nbsp;</span>
284
- <span class="cline-any cline-neutral">&nbsp;</span>
285
- <span class="cline-any cline-neutral">&nbsp;</span>
286
- <span class="cline-any cline-yes">7x</span>
287
- <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-neutral">&nbsp;</span>
289
- <span class="cline-any cline-yes">7x</span>
290
- <span class="cline-any cline-yes">7x</span>
291
- <span class="cline-any cline-neutral">&nbsp;</span>
292
- <span class="cline-any cline-neutral">&nbsp;</span>
293
- <span class="cline-any cline-yes">7x</span>
294
- <span class="cline-any cline-yes">2x</span>
295
- <span class="cline-any cline-neutral">&nbsp;</span>
296
- <span class="cline-any cline-neutral">&nbsp;</span>
297
- <span class="cline-any cline-neutral">&nbsp;</span>
298
- <span class="cline-any cline-yes">2x</span>
299
- <span class="cline-any cline-neutral">&nbsp;</span>
300
- <span class="cline-any cline-neutral">&nbsp;</span>
301
- <span class="cline-any cline-neutral">&nbsp;</span>
302
- <span class="cline-any cline-neutral">&nbsp;</span>
303
- <span class="cline-any cline-yes">2x</span>
304
- <span class="cline-any cline-neutral">&nbsp;</span>
305
- <span class="cline-any cline-neutral">&nbsp;</span>
306
- <span class="cline-any cline-neutral">&nbsp;</span>
307
- <span class="cline-any cline-yes">7x</span>
308
- <span class="cline-any cline-neutral">&nbsp;</span>
309
- <span class="cline-any cline-neutral">&nbsp;</span>
310
- <span class="cline-any cline-neutral">&nbsp;</span>
311
- <span class="cline-any cline-neutral">&nbsp;</span>
312
- <span class="cline-any cline-neutral">&nbsp;</span>
313
- <span class="cline-any cline-neutral">&nbsp;</span>
314
- <span class="cline-any cline-yes">8x</span>
315
- <span class="cline-any cline-yes">8x</span>
316
- <span class="cline-any cline-neutral">&nbsp;</span>
317
- <span class="cline-any cline-yes">8x</span>
318
- <span class="cline-any cline-yes">8x</span>
319
- <span class="cline-any cline-neutral">&nbsp;</span>
320
- <span class="cline-any cline-neutral">&nbsp;</span>
321
- <span class="cline-any cline-yes">7x</span>
322
- <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-neutral">&nbsp;</span>
324
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {ModelsUniverse} from './models-universe';
325
- import {Observatory} from './observatory';
326
- import {planetAggregator} from './planet-aggregator';
327
- &nbsp;
328
- import {ERRORS} from '../util/errors';
329
- &nbsp;
330
- import {STRINGS} from '../config';
331
- &nbsp;
332
- import {Children, ChildrenContent, Config, Impl} from '../types/impl';
333
- import {ModelParams} from '../types/model-interface';
334
- &nbsp;
335
- const {ImplValidationError} = ERRORS;
336
- &nbsp;
337
- const {STRUCTURE_MALFORMED} = STRINGS;
338
- &nbsp;
339
- /**
340
- * Computer for `impl` documents.
341
- */
342
- export class Supercomputer {
343
- private parent!: ChildrenContent;
344
- private impl: Impl;
345
- private modelsHandbook: ModelsUniverse;
346
- private childAmount = 0;
347
- &nbsp;
348
- constructor(impl: Impl, modelsHandbook: ModelsUniverse) {
349
- this.impl = impl;
350
- this.modelsHandbook = modelsHandbook;
351
- }
352
- &nbsp;
353
- /**
354
- * Flattens config entries.
355
- */
356
- private flattenConfigValues(config: Config): ModelParams {
357
- const configValues = Object.values(config);
358
- &nbsp;
359
- return configValues.reduce((acc, value) =&gt; ({...acc, ...value}), {});
360
- }
361
- &nbsp;
362
- /**
363
- * Adds config entries to each obsercation object passed.
364
- */
365
- private enrichInputs(inputs: ModelParams[], config: Config) {
366
- const configValues = this.flattenConfigValues(config);
367
- &nbsp;
368
- return inputs.map((input: any) =&gt; ({
369
- ...input,
370
- ...configValues,
371
- }));
372
- }
373
- &nbsp;
374
- /**
375
- * If child is top level, then initializes `this.olderChild`.
376
- * If `children` object contains `children` property, it means inputs are nested (calls compute again).
377
- * Otherwise enriches inputs, passes them to Observatory.
378
- * For each model from pipeline Observatory gathers inputs. Then results are stored.
379
- */
380
- private async calculateOutputsForChild(
381
- childrenObject: Children,
382
- childName: string
383
- ) {
384
- if (this.childAmount === 0) {
385
- this.parent = this.impl.graph.children[childName];
386
- }
387
- &nbsp;
388
- this.childAmount++;
389
- &nbsp;
390
- if ('children' in childrenObject[childName]) {
391
- await this.compute(childrenObject[childName].children);
392
- }
393
- &nbsp;
394
- if (!('inputs' in childrenObject[childName])) {
395
- throw new ImplValidationError(STRUCTURE_MALFORMED(childName));
396
- }
397
- &nbsp;
398
- const {pipeline, config} = this.parent;
399
- const {inputs} = childrenObject[childName];
400
- &nbsp;
401
- const childConfig = childrenObject[childName].config;
402
- const enrichedInputs = this.enrichInputs(inputs, {
403
- ...config,
404
- ...childConfig,
405
- });
406
- const observatory = new Observatory(enrichedInputs);
407
- &nbsp;
408
- for (const modelName of pipeline) {
409
- const params = childConfig &amp;&amp; childConfig[modelName];
410
- const modelInstance = await this.modelsHandbook.getInitializedModel(
411
- modelName,
412
- params
413
- );
414
- &nbsp;
415
- await observatory.doInvestigationsWith(modelInstance);
416
- }
417
- &nbsp;
418
- const outputs = observatory.getOutputs();
419
- childrenObject[childName].outputs = outputs;
420
- &nbsp;
421
- /** If aggregation is enabled, do horizontal aggregation. */
422
- if (this.impl.aggregation) {
423
- if (
424
- this.impl.aggregation.type === 'horizontal' ||
425
- this.impl.aggregation.type === 'both'
426
- ) {
427
- const aggregation = await planetAggregator(
428
- outputs,
429
- this.impl.aggregation.metrics
430
- );
431
- &nbsp;
432
- childrenObject[childName]['aggregated-outputs'] = aggregation;
433
- }
434
- }
435
- &nbsp;
436
- return;
437
- }
438
- &nbsp;
439
- /**
440
- * Checks if object is top level children or nested, then runs through all children and calculates outputs.
441
- */
442
- public async compute(childrenObject?: any) {
443
- const children = childrenObject || this.impl.graph.children;
444
- const childrenNames = Object.keys(children);
445
- &nbsp;
446
- for (const childName of childrenNames) {
447
- await this.calculateOutputsForChild(children, childName);
448
- }
449
- &nbsp;
450
- return this.impl;
451
- }
452
- }
453
- &nbsp;</pre></td></tr></table></pre>
454
-
455
- <div class='push'></div><!-- for sticky footer -->
456
- </div><!-- /wrapper -->
457
- <div class='footer quiet pad2 space-top1 center small'>
458
- Code coverage generated by
459
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
460
- at 2024-01-15T13:07:43.773Z
461
- </div>
462
- <script src="../prettify.js"></script>
463
- <script>
464
- window.onload = function () {
465
- prettyPrint();
466
- };
467
- </script>
468
- <script src="../sorter.js"></script>
469
- <script src="../block-navigation.js"></script>
470
- </body>
471
- </html>
472
-
@@ -1,131 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for models</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> models</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'>132/132</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'>32/32</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'>22/22</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'>130/130</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
- <div class="pad1">
66
- <table class="coverage-summary">
67
- <thead>
68
- <tr>
69
- <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
70
- <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
71
- <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
72
- <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
73
- <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
74
- <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
75
- <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
76
- <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
77
- <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
78
- <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
79
- </tr>
80
- </thead>
81
- <tbody><tr>
82
- <td class="file high" data-value="index.ts"><a href="index.ts.html">index.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>
85
- </td>
86
- <td data-value="100" class="pct high">100%</td>
87
- <td data-value="2" class="abs high">2/2</td>
88
- <td data-value="100" class="pct high">100%</td>
89
- <td data-value="0" class="abs high">0/0</td>
90
- <td data-value="100" class="pct high">100%</td>
91
- <td data-value="1" class="abs high">1/1</td>
92
- <td data-value="100" class="pct high">100%</td>
93
- <td data-value="1" class="abs high">1/1</td>
94
- </tr>
95
-
96
- <tr>
97
- <td class="file high" data-value="time-sync.ts"><a href="time-sync.ts.html">time-sync.ts</a></td>
98
- <td data-value="100" class="pic high">
99
- <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
100
- </td>
101
- <td data-value="100" class="pct high">100%</td>
102
- <td data-value="130" class="abs high">130/130</td>
103
- <td data-value="100" class="pct high">100%</td>
104
- <td data-value="32" class="abs high">32/32</td>
105
- <td data-value="100" class="pct high">100%</td>
106
- <td data-value="21" class="abs high">21/21</td>
107
- <td data-value="100" class="pct high">100%</td>
108
- <td data-value="129" class="abs high">129/129</td>
109
- </tr>
110
-
111
- </tbody>
112
- </table>
113
- </div>
114
- <div class='push'></div><!-- for sticky footer -->
115
- </div><!-- /wrapper -->
116
- <div class='footer quiet pad2 space-top1 center small'>
117
- Code coverage generated by
118
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2024-01-15T13:07:43.773Z
120
- </div>
121
- <script src="../prettify.js"></script>
122
- <script>
123
- window.onload = function () {
124
- prettyPrint();
125
- };
126
- </script>
127
- <script src="../sorter.js"></script>
128
- <script src="../block-navigation.js"></script>
129
- </body>
130
- </html>
131
-