@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,5 @@
1
+ export interface IFCsvArgs {
2
+ manifest?: string;
3
+ output?: string;
4
+ params: string;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLWNzdi90eXBlcy9wcm9jZXNzLWFyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSUZDc3ZBcmdzIHtcbiAgbWFuaWZlc3Q/OiBzdHJpbmc7XG4gIG91dHB1dD86IHN0cmluZztcbiAgcGFyYW1zOiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Checks for `manifest` and `params` flags to be present.
3
+ */
4
+ export declare const parseIfCsvArgs: () => Promise<{
5
+ manifest: string;
6
+ output: string | undefined;
7
+ params: string;
8
+ } | {
9
+ output: string | undefined;
10
+ params: string;
11
+ manifest?: undefined;
12
+ }>;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseIfCsvArgs = 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 config_1 = require("../config");
9
+ const config_2 = require("../../common/config");
10
+ const fs_1 = require("../../common/util/fs");
11
+ const { ParseCliParamsError, CliSourceFileError } = utils_1.ERRORS;
12
+ const { ARGS, HELP } = config_1.CONFIG;
13
+ const { SOURCE_IS_NOT_YAML, MANIFEST_NOT_FOUND } = config_2.STRINGS;
14
+ /**
15
+ * Parses `if-csv` process arguments.
16
+ */
17
+ const validateAndParseIfCsvArgs = () => {
18
+ try {
19
+ return (0, ts_command_line_args_1.parse)(ARGS, HELP);
20
+ }
21
+ catch (error) {
22
+ if (error instanceof Error) {
23
+ throw new ParseCliParamsError(error.message);
24
+ }
25
+ throw error;
26
+ }
27
+ };
28
+ /**
29
+ * Checks for `manifest` and `params` flags to be present.
30
+ */
31
+ const parseIfCsvArgs = async () => {
32
+ const { manifest, output, params } = validateAndParseIfCsvArgs();
33
+ if (manifest) {
34
+ const response = (0, helpers_1.prependFullFilePath)(manifest);
35
+ const isManifestFileExists = await (0, fs_1.isFileExists)(response);
36
+ if (!isManifestFileExists) {
37
+ throw new ParseCliParamsError(MANIFEST_NOT_FOUND);
38
+ }
39
+ if ((0, yaml_1.checkIfFileIsYaml)(manifest)) {
40
+ return { manifest, output, params };
41
+ }
42
+ throw new CliSourceFileError(SOURCE_IS_NOT_YAML);
43
+ }
44
+ return { output, params };
45
+ };
46
+ exports.parseIfCsvArgs = parseIfCsvArgs;
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1jc3YvdXRpbC9hcmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtEQUEyQztBQUMzQyxpREFBNkM7QUFFN0MsaURBQXlEO0FBQ3pELHVEQUE4RDtBQUU5RCxzQ0FBaUM7QUFDakMsZ0RBQThEO0FBRzlELDZDQUFrRDtBQUVsRCxNQUFNLEVBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFFekQsTUFBTSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDNUIsTUFBTSxFQUFDLGtCQUFrQixFQUFFLGtCQUFrQixFQUFDLEdBQUcsZ0JBQWMsQ0FBQztBQUVoRTs7R0FFRztBQUNILE1BQU0seUJBQXlCLEdBQUcsR0FBRyxFQUFFO0lBQ3JDLElBQUk7UUFDRixPQUFPLElBQUEsNEJBQUssRUFBWSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDckM7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtZQUMxQixNQUFNLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzlDO1FBRUQsTUFBTSxLQUFLLENBQUM7S0FDYjtBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0ksTUFBTSxjQUFjLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDdkMsTUFBTSxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztJQUUvRCxJQUFJLFFBQVEsRUFBRTtRQUNaLE1BQU0sUUFBUSxHQUFHLElBQUEsNkJBQW1CLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLElBQUEsaUJBQVksRUFBQyxRQUFRLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDekIsTUFBTSxJQUFJLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDbkQ7UUFFRCxJQUFJLElBQUEsd0JBQWlCLEVBQUMsUUFBUSxDQUFDLEVBQUU7WUFDL0IsT0FBTyxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLENBQUM7U0FDbkM7UUFFRCxNQUFNLElBQUksa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQUNsRDtJQUVELE9BQU8sRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDO0FBbkJXLFFBQUEsY0FBYyxrQkFtQnpCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtwYXJzZX0gZnJvbSAndHMtY29tbWFuZC1saW5lLWFyZ3MnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5cbmltcG9ydCB7Y2hlY2tJZkZpbGVJc1lhbWx9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL3lhbWwnO1xuaW1wb3J0IHtwcmVwZW5kRnVsbEZpbGVQYXRofSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9oZWxwZXJzJztcblxuaW1wb3J0IHtDT05GSUd9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQge1NUUklOR1MgYXMgQ09NTU9OX1NUUklOR1N9IGZyb20gJy4uLy4uL2NvbW1vbi9jb25maWcnO1xuXG5pbXBvcnQge0lGQ3N2QXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcbmltcG9ydCB7aXNGaWxlRXhpc3RzfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9mcyc7XG5cbmNvbnN0IHtQYXJzZUNsaVBhcmFtc0Vycm9yLCBDbGlTb3VyY2VGaWxlRXJyb3J9ID0gRVJST1JTO1xuXG5jb25zdCB7QVJHUywgSEVMUH0gPSBDT05GSUc7XG5jb25zdCB7U09VUkNFX0lTX05PVF9ZQU1MLCBNQU5JRkVTVF9OT1RfRk9VTkR9ID0gQ09NTU9OX1NUUklOR1M7XG5cbi8qKlxuICogUGFyc2VzIGBpZi1jc3ZgIHByb2Nlc3MgYXJndW1lbnRzLlxuICovXG5jb25zdCB2YWxpZGF0ZUFuZFBhcnNlSWZDc3ZBcmdzID0gKCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZTxJRkNzdkFyZ3M+KEFSR1MsIEhFTFApO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuLyoqXG4gKiBDaGVja3MgZm9yIGBtYW5pZmVzdGAgYW5kIGBwYXJhbXNgIGZsYWdzIHRvIGJlIHByZXNlbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZUlmQ3N2QXJncyA9IGFzeW5jICgpID0+IHtcbiAgY29uc3Qge21hbmlmZXN0LCBvdXRwdXQsIHBhcmFtc30gPSB2YWxpZGF0ZUFuZFBhcnNlSWZDc3ZBcmdzKCk7XG5cbiAgaWYgKG1hbmlmZXN0KSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBwcmVwZW5kRnVsbEZpbGVQYXRoKG1hbmlmZXN0KTtcbiAgICBjb25zdCBpc01hbmlmZXN0RmlsZUV4aXN0cyA9IGF3YWl0IGlzRmlsZUV4aXN0cyhyZXNwb25zZSk7XG5cbiAgICBpZiAoIWlzTWFuaWZlc3RGaWxlRXhpc3RzKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihNQU5JRkVTVF9OT1RfRk9VTkQpO1xuICAgIH1cblxuICAgIGlmIChjaGVja0lmRmlsZUlzWWFtbChtYW5pZmVzdCkpIHtcbiAgICAgIHJldHVybiB7bWFuaWZlc3QsIG91dHB1dCwgcGFyYW1zfTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgQ2xpU291cmNlRmlsZUVycm9yKFNPVVJDRV9JU19OT1RfWUFNTCk7XG4gIH1cblxuICByZXR1cm4ge291dHB1dCwgcGFyYW1zfTtcbn07XG4iXX0=
@@ -0,0 +1,9 @@
1
+ import { CsvOptions } from '../types/csv';
2
+ /**
3
+ * Gets the manifest data if `outputs` is present in it.
4
+ */
5
+ export declare const getManifestData: (manifest: string) => Promise<any>;
6
+ /**
7
+ * Generates a CSV file based on the provided tree structure, context, output path, and params.
8
+ */
9
+ export declare const generateCsv: (options: CsvOptions) => Promise<string | void>;
@@ -0,0 +1,95 @@
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.generateCsv = exports.getManifestData = void 0;
27
+ const fs = __importStar(require("fs/promises"));
28
+ const sync_1 = require("csv-stringify/sync");
29
+ const utils_1 = require("@grnsft/if-core/utils");
30
+ const load_1 = require("../../common/lib/load");
31
+ const config_1 = require("../config");
32
+ const { FAILURE_MESSAGE_OUTPUTS } = config_1.STRINGS;
33
+ const { ManifestValidationError } = utils_1.ERRORS;
34
+ /**
35
+ * Gets the manifest data if `outputs` is present in it.
36
+ */
37
+ const getManifestData = async (manifest) => {
38
+ const { rawManifest } = await (0, load_1.load)(manifest);
39
+ const { children } = rawManifest.tree;
40
+ if (children?.child?.outputs || children?.['child-0']?.outputs) {
41
+ return rawManifest;
42
+ }
43
+ throw new ManifestValidationError(FAILURE_MESSAGE_OUTPUTS);
44
+ };
45
+ exports.getManifestData = getManifestData;
46
+ /**
47
+ * Generates a CSV file based on the provided tree structure, context, output path, and params.
48
+ */
49
+ const generateCsv = async (options) => {
50
+ const { tree, context, outputPath, params } = options;
51
+ const columns = ['Path'];
52
+ const matrix = [columns];
53
+ const aggregationIsEnabled = !!context.aggregation;
54
+ const traverseTree = (node, params, path = 'tree') => {
55
+ if (node.aggregated) {
56
+ if (path === 'tree') {
57
+ columns.push('Aggregated');
58
+ }
59
+ matrix.push([`${path}.${params}`, node.aggregated[params]]);
60
+ }
61
+ if (node.outputs) {
62
+ node.outputs.forEach((output) => {
63
+ const { timestamp } = output;
64
+ if (!columns.includes(timestamp)) {
65
+ columns.push(timestamp);
66
+ }
67
+ const lastRow = matrix[matrix.length - 1];
68
+ if (aggregationIsEnabled) {
69
+ lastRow.push(output[params]);
70
+ }
71
+ else {
72
+ if (matrix.length === 1 || lastRow.length === columns.length) {
73
+ matrix.push([`${path}.${params}`, output[params]]);
74
+ }
75
+ else {
76
+ lastRow.push(output[params]);
77
+ }
78
+ }
79
+ });
80
+ }
81
+ if (node.children) {
82
+ Object.keys(node.children).forEach(childKey => {
83
+ traverseTree(node.children[childKey], params, `${path}.children.${childKey}`);
84
+ });
85
+ }
86
+ };
87
+ traverseTree(tree, params);
88
+ const csvString = (0, sync_1.stringify)(matrix, { columns });
89
+ if (!outputPath) {
90
+ return csvString;
91
+ }
92
+ return await fs.writeFile(`${outputPath}.csv`, csvString);
93
+ };
94
+ exports.generateCsv = generateCsv;
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1jc3YvdXRpbC9oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQWtDO0FBQ2xDLDZDQUE2QztBQUU3QyxpREFBNkM7QUFFN0MsZ0RBQTJDO0FBRzNDLHNDQUFrQztBQUVsQyxNQUFNLEVBQUMsdUJBQXVCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBQzFDLE1BQU0sRUFBQyx1QkFBdUIsRUFBQyxHQUFHLGNBQU0sQ0FBQztBQUV6Qzs7R0FFRztBQUNJLE1BQU0sZUFBZSxHQUFHLEtBQUssRUFBRSxRQUFnQixFQUFFLEVBQUU7SUFDeEQsTUFBTSxFQUFDLFdBQVcsRUFBQyxHQUFHLE1BQU0sSUFBQSxXQUFJLEVBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsTUFBTSxFQUFDLFFBQVEsRUFBQyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUM7SUFFcEMsSUFBSSxRQUFRLEVBQUUsS0FBSyxFQUFFLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUU7UUFDOUQsT0FBTyxXQUFXLENBQUM7S0FDcEI7SUFFRCxNQUFNLElBQUksdUJBQXVCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUM7QUFUVyxRQUFBLGVBQWUsbUJBUzFCO0FBRUY7O0dBRUc7QUFDSSxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQUUsT0FBbUIsRUFBRSxFQUFFO0lBQ3ZELE1BQU0sRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUMsR0FBRyxPQUFPLENBQUM7SUFDcEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN6QixNQUFNLE1BQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pCLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7SUFFbkQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFTLEVBQUUsTUFBYyxFQUFFLElBQUksR0FBRyxNQUFNLEVBQUUsRUFBRTtRQUNoRSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFO2dCQUNuQixPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQzVCO1lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLE1BQU0sRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzdEO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBb0IsRUFBRSxFQUFFO2dCQUM1QyxNQUFNLEVBQUMsU0FBUyxFQUFDLEdBQUcsTUFBTSxDQUFDO2dCQUUzQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtvQkFDaEMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztpQkFDekI7Z0JBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBRTFDLElBQUksb0JBQW9CLEVBQUU7b0JBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7aUJBQzlCO3FCQUFNO29CQUNMLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsTUFBTSxFQUFFO3dCQUM1RCxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksTUFBTSxFQUFFLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDcEQ7eUJBQU07d0JBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztxQkFDOUI7aUJBQ0Y7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDNUMsWUFBWSxDQUNWLElBQUksQ0FBQyxRQUFTLENBQUMsUUFBUSxDQUFDLEVBQ3hCLE1BQU0sRUFDTixHQUFHLElBQUksYUFBYSxRQUFRLEVBQUUsQ0FDL0IsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDLENBQUM7SUFFRixZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRTNCLE1BQU0sU0FBUyxHQUFHLElBQUEsZ0JBQVMsRUFBQyxNQUFNLEVBQUUsRUFBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDO0lBRS9DLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDZixPQUFPLFNBQVMsQ0FBQztLQUNsQjtJQUVELE9BQU8sTUFBTSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsVUFBVSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDNUQsQ0FBQyxDQUFDO0FBeERXLFFBQUEsV0FBVyxlQXdEdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcy9wcm9taXNlcyc7XG5pbXBvcnQge3N0cmluZ2lmeX0gZnJvbSAnY3N2LXN0cmluZ2lmeS9zeW5jJztcbmltcG9ydCB7UGx1Z2luUGFyYW1zfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdHlwZXMnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5cbmltcG9ydCB7bG9hZH0gZnJvbSAnLi4vLi4vY29tbW9uL2xpYi9sb2FkJztcblxuaW1wb3J0IHtDc3ZPcHRpb25zfSBmcm9tICcuLi90eXBlcy9jc3YnO1xuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5jb25zdCB7RkFJTFVSRV9NRVNTQUdFX09VVFBVVFN9ID0gU1RSSU5HUztcbmNvbnN0IHtNYW5pZmVzdFZhbGlkYXRpb25FcnJvcn0gPSBFUlJPUlM7XG5cbi8qKlxuICogR2V0cyB0aGUgbWFuaWZlc3QgZGF0YSBpZiBgb3V0cHV0c2AgaXMgcHJlc2VudCBpbiBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldE1hbmlmZXN0RGF0YSA9IGFzeW5jIChtYW5pZmVzdDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHtyYXdNYW5pZmVzdH0gPSBhd2FpdCBsb2FkKG1hbmlmZXN0KTtcbiAgY29uc3Qge2NoaWxkcmVufSA9IHJhd01hbmlmZXN0LnRyZWU7XG5cbiAgaWYgKGNoaWxkcmVuPy5jaGlsZD8ub3V0cHV0cyB8fCBjaGlsZHJlbj8uWydjaGlsZC0wJ10/Lm91dHB1dHMpIHtcbiAgICByZXR1cm4gcmF3TWFuaWZlc3Q7XG4gIH1cblxuICB0aHJvdyBuZXcgTWFuaWZlc3RWYWxpZGF0aW9uRXJyb3IoRkFJTFVSRV9NRVNTQUdFX09VVFBVVFMpO1xufTtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBDU1YgZmlsZSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgdHJlZSBzdHJ1Y3R1cmUsIGNvbnRleHQsIG91dHB1dCBwYXRoLCBhbmQgcGFyYW1zLlxuICovXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVDc3YgPSBhc3luYyAob3B0aW9uczogQ3N2T3B0aW9ucykgPT4ge1xuICBjb25zdCB7dHJlZSwgY29udGV4dCwgb3V0cHV0UGF0aCwgcGFyYW1zfSA9IG9wdGlvbnM7XG4gIGNvbnN0IGNvbHVtbnMgPSBbJ1BhdGgnXTtcbiAgY29uc3QgbWF0cml4ID0gW2NvbHVtbnNdO1xuICBjb25zdCBhZ2dyZWdhdGlvbklzRW5hYmxlZCA9ICEhY29udGV4dC5hZ2dyZWdhdGlvbjtcblxuICBjb25zdCB0cmF2ZXJzZVRyZWUgPSAobm9kZTogYW55LCBwYXJhbXM6IHN0cmluZywgcGF0aCA9ICd0cmVlJykgPT4ge1xuICAgIGlmIChub2RlLmFnZ3JlZ2F0ZWQpIHtcbiAgICAgIGlmIChwYXRoID09PSAndHJlZScpIHtcbiAgICAgICAgY29sdW1ucy5wdXNoKCdBZ2dyZWdhdGVkJyk7XG4gICAgICB9XG4gICAgICBtYXRyaXgucHVzaChbYCR7cGF0aH0uJHtwYXJhbXN9YCwgbm9kZS5hZ2dyZWdhdGVkW3BhcmFtc11dKTtcbiAgICB9XG5cbiAgICBpZiAobm9kZS5vdXRwdXRzKSB7XG4gICAgICBub2RlLm91dHB1dHMuZm9yRWFjaCgob3V0cHV0OiBQbHVnaW5QYXJhbXMpID0+IHtcbiAgICAgICAgY29uc3Qge3RpbWVzdGFtcH0gPSBvdXRwdXQ7XG5cbiAgICAgICAgaWYgKCFjb2x1bW5zLmluY2x1ZGVzKHRpbWVzdGFtcCkpIHtcbiAgICAgICAgICBjb2x1bW5zLnB1c2godGltZXN0YW1wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxhc3RSb3cgPSBtYXRyaXhbbWF0cml4Lmxlbmd0aCAtIDFdO1xuXG4gICAgICAgIGlmIChhZ2dyZWdhdGlvbklzRW5hYmxlZCkge1xuICAgICAgICAgIGxhc3RSb3cucHVzaChvdXRwdXRbcGFyYW1zXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKG1hdHJpeC5sZW5ndGggPT09IDEgfHwgbGFzdFJvdy5sZW5ndGggPT09IGNvbHVtbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICBtYXRyaXgucHVzaChbYCR7cGF0aH0uJHtwYXJhbXN9YCwgb3V0cHV0W3BhcmFtc11dKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGFzdFJvdy5wdXNoKG91dHB1dFtwYXJhbXNdKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgICBPYmplY3Qua2V5cyhub2RlLmNoaWxkcmVuKS5mb3JFYWNoKGNoaWxkS2V5ID0+IHtcbiAgICAgICAgdHJhdmVyc2VUcmVlKFxuICAgICAgICAgIG5vZGUuY2hpbGRyZW4hW2NoaWxkS2V5XSxcbiAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgYCR7cGF0aH0uY2hpbGRyZW4uJHtjaGlsZEtleX1gXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgdHJhdmVyc2VUcmVlKHRyZWUsIHBhcmFtcyk7XG5cbiAgY29uc3QgY3N2U3RyaW5nID0gc3RyaW5naWZ5KG1hdHJpeCwge2NvbHVtbnN9KTtcblxuICBpZiAoIW91dHB1dFBhdGgpIHtcbiAgICByZXR1cm4gY3N2U3RyaW5nO1xuICB9XG5cbiAgcmV0dXJuIGF3YWl0IGZzLndyaXRlRmlsZShgJHtvdXRwdXRQYXRofS5jc3ZgLCBjc3ZTdHJpbmcpO1xufTtcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ import { ArgumentConfig, ParseOptions } from 'ts-command-line-args';
2
+ import { IFDiffArgs } from '../types/process-args';
3
+ export declare const CONFIG: {
4
+ ARGS: ArgumentConfig<IFDiffArgs>;
5
+ HELP: ParseOptions<any>;
6
+ };
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CONFIG = void 0;
4
+ const config_1 = require("../../common/config");
5
+ const { DISCLAIMER_MESSAGE } = config_1.STRINGS;
6
+ exports.CONFIG = {
7
+ ARGS: {
8
+ source: {
9
+ type: String,
10
+ optional: true,
11
+ alias: 's',
12
+ description: '[path to the source file]',
13
+ },
14
+ target: {
15
+ type: String,
16
+ optional: false,
17
+ alias: 't',
18
+ description: '[path to the target file',
19
+ },
20
+ },
21
+ HELP: {
22
+ helpArg: 'help',
23
+ headerContentSections: [
24
+ { header: 'Impact Framework', content: 'IF-Diff Helpful keywords:' },
25
+ ],
26
+ footerContentSections: [
27
+ { header: 'Green Software Foundation', content: DISCLAIMER_MESSAGE },
28
+ ],
29
+ },
30
+ };
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLWRpZmYvY29uZmlnL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxnREFBNEM7QUFJNUMsTUFBTSxFQUFDLGtCQUFrQixFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUV4QixRQUFBLE1BQU0sR0FBRztJQUNwQixJQUFJLEVBQUU7UUFDSixNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsTUFBTTtZQUNaLFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFLEdBQUc7WUFDVixXQUFXLEVBQUUsMkJBQTJCO1NBQ3pDO1FBQ0QsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLE1BQU07WUFDWixRQUFRLEVBQUUsS0FBSztZQUNmLEtBQUssRUFBRSxHQUFHO1lBQ1YsV0FBVyxFQUFFLDBCQUEwQjtTQUN4QztLQUM0QjtJQUMvQixJQUFJLEVBQUU7UUFDSixPQUFPLEVBQUUsTUFBTTtRQUNmLHFCQUFxQixFQUFFO1lBQ3JCLEVBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBQztTQUNuRTtRQUNELHFCQUFxQixFQUFFO1lBQ3JCLEVBQUMsTUFBTSxFQUFFLDJCQUEyQixFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBQztTQUNuRTtLQUNtQjtDQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcmd1bWVudENvbmZpZywgUGFyc2VPcHRpb25zfSBmcm9tICd0cy1jb21tYW5kLWxpbmUtYXJncyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vLi4vY29tbW9uL2NvbmZpZyc7XG5cbmltcG9ydCB7SUZEaWZmQXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuY29uc3Qge0RJU0NMQUlNRVJfTUVTU0FHRX0gPSBTVFJJTkdTO1xuXG5leHBvcnQgY29uc3QgQ09ORklHID0ge1xuICBBUkdTOiB7XG4gICAgc291cmNlOiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgIGFsaWFzOiAncycsXG4gICAgICBkZXNjcmlwdGlvbjogJ1twYXRoIHRvIHRoZSBzb3VyY2UgZmlsZV0nLFxuICAgIH0sXG4gICAgdGFyZ2V0OiB7XG4gICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICBvcHRpb25hbDogZmFsc2UsXG4gICAgICBhbGlhczogJ3QnLFxuICAgICAgZGVzY3JpcHRpb246ICdbcGF0aCB0byB0aGUgdGFyZ2V0IGZpbGUnLFxuICAgIH0sXG4gIH0gYXMgQXJndW1lbnRDb25maWc8SUZEaWZmQXJncz4sXG4gIEhFTFA6IHtcbiAgICBoZWxwQXJnOiAnaGVscCcsXG4gICAgaGVhZGVyQ29udGVudFNlY3Rpb25zOiBbXG4gICAgICB7aGVhZGVyOiAnSW1wYWN0IEZyYW1ld29yaycsIGNvbnRlbnQ6ICdJRi1EaWZmIEhlbHBmdWwga2V5d29yZHM6J30sXG4gICAgXSxcbiAgICBmb290ZXJDb250ZW50U2VjdGlvbnM6IFtcbiAgICAgIHtoZWFkZXI6ICdHcmVlbiBTb2Z0d2FyZSBGb3VuZGF0aW9uJywgY29udGVudDogRElTQ0xBSU1FUl9NRVNTQUdFfSxcbiAgICBdLFxuICB9IGFzIFBhcnNlT3B0aW9uczxhbnk+LFxufTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export { CONFIG } from './config';
2
+ export { STRINGS } from './strings';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.STRINGS = exports.CONFIG = void 0;
4
+ var config_1 = require("./config");
5
+ Object.defineProperty(exports, "CONFIG", { enumerable: true, get: function () { return config_1.CONFIG; } });
6
+ var strings_1 = require("./strings");
7
+ Object.defineProperty(exports, "STRINGS", { enumerable: true, get: function () { return strings_1.STRINGS; } });
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtZGlmZi9jb25maWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQWdDO0FBQXhCLGdHQUFBLE1BQU0sT0FBQTtBQUNkLHFDQUFrQztBQUExQixrR0FBQSxPQUFPLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge0NPTkZJR30gZnJvbSAnLi9jb25maWcnO1xuZXhwb3J0IHtTVFJJTkdTfSBmcm9tICcuL3N0cmluZ3MnO1xuIl19
@@ -0,0 +1,6 @@
1
+ export declare const STRINGS: {
2
+ INVALID_TARGET: string;
3
+ INVALID_SOURCE: string;
4
+ FAILURE_MESSAGE: string;
5
+ SUCCESS_MESSAGE: string;
6
+ };
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.STRINGS = void 0;
4
+ exports.STRINGS = {
5
+ INVALID_TARGET: 'Target is invalid.',
6
+ INVALID_SOURCE: 'Source is invalid.',
7
+ FAILURE_MESSAGE: 'Files do not match!',
8
+ SUCCESS_MESSAGE: 'Files match!',
9
+ };
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1kaWZmL2NvbmZpZy9zdHJpbmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsT0FBTyxHQUFHO0lBQ3JCLGNBQWMsRUFBRSxvQkFBb0I7SUFDcEMsY0FBYyxFQUFFLG9CQUFvQjtJQUNwQyxlQUFlLEVBQUUscUJBQXFCO0lBQ3RDLGVBQWUsRUFBRSxjQUFjO0NBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgU1RSSU5HUyA9IHtcbiAgSU5WQUxJRF9UQVJHRVQ6ICdUYXJnZXQgaXMgaW52YWxpZC4nLFxuICBJTlZBTElEX1NPVVJDRTogJ1NvdXJjZSBpcyBpbnZhbGlkLicsXG4gIEZBSUxVUkVfTUVTU0FHRTogJ0ZpbGVzIGRvIG5vdCBtYXRjaCEnLFxuICBTVUNDRVNTX01FU1NBR0U6ICdGaWxlcyBtYXRjaCEnLFxufTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,46 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ /* eslint-disable no-process-exit */
5
+ const load_1 = require("./lib/load");
6
+ const compare_1 = require("./lib/compare");
7
+ const args_1 = require("./util/args");
8
+ const helpers_1 = require("./util/helpers");
9
+ const helpers_2 = require("../common/util/helpers");
10
+ const validations_1 = require("../common/util/validations");
11
+ const logger_1 = require("../common/util/logger");
12
+ const debug_logger_1 = require("../common/util/debug-logger");
13
+ const config_1 = require("./config");
14
+ const { FAILURE_MESSAGE, SUCCESS_MESSAGE } = config_1.STRINGS;
15
+ const IfDiff = async () => {
16
+ const pipedSourceManifest = await (0, helpers_2.parseManifestFromStdin)();
17
+ const { sourcePath, targetPath } = (0, args_1.parseIfDiffArgs)();
18
+ // Call this function with false parameter to prevent log debug messages.
19
+ debug_logger_1.debugLogger.overrideConsoleMethods(false);
20
+ const { rawSourceManifest, rawTargetManifest } = await (0, load_1.loadIfDiffFiles)({
21
+ targetPath,
22
+ sourcePath,
23
+ pipedSourceManifest,
24
+ });
25
+ const [sourceManifest, targetManifest] = [
26
+ rawSourceManifest,
27
+ rawTargetManifest,
28
+ ].map(validations_1.validateManifest);
29
+ const result = (0, compare_1.compare)(sourceManifest, targetManifest);
30
+ if (Object.keys(result).length) {
31
+ (0, helpers_1.formatNotMatchingLog)({
32
+ message: FAILURE_MESSAGE,
33
+ ...result,
34
+ });
35
+ process.exit(1);
36
+ }
37
+ console.log(SUCCESS_MESSAGE);
38
+ process.exit(0);
39
+ };
40
+ IfDiff().catch(error => {
41
+ if (error instanceof Error) {
42
+ logger_1.logger.error(error);
43
+ process.exit(2);
44
+ }
45
+ });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaWYtZGlmZi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxvQ0FBb0M7QUFDcEMscUNBQTJDO0FBQzNDLDJDQUFzQztBQUV0QyxzQ0FBNEM7QUFDNUMsNENBQW9EO0FBQ3BELG9EQUE4RDtBQUM5RCw0REFBNEQ7QUFFNUQsa0RBQTZDO0FBQzdDLDhEQUF3RDtBQUV4RCxxQ0FBaUM7QUFFakMsTUFBTSxFQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRW5ELE1BQU0sTUFBTSxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQ3hCLE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxJQUFBLGdDQUFzQixHQUFFLENBQUM7SUFDM0QsTUFBTSxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUMsR0FBRyxJQUFBLHNCQUFlLEdBQUUsQ0FBQztJQUVuRCx5RUFBeUU7SUFDekUsMEJBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUxQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQUMsR0FBRyxNQUFNLElBQUEsc0JBQWUsRUFBQztRQUNuRSxVQUFVO1FBQ1YsVUFBVTtRQUNWLG1CQUFtQjtLQUNwQixDQUFDLENBQUM7SUFDSCxNQUFNLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxHQUFHO1FBQ3ZDLGlCQUFpQjtRQUNqQixpQkFBaUI7S0FDbEIsQ0FBQyxHQUFHLENBQUMsOEJBQWdCLENBQUMsQ0FBQztJQUN4QixNQUFNLE1BQU0sR0FBRyxJQUFBLGlCQUFPLEVBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBRXZELElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUU7UUFDOUIsSUFBQSw4QkFBb0IsRUFBQztZQUNuQixPQUFPLEVBQUUsZUFBZTtZQUN4QixHQUFHLE1BQU07U0FDVixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2pCO0lBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM3QixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xCLENBQUMsQ0FBQztBQUVGLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtJQUNyQixJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUU7UUFDMUIsZUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2pCO0FBQ0gsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1wcm9jZXNzLWV4aXQgKi9cbmltcG9ydCB7bG9hZElmRGlmZkZpbGVzfSBmcm9tICcuL2xpYi9sb2FkJztcbmltcG9ydCB7Y29tcGFyZX0gZnJvbSAnLi9saWIvY29tcGFyZSc7XG5cbmltcG9ydCB7cGFyc2VJZkRpZmZBcmdzfSBmcm9tICcuL3V0aWwvYXJncyc7XG5pbXBvcnQge2Zvcm1hdE5vdE1hdGNoaW5nTG9nfSBmcm9tICcuL3V0aWwvaGVscGVycyc7XG5pbXBvcnQge3BhcnNlTWFuaWZlc3RGcm9tU3RkaW59IGZyb20gJy4uL2NvbW1vbi91dGlsL2hlbHBlcnMnO1xuaW1wb3J0IHt2YWxpZGF0ZU1hbmlmZXN0fSBmcm9tICcuLi9jb21tb24vdXRpbC92YWxpZGF0aW9ucyc7XG5cbmltcG9ydCB7bG9nZ2VyfSBmcm9tICcuLi9jb21tb24vdXRpbC9sb2dnZXInO1xuaW1wb3J0IHtkZWJ1Z0xvZ2dlcn0gZnJvbSAnLi4vY29tbW9uL3V0aWwvZGVidWctbG9nZ2VyJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuL2NvbmZpZyc7XG5cbmNvbnN0IHtGQUlMVVJFX01FU1NBR0UsIFNVQ0NFU1NfTUVTU0FHRX0gPSBTVFJJTkdTO1xuXG5jb25zdCBJZkRpZmYgPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHBpcGVkU291cmNlTWFuaWZlc3QgPSBhd2FpdCBwYXJzZU1hbmlmZXN0RnJvbVN0ZGluKCk7XG4gIGNvbnN0IHtzb3VyY2VQYXRoLCB0YXJnZXRQYXRofSA9IHBhcnNlSWZEaWZmQXJncygpO1xuXG4gIC8vIENhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIGZhbHNlIHBhcmFtZXRlciB0byBwcmV2ZW50IGxvZyBkZWJ1ZyBtZXNzYWdlcy5cbiAgZGVidWdMb2dnZXIub3ZlcnJpZGVDb25zb2xlTWV0aG9kcyhmYWxzZSk7XG5cbiAgY29uc3Qge3Jhd1NvdXJjZU1hbmlmZXN0LCByYXdUYXJnZXRNYW5pZmVzdH0gPSBhd2FpdCBsb2FkSWZEaWZmRmlsZXMoe1xuICAgIHRhcmdldFBhdGgsXG4gICAgc291cmNlUGF0aCxcbiAgICBwaXBlZFNvdXJjZU1hbmlmZXN0LFxuICB9KTtcbiAgY29uc3QgW3NvdXJjZU1hbmlmZXN0LCB0YXJnZXRNYW5pZmVzdF0gPSBbXG4gICAgcmF3U291cmNlTWFuaWZlc3QsXG4gICAgcmF3VGFyZ2V0TWFuaWZlc3QsXG4gIF0ubWFwKHZhbGlkYXRlTWFuaWZlc3QpO1xuICBjb25zdCByZXN1bHQgPSBjb21wYXJlKHNvdXJjZU1hbmlmZXN0LCB0YXJnZXRNYW5pZmVzdCk7XG5cbiAgaWYgKE9iamVjdC5rZXlzKHJlc3VsdCkubGVuZ3RoKSB7XG4gICAgZm9ybWF0Tm90TWF0Y2hpbmdMb2coe1xuICAgICAgbWVzc2FnZTogRkFJTFVSRV9NRVNTQUdFLFxuICAgICAgLi4ucmVzdWx0LFxuICAgIH0pO1xuXG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG5cbiAgY29uc29sZS5sb2coU1VDQ0VTU19NRVNTQUdFKTtcbiAgcHJvY2Vzcy5leGl0KDApO1xufTtcblxuSWZEaWZmKCkuY2F0Y2goZXJyb3IgPT4ge1xuICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgIGxvZ2dlci5lcnJvcihlcnJvcik7XG4gICAgcHJvY2Vzcy5leGl0KDIpO1xuICB9XG59KTtcbiJdfQ==
@@ -0,0 +1,10 @@
1
+ import { Difference } from '../types/compare';
2
+ /**
3
+ * 1. If objects are not of the same type or are primitive types, compares directly.
4
+ * 2. Gets the keys from both objects.
5
+ * 3. If both are arrays, checks their elements.
6
+ * 4. Checks for keys present in both objects.
7
+ * If key is `execution`, omit unnecessary params.
8
+ * 5. If all keys are checked and no differences are found, return empty object.
9
+ */
10
+ export declare const compare: (source: any, target: any, path?: string) => Difference;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compare = void 0;
4
+ const helpers_1 = require("../util/helpers");
5
+ /**
6
+ * 1. If objects are not of the same type or are primitive types, compares directly.
7
+ * 2. Gets the keys from both objects.
8
+ * 3. If both are arrays, checks their elements.
9
+ * 4. Checks for keys present in both objects.
10
+ * If key is `execution`, omit unnecessary params.
11
+ * 5. If all keys are checked and no differences are found, return empty object.
12
+ */
13
+ const compare = (source, target, path = '') => {
14
+ if ((0, helpers_1.oneIsPrimitive)(source, target)) {
15
+ return (0, helpers_1.checkIfEqual)(source, target)
16
+ ? {}
17
+ : {
18
+ path,
19
+ source,
20
+ target,
21
+ };
22
+ }
23
+ const keys1 = Object.keys(source);
24
+ const keys2 = Object.keys(target);
25
+ const allKeys = new Set([...keys1, ...keys2]);
26
+ if (path === '') {
27
+ allKeys.delete('name');
28
+ allKeys.delete('description');
29
+ allKeys.delete('tags');
30
+ }
31
+ if (path === 'initialize') {
32
+ allKeys.delete('outputs');
33
+ }
34
+ if (path === 'execution') {
35
+ const whitelist = ['status', 'error'];
36
+ allKeys.forEach(value => {
37
+ if (!whitelist.includes(value)) {
38
+ allKeys.delete(value);
39
+ }
40
+ });
41
+ }
42
+ if (Array.isArray(source) && Array.isArray(target)) {
43
+ source.forEach((_record, i) => {
44
+ (0, exports.compare)(source[i], target[i], path ? `${path}[${i}]` : `${i}`);
45
+ });
46
+ }
47
+ for (const key of allKeys) {
48
+ const result = (0, exports.compare)(source[key], target[key], path ? `${path}.${key}` : key);
49
+ if (Object.keys(result).length) {
50
+ return result;
51
+ }
52
+ }
53
+ return {};
54
+ };
55
+ exports.compare = compare;
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1kaWZmL2xpYi9jb21wYXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE2RDtBQUk3RDs7Ozs7OztHQU9HO0FBQ0ksTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFXLEVBQUUsTUFBVyxFQUFFLElBQUksR0FBRyxFQUFFLEVBQWMsRUFBRTtJQUN6RSxJQUFJLElBQUEsd0JBQWMsRUFBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUU7UUFDbEMsT0FBTyxJQUFBLHNCQUFZLEVBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQztZQUNqQyxDQUFDLENBQUMsRUFBRTtZQUNKLENBQUMsQ0FBQztnQkFDRSxJQUFJO2dCQUNKLE1BQU07Z0JBQ04sTUFBTTthQUNQLENBQUM7S0FDUDtJQUVELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUU5QyxJQUFJLElBQUksS0FBSyxFQUFFLEVBQUU7UUFDZixPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN4QjtJQUVELElBQUksSUFBSSxLQUFLLFlBQVksRUFBRTtRQUN6QixPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQzNCO0lBRUQsSUFBSSxJQUFJLEtBQUssV0FBVyxFQUFFO1FBQ3hCLE1BQU0sU0FBUyxHQUFHLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzlCLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDdkI7UUFDSCxDQUFDLENBQUMsQ0FBQztLQUNKO0lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDbEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUM1QixJQUFBLGVBQU8sRUFBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqRSxDQUFDLENBQUMsQ0FBQztLQUNKO0lBRUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUU7UUFDekIsTUFBTSxNQUFNLEdBQUcsSUFBQSxlQUFPLEVBQ3BCLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFDWCxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQ1gsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUM5QixDQUFDO1FBRUYsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRTtZQUM5QixPQUFPLE1BQU0sQ0FBQztTQUNmO0tBQ0Y7SUFFRCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUMsQ0FBQztBQXREVyxRQUFBLE9BQU8sV0FzRGxCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjaGVja0lmRXF1YWwsIG9uZUlzUHJpbWl0aXZlfSBmcm9tICcuLi91dGlsL2hlbHBlcnMnO1xuXG5pbXBvcnQge0RpZmZlcmVuY2V9IGZyb20gJy4uL3R5cGVzL2NvbXBhcmUnO1xuXG4vKipcbiAqIDEuIElmIG9iamVjdHMgYXJlIG5vdCBvZiB0aGUgc2FtZSB0eXBlIG9yIGFyZSBwcmltaXRpdmUgdHlwZXMsIGNvbXBhcmVzIGRpcmVjdGx5LlxuICogMi4gR2V0cyB0aGUga2V5cyBmcm9tIGJvdGggb2JqZWN0cy5cbiAqIDMuIElmIGJvdGggYXJlIGFycmF5cywgY2hlY2tzIHRoZWlyIGVsZW1lbnRzLlxuICogNC4gQ2hlY2tzIGZvciBrZXlzIHByZXNlbnQgaW4gYm90aCBvYmplY3RzLlxuICogICAgSWYga2V5IGlzIGBleGVjdXRpb25gLCBvbWl0IHVubmVjZXNzYXJ5IHBhcmFtcy5cbiAqIDUuIElmIGFsbCBrZXlzIGFyZSBjaGVja2VkIGFuZCBubyBkaWZmZXJlbmNlcyBhcmUgZm91bmQsIHJldHVybiBlbXB0eSBvYmplY3QuXG4gKi9cbmV4cG9ydCBjb25zdCBjb21wYXJlID0gKHNvdXJjZTogYW55LCB0YXJnZXQ6IGFueSwgcGF0aCA9ICcnKTogRGlmZmVyZW5jZSA9PiB7XG4gIGlmIChvbmVJc1ByaW1pdGl2ZShzb3VyY2UsIHRhcmdldCkpIHtcbiAgICByZXR1cm4gY2hlY2tJZkVxdWFsKHNvdXJjZSwgdGFyZ2V0KVxuICAgICAgPyB7fVxuICAgICAgOiB7XG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICBzb3VyY2UsXG4gICAgICAgICAgdGFyZ2V0LFxuICAgICAgICB9O1xuICB9XG5cbiAgY29uc3Qga2V5czEgPSBPYmplY3Qua2V5cyhzb3VyY2UpO1xuICBjb25zdCBrZXlzMiA9IE9iamVjdC5rZXlzKHRhcmdldCk7XG5cbiAgY29uc3QgYWxsS2V5cyA9IG5ldyBTZXQoWy4uLmtleXMxLCAuLi5rZXlzMl0pO1xuXG4gIGlmIChwYXRoID09PSAnJykge1xuICAgIGFsbEtleXMuZGVsZXRlKCduYW1lJyk7XG4gICAgYWxsS2V5cy5kZWxldGUoJ2Rlc2NyaXB0aW9uJyk7XG4gICAgYWxsS2V5cy5kZWxldGUoJ3RhZ3MnKTtcbiAgfVxuXG4gIGlmIChwYXRoID09PSAnaW5pdGlhbGl6ZScpIHtcbiAgICBhbGxLZXlzLmRlbGV0ZSgnb3V0cHV0cycpO1xuICB9XG5cbiAgaWYgKHBhdGggPT09ICdleGVjdXRpb24nKSB7XG4gICAgY29uc3Qgd2hpdGVsaXN0ID0gWydzdGF0dXMnLCAnZXJyb3InXTtcbiAgICBhbGxLZXlzLmZvckVhY2godmFsdWUgPT4ge1xuICAgICAgaWYgKCF3aGl0ZWxpc3QuaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICAgIGFsbEtleXMuZGVsZXRlKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KHNvdXJjZSkgJiYgQXJyYXkuaXNBcnJheSh0YXJnZXQpKSB7XG4gICAgc291cmNlLmZvckVhY2goKF9yZWNvcmQsIGkpID0+IHtcbiAgICAgIGNvbXBhcmUoc291cmNlW2ldLCB0YXJnZXRbaV0sIHBhdGggPyBgJHtwYXRofVske2l9XWAgOiBgJHtpfWApO1xuICAgIH0pO1xuICB9XG5cbiAgZm9yIChjb25zdCBrZXkgb2YgYWxsS2V5cykge1xuICAgIGNvbnN0IHJlc3VsdCA9IGNvbXBhcmUoXG4gICAgICBzb3VyY2Vba2V5XSxcbiAgICAgIHRhcmdldFtrZXldLFxuICAgICAgcGF0aCA/IGAke3BhdGh9LiR7a2V5fWAgOiBrZXlcbiAgICApO1xuXG4gICAgaWYgKE9iamVjdC5rZXlzKHJlc3VsdCkubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7fTtcbn07XG4iXX0=
@@ -0,0 +1,63 @@
1
+ import { LoadDiffParams } from '../types/args';
2
+ /**
3
+ * Loads files to compare. As a source file checks if data is piped and then decides which one to take.
4
+ */
5
+ export declare const loadIfDiffFiles: (params: LoadDiffParams) => Promise<{
6
+ rawSourceManifest: unknown;
7
+ rawTargetManifest: {
8
+ name: string;
9
+ initialize: {
10
+ plugins: Record<string, {
11
+ path: string;
12
+ method: string;
13
+ mapping?: Record<string, string> | undefined;
14
+ config?: Record<string, any> | undefined;
15
+ 'parameter-metadata'?: {
16
+ inputs?: Record<string, {
17
+ unit: string;
18
+ description: string;
19
+ 'aggregation-method': {
20
+ time: "sum" | "avg" | "none" | "copy";
21
+ component: "sum" | "avg" | "none" | "copy";
22
+ };
23
+ }> | null | undefined;
24
+ outputs?: Record<string, {
25
+ unit: string;
26
+ description: string;
27
+ 'aggregation-method': {
28
+ time: "sum" | "avg" | "none" | "copy";
29
+ component: "sum" | "avg" | "none" | "copy";
30
+ };
31
+ }> | null | undefined;
32
+ } | undefined;
33
+ } | undefined>;
34
+ };
35
+ tree: Record<string, any>;
36
+ description?: string | null | undefined;
37
+ tags?: {
38
+ kind?: string | null | undefined;
39
+ complexity?: string | null | undefined;
40
+ category?: string | null | undefined;
41
+ } | null | undefined;
42
+ explainer?: boolean | undefined;
43
+ explain?: Record<string, any> | undefined;
44
+ aggregation?: {
45
+ type: "horizontal" | "time" | "vertical" | "component" | "both";
46
+ metrics: string[];
47
+ 'skip-components'?: string[] | undefined;
48
+ } | null | undefined;
49
+ execution?: {
50
+ status: string;
51
+ command?: string | undefined;
52
+ environment?: {
53
+ 'if-version': string;
54
+ os: string;
55
+ 'os-version': string;
56
+ 'node-version': string;
57
+ 'date-time': string;
58
+ dependencies: string[];
59
+ } | undefined;
60
+ error?: string | undefined;
61
+ } | undefined;
62
+ };
63
+ }>;
@@ -0,0 +1,51 @@
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.loadIfDiffFiles = void 0;
27
+ const YAML = __importStar(require("js-yaml"));
28
+ const utils_1 = require("@grnsft/if-core/utils");
29
+ const yaml_1 = require("../../common/util/yaml");
30
+ const config_1 = require("../config");
31
+ const { CliSourceFileError } = utils_1.ERRORS;
32
+ const { INVALID_SOURCE } = config_1.STRINGS;
33
+ /**
34
+ * Loads files to compare. As a source file checks if data is piped and then decides which one to take.
35
+ */
36
+ const loadIfDiffFiles = async (params) => {
37
+ const { sourcePath, targetPath, pipedSourceManifest } = params;
38
+ if (!sourcePath && !pipedSourceManifest) {
39
+ throw new CliSourceFileError(INVALID_SOURCE);
40
+ }
41
+ const loadFromSource = sourcePath && (await (0, yaml_1.openYamlFileAsObject)(sourcePath));
42
+ const loadFromSTDIN = pipedSourceManifest && (await YAML.load(pipedSourceManifest));
43
+ const rawSourceManifest = loadFromSource || loadFromSTDIN;
44
+ const rawTargetManifest = await (0, yaml_1.openYamlFileAsObject)(targetPath);
45
+ return {
46
+ rawSourceManifest,
47
+ rawTargetManifest,
48
+ };
49
+ };
50
+ exports.loadIfDiffFiles = loadIfDiffFiles;
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1kaWZmL2xpYi9sb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOENBQWdDO0FBRWhDLGlEQUE2QztBQUU3QyxpREFBNEQ7QUFFNUQsc0NBQWtDO0FBS2xDLE1BQU0sRUFBQyxrQkFBa0IsRUFBQyxHQUFHLGNBQU0sQ0FBQztBQUVwQyxNQUFNLEVBQUMsY0FBYyxFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUVqQzs7R0FFRztBQUNJLE1BQU0sZUFBZSxHQUFHLEtBQUssRUFBRSxNQUFzQixFQUFFLEVBQUU7SUFDOUQsTUFBTSxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUMsR0FBRyxNQUFNLENBQUM7SUFFN0QsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1FBQ3ZDLE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUM5QztJQUVELE1BQU0sY0FBYyxHQUNsQixVQUFVLElBQUksQ0FBQyxNQUFNLElBQUEsMkJBQW9CLEVBQVcsVUFBVyxDQUFDLENBQUMsQ0FBQztJQUNwRSxNQUFNLGFBQWEsR0FDakIsbUJBQW1CLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW9CLENBQUMsQ0FBQyxDQUFDO0lBRWpFLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxJQUFJLGFBQWEsQ0FBQztJQUMxRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBQSwyQkFBb0IsRUFBVyxVQUFVLENBQUMsQ0FBQztJQUUzRSxPQUFPO1FBQ0wsaUJBQWlCO1FBQ2pCLGlCQUFpQjtLQUNsQixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBbkJXLFFBQUEsZUFBZSxtQkFtQjFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgWUFNTCBmcm9tICdqcy15YW1sJztcblxuaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5cbmltcG9ydCB7b3BlbllhbWxGaWxlQXNPYmplY3R9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL3lhbWwnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uL2NvbmZpZyc7XG5cbmltcG9ydCB7TG9hZERpZmZQYXJhbXN9IGZyb20gJy4uL3R5cGVzL2FyZ3MnO1xuaW1wb3J0IHtNYW5pZmVzdH0gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGVzL21hbmlmZXN0JztcblxuY29uc3Qge0NsaVNvdXJjZUZpbGVFcnJvcn0gPSBFUlJPUlM7XG5cbmNvbnN0IHtJTlZBTElEX1NPVVJDRX0gPSBTVFJJTkdTO1xuXG4vKipcbiAqIExvYWRzIGZpbGVzIHRvIGNvbXBhcmUuIEFzIGEgc291cmNlIGZpbGUgY2hlY2tzIGlmIGRhdGEgaXMgcGlwZWQgYW5kIHRoZW4gZGVjaWRlcyB3aGljaCBvbmUgdG8gdGFrZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGxvYWRJZkRpZmZGaWxlcyA9IGFzeW5jIChwYXJhbXM6IExvYWREaWZmUGFyYW1zKSA9PiB7XG4gIGNvbnN0IHtzb3VyY2VQYXRoLCB0YXJnZXRQYXRoLCBwaXBlZFNvdXJjZU1hbmlmZXN0fSA9IHBhcmFtcztcblxuICBpZiAoIXNvdXJjZVBhdGggJiYgIXBpcGVkU291cmNlTWFuaWZlc3QpIHtcbiAgICB0aHJvdyBuZXcgQ2xpU291cmNlRmlsZUVycm9yKElOVkFMSURfU09VUkNFKTtcbiAgfVxuXG4gIGNvbnN0IGxvYWRGcm9tU291cmNlID1cbiAgICBzb3VyY2VQYXRoICYmIChhd2FpdCBvcGVuWWFtbEZpbGVBc09iamVjdDxNYW5pZmVzdD4oc291cmNlUGF0aCEpKTtcbiAgY29uc3QgbG9hZEZyb21TVERJTiA9XG4gICAgcGlwZWRTb3VyY2VNYW5pZmVzdCAmJiAoYXdhaXQgWUFNTC5sb2FkKHBpcGVkU291cmNlTWFuaWZlc3QhKSk7XG5cbiAgY29uc3QgcmF3U291cmNlTWFuaWZlc3QgPSBsb2FkRnJvbVNvdXJjZSB8fCBsb2FkRnJvbVNURElOO1xuICBjb25zdCByYXdUYXJnZXRNYW5pZmVzdCA9IGF3YWl0IG9wZW5ZYW1sRmlsZUFzT2JqZWN0PE1hbmlmZXN0Pih0YXJnZXRQYXRoKTtcblxuICByZXR1cm4ge1xuICAgIHJhd1NvdXJjZU1hbmlmZXN0LFxuICAgIHJhd1RhcmdldE1hbmlmZXN0LFxuICB9O1xufTtcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export type LoadDiffParams = {
2
+ sourcePath?: string;
3
+ targetPath: string;
4
+ pipedSourceManifest?: string;
5
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1kaWZmL3R5cGVzL2FyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIExvYWREaWZmUGFyYW1zID0ge1xuICBzb3VyY2VQYXRoPzogc3RyaW5nO1xuICB0YXJnZXRQYXRoOiBzdHJpbmc7XG4gIHBpcGVkU291cmNlTWFuaWZlc3Q/OiBzdHJpbmc7XG59O1xuIl19
@@ -0,0 +1,7 @@
1
+ export type Difference = {
2
+ path?: string;
3
+ source?: any;
4
+ target?: any;
5
+ message?: string;
6
+ [key: string]: any;
7
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1kaWZmL3R5cGVzL2NvbXBhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIERpZmZlcmVuY2UgPSB7XG4gIHBhdGg/OiBzdHJpbmc7XG4gIHNvdXJjZT86IGFueTtcbiAgdGFyZ2V0PzogYW55O1xuICBtZXNzYWdlPzogc3RyaW5nO1xuICBba2V5OiBzdHJpbmddOiBhbnk7XG59O1xuIl19
@@ -0,0 +1,4 @@
1
+ export interface IFDiffArgs {
2
+ source?: string;
3
+ target: string;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLWRpZmYvdHlwZXMvcHJvY2Vzcy1hcmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElGRGlmZkFyZ3Mge1xuICBzb3VyY2U/OiBzdHJpbmc7XG4gIHRhcmdldDogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ import { LoadDiffParams } from '../types/args';
2
+ /**
3
+ * Checks for `source` and `target` flags to be present.
4
+ */
5
+ export declare const parseIfDiffArgs: () => LoadDiffParams;
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseIfDiffArgs = 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 config_1 = require("../config");
9
+ const config_2 = require("../../common/config");
10
+ const { ParseCliParamsError, CliTargetFileError, CliSourceFileError } = utils_1.ERRORS;
11
+ const { ARGS, HELP } = config_1.CONFIG;
12
+ const { INVALID_TARGET } = config_1.STRINGS;
13
+ const { SOURCE_IS_NOT_YAML, TARGET_IS_NOT_YAML } = config_2.STRINGS;
14
+ /**
15
+ * Parses `if-diff` process arguments.
16
+ */
17
+ const validateAndParseIfDiffArgs = () => {
18
+ try {
19
+ return (0, ts_command_line_args_1.parse)(ARGS, HELP);
20
+ }
21
+ catch (error) {
22
+ if (error instanceof Error) {
23
+ throw new ParseCliParamsError(error.message);
24
+ }
25
+ throw error;
26
+ }
27
+ };
28
+ /**
29
+ * Checks for `source` and `target` flags to be present.
30
+ */
31
+ const parseIfDiffArgs = () => {
32
+ const { source, target } = validateAndParseIfDiffArgs();
33
+ if (target) {
34
+ if (source && !(0, yaml_1.checkIfFileIsYaml)(source)) {
35
+ throw new CliSourceFileError(SOURCE_IS_NOT_YAML);
36
+ }
37
+ if ((0, yaml_1.checkIfFileIsYaml)(target)) {
38
+ const response = {
39
+ targetPath: (0, helpers_1.prependFullFilePath)(target),
40
+ };
41
+ if (source && (0, yaml_1.checkIfFileIsYaml)(source)) {
42
+ response.sourcePath = (0, helpers_1.prependFullFilePath)(source);
43
+ }
44
+ return response;
45
+ }
46
+ throw new CliTargetFileError(TARGET_IS_NOT_YAML);
47
+ }
48
+ throw new ParseCliParamsError(INVALID_TARGET);
49
+ };
50
+ exports.parseIfDiffArgs = parseIfDiffArgs;
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1kaWZmL3V0aWwvYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrREFBMkM7QUFDM0MsaURBQTZDO0FBRTdDLGlEQUF5RDtBQUN6RCx1REFBOEQ7QUFFOUQsc0NBQTBDO0FBQzFDLGdEQUE4RDtBQUs5RCxNQUFNLEVBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFFN0UsTUFBTSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDNUIsTUFBTSxFQUFDLGNBQWMsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFDakMsTUFBTSxFQUFDLGtCQUFrQixFQUFFLGtCQUFrQixFQUFDLEdBQUcsZ0JBQWMsQ0FBQztBQUVoRTs7R0FFRztBQUNILE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxFQUFFO0lBQ3RDLElBQUk7UUFDRixPQUFPLElBQUEsNEJBQUssRUFBYSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDdEM7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtZQUMxQixNQUFNLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzlDO1FBRUQsTUFBTSxLQUFLLENBQUM7S0FDYjtBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0ksTUFBTSxlQUFlLEdBQUcsR0FBRyxFQUFFO0lBQ2xDLE1BQU0sRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFDLEdBQUcsMEJBQTBCLEVBQUUsQ0FBQztJQUV0RCxJQUFJLE1BQU0sRUFBRTtRQUNWLElBQUksTUFBTSxJQUFJLENBQUMsSUFBQSx3QkFBaUIsRUFBQyxNQUFNLENBQUMsRUFBRTtZQUN4QyxNQUFNLElBQUksa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNsRDtRQUVELElBQUksSUFBQSx3QkFBaUIsRUFBQyxNQUFNLENBQUMsRUFBRTtZQUM3QixNQUFNLFFBQVEsR0FBbUI7Z0JBQy9CLFVBQVUsRUFBRSxJQUFBLDZCQUFtQixFQUFDLE1BQU0sQ0FBQzthQUN4QyxDQUFDO1lBRUYsSUFBSSxNQUFNLElBQUksSUFBQSx3QkFBaUIsRUFBQyxNQUFNLENBQUMsRUFBRTtnQkFDdkMsUUFBUSxDQUFDLFVBQVUsR0FBRyxJQUFBLDZCQUFtQixFQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ25EO1lBRUQsT0FBTyxRQUFRLENBQUM7U0FDakI7UUFFRCxNQUFNLElBQUksa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQUNsRDtJQUVELE1BQU0sSUFBSSxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUM7QUF4QlcsUUFBQSxlQUFlLG1CQXdCMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3BhcnNlfSBmcm9tICd0cy1jb21tYW5kLWxpbmUtYXJncyc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcblxuaW1wb3J0IHtjaGVja0lmRmlsZUlzWWFtbH0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwveWFtbCc7XG5pbXBvcnQge3ByZXBlbmRGdWxsRmlsZVBhdGh9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2hlbHBlcnMnO1xuXG5pbXBvcnQge0NPTkZJRywgU1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCB7U1RSSU5HUyBhcyBDT01NT05fU1RSSU5HU30gZnJvbSAnLi4vLi4vY29tbW9uL2NvbmZpZyc7XG5cbmltcG9ydCB7SUZEaWZmQXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcbmltcG9ydCB7TG9hZERpZmZQYXJhbXN9IGZyb20gJy4uL3R5cGVzL2FyZ3MnO1xuXG5jb25zdCB7UGFyc2VDbGlQYXJhbXNFcnJvciwgQ2xpVGFyZ2V0RmlsZUVycm9yLCBDbGlTb3VyY2VGaWxlRXJyb3J9ID0gRVJST1JTO1xuXG5jb25zdCB7QVJHUywgSEVMUH0gPSBDT05GSUc7XG5jb25zdCB7SU5WQUxJRF9UQVJHRVR9ID0gU1RSSU5HUztcbmNvbnN0IHtTT1VSQ0VfSVNfTk9UX1lBTUwsIFRBUkdFVF9JU19OT1RfWUFNTH0gPSBDT01NT05fU1RSSU5HUztcblxuLyoqXG4gKiBQYXJzZXMgYGlmLWRpZmZgIHByb2Nlc3MgYXJndW1lbnRzLlxuICovXG5jb25zdCB2YWxpZGF0ZUFuZFBhcnNlSWZEaWZmQXJncyA9ICgpID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2U8SUZEaWZmQXJncz4oQVJHUywgSEVMUCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZUNsaVBhcmFtc0Vycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG4vKipcbiAqIENoZWNrcyBmb3IgYHNvdXJjZWAgYW5kIGB0YXJnZXRgIGZsYWdzIHRvIGJlIHByZXNlbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZUlmRGlmZkFyZ3MgPSAoKSA9PiB7XG4gIGNvbnN0IHtzb3VyY2UsIHRhcmdldH0gPSB2YWxpZGF0ZUFuZFBhcnNlSWZEaWZmQXJncygpO1xuXG4gIGlmICh0YXJnZXQpIHtcbiAgICBpZiAoc291cmNlICYmICFjaGVja0lmRmlsZUlzWWFtbChzb3VyY2UpKSB7XG4gICAgICB0aHJvdyBuZXcgQ2xpU291cmNlRmlsZUVycm9yKFNPVVJDRV9JU19OT1RfWUFNTCk7XG4gICAgfVxuXG4gICAgaWYgKGNoZWNrSWZGaWxlSXNZYW1sKHRhcmdldCkpIHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBMb2FkRGlmZlBhcmFtcyA9IHtcbiAgICAgICAgdGFyZ2V0UGF0aDogcHJlcGVuZEZ1bGxGaWxlUGF0aCh0YXJnZXQpLFxuICAgICAgfTtcblxuICAgICAgaWYgKHNvdXJjZSAmJiBjaGVja0lmRmlsZUlzWWFtbChzb3VyY2UpKSB7XG4gICAgICAgIHJlc3BvbnNlLnNvdXJjZVBhdGggPSBwcmVwZW5kRnVsbEZpbGVQYXRoKHNvdXJjZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgQ2xpVGFyZ2V0RmlsZUVycm9yKFRBUkdFVF9JU19OT1RfWUFNTCk7XG4gIH1cblxuICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihJTlZBTElEX1RBUkdFVCk7XG59O1xuIl19