@grnsft/if 0.7.0-beta.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,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.aggregateOutputsIntoOne = void 0;
4
+ const utils_1 = require("@grnsft/if-core/utils");
5
+ const config_1 = require("../config");
6
+ const aggregate_1 = require("../lib/aggregate");
7
+ const { MissingAggregationParamError } = utils_1.ERRORS;
8
+ const { METRIC_MISSING } = config_1.STRINGS;
9
+ const { AGGREGATION_TIME_METRICS } = config_1.CONFIG;
10
+ /**
11
+ * Aggregates child node level metrics. Appends aggregation additional params to metrics.
12
+ * Otherwise iterates over outputs by aggregating per given `metrics`.
13
+ */
14
+ const aggregateOutputsIntoOne = (outputs, metrics, isTemporal) => {
15
+ const metricsWithTime = metrics.concat(AGGREGATION_TIME_METRICS);
16
+ return outputs.reduce((acc, output, index) => {
17
+ for (const metric of metricsWithTime) {
18
+ if (!(metric in output)) {
19
+ throw new MissingAggregationParamError(METRIC_MISSING(metric, index));
20
+ }
21
+ /** Checks if metric is timestamp or duration, then adds to aggregated value. */
22
+ if (AGGREGATION_TIME_METRICS.includes(metric)) {
23
+ if (isTemporal) {
24
+ acc[metric] = output[metric];
25
+ }
26
+ }
27
+ else {
28
+ const aggregationParams = (0, aggregate_1.getAggregationInfoFor)(metric);
29
+ /** Checks either its a temporal aggregation (vertical), then chooses `component`, otherwise `time`. */
30
+ const aggregationType = isTemporal ? 'component' : 'time';
31
+ if (aggregationParams[aggregationType] === 'none') {
32
+ return acc;
33
+ }
34
+ if (aggregationParams[aggregationType] === 'copy') {
35
+ acc[metric] = output[metric];
36
+ return acc;
37
+ }
38
+ acc[metric] = acc[metric] ?? 0;
39
+ acc[metric] += parseFloat(output[metric]);
40
+ /** Checks for the last iteration. */
41
+ if (index === outputs.length - 1) {
42
+ if (aggregationParams[aggregationType] === 'avg') {
43
+ acc[metric] /= outputs.length;
44
+ }
45
+ }
46
+ }
47
+ }
48
+ return acc;
49
+ }, {});
50
+ };
51
+ exports.aggregateOutputsIntoOne = aggregateOutputsIntoOne;
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLXJ1bi91dGlsL2FnZ3JlZ2F0aW9uLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpREFBNkM7QUFHN0Msc0NBQTBDO0FBSTFDLGdEQUF1RDtBQUV2RCxNQUFNLEVBQUMsNEJBQTRCLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFDOUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFDakMsTUFBTSxFQUFDLHdCQUF3QixFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRTFDOzs7R0FHRztBQUNJLE1BQU0sdUJBQXVCLEdBQUcsQ0FDckMsT0FBdUIsRUFDdkIsT0FBaUIsRUFDakIsVUFBb0IsRUFDcEIsRUFBRTtJQUNGLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUVqRSxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQzNDLEtBQUssTUFBTSxNQUFNLElBQUksZUFBZSxFQUFFO1lBQ3BDLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsRUFBRTtnQkFDdkIsTUFBTSxJQUFJLDRCQUE0QixDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQzthQUN2RTtZQUVELGdGQUFnRjtZQUNoRixJQUFJLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDN0MsSUFBSSxVQUFVLEVBQUU7b0JBQ2QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDOUI7YUFDRjtpQkFBTTtnQkFDTCxNQUFNLGlCQUFpQixHQUFHLElBQUEsaUNBQXFCLEVBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQ3hELHdHQUF3RztnQkFDeEcsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztnQkFFMUQsSUFBSSxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsS0FBSyxNQUFNLEVBQUU7b0JBQ2pELE9BQU8sR0FBRyxDQUFDO2lCQUNaO2dCQUVELElBQUksaUJBQWlCLENBQUMsZUFBZSxDQUFDLEtBQUssTUFBTSxFQUFFO29CQUNqRCxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUM3QixPQUFPLEdBQUcsQ0FBQztpQkFDWjtnQkFFRCxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDL0IsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztnQkFFMUMscUNBQXFDO2dCQUNyQyxJQUFJLEtBQUssS0FBSyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDaEMsSUFBSSxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsS0FBSyxLQUFLLEVBQUU7d0JBQ2hELEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO3FCQUMvQjtpQkFDRjthQUNGO1NBQ0Y7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFBRSxFQUF1QixDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBOUNXLFFBQUEsdUJBQXVCLDJCQThDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcbmltcG9ydCB7UGx1Z2luUGFyYW1zfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdHlwZXMnO1xuXG5pbXBvcnQge0NPTkZJRywgU1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuaW1wb3J0IHtBZ2dyZWdhdGlvblJlc3VsdH0gZnJvbSAnLi4vdHlwZXMvYWdncmVnYXRpb24nO1xuXG5pbXBvcnQge2dldEFnZ3JlZ2F0aW9uSW5mb0Zvcn0gZnJvbSAnLi4vbGliL2FnZ3JlZ2F0ZSc7XG5cbmNvbnN0IHtNaXNzaW5nQWdncmVnYXRpb25QYXJhbUVycm9yfSA9IEVSUk9SUztcbmNvbnN0IHtNRVRSSUNfTUlTU0lOR30gPSBTVFJJTkdTO1xuY29uc3Qge0FHR1JFR0FUSU9OX1RJTUVfTUVUUklDU30gPSBDT05GSUc7XG5cbi8qKlxuICogQWdncmVnYXRlcyBjaGlsZCBub2RlIGxldmVsIG1ldHJpY3MuIEFwcGVuZHMgYWdncmVnYXRpb24gYWRkaXRpb25hbCBwYXJhbXMgdG8gbWV0cmljcy5cbiAqIE90aGVyd2lzZSBpdGVyYXRlcyBvdmVyIG91dHB1dHMgYnkgYWdncmVnYXRpbmcgcGVyIGdpdmVuIGBtZXRyaWNzYC5cbiAqL1xuZXhwb3J0IGNvbnN0IGFnZ3JlZ2F0ZU91dHB1dHNJbnRvT25lID0gKFxuICBvdXRwdXRzOiBQbHVnaW5QYXJhbXNbXSxcbiAgbWV0cmljczogc3RyaW5nW10sXG4gIGlzVGVtcG9yYWw/OiBib29sZWFuXG4pID0+IHtcbiAgY29uc3QgbWV0cmljc1dpdGhUaW1lID0gbWV0cmljcy5jb25jYXQoQUdHUkVHQVRJT05fVElNRV9NRVRSSUNTKTtcblxuICByZXR1cm4gb3V0cHV0cy5yZWR1Y2UoKGFjYywgb3V0cHV0LCBpbmRleCkgPT4ge1xuICAgIGZvciAoY29uc3QgbWV0cmljIG9mIG1ldHJpY3NXaXRoVGltZSkge1xuICAgICAgaWYgKCEobWV0cmljIGluIG91dHB1dCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IE1pc3NpbmdBZ2dyZWdhdGlvblBhcmFtRXJyb3IoTUVUUklDX01JU1NJTkcobWV0cmljLCBpbmRleCkpO1xuICAgICAgfVxuXG4gICAgICAvKiogQ2hlY2tzIGlmIG1ldHJpYyBpcyB0aW1lc3RhbXAgb3IgZHVyYXRpb24sIHRoZW4gYWRkcyB0byBhZ2dyZWdhdGVkIHZhbHVlLiAqL1xuICAgICAgaWYgKEFHR1JFR0FUSU9OX1RJTUVfTUVUUklDUy5pbmNsdWRlcyhtZXRyaWMpKSB7XG4gICAgICAgIGlmIChpc1RlbXBvcmFsKSB7XG4gICAgICAgICAgYWNjW21ldHJpY10gPSBvdXRwdXRbbWV0cmljXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgYWdncmVnYXRpb25QYXJhbXMgPSBnZXRBZ2dyZWdhdGlvbkluZm9Gb3IobWV0cmljKTtcbiAgICAgICAgLyoqIENoZWNrcyBlaXRoZXIgaXRzIGEgdGVtcG9yYWwgYWdncmVnYXRpb24gKHZlcnRpY2FsKSwgdGhlbiBjaG9vc2VzIGBjb21wb25lbnRgLCBvdGhlcndpc2UgYHRpbWVgLiAgKi9cbiAgICAgICAgY29uc3QgYWdncmVnYXRpb25UeXBlID0gaXNUZW1wb3JhbCA/ICdjb21wb25lbnQnIDogJ3RpbWUnO1xuXG4gICAgICAgIGlmIChhZ2dyZWdhdGlvblBhcmFtc1thZ2dyZWdhdGlvblR5cGVdID09PSAnbm9uZScpIHtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFnZ3JlZ2F0aW9uUGFyYW1zW2FnZ3JlZ2F0aW9uVHlwZV0gPT09ICdjb3B5Jykge1xuICAgICAgICAgIGFjY1ttZXRyaWNdID0gb3V0cHV0W21ldHJpY107XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfVxuXG4gICAgICAgIGFjY1ttZXRyaWNdID0gYWNjW21ldHJpY10gPz8gMDtcbiAgICAgICAgYWNjW21ldHJpY10gKz0gcGFyc2VGbG9hdChvdXRwdXRbbWV0cmljXSk7XG5cbiAgICAgICAgLyoqIENoZWNrcyBmb3IgdGhlIGxhc3QgaXRlcmF0aW9uLiAqL1xuICAgICAgICBpZiAoaW5kZXggPT09IG91dHB1dHMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgIGlmIChhZ2dyZWdhdGlvblBhcmFtc1thZ2dyZWdhdGlvblR5cGVdID09PSAnYXZnJykge1xuICAgICAgICAgICAgYWNjW21ldHJpY10gLz0gb3V0cHV0cy5sZW5ndGg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30gYXMgQWdncmVnYXRpb25SZXN1bHQpO1xufTtcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import { ProcessArgsOutputs } from '../types/process-args';
2
+ /**
3
+ * 1. Parses process arguments for `if-run`.
4
+ * 2. If output params are missing, warns user about it.
5
+ * 3. Otherwise checks if `manifest` param is there, then processes with checking if it's a yaml file.
6
+ * If it is, then returns object containing full path.
7
+ * 4. If params are missing or invalid, then rejects with `ParseCliParamsError`.
8
+ */
9
+ export declare const parseIfRunProcessArgs: () => ProcessArgsOutputs;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseIfRunProcessArgs = void 0;
4
+ const ts_command_line_args_1 = require("ts-command-line-args");
5
+ const utils_1 = require("@grnsft/if-core/utils");
6
+ const yaml_1 = require("../../common/util/yaml");
7
+ const helpers_1 = require("../../common/util/helpers");
8
+ const logger_1 = require("../../common/util/logger");
9
+ const config_1 = require("../config");
10
+ const config_2 = require("../../common/config");
11
+ const { ParseCliParamsError, CliSourceFileError } = utils_1.ERRORS;
12
+ const { ARGS, HELP } = config_1.CONFIG;
13
+ const { NO_OUTPUT } = config_1.STRINGS;
14
+ const { SOURCE_IS_NOT_YAML, MANIFEST_IS_MISSING } = config_2.STRINGS;
15
+ /**
16
+ * Validates `if-run` process arguments.
17
+ */
18
+ const validateAndParseProcessArgs = () => {
19
+ try {
20
+ return (0, ts_command_line_args_1.parse)(ARGS, HELP);
21
+ }
22
+ catch (error) {
23
+ if (error instanceof Error) {
24
+ throw new ParseCliParamsError(error.message);
25
+ }
26
+ throw error;
27
+ }
28
+ };
29
+ /**
30
+ * 1. Parses process arguments for `if-run`.
31
+ * 2. If output params are missing, warns user about it.
32
+ * 3. Otherwise checks if `manifest` param is there, then processes with checking if it's a yaml file.
33
+ * If it is, then returns object containing full path.
34
+ * 4. If params are missing or invalid, then rejects with `ParseCliParamsError`.
35
+ */
36
+ const parseIfRunProcessArgs = () => {
37
+ const { manifest, output, 'no-output': noOutput, debug, observe, regroup, compute, append, } = validateAndParseProcessArgs();
38
+ if (!output && noOutput) {
39
+ logger_1.logger.warn(NO_OUTPUT);
40
+ }
41
+ if (manifest) {
42
+ if ((0, yaml_1.checkIfFileIsYaml)(manifest)) {
43
+ return {
44
+ inputPath: (0, helpers_1.prependFullFilePath)(manifest),
45
+ outputOptions: {
46
+ ...(output && { outputPath: (0, helpers_1.prependFullFilePath)(output) }),
47
+ ...(noOutput && { noOutput }),
48
+ },
49
+ debug,
50
+ observe,
51
+ regroup,
52
+ compute,
53
+ ...(append && { append }),
54
+ };
55
+ }
56
+ throw new CliSourceFileError(SOURCE_IS_NOT_YAML);
57
+ }
58
+ throw new CliSourceFileError(MANIFEST_IS_MISSING);
59
+ };
60
+ exports.parseIfRunProcessArgs = parseIfRunProcessArgs;
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vdXRpbC9hcmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtEQUEyQztBQUMzQyxpREFBNkM7QUFFN0MsaURBQXlEO0FBQ3pELHVEQUE4RDtBQUU5RCxxREFBZ0Q7QUFFaEQsc0NBQTBDO0FBQzFDLGdEQUE4RDtBQUk5RCxNQUFNLEVBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFFekQsTUFBTSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDNUIsTUFBTSxFQUFDLFNBQVMsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFDNUIsTUFBTSxFQUFDLGtCQUFrQixFQUFFLG1CQUFtQixFQUFDLEdBQUcsZ0JBQWMsQ0FBQztBQUVqRTs7R0FFRztBQUNILE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxFQUFFO0lBQ3ZDLElBQUk7UUFDRixPQUFPLElBQUEsNEJBQUssRUFBWSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDckM7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtZQUMxQixNQUFNLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzlDO1FBRUQsTUFBTSxLQUFLLENBQUM7S0FDYjtBQUNILENBQUMsQ0FBQztBQUVGOzs7Ozs7R0FNRztBQUNJLE1BQU0scUJBQXFCLEdBQUcsR0FBdUIsRUFBRTtJQUM1RCxNQUFNLEVBQ0osUUFBUSxFQUNSLE1BQU0sRUFDTixXQUFXLEVBQUUsUUFBUSxFQUNyQixLQUFLLEVBQ0wsT0FBTyxFQUNQLE9BQU8sRUFDUCxPQUFPLEVBQ1AsTUFBTSxHQUNQLEdBQUcsMkJBQTJCLEVBQUUsQ0FBQztJQUVsQyxJQUFJLENBQUMsTUFBTSxJQUFJLFFBQVEsRUFBRTtRQUN2QixlQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQ3hCO0lBRUQsSUFBSSxRQUFRLEVBQUU7UUFDWixJQUFJLElBQUEsd0JBQWlCLEVBQUMsUUFBUSxDQUFDLEVBQUU7WUFDL0IsT0FBTztnQkFDTCxTQUFTLEVBQUUsSUFBQSw2QkFBbUIsRUFBQyxRQUFRLENBQUM7Z0JBQ3hDLGFBQWEsRUFBRTtvQkFDYixHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUMsVUFBVSxFQUFFLElBQUEsNkJBQW1CLEVBQUMsTUFBTSxDQUFDLEVBQUMsQ0FBQztvQkFDeEQsR0FBRyxDQUFDLFFBQVEsSUFBSSxFQUFDLFFBQVEsRUFBQyxDQUFDO2lCQUM1QjtnQkFDRCxLQUFLO2dCQUNMLE9BQU87Z0JBQ1AsT0FBTztnQkFDUCxPQUFPO2dCQUNQLEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBQyxNQUFNLEVBQUMsQ0FBQzthQUN4QixDQUFDO1NBQ0g7UUFFRCxNQUFNLElBQUksa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQUNsRDtJQUVELE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQ3BELENBQUMsQ0FBQztBQXBDVyxRQUFBLHFCQUFxQix5QkFvQ2hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtwYXJzZX0gZnJvbSAndHMtY29tbWFuZC1saW5lLWFyZ3MnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5cbmltcG9ydCB7Y2hlY2tJZkZpbGVJc1lhbWx9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL3lhbWwnO1xuaW1wb3J0IHtwcmVwZW5kRnVsbEZpbGVQYXRofSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9oZWxwZXJzJztcblxuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2xvZ2dlcic7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHtTVFJJTkdTIGFzIENPTU1PTl9TVFJJTkdTfSBmcm9tICcuLi8uLi9jb21tb24vY29uZmlnJztcblxuaW1wb3J0IHtJZlJ1bkFyZ3MsIFByb2Nlc3NBcmdzT3V0cHV0c30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuY29uc3Qge1BhcnNlQ2xpUGFyYW1zRXJyb3IsIENsaVNvdXJjZUZpbGVFcnJvcn0gPSBFUlJPUlM7XG5cbmNvbnN0IHtBUkdTLCBIRUxQfSA9IENPTkZJRztcbmNvbnN0IHtOT19PVVRQVVR9ID0gU1RSSU5HUztcbmNvbnN0IHtTT1VSQ0VfSVNfTk9UX1lBTUwsIE1BTklGRVNUX0lTX01JU1NJTkd9ID0gQ09NTU9OX1NUUklOR1M7XG5cbi8qKlxuICogVmFsaWRhdGVzIGBpZi1ydW5gIHByb2Nlc3MgYXJndW1lbnRzLlxuICovXG5jb25zdCB2YWxpZGF0ZUFuZFBhcnNlUHJvY2Vzc0FyZ3MgPSAoKSA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlPElmUnVuQXJncz4oQVJHUywgSEVMUCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZUNsaVBhcmFtc0Vycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG4vKipcbiAqIDEuIFBhcnNlcyBwcm9jZXNzIGFyZ3VtZW50cyBmb3IgYGlmLXJ1bmAuXG4gKiAyLiBJZiBvdXRwdXQgcGFyYW1zIGFyZSBtaXNzaW5nLCB3YXJucyB1c2VyIGFib3V0IGl0LlxuICogMy4gT3RoZXJ3aXNlIGNoZWNrcyBpZiBgbWFuaWZlc3RgIHBhcmFtIGlzIHRoZXJlLCB0aGVuIHByb2Nlc3NlcyB3aXRoIGNoZWNraW5nIGlmIGl0J3MgYSB5YW1sIGZpbGUuXG4gKiAgICBJZiBpdCBpcywgdGhlbiByZXR1cm5zIG9iamVjdCBjb250YWluaW5nIGZ1bGwgcGF0aC5cbiAqIDQuIElmIHBhcmFtcyBhcmUgbWlzc2luZyBvciBpbnZhbGlkLCB0aGVuIHJlamVjdHMgd2l0aCBgUGFyc2VDbGlQYXJhbXNFcnJvcmAuXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZUlmUnVuUHJvY2Vzc0FyZ3MgPSAoKTogUHJvY2Vzc0FyZ3NPdXRwdXRzID0+IHtcbiAgY29uc3Qge1xuICAgIG1hbmlmZXN0LFxuICAgIG91dHB1dCxcbiAgICAnbm8tb3V0cHV0Jzogbm9PdXRwdXQsXG4gICAgZGVidWcsXG4gICAgb2JzZXJ2ZSxcbiAgICByZWdyb3VwLFxuICAgIGNvbXB1dGUsXG4gICAgYXBwZW5kLFxuICB9ID0gdmFsaWRhdGVBbmRQYXJzZVByb2Nlc3NBcmdzKCk7XG5cbiAgaWYgKCFvdXRwdXQgJiYgbm9PdXRwdXQpIHtcbiAgICBsb2dnZXIud2FybihOT19PVVRQVVQpO1xuICB9XG5cbiAgaWYgKG1hbmlmZXN0KSB7XG4gICAgaWYgKGNoZWNrSWZGaWxlSXNZYW1sKG1hbmlmZXN0KSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaW5wdXRQYXRoOiBwcmVwZW5kRnVsbEZpbGVQYXRoKG1hbmlmZXN0KSxcbiAgICAgICAgb3V0cHV0T3B0aW9uczoge1xuICAgICAgICAgIC4uLihvdXRwdXQgJiYge291dHB1dFBhdGg6IHByZXBlbmRGdWxsRmlsZVBhdGgob3V0cHV0KX0pLFxuICAgICAgICAgIC4uLihub091dHB1dCAmJiB7bm9PdXRwdXR9KSxcbiAgICAgICAgfSxcbiAgICAgICAgZGVidWcsXG4gICAgICAgIG9ic2VydmUsXG4gICAgICAgIHJlZ3JvdXAsXG4gICAgICAgIGNvbXB1dGUsXG4gICAgICAgIC4uLihhcHBlbmQgJiYge2FwcGVuZH0pLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgQ2xpU291cmNlRmlsZUVycm9yKFNPVVJDRV9JU19OT1RfWUFNTCk7XG4gIH1cblxuICB0aHJvdyBuZXcgQ2xpU291cmNlRmlsZUVycm9yKE1BTklGRVNUX0lTX01JU1NJTkcpO1xufTtcbiJdfQ==
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Impact engine error handler. Logs errors and appends issue template if error is unknown.
3
+ */
4
+ export declare const andHandle: (error: Error) => void;
5
+ /**
6
+ * Append entries from defaults which are missing from inputs.
7
+ */
8
+ export declare const mergeObjects: (defaults: any, input: any) => Record<string, any>;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mergeObjects = exports.andHandle = void 0;
4
+ const utils_1 = require("@grnsft/if-core/utils");
5
+ const logger_1 = require("../../common/util/logger");
6
+ const config_1 = require("../config");
7
+ const { UNSUPPORTED_ERROR } = config_1.STRINGS;
8
+ /**
9
+ * Impact engine error handler. Logs errors and appends issue template if error is unknown.
10
+ */
11
+ const andHandle = (error) => {
12
+ const knownErrors = Object.keys(utils_1.ERRORS);
13
+ logger_1.logger.error(error);
14
+ if (!knownErrors.includes(error.name)) {
15
+ logger_1.logger.error(UNSUPPORTED_ERROR(error.name));
16
+ // eslint-disable-next-line no-process-exit
17
+ process.exit(2);
18
+ }
19
+ };
20
+ exports.andHandle = andHandle;
21
+ /**
22
+ * Append entries from defaults which are missing from inputs.
23
+ */
24
+ const mergeObjects = (defaults, input) => {
25
+ const merged = structuredClone(input);
26
+ for (const key in defaults) {
27
+ if (!(key in input)) {
28
+ merged[key] = defaults[key];
29
+ }
30
+ if (merged[key] === undefined || merged[key] === null) {
31
+ merged[key] = defaults[key];
32
+ }
33
+ }
34
+ return merged;
35
+ };
36
+ exports.mergeObjects = mergeObjects;
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vdXRpbC9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUE2QztBQUU3QyxxREFBZ0Q7QUFFaEQsc0NBQWtDO0FBRWxDLE1BQU0sRUFBQyxpQkFBaUIsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFcEM7O0dBRUc7QUFDSSxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQVksRUFBRSxFQUFFO0lBQ3hDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBTSxDQUFDLENBQUM7SUFFeEMsZUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVwQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDckMsZUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM1QywyQ0FBMkM7UUFDM0MsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNqQjtBQUNILENBQUMsQ0FBQztBQVZXLFFBQUEsU0FBUyxhQVVwQjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxZQUFZLEdBQUcsQ0FBQyxRQUFhLEVBQUUsS0FBVSxFQUFFLEVBQUU7SUFDeEQsTUFBTSxNQUFNLEdBQXdCLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUzRCxLQUFLLE1BQU0sR0FBRyxJQUFJLFFBQVEsRUFBRTtRQUMxQixJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLEVBQUU7WUFDbkIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM3QjtRQUVELElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ3JELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDN0I7S0FDRjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQWRXLFFBQUEsWUFBWSxnQkFjdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcblxuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2xvZ2dlcic7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuY29uc3Qge1VOU1VQUE9SVEVEX0VSUk9SfSA9IFNUUklOR1M7XG5cbi8qKlxuICogSW1wYWN0IGVuZ2luZSBlcnJvciBoYW5kbGVyLiBMb2dzIGVycm9ycyBhbmQgYXBwZW5kcyBpc3N1ZSB0ZW1wbGF0ZSBpZiBlcnJvciBpcyB1bmtub3duLlxuICovXG5leHBvcnQgY29uc3QgYW5kSGFuZGxlID0gKGVycm9yOiBFcnJvcikgPT4ge1xuICBjb25zdCBrbm93bkVycm9ycyA9IE9iamVjdC5rZXlzKEVSUk9SUyk7XG5cbiAgbG9nZ2VyLmVycm9yKGVycm9yKTtcblxuICBpZiAoIWtub3duRXJyb3JzLmluY2x1ZGVzKGVycm9yLm5hbWUpKSB7XG4gICAgbG9nZ2VyLmVycm9yKFVOU1VQUE9SVEVEX0VSUk9SKGVycm9yLm5hbWUpKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvY2Vzcy1leGl0XG4gICAgcHJvY2Vzcy5leGl0KDIpO1xuICB9XG59O1xuXG4vKipcbiAqIEFwcGVuZCBlbnRyaWVzIGZyb20gZGVmYXVsdHMgd2hpY2ggYXJlIG1pc3NpbmcgZnJvbSBpbnB1dHMuXG4gKi9cbmV4cG9ydCBjb25zdCBtZXJnZU9iamVjdHMgPSAoZGVmYXVsdHM6IGFueSwgaW5wdXQ6IGFueSkgPT4ge1xuICBjb25zdCBtZXJnZWQ6IFJlY29yZDxzdHJpbmcsIGFueT4gPSBzdHJ1Y3R1cmVkQ2xvbmUoaW5wdXQpO1xuXG4gIGZvciAoY29uc3Qga2V5IGluIGRlZmF1bHRzKSB7XG4gICAgaWYgKCEoa2V5IGluIGlucHV0KSkge1xuICAgICAgbWVyZ2VkW2tleV0gPSBkZWZhdWx0c1trZXldO1xuICAgIH1cblxuICAgIGlmIChtZXJnZWRba2V5XSA9PT0gdW5kZWZpbmVkIHx8IG1lcmdlZFtrZXldID09PSBudWxsKSB7XG4gICAgICBtZXJnZWRba2V5XSA9IGRlZmF1bHRzW2tleV07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1lcmdlZDtcbn07XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import { LeveledLogMethod } from 'winston';
2
+ /** Singleton pattern. */
3
+ export declare const memoizedLog: (logger: LeveledLogMethod | typeof console.debug, message: string) => void;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.memoizedLog = void 0;
4
+ /**
5
+ * Keeps in memory logged messages. If called with redundant message, skips logging.
6
+ */
7
+ const memoizedLogger = () => {
8
+ const memory = [];
9
+ return (logger, message) => {
10
+ if (memory.includes(message)) {
11
+ return;
12
+ }
13
+ memory.push(message);
14
+ logger(message);
15
+ };
16
+ };
17
+ /** Singleton pattern. */
18
+ exports.memoizedLog = memoizedLogger();
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLW1lbW9pemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtcnVuL3V0aWwvbG9nLW1lbW9pemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUE7O0dBRUc7QUFDSCxNQUFNLGNBQWMsR0FBRyxHQUFHLEVBQUU7SUFDMUIsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO0lBRTVCLE9BQU8sQ0FBQyxNQUErQyxFQUFFLE9BQWUsRUFBRSxFQUFFO1FBQzFFLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM1QixPQUFPO1NBQ1I7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRix5QkFBeUI7QUFDWixRQUFBLFdBQVcsR0FBRyxjQUFjLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TGV2ZWxlZExvZ01ldGhvZH0gZnJvbSAnd2luc3Rvbic7XG5cbi8qKlxuICogS2VlcHMgaW4gbWVtb3J5IGxvZ2dlZCBtZXNzYWdlcy4gSWYgY2FsbGVkIHdpdGggcmVkdW5kYW50IG1lc3NhZ2UsIHNraXBzIGxvZ2dpbmcuXG4gKi9cbmNvbnN0IG1lbW9pemVkTG9nZ2VyID0gKCkgPT4ge1xuICBjb25zdCBtZW1vcnk6IHN0cmluZ1tdID0gW107XG5cbiAgcmV0dXJuIChsb2dnZXI6IExldmVsZWRMb2dNZXRob2QgfCB0eXBlb2YgY29uc29sZS5kZWJ1ZywgbWVzc2FnZTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKG1lbW9yeS5pbmNsdWRlcyhtZXNzYWdlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG1lbW9yeS5wdXNoKG1lc3NhZ2UpO1xuICAgIGxvZ2dlcihtZXNzYWdlKTtcbiAgfTtcbn07XG5cbi8qKiBTaW5nbGV0b24gcGF0dGVybi4gKi9cbmV4cG9ydCBjb25zdCBtZW1vaXplZExvZyA9IG1lbW9pemVkTG9nZ2VyKCk7XG4iXX0=
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Finds operating system information like name and version.
3
+ */
4
+ export declare const osInfo: () => Promise<{
5
+ os: string;
6
+ 'os-version': string;
7
+ }>;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.osInfo = void 0;
4
+ const os_1 = require("os");
5
+ const helpers_1 = require("../../common/util/helpers");
6
+ /**
7
+ * Executes `lsb_release -a` command in terminal.
8
+ *
9
+ * ```
10
+ * Distributor ID: Ubuntu
11
+ * Description: Ubuntu 22.04.4 LTS
12
+ * Release: 22.04
13
+ * Codename: jammy
14
+ * ```
15
+ *
16
+ * Parses os and os-version from the response.
17
+ */
18
+ const getLinuxInfo = async () => {
19
+ const { stdout } = await (0, helpers_1.execPromise)('lsb_release -a');
20
+ const parseLinuxVersion = (lsbReleaseResponse) => {
21
+ const regex = /Distributor ID: ([^\n]+)\nDescription: +([^ ]+) +([^ ]+) +(.+)\n/;
22
+ const match = lsbReleaseResponse.match(regex);
23
+ return {
24
+ os: match ? match[1] : (0, os_1.platform)(),
25
+ 'os-version': match ? `${match[3]} ${match[4]}` : (0, os_1.release)(),
26
+ };
27
+ };
28
+ return parseLinuxVersion(stdout);
29
+ };
30
+ /**
31
+ * Executes in CMD `systeminfo | findstr /B /C:"OS Name" /B /C:"OS Version"` command.
32
+ *
33
+ * ```
34
+ * OS Name: Microsoft Windows 11 Enterprise
35
+ * OS Version: 10.0.22631 N/A Build 22631
36
+ * ```
37
+ *
38
+ * Parses os and os-version from the response.
39
+ */
40
+ const getWindowsInfo = async () => {
41
+ const { stdout } = await (0, helpers_1.execPromise)('systeminfo | findstr /B /C:"OS Name" /B /C:"OS Version"');
42
+ const parseWindowsInfo = (systemInfoResponse) => {
43
+ const regex = /OS Name:\s+([^\n]+)\nOS Version:\s+([\d.]+)\s+(N\/A\s+Build\s+(\d+))/;
44
+ const match = systemInfoResponse.match(regex);
45
+ return {
46
+ os: match ? match[1] : (0, os_1.platform)(),
47
+ 'os-version': match ? `${match[2]} ${match[3]}` : (0, os_1.release)(),
48
+ };
49
+ };
50
+ return parseWindowsInfo(stdout);
51
+ };
52
+ /**
53
+ * Executes `sw_vers` command in terminal.
54
+ *
55
+ * ```
56
+ * ProductName: macOS
57
+ * ProductVersion: 14.3.1
58
+ * BuildVersion: 23D60
59
+ * ```
60
+ *
61
+ * Parses os and os version from the response.
62
+ */
63
+ const getMacVersion = async () => {
64
+ const { stdout } = await (0, helpers_1.execPromise)('sw_vers');
65
+ const parseMacInfo = (swVersResponse) => {
66
+ const productNameRegex = /ProductName:\s*(.+)/;
67
+ const productVersionRegex = /ProductVersion:\s*(.+)/;
68
+ const nameMatch = swVersResponse.match(productNameRegex);
69
+ const versionMatch = swVersResponse.match(productVersionRegex);
70
+ return {
71
+ os: nameMatch ? nameMatch[1].trim() : (0, os_1.platform)(),
72
+ 'os-version': versionMatch ? versionMatch[1].trim() : (0, os_1.release)(),
73
+ };
74
+ };
75
+ return parseMacInfo(stdout);
76
+ };
77
+ /**
78
+ * Finds operating system information like name and version.
79
+ */
80
+ const osInfo = async () => {
81
+ const osKind = (0, os_1.platform)();
82
+ switch (osKind) {
83
+ case 'darwin':
84
+ return getMacVersion();
85
+ case 'linux':
86
+ return getLinuxInfo();
87
+ case 'win32':
88
+ return getWindowsInfo();
89
+ default:
90
+ return {
91
+ os: osKind,
92
+ 'os-version': (0, os_1.release)(),
93
+ };
94
+ }
95
+ };
96
+ exports.osInfo = osInfo;
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3MtY2hlY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vdXRpbC9vcy1jaGVja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJCQUFxQztBQUVyQyx1REFBc0Q7QUFFdEQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFlBQVksR0FBRyxLQUFLLElBQUksRUFBRTtJQUM5QixNQUFNLEVBQUMsTUFBTSxFQUFDLEdBQUcsTUFBTSxJQUFBLHFCQUFXLEVBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVyRCxNQUFNLGlCQUFpQixHQUFHLENBQUMsa0JBQTBCLEVBQUUsRUFBRTtRQUN2RCxNQUFNLEtBQUssR0FDVCxrRUFBa0UsQ0FBQztRQUNyRSxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUMsT0FBTztZQUNMLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxhQUFRLEdBQUU7WUFDakMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUEsWUFBTyxHQUFFO1NBQzVELENBQUM7SUFDSixDQUFDLENBQUM7SUFFRixPQUFPLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sY0FBYyxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQ2hDLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxNQUFNLElBQUEscUJBQVcsRUFDaEMseURBQXlELENBQzFELENBQUM7SUFFRixNQUFNLGdCQUFnQixHQUFHLENBQUMsa0JBQTBCLEVBQUUsRUFBRTtRQUN0RCxNQUFNLEtBQUssR0FDVCxzRUFBc0UsQ0FBQztRQUN6RSxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFOUMsT0FBTztZQUNMLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxhQUFRLEdBQUU7WUFDakMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUEsWUFBTyxHQUFFO1NBQzVELENBQUM7SUFDSixDQUFDLENBQUM7SUFFRixPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLGFBQWEsR0FBRyxLQUFLLElBQUksRUFBRTtJQUMvQixNQUFNLEVBQUMsTUFBTSxFQUFDLEdBQUcsTUFBTSxJQUFBLHFCQUFXLEVBQUMsU0FBUyxDQUFDLENBQUM7SUFFOUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxjQUFzQixFQUFFLEVBQUU7UUFDOUMsTUFBTSxnQkFBZ0IsR0FBRyxxQkFBcUIsQ0FBQztRQUMvQyxNQUFNLG1CQUFtQixHQUFHLHdCQUF3QixDQUFDO1FBRXJELE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFL0QsT0FBTztZQUNMLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBQSxhQUFRLEdBQUU7WUFDaEQsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFBLFlBQU8sR0FBRTtTQUNoRSxDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUYsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSSxNQUFNLE1BQU0sR0FBRyxLQUFLLElBQUksRUFBRTtJQUMvQixNQUFNLE1BQU0sR0FBRyxJQUFBLGFBQVEsR0FBRSxDQUFDO0lBRTFCLFFBQVEsTUFBTSxFQUFFO1FBQ2QsS0FBSyxRQUFRO1lBQ1gsT0FBTyxhQUFhLEVBQUUsQ0FBQztRQUN6QixLQUFLLE9BQU87WUFDVixPQUFPLFlBQVksRUFBRSxDQUFDO1FBQ3hCLEtBQUssT0FBTztZQUNWLE9BQU8sY0FBYyxFQUFFLENBQUM7UUFDMUI7WUFDRSxPQUFPO2dCQUNMLEVBQUUsRUFBRSxNQUFNO2dCQUNWLFlBQVksRUFBRSxJQUFBLFlBQU8sR0FBRTthQUN4QixDQUFDO0tBQ0w7QUFDSCxDQUFDLENBQUM7QUFoQlcsUUFBQSxNQUFNLFVBZ0JqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7cmVsZWFzZSwgcGxhdGZvcm19IGZyb20gJ29zJztcblxuaW1wb3J0IHtleGVjUHJvbWlzZX0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvaGVscGVycyc7XG5cbi8qKlxuICogRXhlY3V0ZXMgYGxzYl9yZWxlYXNlIC1hYCBjb21tYW5kIGluIHRlcm1pbmFsLlxuICpcbiAqIGBgYFxuICogRGlzdHJpYnV0b3IgSUQ6IFVidW50dVxuICogRGVzY3JpcHRpb246ICAgIFVidW50dSAyMi4wNC40IExUU1xuICogUmVsZWFzZTogICAgICAgIDIyLjA0XG4gKiBDb2RlbmFtZTogICAgICAgamFtbXlcbiAqIGBgYFxuICpcbiAqIFBhcnNlcyBvcyBhbmQgb3MtdmVyc2lvbiBmcm9tIHRoZSByZXNwb25zZS5cbiAqL1xuY29uc3QgZ2V0TGludXhJbmZvID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IGV4ZWNQcm9taXNlKCdsc2JfcmVsZWFzZSAtYScpO1xuXG4gIGNvbnN0IHBhcnNlTGludXhWZXJzaW9uID0gKGxzYlJlbGVhc2VSZXNwb25zZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgcmVnZXggPVxuICAgICAgL0Rpc3RyaWJ1dG9yIElEOiAoW15cXG5dKylcXG5EZXNjcmlwdGlvbjogKyhbXiBdKykgKyhbXiBdKykgKyguKylcXG4vO1xuICAgIGNvbnN0IG1hdGNoID0gbHNiUmVsZWFzZVJlc3BvbnNlLm1hdGNoKHJlZ2V4KTtcblxuICAgIHJldHVybiB7XG4gICAgICBvczogbWF0Y2ggPyBtYXRjaFsxXSA6IHBsYXRmb3JtKCksXG4gICAgICAnb3MtdmVyc2lvbic6IG1hdGNoID8gYCR7bWF0Y2hbM119ICR7bWF0Y2hbNF19YCA6IHJlbGVhc2UoKSxcbiAgICB9O1xuICB9O1xuXG4gIHJldHVybiBwYXJzZUxpbnV4VmVyc2lvbihzdGRvdXQpO1xufTtcblxuLyoqXG4gKiBFeGVjdXRlcyBpbiBDTUQgYHN5c3RlbWluZm8gfCBmaW5kc3RyIC9CIC9DOlwiT1MgTmFtZVwiIC9CIC9DOlwiT1MgVmVyc2lvblwiYCBjb21tYW5kLlxuICpcbiAqIGBgYFxuICogT1MgTmFtZTogICAgICAgICAgICAgICAgICAgTWljcm9zb2Z0IFdpbmRvd3MgMTEgRW50ZXJwcmlzZVxuICogT1MgVmVyc2lvbjogICAgICAgICAgICAgICAgMTAuMC4yMjYzMSBOL0EgQnVpbGQgMjI2MzFcbiAqIGBgYFxuICpcbiAqIFBhcnNlcyBvcyBhbmQgb3MtdmVyc2lvbiBmcm9tIHRoZSByZXNwb25zZS5cbiAqL1xuY29uc3QgZ2V0V2luZG93c0luZm8gPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgZXhlY1Byb21pc2UoXG4gICAgJ3N5c3RlbWluZm8gfCBmaW5kc3RyIC9CIC9DOlwiT1MgTmFtZVwiIC9CIC9DOlwiT1MgVmVyc2lvblwiJ1xuICApO1xuXG4gIGNvbnN0IHBhcnNlV2luZG93c0luZm8gPSAoc3lzdGVtSW5mb1Jlc3BvbnNlOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCByZWdleCA9XG4gICAgICAvT1MgTmFtZTpcXHMrKFteXFxuXSspXFxuT1MgVmVyc2lvbjpcXHMrKFtcXGQuXSspXFxzKyhOXFwvQVxccytCdWlsZFxccysoXFxkKykpLztcbiAgICBjb25zdCBtYXRjaCA9IHN5c3RlbUluZm9SZXNwb25zZS5tYXRjaChyZWdleCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3M6IG1hdGNoID8gbWF0Y2hbMV0gOiBwbGF0Zm9ybSgpLFxuICAgICAgJ29zLXZlcnNpb24nOiBtYXRjaCA/IGAke21hdGNoWzJdfSAke21hdGNoWzNdfWAgOiByZWxlYXNlKCksXG4gICAgfTtcbiAgfTtcblxuICByZXR1cm4gcGFyc2VXaW5kb3dzSW5mbyhzdGRvdXQpO1xufTtcblxuLyoqXG4gKiBFeGVjdXRlcyBgc3dfdmVyc2AgY29tbWFuZCBpbiB0ZXJtaW5hbC5cbiAqXG4gKiBgYGBcbiAqIFByb2R1Y3ROYW1lOiAgICAgIG1hY09TXG4gKiBQcm9kdWN0VmVyc2lvbjogICAxNC4zLjFcbiAqIEJ1aWxkVmVyc2lvbjogICAgIDIzRDYwXG4gKiBgYGBcbiAqXG4gKiBQYXJzZXMgb3MgYW5kIG9zIHZlcnNpb24gZnJvbSB0aGUgcmVzcG9uc2UuXG4gKi9cbmNvbnN0IGdldE1hY1ZlcnNpb24gPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgZXhlY1Byb21pc2UoJ3N3X3ZlcnMnKTtcblxuICBjb25zdCBwYXJzZU1hY0luZm8gPSAoc3dWZXJzUmVzcG9uc2U6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHByb2R1Y3ROYW1lUmVnZXggPSAvUHJvZHVjdE5hbWU6XFxzKiguKykvO1xuICAgIGNvbnN0IHByb2R1Y3RWZXJzaW9uUmVnZXggPSAvUHJvZHVjdFZlcnNpb246XFxzKiguKykvO1xuXG4gICAgY29uc3QgbmFtZU1hdGNoID0gc3dWZXJzUmVzcG9uc2UubWF0Y2gocHJvZHVjdE5hbWVSZWdleCk7XG4gICAgY29uc3QgdmVyc2lvbk1hdGNoID0gc3dWZXJzUmVzcG9uc2UubWF0Y2gocHJvZHVjdFZlcnNpb25SZWdleCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgb3M6IG5hbWVNYXRjaCA/IG5hbWVNYXRjaFsxXS50cmltKCkgOiBwbGF0Zm9ybSgpLFxuICAgICAgJ29zLXZlcnNpb24nOiB2ZXJzaW9uTWF0Y2ggPyB2ZXJzaW9uTWF0Y2hbMV0udHJpbSgpIDogcmVsZWFzZSgpLFxuICAgIH07XG4gIH07XG5cbiAgcmV0dXJuIHBhcnNlTWFjSW5mbyhzdGRvdXQpO1xufTtcblxuLyoqXG4gKiBGaW5kcyBvcGVyYXRpbmcgc3lzdGVtIGluZm9ybWF0aW9uIGxpa2UgbmFtZSBhbmQgdmVyc2lvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IG9zSW5mbyA9IGFzeW5jICgpID0+IHtcbiAgY29uc3Qgb3NLaW5kID0gcGxhdGZvcm0oKTtcblxuICBzd2l0Y2ggKG9zS2luZCkge1xuICAgIGNhc2UgJ2Rhcndpbic6XG4gICAgICByZXR1cm4gZ2V0TWFjVmVyc2lvbigpO1xuICAgIGNhc2UgJ2xpbnV4JzpcbiAgICAgIHJldHVybiBnZXRMaW51eEluZm8oKTtcbiAgICBjYXNlICd3aW4zMic6XG4gICAgICByZXR1cm4gZ2V0V2luZG93c0luZm8oKTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgb3M6IG9zS2luZCxcbiAgICAgICAgJ29zLXZlcnNpb24nOiByZWxlYXNlKCksXG4gICAgICB9O1xuICB9XG59O1xuIl19
@@ -0,0 +1,14 @@
1
+ import { PluginInterface } from '@grnsft/if-core/types';
2
+ /**
3
+ * Storage for maintaining plugins.
4
+ */
5
+ export declare const pluginStorage: () => {
6
+ /**
7
+ * Gets plugin by given `name`. If it's missing then throws error.
8
+ */
9
+ get: (name: string) => PluginInterface;
10
+ /**
11
+ * Saves given `plugin` with given `name`.
12
+ */
13
+ set: (name: string, plugin: PluginInterface) => any;
14
+ };
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pluginStorage = void 0;
4
+ const utils_1 = require("@grnsft/if-core/utils");
5
+ const config_1 = require("../config");
6
+ const { PluginInitializationError } = utils_1.ERRORS;
7
+ const { NOT_INITALIZED_PLUGIN } = config_1.STRINGS;
8
+ /**
9
+ * Storage for maintaining plugins.
10
+ */
11
+ const pluginStorage = () => {
12
+ const storage = {};
13
+ return {
14
+ /**
15
+ * Gets plugin by given `name`. If it's missing then throws error.
16
+ */
17
+ get: (name) => {
18
+ const plugin = storage[name];
19
+ if (!plugin) {
20
+ throw new PluginInitializationError(NOT_INITALIZED_PLUGIN(name));
21
+ }
22
+ return plugin;
23
+ },
24
+ /**
25
+ * Saves given `plugin` with given `name`.
26
+ */
27
+ set: function (name, plugin) {
28
+ storage[name] = plugin;
29
+ return this;
30
+ },
31
+ };
32
+ };
33
+ exports.pluginStorage = pluginStorage;
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLXN0b3JhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtcnVuL3V0aWwvcGx1Z2luLXN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQTZDO0FBRzdDLHNDQUFrQztBQUlsQyxNQUFNLEVBQUMseUJBQXlCLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFDM0MsTUFBTSxFQUFDLHFCQUFxQixFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUV4Qzs7R0FFRztBQUNJLE1BQU0sYUFBYSxHQUFHLEdBQUcsRUFBRTtJQUNoQyxNQUFNLE9BQU8sR0FBa0IsRUFBRSxDQUFDO0lBRWxDLE9BQU87UUFDTDs7V0FFRztRQUNILEdBQUcsRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO1lBQ3BCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU3QixJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLE1BQU0sSUFBSSx5QkFBeUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ2xFO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUNEOztXQUVHO1FBQ0gsR0FBRyxFQUFFLFVBQVUsSUFBWSxFQUFFLE1BQXVCO1lBQ2xELE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7WUFFdkIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQXpCVyxRQUFBLGFBQWEsaUJBeUJ4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RVJST1JTfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdXRpbHMnO1xuaW1wb3J0IHtQbHVnaW5JbnRlcmZhY2V9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS90eXBlcyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuaW1wb3J0IHtQbHVnaW5TdG9yYWdlfSBmcm9tICcuLi90eXBlcy9wbHVnaW4tc3RvcmFnZSc7XG5cbmNvbnN0IHtQbHVnaW5Jbml0aWFsaXphdGlvbkVycm9yfSA9IEVSUk9SUztcbmNvbnN0IHtOT1RfSU5JVEFMSVpFRF9QTFVHSU59ID0gU1RSSU5HUztcblxuLyoqXG4gKiBTdG9yYWdlIGZvciBtYWludGFpbmluZyBwbHVnaW5zLlxuICovXG5leHBvcnQgY29uc3QgcGx1Z2luU3RvcmFnZSA9ICgpID0+IHtcbiAgY29uc3Qgc3RvcmFnZTogUGx1Z2luU3RvcmFnZSA9IHt9O1xuXG4gIHJldHVybiB7XG4gICAgLyoqXG4gICAgICogR2V0cyBwbHVnaW4gYnkgZ2l2ZW4gYG5hbWVgLiBJZiBpdCdzIG1pc3NpbmcgdGhlbiB0aHJvd3MgZXJyb3IuXG4gICAgICovXG4gICAgZ2V0OiAobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBwbHVnaW4gPSBzdG9yYWdlW25hbWVdO1xuXG4gICAgICBpZiAoIXBsdWdpbikge1xuICAgICAgICB0aHJvdyBuZXcgUGx1Z2luSW5pdGlhbGl6YXRpb25FcnJvcihOT1RfSU5JVEFMSVpFRF9QTFVHSU4obmFtZSkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGx1Z2luO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogU2F2ZXMgZ2l2ZW4gYHBsdWdpbmAgd2l0aCBnaXZlbiBgbmFtZWAuXG4gICAgICovXG4gICAgc2V0OiBmdW5jdGlvbiAobmFtZTogc3RyaW5nLCBwbHVnaW46IFBsdWdpbkludGVyZmFjZSkge1xuICAgICAgc3RvcmFnZVtuYW1lXSA9IHBsdWdpbjtcblxuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSxcbiAgfTtcbn07XG4iXX0=