@grnsft/if 0.7.1 → 1.0.0-beta.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 (245) hide show
  1. package/CONTRIBUTING.md +19 -6
  2. package/ENABLEMENT.md +115 -0
  3. package/README.md +0 -6
  4. package/SECURITY.md +100 -0
  5. package/adopters.md +9 -0
  6. package/build/common/config/strings.d.ts +2 -0
  7. package/build/common/config/strings.js +5 -3
  8. package/build/common/util/logger.js +3 -3
  9. package/build/common/util/yaml.js +19 -7
  10. package/build/if-check/util/npm.js +55 -9
  11. package/build/if-run/builtins/divide/index.js +2 -4
  12. package/build/if-run/builtins/exponent/index.js +3 -5
  13. package/build/if-run/builtins/interpolation/index.js +18 -10
  14. package/build/if-run/builtins/shell/index.js +2 -2
  15. package/build/if-run/lib/compute.js +8 -10
  16. package/build/if-run/lib/explain.js +69 -44
  17. package/build/if-run/lib/initialize.js +2 -2
  18. package/build/if-run/lib/regroup.d.ts +1 -1
  19. package/build/if-run/lib/regroup.js +41 -49
  20. package/build/if-run/types/explain.d.ts +3 -7
  21. package/build/if-run/types/explain.js +1 -1
  22. package/build/if-run/util/aggregation-helper.js +3 -3
  23. package/manifests/examples/builtins/interpolation/success-with-off.yml +24 -0
  24. package/manifests/outputs/bugs/package.json +24 -0
  25. package/manifests/outputs/builtins/coefficient/package.json +24 -0
  26. package/manifests/outputs/builtins/csv-lookup/cloud-metadata/package.json +24 -0
  27. package/manifests/outputs/builtins/csv-lookup/region-metadata/package.json +24 -0
  28. package/manifests/outputs/builtins/csv-lookup/tdp-finder/package.json +24 -0
  29. package/manifests/outputs/builtins/divide/package.json +24 -0
  30. package/manifests/outputs/builtins/exponent/package.json +24 -0
  31. package/manifests/outputs/builtins/interpolation/package.json +24 -0
  32. package/manifests/outputs/builtins/mock-observations/package.json +24 -0
  33. package/manifests/outputs/builtins/multiply/package.json +24 -0
  34. package/manifests/outputs/builtins/regex/package.json +24 -0
  35. package/manifests/outputs/builtins/sci/package.json +24 -0
  36. package/manifests/outputs/builtins/sci-embodied/package.json +24 -0
  37. package/manifests/outputs/builtins/shell/package.json +24 -0
  38. package/manifests/outputs/builtins/subtract/package.json +24 -0
  39. package/manifests/outputs/builtins/sum/package.json +24 -0
  40. package/manifests/outputs/builtins/time-converter/package.json +24 -0
  41. package/manifests/outputs/builtins/time-sync/package.json +24 -0
  42. package/manifests/outputs/features/package.json +24 -0
  43. package/manifests/outputs/features/regroup/package.json +24 -0
  44. package/manifests/outputs/pipelines/package.json +24 -0
  45. package/okrs.md +14 -0
  46. package/package.json +2 -2
  47. package/src/if-run/builtins/interpolation/README.md +1 -1
  48. package/.env +0 -5
  49. package/coverage/clover.xml +0 -2045
  50. package/coverage/coverage-final.json +0 -55
  51. package/coverage/lcov-report/base.css +0 -224
  52. package/coverage/lcov-report/block-navigation.js +0 -87
  53. package/coverage/lcov-report/builtins/coefficient/index.html +0 -116
  54. package/coverage/lcov-report/builtins/coefficient/index.ts.html +0 -298
  55. package/coverage/lcov-report/builtins/csv-lookup/index.html +0 -116
  56. package/coverage/lcov-report/builtins/csv-lookup/index.ts.html +0 -826
  57. package/coverage/lcov-report/builtins/divide/index.html +0 -116
  58. package/coverage/lcov-report/builtins/divide/index.ts.html +0 -358
  59. package/coverage/lcov-report/builtins/exponent/index.html +0 -116
  60. package/coverage/lcov-report/builtins/exponent/index.ts.html +0 -361
  61. package/coverage/lcov-report/builtins/export-csv-raw.ts.html +0 -553
  62. package/coverage/lcov-report/builtins/export-csv.ts.html +0 -436
  63. package/coverage/lcov-report/builtins/export-log.ts.html +0 -148
  64. package/coverage/lcov-report/builtins/export-yaml.ts.html +0 -193
  65. package/coverage/lcov-report/builtins/group-by.ts.html +0 -370
  66. package/coverage/lcov-report/builtins/index.html +0 -206
  67. package/coverage/lcov-report/builtins/index.ts.html +0 -130
  68. package/coverage/lcov-report/builtins/interpolation/index.html +0 -116
  69. package/coverage/lcov-report/builtins/interpolation/index.ts.html +0 -676
  70. package/coverage/lcov-report/builtins/interpolation/types.ts.html +0 -100
  71. package/coverage/lcov-report/builtins/mock-observations/helpers/common-generator.ts.html +0 -184
  72. package/coverage/lcov-report/builtins/mock-observations/helpers/index.html +0 -131
  73. package/coverage/lcov-report/builtins/mock-observations/helpers/rand-int-generator.ts.html +0 -289
  74. package/coverage/lcov-report/builtins/mock-observations/index.html +0 -116
  75. package/coverage/lcov-report/builtins/mock-observations/index.ts.html +0 -619
  76. package/coverage/lcov-report/builtins/multiply/index.html +0 -116
  77. package/coverage/lcov-report/builtins/multiply/index.ts.html +0 -343
  78. package/coverage/lcov-report/builtins/regex/index.html +0 -116
  79. package/coverage/lcov-report/builtins/regex/index.ts.html +0 -373
  80. package/coverage/lcov-report/builtins/sci/config.ts.html +0 -205
  81. package/coverage/lcov-report/builtins/sci/index.html +0 -116
  82. package/coverage/lcov-report/builtins/sci/index.ts.html +0 -325
  83. package/coverage/lcov-report/builtins/sci-embodied/index.html +0 -116
  84. package/coverage/lcov-report/builtins/sci-embodied/index.ts.html +0 -478
  85. package/coverage/lcov-report/builtins/shell/index.html +0 -116
  86. package/coverage/lcov-report/builtins/shell/index.ts.html +0 -280
  87. package/coverage/lcov-report/builtins/subtract/index.html +0 -116
  88. package/coverage/lcov-report/builtins/subtract/index.ts.html +0 -379
  89. package/coverage/lcov-report/builtins/sum/index.html +0 -116
  90. package/coverage/lcov-report/builtins/sum/index.ts.html +0 -334
  91. package/coverage/lcov-report/builtins/time-sync.ts.html +0 -1462
  92. package/coverage/lcov-report/common/config/index.html +0 -131
  93. package/coverage/lcov-report/common/config/index.ts.html +0 -88
  94. package/coverage/lcov-report/common/config/strings.ts.html +0 -121
  95. package/coverage/lcov-report/common/lib/index.html +0 -116
  96. package/coverage/lcov-report/common/lib/load.ts.html +0 -139
  97. package/coverage/lcov-report/common/util/debug-logger.ts.html +0 -511
  98. package/coverage/lcov-report/common/util/fs.ts.html +0 -289
  99. package/coverage/lcov-report/common/util/helpers.ts.html +0 -280
  100. package/coverage/lcov-report/common/util/index.html +0 -191
  101. package/coverage/lcov-report/common/util/logger.ts.html +0 -151
  102. package/coverage/lcov-report/common/util/validations.ts.html +0 -613
  103. package/coverage/lcov-report/common/util/yaml.ts.html +0 -193
  104. package/coverage/lcov-report/config/config.ts.html +0 -463
  105. package/coverage/lcov-report/config/index.html +0 -161
  106. package/coverage/lcov-report/config/index.ts.html +0 -94
  107. package/coverage/lcov-report/config/params.ts.html +0 -697
  108. package/coverage/lcov-report/config/strings.ts.html +0 -490
  109. package/coverage/lcov-report/favicon.png +0 -0
  110. package/coverage/lcov-report/if-check/config/config.ts.html +0 -184
  111. package/coverage/lcov-report/if-check/config/index.html +0 -146
  112. package/coverage/lcov-report/if-check/config/index.ts.html +0 -91
  113. package/coverage/lcov-report/if-check/config/strings.ts.html +0 -142
  114. package/coverage/lcov-report/if-check/util/args.ts.html +0 -304
  115. package/coverage/lcov-report/if-check/util/helpers.ts.html +0 -136
  116. package/coverage/lcov-report/if-check/util/index.html +0 -146
  117. package/coverage/lcov-report/if-check/util/npm.ts.html +0 -232
  118. package/coverage/lcov-report/if-csv/util/helpers.ts.html +0 -346
  119. package/coverage/lcov-report/if-csv/util/index.html +0 -116
  120. package/coverage/lcov-report/if-diff/config/config.ts.html +0 -184
  121. package/coverage/lcov-report/if-diff/config/index.html +0 -146
  122. package/coverage/lcov-report/if-diff/config/index.ts.html +0 -91
  123. package/coverage/lcov-report/if-diff/config/strings.ts.html +0 -100
  124. package/coverage/lcov-report/if-diff/lib/compare.ts.html +0 -286
  125. package/coverage/lcov-report/if-diff/lib/index.html +0 -131
  126. package/coverage/lcov-report/if-diff/lib/load.ts.html +0 -199
  127. package/coverage/lcov-report/if-diff/util/args.ts.html +0 -268
  128. package/coverage/lcov-report/if-diff/util/helpers.ts.html +0 -337
  129. package/coverage/lcov-report/if-diff/util/index.html +0 -131
  130. package/coverage/lcov-report/if-env/config/config.ts.html +0 -211
  131. package/coverage/lcov-report/if-env/config/index.html +0 -146
  132. package/coverage/lcov-report/if-env/config/index.ts.html +0 -91
  133. package/coverage/lcov-report/if-env/config/strings.ts.html +0 -109
  134. package/coverage/lcov-report/if-env/util/args.ts.html +0 -250
  135. package/coverage/lcov-report/if-env/util/index.html +0 -131
  136. package/coverage/lcov-report/if-env/util/npm.ts.html +0 -526
  137. package/coverage/lcov-report/if-merge/util/args.ts.html +0 -295
  138. package/coverage/lcov-report/if-merge/util/helpers.ts.html +0 -301
  139. package/coverage/lcov-report/if-merge/util/index.html +0 -131
  140. package/coverage/lcov-report/if-run/builtins/coefficient/index.html +0 -116
  141. package/coverage/lcov-report/if-run/builtins/coefficient/index.ts.html +0 -382
  142. package/coverage/lcov-report/if-run/builtins/copy-param/index.html +0 -116
  143. package/coverage/lcov-report/if-run/builtins/copy-param/index.ts.html +0 -415
  144. package/coverage/lcov-report/if-run/builtins/csv-lookup/index.html +0 -116
  145. package/coverage/lcov-report/if-run/builtins/csv-lookup/index.ts.html +0 -868
  146. package/coverage/lcov-report/if-run/builtins/divide/index.html +0 -116
  147. package/coverage/lcov-report/if-run/builtins/divide/index.ts.html +0 -469
  148. package/coverage/lcov-report/if-run/builtins/exponent/index.html +0 -116
  149. package/coverage/lcov-report/if-run/builtins/exponent/index.ts.html +0 -394
  150. package/coverage/lcov-report/if-run/builtins/export-csv-raw.ts.html +0 -553
  151. package/coverage/lcov-report/if-run/builtins/export-csv.ts.html +0 -436
  152. package/coverage/lcov-report/if-run/builtins/export-log.ts.html +0 -148
  153. package/coverage/lcov-report/if-run/builtins/export-yaml.ts.html +0 -193
  154. package/coverage/lcov-report/if-run/builtins/group-by.ts.html +0 -370
  155. package/coverage/lcov-report/if-run/builtins/index.html +0 -146
  156. package/coverage/lcov-report/if-run/builtins/index.ts.html +0 -133
  157. package/coverage/lcov-report/if-run/builtins/interpolation/index.html +0 -116
  158. package/coverage/lcov-report/if-run/builtins/interpolation/index.ts.html +0 -709
  159. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/common-generator.ts.html +0 -184
  160. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/index.html +0 -131
  161. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/rand-int-generator.ts.html +0 -289
  162. package/coverage/lcov-report/if-run/builtins/mock-observations/index.html +0 -116
  163. package/coverage/lcov-report/if-run/builtins/mock-observations/index.ts.html +0 -709
  164. package/coverage/lcov-report/if-run/builtins/multiply/index.html +0 -116
  165. package/coverage/lcov-report/if-run/builtins/multiply/index.ts.html +0 -406
  166. package/coverage/lcov-report/if-run/builtins/regex/index.html +0 -116
  167. package/coverage/lcov-report/if-run/builtins/regex/index.ts.html +0 -433
  168. package/coverage/lcov-report/if-run/builtins/sci/index.html +0 -116
  169. package/coverage/lcov-report/if-run/builtins/sci/index.ts.html +0 -502
  170. package/coverage/lcov-report/if-run/builtins/sci-embodied/index.html +0 -116
  171. package/coverage/lcov-report/if-run/builtins/sci-embodied/index.ts.html +0 -577
  172. package/coverage/lcov-report/if-run/builtins/shell/index.html +0 -116
  173. package/coverage/lcov-report/if-run/builtins/shell/index.ts.html +0 -343
  174. package/coverage/lcov-report/if-run/builtins/subtract/index.html +0 -116
  175. package/coverage/lcov-report/if-run/builtins/subtract/index.ts.html +0 -418
  176. package/coverage/lcov-report/if-run/builtins/sum/index.html +0 -116
  177. package/coverage/lcov-report/if-run/builtins/sum/index.ts.html +0 -400
  178. package/coverage/lcov-report/if-run/builtins/time-converter/config.ts.html +0 -205
  179. package/coverage/lcov-report/if-run/builtins/time-converter/index.html +0 -131
  180. package/coverage/lcov-report/if-run/builtins/time-converter/index.ts.html +0 -412
  181. package/coverage/lcov-report/if-run/builtins/time-sync/index.html +0 -116
  182. package/coverage/lcov-report/if-run/builtins/time-sync/index.ts.html +0 -1651
  183. package/coverage/lcov-report/if-run/builtins/time-sync.ts.html +0 -1462
  184. package/coverage/lcov-report/if-run/config/config.ts.html +0 -271
  185. package/coverage/lcov-report/if-run/config/index.html +0 -161
  186. package/coverage/lcov-report/if-run/config/index.ts.html +0 -94
  187. package/coverage/lcov-report/if-run/config/params.ts.html +0 -679
  188. package/coverage/lcov-report/if-run/config/strings.ts.html +0 -460
  189. package/coverage/lcov-report/if-run/lib/aggregate.ts.html +0 -580
  190. package/coverage/lcov-report/if-run/lib/compute.ts.html +0 -709
  191. package/coverage/lcov-report/if-run/lib/environment.ts.html +0 -373
  192. package/coverage/lcov-report/if-run/lib/exhaust.ts.html +0 -193
  193. package/coverage/lcov-report/if-run/lib/explain.ts.html +0 -217
  194. package/coverage/lcov-report/if-run/lib/index.html +0 -206
  195. package/coverage/lcov-report/if-run/lib/initialize.ts.html +0 -475
  196. package/coverage/lcov-report/if-run/lib/parameterize.ts.html +0 -322
  197. package/coverage/lcov-report/if-run/lib/regroup.ts.html +0 -325
  198. package/coverage/lcov-report/if-run/lib/time-sync.ts.html +0 -1510
  199. package/coverage/lcov-report/if-run/types/aggregation.ts.html +0 -94
  200. package/coverage/lcov-report/if-run/types/index.html +0 -146
  201. package/coverage/lcov-report/if-run/types/interface.ts.html +0 -112
  202. package/coverage/lcov-report/if-run/types/parameters.ts.html +0 -106
  203. package/coverage/lcov-report/if-run/util/aggregation-helper.ts.html +0 -280
  204. package/coverage/lcov-report/if-run/util/args.ts.html +0 -313
  205. package/coverage/lcov-report/if-run/util/helpers.ts.html +0 -304
  206. package/coverage/lcov-report/if-run/util/index.html +0 -191
  207. package/coverage/lcov-report/if-run/util/json.ts.html +0 -115
  208. package/coverage/lcov-report/if-run/util/log-memoize.ts.html +0 -145
  209. package/coverage/lcov-report/if-run/util/os-checker.ts.html +0 -421
  210. package/coverage/lcov-report/if-run/util/plugin-storage.ts.html +0 -202
  211. package/coverage/lcov-report/index.html +0 -521
  212. package/coverage/lcov-report/lib/aggregate.ts.html +0 -358
  213. package/coverage/lcov-report/lib/compare.ts.html +0 -286
  214. package/coverage/lcov-report/lib/compute.ts.html +0 -436
  215. package/coverage/lcov-report/lib/environment.ts.html +0 -376
  216. package/coverage/lcov-report/lib/exhaust.ts.html +0 -289
  217. package/coverage/lcov-report/lib/index.html +0 -221
  218. package/coverage/lcov-report/lib/initialize.ts.html +0 -430
  219. package/coverage/lcov-report/lib/load.ts.html +0 -268
  220. package/coverage/lcov-report/lib/parameterize.ts.html +0 -316
  221. package/coverage/lcov-report/prettify.css +0 -1
  222. package/coverage/lcov-report/prettify.js +0 -2
  223. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  224. package/coverage/lcov-report/sorter.js +0 -196
  225. package/coverage/lcov-report/types/aggregation.ts.html +0 -94
  226. package/coverage/lcov-report/types/index.html +0 -146
  227. package/coverage/lcov-report/types/interface.ts.html +0 -112
  228. package/coverage/lcov-report/types/parameters.ts.html +0 -106
  229. package/coverage/lcov-report/util/aggregation-helper.ts.html +0 -289
  230. package/coverage/lcov-report/util/args.ts.html +0 -649
  231. package/coverage/lcov-report/util/debug-logger.ts.html +0 -481
  232. package/coverage/lcov-report/util/errors.ts.html +0 -232
  233. package/coverage/lcov-report/util/fs.ts.html +0 -124
  234. package/coverage/lcov-report/util/helpers.ts.html +0 -895
  235. package/coverage/lcov-report/util/index.html +0 -296
  236. package/coverage/lcov-report/util/json.ts.html +0 -115
  237. package/coverage/lcov-report/util/log-memoize.ts.html +0 -145
  238. package/coverage/lcov-report/util/logger.ts.html +0 -151
  239. package/coverage/lcov-report/util/npm.ts.html +0 -499
  240. package/coverage/lcov-report/util/os-checker.ts.html +0 -421
  241. package/coverage/lcov-report/util/plugin-storage.ts.html +0 -202
  242. package/coverage/lcov-report/util/validations.ts.html +0 -544
  243. package/coverage/lcov-report/util/yaml.ts.html +0 -193
  244. package/coverage/lcov.info +0 -3392
  245. package/manifests/outputs/features/regroup/test.yml +0 -92
@@ -1,709 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for if-run/lib/compute.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">if-run/lib</a> compute.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">92.3% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>72/78</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">75.55% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>34/45</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'>6/6</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">92.2% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>71/77</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>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
275
- <span class="cline-any cline-neutral">&nbsp;</span>
276
- <span class="cline-any cline-yes">1x</span>
277
- <span class="cline-any cline-yes">1x</span>
278
- <span class="cline-any cline-neutral">&nbsp;</span>
279
- <span class="cline-any cline-yes">1x</span>
280
- <span class="cline-any cline-yes">1x</span>
281
- <span class="cline-any cline-neutral">&nbsp;</span>
282
- <span class="cline-any cline-yes">1x</span>
283
- <span class="cline-any cline-neutral">&nbsp;</span>
284
- <span class="cline-any cline-yes">1x</span>
285
- <span class="cline-any cline-neutral">&nbsp;</span>
286
- <span class="cline-any cline-neutral">&nbsp;</span>
287
- <span class="cline-any cline-yes">1x</span>
288
- <span class="cline-any cline-neutral">&nbsp;</span>
289
- <span class="cline-any cline-neutral">&nbsp;</span>
290
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
294
- <span class="cline-any cline-neutral">&nbsp;</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-yes">1x</span>
298
- <span class="cline-any cline-neutral">&nbsp;</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-yes">1x</span>
303
- <span class="cline-any cline-yes">9x</span>
304
- <span class="cline-any cline-yes">10x</span>
305
- <span class="cline-any cline-yes">10x</span>
306
- <span class="cline-any cline-neutral">&nbsp;</span>
307
- <span class="cline-any cline-neutral">&nbsp;</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-yes">1x</span>
313
- <span class="cline-any cline-neutral">&nbsp;</span>
314
- <span class="cline-any cline-neutral">&nbsp;</span>
315
- <span class="cline-any cline-neutral">&nbsp;</span>
316
- <span class="cline-any cline-yes">9x</span>
317
- <span class="cline-any cline-yes">7x</span>
318
- <span class="cline-any cline-yes">6x</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-yes">2x</span>
325
- <span class="cline-any cline-neutral">&nbsp;</span>
326
- <span class="cline-any cline-yes">2x</span>
327
- <span class="cline-any cline-neutral">&nbsp;</span>
328
- <span class="cline-any cline-neutral">&nbsp;</span>
329
- <span class="cline-any cline-neutral">&nbsp;</span>
330
- <span class="cline-any cline-neutral">&nbsp;</span>
331
- <span class="cline-any cline-neutral">&nbsp;</span>
332
- <span class="cline-any cline-neutral">&nbsp;</span>
333
- <span class="cline-any cline-neutral">&nbsp;</span>
334
- <span class="cline-any cline-neutral">&nbsp;</span>
335
- <span class="cline-any cline-neutral">&nbsp;</span>
336
- <span class="cline-any cline-neutral">&nbsp;</span>
337
- <span class="cline-any cline-neutral">&nbsp;</span>
338
- <span class="cline-any cline-neutral">&nbsp;</span>
339
- <span class="cline-any cline-neutral">&nbsp;</span>
340
- <span class="cline-any cline-neutral">&nbsp;</span>
341
- <span class="cline-any cline-neutral">&nbsp;</span>
342
- <span class="cline-any cline-neutral">&nbsp;</span>
343
- <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-neutral">&nbsp;</span>
345
- <span class="cline-any cline-yes">1x</span>
346
- <span class="cline-any cline-yes">17x</span>
347
- <span class="cline-any cline-yes">17x</span>
348
- <span class="cline-any cline-yes">17x</span>
349
- <span class="cline-any cline-yes">17x</span>
350
- <span class="cline-any cline-neutral">&nbsp;</span>
351
- <span class="cline-any cline-yes">17x</span>
352
- <span class="cline-any cline-yes">17x</span>
353
- <span class="cline-any cline-neutral">&nbsp;</span>
354
- <span class="cline-any cline-yes">17x</span>
355
- <span class="cline-any cline-yes">8x</span>
356
- <span class="cline-any cline-neutral">&nbsp;</span>
357
- <span class="cline-any cline-neutral">&nbsp;</span>
358
- <span class="cline-any cline-neutral">&nbsp;</span>
359
- <span class="cline-any cline-neutral">&nbsp;</span>
360
- <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-neutral">&nbsp;</span>
362
- <span class="cline-any cline-neutral">&nbsp;</span>
363
- <span class="cline-any cline-yes">9x</span>
364
- <span class="cline-any cline-yes">9x</span>
365
- <span class="cline-any cline-yes">9x</span>
366
- <span class="cline-any cline-neutral">&nbsp;</span>
367
- <span class="cline-any cline-neutral">&nbsp;</span>
368
- <span class="cline-any cline-yes">9x</span>
369
- <span class="cline-any cline-neutral">&nbsp;</span>
370
- <span class="cline-any cline-neutral">&nbsp;</span>
371
- <span class="cline-any cline-neutral">&nbsp;</span>
372
- <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-neutral">&nbsp;</span>
374
- <span class="cline-any cline-yes">1x</span>
375
- <span class="cline-any cline-neutral">&nbsp;</span>
376
- <span class="cline-any cline-neutral">&nbsp;</span>
377
- <span class="cline-any cline-neutral">&nbsp;</span>
378
- <span class="cline-any cline-neutral">&nbsp;</span>
379
- <span class="cline-any cline-neutral">&nbsp;</span>
380
- <span class="cline-any cline-yes">9x</span>
381
- <span class="cline-any cline-yes">1x</span>
382
- <span class="cline-any cline-yes">1x</span>
383
- <span class="cline-any cline-yes">1x</span>
384
- <span class="cline-any cline-yes">1x</span>
385
- <span class="cline-any cline-neutral">&nbsp;</span>
386
- <span class="cline-any cline-yes">1x</span>
387
- <span class="cline-any cline-yes">1x</span>
388
- <span class="cline-any cline-neutral">&nbsp;</span>
389
- <span class="cline-any cline-yes">1x</span>
390
- <span class="cline-any cline-yes">1x</span>
391
- <span class="cline-any cline-yes">1x</span>
392
- <span class="cline-any cline-neutral">&nbsp;</span>
393
- <span class="cline-any cline-yes">1x</span>
394
- <span class="cline-any cline-no">&nbsp;</span>
395
- <span class="cline-any cline-neutral">&nbsp;</span>
396
- <span class="cline-any cline-neutral">&nbsp;</span>
397
- <span class="cline-any cline-neutral">&nbsp;</span>
398
- <span class="cline-any cline-neutral">&nbsp;</span>
399
- <span class="cline-any cline-neutral">&nbsp;</span>
400
- <span class="cline-any cline-neutral">&nbsp;</span>
401
- <span class="cline-any cline-neutral">&nbsp;</span>
402
- <span class="cline-any cline-neutral">&nbsp;</span>
403
- <span class="cline-any cline-neutral">&nbsp;</span>
404
- <span class="cline-any cline-neutral">&nbsp;</span>
405
- <span class="cline-any cline-neutral">&nbsp;</span>
406
- <span class="cline-any cline-neutral">&nbsp;</span>
407
- <span class="cline-any cline-yes">9x</span>
408
- <span class="cline-any cline-yes">1x</span>
409
- <span class="cline-any cline-yes">1x</span>
410
- <span class="cline-any cline-yes">1x</span>
411
- <span class="cline-any cline-neutral">&nbsp;</span>
412
- <span class="cline-any cline-yes">1x</span>
413
- <span class="cline-any cline-yes">1x</span>
414
- <span class="cline-any cline-neutral">&nbsp;</span>
415
- <span class="cline-any cline-yes">1x</span>
416
- <span class="cline-any cline-neutral">&nbsp;</span>
417
- <span class="cline-any cline-neutral">&nbsp;</span>
418
- <span class="cline-any cline-neutral">&nbsp;</span>
419
- <span class="cline-any cline-neutral">&nbsp;</span>
420
- <span class="cline-any cline-neutral">&nbsp;</span>
421
- <span class="cline-any cline-neutral">&nbsp;</span>
422
- <span class="cline-any cline-neutral">&nbsp;</span>
423
- <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-neutral">&nbsp;</span>
425
- <span class="cline-any cline-neutral">&nbsp;</span>
426
- <span class="cline-any cline-yes">8x</span>
427
- <span class="cline-any cline-neutral">&nbsp;</span>
428
- <span class="cline-any cline-neutral">&nbsp;</span>
429
- <span class="cline-any cline-neutral">&nbsp;</span>
430
- <span class="cline-any cline-neutral">&nbsp;</span>
431
- <span class="cline-any cline-yes">8x</span>
432
- <span class="cline-any cline-yes">5x</span>
433
- <span class="cline-any cline-yes">5x</span>
434
- <span class="cline-any cline-yes">5x</span>
435
- <span class="cline-any cline-yes">5x</span>
436
- <span class="cline-any cline-neutral">&nbsp;</span>
437
- <span class="cline-any cline-yes">5x</span>
438
- <span class="cline-any cline-yes">5x</span>
439
- <span class="cline-any cline-neutral">&nbsp;</span>
440
- <span class="cline-any cline-yes">5x</span>
441
- <span class="cline-any cline-yes">5x</span>
442
- <span class="cline-any cline-yes">5x</span>
443
- <span class="cline-any cline-neutral">&nbsp;</span>
444
- <span class="cline-any cline-yes">5x</span>
445
- <span class="cline-any cline-neutral">&nbsp;</span>
446
- <span class="cline-any cline-yes">5x</span>
447
- <span class="cline-any cline-no">&nbsp;</span>
448
- <span class="cline-any cline-neutral">&nbsp;</span>
449
- <span class="cline-any cline-neutral">&nbsp;</span>
450
- <span class="cline-any cline-neutral">&nbsp;</span>
451
- <span class="cline-any cline-neutral">&nbsp;</span>
452
- <span class="cline-any cline-neutral">&nbsp;</span>
453
- <span class="cline-any cline-neutral">&nbsp;</span>
454
- <span class="cline-any cline-neutral">&nbsp;</span>
455
- <span class="cline-any cline-neutral">&nbsp;</span>
456
- <span class="cline-any cline-yes">8x</span>
457
- <span class="cline-any cline-neutral">&nbsp;</span>
458
- <span class="cline-any cline-neutral">&nbsp;</span>
459
- <span class="cline-any cline-neutral">&nbsp;</span>
460
- <span class="cline-any cline-neutral">&nbsp;</span>
461
- <span class="cline-any cline-neutral">&nbsp;</span>
462
- <span class="cline-any cline-yes">1x</span>
463
- <span class="cline-any cline-yes">17x</span>
464
- <span class="cline-any cline-no">&nbsp;</span>
465
- <span class="cline-any cline-no">&nbsp;</span>
466
- <span class="cline-any cline-no">&nbsp;</span>
467
- <span class="cline-any cline-neutral">&nbsp;</span>
468
- <span class="cline-any cline-no">&nbsp;</span>
469
- <span class="cline-any cline-neutral">&nbsp;</span>
470
- <span class="cline-any cline-neutral">&nbsp;</span>
471
- <span class="cline-any cline-neutral">&nbsp;</span>
472
- <span class="cline-any cline-neutral">&nbsp;</span>
473
- <span class="cline-any cline-neutral">&nbsp;</span>
474
- <span class="cline-any cline-neutral">&nbsp;</span>
475
- <span class="cline-any cline-yes">1x</span>
476
- <span class="cline-any cline-yes">7x</span>
477
- <span class="cline-any cline-neutral">&nbsp;</span>
478
- <span class="cline-any cline-yes">7x</span>
479
- <span class="cline-any cline-neutral">&nbsp;</span>
480
- <span class="cline-any cline-yes">7x</span>
481
- <span class="cline-any cline-neutral">&nbsp;</span>
482
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {PluginParams} from '@grnsft/if-core/types';
483
- &nbsp;
484
- import {Regroup} from './regroup';
485
- import {addExplainData} from './explain';
486
- &nbsp;
487
- import {debugLogger} from '../../common/util/debug-logger';
488
- import {logger} from '../../common/util/logger';
489
- &nbsp;
490
- import {mergeObjects} from '../util/helpers';
491
- &nbsp;
492
- import {STRINGS} from '../config/strings';
493
- &nbsp;
494
- import {ComputeParams, Node, PhasedPipeline} from '../types/compute';
495
- import {isExecute} from '../types/interface';
496
- &nbsp;
497
- const {
498
- MERGING_DEFAULTS_WITH_INPUT_DATA,
499
- EMPTY_PIPELINE,
500
- CONFIG_WARN,
501
- COMPUTING_PIPELINE_FOR_NODE,
502
- COMPUTING_COMPONENT_PIPELINE,
503
- REGROUPING,
504
- OBSERVING,
505
- } = STRINGS;
506
- &nbsp;
507
- /**
508
- * Traverses all child nodes based on children grouping.
509
- */
510
- const traverse = async (children: any, params: ComputeParams) =&gt; {
511
- for (const child in children) {
512
- console.debug(COMPUTING_COMPONENT_PIPELINE(child));
513
- await computeNode(children[child], params);
514
- }
515
- };
516
- &nbsp;
517
- /**
518
- * Appends `default` values to `inputs`.
519
- */
520
- const mergeDefaults = (
521
- inputs: PluginParams[],
522
- defaults: PluginParams | undefined
523
- ) =&gt; {
524
- if (inputs) {
525
- const response = defaults
526
- ? inputs.map(input =&gt; mergeObjects(defaults, input))
527
- : inputs;
528
- &nbsp;
529
- return response;
530
- }
531
- &nbsp;
532
- console.debug(MERGING_DEFAULTS_WITH_INPUT_DATA, '\n');
533
- &nbsp;
534
- return defaults ? [defaults] : [];
535
- };
536
- &nbsp;
537
- /**
538
- * 1. If the node has it's own pipeline, defaults or config then use that,
539
- * otherwise use whatever has been passed down from further up the tree.
540
- * 2. If it's a grouping node, then first of all computes all it's children.
541
- * This is doing a depth first traversal.
542
- * 3. Otherwise merges the defaults into the inputs.
543
- * 4. Iterates over pipeline phases (observe, regroup, compute).
544
- * 5. Observe plugins are used to insert input values
545
- * (isolated execution can be achived by passing `--observe` flag to CLI command).
546
- * 6. Regroup plugin is used to group existing inputs by criteria
547
- * (isolated execution can be achived by passing `--regroup` flag to CLI command).
548
- * Since it creates new children for node, existing inputs and outputs are dropped and recursive traversal is called
549
- * for newbord child component.
550
- * 7. Compute plugins are used to do desired computations and appending the result to outputs
551
- * (isolated execution can be achived by passing `--compute` flag to CLI command).
552
- */
553
- const computeNode = async (node: Node, params: ComputeParams): Promise&lt;any&gt; =&gt; {
554
- const pipeline = node.pipeline || (params.pipeline as PhasedPipeline);
555
- const config = node.config || params.config;
556
- const defaults = node.defaults || params.defaults;
557
- const noFlags = !params.observe &amp;&amp; !params.regroup &amp;&amp; !params.compute;
558
- &nbsp;
559
- debugLogger.setExecutingPluginName();
560
- warnIfConfigProvided(node);
561
- &nbsp;
562
- if (node.children) {
563
- return traverse(node.children, {
564
- ...params,
565
- pipeline,
566
- defaults,
567
- config,
568
- });
569
- }
570
- &nbsp;
571
- let inputStorage = structuredClone(node.inputs) as PluginParams[];
572
- inputStorage = mergeDefaults(inputStorage, defaults);
573
- const pipelineCopy = structuredClone(pipeline) || <span class="branch-1 cbranch-no" title="branch not covered" >{};</span>
574
- &nbsp;
575
- /** Checks if pipeline is not an array or empty object. */
576
- if (
577
- Array.isArray(pipelineCopy) ||
578
- (typeof pipelineCopy === 'object' &amp;&amp;
579
- pipelineCopy !== null &amp;&amp;
580
- Object.keys(pipelineCopy).length === 0)
581
- ) {
582
- logger.warn(EMPTY_PIPELINE);
583
- }
584
- &nbsp;
585
- /**
586
- * If iteration is on observe pipeline, then executes observe plugins and sets the inputs value.
587
- */
588
- if ((noFlags || <span class="branch-1 cbranch-no" title="branch not covered" >params.observe)</span> &amp;&amp; pipelineCopy.observe) {
589
- while (pipelineCopy.observe.length !== 0) {
590
- const pluginName = pipelineCopy.observe.shift() as string;
591
- console.debug(OBSERVING(pluginName));
592
- debugLogger.setExecutingPluginName(pluginName);
593
- &nbsp;
594
- const plugin = params.pluginStorage.get(pluginName);
595
- const nodeConfig = config &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >config[pluginName];</span>
596
- &nbsp;
597
- if (isExecute(plugin)) {
598
- inputStorage = await plugin.execute(inputStorage, nodeConfig);
599
- node.inputs = inputStorage;
600
- &nbsp;
601
- <span class="missing-if-branch" title="if path not taken" >I</span>if (params.context.explainer) {
602
- <span class="cstat-no" title="statement not covered" > addExplainData({</span>
603
- pluginName,
604
- metadata: plugin.metadata,
605
- pluginData: params.context.initialize!.plugins[pluginName],
606
- });
607
- }
608
- }
609
- }
610
- }
611
- &nbsp;
612
- /**
613
- * If regroup is requested, execute regroup strategy, delete child's inputs, outputs and empty regroup array.
614
- */
615
- if ((noFlags || <span class="branch-1 cbranch-no" title="branch not covered" >params.regroup)</span> &amp;&amp; pipelineCopy.regroup) {
616
- node.children = Regroup(inputStorage, pipelineCopy.regroup);
617
- delete node.inputs;
618
- delete node.outputs;
619
- &nbsp;
620
- debugLogger.setExecutingPluginName();
621
- console.debug(REGROUPING);
622
- &nbsp;
623
- return traverse(node.children, {
624
- ...params,
625
- pipeline: {
626
- ...pipelineCopy,
627
- regroup: undefined,
628
- },
629
- defaults,
630
- config,
631
- });
632
- }
633
- &nbsp;
634
- console.debug('\n');
635
- &nbsp;
636
- /**
637
- * If iteration is on compute plugin, then executes compute plugins and sets the outputs value.
638
- */
639
- if ((noFlags || <span class="branch-1 cbranch-no" title="branch not covered" >params.compute)</span> &amp;&amp; pipelineCopy.compute) {
640
- while (pipelineCopy.compute.length !== 0) {
641
- const pluginName = pipelineCopy.compute.shift() as string;
642
- const plugin = params.pluginStorage.get(pluginName);
643
- const nodeConfig = config &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >config[pluginName];</span>
644
- &nbsp;
645
- console.debug(COMPUTING_PIPELINE_FOR_NODE(pluginName));
646
- debugLogger.setExecutingPluginName(pluginName);
647
- &nbsp;
648
- if (isExecute(plugin)) {
649
- inputStorage = await plugin.execute(inputStorage, nodeConfig);
650
- debugLogger.setExecutingPluginName();
651
- &nbsp;
652
- node.outputs = inputStorage;
653
- &nbsp;
654
- <span class="missing-if-branch" title="if path not taken" >I</span>if (params.context.explainer) {
655
- <span class="cstat-no" title="statement not covered" > addExplainData({</span>
656
- pluginName,
657
- metadata: plugin.metadata,
658
- pluginData: params.context.initialize!.plugins[pluginName],
659
- });
660
- }
661
- }
662
- }
663
- }
664
- console.debug('\n');
665
- };
666
- &nbsp;
667
- /**
668
- * Warns if the `config` is provided in the manifest.
669
- */
670
- const warnIfConfigProvided = (node: any) =&gt; {
671
- <span class="missing-if-branch" title="if path not taken" >I</span>if ('config' in node) {
672
- const plugins = <span class="cstat-no" title="statement not covered" >Object.keys(node.config || {});</span>
673
- const joinedPlugins = <span class="cstat-no" title="statement not covered" >plugins.join(', ');</span>
674
- const isMore = <span class="cstat-no" title="statement not covered" >plugins.length &gt; 1;</span>
675
- &nbsp;
676
- <span class="cstat-no" title="statement not covered" > logger.warn(CONFIG_WARN(joinedPlugins, isMore));</span>
677
- }
678
- };
679
- &nbsp;
680
- /**
681
- * Creates copy of existing tree, then applies computing strategy.
682
- */
683
- export const compute = async (tree: any, params: ComputeParams) =&gt; {
684
- const copyOfTree = structuredClone(tree);
685
- &nbsp;
686
- await computeNode(copyOfTree, params);
687
- &nbsp;
688
- return copyOfTree;
689
- };
690
- &nbsp;</pre></td></tr></table></pre>
691
-
692
- <div class='push'></div><!-- for sticky footer -->
693
- </div><!-- /wrapper -->
694
- <div class='footer quiet pad2 space-top1 center small'>
695
- Code coverage generated by
696
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
697
- at 2024-08-27T09:00:43.746Z
698
- </div>
699
- <script src="../../prettify.js"></script>
700
- <script>
701
- window.onload = function () {
702
- prettyPrint();
703
- };
704
- </script>
705
- <script src="../../sorter.js"></script>
706
- <script src="../../block-navigation.js"></script>
707
- </body>
708
- </html>
709
-