@grnsft/if 0.5.0 → 0.6.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (451) 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 +8 -0
  6. package/build/common/config/strings.js +16 -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 +12 -0
  24. package/build/if-check/config/strings.js +16 -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 +37 -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 +4 -0
  39. package/build/if-csv/config/strings.js +8 -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 +51 -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-run/builtins/coefficient/index.d.ts +2 -0
  86. package/build/if-run/builtins/coefficient/index.js +67 -0
  87. package/build/if-run/builtins/copy-param/index.d.ts +2 -0
  88. package/build/if-run/builtins/copy-param/index.js +70 -0
  89. package/build/if-run/builtins/csv-lookup/index.d.ts +2 -0
  90. package/build/if-run/builtins/csv-lookup/index.js +190 -0
  91. package/build/if-run/builtins/divide/index.d.ts +2 -0
  92. package/build/if-run/builtins/divide/index.js +80 -0
  93. package/build/if-run/builtins/exponent/index.d.ts +2 -0
  94. package/build/if-run/builtins/exponent/index.js +60 -0
  95. package/build/{builtins → if-run/builtins}/export-log.d.ts +1 -1
  96. package/build/{builtins → if-run/builtins}/export-log.js +1 -1
  97. package/build/{builtins → if-run/builtins}/export-yaml.d.ts +1 -1
  98. package/build/if-run/builtins/export-yaml.js +30 -0
  99. package/build/{builtins → if-run/builtins}/index.d.ts +1 -2
  100. package/build/{builtins → if-run/builtins}/index.js +4 -6
  101. package/build/if-run/builtins/interpolation/index.d.ts +2 -0
  102. package/build/if-run/builtins/interpolation/index.js +151 -0
  103. package/build/if-run/builtins/mock-observations/helpers/common-generator.js +29 -0
  104. package/build/if-run/builtins/mock-observations/helpers/rand-int-generator.js +48 -0
  105. package/build/if-run/builtins/mock-observations/index.d.ts +2 -0
  106. package/build/if-run/builtins/mock-observations/index.js +116 -0
  107. package/build/if-run/builtins/mock-observations/interfaces/index.js +3 -0
  108. package/build/if-run/builtins/multiply/index.d.ts +2 -0
  109. package/build/if-run/builtins/multiply/index.js +59 -0
  110. package/build/if-run/builtins/regex/index.d.ts +2 -0
  111. package/build/if-run/builtins/regex/index.js +76 -0
  112. package/build/if-run/builtins/sci/config.js +44 -0
  113. package/build/if-run/builtins/sci/index.d.ts +2 -0
  114. package/build/if-run/builtins/sci/index.js +92 -0
  115. package/build/if-run/builtins/sci-embodied/index.d.ts +2 -0
  116. package/build/if-run/builtins/sci-embodied/index.js +156 -0
  117. package/build/if-run/builtins/shell/index.d.ts +2 -0
  118. package/build/if-run/builtins/shell/index.js +60 -0
  119. package/build/if-run/builtins/subtract/index.d.ts +2 -0
  120. package/build/if-run/builtins/subtract/index.js +61 -0
  121. package/build/if-run/builtins/sum/index.d.ts +2 -0
  122. package/build/if-run/builtins/sum/index.js +66 -0
  123. package/build/if-run/builtins/time-sync/index.d.ts +17 -0
  124. package/build/if-run/builtins/time-sync/index.js +339 -0
  125. package/build/if-run/config/config.d.ts +9 -0
  126. package/build/if-run/config/config.js +73 -0
  127. package/build/if-run/config/index.d.ts +2 -0
  128. package/build/if-run/config/index.js +8 -0
  129. package/build/{config → if-run/config}/strings.d.ts +28 -54
  130. package/build/if-run/config/strings.js +76 -0
  131. package/build/if-run/index.d.ts +2 -0
  132. package/build/if-run/index.js +63 -0
  133. package/build/if-run/lib/aggregate.d.ts +15 -0
  134. package/build/if-run/lib/aggregate.js +123 -0
  135. package/build/if-run/lib/compute.js +136 -0
  136. package/build/{lib → if-run/lib}/environment.d.ts +1 -1
  137. package/build/if-run/lib/environment.js +75 -0
  138. package/build/{lib → if-run/lib}/exhaust.d.ts +1 -1
  139. package/build/if-run/lib/exhaust.js +27 -0
  140. package/build/if-run/lib/explain.d.ts +9 -0
  141. package/build/if-run/lib/explain.js +43 -0
  142. package/build/if-run/lib/initialize.d.ts +6 -0
  143. package/build/if-run/lib/initialize.js +109 -0
  144. package/build/if-run/lib/regroup.d.ts +5 -0
  145. package/build/if-run/lib/regroup.js +64 -0
  146. package/build/if-run/types/aggregation.d.ts +5 -0
  147. package/build/if-run/types/aggregation.js +6 -0
  148. package/build/{types → if-run/types}/compute.d.ts +12 -8
  149. package/build/if-run/types/compute.js +3 -0
  150. package/build/if-run/types/environment.js +3 -0
  151. package/build/{types → if-run/types}/exhaust-plugin-interface.d.ts +1 -1
  152. package/build/if-run/types/exhaust-plugin-interface.js +3 -0
  153. package/build/if-run/types/explain.d.ts +10 -0
  154. package/build/if-run/types/explain.js +3 -0
  155. package/build/if-run/types/interface.d.ts +3 -0
  156. package/build/if-run/types/interface.js +6 -0
  157. package/build/if-run/types/plugin-storage.js +3 -0
  158. package/build/if-run/types/process-args.d.ts +25 -0
  159. package/build/if-run/types/process-args.js +3 -0
  160. package/build/if-run/types/time-sync.js +3 -0
  161. package/build/{util → if-run/util}/aggregation-helper.d.ts +2 -1
  162. package/build/if-run/util/aggregation-helper.js +47 -0
  163. package/build/if-run/util/args.d.ts +9 -0
  164. package/build/if-run/util/args.js +60 -0
  165. package/build/if-run/util/helpers.d.ts +14 -0
  166. package/build/if-run/util/helpers.js +57 -0
  167. package/build/if-run/util/log-memoize.js +19 -0
  168. package/build/if-run/util/os-checker.js +97 -0
  169. package/build/{util → if-run/util}/plugin-storage.d.ts +1 -1
  170. package/build/if-run/util/plugin-storage.js +34 -0
  171. package/jest.config.js +2 -6
  172. package/manifests/examples/builtins/coefficient/failure-invalid-config-input-param.yml +2 -2
  173. package/manifests/examples/builtins/coefficient/failure-output-param-is-null.yaml +3 -3
  174. package/manifests/examples/builtins/coefficient/success.yml +2 -2
  175. package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +3 -3
  176. package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +3 -3
  177. package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yml +3 -3
  178. package/manifests/examples/builtins/csv-lookup/cloud-metadata/success.yml +3 -3
  179. package/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-column.yml +3 -3
  180. package/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-output.yml +3 -3
  181. package/manifests/examples/builtins/csv-lookup/region-metadata/success-renaming.yml +4 -4
  182. package/manifests/examples/builtins/csv-lookup/region-metadata/success.yml +3 -3
  183. package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-missing-input-param.yml +2 -2
  184. package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yml +2 -2
  185. package/manifests/examples/builtins/csv-lookup/tdp-finder/success.yml +2 -2
  186. package/manifests/examples/builtins/divide/failure-denominator-equal-zero.yml +4 -4
  187. package/manifests/examples/builtins/divide/failure-invalid-config-denominator.yml +5 -5
  188. package/manifests/examples/builtins/divide/failure-missing-numerator.yml +4 -4
  189. package/manifests/examples/builtins/divide/success.yml +4 -6
  190. package/manifests/examples/builtins/exponent/success.yml +5 -7
  191. package/manifests/examples/builtins/interpolation/interpolation.yml +2 -2
  192. package/manifests/examples/builtins/interpolation/success.yml +2 -1
  193. package/manifests/examples/builtins/mock-observations/failure-invalid-config-cpu-range.yml +2 -2
  194. package/manifests/examples/builtins/mock-observations/failure-invalid-memory-utilization-range.yml +2 -2
  195. package/manifests/examples/builtins/mock-observations/failure-missing-timestamp-from-param.yml +2 -2
  196. package/manifests/examples/builtins/mock-observations/success.yml +2 -2
  197. package/manifests/examples/builtins/multiply/failure-input-parameter-is-missing.yml +2 -4
  198. package/manifests/examples/builtins/multiply/success-with-multiple-inputs.yml +2 -4
  199. package/manifests/examples/builtins/multiply/success.yml +3 -4
  200. package/manifests/examples/builtins/regex/failure-missing-input-param.yml +2 -4
  201. package/manifests/examples/builtins/regex/failure-not-matching-with-regex.yml +2 -4
  202. package/manifests/examples/builtins/regex/success.yml +2 -4
  203. package/manifests/examples/builtins/sci/failure-invalid-config-value.yml +2 -2
  204. package/manifests/examples/builtins/sci/failure-missing-input-param.yml +3 -2
  205. package/manifests/examples/builtins/sci/success.yml +2 -3
  206. package/manifests/examples/builtins/sci-embodied/failure-invalid-default-emission-value.yml +3 -3
  207. package/manifests/examples/builtins/sci-embodied/failure-missing-expected-lifespan.yml +2 -2
  208. package/manifests/examples/builtins/sci-embodied/success.yml +2 -2
  209. package/manifests/examples/builtins/shell/failure-invalid-command.yml +2 -2
  210. package/manifests/examples/builtins/shell/success.yml +2 -1
  211. package/manifests/examples/builtins/subtract/success.yml +6 -8
  212. package/manifests/examples/builtins/sum/failure-missing-input-param.yml +2 -4
  213. package/manifests/examples/builtins/sum/failure-missing-output-param.yml +3 -5
  214. package/manifests/examples/builtins/sum/success.yml +2 -4
  215. package/manifests/examples/builtins/time-sync/failure-config-start-later-end.yml +3 -3
  216. package/manifests/examples/builtins/time-sync/failure-missing-global-config.yml +3 -3
  217. package/manifests/examples/builtins/time-sync/success.yml +2 -2
  218. package/manifests/examples/{builtins/groupby/failure-invalid-config-group.yml → features/regroup/failure-invalid-regroup.yml} +4 -11
  219. package/manifests/examples/{builtins/groupby → features/regroup}/failure-missing-cloud-instance-type.yml +5 -12
  220. package/manifests/examples/{builtins/groupby → features/regroup}/success.yml +4 -11
  221. package/manifests/examples/pipelines/generics.yml +12 -13
  222. package/manifests/examples/pipelines/instance-metadata.yml +4 -5
  223. package/manifests/examples/pipelines/nesting.yml +157 -50
  224. package/manifests/examples/pipelines/outputs-if-diff/pipeline-with-aggregate.yaml +997 -0
  225. package/manifests/examples/pipelines/outputs-if-diff/pipeline-with-mocks.yaml +1059 -0
  226. package/manifests/examples/pipelines/pipeline-teads-sci.yml +11 -11
  227. package/manifests/examples/pipelines/pipeline-with-aggregate.yml +114 -37
  228. package/manifests/examples/pipelines/pipeline-with-mocks.yml +193 -103
  229. package/manifests/examples/pipelines/scenario-1.yml +34 -0
  230. package/manifests/examples/pipelines/scenario-2.yml +52 -0
  231. package/manifests/examples/pipelines/scenario-3.yml +86 -0
  232. package/manifests/examples/pipelines/scenario-4.yml +46 -0
  233. package/manifests/examples/pipelines/scenario-5.yml +46 -0
  234. package/manifests/examples/pipelines/sci.yml +15 -17
  235. package/manifests/examples/pipelines/teads-curve.yml +7 -6
  236. package/manifests/examples/pipelines/zeros.yml +15 -16
  237. package/manifests/outputs/bugs/aggregation-error-wrong-metric.yaml +51 -59
  238. package/manifests/outputs/bugs/input-error-missing-duration.yaml +14 -16
  239. package/manifests/outputs/bugs/mock-observations-failure-duration-is-zero.yaml +14 -16
  240. package/manifests/outputs/bugs/pipeline-error-naming-mismatch.yaml +14 -16
  241. package/manifests/outputs/bugs/pipeline-error-uninitialized-plugin.yaml +15 -17
  242. package/manifests/outputs/bugs/pipeline-ordering-error.yaml +23 -26
  243. package/manifests/outputs/bugs/sci-embodied-missing-resources-total.yaml +13 -14
  244. package/manifests/outputs/{plugins → builtins}/coefficient/failure-invalid-config-input-param.yaml +13 -17
  245. package/manifests/outputs/{plugins → builtins}/coefficient/failure-output-param-is-null.yaml +13 -17
  246. package/manifests/outputs/{plugins → builtins}/coefficient/success.yaml +11 -16
  247. package/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +76 -0
  248. package/manifests/outputs/{plugins → builtins}/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yaml +16 -19
  249. package/manifests/outputs/{plugins → builtins}/csv-lookup/cloud-metadata/success.yaml +16 -19
  250. package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/failure-missing-column.yaml +14 -15
  251. package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/failure-missing-output.yaml +13 -15
  252. package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/success-renaming.yaml +13 -15
  253. package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/success.yaml +14 -16
  254. package/manifests/outputs/{plugins → builtins}/csv-lookup/tdp-finder/failure-missing-input-param.yaml +13 -16
  255. package/manifests/outputs/{plugins → builtins}/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yaml +13 -15
  256. package/manifests/outputs/{plugins → builtins}/csv-lookup/tdp-finder/success.yaml +13 -15
  257. package/manifests/outputs/{plugins → builtins}/divide/failure-invalid-config-denominator.yaml +13 -17
  258. package/manifests/outputs/{plugins → builtins}/divide/failure-missing-numerator.yaml +13 -15
  259. package/manifests/outputs/{plugins → builtins}/divide/success-denominator-equal-zero.yaml +14 -18
  260. package/manifests/outputs/{plugins → builtins}/divide/success.yaml +14 -18
  261. package/manifests/outputs/{plugins → builtins}/exponent/success.yaml +13 -17
  262. package/manifests/outputs/{plugins → builtins}/interpolation/interpolation.yaml +14 -16
  263. package/manifests/outputs/{plugins → builtins}/interpolation/success.yaml +14 -16
  264. package/manifests/outputs/{plugins → builtins}/mock-observations/failure-invalid-config-cpu-range.yaml +13 -15
  265. package/manifests/outputs/{plugins → builtins}/mock-observations/failure-invalid-memory-utilization-range.yaml +13 -15
  266. package/manifests/outputs/{plugins → builtins}/mock-observations/failure-missing-timestamp-from-param.yaml +13 -15
  267. package/manifests/outputs/builtins/mock-observations/success.yaml +358 -0
  268. package/manifests/outputs/{plugins → builtins}/multiply/failure-input-parameter-is-missing.yaml +13 -17
  269. package/manifests/outputs/{plugins → builtins}/multiply/success-with-multiple-inputs.yaml +13 -17
  270. package/manifests/outputs/{plugins → builtins}/multiply/success.yaml +13 -17
  271. package/manifests/outputs/{plugins → builtins}/regex/failure-missing-input-param.yaml +13 -17
  272. package/manifests/outputs/{plugins → builtins}/regex/success.yaml +14 -19
  273. package/manifests/outputs/{plugins → builtins}/sci/failure-invalid-config-value.yaml +14 -16
  274. package/manifests/outputs/{plugins → builtins}/sci/failure-missing-input-param.yaml +13 -15
  275. package/manifests/outputs/{plugins/sci/success.yml.yaml → builtins/sci/success.yaml} +13 -16
  276. package/manifests/outputs/{plugins → builtins}/sci-embodied/failure-invalid-default-emission-value.yaml +13 -15
  277. package/manifests/outputs/{plugins → builtins}/sci-embodied/failure-missing-expected-lifespan.yaml +13 -15
  278. package/manifests/outputs/{plugins → builtins}/sci-embodied/success.yaml +13 -15
  279. package/manifests/outputs/{plugins → builtins}/shell/failure-invalid-command.yaml +14 -16
  280. package/manifests/outputs/{plugins → builtins}/shell/success.yaml +14 -16
  281. package/manifests/outputs/{plugins → builtins}/subtract/success.yaml +13 -17
  282. package/manifests/outputs/{plugins → builtins}/sum/failure-missing-input-param.yaml +13 -17
  283. package/manifests/outputs/{plugins → builtins}/sum/failure-missing-output-param.yaml +13 -17
  284. package/manifests/outputs/{plugins → builtins}/sum/success.yaml +13 -17
  285. package/manifests/outputs/{plugins → builtins}/time-sync/failure-config-start-later-end.yaml +20 -23
  286. package/manifests/outputs/{plugins → builtins}/time-sync/success.yaml +38 -35
  287. package/manifests/outputs/features/aggregate-failure-invalid-metrics.yaml +17 -18
  288. package/manifests/outputs/features/aggregate-failure-missing-metric-in-inputs.yaml +17 -18
  289. package/manifests/outputs/features/aggregate-horizontal.yaml +27 -23
  290. package/manifests/outputs/features/aggregate-vertical.yaml +33 -29
  291. package/manifests/outputs/features/aggregate.yaml +33 -29
  292. package/manifests/outputs/{plugins/groupby/failure-invalid-config-group.yaml → features/failure-invalid-regroup.yaml} +16 -25
  293. package/manifests/outputs/{plugins/groupby → features}/failure-missing-cloud-instance-type.yaml +16 -25
  294. package/manifests/outputs/pipelines/cloud-metadata-divide.yaml +14 -18
  295. package/manifests/outputs/pipelines/generics.yaml +239 -0
  296. package/manifests/outputs/pipelines/instance-metadata.yaml +98 -0
  297. package/manifests/outputs/pipelines/mock-obs-time-sync.yaml +246 -147
  298. package/manifests/outputs/pipelines/nesting.yaml +1799 -0
  299. package/manifests/outputs/pipelines/pipeline-teads-sci.yaml +276 -0
  300. package/manifests/outputs/pipelines/sci.yaml +297 -0
  301. package/manifests/outputs/pipelines/teads-curve.yaml +188 -0
  302. package/manifests/outputs/pipelines/zeros.yaml +198 -0
  303. package/package.json +15 -16
  304. package/src/__mocks__/mock-manifest.yaml +2 -3
  305. package/src/{config → if-env/config}/env-template.yml +2 -3
  306. package/src/{builtins → if-run/builtins}/coefficient/README.md +31 -9
  307. package/src/{builtins → if-run/builtins}/copy-param/README.md +30 -11
  308. package/src/{builtins → if-run/builtins}/csv-lookup/README.md +32 -20
  309. package/src/{builtins → if-run/builtins}/divide/README.md +21 -8
  310. package/src/{builtins → if-run/builtins}/exponent/README.md +19 -8
  311. package/src/{builtins → if-run/builtins}/interpolation/README.md +21 -6
  312. package/src/{builtins → if-run/builtins}/mock-observations/README.md +18 -4
  313. package/src/{builtins → if-run/builtins}/multiply/README.md +20 -8
  314. package/src/{builtins → if-run/builtins}/regex/README.md +19 -9
  315. package/src/{builtins → if-run/builtins}/sci/README.md +19 -9
  316. package/src/{builtins → if-run/builtins}/sci-embodied/README.md +17 -5
  317. package/src/{builtins → if-run/builtins}/shell/README.md +19 -7
  318. package/src/{builtins → if-run/builtins}/subtract/README.md +17 -6
  319. package/src/{builtins → if-run/builtins}/sum/README.md +34 -8
  320. package/src/if-run/builtins/time-sync/README.md +267 -0
  321. package/build/builtins/coefficient/index.d.ts +0 -2
  322. package/build/builtins/coefficient/index.js +0 -65
  323. package/build/builtins/copy-param/index.d.ts +0 -2
  324. package/build/builtins/copy-param/index.js +0 -68
  325. package/build/builtins/csv-lookup/index.d.ts +0 -2
  326. package/build/builtins/csv-lookup/index.js +0 -188
  327. package/build/builtins/divide/index.d.ts +0 -2
  328. package/build/builtins/divide/index.js +0 -78
  329. package/build/builtins/exponent/index.d.ts +0 -2
  330. package/build/builtins/exponent/index.js +0 -58
  331. package/build/builtins/export-csv-raw.d.ts +0 -4
  332. package/build/builtins/export-csv-raw.js +0 -132
  333. package/build/builtins/export-csv.d.ts +0 -10
  334. package/build/builtins/export-csv.js +0 -96
  335. package/build/builtins/export-yaml.js +0 -30
  336. package/build/builtins/group-by.d.ts +0 -5
  337. package/build/builtins/group-by.js +0 -71
  338. package/build/builtins/interpolation/index.d.ts +0 -2
  339. package/build/builtins/interpolation/index.js +0 -148
  340. package/build/builtins/mock-observations/helpers/common-generator.js +0 -29
  341. package/build/builtins/mock-observations/helpers/rand-int-generator.js +0 -48
  342. package/build/builtins/mock-observations/index.d.ts +0 -2
  343. package/build/builtins/mock-observations/index.js +0 -114
  344. package/build/builtins/mock-observations/interfaces/index.js +0 -3
  345. package/build/builtins/multiply/index.d.ts +0 -2
  346. package/build/builtins/multiply/index.js +0 -57
  347. package/build/builtins/regex/index.d.ts +0 -2
  348. package/build/builtins/regex/index.js +0 -74
  349. package/build/builtins/sci/config.js +0 -44
  350. package/build/builtins/sci/index.d.ts +0 -2
  351. package/build/builtins/sci/index.js +0 -70
  352. package/build/builtins/sci-embodied/index.d.ts +0 -2
  353. package/build/builtins/sci-embodied/index.js +0 -114
  354. package/build/builtins/shell/index.d.ts +0 -2
  355. package/build/builtins/shell/index.js +0 -58
  356. package/build/builtins/subtract/index.d.ts +0 -2
  357. package/build/builtins/subtract/index.js +0 -59
  358. package/build/builtins/sum/index.d.ts +0 -2
  359. package/build/builtins/sum/index.js +0 -64
  360. package/build/builtins/time-sync.d.ts +0 -2
  361. package/build/builtins/time-sync.js +0 -300
  362. package/build/check.js +0 -95
  363. package/build/config/config.d.ts +0 -29
  364. package/build/config/config.js +0 -147
  365. package/build/config/index.js +0 -10
  366. package/build/config/params.d.ts +0 -2
  367. package/build/config/params.js +0 -196
  368. package/build/config/strings.js +0 -105
  369. package/build/diff.js +0 -46
  370. package/build/env.js +0 -38
  371. package/build/index.js +0 -48
  372. package/build/lib/aggregate.d.ts +0 -6
  373. package/build/lib/aggregate.js +0 -77
  374. package/build/lib/compare.js +0 -56
  375. package/build/lib/compute.js +0 -91
  376. package/build/lib/environment.js +0 -75
  377. package/build/lib/exhaust.js +0 -53
  378. package/build/lib/initialize.d.ts +0 -6
  379. package/build/lib/initialize.js +0 -101
  380. package/build/lib/load.js +0 -70
  381. package/build/lib/parameterize.d.ts +0 -6
  382. package/build/lib/parameterize.js +0 -55
  383. package/build/types/aggregation.d.ts +0 -2
  384. package/build/types/aggregation.js +0 -5
  385. package/build/types/compute.js +0 -3
  386. package/build/types/environment.js +0 -3
  387. package/build/types/exhaust-plugin-interface.js +0 -3
  388. package/build/types/if-env.js +0 -3
  389. package/build/types/interface.d.ts +0 -4
  390. package/build/types/interface.js +0 -8
  391. package/build/types/lib/compare.js +0 -3
  392. package/build/types/manifest.js +0 -3
  393. package/build/types/npm.js +0 -3
  394. package/build/types/parameters.d.ts +0 -5
  395. package/build/types/parameters.js +0 -5
  396. package/build/types/plugin-storage.js +0 -3
  397. package/build/types/process-args.d.ts +0 -33
  398. package/build/types/process-args.js +0 -3
  399. package/build/types/time-sync.js +0 -3
  400. package/build/types/util/args.js +0 -3
  401. package/build/util/aggregation-helper.js +0 -55
  402. package/build/util/args.d.ts +0 -37
  403. package/build/util/args.js +0 -205
  404. package/build/util/debug-logger.js +0 -118
  405. package/build/util/fs.js +0 -94
  406. package/build/util/helpers.d.ts +0 -57
  407. package/build/util/helpers.js +0 -251
  408. package/build/util/json.d.ts +0 -4
  409. package/build/util/json.js +0 -36
  410. package/build/util/log-memoize.js +0 -19
  411. package/build/util/npm.js +0 -152
  412. package/build/util/os-checker.js +0 -97
  413. package/build/util/plugin-storage.js +0 -34
  414. package/build/util/validations.js +0 -124
  415. package/build/util/yaml.js +0 -59
  416. package/manifests/outputs/bugs/initialize-error-no-config.yaml +0 -78
  417. package/manifests/outputs/bugs/initialize-error-no-path.yaml +0 -91
  418. package/manifests/outputs/bugs/initialize-error-no-plugins.yaml +0 -74
  419. package/manifests/outputs/divide.yaml +0 -93
  420. package/manifests/outputs/pipelines/mock-obs-group-by-cloud-meta.yaml +0 -645
  421. package/manifests/outputs/pipelines/mock-obs-groupby.yaml +0 -178
  422. package/manifests/outputs/plugins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +0 -27
  423. package/manifests/outputs/plugins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +0 -27
  424. package/manifests/outputs/plugins/groupby/success.yaml +0 -101
  425. package/manifests/outputs/plugins/mock-observations/success.yaml +0 -220
  426. package/manifests/outputs/plugins/regex/failure-not-matching-with-regex.yaml +0 -76
  427. package/manifests/outputs/plugins/time-sync/failure-missing-global-config.yaml +0 -78
  428. package/src/__tests__/integration/templates/integration.yaml +0 -16
  429. package/src/builtins/README.md +0 -848
  430. /package/build/{util → common/util}/debug-logger.d.ts +0 -0
  431. /package/build/{util → common/util}/fs.d.ts +0 -0
  432. /package/build/{util → common/util}/logger.d.ts +0 -0
  433. /package/build/{util → common/util}/yaml.d.ts +0 -0
  434. /package/build/{index.d.ts → if-check/index.d.ts} +0 -0
  435. /package/build/{check.d.ts → if-csv/index.d.ts} +0 -0
  436. /package/build/{diff.d.ts → if-diff/index.d.ts} +0 -0
  437. /package/build/{types/util → if-diff/types}/args.d.ts +0 -0
  438. /package/build/{types/lib → if-diff/types}/compare.d.ts +0 -0
  439. /package/build/{env.d.ts → if-env/index.d.ts} +0 -0
  440. /package/build/{types → if-env/types}/if-env.d.ts +0 -0
  441. /package/build/{types → if-env/types}/npm.d.ts +0 -0
  442. /package/build/{builtins → if-run/builtins}/mock-observations/helpers/common-generator.d.ts +0 -0
  443. /package/build/{builtins → if-run/builtins}/mock-observations/helpers/rand-int-generator.d.ts +0 -0
  444. /package/build/{builtins → if-run/builtins}/mock-observations/interfaces/index.d.ts +0 -0
  445. /package/build/{builtins → if-run/builtins}/sci/config.d.ts +0 -0
  446. /package/build/{lib → if-run/lib}/compute.d.ts +0 -0
  447. /package/build/{types → if-run/types}/environment.d.ts +0 -0
  448. /package/build/{types → if-run/types}/plugin-storage.d.ts +0 -0
  449. /package/build/{types → if-run/types}/time-sync.d.ts +0 -0
  450. /package/build/{util → if-run/util}/log-memoize.d.ts +0 -0
  451. /package/build/{util → if-run/util}/os-checker.d.ts +0 -0
package/build/lib/load.js DELETED
@@ -1,70 +0,0 @@
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 = exports.load = void 0;
27
- const YAML = __importStar(require("js-yaml"));
28
- const utils_1 = require("@grnsft/if-core/utils");
29
- const yaml_1 = require("../util/yaml");
30
- const json_1 = require("../util/json");
31
- const config_1 = require("../config");
32
- const config_2 = require("../config");
33
- const { CliSourceFileError } = utils_1.ERRORS;
34
- const { INVALID_SOURCE, LOADING_MANIFEST } = config_2.STRINGS;
35
- /**
36
- * Parses manifest file as an object. Checks if parameter file is passed via CLI, then loads it too.
37
- * Returns context, tree and parameters (either the default one, or from CLI).
38
- */
39
- const load = async (inputPath, paramPath) => {
40
- console.debug(LOADING_MANIFEST);
41
- const rawManifest = await (0, yaml_1.openYamlFileAsObject)(inputPath);
42
- const parametersFromCli = paramPath &&
43
- (await (0, json_1.readAndParseJson)(paramPath)); /** @todo validate json */
44
- const parameters = parametersFromCli ||
45
- config_1.PARAMETERS; /** @todo PARAMETERS should be specified in parameterize only */
46
- return {
47
- rawManifest,
48
- parameters,
49
- };
50
- };
51
- exports.load = load;
52
- /**
53
- * Loads files to compare. As a source file checks if data is piped and then decides which one to take.
54
- */
55
- const loadIfDiffFiles = async (params) => {
56
- const { sourcePath, targetPath, pipedSourceManifest } = params;
57
- if (!sourcePath && !pipedSourceManifest) {
58
- throw new CliSourceFileError(INVALID_SOURCE);
59
- }
60
- const loadFromSource = sourcePath && (await (0, yaml_1.openYamlFileAsObject)(sourcePath));
61
- const loadFromSTDIN = pipedSourceManifest && (await YAML.load(pipedSourceManifest));
62
- const rawSourceManifest = loadFromSource || loadFromSTDIN;
63
- const rawTargetManifest = await (0, yaml_1.openYamlFileAsObject)(targetPath);
64
- return {
65
- rawSourceManifest,
66
- rawTargetManifest,
67
- };
68
- };
69
- exports.loadIfDiffFiles = loadIfDiffFiles;
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUFnQztBQUNoQyxpREFBNkM7QUFFN0MsdUNBQWtEO0FBQ2xELHVDQUE4QztBQUU5QyxzQ0FBcUM7QUFDckMsc0NBQWtDO0FBTWxDLE1BQU0sRUFBQyxrQkFBa0IsRUFBQyxHQUFHLGNBQU0sQ0FBQztBQUVwQyxNQUFNLEVBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUVuRDs7O0dBR0c7QUFDSSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQUUsU0FBaUIsRUFBRSxTQUFrQixFQUFFLEVBQUU7SUFDbEUsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRWhDLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSwyQkFBb0IsRUFBTSxTQUFTLENBQUMsQ0FBQztJQUMvRCxNQUFNLGlCQUFpQixHQUNyQixTQUFTO1FBQ1QsQ0FBQyxNQUFNLElBQUEsdUJBQWdCLEVBQWEsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLDBCQUEwQjtJQUM3RSxNQUFNLFVBQVUsR0FDZCxpQkFBaUI7UUFDakIsbUJBQVUsQ0FBQyxDQUFDLGdFQUFnRTtJQUU5RSxPQUFPO1FBQ0wsV0FBVztRQUNYLFVBQVU7S0FDWCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBZlcsUUFBQSxJQUFJLFFBZWY7QUFFRjs7R0FFRztBQUNJLE1BQU0sZUFBZSxHQUFHLEtBQUssRUFBRSxNQUFzQixFQUFFLEVBQUU7SUFDOUQsTUFBTSxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUMsR0FBRyxNQUFNLENBQUM7SUFFN0QsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1FBQ3ZDLE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUM5QztJQUVELE1BQU0sY0FBYyxHQUNsQixVQUFVLElBQUksQ0FBQyxNQUFNLElBQUEsMkJBQW9CLEVBQVcsVUFBVyxDQUFDLENBQUMsQ0FBQztJQUNwRSxNQUFNLGFBQWEsR0FDakIsbUJBQW1CLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW9CLENBQUMsQ0FBQyxDQUFDO0lBRWpFLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxJQUFJLGFBQWEsQ0FBQztJQUMxRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBQSwyQkFBb0IsRUFBVyxVQUFVLENBQUMsQ0FBQztJQUUzRSxPQUFPO1FBQ0wsaUJBQWlCO1FBQ2pCLGlCQUFpQjtLQUNsQixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBbkJXLFFBQUEsZUFBZSxtQkFtQjFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgWUFNTCBmcm9tICdqcy15YW1sJztcbmltcG9ydCB7RVJST1JTfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdXRpbHMnO1xuXG5pbXBvcnQge29wZW5ZYW1sRmlsZUFzT2JqZWN0fSBmcm9tICcuLi91dGlsL3lhbWwnO1xuaW1wb3J0IHtyZWFkQW5kUGFyc2VKc29ufSBmcm9tICcuLi91dGlsL2pzb24nO1xuXG5pbXBvcnQge1BBUkFNRVRFUlN9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uL2NvbmZpZyc7XG5cbmltcG9ydCB7UGFyYW1ldGVyc30gZnJvbSAnLi4vdHlwZXMvcGFyYW1ldGVycyc7XG5pbXBvcnQge0xvYWREaWZmUGFyYW1zfSBmcm9tICcuLi90eXBlcy91dGlsL2FyZ3MnO1xuaW1wb3J0IHtNYW5pZmVzdH0gZnJvbSAnLi4vdHlwZXMvbWFuaWZlc3QnO1xuXG5jb25zdCB7Q2xpU291cmNlRmlsZUVycm9yfSA9IEVSUk9SUztcblxuY29uc3Qge0lOVkFMSURfU09VUkNFLCBMT0FESU5HX01BTklGRVNUfSA9IFNUUklOR1M7XG5cbi8qKlxuICogUGFyc2VzIG1hbmlmZXN0IGZpbGUgYXMgYW4gb2JqZWN0LiBDaGVja3MgaWYgcGFyYW1ldGVyIGZpbGUgaXMgcGFzc2VkIHZpYSBDTEksIHRoZW4gbG9hZHMgaXQgdG9vLlxuICogUmV0dXJucyBjb250ZXh0LCB0cmVlIGFuZCBwYXJhbWV0ZXJzIChlaXRoZXIgdGhlIGRlZmF1bHQgb25lLCBvciBmcm9tIENMSSkuXG4gKi9cbmV4cG9ydCBjb25zdCBsb2FkID0gYXN5bmMgKGlucHV0UGF0aDogc3RyaW5nLCBwYXJhbVBhdGg/OiBzdHJpbmcpID0+IHtcbiAgY29uc29sZS5kZWJ1ZyhMT0FESU5HX01BTklGRVNUKTtcblxuICBjb25zdCByYXdNYW5pZmVzdCA9IGF3YWl0IG9wZW5ZYW1sRmlsZUFzT2JqZWN0PGFueT4oaW5wdXRQYXRoKTtcbiAgY29uc3QgcGFyYW1ldGVyc0Zyb21DbGkgPVxuICAgIHBhcmFtUGF0aCAmJlxuICAgIChhd2FpdCByZWFkQW5kUGFyc2VKc29uPFBhcmFtZXRlcnM+KHBhcmFtUGF0aCkpOyAvKiogQHRvZG8gdmFsaWRhdGUganNvbiAqL1xuICBjb25zdCBwYXJhbWV0ZXJzID1cbiAgICBwYXJhbWV0ZXJzRnJvbUNsaSB8fFxuICAgIFBBUkFNRVRFUlM7IC8qKiBAdG9kbyBQQVJBTUVURVJTIHNob3VsZCBiZSBzcGVjaWZpZWQgaW4gcGFyYW1ldGVyaXplIG9ubHkgKi9cblxuICByZXR1cm4ge1xuICAgIHJhd01hbmlmZXN0LFxuICAgIHBhcmFtZXRlcnMsXG4gIH07XG59O1xuXG4vKipcbiAqIExvYWRzIGZpbGVzIHRvIGNvbXBhcmUuIEFzIGEgc291cmNlIGZpbGUgY2hlY2tzIGlmIGRhdGEgaXMgcGlwZWQgYW5kIHRoZW4gZGVjaWRlcyB3aGljaCBvbmUgdG8gdGFrZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGxvYWRJZkRpZmZGaWxlcyA9IGFzeW5jIChwYXJhbXM6IExvYWREaWZmUGFyYW1zKSA9PiB7XG4gIGNvbnN0IHtzb3VyY2VQYXRoLCB0YXJnZXRQYXRoLCBwaXBlZFNvdXJjZU1hbmlmZXN0fSA9IHBhcmFtcztcblxuICBpZiAoIXNvdXJjZVBhdGggJiYgIXBpcGVkU291cmNlTWFuaWZlc3QpIHtcbiAgICB0aHJvdyBuZXcgQ2xpU291cmNlRmlsZUVycm9yKElOVkFMSURfU09VUkNFKTtcbiAgfVxuXG4gIGNvbnN0IGxvYWRGcm9tU291cmNlID1cbiAgICBzb3VyY2VQYXRoICYmIChhd2FpdCBvcGVuWWFtbEZpbGVBc09iamVjdDxNYW5pZmVzdD4oc291cmNlUGF0aCEpKTtcbiAgY29uc3QgbG9hZEZyb21TVERJTiA9XG4gICAgcGlwZWRTb3VyY2VNYW5pZmVzdCAmJiAoYXdhaXQgWUFNTC5sb2FkKHBpcGVkU291cmNlTWFuaWZlc3QhKSk7XG5cbiAgY29uc3QgcmF3U291cmNlTWFuaWZlc3QgPSBsb2FkRnJvbVNvdXJjZSB8fCBsb2FkRnJvbVNURElOO1xuICBjb25zdCByYXdUYXJnZXRNYW5pZmVzdCA9IGF3YWl0IG9wZW5ZYW1sRmlsZUFzT2JqZWN0PE1hbmlmZXN0Pih0YXJnZXRQYXRoKTtcblxuICByZXR1cm4ge1xuICAgIHJhd1NvdXJjZU1hbmlmZXN0LFxuICAgIHJhd1RhcmdldE1hbmlmZXN0LFxuICB9O1xufTtcbiJdfQ==
@@ -1,6 +0,0 @@
1
- import { ManifestParameter } from '../types/manifest';
2
- import { Parameters } from '../types/parameters';
3
- export declare const parameterize: {
4
- combine: (contextParameters: ManifestParameter[] | null | undefined, parameters: Parameters) => void;
5
- getAggregationMethod: (unitName: string) => "sum" | "none" | "avg";
6
- };
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parameterize = void 0;
4
- const logger_1 = require("../util/logger");
5
- const log_memoize_1 = require("../util/log-memoize");
6
- const debug_logger_1 = require("../util/debug-logger");
7
- const config_1 = require("../config");
8
- const { REJECTING_OVERRIDE, UNKNOWN_PARAM, SYNCING_PARAMETERS, CHECKING_AGGREGATION_METHOD, } = config_1.STRINGS;
9
- /**
10
- * Parameters manager. Provides get aggregation method and combine functionality.
11
- */
12
- const Parameterize = () => {
13
- let parametersStorage = config_1.PARAMETERS;
14
- /**
15
- * Returns aggregation method for given `unitName`. If doesn't exist then returns value `sum`.
16
- */
17
- const getAggregationMethod = (unitName) => {
18
- debug_logger_1.debugLogger.setExecutingPluginName();
19
- (0, log_memoize_1.memoizedLog)(console.debug, CHECKING_AGGREGATION_METHOD(unitName));
20
- if (`${unitName}` in parametersStorage) {
21
- return parametersStorage[unitName].aggregation;
22
- }
23
- (0, log_memoize_1.memoizedLog)(logger_1.logger.warn, UNKNOWN_PARAM(unitName));
24
- return 'sum';
25
- };
26
- /**
27
- * Checks if additional parameters are provided in context.
28
- * If so, then checks if they are coincident with default ones and exits with warning message.
29
- * Otherwise appends context based parameters to defaults.
30
- */
31
- const combine = (contextParameters, parameters) => {
32
- console.debug(SYNCING_PARAMETERS);
33
- if (contextParameters) {
34
- contextParameters.forEach(param => {
35
- if (`${param.name}` in parameters) {
36
- logger_1.logger.warn(REJECTING_OVERRIDE(param));
37
- return;
38
- }
39
- const { description, unit, aggregation, name } = param;
40
- parameters[name] = {
41
- description,
42
- unit,
43
- aggregation,
44
- };
45
- });
46
- }
47
- parametersStorage = parameters;
48
- };
49
- return {
50
- combine,
51
- getAggregationMethod,
52
- };
53
- };
54
- exports.parameterize = Parameterize();
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyaXplLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9wYXJhbWV0ZXJpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXNDO0FBQ3RDLHFEQUFnRDtBQUNoRCx1REFBaUQ7QUFFakQsc0NBQThDO0FBSzlDLE1BQU0sRUFDSixrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLGtCQUFrQixFQUNsQiwyQkFBMkIsR0FDNUIsR0FBRyxnQkFBTyxDQUFDO0FBRVo7O0dBRUc7QUFDSCxNQUFNLFlBQVksR0FBRyxHQUFHLEVBQUU7SUFDeEIsSUFBSSxpQkFBaUIsR0FBRyxtQkFBVSxDQUFDO0lBRW5DOztPQUVHO0lBQ0gsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtRQUNoRCwwQkFBVyxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDckMsSUFBQSx5QkFBVyxFQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsMkJBQTJCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUVsRSxJQUFJLEdBQUcsUUFBUSxFQUFFLElBQUksaUJBQWlCLEVBQUU7WUFDdEMsT0FBTyxpQkFBaUIsQ0FBQyxRQUFtQyxDQUFDLENBQUMsV0FBVyxDQUFDO1NBQzNFO1FBRUQsSUFBQSx5QkFBVyxFQUFDLGVBQU0sQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFbEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDLENBQUM7SUFFRjs7OztPQUlHO0lBQ0gsTUFBTSxPQUFPLEdBQUcsQ0FDZCxpQkFBeUQsRUFDekQsVUFBc0IsRUFDdEIsRUFBRTtRQUNGLE9BQU8sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVsQyxJQUFJLGlCQUFpQixFQUFFO1lBQ3JCLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDaEMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxVQUFVLEVBQUU7b0JBQ2pDLGVBQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztvQkFFdkMsT0FBTztpQkFDUjtnQkFFRCxNQUFNLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFDLEdBQUcsS0FBSyxDQUFDO2dCQUVyRCxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUc7b0JBQ2pCLFdBQVc7b0JBQ1gsSUFBSTtvQkFDSixXQUFXO2lCQUNaLENBQUM7WUFDSixDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsaUJBQWlCLEdBQUcsVUFBVSxDQUFDO0lBQ2pDLENBQUMsQ0FBQztJQUVGLE9BQU87UUFDTCxPQUFPO1FBQ1Asb0JBQW9CO0tBQ3JCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFVyxRQUFBLFlBQVksR0FBRyxZQUFZLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7bG9nZ2VyfSBmcm9tICcuLi91dGlsL2xvZ2dlcic7XG5pbXBvcnQge21lbW9pemVkTG9nfSBmcm9tICcuLi91dGlsL2xvZy1tZW1vaXplJztcbmltcG9ydCB7ZGVidWdMb2dnZXJ9IGZyb20gJy4uL3V0aWwvZGVidWctbG9nZ2VyJztcblxuaW1wb3J0IHtTVFJJTkdTLCBQQVJBTUVURVJTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge01hbmlmZXN0UGFyYW1ldGVyfSBmcm9tICcuLi90eXBlcy9tYW5pZmVzdCc7XG5pbXBvcnQge1BhcmFtZXRlcnN9IGZyb20gJy4uL3R5cGVzL3BhcmFtZXRlcnMnO1xuXG5jb25zdCB7XG4gIFJFSkVDVElOR19PVkVSUklERSxcbiAgVU5LTk9XTl9QQVJBTSxcbiAgU1lOQ0lOR19QQVJBTUVURVJTLFxuICBDSEVDS0lOR19BR0dSRUdBVElPTl9NRVRIT0QsXG59ID0gU1RSSU5HUztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIG1hbmFnZXIuIFByb3ZpZGVzIGdldCBhZ2dyZWdhdGlvbiBtZXRob2QgYW5kIGNvbWJpbmUgZnVuY3Rpb25hbGl0eS5cbiAqL1xuY29uc3QgUGFyYW1ldGVyaXplID0gKCkgPT4ge1xuICBsZXQgcGFyYW1ldGVyc1N0b3JhZ2UgPSBQQVJBTUVURVJTO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFnZ3JlZ2F0aW9uIG1ldGhvZCBmb3IgZ2l2ZW4gYHVuaXROYW1lYC4gSWYgZG9lc24ndCBleGlzdCB0aGVuIHJldHVybnMgdmFsdWUgYHN1bWAuXG4gICAqL1xuICBjb25zdCBnZXRBZ2dyZWdhdGlvbk1ldGhvZCA9ICh1bml0TmFtZTogc3RyaW5nKSA9PiB7XG4gICAgZGVidWdMb2dnZXIuc2V0RXhlY3V0aW5nUGx1Z2luTmFtZSgpO1xuICAgIG1lbW9pemVkTG9nKGNvbnNvbGUuZGVidWcsIENIRUNLSU5HX0FHR1JFR0FUSU9OX01FVEhPRCh1bml0TmFtZSkpO1xuXG4gICAgaWYgKGAke3VuaXROYW1lfWAgaW4gcGFyYW1ldGVyc1N0b3JhZ2UpIHtcbiAgICAgIHJldHVybiBwYXJhbWV0ZXJzU3RvcmFnZVt1bml0TmFtZSBhcyBrZXlvZiB0eXBlb2YgUEFSQU1FVEVSU10uYWdncmVnYXRpb247XG4gICAgfVxuXG4gICAgbWVtb2l6ZWRMb2cobG9nZ2VyLndhcm4sIFVOS05PV05fUEFSQU0odW5pdE5hbWUpKTtcblxuICAgIHJldHVybiAnc3VtJztcbiAgfTtcblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGFkZGl0aW9uYWwgcGFyYW1ldGVycyBhcmUgcHJvdmlkZWQgaW4gY29udGV4dC5cbiAgICogSWYgc28sIHRoZW4gY2hlY2tzIGlmIHRoZXkgYXJlIGNvaW5jaWRlbnQgd2l0aCBkZWZhdWx0IG9uZXMgYW5kIGV4aXRzIHdpdGggd2FybmluZyBtZXNzYWdlLlxuICAgKiBPdGhlcndpc2UgYXBwZW5kcyBjb250ZXh0IGJhc2VkIHBhcmFtZXRlcnMgdG8gZGVmYXVsdHMuXG4gICAqL1xuICBjb25zdCBjb21iaW5lID0gKFxuICAgIGNvbnRleHRQYXJhbWV0ZXJzOiBNYW5pZmVzdFBhcmFtZXRlcltdIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICBwYXJhbWV0ZXJzOiBQYXJhbWV0ZXJzXG4gICkgPT4ge1xuICAgIGNvbnNvbGUuZGVidWcoU1lOQ0lOR19QQVJBTUVURVJTKTtcblxuICAgIGlmIChjb250ZXh0UGFyYW1ldGVycykge1xuICAgICAgY29udGV4dFBhcmFtZXRlcnMuZm9yRWFjaChwYXJhbSA9PiB7XG4gICAgICAgIGlmIChgJHtwYXJhbS5uYW1lfWAgaW4gcGFyYW1ldGVycykge1xuICAgICAgICAgIGxvZ2dlci53YXJuKFJFSkVDVElOR19PVkVSUklERShwYXJhbSkpO1xuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge2Rlc2NyaXB0aW9uLCB1bml0LCBhZ2dyZWdhdGlvbiwgbmFtZX0gPSBwYXJhbTtcblxuICAgICAgICBwYXJhbWV0ZXJzW25hbWVdID0ge1xuICAgICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICAgIHVuaXQsXG4gICAgICAgICAgYWdncmVnYXRpb24sXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBwYXJhbWV0ZXJzU3RvcmFnZSA9IHBhcmFtZXRlcnM7XG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBjb21iaW5lLFxuICAgIGdldEFnZ3JlZ2F0aW9uTWV0aG9kLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcmFtZXRlcml6ZSA9IFBhcmFtZXRlcml6ZSgpO1xuIl19
@@ -1,2 +0,0 @@
1
- export type AggregationResult = Record<string, number>;
2
- export declare const AGGREGATION_METHODS: readonly ["horizontal", "vertical", "both"];
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AGGREGATION_METHODS = void 0;
4
- exports.AGGREGATION_METHODS = ['horizontal', 'vertical', 'both'];
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvYWdncmVnYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRWEsUUFBQSxtQkFBbUIsR0FBRyxDQUFDLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBBZ2dyZWdhdGlvblJlc3VsdCA9IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG5cbmV4cG9ydCBjb25zdCBBR0dSRUdBVElPTl9NRVRIT0RTID0gWydob3Jpem9udGFsJywgJ3ZlcnRpY2FsJywgJ2JvdGgnXSBhcyBjb25zdDtcbiJdfQ==
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9jb21wdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BsdWdpblBhcmFtc30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3R5cGVzJztcblxuaW1wb3J0IHtDb250ZXh0fSBmcm9tICcuL21hbmlmZXN0JztcbmltcG9ydCB7UGx1Z2luU3RvcmFnZUludGVyZmFjZX0gZnJvbSAnLi9wbHVnaW4tc3RvcmFnZSc7XG5cbmV4cG9ydCB0eXBlIE5vZGVDb25maWcgPSB7XG4gIFtrZXk6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG5leHBvcnQgdHlwZSBQYXJhbXMgPSB7XG4gIHBsdWdpblN0b3JhZ2U6IFBsdWdpblN0b3JhZ2VJbnRlcmZhY2U7XG4gIGNvbnRleHQ6IENvbnRleHQ7XG4gIHBpcGVsaW5lPzogc3RyaW5nW107XG4gIGNvbmZpZz86IE5vZGVDb25maWc7XG4gIGRlZmF1bHRzPzogUGx1Z2luUGFyYW1zO1xufTtcblxuZXhwb3J0IHR5cGUgTm9kZSA9IHtcbiAgY2hpbGRyZW4/OiBhbnk7XG4gIHBpcGVsaW5lPzogc3RyaW5nW107XG4gIGNvbmZpZz86IE5vZGVDb25maWc7XG4gIGRlZmF1bHRzPzogUGx1Z2luUGFyYW1zO1xuICBpbnB1dHM/OiBQbHVnaW5QYXJhbXNbXTtcbiAgb3V0cHV0cz86IFBsdWdpblBhcmFtc1tdO1xufTtcblxuZXhwb3J0IHR5cGUgQ29tcHV0ZVBhcmFtcyA9IHtcbiAgY29udGV4dDogQ29udGV4dDtcbiAgcGx1Z2luU3RvcmFnZTogUGx1Z2luU3RvcmFnZUludGVyZmFjZTtcbn07XG4iXX0=
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvZW52aXJvbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFBhY2thZ2VEZXBlbmRlbmN5ID0ge1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIHJlc29sdmVkPzogc3RyaW5nO1xuICBvdmVycmlkZGVuOiBib29sZWFuO1xuICBleHRyYW5lb3VzPzogYm9vbGVhbjtcbn07XG5cbnR5cGUgUGFja2FnZVByb2JsZW0gPSB7XG4gIGV4dHJhbmVvdXM6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIE5wbUxpc3RSZXNwb25zZSA9IHtcbiAgdmVyc2lvbjogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb2JsZW1zPzogUGFja2FnZVByb2JsZW1bXTtcbiAgZGVwZW5kZW5jaWVzOiB7XG4gICAgW2tleTogc3RyaW5nXTogUGFja2FnZURlcGVuZGVuY3k7XG4gIH07XG59O1xuIl19
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhoYXVzdC1wbHVnaW4taW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2V4aGF1c3QtcGx1Z2luLWludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb250ZXh0fSBmcm9tICcuL21hbmlmZXN0JztcblxuZXhwb3J0IGludGVyZmFjZSBFeGhhdXN0UGx1Z2luSW50ZXJmYWNlIHtcbiAgLyoqXG4gICAqIEV4ZWN1dGUgZXhoYXVzdCBiYXNlZCBvbiBgY29udGV4dGAgYW5kIGB0cmVlYCwgcHJvZHVjZSBvdXRwdXQgdG8gYSBmaWxlIGluIGBvdXRwdXRQYXRoYC5cbiAgICovXG4gIGV4ZWN1dGUodHJlZTogYW55LCBjb250ZXh0OiBDb250ZXh0LCBvdXRwdXRQYXRoPzogc3RyaW5nKTogdm9pZDtcbn1cbiJdfQ==
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYtZW52LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2lmLWVudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRW52aXJvbm1lbnRPcHRpb25zID0ge1xuICBmb2xkZXJQYXRoOiBzdHJpbmc7XG4gIGluc3RhbGw6IGJvb2xlYW47XG4gIGN3ZDogYm9vbGVhbjtcbiAgZGVwZW5kZW5jaWVzOiB7W3BhdGg6IHN0cmluZ106IHN0cmluZ307XG59O1xuIl19
@@ -1,4 +0,0 @@
1
- import { ExecutePlugin, GroupByPlugin } from '@grnsft/if-core/types';
2
- export type PluginInterface = ExecutePlugin | GroupByPlugin;
3
- export declare const isExecute: (plugin: PluginInterface) => plugin is ExecutePlugin;
4
- export declare const isGroupBy: (plugin: PluginInterface) => plugin is GroupByPlugin;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isGroupBy = exports.isExecute = void 0;
4
- const isExecute = (plugin) => plugin.metadata.kind === 'execute';
5
- exports.isExecute = isExecute;
6
- const isGroupBy = (plugin) => plugin.metadata.kind === 'groupby';
7
- exports.isGroupBy = isGroupBy;
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2ludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJTyxNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQXVCLEVBQTJCLEVBQUUsQ0FDM0UsTUFBd0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQztBQUQzQyxRQUFBLFNBQVMsYUFDa0M7QUFFakQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUF1QixFQUEyQixFQUFFLENBQzNFLE1BQXdCLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7QUFEM0MsUUFBQSxTQUFTLGFBQ2tDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFeGVjdXRlUGx1Z2luLCBHcm91cEJ5UGx1Z2lufSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBQbHVnaW5JbnRlcmZhY2UgPSBFeGVjdXRlUGx1Z2luIHwgR3JvdXBCeVBsdWdpbjtcblxuZXhwb3J0IGNvbnN0IGlzRXhlY3V0ZSA9IChwbHVnaW46IFBsdWdpbkludGVyZmFjZSk6IHBsdWdpbiBpcyBFeGVjdXRlUGx1Z2luID0+XG4gIChwbHVnaW4gYXMgRXhlY3V0ZVBsdWdpbikubWV0YWRhdGEua2luZCA9PT0gJ2V4ZWN1dGUnO1xuXG5leHBvcnQgY29uc3QgaXNHcm91cEJ5ID0gKHBsdWdpbjogUGx1Z2luSW50ZXJmYWNlKTogcGx1Z2luIGlzIEdyb3VwQnlQbHVnaW4gPT5cbiAgKHBsdWdpbiBhcyBHcm91cEJ5UGx1Z2luKS5tZXRhZGF0YS5raW5kID09PSAnZ3JvdXBieSc7XG4iXX0=
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90eXBlcy9saWIvY29tcGFyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRGlmZmVyZW5jZSA9IHtcbiAgcGF0aD86IHN0cmluZztcbiAgc291cmNlPzogYW55O1xuICB0YXJnZXQ/OiBhbnk7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn07XG4iXX0=
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvbWFuaWZlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHttYW5pZmVzdFNjaGVtYX0gZnJvbSAnLi4vdXRpbC92YWxpZGF0aW9ucyc7XG5cbmV4cG9ydCB0eXBlIE1hbmlmZXN0ID0gei5pbmZlcjx0eXBlb2YgbWFuaWZlc3RTY2hlbWE+O1xuXG5leHBvcnQgdHlwZSBHbG9iYWxQbHVnaW5zID0gTWFuaWZlc3RbJ2luaXRpYWxpemUnXVsncGx1Z2lucyddO1xuXG5leHBvcnQgdHlwZSBQbHVnaW5PcHRpb25zID0gR2xvYmFsUGx1Z2luc1tzdHJpbmddO1xuXG5leHBvcnQgdHlwZSBBZ2dyZWdhdGlvblBhcmFtcyA9IE1hbmlmZXN0WydhZ2dyZWdhdGlvbiddO1xuZXhwb3J0IHR5cGUgQWdncmVnYXRpb25QYXJhbXNTdXJlID0gRXh0cmFjdDxNYW5pZmVzdFsnYWdncmVnYXRpb24nXSwge30+O1xuXG5leHBvcnQgdHlwZSBDb250ZXh0ID0gT21pdDxNYW5pZmVzdCwgJ3RyZWUnPjtcblxuZXhwb3J0IHR5cGUgQ29udGV4dFdpdGhFeGVjID0gT21pdDxNYW5pZmVzdCwgJ3RyZWUnPjtcblxuZXhwb3J0IHR5cGUgTWFuaWZlc3RQYXJhbWV0ZXIgPSBFeHRyYWN0PE1hbmlmZXN0WydwYXJhbXMnXSwge30+W251bWJlcl07XG4iXX0=
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL25wbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgUGF0aFdpdGhWZXJzaW9uID0ge1twYXRoOiBzdHJpbmddOiBzdHJpbmd9O1xuXG5leHBvcnQgdHlwZSBNYW5pZmVzdFBsdWdpbiA9IHtba2V5OiBzdHJpbmddOiB7cGF0aDogc3RyaW5nOyBtZXRob2Q6IHN0cmluZ319O1xuIl19
@@ -1,5 +0,0 @@
1
- import { ManifestParameter } from './manifest';
2
- export declare const AGGREGATION_TYPES: readonly ["sum", "none", "avg"];
3
- type ParameterProps = Omit<ManifestParameter, 'name'>;
4
- export type Parameters = Record<string, ParameterProps>;
5
- export {};
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AGGREGATION_TYPES = void 0;
4
- exports.AGGREGATION_TYPES = ['sum', 'none', 'avg'];
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9wYXJhbWV0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVhLFFBQUEsaUJBQWlCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNYW5pZmVzdFBhcmFtZXRlcn0gZnJvbSAnLi9tYW5pZmVzdCc7XG5cbmV4cG9ydCBjb25zdCBBR0dSRUdBVElPTl9UWVBFUyA9IFsnc3VtJywgJ25vbmUnLCAnYXZnJ10gYXMgY29uc3Q7XG5cbnR5cGUgUGFyYW1ldGVyUHJvcHMgPSBPbWl0PE1hbmlmZXN0UGFyYW1ldGVyLCAnbmFtZSc+O1xuXG5leHBvcnQgdHlwZSBQYXJhbWV0ZXJzID0gUmVjb3JkPHN0cmluZywgUGFyYW1ldGVyUHJvcHM+O1xuIl19
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLXN0b3JhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvcGx1Z2luLXN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7cGx1Z2luU3RvcmFnZX0gZnJvbSAnLi4vdXRpbC9wbHVnaW4tc3RvcmFnZSc7XG5pbXBvcnQge1BsdWdpbkludGVyZmFjZX0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuXG5leHBvcnQgdHlwZSBQbHVnaW5TdG9yYWdlID0ge1xuICBba2V5OiBzdHJpbmddOiBQbHVnaW5JbnRlcmZhY2U7XG59O1xuXG5leHBvcnQgdHlwZSBQbHVnaW5TdG9yYWdlSW50ZXJmYWNlID0gUmV0dXJuVHlwZTx0eXBlb2YgcGx1Z2luU3RvcmFnZT47XG4iXX0=
@@ -1,33 +0,0 @@
1
- export interface IEArgs {
2
- manifest?: string;
3
- output?: string;
4
- 'override-params'?: string;
5
- stdout?: boolean;
6
- debug?: boolean;
7
- }
8
- export interface IFDiffArgs {
9
- source?: string;
10
- target: string;
11
- }
12
- export interface IFEnvArgs {
13
- manifest?: string;
14
- install?: boolean;
15
- cwd?: boolean;
16
- }
17
- export interface IFCheckArgs {
18
- manifest?: string;
19
- directory?: string;
20
- }
21
- export interface Options {
22
- outputPath?: string;
23
- stdout?: boolean;
24
- }
25
- export interface ProcessArgsOutputs {
26
- inputPath: string;
27
- outputOptions: {
28
- outputPath?: string;
29
- stdout?: boolean;
30
- };
31
- paramPath?: string;
32
- debug?: boolean;
33
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3Byb2Nlc3MtYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJRUFyZ3Mge1xuICBtYW5pZmVzdD86IHN0cmluZztcbiAgb3V0cHV0Pzogc3RyaW5nO1xuICAnb3ZlcnJpZGUtcGFyYW1zJz86IHN0cmluZztcbiAgc3Rkb3V0PzogYm9vbGVhbjtcbiAgZGVidWc/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElGRGlmZkFyZ3Mge1xuICBzb3VyY2U/OiBzdHJpbmc7XG4gIHRhcmdldDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElGRW52QXJncyB7XG4gIG1hbmlmZXN0Pzogc3RyaW5nO1xuICBpbnN0YWxsPzogYm9vbGVhbjtcbiAgY3dkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRkNoZWNrQXJncyB7XG4gIG1hbmlmZXN0Pzogc3RyaW5nO1xuICBkaXJlY3Rvcnk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyB7XG4gIG91dHB1dFBhdGg/OiBzdHJpbmc7XG4gIHN0ZG91dD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc0FyZ3NPdXRwdXRzIHtcbiAgaW5wdXRQYXRoOiBzdHJpbmc7XG4gIG91dHB1dE9wdGlvbnM6IHtcbiAgICBvdXRwdXRQYXRoPzogc3RyaW5nO1xuICAgIHN0ZG91dD86IGJvb2xlYW47XG4gIH07XG4gIHBhcmFtUGF0aD86IHN0cmluZztcbiAgZGVidWc/OiBib29sZWFuO1xufVxuIl19
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1zeW5jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3RpbWUtc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRlVGltZX0gZnJvbSAnbHV4b24nO1xuXG5leHBvcnQgdHlwZSBUaW1lTm9ybWFsaXplckNvbmZpZyA9IHtcbiAgJ3N0YXJ0LXRpbWUnOiBEYXRlIHwgc3RyaW5nO1xuICAnZW5kLXRpbWUnOiBEYXRlIHwgc3RyaW5nO1xuICBpbnRlcnZhbDogbnVtYmVyO1xuICAnYWxsb3ctcGFkZGluZyc6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBQYWRkaW5nUmVjZWlwdCA9IHtcbiAgc3RhcnQ6IGJvb2xlYW47XG4gIGVuZDogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIFRpbWVQYXJhbXMgPSB7XG4gIHN0YXJ0VGltZTogRGF0ZVRpbWU7XG4gIGVuZFRpbWU6IERhdGVUaW1lO1xuICBpbnRlcnZhbDogbnVtYmVyO1xuICBhbGxvd1BhZGRpbmc6IGJvb2xlYW47XG59O1xuIl19
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90eXBlcy91dGlsL2FyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIExvYWREaWZmUGFyYW1zID0ge1xuICBzb3VyY2VQYXRoPzogc3RyaW5nO1xuICB0YXJnZXRQYXRoOiBzdHJpbmc7XG4gIHBpcGVkU291cmNlTWFuaWZlc3Q/OiBzdHJpbmc7XG59O1xuIl19
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.aggregateInputsIntoOne = void 0;
4
- const utils_1 = require("@grnsft/if-core/utils");
5
- const parameterize_1 = require("../lib/parameterize");
6
- const config_1 = require("../config");
7
- const { InvalidAggregationMethodError, MissingAggregationParamError } = utils_1.ERRORS;
8
- const { INVALID_AGGREGATION_METHOD, METRIC_MISSING } = config_1.STRINGS;
9
- const { AGGREGATION_ADDITIONAL_PARAMS } = config_1.CONFIG;
10
- /**
11
- * Validates metrics array before applying aggregator.
12
- * If aggregation method is `none`, then throws error.
13
- */
14
- const checkIfMetricsAreValid = (metrics) => {
15
- metrics.forEach(metric => {
16
- const method = parameterize_1.parameterize.getAggregationMethod(metric);
17
- if (method === 'none') {
18
- throw new InvalidAggregationMethodError(INVALID_AGGREGATION_METHOD(metric));
19
- }
20
- });
21
- };
22
- /**
23
- * Aggregates child node level metrics. Validates if metric aggregation type is `none`, then rejects with error.
24
- * Appends aggregation additional params to metrics. Otherwise iterates over inputs by aggregating per given `metrics`.
25
- */
26
- const aggregateInputsIntoOne = (inputs, metrics, isTemporal) => {
27
- checkIfMetricsAreValid(metrics);
28
- const extendedMetrics = [...metrics, ...AGGREGATION_ADDITIONAL_PARAMS];
29
- return inputs.reduce((acc, input, index) => {
30
- for (const metric of extendedMetrics) {
31
- if (!(metric in input)) {
32
- throw new MissingAggregationParamError(METRIC_MISSING(metric, index));
33
- }
34
- /** Checks if metric is timestamp or duration, then adds to aggregated value. */
35
- if (AGGREGATION_ADDITIONAL_PARAMS.includes(metric)) {
36
- if (isTemporal) {
37
- acc[metric] = input[metric];
38
- }
39
- }
40
- else {
41
- acc[metric] = acc[metric] ?? 0;
42
- acc[metric] += parseFloat(input[metric]);
43
- /** Checks for the last iteration. */
44
- if (index === inputs.length - 1) {
45
- if (parameterize_1.parameterize.getAggregationMethod(metric) === 'avg') {
46
- acc[metric] /= inputs.length;
47
- }
48
- }
49
- }
50
- }
51
- return acc;
52
- }, {});
53
- };
54
- exports.aggregateInputsIntoOne = aggregateInputsIntoOne;
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvYWdncmVnYXRpb24taGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUE2QztBQUc3QyxzREFBaUQ7QUFFakQsc0NBQTBDO0FBSTFDLE1BQU0sRUFBQyw2QkFBNkIsRUFBRSw0QkFBNEIsRUFBQyxHQUFHLGNBQU0sQ0FBQztBQUM3RSxNQUFNLEVBQUMsMEJBQTBCLEVBQUUsY0FBYyxFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUM3RCxNQUFNLEVBQUMsNkJBQTZCLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFFL0M7OztHQUdHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLE9BQWlCLEVBQUUsRUFBRTtJQUNuRCxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLDJCQUFZLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekQsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFO1lBQ3JCLE1BQU0sSUFBSSw2QkFBNkIsQ0FDckMsMEJBQTBCLENBQUMsTUFBTSxDQUFDLENBQ25DLENBQUM7U0FDSDtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0ksTUFBTSxzQkFBc0IsR0FBRyxDQUNwQyxNQUFzQixFQUN0QixPQUFpQixFQUNqQixVQUFvQixFQUNwQixFQUFFO0lBQ0Ysc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLDZCQUE2QixDQUFDLENBQUM7SUFFdkUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUN6QyxLQUFLLE1BQU0sTUFBTSxJQUFJLGVBQWUsRUFBRTtZQUNwQyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLEVBQUU7Z0JBQ3RCLE1BQU0sSUFBSSw0QkFBNEIsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDdkU7WUFFRCxnRkFBZ0Y7WUFDaEYsSUFBSSw2QkFBNkIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2xELElBQUksVUFBVSxFQUFFO29CQUNkLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQzdCO2FBQ0Y7aUJBQU07Z0JBQ0wsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9CLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBRXpDLHFDQUFxQztnQkFDckMsSUFBSSxLQUFLLEtBQUssTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQy9CLElBQUksMkJBQVksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLEVBQUU7d0JBQ3ZELEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDO3FCQUM5QjtpQkFDRjthQUNGO1NBQ0Y7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFBRSxFQUF1QixDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBbENXLFFBQUEsc0JBQXNCLDBCQWtDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcbmltcG9ydCB7UGx1Z2luUGFyYW1zfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdHlwZXMnO1xuXG5pbXBvcnQge3BhcmFtZXRlcml6ZX0gZnJvbSAnLi4vbGliL3BhcmFtZXRlcml6ZSc7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge0FnZ3JlZ2F0aW9uUmVzdWx0fSBmcm9tICcuLi90eXBlcy9hZ2dyZWdhdGlvbic7XG5cbmNvbnN0IHtJbnZhbGlkQWdncmVnYXRpb25NZXRob2RFcnJvciwgTWlzc2luZ0FnZ3JlZ2F0aW9uUGFyYW1FcnJvcn0gPSBFUlJPUlM7XG5jb25zdCB7SU5WQUxJRF9BR0dSRUdBVElPTl9NRVRIT0QsIE1FVFJJQ19NSVNTSU5HfSA9IFNUUklOR1M7XG5jb25zdCB7QUdHUkVHQVRJT05fQURESVRJT05BTF9QQVJBTVN9ID0gQ09ORklHO1xuXG4vKipcbiAqIFZhbGlkYXRlcyBtZXRyaWNzIGFycmF5IGJlZm9yZSBhcHBseWluZyBhZ2dyZWdhdG9yLlxuICogSWYgYWdncmVnYXRpb24gbWV0aG9kIGlzIGBub25lYCwgdGhlbiB0aHJvd3MgZXJyb3IuXG4gKi9cbmNvbnN0IGNoZWNrSWZNZXRyaWNzQXJlVmFsaWQgPSAobWV0cmljczogc3RyaW5nW10pID0+IHtcbiAgbWV0cmljcy5mb3JFYWNoKG1ldHJpYyA9PiB7XG4gICAgY29uc3QgbWV0aG9kID0gcGFyYW1ldGVyaXplLmdldEFnZ3JlZ2F0aW9uTWV0aG9kKG1ldHJpYyk7XG5cbiAgICBpZiAobWV0aG9kID09PSAnbm9uZScpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQWdncmVnYXRpb25NZXRob2RFcnJvcihcbiAgICAgICAgSU5WQUxJRF9BR0dSRUdBVElPTl9NRVRIT0QobWV0cmljKVxuICAgICAgKTtcbiAgICB9XG4gIH0pO1xufTtcblxuLyoqXG4gKiBBZ2dyZWdhdGVzIGNoaWxkIG5vZGUgbGV2ZWwgbWV0cmljcy4gVmFsaWRhdGVzIGlmIG1ldHJpYyBhZ2dyZWdhdGlvbiB0eXBlIGlzIGBub25lYCwgdGhlbiByZWplY3RzIHdpdGggZXJyb3IuXG4gKiBBcHBlbmRzIGFnZ3JlZ2F0aW9uIGFkZGl0aW9uYWwgcGFyYW1zIHRvIG1ldHJpY3MuIE90aGVyd2lzZSBpdGVyYXRlcyBvdmVyIGlucHV0cyBieSBhZ2dyZWdhdGluZyBwZXIgZ2l2ZW4gYG1ldHJpY3NgLlxuICovXG5leHBvcnQgY29uc3QgYWdncmVnYXRlSW5wdXRzSW50b09uZSA9IChcbiAgaW5wdXRzOiBQbHVnaW5QYXJhbXNbXSxcbiAgbWV0cmljczogc3RyaW5nW10sXG4gIGlzVGVtcG9yYWw/OiBib29sZWFuXG4pID0+IHtcbiAgY2hlY2tJZk1ldHJpY3NBcmVWYWxpZChtZXRyaWNzKTtcbiAgY29uc3QgZXh0ZW5kZWRNZXRyaWNzID0gWy4uLm1ldHJpY3MsIC4uLkFHR1JFR0FUSU9OX0FERElUSU9OQUxfUEFSQU1TXTtcblxuICByZXR1cm4gaW5wdXRzLnJlZHVjZSgoYWNjLCBpbnB1dCwgaW5kZXgpID0+IHtcbiAgICBmb3IgKGNvbnN0IG1ldHJpYyBvZiBleHRlbmRlZE1ldHJpY3MpIHtcbiAgICAgIGlmICghKG1ldHJpYyBpbiBpbnB1dCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IE1pc3NpbmdBZ2dyZWdhdGlvblBhcmFtRXJyb3IoTUVUUklDX01JU1NJTkcobWV0cmljLCBpbmRleCkpO1xuICAgICAgfVxuXG4gICAgICAvKiogQ2hlY2tzIGlmIG1ldHJpYyBpcyB0aW1lc3RhbXAgb3IgZHVyYXRpb24sIHRoZW4gYWRkcyB0byBhZ2dyZWdhdGVkIHZhbHVlLiAqL1xuICAgICAgaWYgKEFHR1JFR0FUSU9OX0FERElUSU9OQUxfUEFSQU1TLmluY2x1ZGVzKG1ldHJpYykpIHtcbiAgICAgICAgaWYgKGlzVGVtcG9yYWwpIHtcbiAgICAgICAgICBhY2NbbWV0cmljXSA9IGlucHV0W21ldHJpY107XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFjY1ttZXRyaWNdID0gYWNjW21ldHJpY10gPz8gMDtcbiAgICAgICAgYWNjW21ldHJpY10gKz0gcGFyc2VGbG9hdChpbnB1dFttZXRyaWNdKTtcblxuICAgICAgICAvKiogQ2hlY2tzIGZvciB0aGUgbGFzdCBpdGVyYXRpb24uICovXG4gICAgICAgIGlmIChpbmRleCA9PT0gaW5wdXRzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICBpZiAocGFyYW1ldGVyaXplLmdldEFnZ3JlZ2F0aW9uTWV0aG9kKG1ldHJpYykgPT09ICdhdmcnKSB7XG4gICAgICAgICAgICBhY2NbbWV0cmljXSAvPSBpbnB1dHMubGVuZ3RoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9IGFzIEFnZ3JlZ2F0aW9uUmVzdWx0KTtcbn07XG4iXX0=
@@ -1,37 +0,0 @@
1
- import { ProcessArgsOutputs } from '../types/process-args';
2
- import { LoadDiffParams } from '../types/util/args';
3
- /**
4
- * 1. Parses process arguments like `manifest`, `output`, `override-params`, `help` and `debug`.
5
- * 2. Checks if `help` param is provided, then logs help message and exits.
6
- * 3. If output params are missing, warns user about it.
7
- * 3. Otherwise checks if `manifest` param is there, then processes with checking if it's a yaml file.
8
- * If it is, then returns object containing full path.
9
- * 4. If params are missing or invalid, then rejects with `ParseCliParamsError`.
10
- */
11
- export declare const parseIEProcessArgs: () => ProcessArgsOutputs;
12
- /**
13
- * Checks for `source` and `target` flags to be present.
14
- */
15
- export declare const parseIfDiffArgs: () => LoadDiffParams;
16
- /**
17
- * Checks if the `manifest` command is provided and it is valid manifest file.
18
- */
19
- export declare const parseIfEnvArgs: () => Promise<{
20
- manifest: string;
21
- install: boolean | undefined;
22
- cwd: boolean | undefined;
23
- } | {
24
- install: boolean | undefined;
25
- cwd: boolean | undefined;
26
- manifest?: undefined;
27
- }>;
28
- /**
29
- * Checks if either `manifest` or `directory` command is provided.
30
- */
31
- export declare const parseIfCheckArgs: () => Promise<{
32
- manifest: string;
33
- directory?: undefined;
34
- } | {
35
- directory: string;
36
- manifest?: undefined;
37
- }>;
@@ -1,205 +0,0 @@
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.parseIfCheckArgs = exports.parseIfEnvArgs = exports.parseIfDiffArgs = exports.parseIEProcessArgs = void 0;
27
- const path = __importStar(require("path"));
28
- const ts_command_line_args_1 = require("ts-command-line-args");
29
- const utils_1 = require("@grnsft/if-core/utils");
30
- const yaml_1 = require("./yaml");
31
- const fs_1 = require("./fs");
32
- const logger_1 = require("./logger");
33
- const config_1 = require("../config");
34
- const { ParseCliParamsError, CliTargetFileError, CliSourceFileError, InvalidDirectoryError, MissingCliFlagsError, } = utils_1.ERRORS;
35
- const { IE, IF_DIFF, IF_ENV, IF_CHECK } = config_1.CONFIG;
36
- const { MANIFEST_IS_MISSING, MANIFEST_NOT_FOUND, NO_OUTPUT, SOURCE_IS_NOT_YAML, TARGET_IS_NOT_YAML, INVALID_TARGET, IF_CHECK_FLAGS_MISSING, DIRECTORY_NOT_FOUND, } = config_1.STRINGS;
37
- /**
38
- * Validates `ie` process arguments.
39
- */
40
- const validateAndParseProcessArgs = () => {
41
- try {
42
- return (0, ts_command_line_args_1.parse)(IE.ARGS, IE.HELP);
43
- }
44
- catch (error) {
45
- if (error instanceof Error) {
46
- throw new ParseCliParamsError(error.message);
47
- }
48
- throw error;
49
- }
50
- };
51
- /**
52
- * Prepends process path to given `filePath`.
53
- */
54
- const prependFullFilePath = (filePath) => {
55
- const processRunningPath = process.cwd();
56
- if (path.isAbsolute(filePath)) {
57
- return filePath;
58
- }
59
- return path.normalize(`${processRunningPath}/${filePath}`);
60
- };
61
- /**
62
- * 1. Parses process arguments like `manifest`, `output`, `override-params`, `help` and `debug`.
63
- * 2. Checks if `help` param is provided, then logs help message and exits.
64
- * 3. If output params are missing, warns user about it.
65
- * 3. Otherwise checks if `manifest` param is there, then processes with checking if it's a yaml file.
66
- * If it is, then returns object containing full path.
67
- * 4. If params are missing or invalid, then rejects with `ParseCliParamsError`.
68
- */
69
- const parseIEProcessArgs = () => {
70
- const { manifest, output, 'override-params': overrideParams, stdout, debug, } = validateAndParseProcessArgs();
71
- if (!output && !stdout) {
72
- logger_1.logger.warn(NO_OUTPUT);
73
- }
74
- if (manifest) {
75
- if ((0, yaml_1.checkIfFileIsYaml)(manifest)) {
76
- return {
77
- inputPath: prependFullFilePath(manifest),
78
- outputOptions: {
79
- ...(output && { outputPath: prependFullFilePath(output) }),
80
- ...(stdout && { stdout }),
81
- },
82
- ...(overrideParams && { paramPath: overrideParams }),
83
- debug,
84
- };
85
- }
86
- throw new CliSourceFileError(SOURCE_IS_NOT_YAML);
87
- }
88
- throw new CliSourceFileError(MANIFEST_IS_MISSING);
89
- };
90
- exports.parseIEProcessArgs = parseIEProcessArgs;
91
- /** -- IF Diff -- */
92
- /**
93
- * Parses `if-diff` process arguments.
94
- */
95
- const validateAndParseIfDiffArgs = () => {
96
- try {
97
- return (0, ts_command_line_args_1.parse)(IF_DIFF.ARGS, IF_DIFF.HELP);
98
- }
99
- catch (error) {
100
- if (error instanceof Error) {
101
- throw new ParseCliParamsError(error.message);
102
- }
103
- throw error;
104
- }
105
- };
106
- /**
107
- * Checks for `source` and `target` flags to be present.
108
- */
109
- const parseIfDiffArgs = () => {
110
- const { source, target } = validateAndParseIfDiffArgs();
111
- if (target) {
112
- if (source && !(0, yaml_1.checkIfFileIsYaml)(source)) {
113
- throw new CliSourceFileError(SOURCE_IS_NOT_YAML);
114
- }
115
- if ((0, yaml_1.checkIfFileIsYaml)(target)) {
116
- const response = {
117
- targetPath: prependFullFilePath(target),
118
- };
119
- if (source && (0, yaml_1.checkIfFileIsYaml)(source)) {
120
- response.sourcePath = prependFullFilePath(source);
121
- }
122
- return response;
123
- }
124
- throw new CliTargetFileError(TARGET_IS_NOT_YAML);
125
- }
126
- throw new ParseCliParamsError(INVALID_TARGET);
127
- };
128
- exports.parseIfDiffArgs = parseIfDiffArgs;
129
- /** -- IF Env -- */
130
- /**
131
- * Parses `if-env` process arguments.
132
- */
133
- const validateAndParseIfEnvArgs = () => {
134
- try {
135
- return (0, ts_command_line_args_1.parse)(IF_ENV.ARGS, IF_ENV.HELP);
136
- }
137
- catch (error) {
138
- if (error instanceof Error) {
139
- throw new ParseCliParamsError(error.message);
140
- }
141
- throw error;
142
- }
143
- };
144
- /**
145
- * Checks if the `manifest` command is provided and it is valid manifest file.
146
- */
147
- const parseIfEnvArgs = async () => {
148
- const { manifest, install, cwd } = validateAndParseIfEnvArgs();
149
- if (manifest) {
150
- const response = prependFullFilePath(manifest);
151
- const isManifestFileExists = await (0, fs_1.isFileExists)(response);
152
- if (!isManifestFileExists) {
153
- throw new ParseCliParamsError(MANIFEST_NOT_FOUND);
154
- }
155
- if ((0, yaml_1.checkIfFileIsYaml)(manifest)) {
156
- return { manifest: response, install, cwd };
157
- }
158
- throw new CliSourceFileError(SOURCE_IS_NOT_YAML);
159
- }
160
- return { install, cwd };
161
- };
162
- exports.parseIfEnvArgs = parseIfEnvArgs;
163
- /** -- IF Check -- */
164
- /**
165
- * Parses `if-check` process arguments.
166
- */
167
- const validateAndParseIfCheckArgs = () => {
168
- try {
169
- return (0, ts_command_line_args_1.parse)(IF_CHECK.ARGS, IF_CHECK.HELP);
170
- }
171
- catch (error) {
172
- if (error instanceof Error) {
173
- throw new ParseCliParamsError(error.message);
174
- }
175
- throw error;
176
- }
177
- };
178
- /**
179
- * Checks if either `manifest` or `directory` command is provided.
180
- */
181
- const parseIfCheckArgs = async () => {
182
- const { manifest, directory } = validateAndParseIfCheckArgs();
183
- if (manifest) {
184
- const response = prependFullFilePath(manifest);
185
- const isManifestFileExists = await (0, fs_1.isFileExists)(response);
186
- if (!isManifestFileExists) {
187
- throw new ParseCliParamsError(MANIFEST_NOT_FOUND);
188
- }
189
- if ((0, yaml_1.checkIfFileIsYaml)(manifest)) {
190
- return { manifest };
191
- }
192
- throw new CliSourceFileError(SOURCE_IS_NOT_YAML);
193
- }
194
- else if (directory) {
195
- const isDirExists = await (0, fs_1.isDirectoryExists)(directory);
196
- if (!isDirExists) {
197
- throw new InvalidDirectoryError(DIRECTORY_NOT_FOUND);
198
- }
199
- const response = prependFullFilePath(directory);
200
- return { directory: response };
201
- }
202
- throw new MissingCliFlagsError(IF_CHECK_FLAGS_MISSING);
203
- };
204
- exports.parseIfCheckArgs = parseIfCheckArgs;
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2FyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNkI7QUFFN0IsK0RBQTJDO0FBQzNDLGlEQUE2QztBQUU3QyxpQ0FBeUM7QUFFekMsNkJBQXFEO0FBRXJELHFDQUFnQztBQUVoQyxzQ0FBMEM7QUFXMUMsTUFBTSxFQUNKLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixvQkFBb0IsR0FDckIsR0FBRyxjQUFNLENBQUM7QUFFWCxNQUFNLEVBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRS9DLE1BQU0sRUFDSixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLFNBQVMsRUFDVCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsbUJBQW1CLEdBQ3BCLEdBQUcsZ0JBQU8sQ0FBQztBQUVaOztHQUVHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxHQUFHLEVBQUU7SUFDdkMsSUFBSTtRQUNGLE9BQU8sSUFBQSw0QkFBSyxFQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3hDO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUU7WUFDMUIsTUFBTSxJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM5QztRQUVELE1BQU0sS0FBSyxDQUFDO0tBQ2I7QUFDSCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUU7SUFDL0MsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7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QztLQUM5QjtJQUVELE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQztBQTdCVyxRQUFBLGdCQUFnQixvQkE2QjNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0IHtwYXJzZX0gZnJvbSAndHMtY29tbWFuZC1saW5lLWFyZ3MnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5cbmltcG9ydCB7Y2hlY2tJZkZpbGVJc1lhbWx9IGZyb20gJy4veWFtbCc7XG5cbmltcG9ydCB7aXNEaXJlY3RvcnlFeGlzdHMsIGlzRmlsZUV4aXN0c30gZnJvbSAnLi9mcyc7XG5cbmltcG9ydCB7bG9nZ2VyfSBmcm9tICcuL2xvZ2dlcic7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge1xuICBJRkRpZmZBcmdzLFxuICBJRUFyZ3MsXG4gIFByb2Nlc3NBcmdzT3V0cHV0cyxcbiAgSUZFbnZBcmdzLFxuICBJRkNoZWNrQXJncyxcbn0gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcbmltcG9ydCB7TG9hZERpZmZQYXJhbXN9IGZyb20gJy4uL3R5cGVzL3V0aWwvYXJncyc7XG5cbmNvbnN0IHtcbiAgUGFyc2VDbGlQYXJhbXNFcnJvcixcbiAgQ2xpVGFyZ2V0RmlsZUVycm9yLFxuICBDbGlTb3VyY2VGaWxlRXJyb3IsXG4gIEludmFsaWREaXJlY3RvcnlFcnJvcixcbiAgTWlzc2luZ0NsaUZsYWdzRXJyb3IsXG59ID0gRVJST1JTO1xuXG5jb25zdCB7SUUsIElGX0RJRkYsIElGX0VOViwgSUZfQ0hFQ0t9ID0gQ09ORklHO1xuXG5jb25zdCB7XG4gIE1BTklGRVNUX0lTX01JU1NJTkcsXG4gIE1BTklGRVNUX05PVF9GT1VORCxcbiAgTk9fT1VUUFVULFxuICBTT1VSQ0VfSVNfTk9UX1lBTUwsXG4gIFRBUkdFVF9JU19OT1RfWUFNTCxcbiAgSU5WQUxJRF9UQVJHRVQsXG4gIElGX0NIRUNLX0ZMQUdTX01JU1NJTkcsXG4gIERJUkVDVE9SWV9OT1RfRk9VTkQsXG59ID0gU1RSSU5HUztcblxuLyoqXG4gKiBWYWxpZGF0ZXMgYGllYCBwcm9jZXNzIGFyZ3VtZW50cy5cbiAqL1xuY29uc3QgdmFsaWRhdGVBbmRQYXJzZVByb2Nlc3NBcmdzID0gKCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZTxJRUFyZ3M+KElFLkFSR1MsIElFLkhFTFApO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuLyoqXG4gKiBQcmVwZW5kcyBwcm9jZXNzIHBhdGggdG8gZ2l2ZW4gYGZpbGVQYXRoYC5cbiAqL1xuY29uc3QgcHJlcGVuZEZ1bGxGaWxlUGF0aCA9IChmaWxlUGF0aDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHByb2Nlc3NSdW5uaW5nUGF0aCA9IHByb2Nlc3MuY3dkKCk7XG5cbiAgaWYgKHBhdGguaXNBYnNvbHV0ZShmaWxlUGF0aCkpIHtcbiAgICByZXR1cm4gZmlsZVBhdGg7XG4gIH1cblxuICByZXR1cm4gcGF0aC5ub3JtYWxpemUoYCR7cHJvY2Vzc1J1bm5pbmdQYXRofS8ke2ZpbGVQYXRofWApO1xufTtcblxuLyoqXG4gKiAxLiBQYXJzZXMgcHJvY2VzcyBhcmd1bWVudHMgbGlrZSBgbWFuaWZlc3RgLCBgb3V0cHV0YCwgYG92ZXJyaWRlLXBhcmFtc2AsIGBoZWxwYCBhbmQgYGRlYnVnYC5cbiAqIDIuIENoZWNrcyBpZiBgaGVscGAgcGFyYW0gaXMgcHJvdmlkZWQsIHRoZW4gbG9ncyBoZWxwIG1lc3NhZ2UgYW5kIGV4aXRzLlxuICogMy4gSWYgb3V0cHV0IHBhcmFtcyBhcmUgbWlzc2luZywgd2FybnMgdXNlciBhYm91dCBpdC5cbiAqIDMuIE90aGVyd2lzZSBjaGVja3MgaWYgYG1hbmlmZXN0YCBwYXJhbSBpcyB0aGVyZSwgdGhlbiBwcm9jZXNzZXMgd2l0aCBjaGVja2luZyBpZiBpdCdzIGEgeWFtbCBmaWxlLlxuICogICAgSWYgaXQgaXMsIHRoZW4gcmV0dXJucyBvYmplY3QgY29udGFpbmluZyBmdWxsIHBhdGguXG4gKiA0LiBJZiBwYXJhbXMgYXJlIG1pc3Npbmcgb3IgaW52YWxpZCwgdGhlbiByZWplY3RzIHdpdGggYFBhcnNlQ2xpUGFyYW1zRXJyb3JgLlxuICovXG5leHBvcnQgY29uc3QgcGFyc2VJRVByb2Nlc3NBcmdzID0gKCk6IFByb2Nlc3NBcmdzT3V0cHV0cyA9PiB7XG4gIGNvbnN0IHtcbiAgICBtYW5pZmVzdCxcbiAgICBvdXRwdXQsXG4gICAgJ292ZXJyaWRlLXBhcmFtcyc6IG92ZXJyaWRlUGFyYW1zLFxuICAgIHN0ZG91dCxcbiAgICBkZWJ1ZyxcbiAgfSA9IHZhbGlkYXRlQW5kUGFyc2VQcm9jZXNzQXJncygpO1xuXG4gIGlmICghb3V0cHV0ICYmICFzdGRvdXQpIHtcbiAgICBsb2dnZXIud2FybihOT19PVVRQVVQpO1xuICB9XG5cbiAgaWYgKG1hbmlmZXN0KSB7XG4gICAgaWYgKGNoZWNrSWZGaWxlSXNZYW1sKG1hbmlmZXN0KSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaW5wdXRQYXRoOiBwcmVwZW5kRnVsbEZpbGVQYXRoKG1hbmlmZXN0KSxcbiAgICAgICAgb3V0cHV0T3B0aW9uczoge1xuICAgICAgICAgIC4uLihvdXRwdXQgJiYge291dHB1dFBhdGg6IHByZXBlbmRGdWxsRmlsZVBhdGgob3V0cHV0KX0pLFxuICAgICAgICAgIC4uLihzdGRvdXQgJiYge3N0ZG91dH0pLFxuICAgICAgICB9LFxuICAgICAgICAuLi4ob3ZlcnJpZGVQYXJhbXMgJiYge3BhcmFtUGF0aDogb3ZlcnJpZGVQYXJhbXN9KSxcbiAgICAgICAgZGVidWcsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBDbGlTb3VyY2VGaWxlRXJyb3IoU09VUkNFX0lTX05PVF9ZQU1MKTtcbiAgfVxuXG4gIHRocm93IG5ldyBDbGlTb3VyY2VGaWxlRXJyb3IoTUFOSUZFU1RfSVNfTUlTU0lORyk7XG59O1xuXG4vKiogLS0gSUYgRGlmZiAtLSAqL1xuXG4vKipcbiAqIFBhcnNlcyBgaWYtZGlmZmAgcHJvY2VzcyBhcmd1bWVudHMuXG4gKi9cbmNvbnN0IHZhbGlkYXRlQW5kUGFyc2VJZkRpZmZBcmdzID0gKCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZTxJRkRpZmZBcmdzPihJRl9ESUZGLkFSR1MsIElGX0RJRkYuSEVMUCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZUNsaVBhcmFtc0Vycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG4vKipcbiAqIENoZWNrcyBmb3IgYHNvdXJjZWAgYW5kIGB0YXJnZXRgIGZsYWdzIHRvIGJlIHByZXNlbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZUlmRGlmZkFyZ3MgPSAoKSA9PiB7XG4gIGNvbnN0IHtzb3VyY2UsIHRhcmdldH0gPSB2YWxpZGF0ZUFuZFBhcnNlSWZEaWZmQXJncygpO1xuXG4gIGlmICh0YXJnZXQpIHtcbiAgICBpZiAoc291cmNlICYmICFjaGVja0lmRmlsZUlzWWFtbChzb3VyY2UpKSB7XG4gICAgICB0aHJvdyBuZXcgQ2xpU291cmNlRmlsZUVycm9yKFNPVVJDRV9JU19OT1RfWUFNTCk7XG4gICAgfVxuXG4gICAgaWYgKGNoZWNrSWZGaWxlSXNZYW1sKHRhcmdldCkpIHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBMb2FkRGlmZlBhcmFtcyA9IHtcbiAgICAgICAgdGFyZ2V0UGF0aDogcHJlcGVuZEZ1bGxGaWxlUGF0aCh0YXJnZXQpLFxuICAgICAgfTtcblxuICAgICAgaWYgKHNvdXJjZSAmJiBjaGVja0lmRmlsZUlzWWFtbChzb3VyY2UpKSB7XG4gICAgICAgIHJlc3BvbnNlLnNvdXJjZVBhdGggPSBwcmVwZW5kRnVsbEZpbGVQYXRoKHNvdXJjZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgQ2xpVGFyZ2V0RmlsZUVycm9yKFRBUkdFVF9JU19OT1RfWUFNTCk7XG4gIH1cblxuICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihJTlZBTElEX1RBUkdFVCk7XG59O1xuXG4vKiogLS0gSUYgRW52IC0tICovXG5cbi8qKlxuICogUGFyc2VzIGBpZi1lbnZgIHByb2Nlc3MgYXJndW1lbnRzLlxuICovXG5jb25zdCB2YWxpZGF0ZUFuZFBhcnNlSWZFbnZBcmdzID0gKCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZTxJRkVudkFyZ3M+KElGX0VOVi5BUkdTLCBJRl9FTlYuSEVMUCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZUNsaVBhcmFtc0Vycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgYG1hbmlmZXN0YCBjb21tYW5kIGlzIHByb3ZpZGVkIGFuZCBpdCBpcyB2YWxpZCBtYW5pZmVzdCBmaWxlLlxuICovXG5leHBvcnQgY29uc3QgcGFyc2VJZkVudkFyZ3MgPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHttYW5pZmVzdCwgaW5zdGFsbCwgY3dkfSA9IHZhbGlkYXRlQW5kUGFyc2VJZkVudkFyZ3MoKTtcblxuICBpZiAobWFuaWZlc3QpIHtcbiAgICBjb25zdCByZXNwb25zZSA9IHByZXBlbmRGdWxsRmlsZVBhdGgobWFuaWZlc3QpO1xuICAgIGNvbnN0IGlzTWFuaWZlc3RGaWxlRXhpc3RzID0gYXdhaXQgaXNGaWxlRXhpc3RzKHJlc3BvbnNlKTtcblxuICAgIGlmICghaXNNYW5pZmVzdEZpbGVFeGlzdHMpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZUNsaVBhcmFtc0Vycm9yKE1BTklGRVNUX05PVF9GT1VORCk7XG4gICAgfVxuXG4gICAgaWYgKGNoZWNrSWZGaWxlSXNZYW1sKG1hbmlmZXN0KSkge1xuICAgICAgcmV0dXJuIHttYW5pZmVzdDogcmVzcG9uc2UsIGluc3RhbGwsIGN3ZH07XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IENsaVNvdXJjZUZpbGVFcnJvcihTT1VSQ0VfSVNfTk9UX1lBTUwpO1xuICB9XG5cbiAgcmV0dXJuIHtpbnN0YWxsLCBjd2R9O1xufTtcblxuLyoqIC0tIElGIENoZWNrIC0tICovXG5cbi8qKlxuICogUGFyc2VzIGBpZi1jaGVja2AgcHJvY2VzcyBhcmd1bWVudHMuXG4gKi9cbmNvbnN0IHZhbGlkYXRlQW5kUGFyc2VJZkNoZWNrQXJncyA9ICgpID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2U8SUZDaGVja0FyZ3M+KElGX0NIRUNLLkFSR1MsIElGX0NIRUNLLkhFTFApO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgZWl0aGVyIGBtYW5pZmVzdGAgb3IgYGRpcmVjdG9yeWAgY29tbWFuZCBpcyBwcm92aWRlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlSWZDaGVja0FyZ3MgPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHttYW5pZmVzdCwgZGlyZWN0b3J5fSA9IHZhbGlkYXRlQW5kUGFyc2VJZkNoZWNrQXJncygpO1xuXG4gIGlmIChtYW5pZmVzdCkge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gcHJlcGVuZEZ1bGxGaWxlUGF0aChtYW5pZmVzdCk7XG4gICAgY29uc3QgaXNNYW5pZmVzdEZpbGVFeGlzdHMgPSBhd2FpdCBpc0ZpbGVFeGlzdHMocmVzcG9uc2UpO1xuXG4gICAgaWYgKCFpc01hbmlmZXN0RmlsZUV4aXN0cykge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlQ2xpUGFyYW1zRXJyb3IoTUFOSUZFU1RfTk9UX0ZPVU5EKTtcbiAgICB9XG5cbiAgICBpZiAoY2hlY2tJZkZpbGVJc1lhbWwobWFuaWZlc3QpKSB7XG4gICAgICByZXR1cm4ge21hbmlmZXN0fTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgQ2xpU291cmNlRmlsZUVycm9yKFNPVVJDRV9JU19OT1RfWUFNTCk7XG4gIH0gZWxzZSBpZiAoZGlyZWN0b3J5KSB7XG4gICAgY29uc3QgaXNEaXJFeGlzdHMgPSBhd2FpdCBpc0RpcmVjdG9yeUV4aXN0cyhkaXJlY3RvcnkpO1xuXG4gICAgaWYgKCFpc0RpckV4aXN0cykge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWREaXJlY3RvcnlFcnJvcihESVJFQ1RPUllfTk9UX0ZPVU5EKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA9IHByZXBlbmRGdWxsRmlsZVBhdGgoZGlyZWN0b3J5KTtcblxuICAgIHJldHVybiB7ZGlyZWN0b3J5OiByZXNwb25zZX07XG4gIH1cblxuICB0aHJvdyBuZXcgTWlzc2luZ0NsaUZsYWdzRXJyb3IoSUZfQ0hFQ0tfRkxBR1NfTUlTU0lORyk7XG59O1xuIl19