@grnsft/if 0.1.1 → 0.1.3-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/ISSUE_TEMPLATE/agenda.md +4 -3
- package/.github/ISSUE_TEMPLATE/bug-report.md +32 -0
- package/.github/ISSUE_TEMPLATE/dev-ticket.md +44 -0
- package/.github/ISSUE_TEMPLATE/sprint-planning.md +39 -0
- package/.github/ISSUE_TEMPLATE/sprint-retro.md +41 -0
- package/CONTRIBUTING.md +13 -17
- package/README.md +36 -18
- package/build/config/config.d.ts +12 -0
- package/build/config/config.js +54 -0
- package/build/config/strings.d.ts +8 -3
- package/build/config/strings.js +10 -6
- package/build/index.js +15 -8
- package/build/lib/models-universe.d.ts +10 -2
- package/build/lib/models-universe.js +52 -34
- package/build/lib/observatory.d.ts +20 -0
- package/build/lib/observatory.js +31 -0
- package/build/lib/planet-aggregator.d.ts +6 -0
- package/build/lib/planet-aggregator.js +35 -0
- package/build/lib/supercomputer.d.ts +7 -0
- package/build/lib/supercomputer.js +45 -6
- package/build/models/index.d.ts +1 -0
- package/build/models/index.js +6 -0
- package/build/models/time-sync.d.ts +55 -0
- package/build/models/time-sync.js +235 -0
- package/build/types/helpers.d.ts +1 -0
- package/build/types/helpers.js +3 -0
- package/build/types/impl.d.ts +14 -9
- package/build/types/impl.js +3 -1
- package/build/types/model-interface.d.ts +14 -0
- package/build/types/model-interface.js +3 -0
- package/build/types/models-universe.d.ts +5 -6
- package/build/types/models-universe.js +1 -1
- package/build/types/planet-aggregator.d.ts +6 -0
- package/build/types/planet-aggregator.js +3 -0
- package/build/types/process-args.d.ts +7 -0
- package/build/types/process-args.js +3 -0
- package/build/types/supercomputer.d.ts +4 -0
- package/build/types/supercomputer.js +3 -0
- package/build/types/time-sync.d.ts +9 -0
- package/build/types/time-sync.js +3 -0
- package/build/types/units-dealer.d.ts +3 -0
- package/build/types/units-dealer.js +3 -0
- package/build/types/units.d.ts +11 -0
- package/build/types/units.js +37 -0
- package/build/util/args.js +58 -0
- package/build/util/errors.d.ts +6 -0
- package/build/util/errors.js +25 -0
- package/build/util/helpers.js +18 -0
- package/build/util/units-dealer.d.ts +10 -0
- package/build/util/units-dealer.js +32 -0
- package/build/util/validations.d.ts +4 -0
- package/build/util/validations.js +29 -1
- package/build/util/yaml.d.ts +1 -2
- package/build/util/yaml.js +1 -1
- package/coverage/clover.xml +165 -114
- package/coverage/coverage-final.json +10 -9
- package/coverage/lcov-report/config/config.ts.html +12 -3
- package/coverage/lcov-report/config/index.html +17 -17
- package/coverage/lcov-report/config/index.ts.html +3 -3
- package/coverage/lcov-report/config/strings.ts.html +26 -20
- package/coverage/lcov-report/index.html +33 -33
- package/coverage/lcov-report/lib/index.html +41 -26
- package/coverage/lcov-report/lib/models-universe.ts.html +82 -40
- package/coverage/lcov-report/lib/observatory.ts.html +7 -7
- package/coverage/lcov-report/lib/planet-aggregator.ts.html +253 -0
- package/coverage/lcov-report/lib/supercomputer.ts.html +217 -58
- package/coverage/lcov-report/util/args.ts.html +11 -11
- package/coverage/lcov-report/util/errors.ts.html +10 -7
- package/coverage/lcov-report/util/index.html +11 -11
- package/coverage/lcov-report/util/yaml.ts.html +6 -6
- package/coverage/lcov.info +273 -185
- package/examples/impls/case-studies/aggregation.yml +97 -0
- package/examples/impls/test/aggregation-test.yml +109 -0
- package/examples/impls/test/large-impl.yml +257303 -0
- package/examples/impls/test/sci.yml +13 -37
- package/examples/impls/test/time-sync.yml +75 -0
- package/examples/ompls/aggregation-test.yml +340 -0
- package/examples/ompls/test/time-sync.yml +255 -0
- package/examples/ompls/time-sync.yml +212 -0
- package/hack-banner.png +0 -0
- package/package.json +3 -1
- package/src/config/units.yaml +11 -24
- package/src/models/README.md +266 -0
- package/tsconfig.build.tsbuildinfo +1 -1
- package/build/types/azure-importer.d.ts +0 -29
- package/build/types/azure-importer.js +0 -3
- package/build/types/boavizta.d.ts +0 -7
- package/build/types/boavizta.js +0 -3
- package/build/types/common.d.ts +0 -7
- package/build/types/common.js +0 -9
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>71/71</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>24/24</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>10/10</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>70/70</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -219,7 +219,60 @@
|
|
|
219
219
|
<a name='L154'></a><a href='#L154'>154</a>
|
|
220
220
|
<a name='L155'></a><a href='#L155'>155</a>
|
|
221
221
|
<a name='L156'></a><a href='#L156'>156</a>
|
|
222
|
-
<a name='L157'></a><a href='#L157'>157</a
|
|
222
|
+
<a name='L157'></a><a href='#L157'>157</a>
|
|
223
|
+
<a name='L158'></a><a href='#L158'>158</a>
|
|
224
|
+
<a name='L159'></a><a href='#L159'>159</a>
|
|
225
|
+
<a name='L160'></a><a href='#L160'>160</a>
|
|
226
|
+
<a name='L161'></a><a href='#L161'>161</a>
|
|
227
|
+
<a name='L162'></a><a href='#L162'>162</a>
|
|
228
|
+
<a name='L163'></a><a href='#L163'>163</a>
|
|
229
|
+
<a name='L164'></a><a href='#L164'>164</a>
|
|
230
|
+
<a name='L165'></a><a href='#L165'>165</a>
|
|
231
|
+
<a name='L166'></a><a href='#L166'>166</a>
|
|
232
|
+
<a name='L167'></a><a href='#L167'>167</a>
|
|
233
|
+
<a name='L168'></a><a href='#L168'>168</a>
|
|
234
|
+
<a name='L169'></a><a href='#L169'>169</a>
|
|
235
|
+
<a name='L170'></a><a href='#L170'>170</a>
|
|
236
|
+
<a name='L171'></a><a href='#L171'>171</a>
|
|
237
|
+
<a name='L172'></a><a href='#L172'>172</a>
|
|
238
|
+
<a name='L173'></a><a href='#L173'>173</a>
|
|
239
|
+
<a name='L174'></a><a href='#L174'>174</a>
|
|
240
|
+
<a name='L175'></a><a href='#L175'>175</a>
|
|
241
|
+
<a name='L176'></a><a href='#L176'>176</a>
|
|
242
|
+
<a name='L177'></a><a href='#L177'>177</a>
|
|
243
|
+
<a name='L178'></a><a href='#L178'>178</a>
|
|
244
|
+
<a name='L179'></a><a href='#L179'>179</a>
|
|
245
|
+
<a name='L180'></a><a href='#L180'>180</a>
|
|
246
|
+
<a name='L181'></a><a href='#L181'>181</a>
|
|
247
|
+
<a name='L182'></a><a href='#L182'>182</a>
|
|
248
|
+
<a name='L183'></a><a href='#L183'>183</a>
|
|
249
|
+
<a name='L184'></a><a href='#L184'>184</a>
|
|
250
|
+
<a name='L185'></a><a href='#L185'>185</a>
|
|
251
|
+
<a name='L186'></a><a href='#L186'>186</a>
|
|
252
|
+
<a name='L187'></a><a href='#L187'>187</a>
|
|
253
|
+
<a name='L188'></a><a href='#L188'>188</a>
|
|
254
|
+
<a name='L189'></a><a href='#L189'>189</a>
|
|
255
|
+
<a name='L190'></a><a href='#L190'>190</a>
|
|
256
|
+
<a name='L191'></a><a href='#L191'>191</a>
|
|
257
|
+
<a name='L192'></a><a href='#L192'>192</a>
|
|
258
|
+
<a name='L193'></a><a href='#L193'>193</a>
|
|
259
|
+
<a name='L194'></a><a href='#L194'>194</a>
|
|
260
|
+
<a name='L195'></a><a href='#L195'>195</a>
|
|
261
|
+
<a name='L196'></a><a href='#L196'>196</a>
|
|
262
|
+
<a name='L197'></a><a href='#L197'>197</a>
|
|
263
|
+
<a name='L198'></a><a href='#L198'>198</a>
|
|
264
|
+
<a name='L199'></a><a href='#L199'>199</a>
|
|
265
|
+
<a name='L200'></a><a href='#L200'>200</a>
|
|
266
|
+
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
|
+
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
|
+
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
+
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
+
<a name='L205'></a><a href='#L205'>205</a>
|
|
271
|
+
<a name='L206'></a><a href='#L206'>206</a>
|
|
272
|
+
<a name='L207'></a><a href='#L207'>207</a>
|
|
273
|
+
<a name='L208'></a><a href='#L208'>208</a>
|
|
274
|
+
<a name='L209'></a><a href='#L209'>209</a>
|
|
275
|
+
<a name='L210'></a><a href='#L210'>210</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
223
276
|
<span class="cline-any cline-yes">1x</span>
|
|
224
277
|
<span class="cline-any cline-neutral"> </span>
|
|
225
278
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -228,44 +281,54 @@
|
|
|
228
281
|
<span class="cline-any cline-neutral"> </span>
|
|
229
282
|
<span class="cline-any cline-neutral"> </span>
|
|
230
283
|
<span class="cline-any cline-neutral"> </span>
|
|
284
|
+
<span class="cline-any cline-yes">1x</span>
|
|
285
|
+
<span class="cline-any cline-neutral"> </span>
|
|
231
286
|
<span class="cline-any cline-neutral"> </span>
|
|
232
287
|
<span class="cline-any cline-yes">1x</span>
|
|
233
288
|
<span class="cline-any cline-neutral"> </span>
|
|
234
289
|
<span class="cline-any cline-yes">1x</span>
|
|
290
|
+
<span class="cline-any cline-yes">1x</span>
|
|
235
291
|
<span class="cline-any cline-neutral"> </span>
|
|
236
292
|
<span class="cline-any cline-neutral"> </span>
|
|
237
293
|
<span class="cline-any cline-neutral"> </span>
|
|
238
294
|
<span class="cline-any cline-neutral"> </span>
|
|
239
295
|
<span class="cline-any cline-yes">1x</span>
|
|
240
|
-
<span class="cline-any cline-yes">
|
|
296
|
+
<span class="cline-any cline-yes">11x</span>
|
|
241
297
|
<span class="cline-any cline-neutral"> </span>
|
|
242
298
|
<span class="cline-any cline-neutral"> </span>
|
|
299
|
+
<span class="cline-any cline-yes">11x</span>
|
|
300
|
+
<span class="cline-any cline-yes">11x</span>
|
|
243
301
|
<span class="cline-any cline-neutral"> </span>
|
|
244
302
|
<span class="cline-any cline-neutral"> </span>
|
|
245
|
-
<span class="cline-any cline-yes">
|
|
246
|
-
<span class="cline-any cline-yes">
|
|
303
|
+
<span class="cline-any cline-yes">11x</span>
|
|
304
|
+
<span class="cline-any cline-yes">11x</span>
|
|
247
305
|
<span class="cline-any cline-neutral"> </span>
|
|
248
306
|
<span class="cline-any cline-neutral"> </span>
|
|
249
307
|
<span class="cline-any cline-neutral"> </span>
|
|
250
308
|
<span class="cline-any cline-neutral"> </span>
|
|
251
309
|
<span class="cline-any cline-neutral"> </span>
|
|
252
310
|
<span class="cline-any cline-neutral"> </span>
|
|
253
|
-
<span class="cline-any cline-yes">
|
|
254
|
-
<span class="cline-any cline-
|
|
311
|
+
<span class="cline-any cline-yes">4x</span>
|
|
312
|
+
<span class="cline-any cline-yes">1x</span>
|
|
255
313
|
<span class="cline-any cline-neutral"> </span>
|
|
256
314
|
<span class="cline-any cline-neutral"> </span>
|
|
257
|
-
<span class="cline-any cline-yes">
|
|
258
|
-
<span class="cline-any cline-yes">14x</span>
|
|
259
|
-
<span class="cline-any cline-yes">16x</span>
|
|
315
|
+
<span class="cline-any cline-yes">3x</span>
|
|
260
316
|
<span class="cline-any cline-neutral"> </span>
|
|
317
|
+
<span class="cline-any cline-yes">3x</span>
|
|
318
|
+
<span class="cline-any cline-yes">7x</span>
|
|
261
319
|
<span class="cline-any cline-neutral"> </span>
|
|
320
|
+
<span class="cline-any cline-yes">7x</span>
|
|
321
|
+
<span class="cline-any cline-yes">7x</span>
|
|
322
|
+
<span class="cline-any cline-yes">7x</span>
|
|
262
323
|
<span class="cline-any cline-neutral"> </span>
|
|
324
|
+
<span class="cline-any cline-yes">7x</span>
|
|
325
|
+
<span class="cline-any cline-yes">3x</span>
|
|
326
|
+
<span class="cline-any cline-yes">2x</span>
|
|
263
327
|
<span class="cline-any cline-neutral"> </span>
|
|
264
|
-
<span class="cline-any cline-yes">16x</span>
|
|
265
328
|
<span class="cline-any cline-neutral"> </span>
|
|
266
329
|
<span class="cline-any cline-neutral"> </span>
|
|
267
|
-
<span class="cline-any cline-yes">14x</span>
|
|
268
330
|
<span class="cline-any cline-neutral"> </span>
|
|
331
|
+
<span class="cline-any cline-yes">7x</span>
|
|
269
332
|
<span class="cline-any cline-neutral"> </span>
|
|
270
333
|
<span class="cline-any cline-neutral"> </span>
|
|
271
334
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -273,17 +336,21 @@
|
|
|
273
336
|
<span class="cline-any cline-neutral"> </span>
|
|
274
337
|
<span class="cline-any cline-neutral"> </span>
|
|
275
338
|
<span class="cline-any cline-neutral"> </span>
|
|
339
|
+
<span class="cline-any cline-yes">32x</span>
|
|
340
|
+
<span class="cline-any cline-yes">1x</span>
|
|
276
341
|
<span class="cline-any cline-neutral"> </span>
|
|
277
342
|
<span class="cline-any cline-neutral"> </span>
|
|
278
|
-
<span class="cline-any cline-yes">
|
|
279
|
-
<span class="cline-any cline-yes">
|
|
343
|
+
<span class="cline-any cline-yes">31x</span>
|
|
344
|
+
<span class="cline-any cline-yes">31x</span>
|
|
345
|
+
<span class="cline-any cline-yes">34x</span>
|
|
280
346
|
<span class="cline-any cline-neutral"> </span>
|
|
281
|
-
<span class="cline-any cline-yes">9x</span>
|
|
282
347
|
<span class="cline-any cline-neutral"> </span>
|
|
283
348
|
<span class="cline-any cline-neutral"> </span>
|
|
284
349
|
<span class="cline-any cline-neutral"> </span>
|
|
350
|
+
<span class="cline-any cline-yes">34x</span>
|
|
285
351
|
<span class="cline-any cline-neutral"> </span>
|
|
286
352
|
<span class="cline-any cline-neutral"> </span>
|
|
353
|
+
<span class="cline-any cline-yes">31x</span>
|
|
287
354
|
<span class="cline-any cline-neutral"> </span>
|
|
288
355
|
<span class="cline-any cline-neutral"> </span>
|
|
289
356
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -294,85 +361,124 @@
|
|
|
294
361
|
<span class="cline-any cline-neutral"> </span>
|
|
295
362
|
<span class="cline-any cline-neutral"> </span>
|
|
296
363
|
<span class="cline-any cline-neutral"> </span>
|
|
364
|
+
<span class="cline-any cline-yes">16x</span>
|
|
365
|
+
<span class="cline-any cline-yes">16x</span>
|
|
297
366
|
<span class="cline-any cline-neutral"> </span>
|
|
298
|
-
<span class="cline-any cline-yes">
|
|
367
|
+
<span class="cline-any cline-yes">22x</span>
|
|
299
368
|
<span class="cline-any cline-neutral"> </span>
|
|
300
|
-
<span class="cline-any cline-yes">8x</span>
|
|
301
|
-
<span class="cline-any cline-yes">4x</span>
|
|
302
369
|
<span class="cline-any cline-neutral"> </span>
|
|
303
370
|
<span class="cline-any cline-neutral"> </span>
|
|
304
371
|
<span class="cline-any cline-neutral"> </span>
|
|
305
372
|
<span class="cline-any cline-neutral"> </span>
|
|
306
373
|
<span class="cline-any cline-neutral"> </span>
|
|
307
|
-
<span class="cline-any cline-yes">8x</span>
|
|
308
374
|
<span class="cline-any cline-neutral"> </span>
|
|
309
|
-
<span class="cline-any cline-yes">8x</span>
|
|
310
|
-
<span class="cline-any cline-yes">1x</span>
|
|
311
375
|
<span class="cline-any cline-neutral"> </span>
|
|
312
376
|
<span class="cline-any cline-neutral"> </span>
|
|
313
|
-
<span class="cline-any cline-yes">7x</span>
|
|
314
|
-
<span class="cline-any cline-no"> </span>
|
|
315
377
|
<span class="cline-any cline-neutral"> </span>
|
|
316
378
|
<span class="cline-any cline-neutral"> </span>
|
|
317
|
-
<span class="cline-any cline-yes">7x</span>
|
|
318
379
|
<span class="cline-any cline-neutral"> </span>
|
|
319
380
|
<span class="cline-any cline-neutral"> </span>
|
|
320
381
|
<span class="cline-any cline-neutral"> </span>
|
|
321
|
-
<span class="cline-any cline-yes">7x</span>
|
|
322
382
|
<span class="cline-any cline-neutral"> </span>
|
|
323
|
-
<span class="cline-any cline-yes">7x</span>
|
|
324
383
|
<span class="cline-any cline-neutral"> </span>
|
|
384
|
+
<span class="cline-any cline-yes">19x</span>
|
|
325
385
|
<span class="cline-any cline-neutral"> </span>
|
|
386
|
+
<span class="cline-any cline-yes">19x</span>
|
|
387
|
+
<span class="cline-any cline-yes">11x</span>
|
|
326
388
|
<span class="cline-any cline-neutral"> </span>
|
|
327
389
|
<span class="cline-any cline-neutral"> </span>
|
|
328
390
|
<span class="cline-any cline-neutral"> </span>
|
|
329
|
-
<span class="cline-any cline-yes">7x</span>
|
|
330
391
|
<span class="cline-any cline-neutral"> </span>
|
|
331
|
-
<span class="cline-any cline-
|
|
332
|
-
<span class="cline-any cline-yes">
|
|
392
|
+
<span class="cline-any cline-neutral"> </span>
|
|
393
|
+
<span class="cline-any cline-yes">19x</span>
|
|
394
|
+
<span class="cline-any cline-neutral"> </span>
|
|
395
|
+
<span class="cline-any cline-yes">19x</span>
|
|
396
|
+
<span class="cline-any cline-yes">2x</span>
|
|
397
|
+
<span class="cline-any cline-neutral"> </span>
|
|
398
|
+
<span class="cline-any cline-neutral"> </span>
|
|
333
399
|
<span class="cline-any cline-yes">17x</span>
|
|
400
|
+
<span class="cline-any cline-yes">1x</span>
|
|
334
401
|
<span class="cline-any cline-neutral"> </span>
|
|
335
402
|
<span class="cline-any cline-neutral"> </span>
|
|
403
|
+
<span class="cline-any cline-yes">16x</span>
|
|
404
|
+
<span class="cline-any cline-neutral"> </span>
|
|
405
|
+
<span class="cline-any cline-yes">16x</span>
|
|
406
|
+
<span class="cline-any cline-neutral"> </span>
|
|
336
407
|
<span class="cline-any cline-neutral"> </span>
|
|
337
408
|
<span class="cline-any cline-neutral"> </span>
|
|
338
409
|
<span class="cline-any cline-yes">16x</span>
|
|
339
410
|
<span class="cline-any cline-neutral"> </span>
|
|
411
|
+
<span class="cline-any cline-yes">16x</span>
|
|
340
412
|
<span class="cline-any cline-neutral"> </span>
|
|
341
|
-
<span class="cline-any cline-yes">6x</span>
|
|
342
413
|
<span class="cline-any cline-neutral"> </span>
|
|
343
|
-
<span class="cline-any cline-yes">6x</span>
|
|
344
414
|
<span class="cline-any cline-neutral"> </span>
|
|
345
415
|
<span class="cline-any cline-neutral"> </span>
|
|
346
|
-
<span class="cline-any cline-yes">4x</span>
|
|
347
416
|
<span class="cline-any cline-neutral"> </span>
|
|
417
|
+
<span class="cline-any cline-yes">16x</span>
|
|
348
418
|
<span class="cline-any cline-neutral"> </span>
|
|
419
|
+
<span class="cline-any cline-yes">16x</span>
|
|
420
|
+
<span class="cline-any cline-yes">36x</span>
|
|
421
|
+
<span class="cline-any cline-yes">36x</span>
|
|
349
422
|
<span class="cline-any cline-neutral"> </span>
|
|
350
|
-
<span class="cline-any cline-yes">4x</span>
|
|
351
423
|
<span class="cline-any cline-neutral"> </span>
|
|
352
424
|
<span class="cline-any cline-neutral"> </span>
|
|
353
|
-
<span class="cline-any cline-yes">2x</span>
|
|
354
|
-
<span class="cline-any cline-yes">2x</span>
|
|
355
425
|
<span class="cline-any cline-neutral"> </span>
|
|
426
|
+
<span class="cline-any cline-yes">35x</span>
|
|
356
427
|
<span class="cline-any cline-neutral"> </span>
|
|
357
428
|
<span class="cline-any cline-neutral"> </span>
|
|
429
|
+
<span class="cline-any cline-yes">15x</span>
|
|
358
430
|
<span class="cline-any cline-neutral"> </span>
|
|
359
431
|
<span class="cline-any cline-neutral"> </span>
|
|
360
432
|
<span class="cline-any cline-neutral"> </span>
|
|
361
|
-
<span class="cline-any cline-
|
|
362
|
-
<span class="cline-any cline-yes">
|
|
363
|
-
<span class="cline-any cline-yes">
|
|
433
|
+
<span class="cline-any cline-neutral"> </span>
|
|
434
|
+
<span class="cline-any cline-yes">15x</span>
|
|
435
|
+
<span class="cline-any cline-yes">13x</span>
|
|
436
|
+
<span class="cline-any cline-neutral"> </span>
|
|
437
|
+
<span class="cline-any cline-neutral"> </span>
|
|
438
|
+
<span class="cline-any cline-neutral"> </span>
|
|
439
|
+
<span class="cline-any cline-neutral"> </span>
|
|
440
|
+
<span class="cline-any cline-yes">12x</span>
|
|
441
|
+
<span class="cline-any cline-neutral"> </span>
|
|
442
|
+
<span class="cline-any cline-yes">12x</span>
|
|
443
|
+
<span class="cline-any cline-yes">8x</span>
|
|
364
444
|
<span class="cline-any cline-neutral"> </span>
|
|
365
445
|
<span class="cline-any cline-neutral"> </span>
|
|
366
|
-
<span class="cline-any cline-yes">4x</span>
|
|
367
446
|
<span class="cline-any cline-neutral"> </span>
|
|
368
447
|
<span class="cline-any cline-yes">4x</span>
|
|
448
|
+
<span class="cline-any cline-neutral"> </span>
|
|
449
|
+
<span class="cline-any cline-neutral"> </span>
|
|
450
|
+
<span class="cline-any cline-neutral"> </span>
|
|
451
|
+
<span class="cline-any cline-neutral"> </span>
|
|
452
|
+
<span class="cline-any cline-yes">14x</span>
|
|
369
453
|
<span class="cline-any cline-yes">8x</span>
|
|
370
454
|
<span class="cline-any cline-neutral"> </span>
|
|
371
455
|
<span class="cline-any cline-neutral"> </span>
|
|
372
456
|
<span class="cline-any cline-neutral"> </span>
|
|
457
|
+
<span class="cline-any cline-yes">6x</span>
|
|
373
458
|
<span class="cline-any cline-neutral"> </span>
|
|
374
459
|
<span class="cline-any cline-neutral"> </span>
|
|
375
|
-
<span class="cline-any cline-yes">
|
|
460
|
+
<span class="cline-any cline-yes">14x</span>
|
|
461
|
+
<span class="cline-any cline-neutral"> </span>
|
|
462
|
+
<span class="cline-any cline-neutral"> </span>
|
|
463
|
+
<span class="cline-any cline-neutral"> </span>
|
|
464
|
+
<span class="cline-any cline-neutral"> </span>
|
|
465
|
+
<span class="cline-any cline-neutral"> </span>
|
|
466
|
+
<span class="cline-any cline-neutral"> </span>
|
|
467
|
+
<span class="cline-any cline-yes">11x</span>
|
|
468
|
+
<span class="cline-any cline-yes">11x</span>
|
|
469
|
+
<span class="cline-any cline-yes">11x</span>
|
|
470
|
+
<span class="cline-any cline-neutral"> </span>
|
|
471
|
+
<span class="cline-any cline-neutral"> </span>
|
|
472
|
+
<span class="cline-any cline-yes">11x</span>
|
|
473
|
+
<span class="cline-any cline-neutral"> </span>
|
|
474
|
+
<span class="cline-any cline-yes">11x</span>
|
|
475
|
+
<span class="cline-any cline-yes">19x</span>
|
|
476
|
+
<span class="cline-any cline-neutral"> </span>
|
|
477
|
+
<span class="cline-any cline-neutral"> </span>
|
|
478
|
+
<span class="cline-any cline-neutral"> </span>
|
|
479
|
+
<span class="cline-any cline-neutral"> </span>
|
|
480
|
+
<span class="cline-any cline-neutral"> </span>
|
|
481
|
+
<span class="cline-any cline-yes">8x</span>
|
|
376
482
|
<span class="cline-any cline-neutral"> </span>
|
|
377
483
|
<span class="cline-any cline-neutral"> </span>
|
|
378
484
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import {ModelsUniverse} from './models-universe';
|
|
@@ -380,13 +486,16 @@ import {Observatory} from './observatory';
|
|
|
380
486
|
|
|
381
487
|
import {ERRORS} from '../util/errors';
|
|
382
488
|
|
|
383
|
-
import {STRINGS} from '../config';
|
|
489
|
+
import {CONFIG, STRINGS} from '../config';
|
|
384
490
|
|
|
385
491
|
import {ChildInformation} from '../types/supercomputer';
|
|
386
492
|
import {Children, Config, Impl, ModelParams} from '../types/impl';
|
|
493
|
+
import {planetAggregator} from './planet-aggregator';
|
|
494
|
+
import {AggregationResult} from '../types/planet-aggregator';
|
|
387
495
|
|
|
388
496
|
const {ImplValidationError} = ERRORS;
|
|
389
497
|
|
|
498
|
+
const {AVERAGE_NAMES} = CONFIG;
|
|
390
499
|
const {STRUCTURE_MALFORMED} = STRINGS;
|
|
391
500
|
|
|
392
501
|
/**
|
|
@@ -396,18 +505,48 @@ export class Supercomputer {
|
|
|
396
505
|
private olderChild: ChildInformation = {name: '', info: {}};
|
|
397
506
|
private impl: Impl;
|
|
398
507
|
private modelsHandbook: ModelsUniverse;
|
|
508
|
+
private aggregatedImpacts: AggregationResult[] = [];
|
|
509
|
+
private childAmount = 0;
|
|
399
510
|
|
|
400
511
|
constructor(impl: Impl, modelsHandbook: ModelsUniverse) {
|
|
401
512
|
this.impl = impl;
|
|
402
513
|
this.modelsHandbook = modelsHandbook;
|
|
403
514
|
}
|
|
515
|
+
|
|
516
|
+
/**
|
|
517
|
+
* Goes through all aggregations collected from child components, then calculates the average.
|
|
518
|
+
*/
|
|
519
|
+
public calculateAggregation() {
|
|
520
|
+
if (!this.impl.aggregation) {
|
|
521
|
+
throw new ImplValidationError('Aggregation params are not provided.');
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
const method = this.impl.aggregation['aggregation-method'];
|
|
525
|
+
|
|
526
|
+
return this.aggregatedImpacts.reduce((acc, impact, index) => {
|
|
527
|
+
const keys = Object.keys(impact);
|
|
528
|
+
|
|
529
|
+
keys.forEach(key => {
|
|
530
|
+
acc[key] = acc[key] ?? 0;
|
|
531
|
+
acc[key] += impact[key];
|
|
532
|
+
|
|
533
|
+
if (index === this.childAmount - 1) {
|
|
534
|
+
if (AVERAGE_NAMES.includes(method)) {
|
|
535
|
+
acc[key] /= this.childAmount;
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
});
|
|
539
|
+
|
|
540
|
+
return acc;
|
|
541
|
+
}, {});
|
|
542
|
+
}
|
|
404
543
|
|
|
405
544
|
/**
|
|
406
545
|
* Flattens config entries.
|
|
407
546
|
*/
|
|
408
547
|
private flattenConfigValues(config: Config) {
|
|
409
|
-
|
|
410
|
-
|
|
548
|
+
if (!config) {
|
|
549
|
+
return {};
|
|
411
550
|
}
|
|
412
551
|
|
|
413
552
|
const configModelNames = Object.keys(config);
|
|
@@ -466,9 +605,11 @@ export class Supercomputer {
|
|
|
466
605
|
return this.compute(childrenObject[childName].children);
|
|
467
606
|
}
|
|
468
607
|
|
|
469
|
-
|
|
470
|
-
|
|
608
|
+
if (!('inputs' in childrenObject[childName])) {
|
|
609
|
+
throw new ImplValidationError(STRUCTURE_MALFORMED(childName));
|
|
471
610
|
}
|
|
611
|
+
|
|
612
|
+
this.childAmount++;
|
|
472
613
|
|
|
473
614
|
const specificInputs = areChildrenNested
|
|
474
615
|
? childrenObject[childName].inputs
|
|
@@ -495,18 +636,36 @@ export class Supercomputer {
|
|
|
495
636
|
}
|
|
496
637
|
|
|
497
638
|
const outputs = observatory.getOutputs();
|
|
639
|
+
|
|
640
|
+
/**
|
|
641
|
+
* If aggregation is required, then init `aggregated-outputs`.
|
|
642
|
+
*/
|
|
643
|
+
if (this.impl.aggregation) {
|
|
644
|
+
const aggregatedImpactsPerChild = planetAggregator(
|
|
645
|
+
outputs,
|
|
646
|
+
this.impl.aggregation
|
|
647
|
+
);
|
|
648
|
+
|
|
649
|
+
this.aggregatedImpacts.push(aggregatedImpactsPerChild);
|
|
650
|
+
|
|
651
|
+
if (areChildrenNested) {
|
|
652
|
+
this.impl.graph.children[this.olderChild.name].children[childName][
|
|
653
|
+
'aggregated-outputs'
|
|
654
|
+
] = aggregatedImpactsPerChild;
|
|
655
|
+
} else {
|
|
656
|
+
this.impl.graph.children[this.olderChild.name]['aggregated-outputs'] =
|
|
657
|
+
aggregatedImpactsPerChild;
|
|
658
|
+
}
|
|
659
|
+
}
|
|
498
660
|
|
|
499
661
|
if (areChildrenNested) {
|
|
500
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
501
|
-
// @ts-ignore
|
|
502
662
|
this.impl.graph.children[this.olderChild.name].children[
|
|
503
663
|
childName
|
|
504
|
-
].outputs =
|
|
505
|
-
|
|
506
|
-
|
|
664
|
+
].outputs = outputs;
|
|
665
|
+
} else {
|
|
666
|
+
this.impl.graph.children[this.olderChild.name].outputs = outputs;
|
|
507
667
|
}
|
|
508
668
|
|
|
509
|
-
this.impl.graph.children[this.olderChild.name].outputs = outputs;
|
|
510
669
|
return;
|
|
511
670
|
}
|
|
512
671
|
|
|
@@ -538,7 +697,7 @@ export class Supercomputer {
|
|
|
538
697
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
539
698
|
Code coverage generated by
|
|
540
699
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
541
|
-
at 2023-
|
|
700
|
+
at 2023-12-04T08:39:10.143Z
|
|
542
701
|
</div>
|
|
543
702
|
<script src="../prettify.js"></script>
|
|
544
703
|
<script>
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>25/25</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>23/23</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
<span class="cline-any cline-neutral"> </span>
|
|
143
143
|
<span class="cline-any cline-neutral"> </span>
|
|
144
144
|
<span class="cline-any cline-neutral"> </span>
|
|
145
|
-
<span class="cline-any cline-yes">
|
|
145
|
+
<span class="cline-any cline-yes">5x</span>
|
|
146
146
|
<span class="cline-any cline-neutral"> </span>
|
|
147
147
|
<span class="cline-any cline-neutral"> </span>
|
|
148
148
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -159,22 +159,22 @@
|
|
|
159
159
|
<span class="cline-any cline-neutral"> </span>
|
|
160
160
|
<span class="cline-any cline-neutral"> </span>
|
|
161
161
|
<span class="cline-any cline-yes">1x</span>
|
|
162
|
-
<span class="cline-any cline-yes">
|
|
162
|
+
<span class="cline-any cline-yes">5x</span>
|
|
163
163
|
<span class="cline-any cline-neutral"> </span>
|
|
164
|
-
<span class="cline-any cline-yes">
|
|
164
|
+
<span class="cline-any cline-yes">5x</span>
|
|
165
165
|
<span class="cline-any cline-yes">1x</span>
|
|
166
166
|
<span class="cline-any cline-yes">1x</span>
|
|
167
167
|
<span class="cline-any cline-neutral"> </span>
|
|
168
168
|
<span class="cline-any cline-neutral"> </span>
|
|
169
|
+
<span class="cline-any cline-yes">4x</span>
|
|
169
170
|
<span class="cline-any cline-yes">3x</span>
|
|
170
171
|
<span class="cline-any cline-yes">2x</span>
|
|
171
|
-
<span class="cline-any cline-yes">2x</span>
|
|
172
172
|
<span class="cline-any cline-neutral"> </span>
|
|
173
173
|
<span class="cline-any cline-neutral"> </span>
|
|
174
174
|
<span class="cline-any cline-neutral"> </span>
|
|
175
175
|
<span class="cline-any cline-neutral"> </span>
|
|
176
176
|
<span class="cline-any cline-neutral"> </span>
|
|
177
|
-
<span class="cline-any cline-
|
|
177
|
+
<span class="cline-any cline-yes">1x</span>
|
|
178
178
|
<span class="cline-any cline-neutral"> </span>
|
|
179
179
|
<span class="cline-any cline-neutral"> </span>
|
|
180
180
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -232,7 +232,7 @@ export const parseProcessArgument = () => {
|
|
|
232
232
|
};
|
|
233
233
|
}
|
|
234
234
|
|
|
235
|
-
|
|
235
|
+
throw new CliInputError(FILE_IS_NOT_YAML);
|
|
236
236
|
}
|
|
237
237
|
|
|
238
238
|
throw new CliInputError(IMPL_IS_MISSING);
|
|
@@ -244,7 +244,7 @@ export const parseProcessArgument = () => {
|
|
|
244
244
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
245
245
|
Code coverage generated by
|
|
246
246
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
247
|
-
at 2023-
|
|
247
|
+
at 2023-12-04T08:39:10.143Z
|
|
248
248
|
</div>
|
|
249
249
|
<script src="../prettify.js"></script>
|
|
250
250
|
<script>
|
|
@@ -87,7 +87,8 @@
|
|
|
87
87
|
<a name='L22'></a><a href='#L22'>22</a>
|
|
88
88
|
<a name='L23'></a><a href='#L23'>23</a>
|
|
89
89
|
<a name='L24'></a><a href='#L24'>24</a>
|
|
90
|
-
<a name='L25'></a><a href='#L25'>25</a
|
|
90
|
+
<a name='L25'></a><a href='#L25'>25</a>
|
|
91
|
+
<a name='L26'></a><a href='#L26'>26</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">4x</span>
|
|
91
92
|
<span class="cline-any cline-neutral"> </span>
|
|
92
93
|
<span class="cline-any cline-neutral"> </span>
|
|
93
94
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -98,22 +99,24 @@
|
|
|
98
99
|
<span class="cline-any cline-neutral"> </span>
|
|
99
100
|
<span class="cline-any cline-neutral"> </span>
|
|
100
101
|
<span class="cline-any cline-neutral"> </span>
|
|
101
|
-
<span class="cline-any cline-yes">3x</span>
|
|
102
|
-
<span class="cline-any cline-yes">12x</span>
|
|
103
102
|
<span class="cline-any cline-neutral"> </span>
|
|
103
|
+
<span class="cline-any cline-yes">4x</span>
|
|
104
|
+
<span class="cline-any cline-yes">20x</span>
|
|
104
105
|
<span class="cline-any cline-neutral"> </span>
|
|
105
106
|
<span class="cline-any cline-neutral"> </span>
|
|
106
|
-
<span class="cline-any cline-yes">6x</span>
|
|
107
|
-
<span class="cline-any cline-yes">6x</span>
|
|
108
107
|
<span class="cline-any cline-neutral"> </span>
|
|
108
|
+
<span class="cline-any cline-yes">14x</span>
|
|
109
|
+
<span class="cline-any cline-yes">14x</span>
|
|
109
110
|
<span class="cline-any cline-neutral"> </span>
|
|
110
111
|
<span class="cline-any cline-neutral"> </span>
|
|
111
112
|
<span class="cline-any cline-neutral"> </span>
|
|
112
|
-
<span class="cline-any cline-
|
|
113
|
+
<span class="cline-any cline-neutral"> </span>
|
|
114
|
+
<span class="cline-any cline-yes">20x</span>
|
|
113
115
|
<span class="cline-any cline-neutral"> </span>
|
|
114
116
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const CUSTOM_ERRORS = [
|
|
115
117
|
'CliInputError',
|
|
116
118
|
'ImplValidationError',
|
|
119
|
+
'InvalidAggregationParams',
|
|
117
120
|
'ModelInitializationError',
|
|
118
121
|
'ModelCredentialError',
|
|
119
122
|
] as const;
|
|
@@ -142,7 +145,7 @@ export const ERRORS = CUSTOM_ERRORS.reduce((acc, className) => {
|
|
|
142
145
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
143
146
|
Code coverage generated by
|
|
144
147
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
145
|
-
at 2023-
|
|
148
|
+
at 2023-12-04T08:39:10.143Z
|
|
146
149
|
</div>
|
|
147
150
|
<script src="../prettify.js"></script>
|
|
148
151
|
<script>
|