@grnsft/if 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (399) hide show
  1. package/.env +5 -0
  2. package/build/common/config/index.d.ts +1 -0
  3. package/build/common/config/index.js +6 -0
  4. package/build/common/config/strings.d.ts +11 -0
  5. package/build/common/config/strings.js +19 -0
  6. package/build/common/lib/load.d.ts +6 -0
  7. package/build/common/lib/load.js +18 -0
  8. package/build/common/types/manifest.d.ts +13 -0
  9. package/build/common/types/manifest.js +3 -0
  10. package/build/common/util/debug-logger.d.ts +4 -0
  11. package/build/common/util/debug-logger.js +124 -0
  12. package/build/common/util/fs.d.ts +20 -0
  13. package/build/common/util/fs.js +94 -0
  14. package/build/common/util/helpers.d.ts +15 -0
  15. package/build/common/util/helpers.js +80 -0
  16. package/build/common/util/logger.d.ts +5 -0
  17. package/build/common/util/logger.js +39 -0
  18. package/build/common/util/validations.d.ts +465 -0
  19. package/build/common/util/validations.js +148 -0
  20. package/build/common/util/yaml.d.ts +12 -0
  21. package/build/common/util/yaml.js +59 -0
  22. package/build/if-check/config/config.d.ts +6 -0
  23. package/build/if-check/config/config.js +31 -0
  24. package/build/if-check/config/index.d.ts +2 -0
  25. package/build/if-check/config/index.js +8 -0
  26. package/build/if-check/config/strings.d.ts +11 -0
  27. package/build/if-check/config/strings.js +15 -0
  28. package/build/if-check/index.d.ts +2 -0
  29. package/build/if-check/index.js +98 -0
  30. package/build/if-check/types/process-args.d.ts +4 -0
  31. package/build/if-check/types/process-args.js +3 -0
  32. package/build/if-check/util/args.d.ts +10 -0
  33. package/build/if-check/util/args.js +56 -0
  34. package/build/if-check/util/helpers.d.ts +4 -0
  35. package/build/if-check/util/helpers.js +18 -0
  36. package/build/if-check/util/npm.d.ts +4 -0
  37. package/build/if-check/util/npm.js +59 -0
  38. package/build/if-csv/config/config.d.ts +6 -0
  39. package/build/if-csv/config/config.js +36 -0
  40. package/build/if-csv/config/index.d.ts +2 -0
  41. package/build/if-csv/config/index.js +8 -0
  42. package/build/if-csv/config/strings.d.ts +3 -0
  43. package/build/if-csv/config/strings.js +7 -0
  44. package/build/if-csv/index.d.ts +2 -0
  45. package/build/if-csv/index.js +63 -0
  46. package/build/if-csv/types/csv.d.ts +7 -0
  47. package/build/if-csv/types/csv.js +3 -0
  48. package/build/if-csv/types/process-args.d.ts +5 -0
  49. package/build/if-csv/types/process-args.js +3 -0
  50. package/build/if-csv/util/args.d.ts +12 -0
  51. package/build/if-csv/util/args.js +47 -0
  52. package/build/if-csv/util/helpers.d.ts +9 -0
  53. package/build/if-csv/util/helpers.js +95 -0
  54. package/build/if-diff/config/config.d.ts +6 -0
  55. package/build/if-diff/config/config.js +31 -0
  56. package/build/if-diff/config/index.d.ts +2 -0
  57. package/build/if-diff/config/index.js +8 -0
  58. package/build/if-diff/config/strings.d.ts +6 -0
  59. package/build/if-diff/config/strings.js +10 -0
  60. package/build/if-diff/index.d.ts +2 -0
  61. package/build/if-diff/index.js +46 -0
  62. package/build/if-diff/lib/compare.d.ts +10 -0
  63. package/build/if-diff/lib/compare.js +56 -0
  64. package/build/if-diff/lib/load.d.ts +63 -0
  65. package/build/if-diff/lib/load.js +51 -0
  66. package/build/if-diff/types/args.d.ts +5 -0
  67. package/build/if-diff/types/args.js +3 -0
  68. package/build/if-diff/types/compare.d.ts +7 -0
  69. package/build/if-diff/types/compare.js +3 -0
  70. package/build/if-diff/types/process-args.d.ts +4 -0
  71. package/build/if-diff/types/process-args.js +3 -0
  72. package/build/if-diff/util/args.d.ts +5 -0
  73. package/build/if-diff/util/args.js +51 -0
  74. package/build/if-diff/util/helpers.d.ts +13 -0
  75. package/build/if-diff/util/helpers.js +75 -0
  76. package/build/if-env/config/config.d.ts +6 -0
  77. package/build/if-env/config/config.js +37 -0
  78. package/build/if-env/config/index.d.ts +2 -0
  79. package/build/if-env/config/index.js +8 -0
  80. package/build/if-env/config/strings.d.ts +7 -0
  81. package/build/if-env/config/strings.js +11 -0
  82. package/build/if-env/index.d.ts +2 -0
  83. package/build/if-env/index.js +40 -0
  84. package/build/if-env/types/if-env.d.ts +8 -0
  85. package/build/if-env/types/if-env.js +3 -0
  86. package/build/if-env/types/npm.d.ts +9 -0
  87. package/build/if-env/types/npm.js +3 -0
  88. package/build/if-env/types/process-args.d.ts +5 -0
  89. package/build/if-env/types/process-args.js +3 -0
  90. package/build/if-env/util/args.d.ts +12 -0
  91. package/build/if-env/util/args.js +47 -0
  92. package/build/if-env/util/helpers.d.ts +20 -0
  93. package/build/if-env/util/helpers.js +94 -0
  94. package/build/if-env/util/npm.d.ts +24 -0
  95. package/build/if-env/util/npm.js +126 -0
  96. package/build/if-merge/config/config.d.ts +6 -0
  97. package/build/if-merge/config/config.js +43 -0
  98. package/build/if-merge/config/index.d.ts +2 -0
  99. package/build/if-merge/config/index.js +8 -0
  100. package/build/if-merge/config/strings.d.ts +5 -0
  101. package/build/if-merge/config/strings.js +9 -0
  102. package/build/if-merge/index.d.ts +2 -0
  103. package/build/if-merge/index.js +26 -0
  104. package/build/if-merge/types/process-args.d.ts +6 -0
  105. package/build/if-merge/types/process-args.js +3 -0
  106. package/build/if-merge/util/args.d.ts +9 -0
  107. package/build/if-merge/util/args.js +59 -0
  108. package/build/if-merge/util/helpers.d.ts +5 -0
  109. package/build/if-merge/util/helpers.js +83 -0
  110. package/build/if-run/builtins/coefficient/index.d.ts +16 -0
  111. package/build/if-run/builtins/coefficient/index.js +45 -0
  112. package/build/if-run/builtins/copy-param/index.d.ts +21 -0
  113. package/build/if-run/builtins/copy-param/index.js +58 -0
  114. package/build/if-run/builtins/csv-lookup/index.d.ts +16 -0
  115. package/build/if-run/builtins/csv-lookup/index.js +175 -0
  116. package/build/if-run/builtins/divide/index.d.ts +16 -0
  117. package/build/if-run/builtins/divide/index.js +68 -0
  118. package/build/if-run/builtins/exponent/index.d.ts +16 -0
  119. package/build/if-run/builtins/exponent/index.js +52 -0
  120. package/build/if-run/builtins/export-log.d.ts +4 -0
  121. package/build/if-run/builtins/export-log.js +44 -0
  122. package/build/if-run/builtins/export-yaml.d.ts +4 -0
  123. package/build/if-run/builtins/export-yaml.js +30 -0
  124. package/build/if-run/builtins/index.d.ts +16 -0
  125. package/build/if-run/builtins/index.js +36 -0
  126. package/build/if-run/builtins/interpolation/index.d.ts +16 -0
  127. package/build/if-run/builtins/interpolation/index.js +138 -0
  128. package/build/if-run/builtins/mock-observations/helpers/common-generator.d.ts +3 -0
  129. package/build/if-run/builtins/mock-observations/helpers/common-generator.js +29 -0
  130. package/build/if-run/builtins/mock-observations/helpers/rand-int-generator.d.ts +3 -0
  131. package/build/if-run/builtins/mock-observations/helpers/rand-int-generator.js +48 -0
  132. package/build/if-run/builtins/mock-observations/index.d.ts +16 -0
  133. package/build/if-run/builtins/mock-observations/index.js +108 -0
  134. package/build/if-run/builtins/mock-observations/interfaces/index.d.ts +6 -0
  135. package/build/if-run/builtins/mock-observations/interfaces/index.js +3 -0
  136. package/build/if-run/builtins/multiply/index.d.ts +16 -0
  137. package/build/if-run/builtins/multiply/index.js +47 -0
  138. package/build/if-run/builtins/regex/index.d.ts +16 -0
  139. package/build/if-run/builtins/regex/index.js +55 -0
  140. package/build/if-run/builtins/sci/index.d.ts +16 -0
  141. package/build/if-run/builtins/sci/index.js +92 -0
  142. package/build/if-run/builtins/sci-embodied/index.d.ts +16 -0
  143. package/build/if-run/builtins/sci-embodied/index.js +142 -0
  144. package/build/if-run/builtins/shell/index.d.ts +16 -0
  145. package/build/if-run/builtins/shell/index.js +50 -0
  146. package/build/if-run/builtins/subtract/index.d.ts +16 -0
  147. package/build/if-run/builtins/subtract/index.js +51 -0
  148. package/build/if-run/builtins/sum/index.d.ts +16 -0
  149. package/build/if-run/builtins/sum/index.js +37 -0
  150. package/build/if-run/builtins/time-converter/config.d.ts +1 -0
  151. package/build/if-run/builtins/time-converter/config.js +44 -0
  152. package/build/if-run/builtins/time-converter/index.d.ts +16 -0
  153. package/build/if-run/builtins/time-converter/index.js +63 -0
  154. package/build/if-run/builtins/time-sync/index.d.ts +31 -0
  155. package/build/if-run/builtins/time-sync/index.js +371 -0
  156. package/build/if-run/config/config.d.ts +9 -0
  157. package/build/if-run/config/config.js +79 -0
  158. package/build/if-run/config/index.d.ts +2 -0
  159. package/build/if-run/config/index.js +8 -0
  160. package/build/if-run/config/strings.d.ts +62 -0
  161. package/build/if-run/config/strings.js +81 -0
  162. package/build/if-run/index.d.ts +2 -0
  163. package/build/if-run/index.js +58 -0
  164. package/build/if-run/lib/aggregate.d.ts +14 -0
  165. package/build/if-run/lib/aggregate.js +130 -0
  166. package/build/if-run/lib/compute.d.ts +5 -0
  167. package/build/if-run/lib/compute.js +164 -0
  168. package/build/if-run/lib/environment.d.ts +5 -0
  169. package/build/if-run/lib/environment.js +75 -0
  170. package/build/if-run/lib/exhaust.d.ts +7 -0
  171. package/build/if-run/lib/exhaust.js +27 -0
  172. package/build/if-run/lib/explain.d.ts +9 -0
  173. package/build/if-run/lib/explain.js +72 -0
  174. package/build/if-run/lib/initialize.d.ts +10 -0
  175. package/build/if-run/lib/initialize.js +113 -0
  176. package/build/if-run/lib/regroup.d.ts +5 -0
  177. package/build/if-run/lib/regroup.js +67 -0
  178. package/build/if-run/types/aggregation.d.ts +2 -0
  179. package/build/if-run/types/aggregation.js +11 -0
  180. package/build/if-run/types/compute.d.ts +33 -0
  181. package/build/if-run/types/compute.js +3 -0
  182. package/build/if-run/types/environment.d.ts +18 -0
  183. package/build/if-run/types/environment.js +3 -0
  184. package/build/if-run/types/explain.d.ts +16 -0
  185. package/build/if-run/types/explain.js +3 -0
  186. package/build/if-run/types/plugin-storage.d.ts +6 -0
  187. package/build/if-run/types/plugin-storage.js +3 -0
  188. package/build/if-run/types/process-args.d.ts +27 -0
  189. package/build/if-run/types/process-args.js +3 -0
  190. package/build/if-run/util/aggregation-helper.d.ts +6 -0
  191. package/build/if-run/util/aggregation-helper.js +52 -0
  192. package/build/if-run/util/args.d.ts +9 -0
  193. package/build/if-run/util/args.js +61 -0
  194. package/build/if-run/util/helpers.d.ts +8 -0
  195. package/build/if-run/util/helpers.js +37 -0
  196. package/build/if-run/util/log-memoize.d.ts +3 -0
  197. package/build/if-run/util/log-memoize.js +19 -0
  198. package/build/if-run/util/os-checker.d.ts +7 -0
  199. package/build/if-run/util/os-checker.js +97 -0
  200. package/build/if-run/util/plugin-storage.d.ts +14 -0
  201. package/build/if-run/util/plugin-storage.js +34 -0
  202. package/coverage/clover.xml +2045 -0
  203. package/coverage/coverage-final.json +55 -0
  204. package/coverage/lcov-report/base.css +224 -0
  205. package/coverage/lcov-report/block-navigation.js +87 -0
  206. package/coverage/lcov-report/builtins/coefficient/index.html +116 -0
  207. package/coverage/lcov-report/builtins/coefficient/index.ts.html +298 -0
  208. package/coverage/lcov-report/builtins/csv-lookup/index.html +116 -0
  209. package/coverage/lcov-report/builtins/csv-lookup/index.ts.html +826 -0
  210. package/coverage/lcov-report/builtins/divide/index.html +116 -0
  211. package/coverage/lcov-report/builtins/divide/index.ts.html +358 -0
  212. package/coverage/lcov-report/builtins/exponent/index.html +116 -0
  213. package/coverage/lcov-report/builtins/exponent/index.ts.html +361 -0
  214. package/coverage/lcov-report/builtins/export-csv-raw.ts.html +553 -0
  215. package/coverage/lcov-report/builtins/export-csv.ts.html +436 -0
  216. package/coverage/lcov-report/builtins/export-log.ts.html +148 -0
  217. package/coverage/lcov-report/builtins/export-yaml.ts.html +193 -0
  218. package/coverage/lcov-report/builtins/group-by.ts.html +370 -0
  219. package/coverage/lcov-report/builtins/index.html +206 -0
  220. package/coverage/lcov-report/builtins/index.ts.html +130 -0
  221. package/coverage/lcov-report/builtins/interpolation/index.html +116 -0
  222. package/coverage/lcov-report/builtins/interpolation/index.ts.html +676 -0
  223. package/coverage/lcov-report/builtins/interpolation/types.ts.html +100 -0
  224. package/coverage/lcov-report/builtins/mock-observations/helpers/common-generator.ts.html +184 -0
  225. package/coverage/lcov-report/builtins/mock-observations/helpers/index.html +131 -0
  226. package/coverage/lcov-report/builtins/mock-observations/helpers/rand-int-generator.ts.html +289 -0
  227. package/coverage/lcov-report/builtins/mock-observations/index.html +116 -0
  228. package/coverage/lcov-report/builtins/mock-observations/index.ts.html +619 -0
  229. package/coverage/lcov-report/builtins/multiply/index.html +116 -0
  230. package/coverage/lcov-report/builtins/multiply/index.ts.html +343 -0
  231. package/coverage/lcov-report/builtins/regex/index.html +116 -0
  232. package/coverage/lcov-report/builtins/regex/index.ts.html +373 -0
  233. package/coverage/lcov-report/builtins/sci/config.ts.html +205 -0
  234. package/coverage/lcov-report/builtins/sci/index.html +116 -0
  235. package/coverage/lcov-report/builtins/sci/index.ts.html +325 -0
  236. package/coverage/lcov-report/builtins/sci-embodied/index.html +116 -0
  237. package/coverage/lcov-report/builtins/sci-embodied/index.ts.html +478 -0
  238. package/coverage/lcov-report/builtins/shell/index.html +116 -0
  239. package/coverage/lcov-report/builtins/shell/index.ts.html +280 -0
  240. package/coverage/lcov-report/builtins/subtract/index.html +116 -0
  241. package/coverage/lcov-report/builtins/subtract/index.ts.html +379 -0
  242. package/coverage/lcov-report/builtins/sum/index.html +116 -0
  243. package/coverage/lcov-report/builtins/sum/index.ts.html +334 -0
  244. package/coverage/lcov-report/builtins/time-sync.ts.html +1462 -0
  245. package/coverage/lcov-report/common/config/index.html +131 -0
  246. package/coverage/lcov-report/common/config/index.ts.html +88 -0
  247. package/coverage/lcov-report/common/config/strings.ts.html +121 -0
  248. package/coverage/lcov-report/common/lib/index.html +116 -0
  249. package/coverage/lcov-report/common/lib/load.ts.html +139 -0
  250. package/coverage/lcov-report/common/util/debug-logger.ts.html +511 -0
  251. package/coverage/lcov-report/common/util/fs.ts.html +289 -0
  252. package/coverage/lcov-report/common/util/helpers.ts.html +280 -0
  253. package/coverage/lcov-report/common/util/index.html +191 -0
  254. package/coverage/lcov-report/common/util/logger.ts.html +151 -0
  255. package/coverage/lcov-report/common/util/validations.ts.html +613 -0
  256. package/coverage/lcov-report/common/util/yaml.ts.html +193 -0
  257. package/coverage/lcov-report/config/config.ts.html +463 -0
  258. package/coverage/lcov-report/config/index.html +161 -0
  259. package/coverage/lcov-report/config/index.ts.html +94 -0
  260. package/coverage/lcov-report/config/params.ts.html +697 -0
  261. package/coverage/lcov-report/config/strings.ts.html +490 -0
  262. package/coverage/lcov-report/favicon.png +0 -0
  263. package/coverage/lcov-report/if-check/config/config.ts.html +184 -0
  264. package/coverage/lcov-report/if-check/config/index.html +146 -0
  265. package/coverage/lcov-report/if-check/config/index.ts.html +91 -0
  266. package/coverage/lcov-report/if-check/config/strings.ts.html +142 -0
  267. package/coverage/lcov-report/if-check/util/args.ts.html +304 -0
  268. package/coverage/lcov-report/if-check/util/helpers.ts.html +136 -0
  269. package/coverage/lcov-report/if-check/util/index.html +146 -0
  270. package/coverage/lcov-report/if-check/util/npm.ts.html +232 -0
  271. package/coverage/lcov-report/if-csv/util/helpers.ts.html +346 -0
  272. package/coverage/lcov-report/if-csv/util/index.html +116 -0
  273. package/coverage/lcov-report/if-diff/config/config.ts.html +184 -0
  274. package/coverage/lcov-report/if-diff/config/index.html +146 -0
  275. package/coverage/lcov-report/if-diff/config/index.ts.html +91 -0
  276. package/coverage/lcov-report/if-diff/config/strings.ts.html +100 -0
  277. package/coverage/lcov-report/if-diff/lib/compare.ts.html +286 -0
  278. package/coverage/lcov-report/if-diff/lib/index.html +131 -0
  279. package/coverage/lcov-report/if-diff/lib/load.ts.html +199 -0
  280. package/coverage/lcov-report/if-diff/util/args.ts.html +268 -0
  281. package/coverage/lcov-report/if-diff/util/helpers.ts.html +337 -0
  282. package/coverage/lcov-report/if-diff/util/index.html +131 -0
  283. package/coverage/lcov-report/if-env/config/config.ts.html +211 -0
  284. package/coverage/lcov-report/if-env/config/index.html +146 -0
  285. package/coverage/lcov-report/if-env/config/index.ts.html +91 -0
  286. package/coverage/lcov-report/if-env/config/strings.ts.html +109 -0
  287. package/coverage/lcov-report/if-env/util/args.ts.html +250 -0
  288. package/coverage/lcov-report/if-env/util/index.html +131 -0
  289. package/coverage/lcov-report/if-env/util/npm.ts.html +526 -0
  290. package/coverage/lcov-report/if-merge/util/args.ts.html +295 -0
  291. package/coverage/lcov-report/if-merge/util/helpers.ts.html +301 -0
  292. package/coverage/lcov-report/if-merge/util/index.html +131 -0
  293. package/coverage/lcov-report/if-run/builtins/coefficient/index.html +116 -0
  294. package/coverage/lcov-report/if-run/builtins/coefficient/index.ts.html +382 -0
  295. package/coverage/lcov-report/if-run/builtins/copy-param/index.html +116 -0
  296. package/coverage/lcov-report/if-run/builtins/copy-param/index.ts.html +415 -0
  297. package/coverage/lcov-report/if-run/builtins/csv-lookup/index.html +116 -0
  298. package/coverage/lcov-report/if-run/builtins/csv-lookup/index.ts.html +868 -0
  299. package/coverage/lcov-report/if-run/builtins/divide/index.html +116 -0
  300. package/coverage/lcov-report/if-run/builtins/divide/index.ts.html +469 -0
  301. package/coverage/lcov-report/if-run/builtins/exponent/index.html +116 -0
  302. package/coverage/lcov-report/if-run/builtins/exponent/index.ts.html +394 -0
  303. package/coverage/lcov-report/if-run/builtins/export-csv-raw.ts.html +553 -0
  304. package/coverage/lcov-report/if-run/builtins/export-csv.ts.html +436 -0
  305. package/coverage/lcov-report/if-run/builtins/export-log.ts.html +148 -0
  306. package/coverage/lcov-report/if-run/builtins/export-yaml.ts.html +193 -0
  307. package/coverage/lcov-report/if-run/builtins/group-by.ts.html +370 -0
  308. package/coverage/lcov-report/if-run/builtins/index.html +146 -0
  309. package/coverage/lcov-report/if-run/builtins/index.ts.html +133 -0
  310. package/coverage/lcov-report/if-run/builtins/interpolation/index.html +116 -0
  311. package/coverage/lcov-report/if-run/builtins/interpolation/index.ts.html +709 -0
  312. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/common-generator.ts.html +184 -0
  313. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/index.html +131 -0
  314. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/rand-int-generator.ts.html +289 -0
  315. package/coverage/lcov-report/if-run/builtins/mock-observations/index.html +116 -0
  316. package/coverage/lcov-report/if-run/builtins/mock-observations/index.ts.html +709 -0
  317. package/coverage/lcov-report/if-run/builtins/multiply/index.html +116 -0
  318. package/coverage/lcov-report/if-run/builtins/multiply/index.ts.html +406 -0
  319. package/coverage/lcov-report/if-run/builtins/regex/index.html +116 -0
  320. package/coverage/lcov-report/if-run/builtins/regex/index.ts.html +433 -0
  321. package/coverage/lcov-report/if-run/builtins/sci/index.html +116 -0
  322. package/coverage/lcov-report/if-run/builtins/sci/index.ts.html +502 -0
  323. package/coverage/lcov-report/if-run/builtins/sci-embodied/index.html +116 -0
  324. package/coverage/lcov-report/if-run/builtins/sci-embodied/index.ts.html +577 -0
  325. package/coverage/lcov-report/if-run/builtins/shell/index.html +116 -0
  326. package/coverage/lcov-report/if-run/builtins/shell/index.ts.html +343 -0
  327. package/coverage/lcov-report/if-run/builtins/subtract/index.html +116 -0
  328. package/coverage/lcov-report/if-run/builtins/subtract/index.ts.html +418 -0
  329. package/coverage/lcov-report/if-run/builtins/sum/index.html +116 -0
  330. package/coverage/lcov-report/if-run/builtins/sum/index.ts.html +400 -0
  331. package/coverage/lcov-report/if-run/builtins/time-converter/config.ts.html +205 -0
  332. package/coverage/lcov-report/if-run/builtins/time-converter/index.html +131 -0
  333. package/coverage/lcov-report/if-run/builtins/time-converter/index.ts.html +412 -0
  334. package/coverage/lcov-report/if-run/builtins/time-sync/index.html +116 -0
  335. package/coverage/lcov-report/if-run/builtins/time-sync/index.ts.html +1651 -0
  336. package/coverage/lcov-report/if-run/builtins/time-sync.ts.html +1462 -0
  337. package/coverage/lcov-report/if-run/config/config.ts.html +271 -0
  338. package/coverage/lcov-report/if-run/config/index.html +161 -0
  339. package/coverage/lcov-report/if-run/config/index.ts.html +94 -0
  340. package/coverage/lcov-report/if-run/config/params.ts.html +679 -0
  341. package/coverage/lcov-report/if-run/config/strings.ts.html +460 -0
  342. package/coverage/lcov-report/if-run/lib/aggregate.ts.html +580 -0
  343. package/coverage/lcov-report/if-run/lib/compute.ts.html +709 -0
  344. package/coverage/lcov-report/if-run/lib/environment.ts.html +373 -0
  345. package/coverage/lcov-report/if-run/lib/exhaust.ts.html +193 -0
  346. package/coverage/lcov-report/if-run/lib/explain.ts.html +217 -0
  347. package/coverage/lcov-report/if-run/lib/index.html +206 -0
  348. package/coverage/lcov-report/if-run/lib/initialize.ts.html +475 -0
  349. package/coverage/lcov-report/if-run/lib/parameterize.ts.html +322 -0
  350. package/coverage/lcov-report/if-run/lib/regroup.ts.html +325 -0
  351. package/coverage/lcov-report/if-run/lib/time-sync.ts.html +1510 -0
  352. package/coverage/lcov-report/if-run/types/aggregation.ts.html +94 -0
  353. package/coverage/lcov-report/if-run/types/index.html +146 -0
  354. package/coverage/lcov-report/if-run/types/interface.ts.html +112 -0
  355. package/coverage/lcov-report/if-run/types/parameters.ts.html +106 -0
  356. package/coverage/lcov-report/if-run/util/aggregation-helper.ts.html +280 -0
  357. package/coverage/lcov-report/if-run/util/args.ts.html +313 -0
  358. package/coverage/lcov-report/if-run/util/helpers.ts.html +304 -0
  359. package/coverage/lcov-report/if-run/util/index.html +191 -0
  360. package/coverage/lcov-report/if-run/util/json.ts.html +115 -0
  361. package/coverage/lcov-report/if-run/util/log-memoize.ts.html +145 -0
  362. package/coverage/lcov-report/if-run/util/os-checker.ts.html +421 -0
  363. package/coverage/lcov-report/if-run/util/plugin-storage.ts.html +202 -0
  364. package/coverage/lcov-report/index.html +521 -0
  365. package/coverage/lcov-report/lib/aggregate.ts.html +358 -0
  366. package/coverage/lcov-report/lib/compare.ts.html +286 -0
  367. package/coverage/lcov-report/lib/compute.ts.html +436 -0
  368. package/coverage/lcov-report/lib/environment.ts.html +376 -0
  369. package/coverage/lcov-report/lib/exhaust.ts.html +289 -0
  370. package/coverage/lcov-report/lib/index.html +221 -0
  371. package/coverage/lcov-report/lib/initialize.ts.html +430 -0
  372. package/coverage/lcov-report/lib/load.ts.html +268 -0
  373. package/coverage/lcov-report/lib/parameterize.ts.html +316 -0
  374. package/coverage/lcov-report/prettify.css +1 -0
  375. package/coverage/lcov-report/prettify.js +2 -0
  376. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  377. package/coverage/lcov-report/sorter.js +196 -0
  378. package/coverage/lcov-report/types/aggregation.ts.html +94 -0
  379. package/coverage/lcov-report/types/index.html +146 -0
  380. package/coverage/lcov-report/types/interface.ts.html +112 -0
  381. package/coverage/lcov-report/types/parameters.ts.html +106 -0
  382. package/coverage/lcov-report/util/aggregation-helper.ts.html +289 -0
  383. package/coverage/lcov-report/util/args.ts.html +649 -0
  384. package/coverage/lcov-report/util/debug-logger.ts.html +481 -0
  385. package/coverage/lcov-report/util/errors.ts.html +232 -0
  386. package/coverage/lcov-report/util/fs.ts.html +124 -0
  387. package/coverage/lcov-report/util/helpers.ts.html +895 -0
  388. package/coverage/lcov-report/util/index.html +296 -0
  389. package/coverage/lcov-report/util/json.ts.html +115 -0
  390. package/coverage/lcov-report/util/log-memoize.ts.html +145 -0
  391. package/coverage/lcov-report/util/logger.ts.html +151 -0
  392. package/coverage/lcov-report/util/npm.ts.html +499 -0
  393. package/coverage/lcov-report/util/os-checker.ts.html +421 -0
  394. package/coverage/lcov-report/util/plugin-storage.ts.html +202 -0
  395. package/coverage/lcov-report/util/validations.ts.html +544 -0
  396. package/coverage/lcov-report/util/yaml.ts.html +193 -0
  397. package/coverage/lcov.info +3392 -0
  398. package/manifests/outputs/features/regroup/test.yml +92 -0
  399. package/package.json +9 -8
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.injectEnvironment = void 0;
4
+ const luxon_1 = require("luxon");
5
+ const os_checker_1 = require("../util/os-checker");
6
+ const helpers_1 = require("../../common/util/helpers");
7
+ const strings_1 = require("../config/strings");
8
+ const packageJson = require('../../../package.json');
9
+ const { CAPTURING_RUNTIME_ENVIRONMENT_DATA } = strings_1.STRINGS;
10
+ /**
11
+ * 1. Gets the high-resolution real time when the application starts.
12
+ * 2. Converts the high-resolution time to milliseconds.
13
+ * 3. Gets the current DateTime.
14
+ * 4. Subtracts the milliseconds from the current DateTime.
15
+ */
16
+ const getProcessStartingTimestamp = () => {
17
+ const startTime = process.hrtime();
18
+ const [seconds, nanoseconds] = process.hrtime(startTime);
19
+ const milliseconds = seconds * 1000 + nanoseconds / 1e6;
20
+ const currentDateTime = luxon_1.DateTime.local();
21
+ const applicationStartDateTime = currentDateTime.minus({
22
+ milliseconds: milliseconds,
23
+ });
24
+ return applicationStartDateTime.toUTC().toString();
25
+ };
26
+ /**
27
+ * Goes through the dependencies, converts them into oneliner.
28
+ */
29
+ const flattenDependencies = (dependencies) => dependencies.map(dependency => {
30
+ const [packageName, versionInfo] = dependency;
31
+ const { version, extraneous, resolved } = versionInfo;
32
+ const ifExtraneous = extraneous ? ` extraneous -> ${resolved}` : '';
33
+ const ifFromGithub = resolved && resolved.startsWith('git') ? ` (${resolved})` : '';
34
+ const formattedString = `${packageName}@${version}${ifExtraneous || ifFromGithub}`;
35
+ return formattedString;
36
+ });
37
+ /**
38
+ * 1. Runs `npm list --json`.
39
+ * 2. Parses json data and converts to list.
40
+ */
41
+ const listDependencies = async () => {
42
+ const { stdout } = await (0, helpers_1.execPromise)('npm list --json');
43
+ const npmListResponse = JSON.parse(stdout);
44
+ if (npmListResponse.dependencies) {
45
+ const dependencies = Object.entries(npmListResponse.dependencies);
46
+ return flattenDependencies(dependencies);
47
+ }
48
+ return [];
49
+ };
50
+ /**
51
+ * Injects execution information (command, environment) to existing manifest.
52
+ */
53
+ const injectEnvironment = async (manifest) => {
54
+ console.debug(CAPTURING_RUNTIME_ENVIRONMENT_DATA);
55
+ const dependencies = await listDependencies();
56
+ const info = await (0, os_checker_1.osInfo)();
57
+ const dateTime = `${getProcessStartingTimestamp()} (UTC)`;
58
+ return {
59
+ ...manifest,
60
+ execution: {
61
+ status: 'success',
62
+ command: process.argv.join(' '),
63
+ environment: {
64
+ 'if-version': packageJson.version,
65
+ os: info.os,
66
+ 'os-version': info['os-version'],
67
+ 'node-version': process.versions.node,
68
+ 'date-time': dateTime,
69
+ dependencies,
70
+ },
71
+ },
72
+ };
73
+ };
74
+ exports.injectEnvironment = injectEnvironment;
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtcnVuL2xpYi9lbnZpcm9ubWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBK0I7QUFFL0IsbURBQTBDO0FBQzFDLHVEQUFzRDtBQUd0RCwrQ0FBMEM7QUFHMUMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFFckQsTUFBTSxFQUFDLGtDQUFrQyxFQUFDLEdBQUcsaUJBQU8sQ0FBQztBQUVyRDs7Ozs7R0FLRztBQUNILE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxFQUFFO0lBQ3ZDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUVuQyxNQUFNLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDekQsTUFBTSxZQUFZLEdBQUcsT0FBTyxHQUFHLElBQUksR0FBRyxXQUFXLEdBQUcsR0FBRyxDQUFDO0lBRXhELE1BQU0sZUFBZSxHQUFHLGdCQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFFekMsTUFBTSx3QkFBd0IsR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDO1FBQ3JELFlBQVksRUFBRSxZQUFZO0tBQzNCLENBQUMsQ0FBQztJQUVILE9BQU8sd0JBQXdCLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDckQsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLG1CQUFtQixHQUFHLENBQUMsWUFBMkMsRUFBRSxFQUFFLENBQzFFLFlBQVksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7SUFDNUIsTUFBTSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUMsR0FBRyxVQUFVLENBQUM7SUFDOUMsTUFBTSxFQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLEdBQUcsV0FBVyxDQUFDO0lBQ3BELE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDcEUsTUFBTSxZQUFZLEdBQ2hCLFFBQVEsSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDakUsTUFBTSxlQUFlLEdBQUcsR0FBRyxXQUFXLElBQUksT0FBTyxHQUMvQyxZQUFZLElBQUksWUFDbEIsRUFBRSxDQUFDO0lBRUgsT0FBTyxlQUFlLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUM7QUFFTDs7O0dBR0c7QUFDSCxNQUFNLGdCQUFnQixHQUFHLEtBQUssSUFBSSxFQUFFO0lBQ2xDLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxNQUFNLElBQUEscUJBQVcsRUFBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3RELE1BQU0sZUFBZSxHQUFvQixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTVELElBQUksZUFBZSxDQUFDLFlBQVksRUFBRTtRQUNoQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVsRSxPQUFPLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDO0tBQzFDO0lBRUQsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNJLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxFQUNwQyxRQUFrQixFQUNDLEVBQUU7SUFDckIsT0FBTyxDQUFDLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0lBRWxELE1BQU0sWUFBWSxHQUFHLE1BQU0sZ0JBQWdCLEVBQUUsQ0FBQztJQUM5QyxNQUFNLElBQUksR0FBRyxNQUFNLElBQUEsbUJBQU0sR0FBRSxDQUFDO0lBQzVCLE1BQU0sUUFBUSxHQUFHLEdBQUcsMkJBQTJCLEVBQUUsUUFBUSxDQUFDO0lBRTFELE9BQU87UUFDTCxHQUFHLFFBQVE7UUFDWCxTQUFTLEVBQUU7WUFDVCxNQUFNLEVBQUUsU0FBUztZQUNqQixPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQy9CLFdBQVcsRUFBRTtnQkFDWCxZQUFZLEVBQUUsV0FBVyxDQUFDLE9BQU87Z0JBQ2pDLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtnQkFDWCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDaEMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSTtnQkFDckMsV0FBVyxFQUFFLFFBQVE7Z0JBQ3JCLFlBQVk7YUFDYjtTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQXhCVyxRQUFBLGlCQUFpQixxQkF3QjVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRlVGltZX0gZnJvbSAnbHV4b24nO1xuXG5pbXBvcnQge29zSW5mb30gZnJvbSAnLi4vdXRpbC9vcy1jaGVja2VyJztcbmltcG9ydCB7ZXhlY1Byb21pc2V9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2hlbHBlcnMnO1xuaW1wb3J0IHtNYW5pZmVzdH0gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGVzL21hbmlmZXN0JztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcvc3RyaW5ncyc7XG5pbXBvcnQge05wbUxpc3RSZXNwb25zZSwgUGFja2FnZURlcGVuZGVuY3l9IGZyb20gJy4uL3R5cGVzL2Vudmlyb25tZW50JztcblxuY29uc3QgcGFja2FnZUpzb24gPSByZXF1aXJlKCcuLi8uLi8uLi9wYWNrYWdlLmpzb24nKTtcblxuY29uc3Qge0NBUFRVUklOR19SVU5USU1FX0VOVklST05NRU5UX0RBVEF9ID0gU1RSSU5HUztcblxuLyoqXG4gKiAxLiBHZXRzIHRoZSBoaWdoLXJlc29sdXRpb24gcmVhbCB0aW1lIHdoZW4gdGhlIGFwcGxpY2F0aW9uIHN0YXJ0cy5cbiAqIDIuIENvbnZlcnRzIHRoZSBoaWdoLXJlc29sdXRpb24gdGltZSB0byBtaWxsaXNlY29uZHMuXG4gKiAzLiBHZXRzIHRoZSBjdXJyZW50IERhdGVUaW1lLlxuICogNC4gU3VidHJhY3RzIHRoZSBtaWxsaXNlY29uZHMgZnJvbSB0aGUgY3VycmVudCBEYXRlVGltZS5cbiAqL1xuY29uc3QgZ2V0UHJvY2Vzc1N0YXJ0aW5nVGltZXN0YW1wID0gKCkgPT4ge1xuICBjb25zdCBzdGFydFRpbWUgPSBwcm9jZXNzLmhydGltZSgpO1xuXG4gIGNvbnN0IFtzZWNvbmRzLCBuYW5vc2Vjb25kc10gPSBwcm9jZXNzLmhydGltZShzdGFydFRpbWUpO1xuICBjb25zdCBtaWxsaXNlY29uZHMgPSBzZWNvbmRzICogMTAwMCArIG5hbm9zZWNvbmRzIC8gMWU2O1xuXG4gIGNvbnN0IGN1cnJlbnREYXRlVGltZSA9IERhdGVUaW1lLmxvY2FsKCk7XG5cbiAgY29uc3QgYXBwbGljYXRpb25TdGFydERhdGVUaW1lID0gY3VycmVudERhdGVUaW1lLm1pbnVzKHtcbiAgICBtaWxsaXNlY29uZHM6IG1pbGxpc2Vjb25kcyxcbiAgfSk7XG5cbiAgcmV0dXJuIGFwcGxpY2F0aW9uU3RhcnREYXRlVGltZS50b1VUQygpLnRvU3RyaW5nKCk7XG59O1xuXG4vKipcbiAqIEdvZXMgdGhyb3VnaCB0aGUgZGVwZW5kZW5jaWVzLCBjb252ZXJ0cyB0aGVtIGludG8gb25lbGluZXIuXG4gKi9cbmNvbnN0IGZsYXR0ZW5EZXBlbmRlbmNpZXMgPSAoZGVwZW5kZW5jaWVzOiBbc3RyaW5nLCBQYWNrYWdlRGVwZW5kZW5jeV1bXSkgPT5cbiAgZGVwZW5kZW5jaWVzLm1hcChkZXBlbmRlbmN5ID0+IHtcbiAgICBjb25zdCBbcGFja2FnZU5hbWUsIHZlcnNpb25JbmZvXSA9IGRlcGVuZGVuY3k7XG4gICAgY29uc3Qge3ZlcnNpb24sIGV4dHJhbmVvdXMsIHJlc29sdmVkfSA9IHZlcnNpb25JbmZvO1xuICAgIGNvbnN0IGlmRXh0cmFuZW91cyA9IGV4dHJhbmVvdXMgPyBgIGV4dHJhbmVvdXMgLT4gJHtyZXNvbHZlZH1gIDogJyc7XG4gICAgY29uc3QgaWZGcm9tR2l0aHViID1cbiAgICAgIHJlc29sdmVkICYmIHJlc29sdmVkLnN0YXJ0c1dpdGgoJ2dpdCcpID8gYCAoJHtyZXNvbHZlZH0pYCA6ICcnO1xuICAgIGNvbnN0IGZvcm1hdHRlZFN0cmluZyA9IGAke3BhY2thZ2VOYW1lfUAke3ZlcnNpb259JHtcbiAgICAgIGlmRXh0cmFuZW91cyB8fCBpZkZyb21HaXRodWJcbiAgICB9YDtcblxuICAgIHJldHVybiBmb3JtYXR0ZWRTdHJpbmc7XG4gIH0pO1xuXG4vKipcbiAqIDEuIFJ1bnMgYG5wbSBsaXN0IC0tanNvbmAuXG4gKiAyLiBQYXJzZXMganNvbiBkYXRhIGFuZCBjb252ZXJ0cyB0byBsaXN0LlxuICovXG5jb25zdCBsaXN0RGVwZW5kZW5jaWVzID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IGV4ZWNQcm9taXNlKCducG0gbGlzdCAtLWpzb24nKTtcbiAgY29uc3QgbnBtTGlzdFJlc3BvbnNlOiBOcG1MaXN0UmVzcG9uc2UgPSBKU09OLnBhcnNlKHN0ZG91dCk7XG5cbiAgaWYgKG5wbUxpc3RSZXNwb25zZS5kZXBlbmRlbmNpZXMpIHtcbiAgICBjb25zdCBkZXBlbmRlbmNpZXMgPSBPYmplY3QuZW50cmllcyhucG1MaXN0UmVzcG9uc2UuZGVwZW5kZW5jaWVzKTtcblxuICAgIHJldHVybiBmbGF0dGVuRGVwZW5kZW5jaWVzKGRlcGVuZGVuY2llcyk7XG4gIH1cblxuICByZXR1cm4gW107XG59O1xuXG4vKipcbiAqIEluamVjdHMgZXhlY3V0aW9uIGluZm9ybWF0aW9uIChjb21tYW5kLCBlbnZpcm9ubWVudCkgdG8gZXhpc3RpbmcgbWFuaWZlc3QuXG4gKi9cbmV4cG9ydCBjb25zdCBpbmplY3RFbnZpcm9ubWVudCA9IGFzeW5jIChcbiAgbWFuaWZlc3Q6IE1hbmlmZXN0XG4pOiBQcm9taXNlPE1hbmlmZXN0PiA9PiB7XG4gIGNvbnNvbGUuZGVidWcoQ0FQVFVSSU5HX1JVTlRJTUVfRU5WSVJPTk1FTlRfREFUQSk7XG5cbiAgY29uc3QgZGVwZW5kZW5jaWVzID0gYXdhaXQgbGlzdERlcGVuZGVuY2llcygpO1xuICBjb25zdCBpbmZvID0gYXdhaXQgb3NJbmZvKCk7XG4gIGNvbnN0IGRhdGVUaW1lID0gYCR7Z2V0UHJvY2Vzc1N0YXJ0aW5nVGltZXN0YW1wKCl9IChVVEMpYDtcblxuICByZXR1cm4ge1xuICAgIC4uLm1hbmlmZXN0LFxuICAgIGV4ZWN1dGlvbjoge1xuICAgICAgc3RhdHVzOiAnc3VjY2VzcycsXG4gICAgICBjb21tYW5kOiBwcm9jZXNzLmFyZ3Yuam9pbignICcpLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgJ2lmLXZlcnNpb24nOiBwYWNrYWdlSnNvbi52ZXJzaW9uLFxuICAgICAgICBvczogaW5mby5vcyxcbiAgICAgICAgJ29zLXZlcnNpb24nOiBpbmZvWydvcy12ZXJzaW9uJ10sXG4gICAgICAgICdub2RlLXZlcnNpb24nOiBwcm9jZXNzLnZlcnNpb25zLm5vZGUsXG4gICAgICAgICdkYXRlLXRpbWUnOiBkYXRlVGltZSxcbiAgICAgICAgZGVwZW5kZW5jaWVzLFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xufTtcbiJdfQ==
@@ -0,0 +1,7 @@
1
+ import { Options } from '../types/process-args';
2
+ import { Context } from '../../common/types/manifest';
3
+ /**
4
+ * Output manager - Exhaust.
5
+ * Grabs output plugins from context, executes every.
6
+ */
7
+ export declare const exhaust: (tree: any, context: Context, outputOptions: Options) => Promise<void>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.exhaust = void 0;
4
+ /**
5
+ * @todo This is temporary solution, will be refactored to support dynamic plugins.
6
+ */
7
+ const export_log_1 = require("../builtins/export-log");
8
+ const export_yaml_1 = require("../builtins/export-yaml");
9
+ const config_1 = require("../config");
10
+ const { PREPARING_OUTPUT_DATA } = config_1.STRINGS;
11
+ /**
12
+ * Output manager - Exhaust.
13
+ * Grabs output plugins from context, executes every.
14
+ */
15
+ const exhaust = async (tree, context, outputOptions) => {
16
+ console.debug(PREPARING_OUTPUT_DATA(), '\n');
17
+ if (!outputOptions.noOutput && !outputOptions.outputPath) {
18
+ (0, export_log_1.ExportLog)().execute(tree, context);
19
+ }
20
+ if (!outputOptions.outputPath) {
21
+ return;
22
+ }
23
+ const exportYaml = (0, export_yaml_1.ExportYaml)();
24
+ await exportYaml.execute(tree, context, outputOptions.outputPath);
25
+ };
26
+ exports.exhaust = exhaust;
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhoYXVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL2V4aGF1c3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0dBRUc7QUFDSCx1REFBaUQ7QUFDakQseURBQW1EO0FBRW5ELHNDQUFrQztBQUtsQyxNQUFNLEVBQUMscUJBQXFCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXhDOzs7R0FHRztBQUNJLE1BQU0sT0FBTyxHQUFHLEtBQUssRUFDMUIsSUFBUyxFQUNULE9BQWdCLEVBQ2hCLGFBQXNCLEVBQ3RCLEVBQUU7SUFDRixPQUFPLENBQUMsS0FBSyxDQUFDLHFCQUFxQixFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFN0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFO1FBQ3hELElBQUEsc0JBQVMsR0FBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDcEM7SUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRTtRQUM3QixPQUFPO0tBQ1I7SUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFBLHdCQUFVLEdBQUUsQ0FBQztJQUVoQyxNQUFNLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDcEUsQ0FBQyxDQUFDO0FBbEJXLFFBQUEsT0FBTyxXQWtCbEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEB0b2RvIFRoaXMgaXMgdGVtcG9yYXJ5IHNvbHV0aW9uLCB3aWxsIGJlIHJlZmFjdG9yZWQgdG8gc3VwcG9ydCBkeW5hbWljIHBsdWdpbnMuXG4gKi9cbmltcG9ydCB7RXhwb3J0TG9nfSBmcm9tICcuLi9idWlsdGlucy9leHBvcnQtbG9nJztcbmltcG9ydCB7RXhwb3J0WWFtbH0gZnJvbSAnLi4vYnVpbHRpbnMvZXhwb3J0LXlhbWwnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uL2NvbmZpZyc7XG5cbmltcG9ydCB7T3B0aW9uc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcbmltcG9ydCB7Q29udGV4dH0gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGVzL21hbmlmZXN0JztcblxuY29uc3Qge1BSRVBBUklOR19PVVRQVVRfREFUQX0gPSBTVFJJTkdTO1xuXG4vKipcbiAqIE91dHB1dCBtYW5hZ2VyIC0gRXhoYXVzdC5cbiAqIEdyYWJzIG91dHB1dCBwbHVnaW5zIGZyb20gY29udGV4dCwgZXhlY3V0ZXMgZXZlcnkuXG4gKi9cbmV4cG9ydCBjb25zdCBleGhhdXN0ID0gYXN5bmMgKFxuICB0cmVlOiBhbnksXG4gIGNvbnRleHQ6IENvbnRleHQsXG4gIG91dHB1dE9wdGlvbnM6IE9wdGlvbnNcbikgPT4ge1xuICBjb25zb2xlLmRlYnVnKFBSRVBBUklOR19PVVRQVVRfREFUQSgpLCAnXFxuJyk7XG5cbiAgaWYgKCFvdXRwdXRPcHRpb25zLm5vT3V0cHV0ICYmICFvdXRwdXRPcHRpb25zLm91dHB1dFBhdGgpIHtcbiAgICBFeHBvcnRMb2coKS5leGVjdXRlKHRyZWUsIGNvbnRleHQpO1xuICB9XG5cbiAgaWYgKCFvdXRwdXRPcHRpb25zLm91dHB1dFBhdGgpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBleHBvcnRZYW1sID0gRXhwb3J0WWFtbCgpO1xuXG4gIGF3YWl0IGV4cG9ydFlhbWwuZXhlY3V0ZSh0cmVlLCBjb250ZXh0LCBvdXRwdXRPcHRpb25zLm91dHB1dFBhdGgpO1xufTtcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import { ExplainParams, ExplainStorageType } from '../types/explain';
2
+ /**
3
+ * Retrieves stored explain data.
4
+ */
5
+ export declare const explain: () => ExplainStorageType;
6
+ /**
7
+ * Adds new explain data to the stored explain data.
8
+ */
9
+ export declare const addExplainData: (params: ExplainParams) => void;
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addExplainData = exports.explain = void 0;
4
+ const utils_1 = require("@grnsft/if-core/utils");
5
+ const config_1 = require("../../common/config");
6
+ const { ManifestValidationError } = utils_1.ERRORS;
7
+ const { AGGREGATION_UNITS_NOT_MATCH, AGGREGATION_METHODS_NOT_MATCH } = config_1.STRINGS;
8
+ /**
9
+ * Retrieves stored explain data.
10
+ */
11
+ const explain = () => storeExplainData.parameters;
12
+ exports.explain = explain;
13
+ /**
14
+ * Manages the storage of explain data.
15
+ */
16
+ const storeExplainData = (() => {
17
+ let parameter = {};
18
+ const parameterManager = {
19
+ get parameters() {
20
+ return parameter;
21
+ },
22
+ set parameters(value) {
23
+ parameter = value;
24
+ },
25
+ };
26
+ return parameterManager;
27
+ })();
28
+ /**
29
+ * Adds new explain data to the stored explain data.
30
+ */
31
+ const addExplainData = (params) => {
32
+ const { pluginName, pluginData, metadata } = params;
33
+ const parameterMetadata = pluginData?.['parameter-metadata'] || metadata;
34
+ const parameters = storeExplainData.parameters;
35
+ const allParameters = {
36
+ ...parameterMetadata?.inputs,
37
+ ...parameterMetadata?.outputs,
38
+ };
39
+ Object.entries(allParameters).forEach(([name, meta]) => {
40
+ const existingParameter = parameters[name];
41
+ if (parameters[name]?.plugins?.includes(pluginName)) {
42
+ return;
43
+ }
44
+ if (existingParameter) {
45
+ if (meta.unit !== existingParameter.unit) {
46
+ throw new ManifestValidationError(AGGREGATION_UNITS_NOT_MATCH(name));
47
+ }
48
+ if (meta['aggregation-method'].component !==
49
+ existingParameter['aggregation-method'].component ||
50
+ meta['aggregation-method'].time !==
51
+ existingParameter['aggregation-method'].time) {
52
+ throw new ManifestValidationError(AGGREGATION_METHODS_NOT_MATCH(name));
53
+ }
54
+ existingParameter.plugins.push(pluginName);
55
+ existingParameter.description =
56
+ meta.description || existingParameter.description;
57
+ }
58
+ else {
59
+ parameters[name] = {
60
+ plugins: [pluginName],
61
+ unit: meta.unit,
62
+ description: meta.description,
63
+ 'aggregation-method': meta['aggregation-method'],
64
+ };
65
+ }
66
+ });
67
+ storeExplainData.parameters = {
68
+ ...parameters,
69
+ };
70
+ };
71
+ exports.addExplainData = addExplainData;
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbGFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL2V4cGxhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQTZDO0FBRTdDLGdEQUE0QztBQUk1QyxNQUFNLEVBQUMsdUJBQXVCLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFDekMsTUFBTSxFQUFDLDJCQUEyQixFQUFFLDZCQUE2QixFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUU3RTs7R0FFRztBQUNJLE1BQU0sT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztBQUE1QyxRQUFBLE9BQU8sV0FBcUM7QUFFekQ7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLENBQUMsR0FBRyxFQUFFO0lBQzdCLElBQUksU0FBUyxHQUF1QixFQUFFLENBQUM7SUFFdkMsTUFBTSxnQkFBZ0IsR0FBRztRQUN2QixJQUFJLFVBQVU7WUFDWixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsSUFBSSxVQUFVLENBQUMsS0FBeUI7WUFDdEMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUNwQixDQUFDO0tBQ0YsQ0FBQztJQUVGLE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUVMOztHQUVHO0FBQ0ksTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFxQixFQUFFLEVBQUU7SUFDdEQsTUFBTSxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLEdBQUcsTUFBTSxDQUFDO0lBQ2xELE1BQU0saUJBQWlCLEdBQUcsVUFBVSxFQUFFLENBQUMsb0JBQW9CLENBQUMsSUFBSSxRQUFRLENBQUM7SUFDekUsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxDQUFDO0lBQy9DLE1BQU0sYUFBYSxHQUFHO1FBQ3BCLEdBQUcsaUJBQWlCLEVBQUUsTUFBTTtRQUM1QixHQUFHLGlCQUFpQixFQUFFLE9BQU87S0FDUixDQUFDO0lBRXhCLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtRQUNyRCxNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUzQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ25ELE9BQU87U0FDUjtRQUVELElBQUksaUJBQWlCLEVBQUU7WUFDckIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLElBQUksRUFBRTtnQkFDeEMsTUFBTSxJQUFJLHVCQUF1QixDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDdEU7WUFFRCxJQUNFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFNBQVM7Z0JBQ2xDLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLENBQUMsU0FBUztnQkFDbkQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsSUFBSTtvQkFDN0IsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLEVBQzlDO2dCQUNBLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ3hFO1lBRUQsaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMzQyxpQkFBaUIsQ0FBQyxXQUFXO2dCQUMzQixJQUFJLENBQUMsV0FBVyxJQUFJLGlCQUFpQixDQUFDLFdBQVcsQ0FBQztTQUNyRDthQUFNO1lBQ0wsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUNqQixPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUM7Z0JBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0JBQzdCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQzthQUNqRCxDQUFDO1NBQ0g7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILGdCQUFnQixDQUFDLFVBQVUsR0FBRztRQUM1QixHQUFHLFVBQVU7S0FDZCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBOUNXLFFBQUEsY0FBYyxrQkE4Q3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vLi4vY29tbW9uL2NvbmZpZyc7XG5cbmltcG9ydCB7RXhwbGFpblBhcmFtcywgRXhwbGFpblN0b3JhZ2VUeXBlfSBmcm9tICcuLi90eXBlcy9leHBsYWluJztcblxuY29uc3Qge01hbmlmZXN0VmFsaWRhdGlvbkVycm9yfSA9IEVSUk9SUztcbmNvbnN0IHtBR0dSRUdBVElPTl9VTklUU19OT1RfTUFUQ0gsIEFHR1JFR0FUSU9OX01FVEhPRFNfTk9UX01BVENIfSA9IFNUUklOR1M7XG5cbi8qKlxuICogUmV0cmlldmVzIHN0b3JlZCBleHBsYWluIGRhdGEuXG4gKi9cbmV4cG9ydCBjb25zdCBleHBsYWluID0gKCkgPT4gc3RvcmVFeHBsYWluRGF0YS5wYXJhbWV0ZXJzO1xuXG4vKipcbiAqIE1hbmFnZXMgdGhlIHN0b3JhZ2Ugb2YgZXhwbGFpbiBkYXRhLlxuICovXG5jb25zdCBzdG9yZUV4cGxhaW5EYXRhID0gKCgpID0+IHtcbiAgbGV0IHBhcmFtZXRlcjogRXhwbGFpblN0b3JhZ2VUeXBlID0ge307XG5cbiAgY29uc3QgcGFyYW1ldGVyTWFuYWdlciA9IHtcbiAgICBnZXQgcGFyYW1ldGVycygpIHtcbiAgICAgIHJldHVybiBwYXJhbWV0ZXI7XG4gICAgfSxcbiAgICBzZXQgcGFyYW1ldGVycyh2YWx1ZTogRXhwbGFpblN0b3JhZ2VUeXBlKSB7XG4gICAgICBwYXJhbWV0ZXIgPSB2YWx1ZTtcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBwYXJhbWV0ZXJNYW5hZ2VyO1xufSkoKTtcblxuLyoqXG4gKiBBZGRzIG5ldyBleHBsYWluIGRhdGEgdG8gdGhlIHN0b3JlZCBleHBsYWluIGRhdGEuXG4gKi9cbmV4cG9ydCBjb25zdCBhZGRFeHBsYWluRGF0YSA9IChwYXJhbXM6IEV4cGxhaW5QYXJhbXMpID0+IHtcbiAgY29uc3Qge3BsdWdpbk5hbWUsIHBsdWdpbkRhdGEsIG1ldGFkYXRhfSA9IHBhcmFtcztcbiAgY29uc3QgcGFyYW1ldGVyTWV0YWRhdGEgPSBwbHVnaW5EYXRhPy5bJ3BhcmFtZXRlci1tZXRhZGF0YSddIHx8IG1ldGFkYXRhO1xuICBjb25zdCBwYXJhbWV0ZXJzID0gc3RvcmVFeHBsYWluRGF0YS5wYXJhbWV0ZXJzO1xuICBjb25zdCBhbGxQYXJhbWV0ZXJzID0ge1xuICAgIC4uLnBhcmFtZXRlck1ldGFkYXRhPy5pbnB1dHMsXG4gICAgLi4ucGFyYW1ldGVyTWV0YWRhdGE/Lm91dHB1dHMsXG4gIH0gYXMgRXhwbGFpblN0b3JhZ2VUeXBlO1xuXG4gIE9iamVjdC5lbnRyaWVzKGFsbFBhcmFtZXRlcnMpLmZvckVhY2goKFtuYW1lLCBtZXRhXSkgPT4ge1xuICAgIGNvbnN0IGV4aXN0aW5nUGFyYW1ldGVyID0gcGFyYW1ldGVyc1tuYW1lXTtcblxuICAgIGlmIChwYXJhbWV0ZXJzW25hbWVdPy5wbHVnaW5zPy5pbmNsdWRlcyhwbHVnaW5OYW1lKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChleGlzdGluZ1BhcmFtZXRlcikge1xuICAgICAgaWYgKG1ldGEudW5pdCAhPT0gZXhpc3RpbmdQYXJhbWV0ZXIudW5pdCkge1xuICAgICAgICB0aHJvdyBuZXcgTWFuaWZlc3RWYWxpZGF0aW9uRXJyb3IoQUdHUkVHQVRJT05fVU5JVFNfTk9UX01BVENIKG5hbWUpKTtcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICBtZXRhWydhZ2dyZWdhdGlvbi1tZXRob2QnXS5jb21wb25lbnQgIT09XG4gICAgICAgICAgZXhpc3RpbmdQYXJhbWV0ZXJbJ2FnZ3JlZ2F0aW9uLW1ldGhvZCddLmNvbXBvbmVudCB8fFxuICAgICAgICBtZXRhWydhZ2dyZWdhdGlvbi1tZXRob2QnXS50aW1lICE9PVxuICAgICAgICAgIGV4aXN0aW5nUGFyYW1ldGVyWydhZ2dyZWdhdGlvbi1tZXRob2QnXS50aW1lXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IE1hbmlmZXN0VmFsaWRhdGlvbkVycm9yKEFHR1JFR0FUSU9OX01FVEhPRFNfTk9UX01BVENIKG5hbWUpKTtcbiAgICAgIH1cblxuICAgICAgZXhpc3RpbmdQYXJhbWV0ZXIucGx1Z2lucy5wdXNoKHBsdWdpbk5hbWUpO1xuICAgICAgZXhpc3RpbmdQYXJhbWV0ZXIuZGVzY3JpcHRpb24gPVxuICAgICAgICBtZXRhLmRlc2NyaXB0aW9uIHx8IGV4aXN0aW5nUGFyYW1ldGVyLmRlc2NyaXB0aW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJhbWV0ZXJzW25hbWVdID0ge1xuICAgICAgICBwbHVnaW5zOiBbcGx1Z2luTmFtZV0sXG4gICAgICAgIHVuaXQ6IG1ldGEudW5pdCxcbiAgICAgICAgZGVzY3JpcHRpb246IG1ldGEuZGVzY3JpcHRpb24sXG4gICAgICAgICdhZ2dyZWdhdGlvbi1tZXRob2QnOiBtZXRhWydhZ2dyZWdhdGlvbi1tZXRob2QnXSxcbiAgICAgIH07XG4gICAgfVxuICB9KTtcblxuICBzdG9yZUV4cGxhaW5EYXRhLnBhcmFtZXRlcnMgPSB7XG4gICAgLi4ucGFyYW1ldGVycyxcbiAgfTtcbn07XG4iXX0=
@@ -0,0 +1,10 @@
1
+ import { Context } from '../../common/types/manifest';
2
+ import { PluginStorageInterface } from '../types/plugin-storage';
3
+ /**
4
+ * Registers all plugins from `manifest`.`initialize` property.
5
+ * 1. Initalizes plugin storage.
6
+ * 2. Iterates over plugin names array.
7
+ * 3. While iteration, initalizes current plugin, gathers it's parameters (input/output).
8
+ * Then stores the aggregation metrics for each parameter to override stub values.
9
+ */
10
+ export declare const initialize: (context: Context) => Promise<PluginStorageInterface>;
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.initialize = void 0;
27
+ const path = __importStar(require("node:path"));
28
+ const utils_1 = require("@grnsft/if-core/utils");
29
+ const logger_1 = require("../../common/util/logger");
30
+ const log_memoize_1 = require("../util/log-memoize");
31
+ const plugin_storage_1 = require("../util/plugin-storage");
32
+ const config_1 = require("../config");
33
+ const aggregate_1 = require("./aggregate");
34
+ const { PluginInitializationError, MissingPluginMethodError, MissingPluginPathError, } = utils_1.ERRORS;
35
+ const { GITHUB_PATH, NATIVE_PLUGIN } = config_1.CONFIG;
36
+ const { MISSING_METHOD, MISSING_PATH, NOT_NATIVE_PLUGIN, INVALID_MODULE_PATH, LOADING_PLUGIN_FROM_PATH, INITIALIZING_PLUGIN, INITIALIZING_PLUGINS, } = config_1.STRINGS;
37
+ /**
38
+ * Imports module by given `path`.
39
+ */
40
+ const importModuleFrom = async (path) => {
41
+ const module = await Promise.resolve(`${path}`).then(s => __importStar(require(s))).catch(error => {
42
+ throw new PluginInitializationError(INVALID_MODULE_PATH(path, error));
43
+ });
44
+ return module;
45
+ };
46
+ /**
47
+ * Imports `module` from given `path` and returns requested `method`.
48
+ */
49
+ const importAndVerifyModule = async (method, path) => {
50
+ const pluginModule = await importModuleFrom(path);
51
+ return pluginModule[method];
52
+ };
53
+ /**
54
+ * Checks if plugin is missing then rejects with error.
55
+ * Then checks if `path` is starting with github, then grabs the repository name.
56
+ * Imports module, then checks if it's a valid plugin.
57
+ */
58
+ const handModule = (method, pluginPath) => {
59
+ console.debug(LOADING_PLUGIN_FROM_PATH(method, pluginPath), '\n');
60
+ if (pluginPath === 'builtin') {
61
+ pluginPath = path.normalize(`${__dirname}/../builtins`);
62
+ }
63
+ else {
64
+ if (pluginPath?.startsWith(GITHUB_PATH)) {
65
+ const parts = pluginPath.split('/');
66
+ pluginPath = parts[parts.length - 1];
67
+ }
68
+ if (!pluginPath.includes(NATIVE_PLUGIN)) {
69
+ (0, log_memoize_1.memoizedLog)(logger_1.logger.warn, NOT_NATIVE_PLUGIN(pluginPath));
70
+ }
71
+ }
72
+ return importAndVerifyModule(method, pluginPath);
73
+ };
74
+ /**
75
+ * Initializes plugin with config.
76
+ */
77
+ const initPlugin = async (initPluginParams) => {
78
+ const { method, path, mapping, config, 'parameter-metadata': parameterMetadata, } = initPluginParams;
79
+ if (!method) {
80
+ throw new MissingPluginMethodError(MISSING_METHOD);
81
+ }
82
+ if (!path) {
83
+ throw new MissingPluginPathError(MISSING_PATH);
84
+ }
85
+ const plugin = await handModule(method, path);
86
+ return plugin(config, parameterMetadata, mapping);
87
+ };
88
+ /**
89
+ * Registers all plugins from `manifest`.`initialize` property.
90
+ * 1. Initalizes plugin storage.
91
+ * 2. Iterates over plugin names array.
92
+ * 3. While iteration, initalizes current plugin, gathers it's parameters (input/output).
93
+ * Then stores the aggregation metrics for each parameter to override stub values.
94
+ */
95
+ const initialize = async (context) => {
96
+ console.debug(INITIALIZING_PLUGINS, '\n');
97
+ const { plugins } = context.initialize;
98
+ const storage = (0, plugin_storage_1.pluginStorage)();
99
+ for await (const pluginName of Object.keys(plugins)) {
100
+ console.debug(INITIALIZING_PLUGIN(pluginName));
101
+ const plugin = await initPlugin(plugins[pluginName]);
102
+ const parameters = { ...plugin.metadata.inputs, ...plugin.metadata.outputs };
103
+ Object.keys(parameters).forEach(current => {
104
+ (0, aggregate_1.storeAggregationMetrics)({
105
+ [current]: parameters[current]['aggregation-method'],
106
+ });
107
+ });
108
+ storage.set(pluginName, plugin);
109
+ }
110
+ return storage;
111
+ };
112
+ exports.initialize = initialize;
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL2luaXRpYWxpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBa0M7QUFFbEMsaURBQTZDO0FBRzdDLHFEQUFnRDtBQUNoRCxxREFBZ0Q7QUFDaEQsMkRBQXFEO0FBRXJELHNDQUEwQztBQUkxQywyQ0FBb0Q7QUFFcEQsTUFBTSxFQUNKLHlCQUF5QixFQUN6Qix3QkFBd0IsRUFDeEIsc0JBQXNCLEdBQ3ZCLEdBQUcsY0FBTSxDQUFDO0FBRVgsTUFBTSxFQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDNUMsTUFBTSxFQUNKLGNBQWMsRUFDZCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsbUJBQW1CLEVBQ25CLG9CQUFvQixHQUNyQixHQUFHLGdCQUFPLENBQUM7QUFFWjs7R0FFRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxFQUFFLElBQVksRUFBRSxFQUFFO0lBQzlDLE1BQU0sTUFBTSxHQUFHLE1BQU0sbUJBQU8sSUFBSSx3Q0FBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDOUMsTUFBTSxJQUFJLHlCQUF5QixDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLEtBQUssRUFBRSxNQUFjLEVBQUUsSUFBWSxFQUFFLEVBQUU7SUFDbkUsTUFBTSxZQUFZLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVsRCxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM5QixDQUFDLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUFjLEVBQUUsVUFBa0IsRUFBRSxFQUFFO0lBQ3hELE9BQU8sQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRWxFLElBQUksVUFBVSxLQUFLLFNBQVMsRUFBRTtRQUM1QixVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVMsY0FBYyxDQUFDLENBQUM7S0FDekQ7U0FBTTtRQUNMLElBQUksVUFBVSxFQUFFLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN2QyxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BDLFVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN0QztRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3ZDLElBQUEseUJBQVcsRUFBQyxlQUFNLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7U0FDekQ7S0FDRjtJQUVELE9BQU8scUJBQXFCLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ25ELENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxVQUFVLEdBQUcsS0FBSyxFQUN0QixnQkFBK0IsRUFDTCxFQUFFO0lBQzVCLE1BQU0sRUFDSixNQUFNLEVBQ04sSUFBSSxFQUNKLE9BQU8sRUFDUCxNQUFNLEVBQ04sb0JBQW9CLEVBQUUsaUJBQWlCLEdBQ3hDLEdBQUcsZ0JBQWlCLENBQUM7SUFFdEIsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLE1BQU0sSUFBSSx3QkFBd0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUNwRDtJQUVELElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDVCxNQUFNLElBQUksc0JBQXNCLENBQUMsWUFBWSxDQUFDLENBQUM7S0FDaEQ7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFOUMsT0FBTyxNQUFNLENBQUMsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3BELENBQUMsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNJLE1BQU0sVUFBVSxHQUFHLEtBQUssRUFDN0IsT0FBZ0IsRUFDaUIsRUFBRTtJQUNuQyxPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO0lBQ3JDLE1BQU0sT0FBTyxHQUFHLElBQUEsOEJBQWEsR0FBRSxDQUFDO0lBRWhDLElBQUksS0FBSyxFQUFFLE1BQU0sVUFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDbkQsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRS9DLE1BQU0sTUFBTSxHQUFHLE1BQU0sVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sVUFBVSxHQUFHLEVBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFDLENBQUM7UUFFM0UsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDeEMsSUFBQSxtQ0FBdUIsRUFBQztnQkFDdEIsQ0FBQyxPQUFPLENBQUMsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsb0JBQW9CLENBQUM7YUFDckQsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztLQUNqQztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQXZCVyxRQUFBLFVBQVUsY0F1QnJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdub2RlOnBhdGgnO1xuXG5pbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcbmltcG9ydCB7UGx1Z2luSW50ZXJmYWNlfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdHlwZXMnO1xuXG5pbXBvcnQge2xvZ2dlcn0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvbG9nZ2VyJztcbmltcG9ydCB7bWVtb2l6ZWRMb2d9IGZyb20gJy4uL3V0aWwvbG9nLW1lbW9pemUnO1xuaW1wb3J0IHtwbHVnaW5TdG9yYWdlfSBmcm9tICcuLi91dGlsL3BsdWdpbi1zdG9yYWdlJztcblxuaW1wb3J0IHtDT05GSUcsIFNUUklOR1N9IGZyb20gJy4uL2NvbmZpZyc7XG5cbmltcG9ydCB7Q29udGV4dCwgUGx1Z2luT3B0aW9uc30gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGVzL21hbmlmZXN0JztcbmltcG9ydCB7UGx1Z2luU3RvcmFnZUludGVyZmFjZX0gZnJvbSAnLi4vdHlwZXMvcGx1Z2luLXN0b3JhZ2UnO1xuaW1wb3J0IHtzdG9yZUFnZ3JlZ2F0aW9uTWV0cmljc30gZnJvbSAnLi9hZ2dyZWdhdGUnO1xuXG5jb25zdCB7XG4gIFBsdWdpbkluaXRpYWxpemF0aW9uRXJyb3IsXG4gIE1pc3NpbmdQbHVnaW5NZXRob2RFcnJvcixcbiAgTWlzc2luZ1BsdWdpblBhdGhFcnJvcixcbn0gPSBFUlJPUlM7XG5cbmNvbnN0IHtHSVRIVUJfUEFUSCwgTkFUSVZFX1BMVUdJTn0gPSBDT05GSUc7XG5jb25zdCB7XG4gIE1JU1NJTkdfTUVUSE9ELFxuICBNSVNTSU5HX1BBVEgsXG4gIE5PVF9OQVRJVkVfUExVR0lOLFxuICBJTlZBTElEX01PRFVMRV9QQVRILFxuICBMT0FESU5HX1BMVUdJTl9GUk9NX1BBVEgsXG4gIElOSVRJQUxJWklOR19QTFVHSU4sXG4gIElOSVRJQUxJWklOR19QTFVHSU5TLFxufSA9IFNUUklOR1M7XG5cbi8qKlxuICogSW1wb3J0cyBtb2R1bGUgYnkgZ2l2ZW4gYHBhdGhgLlxuICovXG5jb25zdCBpbXBvcnRNb2R1bGVGcm9tID0gYXN5bmMgKHBhdGg6IHN0cmluZykgPT4ge1xuICBjb25zdCBtb2R1bGUgPSBhd2FpdCBpbXBvcnQocGF0aCkuY2F0Y2goZXJyb3IgPT4ge1xuICAgIHRocm93IG5ldyBQbHVnaW5Jbml0aWFsaXphdGlvbkVycm9yKElOVkFMSURfTU9EVUxFX1BBVEgocGF0aCwgZXJyb3IpKTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1vZHVsZTtcbn07XG5cbi8qKlxuICogSW1wb3J0cyBgbW9kdWxlYCBmcm9tIGdpdmVuIGBwYXRoYCBhbmQgcmV0dXJucyByZXF1ZXN0ZWQgYG1ldGhvZGAuXG4gKi9cbmNvbnN0IGltcG9ydEFuZFZlcmlmeU1vZHVsZSA9IGFzeW5jIChtZXRob2Q6IHN0cmluZywgcGF0aDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHBsdWdpbk1vZHVsZSA9IGF3YWl0IGltcG9ydE1vZHVsZUZyb20ocGF0aCk7XG5cbiAgcmV0dXJuIHBsdWdpbk1vZHVsZVttZXRob2RdO1xufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgcGx1Z2luIGlzIG1pc3NpbmcgdGhlbiByZWplY3RzIHdpdGggZXJyb3IuXG4gKiBUaGVuIGNoZWNrcyBpZiBgcGF0aGAgaXMgc3RhcnRpbmcgd2l0aCBnaXRodWIsIHRoZW4gZ3JhYnMgdGhlIHJlcG9zaXRvcnkgbmFtZS5cbiAqIEltcG9ydHMgbW9kdWxlLCB0aGVuIGNoZWNrcyBpZiBpdCdzIGEgdmFsaWQgcGx1Z2luLlxuICovXG5jb25zdCBoYW5kTW9kdWxlID0gKG1ldGhvZDogc3RyaW5nLCBwbHVnaW5QYXRoOiBzdHJpbmcpID0+IHtcbiAgY29uc29sZS5kZWJ1ZyhMT0FESU5HX1BMVUdJTl9GUk9NX1BBVEgobWV0aG9kLCBwbHVnaW5QYXRoKSwgJ1xcbicpO1xuXG4gIGlmIChwbHVnaW5QYXRoID09PSAnYnVpbHRpbicpIHtcbiAgICBwbHVnaW5QYXRoID0gcGF0aC5ub3JtYWxpemUoYCR7X19kaXJuYW1lfS8uLi9idWlsdGluc2ApO1xuICB9IGVsc2Uge1xuICAgIGlmIChwbHVnaW5QYXRoPy5zdGFydHNXaXRoKEdJVEhVQl9QQVRIKSkge1xuICAgICAgY29uc3QgcGFydHMgPSBwbHVnaW5QYXRoLnNwbGl0KCcvJyk7XG4gICAgICBwbHVnaW5QYXRoID0gcGFydHNbcGFydHMubGVuZ3RoIC0gMV07XG4gICAgfVxuXG4gICAgaWYgKCFwbHVnaW5QYXRoLmluY2x1ZGVzKE5BVElWRV9QTFVHSU4pKSB7XG4gICAgICBtZW1vaXplZExvZyhsb2dnZXIud2FybiwgTk9UX05BVElWRV9QTFVHSU4ocGx1Z2luUGF0aCkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBpbXBvcnRBbmRWZXJpZnlNb2R1bGUobWV0aG9kLCBwbHVnaW5QYXRoKTtcbn07XG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgcGx1Z2luIHdpdGggY29uZmlnLlxuICovXG5jb25zdCBpbml0UGx1Z2luID0gYXN5bmMgKFxuICBpbml0UGx1Z2luUGFyYW1zOiBQbHVnaW5PcHRpb25zXG4pOiBQcm9taXNlPFBsdWdpbkludGVyZmFjZT4gPT4ge1xuICBjb25zdCB7XG4gICAgbWV0aG9kLFxuICAgIHBhdGgsXG4gICAgbWFwcGluZyxcbiAgICBjb25maWcsXG4gICAgJ3BhcmFtZXRlci1tZXRhZGF0YSc6IHBhcmFtZXRlck1ldGFkYXRhLFxuICB9ID0gaW5pdFBsdWdpblBhcmFtcyE7XG5cbiAgaWYgKCFtZXRob2QpIHtcbiAgICB0aHJvdyBuZXcgTWlzc2luZ1BsdWdpbk1ldGhvZEVycm9yKE1JU1NJTkdfTUVUSE9EKTtcbiAgfVxuXG4gIGlmICghcGF0aCkge1xuICAgIHRocm93IG5ldyBNaXNzaW5nUGx1Z2luUGF0aEVycm9yKE1JU1NJTkdfUEFUSCk7XG4gIH1cblxuICBjb25zdCBwbHVnaW4gPSBhd2FpdCBoYW5kTW9kdWxlKG1ldGhvZCwgcGF0aCk7XG5cbiAgcmV0dXJuIHBsdWdpbihjb25maWcsIHBhcmFtZXRlck1ldGFkYXRhLCBtYXBwaW5nKTtcbn07XG5cbi8qKlxuICogUmVnaXN0ZXJzIGFsbCBwbHVnaW5zIGZyb20gYG1hbmlmZXN0YC5gaW5pdGlhbGl6ZWAgcHJvcGVydHkuXG4gKiAxLiBJbml0YWxpemVzIHBsdWdpbiBzdG9yYWdlLlxuICogMi4gSXRlcmF0ZXMgb3ZlciBwbHVnaW4gbmFtZXMgYXJyYXkuXG4gKiAzLiBXaGlsZSBpdGVyYXRpb24sIGluaXRhbGl6ZXMgY3VycmVudCBwbHVnaW4sIGdhdGhlcnMgaXQncyBwYXJhbWV0ZXJzIChpbnB1dC9vdXRwdXQpLlxuICogICAgVGhlbiBzdG9yZXMgdGhlIGFnZ3JlZ2F0aW9uIG1ldHJpY3MgZm9yIGVhY2ggcGFyYW1ldGVyIHRvIG92ZXJyaWRlIHN0dWIgdmFsdWVzLlxuICovXG5leHBvcnQgY29uc3QgaW5pdGlhbGl6ZSA9IGFzeW5jIChcbiAgY29udGV4dDogQ29udGV4dFxuKTogUHJvbWlzZTxQbHVnaW5TdG9yYWdlSW50ZXJmYWNlPiA9PiB7XG4gIGNvbnNvbGUuZGVidWcoSU5JVElBTElaSU5HX1BMVUdJTlMsICdcXG4nKTtcbiAgY29uc3Qge3BsdWdpbnN9ID0gY29udGV4dC5pbml0aWFsaXplO1xuICBjb25zdCBzdG9yYWdlID0gcGx1Z2luU3RvcmFnZSgpO1xuXG4gIGZvciBhd2FpdCAoY29uc3QgcGx1Z2luTmFtZSBvZiBPYmplY3Qua2V5cyhwbHVnaW5zKSkge1xuICAgIGNvbnNvbGUuZGVidWcoSU5JVElBTElaSU5HX1BMVUdJTihwbHVnaW5OYW1lKSk7XG5cbiAgICBjb25zdCBwbHVnaW4gPSBhd2FpdCBpbml0UGx1Z2luKHBsdWdpbnNbcGx1Z2luTmFtZV0pO1xuICAgIGNvbnN0IHBhcmFtZXRlcnMgPSB7Li4ucGx1Z2luLm1ldGFkYXRhLmlucHV0cywgLi4ucGx1Z2luLm1ldGFkYXRhLm91dHB1dHN9O1xuXG4gICAgT2JqZWN0LmtleXMocGFyYW1ldGVycykuZm9yRWFjaChjdXJyZW50ID0+IHtcbiAgICAgIHN0b3JlQWdncmVnYXRpb25NZXRyaWNzKHtcbiAgICAgICAgW2N1cnJlbnRdOiBwYXJhbWV0ZXJzW2N1cnJlbnRdWydhZ2dyZWdhdGlvbi1tZXRob2QnXSxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgc3RvcmFnZS5zZXQocGx1Z2luTmFtZSwgcGx1Z2luKTtcbiAgfVxuXG4gIHJldHVybiBzdG9yYWdlO1xufTtcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ import { PluginParams } from '@grnsft/if-core/types';
2
+ /**
3
+ * Grouping strategy.
4
+ */
5
+ export declare const Regroup: (inputs: PluginParams[], outputs: PluginParams[], groups: string[]) => any;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Regroup = void 0;
4
+ const zod_1 = require("zod");
5
+ const utils_1 = require("@grnsft/if-core/utils");
6
+ const validations_1 = require("../../common/util/validations");
7
+ const config_1 = require("../config");
8
+ const { InvalidGroupingError } = utils_1.ERRORS;
9
+ const { INVALID_GROUP_KEY, REGROUP_ERROR } = config_1.STRINGS;
10
+ /**
11
+ * Grouping strategy.
12
+ */
13
+ const Regroup = (inputs, outputs, groups) => {
14
+ /**
15
+ * Creates structure to insert inputs by groups.
16
+ */
17
+ const appendGroup = (value, object, target, groups) => {
18
+ if (groups.length > 0) {
19
+ const group = groups.shift();
20
+ object.children = object.children ?? {};
21
+ object.children[group] = object.children[group] ?? {};
22
+ if (groups.length === 0) {
23
+ if (object.children[group][target] &&
24
+ object.children[group][target].length > 0) {
25
+ object.children[group][target].push(value);
26
+ }
27
+ else {
28
+ object.children[group][target] = [value];
29
+ }
30
+ }
31
+ appendGroup(value, object.children[group], target, groups);
32
+ }
33
+ return object;
34
+ };
35
+ /**
36
+ * Validates groups array.
37
+ */
38
+ const validateGroups = (regroup) => {
39
+ const inputData = { regroup };
40
+ const validationSchema = zod_1.z.record(zod_1.z.string(), zod_1.z.array(zod_1.z.string(), { message: REGROUP_ERROR }).min(1));
41
+ (0, validations_1.validate)(validationSchema, inputData);
42
+ return groups;
43
+ };
44
+ /**
45
+ * Interates over inputs, grabs group values for each one.
46
+ * Based on grouping, initializes the structure.
47
+ */
48
+ const validatedGroups = validateGroups(groups);
49
+ const lookupGroupKey = (input, groupKey) => {
50
+ if (!input[groupKey]) {
51
+ throw new InvalidGroupingError(INVALID_GROUP_KEY(groupKey));
52
+ }
53
+ return input[groupKey];
54
+ };
55
+ let acc = {};
56
+ for (const input of inputs) {
57
+ const groupsWithData = validatedGroups.map(groupKey => lookupGroupKey(input, groupKey));
58
+ acc = appendGroup(input, acc, 'inputs', groupsWithData);
59
+ }
60
+ for (const output of outputs) {
61
+ const groupsWithData = validatedGroups.map(groupKey => lookupGroupKey(output, groupKey));
62
+ acc = appendGroup(output, acc, 'outputs', groupsWithData);
63
+ }
64
+ return acc.children;
65
+ };
66
+ exports.Regroup = Regroup;
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL3JlZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXNCO0FBQ3RCLGlEQUE2QztBQUc3QywrREFBdUQ7QUFFdkQsc0NBQWtDO0FBRWxDLE1BQU0sRUFBQyxvQkFBb0IsRUFBQyxHQUFHLGNBQU0sQ0FBQztBQUV0QyxNQUFNLEVBQUMsaUJBQWlCLEVBQUUsYUFBYSxFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUVuRDs7R0FFRztBQUNJLE1BQU0sT0FBTyxHQUFHLENBQ3JCLE1BQXNCLEVBQ3RCLE9BQXVCLEVBQ3ZCLE1BQWdCLEVBQ2hCLEVBQUU7SUFDRjs7T0FFRztJQUNILE1BQU0sV0FBVyxHQUFHLENBQ2xCLEtBQW1CLEVBQ25CLE1BQVcsRUFDWCxNQUFjLEVBQ2QsTUFBZ0IsRUFDaEIsRUFBRTtRQUNGLElBQUksTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDckIsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssRUFBWSxDQUFDO1lBRXZDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDeEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUV0RCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUN2QixJQUNFLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDO29CQUM5QixNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQ3pDO29CQUNBLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUM1QztxQkFBTTtvQkFDTCxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQzFDO2FBQ0Y7WUFFRCxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQzVEO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFDO0lBRUY7O09BRUc7SUFDSCxNQUFNLGNBQWMsR0FBRyxDQUFDLE9BQWlCLEVBQUUsRUFBRTtRQUMzQyxNQUFNLFNBQVMsR0FBRyxFQUFDLE9BQU8sRUFBQyxDQUFDO1FBQzVCLE1BQU0sZ0JBQWdCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FDL0IsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUNWLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUMsT0FBTyxFQUFFLGFBQWEsRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUNyRCxDQUFDO1FBRUYsSUFBQSxzQkFBUSxFQUFDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRXRDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQztJQUVGOzs7T0FHRztJQUVILE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUUvQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQW1CLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO1FBQy9ELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDcEIsTUFBTSxJQUFJLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDN0Q7UUFFRCxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QixDQUFDLENBQUM7SUFFRixJQUFJLEdBQUcsR0FBRyxFQUFTLENBQUM7SUFDcEIsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7UUFDMUIsTUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUNwRCxjQUFjLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUNoQyxDQUFDO1FBQ0YsR0FBRyxHQUFHLFdBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQztLQUN6RDtJQUVELEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO1FBQzVCLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDcEQsY0FBYyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FDakMsQ0FBQztRQUNGLEdBQUcsR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7S0FDM0Q7SUFFRCxPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUM7QUFDdEIsQ0FBQyxDQUFDO0FBbkZXLFFBQUEsT0FBTyxXQW1GbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcbmltcG9ydCB7UGx1Z2luUGFyYW1zfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdHlwZXMnO1xuXG5pbXBvcnQge3ZhbGlkYXRlfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC92YWxpZGF0aW9ucyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuY29uc3Qge0ludmFsaWRHcm91cGluZ0Vycm9yfSA9IEVSUk9SUztcblxuY29uc3Qge0lOVkFMSURfR1JPVVBfS0VZLCBSRUdST1VQX0VSUk9SfSA9IFNUUklOR1M7XG5cbi8qKlxuICogR3JvdXBpbmcgc3RyYXRlZ3kuXG4gKi9cbmV4cG9ydCBjb25zdCBSZWdyb3VwID0gKFxuICBpbnB1dHM6IFBsdWdpblBhcmFtc1tdLFxuICBvdXRwdXRzOiBQbHVnaW5QYXJhbXNbXSxcbiAgZ3JvdXBzOiBzdHJpbmdbXVxuKSA9PiB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIHN0cnVjdHVyZSB0byBpbnNlcnQgaW5wdXRzIGJ5IGdyb3Vwcy5cbiAgICovXG4gIGNvbnN0IGFwcGVuZEdyb3VwID0gKFxuICAgIHZhbHVlOiBQbHVnaW5QYXJhbXMsXG4gICAgb2JqZWN0OiBhbnksXG4gICAgdGFyZ2V0OiBzdHJpbmcsXG4gICAgZ3JvdXBzOiBzdHJpbmdbXVxuICApID0+IHtcbiAgICBpZiAoZ3JvdXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGdyb3VwID0gZ3JvdXBzLnNoaWZ0KCkgYXMgc3RyaW5nO1xuXG4gICAgICBvYmplY3QuY2hpbGRyZW4gPSBvYmplY3QuY2hpbGRyZW4gPz8ge307XG4gICAgICBvYmplY3QuY2hpbGRyZW5bZ3JvdXBdID0gb2JqZWN0LmNoaWxkcmVuW2dyb3VwXSA/PyB7fTtcblxuICAgICAgaWYgKGdyb3Vwcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIG9iamVjdC5jaGlsZHJlbltncm91cF1bdGFyZ2V0XSAmJlxuICAgICAgICAgIG9iamVjdC5jaGlsZHJlbltncm91cF1bdGFyZ2V0XS5sZW5ndGggPiAwXG4gICAgICAgICkge1xuICAgICAgICAgIG9iamVjdC5jaGlsZHJlbltncm91cF1bdGFyZ2V0XS5wdXNoKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvYmplY3QuY2hpbGRyZW5bZ3JvdXBdW3RhcmdldF0gPSBbdmFsdWVdO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGFwcGVuZEdyb3VwKHZhbHVlLCBvYmplY3QuY2hpbGRyZW5bZ3JvdXBdLCB0YXJnZXQsIGdyb3Vwcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9iamVjdDtcbiAgfTtcblxuICAvKipcbiAgICogVmFsaWRhdGVzIGdyb3VwcyBhcnJheS5cbiAgICovXG4gIGNvbnN0IHZhbGlkYXRlR3JvdXBzID0gKHJlZ3JvdXA6IHN0cmluZ1tdKSA9PiB7XG4gICAgY29uc3QgaW5wdXREYXRhID0ge3JlZ3JvdXB9O1xuICAgIGNvbnN0IHZhbGlkYXRpb25TY2hlbWEgPSB6LnJlY29yZChcbiAgICAgIHouc3RyaW5nKCksXG4gICAgICB6LmFycmF5KHouc3RyaW5nKCksIHttZXNzYWdlOiBSRUdST1VQX0VSUk9SfSkubWluKDEpXG4gICAgKTtcblxuICAgIHZhbGlkYXRlKHZhbGlkYXRpb25TY2hlbWEsIGlucHV0RGF0YSk7XG5cbiAgICByZXR1cm4gZ3JvdXBzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBJbnRlcmF0ZXMgb3ZlciBpbnB1dHMsIGdyYWJzIGdyb3VwIHZhbHVlcyBmb3IgZWFjaCBvbmUuXG4gICAqIEJhc2VkIG9uIGdyb3VwaW5nLCBpbml0aWFsaXplcyB0aGUgc3RydWN0dXJlLlxuICAgKi9cblxuICBjb25zdCB2YWxpZGF0ZWRHcm91cHMgPSB2YWxpZGF0ZUdyb3Vwcyhncm91cHMpO1xuXG4gIGNvbnN0IGxvb2t1cEdyb3VwS2V5ID0gKGlucHV0OiBQbHVnaW5QYXJhbXMsIGdyb3VwS2V5OiBzdHJpbmcpID0+IHtcbiAgICBpZiAoIWlucHV0W2dyb3VwS2V5XSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWRHcm91cGluZ0Vycm9yKElOVkFMSURfR1JPVVBfS0VZKGdyb3VwS2V5KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlucHV0W2dyb3VwS2V5XTtcbiAgfTtcblxuICBsZXQgYWNjID0ge30gYXMgYW55O1xuICBmb3IgKGNvbnN0IGlucHV0IG9mIGlucHV0cykge1xuICAgIGNvbnN0IGdyb3Vwc1dpdGhEYXRhID0gdmFsaWRhdGVkR3JvdXBzLm1hcChncm91cEtleSA9PlxuICAgICAgbG9va3VwR3JvdXBLZXkoaW5wdXQsIGdyb3VwS2V5KVxuICAgICk7XG4gICAgYWNjID0gYXBwZW5kR3JvdXAoaW5wdXQsIGFjYywgJ2lucHV0cycsIGdyb3Vwc1dpdGhEYXRhKTtcbiAgfVxuXG4gIGZvciAoY29uc3Qgb3V0cHV0IG9mIG91dHB1dHMpIHtcbiAgICBjb25zdCBncm91cHNXaXRoRGF0YSA9IHZhbGlkYXRlZEdyb3Vwcy5tYXAoZ3JvdXBLZXkgPT5cbiAgICAgIGxvb2t1cEdyb3VwS2V5KG91dHB1dCwgZ3JvdXBLZXkpXG4gICAgKTtcbiAgICBhY2MgPSBhcHBlbmRHcm91cChvdXRwdXQsIGFjYywgJ291dHB1dHMnLCBncm91cHNXaXRoRGF0YSk7XG4gIH1cblxuICByZXR1cm4gYWNjLmNoaWxkcmVuO1xufTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export type AggregationResult = Record<string, number>;
2
+ export declare const AGGREGATION_TYPES: readonly ["horizontal", "time", "vertical", "component", "both"];
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AGGREGATION_TYPES = void 0;
4
+ exports.AGGREGATION_TYPES = [
5
+ 'horizontal',
6
+ 'time',
7
+ 'vertical',
8
+ 'component',
9
+ 'both',
10
+ ];
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtcnVuL3R5cGVzL2FnZ3JlZ2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVhLFFBQUEsaUJBQWlCLEdBQUc7SUFDL0IsWUFBWTtJQUNaLE1BQU07SUFDTixVQUFVO0lBQ1YsV0FBVztJQUNYLE1BQU07Q0FDRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQWdncmVnYXRpb25SZXN1bHQgPSBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xuXG5leHBvcnQgY29uc3QgQUdHUkVHQVRJT05fVFlQRVMgPSBbXG4gICdob3Jpem9udGFsJyxcbiAgJ3RpbWUnLFxuICAndmVydGljYWwnLFxuICAnY29tcG9uZW50JyxcbiAgJ2JvdGgnLFxuXSBhcyBjb25zdDtcbiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { PluginParams } from '@grnsft/if-core/types';
2
+ import { PluginStorageInterface } from './plugin-storage';
3
+ import { Context } from '../../common/types/manifest';
4
+ /**
5
+ * @todo: remove NodeConfig after some period
6
+ */
7
+ export type NodeConfig = {
8
+ [key: string]: Record<string, any>;
9
+ };
10
+ export type PhasedPipeline = {
11
+ observe?: string[];
12
+ regroup?: string[];
13
+ compute?: string[];
14
+ };
15
+ export type ComputeParams = {
16
+ pluginStorage: PluginStorageInterface;
17
+ context: Context;
18
+ pipeline?: PhasedPipeline;
19
+ config?: NodeConfig;
20
+ defaults?: PluginParams;
21
+ observe?: Boolean;
22
+ regroup?: Boolean;
23
+ compute?: Boolean;
24
+ append?: boolean;
25
+ };
26
+ export type Node = {
27
+ children?: any;
28
+ pipeline?: PhasedPipeline;
29
+ config?: NodeConfig;
30
+ defaults?: PluginParams;
31
+ inputs?: PluginParams[];
32
+ outputs?: PluginParams[];
33
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vdHlwZXMvY29tcHV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQbHVnaW5QYXJhbXN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS90eXBlcyc7XG5cbmltcG9ydCB7UGx1Z2luU3RvcmFnZUludGVyZmFjZX0gZnJvbSAnLi9wbHVnaW4tc3RvcmFnZSc7XG5pbXBvcnQge0NvbnRleHR9IGZyb20gJy4uLy4uL2NvbW1vbi90eXBlcy9tYW5pZmVzdCc7XG5cbi8qKlxuICogQHRvZG86IHJlbW92ZSBOb2RlQ29uZmlnIGFmdGVyIHNvbWUgcGVyaW9kXG4gKi9cbmV4cG9ydCB0eXBlIE5vZGVDb25maWcgPSB7XG4gIFtrZXk6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG5leHBvcnQgdHlwZSBQaGFzZWRQaXBlbGluZSA9IHtcbiAgb2JzZXJ2ZT86IHN0cmluZ1tdO1xuICByZWdyb3VwPzogc3RyaW5nW107XG4gIGNvbXB1dGU/OiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIENvbXB1dGVQYXJhbXMgPSB7XG4gIHBsdWdpblN0b3JhZ2U6IFBsdWdpblN0b3JhZ2VJbnRlcmZhY2U7XG4gIGNvbnRleHQ6IENvbnRleHQ7XG4gIHBpcGVsaW5lPzogUGhhc2VkUGlwZWxpbmU7XG4gIGNvbmZpZz86IE5vZGVDb25maWc7XG4gIGRlZmF1bHRzPzogUGx1Z2luUGFyYW1zO1xuICBvYnNlcnZlPzogQm9vbGVhbjtcbiAgcmVncm91cD86IEJvb2xlYW47XG4gIGNvbXB1dGU/OiBCb29sZWFuO1xuICBhcHBlbmQ/OiBib29sZWFuO1xufTtcblxuZXhwb3J0IHR5cGUgTm9kZSA9IHtcbiAgY2hpbGRyZW4/OiBhbnk7XG4gIHBpcGVsaW5lPzogUGhhc2VkUGlwZWxpbmU7XG4gIGNvbmZpZz86IE5vZGVDb25maWc7XG4gIGRlZmF1bHRzPzogUGx1Z2luUGFyYW1zO1xuICBpbnB1dHM/OiBQbHVnaW5QYXJhbXNbXTtcbiAgb3V0cHV0cz86IFBsdWdpblBhcmFtc1tdO1xufTtcbiJdfQ==
@@ -0,0 +1,18 @@
1
+ export type PackageDependency = {
2
+ version: string;
3
+ resolved?: string;
4
+ overridden: boolean;
5
+ extraneous?: boolean;
6
+ };
7
+ type PackageProblem = {
8
+ extraneous: string;
9
+ };
10
+ export type NpmListResponse = {
11
+ version: string;
12
+ name: string;
13
+ problems?: PackageProblem[];
14
+ dependencies: {
15
+ [key: string]: PackageDependency;
16
+ };
17
+ };
18
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtcnVuL3R5cGVzL2Vudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBQYWNrYWdlRGVwZW5kZW5jeSA9IHtcbiAgdmVyc2lvbjogc3RyaW5nO1xuICByZXNvbHZlZD86IHN0cmluZztcbiAgb3ZlcnJpZGRlbjogYm9vbGVhbjtcbiAgZXh0cmFuZW91cz86IGJvb2xlYW47XG59O1xuXG50eXBlIFBhY2thZ2VQcm9ibGVtID0ge1xuICBleHRyYW5lb3VzOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBOcG1MaXN0UmVzcG9uc2UgPSB7XG4gIHZlcnNpb246IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBwcm9ibGVtcz86IFBhY2thZ2VQcm9ibGVtW107XG4gIGRlcGVuZGVuY2llczoge1xuICAgIFtrZXk6IHN0cmluZ106IFBhY2thZ2VEZXBlbmRlbmN5O1xuICB9O1xufTtcbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import { AggregationOptions, ParameterMetadata } from '@grnsft/if-core/types';
2
+ import { PluginOptions } from '../../common/types/manifest';
3
+ export type ExplainParams = {
4
+ pluginName: string;
5
+ pluginData: PluginOptions;
6
+ metadata: {
7
+ inputs?: ParameterMetadata;
8
+ outputs?: ParameterMetadata;
9
+ };
10
+ };
11
+ export type ExplainStorageType = Record<string, {
12
+ plugins: string[];
13
+ unit: string;
14
+ description: string;
15
+ 'aggregation-method': AggregationOptions;
16
+ }>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbGFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vdHlwZXMvZXhwbGFpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZ2dyZWdhdGlvbk9wdGlvbnMsIFBhcmFtZXRlck1ldGFkYXRhfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdHlwZXMnO1xuXG5pbXBvcnQge1BsdWdpbk9wdGlvbnN9IGZyb20gJy4uLy4uL2NvbW1vbi90eXBlcy9tYW5pZmVzdCc7XG5cbmV4cG9ydCB0eXBlIEV4cGxhaW5QYXJhbXMgPSB7XG4gIHBsdWdpbk5hbWU6IHN0cmluZztcbiAgcGx1Z2luRGF0YTogUGx1Z2luT3B0aW9ucztcbiAgbWV0YWRhdGE6IHtpbnB1dHM/OiBQYXJhbWV0ZXJNZXRhZGF0YTsgb3V0cHV0cz86IFBhcmFtZXRlck1ldGFkYXRhfTtcbn07XG5cbmV4cG9ydCB0eXBlIEV4cGxhaW5TdG9yYWdlVHlwZSA9IFJlY29yZDxcbiAgc3RyaW5nLFxuICB7XG4gICAgcGx1Z2luczogc3RyaW5nW107XG4gICAgdW5pdDogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgJ2FnZ3JlZ2F0aW9uLW1ldGhvZCc6IEFnZ3JlZ2F0aW9uT3B0aW9ucztcbiAgfVxuPjtcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ import { PluginInterface } from '@grnsft/if-core/types';
2
+ import { pluginStorage } from '../util/plugin-storage';
3
+ export type PluginStorage = {
4
+ [key: string]: PluginInterface;
5
+ };
6
+ export type PluginStorageInterface = ReturnType<typeof pluginStorage>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLXN0b3JhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtcnVuL3R5cGVzL3BsdWdpbi1zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BsdWdpbkludGVyZmFjZX0gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3R5cGVzJztcbmltcG9ydCB7cGx1Z2luU3RvcmFnZX0gZnJvbSAnLi4vdXRpbC9wbHVnaW4tc3RvcmFnZSc7XG5cbmV4cG9ydCB0eXBlIFBsdWdpblN0b3JhZ2UgPSB7XG4gIFtrZXk6IHN0cmluZ106IFBsdWdpbkludGVyZmFjZTtcbn07XG5cbmV4cG9ydCB0eXBlIFBsdWdpblN0b3JhZ2VJbnRlcmZhY2UgPSBSZXR1cm5UeXBlPHR5cGVvZiBwbHVnaW5TdG9yYWdlPjtcbiJdfQ==
@@ -0,0 +1,27 @@
1
+ export interface IfRunArgs {
2
+ manifest?: string;
3
+ output?: string;
4
+ 'no-output'?: boolean;
5
+ debug?: boolean;
6
+ observe?: boolean;
7
+ regroup?: boolean;
8
+ compute?: boolean;
9
+ append?: boolean;
10
+ }
11
+ export interface ProcessArgsOutputs {
12
+ inputPath: string;
13
+ outputOptions: {
14
+ outputPath?: string;
15
+ noOutput?: boolean;
16
+ };
17
+ paramPath?: string;
18
+ debug?: boolean;
19
+ observe?: boolean;
20
+ regroup?: boolean;
21
+ compute?: boolean;
22
+ append?: boolean;
23
+ }
24
+ export interface Options {
25
+ outputPath?: string;
26
+ noOutput?: boolean;
27
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLXJ1bi90eXBlcy9wcm9jZXNzLWFyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSWZSdW5BcmdzIHtcbiAgbWFuaWZlc3Q/OiBzdHJpbmc7XG4gIG91dHB1dD86IHN0cmluZztcbiAgJ25vLW91dHB1dCc/OiBib29sZWFuO1xuICBkZWJ1Zz86IGJvb2xlYW47XG4gIG9ic2VydmU/OiBib29sZWFuO1xuICByZWdyb3VwPzogYm9vbGVhbjtcbiAgY29tcHV0ZT86IGJvb2xlYW47XG4gIGFwcGVuZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc0FyZ3NPdXRwdXRzIHtcbiAgaW5wdXRQYXRoOiBzdHJpbmc7XG4gIG91dHB1dE9wdGlvbnM6IHtcbiAgICBvdXRwdXRQYXRoPzogc3RyaW5nO1xuICAgIG5vT3V0cHV0PzogYm9vbGVhbjtcbiAgfTtcbiAgcGFyYW1QYXRoPzogc3RyaW5nO1xuICBkZWJ1Zz86IGJvb2xlYW47XG4gIG9ic2VydmU/OiBib29sZWFuO1xuICByZWdyb3VwPzogYm9vbGVhbjtcbiAgY29tcHV0ZT86IGJvb2xlYW47XG4gIGFwcGVuZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyB7XG4gIG91dHB1dFBhdGg/OiBzdHJpbmc7XG4gIG5vT3V0cHV0PzogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ import { PluginParams } from '@grnsft/if-core/types';
2
+ /**
3
+ * Aggregates child node level metrics. Appends aggregation additional params to metrics.
4
+ * Otherwise iterates over outputs by aggregating per given `metrics`.
5
+ */
6
+ export declare const aggregateOutputsIntoOne: (outputs: PluginParams[], metrics: string[], isTemporal?: boolean) => PluginParams;