@grnsft/if 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (469) hide show
  1. package/README.md +5 -17
  2. package/Refactor-migration-guide.md +110 -164
  3. package/build/common/config/index.d.ts +1 -0
  4. package/build/common/config/index.js +6 -0
  5. package/build/common/config/strings.d.ts +9 -0
  6. package/build/common/config/strings.js +17 -0
  7. package/build/common/lib/load.d.ts +6 -0
  8. package/build/common/lib/load.js +18 -0
  9. package/build/{types → common/types}/manifest.d.ts +4 -1
  10. package/build/common/types/manifest.js +3 -0
  11. package/build/common/util/debug-logger.js +115 -0
  12. package/build/common/util/fs.js +94 -0
  13. package/build/common/util/helpers.d.ts +15 -0
  14. package/build/common/util/helpers.js +80 -0
  15. package/build/{util → common/util}/logger.js +1 -1
  16. package/build/{util → common/util}/validations.d.ts +149 -47
  17. package/build/common/util/validations.js +141 -0
  18. package/build/common/util/yaml.js +59 -0
  19. package/build/if-check/config/config.d.ts +6 -0
  20. package/build/if-check/config/config.js +31 -0
  21. package/build/{config → if-check/config}/index.d.ts +0 -1
  22. package/build/if-check/config/index.js +8 -0
  23. package/build/if-check/config/strings.d.ts +11 -0
  24. package/build/if-check/config/strings.js +15 -0
  25. package/build/if-check/index.js +98 -0
  26. package/build/if-check/types/process-args.d.ts +4 -0
  27. package/build/if-check/types/process-args.js +3 -0
  28. package/build/if-check/util/args.d.ts +10 -0
  29. package/build/if-check/util/args.js +56 -0
  30. package/build/if-check/util/helpers.d.ts +4 -0
  31. package/build/if-check/util/helpers.js +18 -0
  32. package/build/if-check/util/npm.d.ts +4 -0
  33. package/build/if-check/util/npm.js +59 -0
  34. package/build/if-csv/config/config.d.ts +6 -0
  35. package/build/if-csv/config/config.js +36 -0
  36. package/build/if-csv/config/index.d.ts +2 -0
  37. package/build/if-csv/config/index.js +8 -0
  38. package/build/if-csv/config/strings.d.ts +3 -0
  39. package/build/if-csv/config/strings.js +7 -0
  40. package/build/if-csv/index.js +63 -0
  41. package/build/if-csv/types/csv.d.ts +7 -0
  42. package/build/if-csv/types/csv.js +3 -0
  43. package/build/if-csv/types/process-args.d.ts +5 -0
  44. package/build/if-csv/types/process-args.js +3 -0
  45. package/build/if-csv/util/args.d.ts +12 -0
  46. package/build/if-csv/util/args.js +47 -0
  47. package/build/if-csv/util/helpers.d.ts +9 -0
  48. package/build/if-csv/util/helpers.js +95 -0
  49. package/build/if-diff/config/config.d.ts +6 -0
  50. package/build/if-diff/config/config.js +31 -0
  51. package/build/if-diff/config/index.d.ts +2 -0
  52. package/build/if-diff/config/index.js +8 -0
  53. package/build/if-diff/config/strings.d.ts +6 -0
  54. package/build/if-diff/config/strings.js +10 -0
  55. package/build/if-diff/index.js +46 -0
  56. package/build/{lib → if-diff/lib}/compare.d.ts +1 -1
  57. package/build/if-diff/lib/compare.js +56 -0
  58. package/build/{lib → if-diff/lib}/load.d.ts +16 -18
  59. package/build/if-diff/lib/load.js +51 -0
  60. package/build/if-diff/types/args.js +3 -0
  61. package/build/if-diff/types/compare.js +3 -0
  62. package/build/if-diff/types/process-args.d.ts +4 -0
  63. package/build/if-diff/types/process-args.js +3 -0
  64. package/build/if-diff/util/args.d.ts +5 -0
  65. package/build/if-diff/util/args.js +51 -0
  66. package/build/if-diff/util/helpers.d.ts +13 -0
  67. package/build/if-diff/util/helpers.js +75 -0
  68. package/build/if-env/config/config.d.ts +6 -0
  69. package/build/if-env/config/config.js +37 -0
  70. package/build/if-env/config/index.d.ts +2 -0
  71. package/build/if-env/config/index.js +8 -0
  72. package/build/if-env/config/strings.d.ts +7 -0
  73. package/build/if-env/config/strings.js +11 -0
  74. package/build/if-env/index.js +40 -0
  75. package/build/if-env/types/if-env.js +3 -0
  76. package/build/if-env/types/npm.js +3 -0
  77. package/build/if-env/types/process-args.d.ts +5 -0
  78. package/build/if-env/types/process-args.js +3 -0
  79. package/build/if-env/util/args.d.ts +12 -0
  80. package/build/if-env/util/args.js +47 -0
  81. package/build/if-env/util/helpers.d.ts +20 -0
  82. package/build/if-env/util/helpers.js +94 -0
  83. package/build/{util → if-env/util}/npm.d.ts +0 -4
  84. package/build/if-env/util/npm.js +126 -0
  85. package/build/if-merge/config/config.d.ts +6 -0
  86. package/build/if-merge/config/config.js +43 -0
  87. package/build/if-merge/config/index.d.ts +2 -0
  88. package/build/if-merge/config/index.js +8 -0
  89. package/build/if-merge/config/strings.d.ts +5 -0
  90. package/build/if-merge/config/strings.js +9 -0
  91. package/build/if-merge/index.d.ts +2 -0
  92. package/build/if-merge/index.js +26 -0
  93. package/build/if-merge/types/process-args.d.ts +6 -0
  94. package/build/if-merge/types/process-args.js +3 -0
  95. package/build/if-merge/util/args.d.ts +9 -0
  96. package/build/if-merge/util/args.js +59 -0
  97. package/build/if-merge/util/helpers.d.ts +5 -0
  98. package/build/if-merge/util/helpers.js +83 -0
  99. package/build/if-run/builtins/coefficient/index.d.ts +2 -0
  100. package/build/if-run/builtins/coefficient/index.js +67 -0
  101. package/build/if-run/builtins/copy-param/index.d.ts +2 -0
  102. package/build/if-run/builtins/copy-param/index.js +70 -0
  103. package/build/if-run/builtins/csv-lookup/index.d.ts +2 -0
  104. package/build/if-run/builtins/csv-lookup/index.js +190 -0
  105. package/build/if-run/builtins/divide/index.d.ts +2 -0
  106. package/build/if-run/builtins/divide/index.js +80 -0
  107. package/build/if-run/builtins/exponent/index.d.ts +2 -0
  108. package/build/if-run/builtins/exponent/index.js +60 -0
  109. package/build/{builtins → if-run/builtins}/export-log.d.ts +1 -1
  110. package/build/{builtins → if-run/builtins}/export-log.js +1 -1
  111. package/build/{builtins → if-run/builtins}/export-yaml.d.ts +1 -1
  112. package/build/if-run/builtins/export-yaml.js +30 -0
  113. package/build/{builtins → if-run/builtins}/index.d.ts +2 -2
  114. package/build/{builtins → if-run/builtins}/index.js +6 -6
  115. package/build/if-run/builtins/interpolation/index.d.ts +2 -0
  116. package/build/if-run/builtins/interpolation/index.js +151 -0
  117. package/build/if-run/builtins/mock-observations/helpers/common-generator.js +29 -0
  118. package/build/if-run/builtins/mock-observations/helpers/rand-int-generator.js +48 -0
  119. package/build/if-run/builtins/mock-observations/index.d.ts +2 -0
  120. package/build/if-run/builtins/mock-observations/index.js +116 -0
  121. package/build/if-run/builtins/mock-observations/interfaces/index.js +3 -0
  122. package/build/if-run/builtins/multiply/index.d.ts +2 -0
  123. package/build/if-run/builtins/multiply/index.js +59 -0
  124. package/build/if-run/builtins/regex/index.d.ts +2 -0
  125. package/build/if-run/builtins/regex/index.js +76 -0
  126. package/build/if-run/builtins/sci/index.d.ts +2 -0
  127. package/build/if-run/builtins/sci/index.js +92 -0
  128. package/build/if-run/builtins/sci-embodied/index.d.ts +2 -0
  129. package/build/if-run/builtins/sci-embodied/index.js +156 -0
  130. package/build/if-run/builtins/shell/index.d.ts +2 -0
  131. package/build/if-run/builtins/shell/index.js +60 -0
  132. package/build/if-run/builtins/subtract/index.d.ts +2 -0
  133. package/build/if-run/builtins/subtract/index.js +61 -0
  134. package/build/if-run/builtins/sum/index.d.ts +2 -0
  135. package/build/if-run/builtins/sum/index.js +66 -0
  136. package/build/if-run/builtins/time-converter/config.js +44 -0
  137. package/build/if-run/builtins/time-converter/index.d.ts +2 -0
  138. package/build/if-run/builtins/time-converter/index.js +79 -0
  139. package/build/if-run/builtins/time-sync/index.d.ts +17 -0
  140. package/build/if-run/builtins/time-sync/index.js +339 -0
  141. package/build/if-run/config/config.d.ts +9 -0
  142. package/build/if-run/config/config.js +73 -0
  143. package/build/if-run/config/index.d.ts +2 -0
  144. package/build/if-run/config/index.js +8 -0
  145. package/build/{config → if-run/config}/strings.d.ts +28 -54
  146. package/build/if-run/config/strings.js +76 -0
  147. package/build/if-run/index.d.ts +2 -0
  148. package/build/if-run/index.js +63 -0
  149. package/build/if-run/lib/aggregate.d.ts +15 -0
  150. package/build/if-run/lib/aggregate.js +123 -0
  151. package/build/if-run/lib/compute.js +142 -0
  152. package/build/{lib → if-run/lib}/environment.d.ts +1 -1
  153. package/build/if-run/lib/environment.js +75 -0
  154. package/build/{lib → if-run/lib}/exhaust.d.ts +1 -1
  155. package/build/if-run/lib/exhaust.js +27 -0
  156. package/build/if-run/lib/explain.d.ts +9 -0
  157. package/build/if-run/lib/explain.js +43 -0
  158. package/build/if-run/lib/initialize.d.ts +6 -0
  159. package/build/if-run/lib/initialize.js +109 -0
  160. package/build/if-run/lib/regroup.d.ts +5 -0
  161. package/build/if-run/lib/regroup.js +64 -0
  162. package/build/if-run/types/aggregation.d.ts +5 -0
  163. package/build/if-run/types/aggregation.js +6 -0
  164. package/build/{types → if-run/types}/compute.d.ts +12 -8
  165. package/build/if-run/types/compute.js +3 -0
  166. package/build/if-run/types/environment.js +3 -0
  167. package/build/{types → if-run/types}/exhaust-plugin-interface.d.ts +1 -1
  168. package/build/if-run/types/exhaust-plugin-interface.js +3 -0
  169. package/build/if-run/types/explain.d.ts +10 -0
  170. package/build/if-run/types/explain.js +3 -0
  171. package/build/if-run/types/interface.d.ts +3 -0
  172. package/build/if-run/types/interface.js +6 -0
  173. package/build/if-run/types/plugin-storage.js +3 -0
  174. package/build/if-run/types/process-args.d.ts +25 -0
  175. package/build/if-run/types/process-args.js +3 -0
  176. package/build/if-run/types/time-sync.js +3 -0
  177. package/build/{util → if-run/util}/aggregation-helper.d.ts +2 -1
  178. package/build/if-run/util/aggregation-helper.js +47 -0
  179. package/build/if-run/util/args.d.ts +9 -0
  180. package/build/if-run/util/args.js +60 -0
  181. package/build/if-run/util/helpers.d.ts +14 -0
  182. package/build/if-run/util/helpers.js +57 -0
  183. package/build/if-run/util/log-memoize.js +19 -0
  184. package/build/if-run/util/os-checker.js +97 -0
  185. package/build/{util → if-run/util}/plugin-storage.d.ts +1 -1
  186. package/build/if-run/util/plugin-storage.js +34 -0
  187. package/jest.config.js +2 -6
  188. package/manifests/examples/builtins/coefficient/failure-invalid-config-input-param.yml +2 -2
  189. package/manifests/examples/builtins/coefficient/failure-output-param-is-null.yaml +3 -3
  190. package/manifests/examples/builtins/coefficient/success.yml +2 -2
  191. package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +3 -3
  192. package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +3 -3
  193. package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yml +3 -3
  194. package/manifests/examples/builtins/csv-lookup/cloud-metadata/success.yml +3 -3
  195. package/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-column.yml +3 -3
  196. package/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-output.yml +3 -3
  197. package/manifests/examples/builtins/csv-lookup/region-metadata/success-renaming.yml +4 -4
  198. package/manifests/examples/builtins/csv-lookup/region-metadata/success.yml +3 -3
  199. package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-missing-input-param.yml +2 -2
  200. package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yml +2 -2
  201. package/manifests/examples/builtins/csv-lookup/tdp-finder/success.yml +2 -2
  202. package/manifests/examples/builtins/divide/failure-denominator-equal-zero.yml +4 -4
  203. package/manifests/examples/builtins/divide/failure-invalid-config-denominator.yml +5 -5
  204. package/manifests/examples/builtins/divide/failure-missing-numerator.yml +4 -4
  205. package/manifests/examples/builtins/divide/success.yml +4 -6
  206. package/manifests/examples/builtins/exponent/success.yml +5 -7
  207. package/manifests/examples/builtins/interpolation/interpolation.yml +2 -2
  208. package/manifests/examples/builtins/interpolation/success.yml +2 -1
  209. package/manifests/examples/builtins/mock-observations/failure-invalid-config-cpu-range.yml +2 -2
  210. package/manifests/examples/builtins/mock-observations/failure-invalid-memory-utilization-range.yml +2 -2
  211. package/manifests/examples/builtins/mock-observations/failure-missing-timestamp-from-param.yml +2 -2
  212. package/manifests/examples/builtins/mock-observations/success.yml +2 -2
  213. package/manifests/examples/builtins/multiply/failure-input-parameter-is-missing.yml +2 -4
  214. package/manifests/examples/builtins/multiply/success-with-multiple-inputs.yml +2 -4
  215. package/manifests/examples/builtins/multiply/success.yml +3 -4
  216. package/manifests/examples/builtins/regex/failure-missing-input-param.yml +2 -4
  217. package/manifests/examples/builtins/regex/failure-not-matching-with-regex.yml +2 -4
  218. package/manifests/examples/builtins/regex/success.yml +2 -4
  219. package/manifests/examples/builtins/sci/failure-invalid-config-value.yml +2 -2
  220. package/manifests/examples/builtins/sci/failure-missing-input-param.yml +3 -2
  221. package/manifests/examples/builtins/sci/success.yml +2 -3
  222. package/manifests/examples/builtins/sci-embodied/failure-invalid-default-emission-value.yml +3 -3
  223. package/manifests/examples/builtins/sci-embodied/failure-missing-expected-lifespan.yml +2 -2
  224. package/manifests/examples/builtins/sci-embodied/success.yml +2 -2
  225. package/manifests/examples/builtins/shell/failure-invalid-command.yml +2 -2
  226. package/manifests/examples/builtins/shell/success.yml +2 -1
  227. package/manifests/examples/builtins/subtract/success.yml +6 -8
  228. package/manifests/examples/builtins/sum/failure-missing-input-param.yml +2 -4
  229. package/manifests/examples/builtins/sum/failure-missing-output-param.yml +3 -5
  230. package/manifests/examples/builtins/sum/success.yml +2 -4
  231. package/manifests/examples/builtins/time-converter/success.yaml +24 -0
  232. package/manifests/examples/builtins/time-sync/failure-config-start-later-end.yml +3 -3
  233. package/manifests/examples/builtins/time-sync/failure-missing-global-config.yml +3 -3
  234. package/manifests/examples/builtins/time-sync/success.yml +2 -2
  235. package/manifests/examples/{builtins/groupby/failure-invalid-config-group.yml → features/regroup/failure-invalid-regroup.yml} +4 -11
  236. package/manifests/examples/{builtins/groupby → features/regroup}/failure-missing-cloud-instance-type.yml +5 -12
  237. package/manifests/examples/{builtins/groupby → features/regroup}/success.yml +4 -11
  238. package/manifests/examples/pipelines/generics.yml +12 -13
  239. package/manifests/examples/pipelines/instance-metadata.yml +4 -5
  240. package/manifests/examples/pipelines/nesting.yml +157 -50
  241. package/manifests/examples/pipelines/outputs-if-diff/pipeline-with-aggregate.yaml +997 -0
  242. package/manifests/examples/pipelines/outputs-if-diff/pipeline-with-mocks.yaml +1059 -0
  243. package/manifests/examples/pipelines/pipeline-teads-sci.yml +11 -11
  244. package/manifests/examples/pipelines/pipeline-with-aggregate.yml +114 -37
  245. package/manifests/examples/pipelines/pipeline-with-mocks.yml +193 -103
  246. package/manifests/examples/pipelines/scenario-1.yml +34 -0
  247. package/manifests/examples/pipelines/scenario-2.yml +52 -0
  248. package/manifests/examples/pipelines/scenario-3.yml +86 -0
  249. package/manifests/examples/pipelines/scenario-4.yml +46 -0
  250. package/manifests/examples/pipelines/scenario-5.yml +46 -0
  251. package/manifests/examples/pipelines/sci.yml +15 -17
  252. package/manifests/examples/pipelines/teads-curve.yml +7 -6
  253. package/manifests/examples/pipelines/zeros.yml +15 -16
  254. package/manifests/outputs/bugs/aggregation-error-wrong-metric.yaml +51 -59
  255. package/manifests/outputs/bugs/input-error-missing-duration.yaml +14 -16
  256. package/manifests/outputs/bugs/mock-observations-failure-duration-is-zero.yaml +14 -16
  257. package/manifests/outputs/bugs/pipeline-error-naming-mismatch.yaml +14 -16
  258. package/manifests/outputs/bugs/pipeline-error-uninitialized-plugin.yaml +15 -17
  259. package/manifests/outputs/bugs/pipeline-ordering-error.yaml +23 -26
  260. package/manifests/outputs/bugs/sci-embodied-missing-resources-total.yaml +13 -14
  261. package/manifests/outputs/{plugins → builtins}/coefficient/failure-invalid-config-input-param.yaml +13 -17
  262. package/manifests/outputs/{plugins → builtins}/coefficient/failure-output-param-is-null.yaml +13 -17
  263. package/manifests/outputs/{plugins → builtins}/coefficient/success.yaml +11 -16
  264. package/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +76 -0
  265. package/manifests/outputs/{plugins → builtins}/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yaml +16 -19
  266. package/manifests/outputs/{plugins → builtins}/csv-lookup/cloud-metadata/success.yaml +16 -19
  267. package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/failure-missing-column.yaml +14 -15
  268. package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/failure-missing-output.yaml +13 -15
  269. package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/success-renaming.yaml +13 -15
  270. package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/success.yaml +14 -16
  271. package/manifests/outputs/{plugins → builtins}/csv-lookup/tdp-finder/failure-missing-input-param.yaml +13 -16
  272. package/manifests/outputs/{plugins → builtins}/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yaml +13 -15
  273. package/manifests/outputs/{plugins → builtins}/csv-lookup/tdp-finder/success.yaml +13 -15
  274. package/manifests/outputs/{plugins → builtins}/divide/failure-invalid-config-denominator.yaml +13 -17
  275. package/manifests/outputs/{plugins → builtins}/divide/failure-missing-numerator.yaml +13 -15
  276. package/manifests/outputs/{plugins → builtins}/divide/success-denominator-equal-zero.yaml +14 -18
  277. package/manifests/outputs/{plugins → builtins}/divide/success.yaml +14 -18
  278. package/manifests/outputs/{plugins → builtins}/exponent/success.yaml +13 -17
  279. package/manifests/outputs/{plugins → builtins}/interpolation/interpolation.yaml +14 -16
  280. package/manifests/outputs/{plugins → builtins}/interpolation/success.yaml +14 -16
  281. package/manifests/outputs/{plugins → builtins}/mock-observations/failure-invalid-config-cpu-range.yaml +13 -15
  282. package/manifests/outputs/{plugins → builtins}/mock-observations/failure-invalid-memory-utilization-range.yaml +13 -15
  283. package/manifests/outputs/{plugins → builtins}/mock-observations/failure-missing-timestamp-from-param.yaml +13 -15
  284. package/manifests/outputs/builtins/mock-observations/success.yaml +358 -0
  285. package/manifests/outputs/{plugins → builtins}/multiply/failure-input-parameter-is-missing.yaml +13 -17
  286. package/manifests/outputs/{plugins → builtins}/multiply/success-with-multiple-inputs.yaml +13 -17
  287. package/manifests/outputs/{plugins → builtins}/multiply/success.yaml +13 -17
  288. package/manifests/outputs/{plugins → builtins}/regex/failure-missing-input-param.yaml +13 -17
  289. package/manifests/outputs/{plugins → builtins}/regex/success.yaml +14 -19
  290. package/manifests/outputs/{plugins → builtins}/sci/failure-invalid-config-value.yaml +14 -16
  291. package/manifests/outputs/{plugins → builtins}/sci/failure-missing-input-param.yaml +13 -15
  292. package/manifests/outputs/{plugins/sci/success.yml.yaml → builtins/sci/success.yaml} +13 -16
  293. package/manifests/outputs/{plugins → builtins}/sci-embodied/failure-invalid-default-emission-value.yaml +13 -15
  294. package/manifests/outputs/{plugins → builtins}/sci-embodied/failure-missing-expected-lifespan.yaml +13 -15
  295. package/manifests/outputs/{plugins → builtins}/sci-embodied/success.yaml +13 -15
  296. package/manifests/outputs/{plugins → builtins}/shell/failure-invalid-command.yaml +14 -16
  297. package/manifests/outputs/{plugins → builtins}/shell/success.yaml +14 -16
  298. package/manifests/outputs/{plugins → builtins}/subtract/success.yaml +13 -17
  299. package/manifests/outputs/{plugins → builtins}/sum/failure-missing-input-param.yaml +13 -17
  300. package/manifests/outputs/{plugins → builtins}/sum/failure-missing-output-param.yaml +13 -17
  301. package/manifests/outputs/{plugins → builtins}/sum/success.yaml +13 -17
  302. package/manifests/outputs/{plugins → builtins}/time-sync/failure-config-start-later-end.yaml +20 -23
  303. package/manifests/outputs/{plugins → builtins}/time-sync/success.yaml +38 -35
  304. package/manifests/outputs/features/aggregate-failure-invalid-metrics.yaml +17 -18
  305. package/manifests/outputs/features/aggregate-failure-missing-metric-in-inputs.yaml +17 -18
  306. package/manifests/outputs/features/aggregate-horizontal.yaml +27 -23
  307. package/manifests/outputs/features/aggregate-vertical.yaml +33 -29
  308. package/manifests/outputs/features/aggregate.yaml +33 -29
  309. package/manifests/outputs/{plugins/groupby/failure-invalid-config-group.yaml → features/failure-invalid-regroup.yaml} +16 -25
  310. package/manifests/outputs/{plugins/groupby → features}/failure-missing-cloud-instance-type.yaml +16 -25
  311. package/manifests/outputs/pipelines/cloud-metadata-divide.yaml +14 -18
  312. package/manifests/outputs/pipelines/generics.yaml +239 -0
  313. package/manifests/outputs/pipelines/instance-metadata.yaml +98 -0
  314. package/manifests/outputs/pipelines/mock-obs-time-sync.yaml +246 -147
  315. package/manifests/outputs/pipelines/nesting.yaml +1799 -0
  316. package/manifests/outputs/pipelines/pipeline-teads-sci.yaml +276 -0
  317. package/manifests/outputs/pipelines/sci.yaml +297 -0
  318. package/manifests/outputs/pipelines/teads-curve.yaml +188 -0
  319. package/manifests/outputs/pipelines/zeros.yaml +198 -0
  320. package/package.json +17 -16
  321. package/src/__mocks__/mock-manifest.yaml +2 -3
  322. package/src/{config → if-env/config}/env-template.yml +2 -3
  323. package/src/{builtins → if-run/builtins}/coefficient/README.md +31 -9
  324. package/src/{builtins → if-run/builtins}/copy-param/README.md +30 -11
  325. package/src/{builtins → if-run/builtins}/csv-lookup/README.md +32 -20
  326. package/src/{builtins → if-run/builtins}/divide/README.md +21 -8
  327. package/src/{builtins → if-run/builtins}/exponent/README.md +19 -8
  328. package/src/{builtins → if-run/builtins}/interpolation/README.md +21 -6
  329. package/src/{builtins → if-run/builtins}/mock-observations/README.md +18 -4
  330. package/src/{builtins → if-run/builtins}/multiply/README.md +20 -8
  331. package/src/{builtins → if-run/builtins}/regex/README.md +19 -9
  332. package/src/{builtins → if-run/builtins}/sci/README.md +19 -9
  333. package/src/{builtins → if-run/builtins}/sci-embodied/README.md +17 -5
  334. package/src/{builtins → if-run/builtins}/shell/README.md +19 -7
  335. package/src/{builtins → if-run/builtins}/subtract/README.md +17 -6
  336. package/src/{builtins → if-run/builtins}/sum/README.md +34 -8
  337. package/src/if-run/builtins/time-converter/README.md +136 -0
  338. package/src/if-run/builtins/time-sync/README.md +267 -0
  339. package/build/builtins/coefficient/index.d.ts +0 -2
  340. package/build/builtins/coefficient/index.js +0 -65
  341. package/build/builtins/copy-param/index.d.ts +0 -2
  342. package/build/builtins/copy-param/index.js +0 -68
  343. package/build/builtins/csv-lookup/index.d.ts +0 -2
  344. package/build/builtins/csv-lookup/index.js +0 -188
  345. package/build/builtins/divide/index.d.ts +0 -2
  346. package/build/builtins/divide/index.js +0 -78
  347. package/build/builtins/exponent/index.d.ts +0 -2
  348. package/build/builtins/exponent/index.js +0 -58
  349. package/build/builtins/export-csv-raw.d.ts +0 -4
  350. package/build/builtins/export-csv-raw.js +0 -132
  351. package/build/builtins/export-csv.d.ts +0 -10
  352. package/build/builtins/export-csv.js +0 -96
  353. package/build/builtins/export-yaml.js +0 -30
  354. package/build/builtins/group-by.d.ts +0 -5
  355. package/build/builtins/group-by.js +0 -71
  356. package/build/builtins/interpolation/index.d.ts +0 -2
  357. package/build/builtins/interpolation/index.js +0 -148
  358. package/build/builtins/mock-observations/helpers/common-generator.js +0 -29
  359. package/build/builtins/mock-observations/helpers/rand-int-generator.js +0 -48
  360. package/build/builtins/mock-observations/index.d.ts +0 -2
  361. package/build/builtins/mock-observations/index.js +0 -114
  362. package/build/builtins/mock-observations/interfaces/index.js +0 -3
  363. package/build/builtins/multiply/index.d.ts +0 -2
  364. package/build/builtins/multiply/index.js +0 -57
  365. package/build/builtins/regex/index.d.ts +0 -2
  366. package/build/builtins/regex/index.js +0 -74
  367. package/build/builtins/sci/config.js +0 -44
  368. package/build/builtins/sci/index.d.ts +0 -2
  369. package/build/builtins/sci/index.js +0 -70
  370. package/build/builtins/sci-embodied/index.d.ts +0 -2
  371. package/build/builtins/sci-embodied/index.js +0 -114
  372. package/build/builtins/shell/index.d.ts +0 -2
  373. package/build/builtins/shell/index.js +0 -58
  374. package/build/builtins/subtract/index.d.ts +0 -2
  375. package/build/builtins/subtract/index.js +0 -59
  376. package/build/builtins/sum/index.d.ts +0 -2
  377. package/build/builtins/sum/index.js +0 -64
  378. package/build/builtins/time-sync.d.ts +0 -2
  379. package/build/builtins/time-sync.js +0 -300
  380. package/build/check.js +0 -95
  381. package/build/config/config.d.ts +0 -29
  382. package/build/config/config.js +0 -147
  383. package/build/config/index.js +0 -10
  384. package/build/config/params.d.ts +0 -2
  385. package/build/config/params.js +0 -196
  386. package/build/config/strings.js +0 -105
  387. package/build/diff.js +0 -46
  388. package/build/env.js +0 -38
  389. package/build/index.js +0 -48
  390. package/build/lib/aggregate.d.ts +0 -6
  391. package/build/lib/aggregate.js +0 -77
  392. package/build/lib/compare.js +0 -56
  393. package/build/lib/compute.js +0 -91
  394. package/build/lib/environment.js +0 -75
  395. package/build/lib/exhaust.js +0 -53
  396. package/build/lib/initialize.d.ts +0 -6
  397. package/build/lib/initialize.js +0 -101
  398. package/build/lib/load.js +0 -70
  399. package/build/lib/parameterize.d.ts +0 -6
  400. package/build/lib/parameterize.js +0 -55
  401. package/build/types/aggregation.d.ts +0 -2
  402. package/build/types/aggregation.js +0 -5
  403. package/build/types/compute.js +0 -3
  404. package/build/types/environment.js +0 -3
  405. package/build/types/exhaust-plugin-interface.js +0 -3
  406. package/build/types/if-env.js +0 -3
  407. package/build/types/interface.d.ts +0 -4
  408. package/build/types/interface.js +0 -8
  409. package/build/types/lib/compare.js +0 -3
  410. package/build/types/manifest.js +0 -3
  411. package/build/types/npm.js +0 -3
  412. package/build/types/parameters.d.ts +0 -5
  413. package/build/types/parameters.js +0 -5
  414. package/build/types/plugin-storage.js +0 -3
  415. package/build/types/process-args.d.ts +0 -33
  416. package/build/types/process-args.js +0 -3
  417. package/build/types/time-sync.js +0 -3
  418. package/build/types/util/args.js +0 -3
  419. package/build/util/aggregation-helper.js +0 -55
  420. package/build/util/args.d.ts +0 -37
  421. package/build/util/args.js +0 -205
  422. package/build/util/debug-logger.js +0 -118
  423. package/build/util/fs.js +0 -94
  424. package/build/util/helpers.d.ts +0 -57
  425. package/build/util/helpers.js +0 -251
  426. package/build/util/json.d.ts +0 -4
  427. package/build/util/json.js +0 -36
  428. package/build/util/log-memoize.js +0 -19
  429. package/build/util/npm.js +0 -152
  430. package/build/util/os-checker.js +0 -97
  431. package/build/util/plugin-storage.js +0 -34
  432. package/build/util/validations.js +0 -124
  433. package/build/util/yaml.js +0 -59
  434. package/manifests/outputs/bugs/initialize-error-no-config.yaml +0 -78
  435. package/manifests/outputs/bugs/initialize-error-no-path.yaml +0 -91
  436. package/manifests/outputs/bugs/initialize-error-no-plugins.yaml +0 -74
  437. package/manifests/outputs/divide.yaml +0 -93
  438. package/manifests/outputs/pipelines/mock-obs-group-by-cloud-meta.yaml +0 -645
  439. package/manifests/outputs/pipelines/mock-obs-groupby.yaml +0 -178
  440. package/manifests/outputs/plugins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +0 -27
  441. package/manifests/outputs/plugins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +0 -27
  442. package/manifests/outputs/plugins/groupby/success.yaml +0 -101
  443. package/manifests/outputs/plugins/mock-observations/success.yaml +0 -220
  444. package/manifests/outputs/plugins/regex/failure-not-matching-with-regex.yaml +0 -76
  445. package/manifests/outputs/plugins/time-sync/failure-missing-global-config.yaml +0 -78
  446. package/src/__tests__/integration/templates/integration.yaml +0 -16
  447. package/src/builtins/README.md +0 -848
  448. /package/build/{util → common/util}/debug-logger.d.ts +0 -0
  449. /package/build/{util → common/util}/fs.d.ts +0 -0
  450. /package/build/{util → common/util}/logger.d.ts +0 -0
  451. /package/build/{util → common/util}/yaml.d.ts +0 -0
  452. /package/build/{index.d.ts → if-check/index.d.ts} +0 -0
  453. /package/build/{check.d.ts → if-csv/index.d.ts} +0 -0
  454. /package/build/{diff.d.ts → if-diff/index.d.ts} +0 -0
  455. /package/build/{types/util → if-diff/types}/args.d.ts +0 -0
  456. /package/build/{types/lib → if-diff/types}/compare.d.ts +0 -0
  457. /package/build/{env.d.ts → if-env/index.d.ts} +0 -0
  458. /package/build/{types → if-env/types}/if-env.d.ts +0 -0
  459. /package/build/{types → if-env/types}/npm.d.ts +0 -0
  460. /package/build/{builtins → if-run/builtins}/mock-observations/helpers/common-generator.d.ts +0 -0
  461. /package/build/{builtins → if-run/builtins}/mock-observations/helpers/rand-int-generator.d.ts +0 -0
  462. /package/build/{builtins → if-run/builtins}/mock-observations/interfaces/index.d.ts +0 -0
  463. /package/build/{builtins/sci → if-run/builtins/time-converter}/config.d.ts +0 -0
  464. /package/build/{lib → if-run/lib}/compute.d.ts +0 -0
  465. /package/build/{types → if-run/types}/environment.d.ts +0 -0
  466. /package/build/{types → if-run/types}/plugin-storage.d.ts +0 -0
  467. /package/build/{types → if-run/types}/time-sync.d.ts +0 -0
  468. /package/build/{util → if-run/util}/log-memoize.d.ts +0 -0
  469. /package/build/{util → if-run/util}/os-checker.d.ts +0 -0
@@ -0,0 +1,126 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.updatePackageJsonProperties = exports.extractPathsWithVersion = exports.updatePackageJsonDependencies = exports.installDependencies = exports.initPackageJsonIfNotExists = void 0;
28
+ /* eslint-disable no-process-exit */
29
+ const fs = __importStar(require("fs/promises"));
30
+ const path = __importStar(require("path"));
31
+ const helpers_1 = require("../../common/util/helpers");
32
+ const fs_1 = require("../../common/util/fs");
33
+ const logger_1 = require("../../common/util/logger");
34
+ const config_1 = require("../config");
35
+ const packageJson = require('../../../package.json');
36
+ const { INITIALIZING_PACKAGE_JSON, INSTALLING_NPM_PACKAGES } = config_1.STRINGS;
37
+ /**
38
+ * Checks if the package.json is exists, if not, initializes it.
39
+ */
40
+ const initPackageJsonIfNotExists = async (folderPath) => {
41
+ const packageJsonPath = path.resolve(folderPath, 'package.json');
42
+ const isPackageJsonExists = await (0, fs_1.isFileExists)(packageJsonPath);
43
+ if (!isPackageJsonExists) {
44
+ logger_1.logger.info(INITIALIZING_PACKAGE_JSON);
45
+ const nodeModulesPath = path.resolve(folderPath, 'node_modules');
46
+ const isNodeModulesExists = await (0, fs_1.isDirectoryExists)(nodeModulesPath);
47
+ if (isNodeModulesExists) {
48
+ await fs.rm(nodeModulesPath, { recursive: true });
49
+ }
50
+ await (0, helpers_1.execPromise)('npm init -y', { cwd: folderPath });
51
+ }
52
+ return packageJsonPath;
53
+ };
54
+ exports.initPackageJsonIfNotExists = initPackageJsonIfNotExists;
55
+ /**
56
+ * Installs packages from the specified dependencies in the specified folder.
57
+ */
58
+ const installDependencies = async (folderPath, dependencies) => {
59
+ const packages = Object.entries(dependencies).map(([dependency, version]) => `${dependency}@${version.replace('^', '')}`);
60
+ logger_1.logger.info(INSTALLING_NPM_PACKAGES);
61
+ await (0, helpers_1.execPromise)(`npm install ${packages.join(' ')}`, {
62
+ cwd: folderPath,
63
+ });
64
+ };
65
+ exports.installDependencies = installDependencies;
66
+ /**
67
+ * Updates package.json dependencies.
68
+ */
69
+ const updatePackageJsonDependencies = async (packageJsonPath, dependencies, cwd) => {
70
+ const packageJsonContent = await fs.readFile(packageJsonPath, 'utf8');
71
+ const parsedPackageJson = JSON.parse(packageJsonContent);
72
+ if (cwd) {
73
+ parsedPackageJson.dependencies = {
74
+ ...parsedPackageJson.dependencies,
75
+ ...dependencies,
76
+ };
77
+ }
78
+ else {
79
+ parsedPackageJson.dependencies = { ...dependencies };
80
+ }
81
+ await fs.writeFile(packageJsonPath, JSON.stringify(parsedPackageJson, null, 2));
82
+ await fs.appendFile(packageJsonPath, '\n');
83
+ };
84
+ exports.updatePackageJsonDependencies = updatePackageJsonDependencies;
85
+ /**
86
+ * Gets depencecies with versions.
87
+ */
88
+ const extractPathsWithVersion = (plugins, dependencies) => {
89
+ const paths = Object.keys(plugins).map(plugin => plugins[plugin].path);
90
+ const uniquePaths = [...new Set(paths)].filter(path => path !== 'builtin');
91
+ const pathsWithVersion = {};
92
+ uniquePaths.forEach(pluginPath => {
93
+ const dependency = dependencies.find((dependency) => dependency.startsWith(pluginPath));
94
+ if (dependency) {
95
+ const splittedDependency = dependency.split('@');
96
+ const version = splittedDependency.length > 2
97
+ ? splittedDependency[2].split(' ')[0]
98
+ : splittedDependency[1];
99
+ pathsWithVersion[pluginPath] = `^${version}`;
100
+ }
101
+ });
102
+ return pathsWithVersion;
103
+ };
104
+ exports.extractPathsWithVersion = extractPathsWithVersion;
105
+ /**
106
+ * Update the package.json properties.
107
+ */
108
+ const updatePackageJsonProperties = async (newPackageJsonPath, appendDependencies) => {
109
+ const packageJsonContent = await fs.readFile(newPackageJsonPath, 'utf8');
110
+ const parsedPackageJsonContent = JSON.parse(packageJsonContent);
111
+ const properties = {
112
+ name: packageJson.name || 'if-environment',
113
+ description: packageJson.description,
114
+ author: packageJson.author,
115
+ bugs: packageJson.bugs,
116
+ engines: packageJson.engines,
117
+ homepage: packageJson.homepage,
118
+ dependencies: appendDependencies
119
+ ? parsedPackageJsonContent.dependencies
120
+ : {},
121
+ };
122
+ const newPackageJson = Object.assign({}, parsedPackageJsonContent, properties);
123
+ await fs.writeFile(newPackageJsonPath, JSON.stringify(newPackageJson, null, 2));
124
+ };
125
+ exports.updatePackageJsonProperties = updatePackageJsonProperties;
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLWVudi91dGlsL25wbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQSxvQ0FBb0M7QUFDcEMsZ0RBQWtDO0FBQ2xDLDJDQUE2QjtBQUU3Qix1REFBc0Q7QUFDdEQsNkNBQXFFO0FBQ3JFLHFEQUFnRDtBQUVoRCxzQ0FBa0M7QUFHbEMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUM7QUFFckQsTUFBTSxFQUFDLHlCQUF5QixFQUFFLHVCQUF1QixFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUVyRTs7R0FFRztBQUNJLE1BQU0sMEJBQTBCLEdBQUcsS0FBSyxFQUFFLFVBQWtCLEVBQUUsRUFBRTtJQUNyRSxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNqRSxNQUFNLG1CQUFtQixHQUFHLE1BQU0sSUFBQSxpQkFBWSxFQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRWhFLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtRQUN4QixlQUFNLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFFdkMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDakUsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLElBQUEsc0JBQWlCLEVBQUMsZUFBZSxDQUFDLENBQUM7UUFFckUsSUFBSSxtQkFBbUIsRUFBRTtZQUN2QixNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsZUFBZSxFQUFFLEVBQUMsU0FBUyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7U0FDakQ7UUFFRCxNQUFNLElBQUEscUJBQVcsRUFBQyxhQUFhLEVBQUUsRUFBQyxHQUFHLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztLQUNyRDtJQUVELE9BQU8sZUFBZSxDQUFDO0FBQ3pCLENBQUMsQ0FBQztBQWxCVyxRQUFBLDBCQUEwQiw4QkFrQnJDO0FBRUY7O0dBRUc7QUFDSSxNQUFNLG1CQUFtQixHQUFHLEtBQUssRUFDdEMsVUFBa0IsRUFDbEIsWUFBc0MsRUFDdEMsRUFBRTtJQUNGLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUMvQyxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLFVBQVUsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUN2RSxDQUFDO0lBRUYsZUFBTSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sSUFBQSxxQkFBVyxFQUFDLGVBQWUsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFO1FBQ3JELEdBQUcsRUFBRSxVQUFVO0tBQ2hCLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQVpXLFFBQUEsbUJBQW1CLHVCQVk5QjtBQUVGOztHQUVHO0FBQ0ksTUFBTSw2QkFBNkIsR0FBRyxLQUFLLEVBQ2hELGVBQXVCLEVBQ3ZCLFlBQTZCLEVBQzdCLEdBQVksRUFDWixFQUFFO0lBQ0YsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXRFLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRXpELElBQUksR0FBRyxFQUFFO1FBQ1AsaUJBQWlCLENBQUMsWUFBWSxHQUFHO1lBQy9CLEdBQUcsaUJBQWlCLENBQUMsWUFBWTtZQUNqQyxHQUFHLFlBQVk7U0FDaEIsQ0FBQztLQUNIO1NBQU07UUFDTCxpQkFBaUIsQ0FBQyxZQUFZLEdBQUcsRUFBQyxHQUFHLFlBQVksRUFBQyxDQUFDO0tBQ3BEO0lBRUQsTUFBTSxFQUFFLENBQUMsU0FBUyxDQUNoQixlQUFlLEVBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQzNDLENBQUM7SUFDRixNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzdDLENBQUMsQ0FBQztBQXZCVyxRQUFBLDZCQUE2QixpQ0F1QnhDO0FBRUY7O0dBRUc7QUFDSSxNQUFNLHVCQUF1QixHQUFHLENBQ3JDLE9BQXVCLEVBQ3ZCLFlBQXNCLEVBQ3RCLEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RSxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUM7SUFDM0UsTUFBTSxnQkFBZ0IsR0FBb0IsRUFBRSxDQUFDO0lBRTdDLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDL0IsTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQWtCLEVBQUUsRUFBRSxDQUMxRCxVQUFVLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUNsQyxDQUFDO1FBRUYsSUFBSSxVQUFVLEVBQUU7WUFDZCxNQUFNLGtCQUFrQixHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakQsTUFBTSxPQUFPLEdBQ1gsa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUM7Z0JBQzNCLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFNUIsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztTQUM5QztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxnQkFBZ0IsQ0FBQztBQUMxQixDQUFDLENBQUM7QUF6QlcsUUFBQSx1QkFBdUIsMkJBeUJsQztBQUVGOztHQUVHO0FBQ0ksTUFBTSwyQkFBMkIsR0FBRyxLQUFLLEVBQzlDLGtCQUEwQixFQUMxQixrQkFBMkIsRUFDM0IsRUFBRTtJQUNGLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pFLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBRWhFLE1BQU0sVUFBVSxHQUFHO1FBQ2pCLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSSxJQUFJLGdCQUFnQjtRQUMxQyxXQUFXLEVBQUUsV0FBVyxDQUFDLFdBQVc7UUFDcEMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxNQUFNO1FBQzFCLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSTtRQUN0QixPQUFPLEVBQUUsV0FBVyxDQUFDLE9BQU87UUFDNUIsUUFBUSxFQUFFLFdBQVcsQ0FBQyxRQUFRO1FBQzlCLFlBQVksRUFBRSxrQkFBa0I7WUFDOUIsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLFlBQVk7WUFDdkMsQ0FBQyxDQUFDLEVBQUU7S0FDUCxDQUFDO0lBRUYsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FDbEMsRUFBRSxFQUNGLHdCQUF3QixFQUN4QixVQUFVLENBQ1gsQ0FBQztJQUVGLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FDaEIsa0JBQWtCLEVBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FDeEMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQTdCVyxRQUFBLDJCQUEyQiwrQkE2QnRDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuLyogZXNsaW50LWRpc2FibGUgbm8tcHJvY2Vzcy1leGl0ICovXG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcy9wcm9taXNlcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQge2V4ZWNQcm9taXNlfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9oZWxwZXJzJztcbmltcG9ydCB7aXNEaXJlY3RvcnlFeGlzdHMsIGlzRmlsZUV4aXN0c30gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvZnMnO1xuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2xvZ2dlcic7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCB7TWFuaWZlc3RQbHVnaW4sIFBhdGhXaXRoVmVyc2lvbn0gZnJvbSAnLi4vdHlwZXMvbnBtJztcblxuY29uc3QgcGFja2FnZUpzb24gPSByZXF1aXJlKCcuLi8uLi8uLi9wYWNrYWdlLmpzb24nKTtcblxuY29uc3Qge0lOSVRJQUxJWklOR19QQUNLQUdFX0pTT04sIElOU1RBTExJTkdfTlBNX1BBQ0tBR0VTfSA9IFNUUklOR1M7XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBwYWNrYWdlLmpzb24gaXMgZXhpc3RzLCBpZiBub3QsIGluaXRpYWxpemVzIGl0LlxuICovXG5leHBvcnQgY29uc3QgaW5pdFBhY2thZ2VKc29uSWZOb3RFeGlzdHMgPSBhc3luYyAoZm9sZGVyUGF0aDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHBhY2thZ2VKc29uUGF0aCA9IHBhdGgucmVzb2x2ZShmb2xkZXJQYXRoLCAncGFja2FnZS5qc29uJyk7XG4gIGNvbnN0IGlzUGFja2FnZUpzb25FeGlzdHMgPSBhd2FpdCBpc0ZpbGVFeGlzdHMocGFja2FnZUpzb25QYXRoKTtcblxuICBpZiAoIWlzUGFja2FnZUpzb25FeGlzdHMpIHtcbiAgICBsb2dnZXIuaW5mbyhJTklUSUFMSVpJTkdfUEFDS0FHRV9KU09OKTtcblxuICAgIGNvbnN0IG5vZGVNb2R1bGVzUGF0aCA9IHBhdGgucmVzb2x2ZShmb2xkZXJQYXRoLCAnbm9kZV9tb2R1bGVzJyk7XG4gICAgY29uc3QgaXNOb2RlTW9kdWxlc0V4aXN0cyA9IGF3YWl0IGlzRGlyZWN0b3J5RXhpc3RzKG5vZGVNb2R1bGVzUGF0aCk7XG5cbiAgICBpZiAoaXNOb2RlTW9kdWxlc0V4aXN0cykge1xuICAgICAgYXdhaXQgZnMucm0obm9kZU1vZHVsZXNQYXRoLCB7cmVjdXJzaXZlOiB0cnVlfSk7XG4gICAgfVxuXG4gICAgYXdhaXQgZXhlY1Byb21pc2UoJ25wbSBpbml0IC15Jywge2N3ZDogZm9sZGVyUGF0aH0pO1xuICB9XG5cbiAgcmV0dXJuIHBhY2thZ2VKc29uUGF0aDtcbn07XG5cbi8qKlxuICogSW5zdGFsbHMgcGFja2FnZXMgZnJvbSB0aGUgc3BlY2lmaWVkIGRlcGVuZGVuY2llcyBpbiB0aGUgc3BlY2lmaWVkIGZvbGRlci5cbiAqL1xuZXhwb3J0IGNvbnN0IGluc3RhbGxEZXBlbmRlbmNpZXMgPSBhc3luYyAoXG4gIGZvbGRlclBhdGg6IHN0cmluZyxcbiAgZGVwZW5kZW5jaWVzOiB7W3BhdGg6IHN0cmluZ106IHN0cmluZ31cbikgPT4ge1xuICBjb25zdCBwYWNrYWdlcyA9IE9iamVjdC5lbnRyaWVzKGRlcGVuZGVuY2llcykubWFwKFxuICAgIChbZGVwZW5kZW5jeSwgdmVyc2lvbl0pID0+IGAke2RlcGVuZGVuY3l9QCR7dmVyc2lvbi5yZXBsYWNlKCdeJywgJycpfWBcbiAgKTtcblxuICBsb2dnZXIuaW5mbyhJTlNUQUxMSU5HX05QTV9QQUNLQUdFUyk7XG4gIGF3YWl0IGV4ZWNQcm9taXNlKGBucG0gaW5zdGFsbCAke3BhY2thZ2VzLmpvaW4oJyAnKX1gLCB7XG4gICAgY3dkOiBmb2xkZXJQYXRoLFxuICB9KTtcbn07XG5cbi8qKlxuICogVXBkYXRlcyBwYWNrYWdlLmpzb24gZGVwZW5kZW5jaWVzLlxuICovXG5leHBvcnQgY29uc3QgdXBkYXRlUGFja2FnZUpzb25EZXBlbmRlbmNpZXMgPSBhc3luYyAoXG4gIHBhY2thZ2VKc29uUGF0aDogc3RyaW5nLFxuICBkZXBlbmRlbmNpZXM6IFBhdGhXaXRoVmVyc2lvbixcbiAgY3dkOiBib29sZWFuXG4pID0+IHtcbiAgY29uc3QgcGFja2FnZUpzb25Db250ZW50ID0gYXdhaXQgZnMucmVhZEZpbGUocGFja2FnZUpzb25QYXRoLCAndXRmOCcpO1xuXG4gIGNvbnN0IHBhcnNlZFBhY2thZ2VKc29uID0gSlNPTi5wYXJzZShwYWNrYWdlSnNvbkNvbnRlbnQpO1xuXG4gIGlmIChjd2QpIHtcbiAgICBwYXJzZWRQYWNrYWdlSnNvbi5kZXBlbmRlbmNpZXMgPSB7XG4gICAgICAuLi5wYXJzZWRQYWNrYWdlSnNvbi5kZXBlbmRlbmNpZXMsXG4gICAgICAuLi5kZXBlbmRlbmNpZXMsXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZWRQYWNrYWdlSnNvbi5kZXBlbmRlbmNpZXMgPSB7Li4uZGVwZW5kZW5jaWVzfTtcbiAgfVxuXG4gIGF3YWl0IGZzLndyaXRlRmlsZShcbiAgICBwYWNrYWdlSnNvblBhdGgsXG4gICAgSlNPTi5zdHJpbmdpZnkocGFyc2VkUGFja2FnZUpzb24sIG51bGwsIDIpXG4gICk7XG4gIGF3YWl0IGZzLmFwcGVuZEZpbGUocGFja2FnZUpzb25QYXRoLCAnXFxuJyk7XG59O1xuXG4vKipcbiAqIEdldHMgZGVwZW5jZWNpZXMgd2l0aCB2ZXJzaW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IGV4dHJhY3RQYXRoc1dpdGhWZXJzaW9uID0gKFxuICBwbHVnaW5zOiBNYW5pZmVzdFBsdWdpbixcbiAgZGVwZW5kZW5jaWVzOiBzdHJpbmdbXVxuKSA9PiB7XG4gIGNvbnN0IHBhdGhzID0gT2JqZWN0LmtleXMocGx1Z2lucykubWFwKHBsdWdpbiA9PiBwbHVnaW5zW3BsdWdpbl0ucGF0aCk7XG4gIGNvbnN0IHVuaXF1ZVBhdGhzID0gWy4uLm5ldyBTZXQocGF0aHMpXS5maWx0ZXIocGF0aCA9PiBwYXRoICE9PSAnYnVpbHRpbicpO1xuICBjb25zdCBwYXRoc1dpdGhWZXJzaW9uOiBQYXRoV2l0aFZlcnNpb24gPSB7fTtcblxuICB1bmlxdWVQYXRocy5mb3JFYWNoKHBsdWdpblBhdGggPT4ge1xuICAgIGNvbnN0IGRlcGVuZGVuY3kgPSBkZXBlbmRlbmNpZXMuZmluZCgoZGVwZW5kZW5jeTogc3RyaW5nKSA9PlxuICAgICAgZGVwZW5kZW5jeS5zdGFydHNXaXRoKHBsdWdpblBhdGgpXG4gICAgKTtcblxuICAgIGlmIChkZXBlbmRlbmN5KSB7XG4gICAgICBjb25zdCBzcGxpdHRlZERlcGVuZGVuY3kgPSBkZXBlbmRlbmN5LnNwbGl0KCdAJyk7XG4gICAgICBjb25zdCB2ZXJzaW9uID1cbiAgICAgICAgc3BsaXR0ZWREZXBlbmRlbmN5Lmxlbmd0aCA+IDJcbiAgICAgICAgICA/IHNwbGl0dGVkRGVwZW5kZW5jeVsyXS5zcGxpdCgnICcpWzBdXG4gICAgICAgICAgOiBzcGxpdHRlZERlcGVuZGVuY3lbMV07XG5cbiAgICAgIHBhdGhzV2l0aFZlcnNpb25bcGx1Z2luUGF0aF0gPSBgXiR7dmVyc2lvbn1gO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHBhdGhzV2l0aFZlcnNpb247XG59O1xuXG4vKipcbiAqIFVwZGF0ZSB0aGUgcGFja2FnZS5qc29uIHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCBjb25zdCB1cGRhdGVQYWNrYWdlSnNvblByb3BlcnRpZXMgPSBhc3luYyAoXG4gIG5ld1BhY2thZ2VKc29uUGF0aDogc3RyaW5nLFxuICBhcHBlbmREZXBlbmRlbmNpZXM6IGJvb2xlYW5cbikgPT4ge1xuICBjb25zdCBwYWNrYWdlSnNvbkNvbnRlbnQgPSBhd2FpdCBmcy5yZWFkRmlsZShuZXdQYWNrYWdlSnNvblBhdGgsICd1dGY4Jyk7XG4gIGNvbnN0IHBhcnNlZFBhY2thZ2VKc29uQ29udGVudCA9IEpTT04ucGFyc2UocGFja2FnZUpzb25Db250ZW50KTtcblxuICBjb25zdCBwcm9wZXJ0aWVzID0ge1xuICAgIG5hbWU6IHBhY2thZ2VKc29uLm5hbWUgfHwgJ2lmLWVudmlyb25tZW50JyxcbiAgICBkZXNjcmlwdGlvbjogcGFja2FnZUpzb24uZGVzY3JpcHRpb24sXG4gICAgYXV0aG9yOiBwYWNrYWdlSnNvbi5hdXRob3IsXG4gICAgYnVnczogcGFja2FnZUpzb24uYnVncyxcbiAgICBlbmdpbmVzOiBwYWNrYWdlSnNvbi5lbmdpbmVzLFxuICAgIGhvbWVwYWdlOiBwYWNrYWdlSnNvbi5ob21lcGFnZSxcbiAgICBkZXBlbmRlbmNpZXM6IGFwcGVuZERlcGVuZGVuY2llc1xuICAgICAgPyBwYXJzZWRQYWNrYWdlSnNvbkNvbnRlbnQuZGVwZW5kZW5jaWVzXG4gICAgICA6IHt9LFxuICB9O1xuXG4gIGNvbnN0IG5ld1BhY2thZ2VKc29uID0gT2JqZWN0LmFzc2lnbihcbiAgICB7fSxcbiAgICBwYXJzZWRQYWNrYWdlSnNvbkNvbnRlbnQsXG4gICAgcHJvcGVydGllc1xuICApO1xuXG4gIGF3YWl0IGZzLndyaXRlRmlsZShcbiAgICBuZXdQYWNrYWdlSnNvblBhdGgsXG4gICAgSlNPTi5zdHJpbmdpZnkobmV3UGFja2FnZUpzb24sIG51bGwsIDIpXG4gICk7XG59O1xuIl19
@@ -0,0 +1,6 @@
1
+ import { ArgumentConfig, ParseOptions } from 'ts-command-line-args';
2
+ import { IFMergeArgs } from '../types/process-args';
3
+ export declare const CONFIG: {
4
+ ARGS: ArgumentConfig<IFMergeArgs>;
5
+ HELP: ParseOptions<any>;
6
+ };
@@ -0,0 +1,43 @@
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
+ manifests: {
9
+ type: String,
10
+ multiple: true,
11
+ alias: 'm',
12
+ description: '[path to the manifests files]',
13
+ },
14
+ output: {
15
+ type: String,
16
+ optional: true,
17
+ alias: 'o',
18
+ description: '[path to the merged output file]',
19
+ },
20
+ name: {
21
+ type: String,
22
+ optional: true,
23
+ alias: 'n',
24
+ description: '[name of the merged manifest]',
25
+ },
26
+ description: {
27
+ type: String,
28
+ optional: true,
29
+ alias: 'd',
30
+ description: '[decription of the merged manifest]',
31
+ },
32
+ },
33
+ HELP: {
34
+ helpArg: 'help',
35
+ headerContentSections: [
36
+ { header: 'Impact Framework', content: 'IF-Merge Helpful keywords:' },
37
+ ],
38
+ footerContentSections: [
39
+ { header: 'Green Software Foundation', content: DISCLAIMER_MESSAGE },
40
+ ],
41
+ },
42
+ };
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLW1lcmdlL2NvbmZpZy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsZ0RBQTRDO0FBSTVDLE1BQU0sRUFBQyxrQkFBa0IsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFeEIsUUFBQSxNQUFNLEdBQUc7SUFDcEIsSUFBSSxFQUFFO1FBQ0osU0FBUyxFQUFFO1lBQ1QsSUFBSSxFQUFFLE1BQU07WUFDWixRQUFRLEVBQUUsSUFBSTtZQUNkLEtBQUssRUFBRSxHQUFHO1lBQ1YsV0FBVyxFQUFFLCtCQUErQjtTQUM3QztRQUNELE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSxNQUFNO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUUsR0FBRztZQUNWLFdBQVcsRUFBRSxrQ0FBa0M7U0FDaEQ7UUFDRCxJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsTUFBTTtZQUNaLFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFLEdBQUc7WUFDVixXQUFXLEVBQUUsK0JBQStCO1NBQzdDO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsSUFBSSxFQUFFLE1BQU07WUFDWixRQUFRLEVBQUUsSUFBSTtZQUNkLEtBQUssRUFBRSxHQUFHO1lBQ1YsV0FBVyxFQUFFLHFDQUFxQztTQUNuRDtLQUN3QztJQUMzQyxJQUFJLEVBQUU7UUFDSixPQUFPLEVBQUUsTUFBTTtRQUNmLHFCQUFxQixFQUFFO1lBQ3JCLEVBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBQztTQUNwRTtRQUNELHFCQUFxQixFQUFFO1lBQ3JCLEVBQUMsTUFBTSxFQUFFLDJCQUEyQixFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBQztTQUNuRTtLQUNtQjtDQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcmd1bWVudENvbmZpZywgUGFyc2VPcHRpb25zfSBmcm9tICd0cy1jb21tYW5kLWxpbmUtYXJncyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vLi4vY29tbW9uL2NvbmZpZyc7XG5cbmltcG9ydCB7SUZNZXJnZUFyZ3N9IGZyb20gJy4uL3R5cGVzL3Byb2Nlc3MtYXJncyc7XG5cbmNvbnN0IHtESVNDTEFJTUVSX01FU1NBR0V9ID0gU1RSSU5HUztcblxuZXhwb3J0IGNvbnN0IENPTkZJRyA9IHtcbiAgQVJHUzoge1xuICAgIG1hbmlmZXN0czoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgbXVsdGlwbGU6IHRydWUsXG4gICAgICBhbGlhczogJ20nLFxuICAgICAgZGVzY3JpcHRpb246ICdbcGF0aCB0byB0aGUgbWFuaWZlc3RzIGZpbGVzXScsXG4gICAgfSxcbiAgICBvdXRwdXQ6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgYWxpYXM6ICdvJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnW3BhdGggdG8gdGhlIG1lcmdlZCBvdXRwdXQgZmlsZV0nLFxuICAgIH0sXG4gICAgbmFtZToge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICBhbGlhczogJ24nLFxuICAgICAgZGVzY3JpcHRpb246ICdbbmFtZSBvZiB0aGUgbWVyZ2VkIG1hbmlmZXN0XScsXG4gICAgfSxcbiAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICBhbGlhczogJ2QnLFxuICAgICAgZGVzY3JpcHRpb246ICdbZGVjcmlwdGlvbiBvZiB0aGUgbWVyZ2VkIG1hbmlmZXN0XScsXG4gICAgfSxcbiAgfSBhcyB1bmtub3duIGFzIEFyZ3VtZW50Q29uZmlnPElGTWVyZ2VBcmdzPixcbiAgSEVMUDoge1xuICAgIGhlbHBBcmc6ICdoZWxwJyxcbiAgICBoZWFkZXJDb250ZW50U2VjdGlvbnM6IFtcbiAgICAgIHtoZWFkZXI6ICdJbXBhY3QgRnJhbWV3b3JrJywgY29udGVudDogJ0lGLU1lcmdlIEhlbHBmdWwga2V5d29yZHM6J30sXG4gICAgXSxcbiAgICBmb290ZXJDb250ZW50U2VjdGlvbnM6IFtcbiAgICAgIHtoZWFkZXI6ICdHcmVlbiBTb2Z0d2FyZSBGb3VuZGF0aW9uJywgY29udGVudDogRElTQ0xBSU1FUl9NRVNTQUdFfSxcbiAgICBdLFxuICB9IGFzIFBhcnNlT3B0aW9uczxhbnk+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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtbWVyZ2UvY29uZmlnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFnQztBQUF4QixnR0FBQSxNQUFNLE9BQUE7QUFDZCxxQ0FBa0M7QUFBMUIsa0dBQUEsT0FBTyxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtDT05GSUd9IGZyb20gJy4vY29uZmlnJztcbmV4cG9ydCB7U1RSSU5HU30gZnJvbSAnLi9zdHJpbmdzJztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export declare const STRINGS: {
2
+ MERGING: string;
3
+ SUCCESS_MESSAGE: string;
4
+ MANIFEST_IS_NOT_YAML: (path: string) => string;
5
+ };
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.STRINGS = void 0;
4
+ exports.STRINGS = {
5
+ MERGING: 'Merging...',
6
+ SUCCESS_MESSAGE: '\nManifests are merged successfully!',
7
+ MANIFEST_IS_NOT_YAML: (path) => `The \`${path}\` is not in yaml format.`,
8
+ };
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1tZXJnZS9jb25maWcvc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLE9BQU8sR0FBRztJQUNyQixPQUFPLEVBQUUsWUFBWTtJQUNyQixlQUFlLEVBQUUsc0NBQXNDO0lBQ3ZELG9CQUFvQixFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDckMsU0FBUyxJQUFJLDJCQUEyQjtDQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFNUUklOR1MgPSB7XG4gIE1FUkdJTkc6ICdNZXJnaW5nLi4uJyxcbiAgU1VDQ0VTU19NRVNTQUdFOiAnXFxuTWFuaWZlc3RzIGFyZSBtZXJnZWQgc3VjY2Vzc2Z1bGx5IScsXG4gIE1BTklGRVNUX0lTX05PVF9ZQU1MOiAocGF0aDogc3RyaW5nKSA9PlxuICAgIGBUaGUgXFxgJHtwYXRofVxcYCBpcyBub3QgaW4geWFtbCBmb3JtYXQuYCxcbn07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ /* eslint-disable no-process-exit */
5
+ const debug_logger_1 = require("../common/util/debug-logger");
6
+ const logger_1 = require("../common/util/logger");
7
+ const args_1 = require("./util/args");
8
+ const helpers_1 = require("./util/helpers");
9
+ const config_1 = require("./config");
10
+ const { MERGING, SUCCESS_MESSAGE } = config_1.STRINGS;
11
+ const IfMerge = async () => {
12
+ // Call this function with false parameter to prevent log debug messages.
13
+ debug_logger_1.debugLogger.overrideConsoleMethods(false);
14
+ const commandArgs = await (0, args_1.parseIfMergeArgs)();
15
+ console.log(`${MERGING}\n`);
16
+ await (0, helpers_1.mergeManifests)(commandArgs);
17
+ console.log(SUCCESS_MESSAGE);
18
+ process.exit(0);
19
+ };
20
+ IfMerge().catch(error => {
21
+ if (error instanceof Error) {
22
+ logger_1.logger.error(error);
23
+ process.exit(2);
24
+ }
25
+ });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaWYtbWVyZ2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esb0NBQW9DO0FBQ3BDLDhEQUF3RDtBQUN4RCxrREFBNkM7QUFFN0Msc0NBQTZDO0FBQzdDLDRDQUE4QztBQUU5QyxxQ0FBaUM7QUFFakMsTUFBTSxFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRTNDLE1BQU0sT0FBTyxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQ3pCLHlFQUF5RTtJQUN6RSwwQkFBVyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTFDLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSx1QkFBZ0IsR0FBRSxDQUFDO0lBRTdDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLElBQUksQ0FBQyxDQUFDO0lBRTVCLE1BQU0sSUFBQSx3QkFBYyxFQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRWxDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFN0IsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7SUFDdEIsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1FBQzFCLGVBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNqQjtBQUNILENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuLyogZXNsaW50LWRpc2FibGUgbm8tcHJvY2Vzcy1leGl0ICovXG5pbXBvcnQge2RlYnVnTG9nZ2VyfSBmcm9tICcuLi9jb21tb24vdXRpbC9kZWJ1Zy1sb2dnZXInO1xuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4uL2NvbW1vbi91dGlsL2xvZ2dlcic7XG5cbmltcG9ydCB7cGFyc2VJZk1lcmdlQXJnc30gZnJvbSAnLi91dGlsL2FyZ3MnO1xuaW1wb3J0IHttZXJnZU1hbmlmZXN0c30gZnJvbSAnLi91dGlsL2hlbHBlcnMnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4vY29uZmlnJztcblxuY29uc3Qge01FUkdJTkcsIFNVQ0NFU1NfTUVTU0FHRX0gPSBTVFJJTkdTO1xuXG5jb25zdCBJZk1lcmdlID0gYXN5bmMgKCkgPT4ge1xuICAvLyBDYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCBmYWxzZSBwYXJhbWV0ZXIgdG8gcHJldmVudCBsb2cgZGVidWcgbWVzc2FnZXMuXG4gIGRlYnVnTG9nZ2VyLm92ZXJyaWRlQ29uc29sZU1ldGhvZHMoZmFsc2UpO1xuXG4gIGNvbnN0IGNvbW1hbmRBcmdzID0gYXdhaXQgcGFyc2VJZk1lcmdlQXJncygpO1xuXG4gIGNvbnNvbGUubG9nKGAke01FUkdJTkd9XFxuYCk7XG5cbiAgYXdhaXQgbWVyZ2VNYW5pZmVzdHMoY29tbWFuZEFyZ3MpO1xuXG4gIGNvbnNvbGUubG9nKFNVQ0NFU1NfTUVTU0FHRSk7XG5cbiAgcHJvY2Vzcy5leGl0KDApO1xufTtcblxuSWZNZXJnZSgpLmNhdGNoKGVycm9yID0+IHtcbiAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICBsb2dnZXIuZXJyb3IoZXJyb3IpO1xuICAgIHByb2Nlc3MuZXhpdCgyKTtcbiAgfVxufSk7XG4iXX0=
@@ -0,0 +1,6 @@
1
+ export interface IFMergeArgs {
2
+ manifests: string[];
3
+ output?: string;
4
+ name?: string;
5
+ description?: string;
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLW1lcmdlL3R5cGVzL3Byb2Nlc3MtYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJRk1lcmdlQXJncyB7XG4gIG1hbmlmZXN0czogc3RyaW5nW107XG4gIG91dHB1dD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Checks if the `manifests` command is provided and they are valid manifests files or a folder.
3
+ */
4
+ export declare const parseIfMergeArgs: () => Promise<{
5
+ manifests: string[];
6
+ output: string | undefined;
7
+ name: string | undefined;
8
+ description: string | undefined;
9
+ }>;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseIfMergeArgs = 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 fs_1 = require("../../common/util/fs");
7
+ const helpers_1 = require("../../common/util/helpers");
8
+ const yaml_1 = require("../../common/util/yaml");
9
+ const config_1 = require("../../common/config");
10
+ const config_2 = require("../config");
11
+ const { ParseCliParamsError, InvalidDirectoryError, CliSourceFileError } = utils_1.ERRORS;
12
+ const { ARGS, HELP } = config_2.CONFIG;
13
+ const { MANIFEST_IS_NOT_YAML } = config_2.STRINGS;
14
+ const { MANIFEST_NOT_FOUND, DIRECTORY_NOT_FOUND } = config_1.STRINGS;
15
+ /**
16
+ * Parses `if-merge` process arguments.
17
+ */
18
+ const validateAndParseIfMergeArgs = () => {
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
+ * Checks if the `manifests` command is provided and they are valid manifests files or a folder.
31
+ */
32
+ const parseIfMergeArgs = async () => {
33
+ const { manifests, output, name, description } = validateAndParseIfMergeArgs();
34
+ const manifestsWithFullPath = [];
35
+ if (manifests.length === 1) {
36
+ const isDirectory = await (0, fs_1.isDirectoryExists)(manifests[0]);
37
+ if (!isDirectory) {
38
+ throw new InvalidDirectoryError(DIRECTORY_NOT_FOUND);
39
+ }
40
+ return { manifests, output, name, description };
41
+ }
42
+ for await (const manifest of manifests) {
43
+ const response = (0, helpers_1.prependFullFilePath)(manifest);
44
+ const isManifestFileExists = await (0, fs_1.isFileExists)(response);
45
+ const isYamlFile = (0, yaml_1.checkIfFileIsYaml)(response);
46
+ if (!isManifestFileExists) {
47
+ throw new ParseCliParamsError(`${manifest} ${MANIFEST_NOT_FOUND}`);
48
+ }
49
+ if (!isYamlFile) {
50
+ throw new CliSourceFileError(MANIFEST_IS_NOT_YAML(manifest));
51
+ }
52
+ if ((0, yaml_1.checkIfFileIsYaml)(manifest)) {
53
+ manifestsWithFullPath.push(response);
54
+ }
55
+ }
56
+ return { manifests: manifestsWithFullPath, output, name, description };
57
+ };
58
+ exports.parseIfMergeArgs = parseIfMergeArgs;
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1tZXJnZS91dGlsL2FyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0RBQTJDO0FBQzNDLGlEQUE2QztBQUU3Qyw2Q0FBcUU7QUFDckUsdURBQThEO0FBQzlELGlEQUF5RDtBQUV6RCxnREFBOEQ7QUFJOUQsc0NBQTBDO0FBRTFDLE1BQU0sRUFBQyxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBQyxHQUFHLGNBQU0sQ0FBQztBQUNoRixNQUFNLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUM1QixNQUFNLEVBQUMsb0JBQW9CLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBQ3ZDLE1BQU0sRUFBQyxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBQyxHQUFHLGdCQUFjLENBQUM7QUFFakU7O0dBRUc7QUFDSCxNQUFNLDJCQUEyQixHQUFHLEdBQUcsRUFBRTtJQUN2QyxJQUFJO1FBQ0YsT0FBTyxJQUFBLDRCQUFLLEVBQWMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ3ZDO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUU7WUFDMUIsTUFBTSxJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM5QztRQUVELE1BQU0sS0FBSyxDQUFDO0tBQ2I7QUFDSCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNJLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDekMsTUFBTSxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBQyxHQUFHLDJCQUEyQixFQUFFLENBQUM7SUFFN0UsTUFBTSxxQkFBcUIsR0FBRyxFQUFFLENBQUM7SUFFakMsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUMxQixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUEsc0JBQWlCLEVBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixNQUFNLElBQUkscUJBQXFCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUN0RDtRQUVELE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUMsQ0FBQztLQUMvQztJQUVELElBQUksS0FBSyxFQUFFLE1BQU0sUUFBUSxJQUFJLFNBQVMsRUFBRTtRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFBLDZCQUFtQixFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxJQUFBLGlCQUFZLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUQsTUFBTSxVQUFVLEdBQUcsSUFBQSx3QkFBaUIsRUFBQyxRQUFRLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDekIsTUFBTSxJQUFJLG1CQUFtQixDQUFDLEdBQUcsUUFBUSxJQUFJLGtCQUFrQixFQUFFLENBQUMsQ0FBQztTQUNwRTtRQUVELElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDZixNQUFNLElBQUksa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUM5RDtRQUVELElBQUksSUFBQSx3QkFBaUIsRUFBQyxRQUFRLENBQUMsRUFBRTtZQUMvQixxQkFBcUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdEM7S0FDRjtJQUVELE9BQU8sRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUMsQ0FBQztBQUN2RSxDQUFDLENBQUM7QUFqQ1csUUFBQSxnQkFBZ0Isb0JBaUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7cGFyc2V9IGZyb20gJ3RzLWNvbW1hbmQtbGluZS1hcmdzJztcbmltcG9ydCB7RVJST1JTfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdXRpbHMnO1xuXG5pbXBvcnQge2lzRmlsZUV4aXN0cywgaXNEaXJlY3RvcnlFeGlzdHN9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2ZzJztcbmltcG9ydCB7cHJlcGVuZEZ1bGxGaWxlUGF0aH0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvaGVscGVycyc7XG5pbXBvcnQge2NoZWNrSWZGaWxlSXNZYW1sfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC95YW1sJztcblxuaW1wb3J0IHtTVFJJTkdTIGFzIENPTU1PTl9TVFJJTkdTfSBmcm9tICcuLi8uLi9jb21tb24vY29uZmlnJztcblxuaW1wb3J0IHtJRk1lcmdlQXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuaW1wb3J0IHtDT05GSUcsIFNUUklOR1N9IGZyb20gJy4uL2NvbmZpZyc7XG5cbmNvbnN0IHtQYXJzZUNsaVBhcmFtc0Vycm9yLCBJbnZhbGlkRGlyZWN0b3J5RXJyb3IsIENsaVNvdXJjZUZpbGVFcnJvcn0gPSBFUlJPUlM7XG5jb25zdCB7QVJHUywgSEVMUH0gPSBDT05GSUc7XG5jb25zdCB7TUFOSUZFU1RfSVNfTk9UX1lBTUx9ID0gU1RSSU5HUztcbmNvbnN0IHtNQU5JRkVTVF9OT1RfRk9VTkQsIERJUkVDVE9SWV9OT1RfRk9VTkR9ID0gQ09NTU9OX1NUUklOR1M7XG5cbi8qKlxuICogUGFyc2VzIGBpZi1tZXJnZWAgcHJvY2VzcyBhcmd1bWVudHMuXG4gKi9cbmNvbnN0IHZhbGlkYXRlQW5kUGFyc2VJZk1lcmdlQXJncyA9ICgpID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2U8SUZNZXJnZUFyZ3M+KEFSR1MsIEhFTFApO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGBtYW5pZmVzdHNgIGNvbW1hbmQgaXMgcHJvdmlkZWQgYW5kIHRoZXkgYXJlIHZhbGlkIG1hbmlmZXN0cyBmaWxlcyBvciBhIGZvbGRlci5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlSWZNZXJnZUFyZ3MgPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHttYW5pZmVzdHMsIG91dHB1dCwgbmFtZSwgZGVzY3JpcHRpb259ID0gdmFsaWRhdGVBbmRQYXJzZUlmTWVyZ2VBcmdzKCk7XG5cbiAgY29uc3QgbWFuaWZlc3RzV2l0aEZ1bGxQYXRoID0gW107XG5cbiAgaWYgKG1hbmlmZXN0cy5sZW5ndGggPT09IDEpIHtcbiAgICBjb25zdCBpc0RpcmVjdG9yeSA9IGF3YWl0IGlzRGlyZWN0b3J5RXhpc3RzKG1hbmlmZXN0c1swXSk7XG4gICAgaWYgKCFpc0RpcmVjdG9yeSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWREaXJlY3RvcnlFcnJvcihESVJFQ1RPUllfTk9UX0ZPVU5EKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge21hbmlmZXN0cywgb3V0cHV0LCBuYW1lLCBkZXNjcmlwdGlvbn07XG4gIH1cblxuICBmb3IgYXdhaXQgKGNvbnN0IG1hbmlmZXN0IG9mIG1hbmlmZXN0cykge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gcHJlcGVuZEZ1bGxGaWxlUGF0aChtYW5pZmVzdCk7XG4gICAgY29uc3QgaXNNYW5pZmVzdEZpbGVFeGlzdHMgPSBhd2FpdCBpc0ZpbGVFeGlzdHMocmVzcG9uc2UpO1xuICAgIGNvbnN0IGlzWWFtbEZpbGUgPSBjaGVja0lmRmlsZUlzWWFtbChyZXNwb25zZSk7XG5cbiAgICBpZiAoIWlzTWFuaWZlc3RGaWxlRXhpc3RzKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihgJHttYW5pZmVzdH0gJHtNQU5JRkVTVF9OT1RfRk9VTkR9YCk7XG4gICAgfVxuXG4gICAgaWYgKCFpc1lhbWxGaWxlKSB7XG4gICAgICB0aHJvdyBuZXcgQ2xpU291cmNlRmlsZUVycm9yKE1BTklGRVNUX0lTX05PVF9ZQU1MKG1hbmlmZXN0KSk7XG4gICAgfVxuXG4gICAgaWYgKGNoZWNrSWZGaWxlSXNZYW1sKG1hbmlmZXN0KSkge1xuICAgICAgbWFuaWZlc3RzV2l0aEZ1bGxQYXRoLnB1c2gocmVzcG9uc2UpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7bWFuaWZlc3RzOiBtYW5pZmVzdHNXaXRoRnVsbFBhdGgsIG91dHB1dCwgbmFtZSwgZGVzY3JpcHRpb259O1xufTtcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ import { IFMergeArgs } from '../types/process-args';
2
+ /**
3
+ * Merges the given manifests in the one file.
4
+ */
5
+ export declare const mergeManifests: (mergeArgs: IFMergeArgs) => Promise<void>;
@@ -0,0 +1,83 @@
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.mergeManifests = void 0;
27
+ const path = __importStar(require("path"));
28
+ const fs_1 = require("../../common/util/fs");
29
+ const load_1 = require("../../common/lib/load");
30
+ const exhaust_1 = require("../../if-run/lib/exhaust");
31
+ /**
32
+ * Merges the given manifests in the one file.
33
+ */
34
+ const mergeManifests = async (mergeArgs) => {
35
+ const { manifests: commandManifests, output, name, description } = mergeArgs;
36
+ let manifests = commandManifests;
37
+ if (commandManifests.length === 1) {
38
+ manifests = await (0, fs_1.getYamlFiles)(commandManifests[0]);
39
+ }
40
+ const context = {
41
+ name: name || 'if-merge',
42
+ description: description || 'merged manifest',
43
+ tags: null,
44
+ initialize: { plugins: {} },
45
+ };
46
+ const tree = await mergeManifestsData(manifests, context);
47
+ await saveMergedManifest(tree, context, output);
48
+ };
49
+ exports.mergeManifests = mergeManifests;
50
+ /**
51
+ * Merges manifests data.
52
+ */
53
+ const mergeManifestsData = async (manifests, context) => {
54
+ const tree = { children: {} };
55
+ for await (const manifest of manifests) {
56
+ const manifestName = (0, fs_1.getFileName)(manifest);
57
+ const { rawManifest } = await (0, load_1.load)(manifest);
58
+ const parentDir = path.basename(path.dirname(manifest));
59
+ const uniqueName = `${parentDir}-${manifestName}`;
60
+ context.tags = Object.assign({}, context.tags, rawManifest.tags);
61
+ context.initialize.plugins = {
62
+ ...context.initialize.plugins,
63
+ ...rawManifest.initialize.plugins,
64
+ };
65
+ Object.keys(rawManifest.tree.children).forEach(child => {
66
+ tree.children[`${child}-${uniqueName}`] = {
67
+ ...rawManifest.tree.children[child],
68
+ };
69
+ });
70
+ }
71
+ return tree;
72
+ };
73
+ /**
74
+ * Saves the merged manifest in the `merged-manifest.yaml` file.
75
+ */
76
+ const saveMergedManifest = async (tree, context, outputPath) => {
77
+ const output = {
78
+ outputPath,
79
+ noOutput: false,
80
+ };
81
+ await (0, exhaust_1.exhaust)(tree, context, output);
82
+ };
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1tZXJnZS91dGlsL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNkI7QUFFN0IsNkNBQStEO0FBRS9ELGdEQUEyQztBQUUzQyxzREFBaUQ7QUFHakQ7O0dBRUc7QUFDSSxNQUFNLGNBQWMsR0FBRyxLQUFLLEVBQUUsU0FBc0IsRUFBRSxFQUFFO0lBQzdELE1BQU0sRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUMsR0FBRyxTQUFTLENBQUM7SUFDM0UsSUFBSSxTQUFTLEdBQUcsZ0JBQWdCLENBQUM7SUFFakMsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ2pDLFNBQVMsR0FBRyxNQUFNLElBQUEsaUJBQVksRUFBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3JEO0lBQ0QsTUFBTSxPQUFPLEdBQUc7UUFDZCxJQUFJLEVBQUUsSUFBSSxJQUFJLFVBQVU7UUFDeEIsV0FBVyxFQUFFLFdBQVcsSUFBSSxpQkFBaUI7UUFDN0MsSUFBSSxFQUFFLElBQUk7UUFDVixVQUFVLEVBQUUsRUFBQyxPQUFPLEVBQUUsRUFBRSxFQUFDO0tBQzFCLENBQUM7SUFDRixNQUFNLElBQUksR0FBRyxNQUFNLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUUxRCxNQUFNLGtCQUFrQixDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDO0FBaEJXLFFBQUEsY0FBYyxrQkFnQnpCO0FBRUY7O0dBRUc7QUFDSCxNQUFNLGtCQUFrQixHQUFHLEtBQUssRUFBRSxTQUFtQixFQUFFLE9BQWdCLEVBQUUsRUFBRTtJQUN6RSxNQUFNLElBQUksR0FBUSxFQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUMsQ0FBQztJQUVqQyxJQUFJLEtBQUssRUFBRSxNQUFNLFFBQVEsSUFBSSxTQUFTLEVBQUU7UUFDdEMsTUFBTSxZQUFZLEdBQUcsSUFBQSxnQkFBVyxFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sRUFBQyxXQUFXLEVBQUMsR0FBRyxNQUFNLElBQUEsV0FBSSxFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sVUFBVSxHQUFHLEdBQUcsU0FBUyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWxELE9BQU8sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUc7WUFDM0IsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU87WUFDN0IsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU87U0FDbEMsQ0FBQztRQUVGLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssSUFBSSxVQUFVLEVBQUUsQ0FBQyxHQUFHO2dCQUN4QyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQzthQUNwQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7S0FDSjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLGtCQUFrQixHQUFHLEtBQUssRUFDOUIsSUFBUyxFQUNULE9BQWdCLEVBQ2hCLFVBQThCLEVBQzlCLEVBQUU7SUFDRixNQUFNLE1BQU0sR0FBRztRQUNiLFVBQVU7UUFDVixRQUFRLEVBQUUsS0FBSztLQUNoQixDQUFDO0lBQ0YsTUFBTSxJQUFBLGlCQUFPLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQge2dldEZpbGVOYW1lLCBnZXRZYW1sRmlsZXN9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2ZzJztcbmltcG9ydCB7Q29udGV4dH0gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGVzL21hbmlmZXN0JztcbmltcG9ydCB7bG9hZH0gZnJvbSAnLi4vLi4vY29tbW9uL2xpYi9sb2FkJztcblxuaW1wb3J0IHtleGhhdXN0fSBmcm9tICcuLi8uLi9pZi1ydW4vbGliL2V4aGF1c3QnO1xuaW1wb3J0IHtJRk1lcmdlQXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuLyoqXG4gKiBNZXJnZXMgdGhlIGdpdmVuIG1hbmlmZXN0cyBpbiB0aGUgb25lIGZpbGUuXG4gKi9cbmV4cG9ydCBjb25zdCBtZXJnZU1hbmlmZXN0cyA9IGFzeW5jIChtZXJnZUFyZ3M6IElGTWVyZ2VBcmdzKSA9PiB7XG4gIGNvbnN0IHttYW5pZmVzdHM6IGNvbW1hbmRNYW5pZmVzdHMsIG91dHB1dCwgbmFtZSwgZGVzY3JpcHRpb259ID0gbWVyZ2VBcmdzO1xuICBsZXQgbWFuaWZlc3RzID0gY29tbWFuZE1hbmlmZXN0cztcblxuICBpZiAoY29tbWFuZE1hbmlmZXN0cy5sZW5ndGggPT09IDEpIHtcbiAgICBtYW5pZmVzdHMgPSBhd2FpdCBnZXRZYW1sRmlsZXMoY29tbWFuZE1hbmlmZXN0c1swXSk7XG4gIH1cbiAgY29uc3QgY29udGV4dCA9IHtcbiAgICBuYW1lOiBuYW1lIHx8ICdpZi1tZXJnZScsXG4gICAgZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uIHx8ICdtZXJnZWQgbWFuaWZlc3QnLFxuICAgIHRhZ3M6IG51bGwsXG4gICAgaW5pdGlhbGl6ZToge3BsdWdpbnM6IHt9fSxcbiAgfTtcbiAgY29uc3QgdHJlZSA9IGF3YWl0IG1lcmdlTWFuaWZlc3RzRGF0YShtYW5pZmVzdHMsIGNvbnRleHQpO1xuXG4gIGF3YWl0IHNhdmVNZXJnZWRNYW5pZmVzdCh0cmVlLCBjb250ZXh0LCBvdXRwdXQpO1xufTtcblxuLyoqXG4gKiBNZXJnZXMgbWFuaWZlc3RzIGRhdGEuXG4gKi9cbmNvbnN0IG1lcmdlTWFuaWZlc3RzRGF0YSA9IGFzeW5jIChtYW5pZmVzdHM6IHN0cmluZ1tdLCBjb250ZXh0OiBDb250ZXh0KSA9PiB7XG4gIGNvbnN0IHRyZWU6IGFueSA9IHtjaGlsZHJlbjoge319O1xuXG4gIGZvciBhd2FpdCAoY29uc3QgbWFuaWZlc3Qgb2YgbWFuaWZlc3RzKSB7XG4gICAgY29uc3QgbWFuaWZlc3ROYW1lID0gZ2V0RmlsZU5hbWUobWFuaWZlc3QpO1xuICAgIGNvbnN0IHtyYXdNYW5pZmVzdH0gPSBhd2FpdCBsb2FkKG1hbmlmZXN0KTtcbiAgICBjb25zdCBwYXJlbnREaXIgPSBwYXRoLmJhc2VuYW1lKHBhdGguZGlybmFtZShtYW5pZmVzdCkpO1xuICAgIGNvbnN0IHVuaXF1ZU5hbWUgPSBgJHtwYXJlbnREaXJ9LSR7bWFuaWZlc3ROYW1lfWA7XG5cbiAgICBjb250ZXh0LnRhZ3MgPSBPYmplY3QuYXNzaWduKHt9LCBjb250ZXh0LnRhZ3MsIHJhd01hbmlmZXN0LnRhZ3MpO1xuICAgIGNvbnRleHQuaW5pdGlhbGl6ZS5wbHVnaW5zID0ge1xuICAgICAgLi4uY29udGV4dC5pbml0aWFsaXplLnBsdWdpbnMsXG4gICAgICAuLi5yYXdNYW5pZmVzdC5pbml0aWFsaXplLnBsdWdpbnMsXG4gICAgfTtcblxuICAgIE9iamVjdC5rZXlzKHJhd01hbmlmZXN0LnRyZWUuY2hpbGRyZW4pLmZvckVhY2goY2hpbGQgPT4ge1xuICAgICAgdHJlZS5jaGlsZHJlbltgJHtjaGlsZH0tJHt1bmlxdWVOYW1lfWBdID0ge1xuICAgICAgICAuLi5yYXdNYW5pZmVzdC50cmVlLmNoaWxkcmVuW2NoaWxkXSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gdHJlZTtcbn07XG5cbi8qKlxuICogU2F2ZXMgdGhlIG1lcmdlZCBtYW5pZmVzdCBpbiB0aGUgYG1lcmdlZC1tYW5pZmVzdC55YW1sYCBmaWxlLlxuICovXG5jb25zdCBzYXZlTWVyZ2VkTWFuaWZlc3QgPSBhc3luYyAoXG4gIHRyZWU6IGFueSxcbiAgY29udGV4dDogQ29udGV4dCxcbiAgb3V0cHV0UGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkXG4pID0+IHtcbiAgY29uc3Qgb3V0cHV0ID0ge1xuICAgIG91dHB1dFBhdGgsXG4gICAgbm9PdXRwdXQ6IGZhbHNlLFxuICB9O1xuICBhd2FpdCBleGhhdXN0KHRyZWUsIGNvbnRleHQsIG91dHB1dCk7XG59O1xuIl19
@@ -0,0 +1,2 @@
1
+ import { CoefficientConfig, ExecutePlugin, PluginParametersMetadata } from '@grnsft/if-core/types';
2
+ export declare const Coefficient: (globalConfig: CoefficientConfig, parametersMetadata: PluginParametersMetadata) => ExecutePlugin;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Coefficient = void 0;
4
+ const zod_1 = require("zod");
5
+ const utils_1 = require("@grnsft/if-core/utils");
6
+ const validations_1 = require("../../../common/util/validations");
7
+ const config_1 = require("../../config");
8
+ const { GlobalConfigError } = utils_1.ERRORS;
9
+ const { MISSING_GLOBAL_CONFIG } = config_1.STRINGS;
10
+ const Coefficient = (globalConfig, parametersMetadata) => {
11
+ const metadata = {
12
+ kind: 'execute',
13
+ inputs: parametersMetadata?.inputs,
14
+ outputs: parametersMetadata?.outputs,
15
+ };
16
+ /**
17
+ * Calculate the product of each input parameter.
18
+ */
19
+ const execute = (inputs) => {
20
+ const safeGlobalConfig = validateGlobalConfig();
21
+ const inputParameter = safeGlobalConfig['input-parameter'];
22
+ const outputParameter = safeGlobalConfig['output-parameter'];
23
+ const coefficient = safeGlobalConfig['coefficient'];
24
+ return inputs.map(input => {
25
+ validateSingleInput(input, inputParameter);
26
+ return {
27
+ ...input,
28
+ [outputParameter]: calculateProduct(input, inputParameter, coefficient),
29
+ };
30
+ });
31
+ };
32
+ /**
33
+ * Checks for required fields in input.
34
+ */
35
+ const validateSingleInput = (input, inputParameter) => {
36
+ const inputData = {
37
+ 'input-parameter': input[inputParameter],
38
+ };
39
+ const validationSchema = zod_1.z.record(zod_1.z.string(), zod_1.z.number());
40
+ (0, validations_1.validate)(validationSchema, inputData);
41
+ return input;
42
+ };
43
+ /**
44
+ * Calculates the product of the energy components.
45
+ */
46
+ const calculateProduct = (input, inputParameter, coefficient) => input[inputParameter] * coefficient;
47
+ /**
48
+ * Checks global config value are valid.
49
+ */
50
+ const validateGlobalConfig = () => {
51
+ if (!globalConfig) {
52
+ throw new GlobalConfigError(MISSING_GLOBAL_CONFIG);
53
+ }
54
+ const globalConfigSchema = zod_1.z.object({
55
+ coefficient: zod_1.z.number(),
56
+ 'input-parameter': zod_1.z.string().min(1),
57
+ 'output-parameter': zod_1.z.string().min(1),
58
+ });
59
+ return (0, validations_1.validate)(globalConfigSchema, globalConfig);
60
+ };
61
+ return {
62
+ metadata,
63
+ execute,
64
+ };
65
+ };
66
+ exports.Coefficient = Coefficient;
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaWYtcnVuL2J1aWx0aW5zL2NvZWZmaWNpZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUFzQjtBQUN0QixpREFBNkM7QUFRN0Msa0VBQTBEO0FBRTFELHlDQUFxQztBQUVyQyxNQUFNLEVBQUMsaUJBQWlCLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFDbkMsTUFBTSxFQUFDLHFCQUFxQixFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUVqQyxNQUFNLFdBQVcsR0FBRyxDQUN6QixZQUErQixFQUMvQixrQkFBNEMsRUFDN0IsRUFBRTtJQUNqQixNQUFNLFFBQVEsR0FBRztRQUNmLElBQUksRUFBRSxTQUFTO1FBQ2YsTUFBTSxFQUFFLGtCQUFrQixFQUFFLE1BQU07UUFDbEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE9BQU87S0FDckMsQ0FBQztJQUVGOztPQUVHO0lBQ0gsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFzQixFQUFFLEVBQUU7UUFDekMsTUFBTSxnQkFBZ0IsR0FBRyxvQkFBb0IsRUFBRSxDQUFDO1FBQ2hELE1BQU0sY0FBYyxHQUFHLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDM0QsTUFBTSxlQUFlLEdBQUcsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM3RCxNQUFNLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVwRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsbUJBQW1CLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBRTNDLE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLENBQUMsZUFBZSxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxXQUFXLENBQUM7YUFDeEUsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBRUY7O09BRUc7SUFDSCxNQUFNLG1CQUFtQixHQUFHLENBQUMsS0FBbUIsRUFBRSxjQUFzQixFQUFFLEVBQUU7UUFDMUUsTUFBTSxTQUFTLEdBQUc7WUFDaEIsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQztTQUN6QyxDQUFDO1FBQ0YsTUFBTSxnQkFBZ0IsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMxRCxJQUFBLHNCQUFRLEVBQUMsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFdEMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUM7SUFFRjs7T0FFRztJQUNILE1BQU0sZ0JBQWdCLEdBQUcsQ0FDdkIsS0FBbUIsRUFDbkIsY0FBc0IsRUFDdEIsV0FBbUIsRUFDbkIsRUFBRSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxXQUFXLENBQUM7SUFFekM7O09BRUc7SUFDSCxNQUFNLG9CQUFvQixHQUFHLEdBQUcsRUFBRTtRQUNoQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsTUFBTSxrQkFBa0IsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO1lBQ2xDLFdBQVcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLGlCQUFpQixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLGtCQUFrQixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3RDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBQSxzQkFBUSxFQUNiLGtCQUFrQixFQUNsQixZQUFZLENBQ2IsQ0FBQztJQUNKLENBQUMsQ0FBQztJQUVGLE9BQU87UUFDTCxRQUFRO1FBQ1IsT0FBTztLQUNSLENBQUM7QUFDSixDQUFDLENBQUM7QUEzRVcsUUFBQSxXQUFXLGVBMkV0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7en0gZnJvbSAnem9kJztcbmltcG9ydCB7RVJST1JTfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdXRpbHMnO1xuaW1wb3J0IHtcbiAgQ29lZmZpY2llbnRDb25maWcsXG4gIEV4ZWN1dGVQbHVnaW4sXG4gIFBsdWdpblBhcmFtZXRlcnNNZXRhZGF0YSxcbiAgUGx1Z2luUGFyYW1zLFxufSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdHlwZXMnO1xuXG5pbXBvcnQge3ZhbGlkYXRlfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbC92YWxpZGF0aW9ucyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vLi4vY29uZmlnJztcblxuY29uc3Qge0dsb2JhbENvbmZpZ0Vycm9yfSA9IEVSUk9SUztcbmNvbnN0IHtNSVNTSU5HX0dMT0JBTF9DT05GSUd9ID0gU1RSSU5HUztcblxuZXhwb3J0IGNvbnN0IENvZWZmaWNpZW50ID0gKFxuICBnbG9iYWxDb25maWc6IENvZWZmaWNpZW50Q29uZmlnLFxuICBwYXJhbWV0ZXJzTWV0YWRhdGE6IFBsdWdpblBhcmFtZXRlcnNNZXRhZGF0YVxuKTogRXhlY3V0ZVBsdWdpbiA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhID0ge1xuICAgIGtpbmQ6ICdleGVjdXRlJyxcbiAgICBpbnB1dHM6IHBhcmFtZXRlcnNNZXRhZGF0YT8uaW5wdXRzLFxuICAgIG91dHB1dHM6IHBhcmFtZXRlcnNNZXRhZGF0YT8ub3V0cHV0cyxcbiAgfTtcblxuICAvKipcbiAgICogQ2FsY3VsYXRlIHRoZSBwcm9kdWN0IG9mIGVhY2ggaW5wdXQgcGFyYW1ldGVyLlxuICAgKi9cbiAgY29uc3QgZXhlY3V0ZSA9IChpbnB1dHM6IFBsdWdpblBhcmFtc1tdKSA9PiB7XG4gICAgY29uc3Qgc2FmZUdsb2JhbENvbmZpZyA9IHZhbGlkYXRlR2xvYmFsQ29uZmlnKCk7XG4gICAgY29uc3QgaW5wdXRQYXJhbWV0ZXIgPSBzYWZlR2xvYmFsQ29uZmlnWydpbnB1dC1wYXJhbWV0ZXInXTtcbiAgICBjb25zdCBvdXRwdXRQYXJhbWV0ZXIgPSBzYWZlR2xvYmFsQ29uZmlnWydvdXRwdXQtcGFyYW1ldGVyJ107XG4gICAgY29uc3QgY29lZmZpY2llbnQgPSBzYWZlR2xvYmFsQ29uZmlnWydjb2VmZmljaWVudCddO1xuXG4gICAgcmV0dXJuIGlucHV0cy5tYXAoaW5wdXQgPT4ge1xuICAgICAgdmFsaWRhdGVTaW5nbGVJbnB1dChpbnB1dCwgaW5wdXRQYXJhbWV0ZXIpO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5pbnB1dCxcbiAgICAgICAgW291dHB1dFBhcmFtZXRlcl06IGNhbGN1bGF0ZVByb2R1Y3QoaW5wdXQsIGlucHV0UGFyYW1ldGVyLCBjb2VmZmljaWVudCksXG4gICAgICB9O1xuICAgIH0pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBDaGVja3MgZm9yIHJlcXVpcmVkIGZpZWxkcyBpbiBpbnB1dC5cbiAgICovXG4gIGNvbnN0IHZhbGlkYXRlU2luZ2xlSW5wdXQgPSAoaW5wdXQ6IFBsdWdpblBhcmFtcywgaW5wdXRQYXJhbWV0ZXI6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGlucHV0RGF0YSA9IHtcbiAgICAgICdpbnB1dC1wYXJhbWV0ZXInOiBpbnB1dFtpbnB1dFBhcmFtZXRlcl0sXG4gICAgfTtcbiAgICBjb25zdCB2YWxpZGF0aW9uU2NoZW1hID0gei5yZWNvcmQoei5zdHJpbmcoKSwgei5udW1iZXIoKSk7XG4gICAgdmFsaWRhdGUodmFsaWRhdGlvblNjaGVtYSwgaW5wdXREYXRhKTtcblxuICAgIHJldHVybiBpbnB1dDtcbiAgfTtcblxuICAvKipcbiAgICogQ2FsY3VsYXRlcyB0aGUgcHJvZHVjdCBvZiB0aGUgZW5lcmd5IGNvbXBvbmVudHMuXG4gICAqL1xuICBjb25zdCBjYWxjdWxhdGVQcm9kdWN0ID0gKFxuICAgIGlucHV0OiBQbHVnaW5QYXJhbXMsXG4gICAgaW5wdXRQYXJhbWV0ZXI6IHN0cmluZyxcbiAgICBjb2VmZmljaWVudDogbnVtYmVyXG4gICkgPT4gaW5wdXRbaW5wdXRQYXJhbWV0ZXJdICogY29lZmZpY2llbnQ7XG5cbiAgLyoqXG4gICAqIENoZWNrcyBnbG9iYWwgY29uZmlnIHZhbHVlIGFyZSB2YWxpZC5cbiAgICovXG4gIGNvbnN0IHZhbGlkYXRlR2xvYmFsQ29uZmlnID0gKCkgPT4ge1xuICAgIGlmICghZ2xvYmFsQ29uZmlnKSB7XG4gICAgICB0aHJvdyBuZXcgR2xvYmFsQ29uZmlnRXJyb3IoTUlTU0lOR19HTE9CQUxfQ09ORklHKTtcbiAgICB9XG5cbiAgICBjb25zdCBnbG9iYWxDb25maWdTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgICBjb2VmZmljaWVudDogei5udW1iZXIoKSxcbiAgICAgICdpbnB1dC1wYXJhbWV0ZXInOiB6LnN0cmluZygpLm1pbigxKSxcbiAgICAgICdvdXRwdXQtcGFyYW1ldGVyJzogei5zdHJpbmcoKS5taW4oMSksXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdmFsaWRhdGU8ei5pbmZlcjx0eXBlb2YgZ2xvYmFsQ29uZmlnU2NoZW1hPj4oXG4gICAgICBnbG9iYWxDb25maWdTY2hlbWEsXG4gICAgICBnbG9iYWxDb25maWdcbiAgICApO1xuICB9O1xuXG4gIHJldHVybiB7XG4gICAgbWV0YWRhdGEsXG4gICAgZXhlY3V0ZSxcbiAgfTtcbn07XG4iXX0=
@@ -0,0 +1,2 @@
1
+ import { ExecutePlugin, PluginParametersMetadata } from '@grnsft/if-core/types';
2
+ export declare const Copy: (globalConfig: Record<string, any>, parametersMetadata: PluginParametersMetadata) => ExecutePlugin;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Copy = void 0;
4
+ const zod_1 = require("zod");
5
+ const utils_1 = require("@grnsft/if-core/utils");
6
+ const validations_1 = require("../../../common/util/validations");
7
+ const config_1 = require("../../config");
8
+ const { MISSING_GLOBAL_CONFIG } = config_1.STRINGS;
9
+ const { GlobalConfigError } = utils_1.ERRORS;
10
+ // keep-existing: true/false (whether to remove the parameter you are copying from)
11
+ // from-param: the parameter you are copying from (e.g. cpu/name)
12
+ // to-field: the parameter you are copying to (e.g. cpu/processor-name)
13
+ const Copy = (globalConfig, parametersMetadata) => {
14
+ const metadata = {
15
+ kind: 'execute',
16
+ inputs: parametersMetadata?.inputs,
17
+ outputs: parametersMetadata?.outputs,
18
+ };
19
+ /**
20
+ * Checks global config value are valid.
21
+ */
22
+ const validateGlobalConfig = () => {
23
+ if (!globalConfig) {
24
+ throw new GlobalConfigError(MISSING_GLOBAL_CONFIG);
25
+ }
26
+ const globalConfigSchema = zod_1.z.object({
27
+ 'keep-existing': zod_1.z.boolean(),
28
+ from: zod_1.z.string().min(1),
29
+ to: zod_1.z.string().min(1),
30
+ });
31
+ return (0, validations_1.validate)(globalConfigSchema, globalConfig);
32
+ };
33
+ /**
34
+ * Checks for required fields in input.
35
+ */
36
+ const validateSingleInput = (input, inputParameters) => {
37
+ const inputData = inputParameters.reduce((acc, param) => {
38
+ acc[param] = input[param];
39
+ return acc;
40
+ }, {});
41
+ const validationSchema = zod_1.z.record(zod_1.z.string(), zod_1.z.string());
42
+ (0, validations_1.validate)(validationSchema, inputData);
43
+ return input;
44
+ };
45
+ const execute = (inputs) => {
46
+ const safeGlobalConfig = validateGlobalConfig();
47
+ const keepExisting = safeGlobalConfig['keep-existing'] === true;
48
+ const from = safeGlobalConfig['from'];
49
+ const to = safeGlobalConfig['to'];
50
+ return inputs.map(input => {
51
+ const safeInput = validateSingleInput(input, [from]);
52
+ const outputValue = safeInput[from];
53
+ if (safeInput[from]) {
54
+ if (!keepExisting) {
55
+ delete safeInput[from];
56
+ }
57
+ }
58
+ return {
59
+ ...safeInput,
60
+ [to]: outputValue,
61
+ };
62
+ });
63
+ };
64
+ return {
65
+ metadata,
66
+ execute,
67
+ };
68
+ };
69
+ exports.Copy = Copy;
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaWYtcnVuL2J1aWx0aW5zL2NvcHktcGFyYW0vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXNCO0FBQ3RCLGlEQUE2QztBQU83QyxrRUFBMEQ7QUFFMUQseUNBQXFDO0FBRXJDLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFDeEMsTUFBTSxFQUFDLGlCQUFpQixFQUFDLEdBQUcsY0FBTSxDQUFDO0FBQ25DLHFGQUFxRjtBQUNyRixtRUFBbUU7QUFDbkUseUVBQXlFO0FBRWxFLE1BQU0sSUFBSSxHQUFHLENBQ2xCLFlBQWlDLEVBQ2pDLGtCQUE0QyxFQUM3QixFQUFFO0lBQ2pCLE1BQU0sUUFBUSxHQUFHO1FBQ2YsSUFBSSxFQUFFLFNBQVM7UUFDZixNQUFNLEVBQUUsa0JBQWtCLEVBQUUsTUFBTTtRQUNsQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsT0FBTztLQUNyQyxDQUFDO0lBRUY7O09BRUc7SUFDSCxNQUFNLG9CQUFvQixHQUFHLEdBQUcsRUFBRTtRQUNoQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ2pCLE1BQU0sSUFBSSxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsTUFBTSxrQkFBa0IsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO1lBQ2xDLGVBQWUsRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFO1lBQzVCLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN2QixFQUFFLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDdEIsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFBLHNCQUFRLEVBQ2Isa0JBQWtCLEVBQ2xCLFlBQVksQ0FDYixDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUY7O09BRUc7SUFDSCxNQUFNLG1CQUFtQixHQUFHLENBQzFCLEtBQW1CLEVBQ25CLGVBQXlCLEVBQ3pCLEVBQUU7UUFDRixNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUN0QyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNiLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFMUIsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQ0QsRUFBNEIsQ0FDN0IsQ0FBQztRQUVGLE1BQU0sZ0JBQWdCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFFMUQsSUFBQSxzQkFBUSxFQUFDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRXRDLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0lBRUYsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFzQixFQUFFLEVBQUU7UUFDekMsTUFBTSxnQkFBZ0IsR0FBRyxvQkFBb0IsRUFBRSxDQUFDO1FBQ2hELE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxLQUFLLElBQUksQ0FBQztRQUNoRSxNQUFNLElBQUksR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxNQUFNLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVsQyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUVyRCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxZQUFZLEVBQUU7b0JBQ2pCLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUN4QjthQUNGO1lBRUQsT0FBTztnQkFDTCxHQUFHLFNBQVM7Z0JBQ1osQ0FBQyxFQUFFLENBQUMsRUFBRSxXQUFXO2FBQ2xCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztJQUVGLE9BQU87UUFDTCxRQUFRO1FBQ1IsT0FBTztLQUNSLENBQUM7QUFDSixDQUFDLENBQUM7QUFoRlcsUUFBQSxJQUFJLFFBZ0ZmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5pbXBvcnQge1xuICBFeGVjdXRlUGx1Z2luLFxuICBQbHVnaW5QYXJhbWV0ZXJzTWV0YWRhdGEsXG4gIFBsdWdpblBhcmFtcyxcbn0gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3R5cGVzJztcblxuaW1wb3J0IHt2YWxpZGF0ZX0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWwvdmFsaWRhdGlvbnMnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uLy4uL2NvbmZpZyc7XG5cbmNvbnN0IHtNSVNTSU5HX0dMT0JBTF9DT05GSUd9ID0gU1RSSU5HUztcbmNvbnN0IHtHbG9iYWxDb25maWdFcnJvcn0gPSBFUlJPUlM7XG4vLyAgIGtlZXAtZXhpc3Rpbmc6IHRydWUvZmFsc2UgKHdoZXRoZXIgdG8gcmVtb3ZlIHRoZSBwYXJhbWV0ZXIgeW91IGFyZSBjb3B5aW5nIGZyb20pXG4vLyAgIGZyb20tcGFyYW06IHRoZSBwYXJhbWV0ZXIgeW91IGFyZSBjb3B5aW5nIGZyb20gKGUuZy4gY3B1L25hbWUpXG4vLyAgIHRvLWZpZWxkOiB0aGUgcGFyYW1ldGVyIHlvdSBhcmUgY29weWluZyB0byAoZS5nLiBjcHUvcHJvY2Vzc29yLW5hbWUpXG5cbmV4cG9ydCBjb25zdCBDb3B5ID0gKFxuICBnbG9iYWxDb25maWc6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIHBhcmFtZXRlcnNNZXRhZGF0YTogUGx1Z2luUGFyYW1ldGVyc01ldGFkYXRhXG4pOiBFeGVjdXRlUGx1Z2luID0+IHtcbiAgY29uc3QgbWV0YWRhdGEgPSB7XG4gICAga2luZDogJ2V4ZWN1dGUnLFxuICAgIGlucHV0czogcGFyYW1ldGVyc01ldGFkYXRhPy5pbnB1dHMsXG4gICAgb3V0cHV0czogcGFyYW1ldGVyc01ldGFkYXRhPy5vdXRwdXRzLFxuICB9O1xuXG4gIC8qKlxuICAgKiBDaGVja3MgZ2xvYmFsIGNvbmZpZyB2YWx1ZSBhcmUgdmFsaWQuXG4gICAqL1xuICBjb25zdCB2YWxpZGF0ZUdsb2JhbENvbmZpZyA9ICgpID0+IHtcbiAgICBpZiAoIWdsb2JhbENvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IEdsb2JhbENvbmZpZ0Vycm9yKE1JU1NJTkdfR0xPQkFMX0NPTkZJRyk7XG4gICAgfVxuXG4gICAgY29uc3QgZ2xvYmFsQ29uZmlnU2NoZW1hID0gei5vYmplY3Qoe1xuICAgICAgJ2tlZXAtZXhpc3RpbmcnOiB6LmJvb2xlYW4oKSxcbiAgICAgIGZyb206IHouc3RyaW5nKCkubWluKDEpLFxuICAgICAgdG86IHouc3RyaW5nKCkubWluKDEpLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHZhbGlkYXRlPHouaW5mZXI8dHlwZW9mIGdsb2JhbENvbmZpZ1NjaGVtYT4+KFxuICAgICAgZ2xvYmFsQ29uZmlnU2NoZW1hLFxuICAgICAgZ2xvYmFsQ29uZmlnXG4gICAgKTtcbiAgfTtcblxuICAvKipcbiAgICogQ2hlY2tzIGZvciByZXF1aXJlZCBmaWVsZHMgaW4gaW5wdXQuXG4gICAqL1xuICBjb25zdCB2YWxpZGF0ZVNpbmdsZUlucHV0ID0gKFxuICAgIGlucHV0OiBQbHVnaW5QYXJhbXMsXG4gICAgaW5wdXRQYXJhbWV0ZXJzOiBzdHJpbmdbXVxuICApID0+IHtcbiAgICBjb25zdCBpbnB1dERhdGEgPSBpbnB1dFBhcmFtZXRlcnMucmVkdWNlKFxuICAgICAgKGFjYywgcGFyYW0pID0+IHtcbiAgICAgICAgYWNjW3BhcmFtXSA9IGlucHV0W3BhcmFtXTtcblxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSxcbiAgICAgIHt9IGFzIFJlY29yZDxzdHJpbmcsIHN0cmluZz5cbiAgICApO1xuXG4gICAgY29uc3QgdmFsaWRhdGlvblNjaGVtYSA9IHoucmVjb3JkKHouc3RyaW5nKCksIHouc3RyaW5nKCkpO1xuXG4gICAgdmFsaWRhdGUodmFsaWRhdGlvblNjaGVtYSwgaW5wdXREYXRhKTtcblxuICAgIHJldHVybiBpbnB1dDtcbiAgfTtcblxuICBjb25zdCBleGVjdXRlID0gKGlucHV0czogUGx1Z2luUGFyYW1zW10pID0+IHtcbiAgICBjb25zdCBzYWZlR2xvYmFsQ29uZmlnID0gdmFsaWRhdGVHbG9iYWxDb25maWcoKTtcbiAgICBjb25zdCBrZWVwRXhpc3RpbmcgPSBzYWZlR2xvYmFsQ29uZmlnWydrZWVwLWV4aXN0aW5nJ10gPT09IHRydWU7XG4gICAgY29uc3QgZnJvbSA9IHNhZmVHbG9iYWxDb25maWdbJ2Zyb20nXTtcbiAgICBjb25zdCB0byA9IHNhZmVHbG9iYWxDb25maWdbJ3RvJ107XG5cbiAgICByZXR1cm4gaW5wdXRzLm1hcChpbnB1dCA9PiB7XG4gICAgICBjb25zdCBzYWZlSW5wdXQgPSB2YWxpZGF0ZVNpbmdsZUlucHV0KGlucHV0LCBbZnJvbV0pO1xuXG4gICAgICBjb25zdCBvdXRwdXRWYWx1ZSA9IHNhZmVJbnB1dFtmcm9tXTtcbiAgICAgIGlmIChzYWZlSW5wdXRbZnJvbV0pIHtcbiAgICAgICAgaWYgKCFrZWVwRXhpc3RpbmcpIHtcbiAgICAgICAgICBkZWxldGUgc2FmZUlucHV0W2Zyb21dO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnNhZmVJbnB1dCwgLy8gbmVlZCB0byByZXR1cm4gb3Igd2hhdCB5b3UgcHJvdmlkZSB3b24ndCBiZSBvdXRwdXR0ZWQsIGRvbid0IGJlIGV2aWwhXG4gICAgICAgIFt0b106IG91dHB1dFZhbHVlLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIG1ldGFkYXRhLFxuICAgIGV4ZWN1dGUsXG4gIH07XG59O1xuIl19
@@ -0,0 +1,2 @@
1
+ import { ExecutePlugin, PluginParametersMetadata } from '@grnsft/if-core/types';
2
+ export declare const CSVLookup: (globalConfig: any, parametersMetadata: PluginParametersMetadata) => ExecutePlugin;