@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,116 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for if-run/builtins/multiply</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> if-run/builtins/multiply</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">97.14% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>34/35</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/1</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'>8/8</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">97.05% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>33/34</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="97.14" class="pic high">
84
- <div class="chart"><div class="cover-fill" style="width: 97%"></div><div class="cover-empty" style="width: 3%"></div></div>
85
- </td>
86
- <td data-value="97.14" class="pct high">97.14%</td>
87
- <td data-value="35" class="abs high">34/35</td>
88
- <td data-value="0" class="pct low">0%</td>
89
- <td data-value="1" class="abs low">0/1</td>
90
- <td data-value="100" class="pct high">100%</td>
91
- <td data-value="8" class="abs high">8/8</td>
92
- <td data-value="97.05" class="pct high">97.05%</td>
93
- <td data-value="34" class="abs high">33/34</td>
94
- </tr>
95
-
96
- </tbody>
97
- </table>
98
- </div>
99
- <div class='push'></div><!-- for sticky footer -->
100
- </div><!-- /wrapper -->
101
- <div class='footer quiet pad2 space-top1 center small'>
102
- Code coverage generated by
103
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2024-08-27T09:00:43.746Z
105
- </div>
106
- <script src="../../../prettify.js"></script>
107
- <script>
108
- window.onload = function () {
109
- prettyPrint();
110
- };
111
- </script>
112
- <script src="../../../sorter.js"></script>
113
- <script src="../../../block-navigation.js"></script>
114
- </body>
115
- </html>
116
-
@@ -1,406 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for if-run/builtins/multiply/index.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/builtins/multiply</a> index.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">97.14% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>34/35</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/1</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'>8/8</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">97.05% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>33/34</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">4x</span>
174
- <span class="cline-any cline-yes">4x</span>
175
- <span class="cline-any cline-yes">4x</span>
176
- <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-neutral">&nbsp;</span>
179
- <span class="cline-any cline-neutral">&nbsp;</span>
180
- <span class="cline-any cline-neutral">&nbsp;</span>
181
- <span class="cline-any cline-neutral">&nbsp;</span>
182
- <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-neutral">&nbsp;</span>
184
- <span class="cline-any cline-neutral">&nbsp;</span>
185
- <span class="cline-any cline-neutral">&nbsp;</span>
186
- <span class="cline-any cline-neutral">&nbsp;</span>
187
- <span class="cline-any cline-yes">4x</span>
188
- <span class="cline-any cline-neutral">&nbsp;</span>
189
- <span class="cline-any cline-yes">4x</span>
190
- <span class="cline-any cline-neutral">&nbsp;</span>
191
- <span class="cline-any cline-yes">4x</span>
192
- <span class="cline-any cline-yes">4x</span>
193
- <span class="cline-any cline-neutral">&nbsp;</span>
194
- <span class="cline-any cline-yes">4x</span>
195
- <span class="cline-any cline-neutral">&nbsp;</span>
196
- <span class="cline-any cline-neutral">&nbsp;</span>
197
- <span class="cline-any cline-neutral">&nbsp;</span>
198
- <span class="cline-any cline-neutral">&nbsp;</span>
199
- <span class="cline-any cline-yes">4x</span>
200
- <span class="cline-any cline-neutral">&nbsp;</span>
201
- <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
207
- <span class="cline-any cline-neutral">&nbsp;</span>
208
- <span class="cline-any cline-yes">4x</span>
209
- <span class="cline-any cline-yes">5x</span>
210
- <span class="cline-any cline-no">&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">5x</span>
214
- <span class="cline-any cline-neutral">&nbsp;</span>
215
- <span class="cline-any cline-yes">5x</span>
216
- <span class="cline-any cline-neutral">&nbsp;</span>
217
- <span class="cline-any cline-neutral">&nbsp;</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">5x</span>
221
- <span class="cline-any cline-neutral">&nbsp;</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-yes">4x</span>
227
- <span class="cline-any cline-neutral">&nbsp;</span>
228
- <span class="cline-any cline-neutral">&nbsp;</span>
229
- <span class="cline-any cline-neutral">&nbsp;</span>
230
- <span class="cline-any cline-yes">5x</span>
231
- <span class="cline-any cline-neutral">&nbsp;</span>
232
- <span class="cline-any cline-yes">14x</span>
233
- <span class="cline-any cline-neutral">&nbsp;</span>
234
- <span class="cline-any cline-yes">14x</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-neutral">&nbsp;</span>
238
- <span class="cline-any cline-neutral">&nbsp;</span>
239
- <span class="cline-any cline-yes">5x</span>
240
- <span class="cline-any cline-neutral">&nbsp;</span>
241
- <span class="cline-any cline-yes">5x</span>
242
- <span class="cline-any cline-neutral">&nbsp;</span>
243
- <span class="cline-any cline-yes">4x</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-yes">4x</span>
250
- <span class="cline-any cline-yes">5x</span>
251
- <span class="cline-any cline-yes">5x</span>
252
- <span class="cline-any cline-yes">5x</span>
253
- <span class="cline-any cline-neutral">&nbsp;</span>
254
- <span class="cline-any cline-yes">5x</span>
255
- <span class="cline-any cline-yes">5x</span>
256
- <span class="cline-any cline-neutral">&nbsp;</span>
257
- <span class="cline-any cline-yes">4x</span>
258
- <span class="cline-any cline-neutral">&nbsp;</span>
259
- <span class="cline-any cline-neutral">&nbsp;</span>
260
- <span class="cline-any cline-neutral">&nbsp;</span>
261
- <span class="cline-any cline-neutral">&nbsp;</span>
262
- <span class="cline-any cline-yes">4x</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-neutral">&nbsp;</span>
266
- <span class="cline-any cline-neutral">&nbsp;</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">4x</span>
270
- <span class="cline-any cline-yes">4x</span>
271
- <span class="cline-any cline-yes">11x</span>
272
- <span class="cline-any cline-neutral">&nbsp;</span>
273
- <span class="cline-any cline-neutral">&nbsp;</span>
274
- <span class="cline-any cline-neutral">&nbsp;</span>
275
- <span class="cline-any cline-yes">4x</span>
276
- <span class="cline-any cline-neutral">&nbsp;</span>
277
- <span class="cline-any cline-neutral">&nbsp;</span>
278
- <span class="cline-any cline-neutral">&nbsp;</span>
279
- <span class="cline-any cline-neutral">&nbsp;</span>
280
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {z} from 'zod';
281
- import {ERRORS} from '@grnsft/if-core/utils';
282
- import {
283
- mapConfigIfNeeded,
284
- mapOutputIfNeeded,
285
- } from '@grnsft/if-core/utils/helpers';
286
- import {
287
- ExecutePlugin,
288
- PluginParams,
289
- MultiplyConfig,
290
- PluginParametersMetadata,
291
- MappingParams,
292
- } from '@grnsft/if-core/types';
293
- &nbsp;
294
- import {validate} from '../../../common/util/validations';
295
- &nbsp;
296
- import {STRINGS} from '../../config';
297
- &nbsp;
298
- const {ConfigError} = ERRORS;
299
- const {MISSING_CONFIG} = STRINGS;
300
- &nbsp;
301
- export const Multiply = (
302
- config: MultiplyConfig,
303
- parametersMetadata: PluginParametersMetadata,
304
- mapping: MappingParams
305
- ): ExecutePlugin =&gt; {
306
- const metadata = {
307
- kind: 'execute',
308
- inputs: parametersMetadata?.inputs,
309
- outputs: parametersMetadata?.outputs,
310
- };
311
- &nbsp;
312
- /**
313
- * Checks config value are valid.
314
- */
315
- const validateConfig = () =&gt; {
316
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!config) {
317
- <span class="cstat-no" title="statement not covered" > throw new ConfigError(MISSING_CONFIG);</span>
318
- }
319
- &nbsp;
320
- const mappedConfig = mapConfigIfNeeded(config, mapping);
321
- &nbsp;
322
- const configSchema = z.object({
323
- 'input-parameters': z.array(z.string()),
324
- 'output-parameter': z.string().min(1),
325
- });
326
- &nbsp;
327
- return validate&lt;z.infer&lt;typeof configSchema&gt;&gt;(configSchema, mappedConfig);
328
- };
329
- &nbsp;
330
- /**
331
- * Checks for required fields in input.
332
- */
333
- const validateSingleInput = (
334
- input: PluginParams,
335
- inputParameters: string[]
336
- ) =&gt; {
337
- const inputData = inputParameters.reduce(
338
- (acc, param) =&gt; {
339
- acc[param] = input[param];
340
- &nbsp;
341
- return acc;
342
- },
343
- {} as Record&lt;string, number&gt;
344
- );
345
- &nbsp;
346
- const validationSchema = z.record(z.string(), z.number());
347
- &nbsp;
348
- validate(validationSchema, inputData);
349
- &nbsp;
350
- return input;
351
- };
352
- &nbsp;
353
- /**
354
- * Calculate the product of each input parameter.
355
- */
356
- const execute = (inputs: PluginParams[]): PluginParams[] =&gt; {
357
- const safeGlobalConfig = validateConfig();
358
- const inputParameters = safeGlobalConfig['input-parameters'];
359
- const outputParameter = safeGlobalConfig['output-parameter'];
360
- &nbsp;
361
- return inputs.map(input =&gt; {
362
- validateSingleInput(input, inputParameters);
363
- &nbsp;
364
- const result = {
365
- ...input,
366
- [outputParameter]: calculateProduct(input, inputParameters),
367
- };
368
- &nbsp;
369
- return mapOutputIfNeeded(result, mapping);
370
- });
371
- };
372
- &nbsp;
373
- /**
374
- * Calculates the product of the components.
375
- */
376
- const calculateProduct = (input: PluginParams, inputParameters: string[]) =&gt;
377
- inputParameters.reduce(
378
- (accumulator, metricToMultiply) =&gt; accumulator * input[metricToMultiply],
379
- 1
380
- );
381
- &nbsp;
382
- return {
383
- metadata,
384
- execute,
385
- };
386
- };
387
- &nbsp;</pre></td></tr></table></pre>
388
-
389
- <div class='push'></div><!-- for sticky footer -->
390
- </div><!-- /wrapper -->
391
- <div class='footer quiet pad2 space-top1 center small'>
392
- Code coverage generated by
393
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
394
- at 2024-08-27T09:00:43.746Z
395
- </div>
396
- <script src="../../../prettify.js"></script>
397
- <script>
398
- window.onload = function () {
399
- prettyPrint();
400
- };
401
- </script>
402
- <script src="../../../sorter.js"></script>
403
- <script src="../../../block-navigation.js"></script>
404
- </body>
405
- </html>
406
-
@@ -1,116 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for if-run/builtins/regex</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> if-run/builtins/regex</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'>38/38</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'>9/9</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">100% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>37/37</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="38" class="abs high">38/38</td>
88
- <td data-value="100" class="pct high">100%</td>
89
- <td data-value="9" class="abs high">9/9</td>
90
- <td data-value="100" class="pct high">100%</td>
91
- <td data-value="6" class="abs high">6/6</td>
92
- <td data-value="100" class="pct high">100%</td>
93
- <td data-value="37" class="abs high">37/37</td>
94
- </tr>
95
-
96
- </tbody>
97
- </table>
98
- </div>
99
- <div class='push'></div><!-- for sticky footer -->
100
- </div><!-- /wrapper -->
101
- <div class='footer quiet pad2 space-top1 center small'>
102
- Code coverage generated by
103
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2024-08-27T09:00:43.746Z
105
- </div>
106
- <script src="../../../prettify.js"></script>
107
- <script>
108
- window.onload = function () {
109
- prettyPrint();
110
- };
111
- </script>
112
- <script src="../../../sorter.js"></script>
113
- <script src="../../../block-navigation.js"></script>
114
- </body>
115
- </html>
116
-