@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.
- package/README.md +5 -17
- package/Refactor-migration-guide.md +110 -164
- package/build/common/config/index.d.ts +1 -0
- package/build/common/config/index.js +6 -0
- package/build/common/config/strings.d.ts +8 -0
- package/build/common/config/strings.js +16 -0
- package/build/common/lib/load.d.ts +6 -0
- package/build/common/lib/load.js +18 -0
- package/build/{types → common/types}/manifest.d.ts +4 -1
- package/build/common/types/manifest.js +3 -0
- package/build/common/util/debug-logger.js +115 -0
- package/build/common/util/fs.js +94 -0
- package/build/common/util/helpers.d.ts +15 -0
- package/build/common/util/helpers.js +80 -0
- package/build/{util → common/util}/logger.js +1 -1
- package/build/{util → common/util}/validations.d.ts +149 -47
- package/build/common/util/validations.js +141 -0
- package/build/common/util/yaml.js +59 -0
- package/build/if-check/config/config.d.ts +6 -0
- package/build/if-check/config/config.js +31 -0
- package/build/{config → if-check/config}/index.d.ts +0 -1
- package/build/if-check/config/index.js +8 -0
- package/build/if-check/config/strings.d.ts +12 -0
- package/build/if-check/config/strings.js +16 -0
- package/build/if-check/index.js +98 -0
- package/build/if-check/types/process-args.d.ts +4 -0
- package/build/if-check/types/process-args.js +3 -0
- package/build/if-check/util/args.d.ts +10 -0
- package/build/if-check/util/args.js +56 -0
- package/build/if-check/util/helpers.d.ts +4 -0
- package/build/if-check/util/helpers.js +18 -0
- package/build/if-check/util/npm.d.ts +4 -0
- package/build/if-check/util/npm.js +59 -0
- package/build/if-csv/config/config.d.ts +6 -0
- package/build/if-csv/config/config.js +37 -0
- package/build/if-csv/config/index.d.ts +2 -0
- package/build/if-csv/config/index.js +8 -0
- package/build/if-csv/config/strings.d.ts +4 -0
- package/build/if-csv/config/strings.js +8 -0
- package/build/if-csv/index.js +63 -0
- package/build/if-csv/types/csv.d.ts +7 -0
- package/build/if-csv/types/csv.js +3 -0
- package/build/if-csv/types/process-args.d.ts +5 -0
- package/build/if-csv/types/process-args.js +3 -0
- package/build/if-csv/util/args.d.ts +12 -0
- package/build/if-csv/util/args.js +51 -0
- package/build/if-csv/util/helpers.d.ts +9 -0
- package/build/if-csv/util/helpers.js +95 -0
- package/build/if-diff/config/config.d.ts +6 -0
- package/build/if-diff/config/config.js +31 -0
- package/build/if-diff/config/index.d.ts +2 -0
- package/build/if-diff/config/index.js +8 -0
- package/build/if-diff/config/strings.d.ts +6 -0
- package/build/if-diff/config/strings.js +10 -0
- package/build/if-diff/index.js +46 -0
- package/build/{lib → if-diff/lib}/compare.d.ts +1 -1
- package/build/if-diff/lib/compare.js +56 -0
- package/build/{lib → if-diff/lib}/load.d.ts +16 -18
- package/build/if-diff/lib/load.js +51 -0
- package/build/if-diff/types/args.js +3 -0
- package/build/if-diff/types/compare.js +3 -0
- package/build/if-diff/types/process-args.d.ts +4 -0
- package/build/if-diff/types/process-args.js +3 -0
- package/build/if-diff/util/args.d.ts +5 -0
- package/build/if-diff/util/args.js +51 -0
- package/build/if-diff/util/helpers.d.ts +13 -0
- package/build/if-diff/util/helpers.js +75 -0
- package/build/if-env/config/config.d.ts +6 -0
- package/build/if-env/config/config.js +37 -0
- package/build/if-env/config/index.d.ts +2 -0
- package/build/if-env/config/index.js +8 -0
- package/build/if-env/config/strings.d.ts +7 -0
- package/build/if-env/config/strings.js +11 -0
- package/build/if-env/index.js +40 -0
- package/build/if-env/types/if-env.js +3 -0
- package/build/if-env/types/npm.js +3 -0
- package/build/if-env/types/process-args.d.ts +5 -0
- package/build/if-env/types/process-args.js +3 -0
- package/build/if-env/util/args.d.ts +12 -0
- package/build/if-env/util/args.js +47 -0
- package/build/if-env/util/helpers.d.ts +20 -0
- package/build/if-env/util/helpers.js +94 -0
- package/build/{util → if-env/util}/npm.d.ts +0 -4
- package/build/if-env/util/npm.js +126 -0
- package/build/if-run/builtins/coefficient/index.d.ts +2 -0
- package/build/if-run/builtins/coefficient/index.js +67 -0
- package/build/if-run/builtins/copy-param/index.d.ts +2 -0
- package/build/if-run/builtins/copy-param/index.js +70 -0
- package/build/if-run/builtins/csv-lookup/index.d.ts +2 -0
- package/build/if-run/builtins/csv-lookup/index.js +190 -0
- package/build/if-run/builtins/divide/index.d.ts +2 -0
- package/build/if-run/builtins/divide/index.js +80 -0
- package/build/if-run/builtins/exponent/index.d.ts +2 -0
- package/build/if-run/builtins/exponent/index.js +60 -0
- package/build/{builtins → if-run/builtins}/export-log.d.ts +1 -1
- package/build/{builtins → if-run/builtins}/export-log.js +1 -1
- package/build/{builtins → if-run/builtins}/export-yaml.d.ts +1 -1
- package/build/if-run/builtins/export-yaml.js +30 -0
- package/build/{builtins → if-run/builtins}/index.d.ts +1 -2
- package/build/{builtins → if-run/builtins}/index.js +4 -6
- package/build/if-run/builtins/interpolation/index.d.ts +2 -0
- package/build/if-run/builtins/interpolation/index.js +151 -0
- package/build/if-run/builtins/mock-observations/helpers/common-generator.js +29 -0
- package/build/if-run/builtins/mock-observations/helpers/rand-int-generator.js +48 -0
- package/build/if-run/builtins/mock-observations/index.d.ts +2 -0
- package/build/if-run/builtins/mock-observations/index.js +116 -0
- package/build/if-run/builtins/mock-observations/interfaces/index.js +3 -0
- package/build/if-run/builtins/multiply/index.d.ts +2 -0
- package/build/if-run/builtins/multiply/index.js +59 -0
- package/build/if-run/builtins/regex/index.d.ts +2 -0
- package/build/if-run/builtins/regex/index.js +76 -0
- package/build/if-run/builtins/sci/config.js +44 -0
- package/build/if-run/builtins/sci/index.d.ts +2 -0
- package/build/if-run/builtins/sci/index.js +92 -0
- package/build/if-run/builtins/sci-embodied/index.d.ts +2 -0
- package/build/if-run/builtins/sci-embodied/index.js +156 -0
- package/build/if-run/builtins/shell/index.d.ts +2 -0
- package/build/if-run/builtins/shell/index.js +60 -0
- package/build/if-run/builtins/subtract/index.d.ts +2 -0
- package/build/if-run/builtins/subtract/index.js +61 -0
- package/build/if-run/builtins/sum/index.d.ts +2 -0
- package/build/if-run/builtins/sum/index.js +66 -0
- package/build/if-run/builtins/time-sync/index.d.ts +17 -0
- package/build/if-run/builtins/time-sync/index.js +339 -0
- package/build/if-run/config/config.d.ts +9 -0
- package/build/if-run/config/config.js +73 -0
- package/build/if-run/config/index.d.ts +2 -0
- package/build/if-run/config/index.js +8 -0
- package/build/{config → if-run/config}/strings.d.ts +28 -54
- package/build/if-run/config/strings.js +76 -0
- package/build/if-run/index.d.ts +2 -0
- package/build/if-run/index.js +63 -0
- package/build/if-run/lib/aggregate.d.ts +15 -0
- package/build/if-run/lib/aggregate.js +123 -0
- package/build/if-run/lib/compute.js +136 -0
- package/build/{lib → if-run/lib}/environment.d.ts +1 -1
- package/build/if-run/lib/environment.js +75 -0
- package/build/{lib → if-run/lib}/exhaust.d.ts +1 -1
- package/build/if-run/lib/exhaust.js +27 -0
- package/build/if-run/lib/explain.d.ts +9 -0
- package/build/if-run/lib/explain.js +43 -0
- package/build/if-run/lib/initialize.d.ts +6 -0
- package/build/if-run/lib/initialize.js +109 -0
- package/build/if-run/lib/regroup.d.ts +5 -0
- package/build/if-run/lib/regroup.js +64 -0
- package/build/if-run/types/aggregation.d.ts +5 -0
- package/build/if-run/types/aggregation.js +6 -0
- package/build/{types → if-run/types}/compute.d.ts +12 -8
- package/build/if-run/types/compute.js +3 -0
- package/build/if-run/types/environment.js +3 -0
- package/build/{types → if-run/types}/exhaust-plugin-interface.d.ts +1 -1
- package/build/if-run/types/exhaust-plugin-interface.js +3 -0
- package/build/if-run/types/explain.d.ts +10 -0
- package/build/if-run/types/explain.js +3 -0
- package/build/if-run/types/interface.d.ts +3 -0
- package/build/if-run/types/interface.js +6 -0
- package/build/if-run/types/plugin-storage.js +3 -0
- package/build/if-run/types/process-args.d.ts +25 -0
- package/build/if-run/types/process-args.js +3 -0
- package/build/if-run/types/time-sync.js +3 -0
- package/build/{util → if-run/util}/aggregation-helper.d.ts +2 -1
- package/build/if-run/util/aggregation-helper.js +47 -0
- package/build/if-run/util/args.d.ts +9 -0
- package/build/if-run/util/args.js +60 -0
- package/build/if-run/util/helpers.d.ts +14 -0
- package/build/if-run/util/helpers.js +57 -0
- package/build/if-run/util/log-memoize.js +19 -0
- package/build/if-run/util/os-checker.js +97 -0
- package/build/{util → if-run/util}/plugin-storage.d.ts +1 -1
- package/build/if-run/util/plugin-storage.js +34 -0
- package/jest.config.js +2 -6
- package/manifests/examples/builtins/coefficient/failure-invalid-config-input-param.yml +2 -2
- package/manifests/examples/builtins/coefficient/failure-output-param-is-null.yaml +3 -3
- package/manifests/examples/builtins/coefficient/success.yml +2 -2
- package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +3 -3
- package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +3 -3
- package/manifests/examples/builtins/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yml +3 -3
- package/manifests/examples/builtins/csv-lookup/cloud-metadata/success.yml +3 -3
- package/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-column.yml +3 -3
- package/manifests/examples/builtins/csv-lookup/region-metadata/failure-missing-output.yml +3 -3
- package/manifests/examples/builtins/csv-lookup/region-metadata/success-renaming.yml +4 -4
- package/manifests/examples/builtins/csv-lookup/region-metadata/success.yml +3 -3
- package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-missing-input-param.yml +2 -2
- package/manifests/examples/builtins/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yml +2 -2
- package/manifests/examples/builtins/csv-lookup/tdp-finder/success.yml +2 -2
- package/manifests/examples/builtins/divide/failure-denominator-equal-zero.yml +4 -4
- package/manifests/examples/builtins/divide/failure-invalid-config-denominator.yml +5 -5
- package/manifests/examples/builtins/divide/failure-missing-numerator.yml +4 -4
- package/manifests/examples/builtins/divide/success.yml +4 -6
- package/manifests/examples/builtins/exponent/success.yml +5 -7
- package/manifests/examples/builtins/interpolation/interpolation.yml +2 -2
- package/manifests/examples/builtins/interpolation/success.yml +2 -1
- package/manifests/examples/builtins/mock-observations/failure-invalid-config-cpu-range.yml +2 -2
- package/manifests/examples/builtins/mock-observations/failure-invalid-memory-utilization-range.yml +2 -2
- package/manifests/examples/builtins/mock-observations/failure-missing-timestamp-from-param.yml +2 -2
- package/manifests/examples/builtins/mock-observations/success.yml +2 -2
- package/manifests/examples/builtins/multiply/failure-input-parameter-is-missing.yml +2 -4
- package/manifests/examples/builtins/multiply/success-with-multiple-inputs.yml +2 -4
- package/manifests/examples/builtins/multiply/success.yml +3 -4
- package/manifests/examples/builtins/regex/failure-missing-input-param.yml +2 -4
- package/manifests/examples/builtins/regex/failure-not-matching-with-regex.yml +2 -4
- package/manifests/examples/builtins/regex/success.yml +2 -4
- package/manifests/examples/builtins/sci/failure-invalid-config-value.yml +2 -2
- package/manifests/examples/builtins/sci/failure-missing-input-param.yml +3 -2
- package/manifests/examples/builtins/sci/success.yml +2 -3
- package/manifests/examples/builtins/sci-embodied/failure-invalid-default-emission-value.yml +3 -3
- package/manifests/examples/builtins/sci-embodied/failure-missing-expected-lifespan.yml +2 -2
- package/manifests/examples/builtins/sci-embodied/success.yml +2 -2
- package/manifests/examples/builtins/shell/failure-invalid-command.yml +2 -2
- package/manifests/examples/builtins/shell/success.yml +2 -1
- package/manifests/examples/builtins/subtract/success.yml +6 -8
- package/manifests/examples/builtins/sum/failure-missing-input-param.yml +2 -4
- package/manifests/examples/builtins/sum/failure-missing-output-param.yml +3 -5
- package/manifests/examples/builtins/sum/success.yml +2 -4
- package/manifests/examples/builtins/time-sync/failure-config-start-later-end.yml +3 -3
- package/manifests/examples/builtins/time-sync/failure-missing-global-config.yml +3 -3
- package/manifests/examples/builtins/time-sync/success.yml +2 -2
- package/manifests/examples/{builtins/groupby/failure-invalid-config-group.yml → features/regroup/failure-invalid-regroup.yml} +4 -11
- package/manifests/examples/{builtins/groupby → features/regroup}/failure-missing-cloud-instance-type.yml +5 -12
- package/manifests/examples/{builtins/groupby → features/regroup}/success.yml +4 -11
- package/manifests/examples/pipelines/generics.yml +12 -13
- package/manifests/examples/pipelines/instance-metadata.yml +4 -5
- package/manifests/examples/pipelines/nesting.yml +157 -50
- package/manifests/examples/pipelines/outputs-if-diff/pipeline-with-aggregate.yaml +997 -0
- package/manifests/examples/pipelines/outputs-if-diff/pipeline-with-mocks.yaml +1059 -0
- package/manifests/examples/pipelines/pipeline-teads-sci.yml +11 -11
- package/manifests/examples/pipelines/pipeline-with-aggregate.yml +114 -37
- package/manifests/examples/pipelines/pipeline-with-mocks.yml +193 -103
- package/manifests/examples/pipelines/scenario-1.yml +34 -0
- package/manifests/examples/pipelines/scenario-2.yml +52 -0
- package/manifests/examples/pipelines/scenario-3.yml +86 -0
- package/manifests/examples/pipelines/scenario-4.yml +46 -0
- package/manifests/examples/pipelines/scenario-5.yml +46 -0
- package/manifests/examples/pipelines/sci.yml +15 -17
- package/manifests/examples/pipelines/teads-curve.yml +7 -6
- package/manifests/examples/pipelines/zeros.yml +15 -16
- package/manifests/outputs/bugs/aggregation-error-wrong-metric.yaml +51 -59
- package/manifests/outputs/bugs/input-error-missing-duration.yaml +14 -16
- package/manifests/outputs/bugs/mock-observations-failure-duration-is-zero.yaml +14 -16
- package/manifests/outputs/bugs/pipeline-error-naming-mismatch.yaml +14 -16
- package/manifests/outputs/bugs/pipeline-error-uninitialized-plugin.yaml +15 -17
- package/manifests/outputs/bugs/pipeline-ordering-error.yaml +23 -26
- package/manifests/outputs/bugs/sci-embodied-missing-resources-total.yaml +13 -14
- package/manifests/outputs/{plugins → builtins}/coefficient/failure-invalid-config-input-param.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/coefficient/failure-output-param-is-null.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/coefficient/success.yaml +11 -16
- package/manifests/outputs/builtins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +76 -0
- package/manifests/outputs/{plugins → builtins}/csv-lookup/cloud-metadata/failure-missing-cloud-vendor.yaml +16 -19
- package/manifests/outputs/{plugins → builtins}/csv-lookup/cloud-metadata/success.yaml +16 -19
- package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/failure-missing-column.yaml +14 -15
- package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/failure-missing-output.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/success-renaming.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/csv-lookup/region-metadata/success.yaml +14 -16
- package/manifests/outputs/{plugins → builtins}/csv-lookup/tdp-finder/failure-missing-input-param.yaml +13 -16
- package/manifests/outputs/{plugins → builtins}/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/csv-lookup/tdp-finder/success.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/divide/failure-invalid-config-denominator.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/divide/failure-missing-numerator.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/divide/success-denominator-equal-zero.yaml +14 -18
- package/manifests/outputs/{plugins → builtins}/divide/success.yaml +14 -18
- package/manifests/outputs/{plugins → builtins}/exponent/success.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/interpolation/interpolation.yaml +14 -16
- package/manifests/outputs/{plugins → builtins}/interpolation/success.yaml +14 -16
- package/manifests/outputs/{plugins → builtins}/mock-observations/failure-invalid-config-cpu-range.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/mock-observations/failure-invalid-memory-utilization-range.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/mock-observations/failure-missing-timestamp-from-param.yaml +13 -15
- package/manifests/outputs/builtins/mock-observations/success.yaml +358 -0
- package/manifests/outputs/{plugins → builtins}/multiply/failure-input-parameter-is-missing.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/multiply/success-with-multiple-inputs.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/multiply/success.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/regex/failure-missing-input-param.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/regex/success.yaml +14 -19
- package/manifests/outputs/{plugins → builtins}/sci/failure-invalid-config-value.yaml +14 -16
- package/manifests/outputs/{plugins → builtins}/sci/failure-missing-input-param.yaml +13 -15
- package/manifests/outputs/{plugins/sci/success.yml.yaml → builtins/sci/success.yaml} +13 -16
- package/manifests/outputs/{plugins → builtins}/sci-embodied/failure-invalid-default-emission-value.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/sci-embodied/failure-missing-expected-lifespan.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/sci-embodied/success.yaml +13 -15
- package/manifests/outputs/{plugins → builtins}/shell/failure-invalid-command.yaml +14 -16
- package/manifests/outputs/{plugins → builtins}/shell/success.yaml +14 -16
- package/manifests/outputs/{plugins → builtins}/subtract/success.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/sum/failure-missing-input-param.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/sum/failure-missing-output-param.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/sum/success.yaml +13 -17
- package/manifests/outputs/{plugins → builtins}/time-sync/failure-config-start-later-end.yaml +20 -23
- package/manifests/outputs/{plugins → builtins}/time-sync/success.yaml +38 -35
- package/manifests/outputs/features/aggregate-failure-invalid-metrics.yaml +17 -18
- package/manifests/outputs/features/aggregate-failure-missing-metric-in-inputs.yaml +17 -18
- package/manifests/outputs/features/aggregate-horizontal.yaml +27 -23
- package/manifests/outputs/features/aggregate-vertical.yaml +33 -29
- package/manifests/outputs/features/aggregate.yaml +33 -29
- package/manifests/outputs/{plugins/groupby/failure-invalid-config-group.yaml → features/failure-invalid-regroup.yaml} +16 -25
- package/manifests/outputs/{plugins/groupby → features}/failure-missing-cloud-instance-type.yaml +16 -25
- package/manifests/outputs/pipelines/cloud-metadata-divide.yaml +14 -18
- package/manifests/outputs/pipelines/generics.yaml +239 -0
- package/manifests/outputs/pipelines/instance-metadata.yaml +98 -0
- package/manifests/outputs/pipelines/mock-obs-time-sync.yaml +246 -147
- package/manifests/outputs/pipelines/nesting.yaml +1799 -0
- package/manifests/outputs/pipelines/pipeline-teads-sci.yaml +276 -0
- package/manifests/outputs/pipelines/sci.yaml +297 -0
- package/manifests/outputs/pipelines/teads-curve.yaml +188 -0
- package/manifests/outputs/pipelines/zeros.yaml +198 -0
- package/package.json +15 -16
- package/src/__mocks__/mock-manifest.yaml +2 -3
- package/src/{config → if-env/config}/env-template.yml +2 -3
- package/src/{builtins → if-run/builtins}/coefficient/README.md +31 -9
- package/src/{builtins → if-run/builtins}/copy-param/README.md +30 -11
- package/src/{builtins → if-run/builtins}/csv-lookup/README.md +32 -20
- package/src/{builtins → if-run/builtins}/divide/README.md +21 -8
- package/src/{builtins → if-run/builtins}/exponent/README.md +19 -8
- package/src/{builtins → if-run/builtins}/interpolation/README.md +21 -6
- package/src/{builtins → if-run/builtins}/mock-observations/README.md +18 -4
- package/src/{builtins → if-run/builtins}/multiply/README.md +20 -8
- package/src/{builtins → if-run/builtins}/regex/README.md +19 -9
- package/src/{builtins → if-run/builtins}/sci/README.md +19 -9
- package/src/{builtins → if-run/builtins}/sci-embodied/README.md +17 -5
- package/src/{builtins → if-run/builtins}/shell/README.md +19 -7
- package/src/{builtins → if-run/builtins}/subtract/README.md +17 -6
- package/src/{builtins → if-run/builtins}/sum/README.md +34 -8
- package/src/if-run/builtins/time-sync/README.md +267 -0
- package/build/builtins/coefficient/index.d.ts +0 -2
- package/build/builtins/coefficient/index.js +0 -65
- package/build/builtins/copy-param/index.d.ts +0 -2
- package/build/builtins/copy-param/index.js +0 -68
- package/build/builtins/csv-lookup/index.d.ts +0 -2
- package/build/builtins/csv-lookup/index.js +0 -188
- package/build/builtins/divide/index.d.ts +0 -2
- package/build/builtins/divide/index.js +0 -78
- package/build/builtins/exponent/index.d.ts +0 -2
- package/build/builtins/exponent/index.js +0 -58
- package/build/builtins/export-csv-raw.d.ts +0 -4
- package/build/builtins/export-csv-raw.js +0 -132
- package/build/builtins/export-csv.d.ts +0 -10
- package/build/builtins/export-csv.js +0 -96
- package/build/builtins/export-yaml.js +0 -30
- package/build/builtins/group-by.d.ts +0 -5
- package/build/builtins/group-by.js +0 -71
- package/build/builtins/interpolation/index.d.ts +0 -2
- package/build/builtins/interpolation/index.js +0 -148
- package/build/builtins/mock-observations/helpers/common-generator.js +0 -29
- package/build/builtins/mock-observations/helpers/rand-int-generator.js +0 -48
- package/build/builtins/mock-observations/index.d.ts +0 -2
- package/build/builtins/mock-observations/index.js +0 -114
- package/build/builtins/mock-observations/interfaces/index.js +0 -3
- package/build/builtins/multiply/index.d.ts +0 -2
- package/build/builtins/multiply/index.js +0 -57
- package/build/builtins/regex/index.d.ts +0 -2
- package/build/builtins/regex/index.js +0 -74
- package/build/builtins/sci/config.js +0 -44
- package/build/builtins/sci/index.d.ts +0 -2
- package/build/builtins/sci/index.js +0 -70
- package/build/builtins/sci-embodied/index.d.ts +0 -2
- package/build/builtins/sci-embodied/index.js +0 -114
- package/build/builtins/shell/index.d.ts +0 -2
- package/build/builtins/shell/index.js +0 -58
- package/build/builtins/subtract/index.d.ts +0 -2
- package/build/builtins/subtract/index.js +0 -59
- package/build/builtins/sum/index.d.ts +0 -2
- package/build/builtins/sum/index.js +0 -64
- package/build/builtins/time-sync.d.ts +0 -2
- package/build/builtins/time-sync.js +0 -300
- package/build/check.js +0 -95
- package/build/config/config.d.ts +0 -29
- package/build/config/config.js +0 -147
- package/build/config/index.js +0 -10
- package/build/config/params.d.ts +0 -2
- package/build/config/params.js +0 -196
- package/build/config/strings.js +0 -105
- package/build/diff.js +0 -46
- package/build/env.js +0 -38
- package/build/index.js +0 -48
- package/build/lib/aggregate.d.ts +0 -6
- package/build/lib/aggregate.js +0 -77
- package/build/lib/compare.js +0 -56
- package/build/lib/compute.js +0 -91
- package/build/lib/environment.js +0 -75
- package/build/lib/exhaust.js +0 -53
- package/build/lib/initialize.d.ts +0 -6
- package/build/lib/initialize.js +0 -101
- package/build/lib/load.js +0 -70
- package/build/lib/parameterize.d.ts +0 -6
- package/build/lib/parameterize.js +0 -55
- package/build/types/aggregation.d.ts +0 -2
- package/build/types/aggregation.js +0 -5
- package/build/types/compute.js +0 -3
- package/build/types/environment.js +0 -3
- package/build/types/exhaust-plugin-interface.js +0 -3
- package/build/types/if-env.js +0 -3
- package/build/types/interface.d.ts +0 -4
- package/build/types/interface.js +0 -8
- package/build/types/lib/compare.js +0 -3
- package/build/types/manifest.js +0 -3
- package/build/types/npm.js +0 -3
- package/build/types/parameters.d.ts +0 -5
- package/build/types/parameters.js +0 -5
- package/build/types/plugin-storage.js +0 -3
- package/build/types/process-args.d.ts +0 -33
- package/build/types/process-args.js +0 -3
- package/build/types/time-sync.js +0 -3
- package/build/types/util/args.js +0 -3
- package/build/util/aggregation-helper.js +0 -55
- package/build/util/args.d.ts +0 -37
- package/build/util/args.js +0 -205
- package/build/util/debug-logger.js +0 -118
- package/build/util/fs.js +0 -94
- package/build/util/helpers.d.ts +0 -57
- package/build/util/helpers.js +0 -251
- package/build/util/json.d.ts +0 -4
- package/build/util/json.js +0 -36
- package/build/util/log-memoize.js +0 -19
- package/build/util/npm.js +0 -152
- package/build/util/os-checker.js +0 -97
- package/build/util/plugin-storage.js +0 -34
- package/build/util/validations.js +0 -124
- package/build/util/yaml.js +0 -59
- package/manifests/outputs/bugs/initialize-error-no-config.yaml +0 -78
- package/manifests/outputs/bugs/initialize-error-no-path.yaml +0 -91
- package/manifests/outputs/bugs/initialize-error-no-plugins.yaml +0 -74
- package/manifests/outputs/divide.yaml +0 -93
- package/manifests/outputs/pipelines/mock-obs-group-by-cloud-meta.yaml +0 -645
- package/manifests/outputs/pipelines/mock-obs-groupby.yaml +0 -178
- package/manifests/outputs/plugins/csv-lookup/cloud-metadata/failure-invalid-instance-type.yaml +0 -27
- package/manifests/outputs/plugins/csv-lookup/cloud-metadata/failure-invalid-vendor.yaml +0 -27
- package/manifests/outputs/plugins/groupby/success.yaml +0 -101
- package/manifests/outputs/plugins/mock-observations/success.yaml +0 -220
- package/manifests/outputs/plugins/regex/failure-not-matching-with-regex.yaml +0 -76
- package/manifests/outputs/plugins/time-sync/failure-missing-global-config.yaml +0 -78
- package/src/__tests__/integration/templates/integration.yaml +0 -16
- package/src/builtins/README.md +0 -848
- /package/build/{util → common/util}/debug-logger.d.ts +0 -0
- /package/build/{util → common/util}/fs.d.ts +0 -0
- /package/build/{util → common/util}/logger.d.ts +0 -0
- /package/build/{util → common/util}/yaml.d.ts +0 -0
- /package/build/{index.d.ts → if-check/index.d.ts} +0 -0
- /package/build/{check.d.ts → if-csv/index.d.ts} +0 -0
- /package/build/{diff.d.ts → if-diff/index.d.ts} +0 -0
- /package/build/{types/util → if-diff/types}/args.d.ts +0 -0
- /package/build/{types/lib → if-diff/types}/compare.d.ts +0 -0
- /package/build/{env.d.ts → if-env/index.d.ts} +0 -0
- /package/build/{types → if-env/types}/if-env.d.ts +0 -0
- /package/build/{types → if-env/types}/npm.d.ts +0 -0
- /package/build/{builtins → if-run/builtins}/mock-observations/helpers/common-generator.d.ts +0 -0
- /package/build/{builtins → if-run/builtins}/mock-observations/helpers/rand-int-generator.d.ts +0 -0
- /package/build/{builtins → if-run/builtins}/mock-observations/interfaces/index.d.ts +0 -0
- /package/build/{builtins → if-run/builtins}/sci/config.d.ts +0 -0
- /package/build/{lib → if-run/lib}/compute.d.ts +0 -0
- /package/build/{types → if-run/types}/environment.d.ts +0 -0
- /package/build/{types → if-run/types}/plugin-storage.d.ts +0 -0
- /package/build/{types → if-run/types}/time-sync.d.ts +0 -0
- /package/build/{util → if-run/util}/log-memoize.d.ts +0 -0
- /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,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==
|
package/build/types/compute.js
DELETED
|
@@ -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==
|
package/build/types/if-env.js
DELETED
|
@@ -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;
|
package/build/types/interface.js
DELETED
|
@@ -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=
|
package/build/types/manifest.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvbWFuaWZlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHttYW5pZmVzdFNjaGVtYX0gZnJvbSAnLi4vdXRpbC92YWxpZGF0aW9ucyc7XG5cbmV4cG9ydCB0eXBlIE1hbmlmZXN0ID0gei5pbmZlcjx0eXBlb2YgbWFuaWZlc3RTY2hlbWE+O1xuXG5leHBvcnQgdHlwZSBHbG9iYWxQbHVnaW5zID0gTWFuaWZlc3RbJ2luaXRpYWxpemUnXVsncGx1Z2lucyddO1xuXG5leHBvcnQgdHlwZSBQbHVnaW5PcHRpb25zID0gR2xvYmFsUGx1Z2luc1tzdHJpbmddO1xuXG5leHBvcnQgdHlwZSBBZ2dyZWdhdGlvblBhcmFtcyA9IE1hbmlmZXN0WydhZ2dyZWdhdGlvbiddO1xuZXhwb3J0IHR5cGUgQWdncmVnYXRpb25QYXJhbXNTdXJlID0gRXh0cmFjdDxNYW5pZmVzdFsnYWdncmVnYXRpb24nXSwge30+O1xuXG5leHBvcnQgdHlwZSBDb250ZXh0ID0gT21pdDxNYW5pZmVzdCwgJ3RyZWUnPjtcblxuZXhwb3J0IHR5cGUgQ29udGV4dFdpdGhFeGVjID0gT21pdDxNYW5pZmVzdCwgJ3RyZWUnPjtcblxuZXhwb3J0IHR5cGUgTWFuaWZlc3RQYXJhbWV0ZXIgPSBFeHRyYWN0PE1hbmlmZXN0WydwYXJhbXMnXSwge30+W251bWJlcl07XG4iXX0=
|
package/build/types/npm.js
DELETED
|
@@ -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
|
-
"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
|
package/build/types/time-sync.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1zeW5jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3RpbWUtc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRlVGltZX0gZnJvbSAnbHV4b24nO1xuXG5leHBvcnQgdHlwZSBUaW1lTm9ybWFsaXplckNvbmZpZyA9IHtcbiAgJ3N0YXJ0LXRpbWUnOiBEYXRlIHwgc3RyaW5nO1xuICAnZW5kLXRpbWUnOiBEYXRlIHwgc3RyaW5nO1xuICBpbnRlcnZhbDogbnVtYmVyO1xuICAnYWxsb3ctcGFkZGluZyc6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBQYWRkaW5nUmVjZWlwdCA9IHtcbiAgc3RhcnQ6IGJvb2xlYW47XG4gIGVuZDogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIFRpbWVQYXJhbXMgPSB7XG4gIHN0YXJ0VGltZTogRGF0ZVRpbWU7XG4gIGVuZFRpbWU6IERhdGVUaW1lO1xuICBpbnRlcnZhbDogbnVtYmVyO1xuICBhbGxvd1BhZGRpbmc6IGJvb2xlYW47XG59O1xuIl19
|
package/build/types/util/args.js
DELETED
|
@@ -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=
|
package/build/util/args.d.ts
DELETED
|
@@ -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
|
-
}>;
|
package/build/util/args.js
DELETED
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2FyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNkI7QUFFN0IsK0RBQTJDO0FBQzNDLGlEQUE2QztBQUU3QyxpQ0FBeUM7QUFFekMsNkJBQXFEO0FBRXJELHFDQUFnQztBQUVoQyxzQ0FBMEM7QUFXMUMsTUFBTSxFQUNKLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixvQkFBb0IsR0FDckIsR0FBRyxjQUFNLENBQUM7QUFFWCxNQUFNLEVBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRS9DLE1BQU0sRUFDSixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLFNBQVMsRUFDVCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsbUJBQW1CLEdBQ3BCLEdBQUcsZ0JBQU8sQ0FBQztBQUVaOztHQUVHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxHQUFHLEVBQUU7SUFDdkMsSUFBSTtRQUNGLE9BQU8sSUFBQSw0QkFBSyxFQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3hDO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUU7WUFDMUIsTUFBTSxJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM5QztRQUVELE1BQU0sS0FBSyxDQUFDO0tBQ2I7QUFDSCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUU7SUFDL0MsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFekMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQzdCLE9BQU8sUUFBUSxDQUFDO0tBQ2pCO0lBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsa0JBQWtCLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ0ksTUFBTSxrQkFBa0IsR0FBRyxHQUF1QixFQUFFO0lBQ3pELE1BQU0sRUFDSixRQUFRLEVBQ1IsTUFBTSxFQUNOLGlCQUFpQixFQUFFLGNBQWMsRUFDakMsTUFBTSxFQUNOLEtBQUssR0FDTixHQUFHLDJCQUEyQixFQUFFLENBQUM7SUFFbEMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUN0QixlQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQ3hCO0lBRUQsSUFBSSxRQUFRLEVBQUU7UUFDWixJQUFJLElBQUEsd0JBQWlCLEVBQUMsUUFBUSxDQUFDLEVBQUU7WUFDL0IsT0FBTztnQkFDTCxTQUFTLEVBQUUsbUJBQW1CLENBQUMsUUFBUSxDQUFDO2dCQUN4QyxhQUFhLEVBQUU7b0JBQ2IsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFDLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsRUFBQyxDQUFDO29CQUN4RCxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUMsTUFBTSxFQUFDLENBQUM7aUJBQ3hCO2dCQUNELEdBQUcsQ0FBQyxjQUFjLElBQUksRUFBQyxTQUFTLEVBQUUsY0FBYyxFQUFDLENBQUM7Z0JBQ2xELEtBQUs7YUFDTixDQUFDO1NBQ0g7UUFFRCxNQUFNLElBQUksa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQUNsRDtJQUVELE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQ3BELENBQUMsQ0FBQztBQTlCVyxRQUFBLGtCQUFrQixzQkE4QjdCO0FBRUYsb0JBQW9CO0FBRXBCOztHQUVHO0FBQ0gsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLEVBQUU7SUFDdEMsSUFBSTtRQUNGLE9BQU8sSUFBQSw0QkFBSyxFQUFhLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3REO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUU7WUFDMUIsTUFBTSxJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM5QztRQUVELE1BQU0sS0FBSyxDQUFDO0tBQ2I7QUFDSCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNJLE1BQU0sZUFBZSxHQUFHLEdBQUcsRUFBRTtJQUNsQyxNQUFNLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQyxHQUFHLDBCQUEwQixFQUFFLENBQUM7SUFFdEQsSUFBSSxNQUFNLEVBQUU7UUFDVixJQUFJLE1BQU0sSUFBSSxDQUFDLElBQUEsd0JBQWlCLEVBQUMsTUFBTSxDQUFDLEVBQUU7WUFDeEMsTUFBTSxJQUFJLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDbEQ7UUFFRCxJQUFJLElBQUEsd0JBQWlCLEVBQUMsTUFBTSxDQUFDLEVBQUU7WUFDN0IsTUFBTSxRQUFRLEdBQW1CO2dCQUMvQixVQUFVLEVBQUUsbUJBQW1CLENBQUMsTUFBTSxDQUFDO2FBQ3hDLENBQUM7WUFFRixJQUFJLE1BQU0sSUFBSSxJQUFBLHdCQUFpQixFQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN2QyxRQUFRLENBQUMsVUFBVSxHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ25EO1lBRUQsT0FBTyxRQUFRLENBQUM7U0FDakI7UUFFRCxNQUFNLElBQUksa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQUNsRDtJQUVELE1BQU0sSUFBSSxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUM7QUF4QlcsUUFBQSxlQUFlLG1CQXdCMUI7QUFFRixtQkFBbUI7QUFFbkI7O0dBRUc7QUFDSCxNQUFNLHlCQUF5QixHQUFHLEdBQUcsRUFBRTtJQUNyQyxJQUFJO1FBQ0YsT0FBTyxJQUFBLDRCQUFLLEVBQVksTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDbkQ7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtZQUMxQixNQUFNLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzlDO1FBRUQsTUFBTSxLQUFLLENBQUM7S0FDYjtBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0ksTUFBTSxjQUFjLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDdkMsTUFBTSxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFDLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztJQUU3RCxJQUFJLFFBQVEsRUFBRTtRQUNaLE1BQU0sUUFBUSxHQUFHLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxJQUFBLGlCQUFZLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFFMUQsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQ3pCLE1BQU0sSUFBSSxtQkFBbUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ25EO1FBRUQsSUFBSSxJQUFBLHdCQUFpQixFQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQy9CLE9BQU8sRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUMsQ0FBQztTQUMzQztRQUVELE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0tBQ2xEO0lBRUQsT0FBTyxFQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUMsQ0FBQztBQUN4QixDQUFDLENBQUM7QUFuQlcsUUFBQSxjQUFjLGtCQW1CekI7QUFFRixxQkFBcUI7QUFFckI7O0dBRUc7QUFDSCxNQUFNLDJCQUEyQixHQUFHLEdBQUcsRUFBRTtJQUN2QyxJQUFJO1FBQ0YsT0FBTyxJQUFBLDRCQUFLLEVBQWMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDekQ7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtZQUMxQixNQUFNLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzlDO1FBRUQsTUFBTSxLQUFLLENBQUM7S0FDYjtBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0ksTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLElBQUksRUFBRTtJQUN6QyxNQUFNLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBQyxHQUFHLDJCQUEyQixFQUFFLENBQUM7SUFFNUQsSUFBSSxRQUFRLEVBQUU7UUFDWixNQUFNLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQyxNQUFNLG9CQUFvQixHQUFHLE1BQU0sSUFBQSxpQkFBWSxFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxvQkFBb0IsRUFBRTtZQUN6QixNQUFNLElBQUksbUJBQW1CLENBQUMsa0JBQWtCLENBQUMsQ0FBQztTQUNuRDtRQUVELElBQUksSUFBQSx3QkFBaUIsRUFBQyxRQUFRLENBQUMsRUFBRTtZQUMvQixPQUFPLEVBQUMsUUFBUSxFQUFDLENBQUM7U0FDbkI7UUFFRCxNQUFNLElBQUksa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQUNsRDtTQUFNLElBQUksU0FBUyxFQUFFO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSxzQkFBaUIsRUFBQyxTQUFTLENBQUMsQ0FBQztRQUV2RCxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1NBQ3REO1FBRUQsTUFBTSxRQUFRLEdBQUcsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFaEQsT0FBTyxFQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUMsQ0FBQztLQUM5QjtJQUVELE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQztBQTdCVyxRQUFBLGdCQUFnQixvQkE2QjNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0IHtwYXJzZX0gZnJvbSAndHMtY29tbWFuZC1saW5lLWFyZ3MnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5cbmltcG9ydCB7Y2hlY2tJZkZpbGVJc1lhbWx9IGZyb20gJy4veWFtbCc7XG5cbmltcG9ydCB7aXNEaXJlY3RvcnlFeGlzdHMsIGlzRmlsZUV4aXN0c30gZnJvbSAnLi9mcyc7XG5cbmltcG9ydCB7bG9nZ2VyfSBmcm9tICcuL2xvZ2dlcic7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge1xuICBJRkRpZmZBcmdzLFxuICBJRUFyZ3MsXG4gIFByb2Nlc3NBcmdzT3V0cHV0cyxcbiAgSUZFbnZBcmdzLFxuICBJRkNoZWNrQXJncyxcbn0gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcbmltcG9ydCB7TG9hZERpZmZQYXJhbXN9IGZyb20gJy4uL3R5cGVzL3V0aWwvYXJncyc7XG5cbmNvbnN0IHtcbiAgUGFyc2VDbGlQYXJhbXNFcnJvcixcbiAgQ2xpVGFyZ2V0RmlsZUVycm9yLFxuICBDbGlTb3VyY2VGaWxlRXJyb3IsXG4gIEludmFsaWREaXJlY3RvcnlFcnJvcixcbiAgTWlzc2luZ0NsaUZsYWdzRXJyb3IsXG59ID0gRVJST1JTO1xuXG5jb25zdCB7SUUsIElGX0RJRkYsIElGX0VOViwgSUZfQ0hFQ0t9ID0gQ09ORklHO1xuXG5jb25zdCB7XG4gIE1BTklGRVNUX0lTX01JU1NJTkcsXG4gIE1BTklGRVNUX05PVF9GT1VORCxcbiAgTk9fT1VUUFVULFxuICBTT1VSQ0VfSVNfTk9UX1lBTUwsXG4gIFRBUkdFVF9JU19OT1RfWUFNTCxcbiAgSU5WQUxJRF9UQVJHRVQsXG4gIElGX0NIRUNLX0ZMQUdTX01JU1NJTkcsXG4gIERJUkVDVE9SWV9OT1RfRk9VTkQsXG59ID0gU1RSSU5HUztcblxuLyoqXG4gKiBWYWxpZGF0ZXMgYGllYCBwcm9jZXNzIGFyZ3VtZW50cy5cbiAqL1xuY29uc3QgdmFsaWRhdGVBbmRQYXJzZVByb2Nlc3NBcmdzID0gKCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZTxJRUFyZ3M+KElFLkFSR1MsIElFLkhFTFApO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuLyoqXG4gKiBQcmVwZW5kcyBwcm9jZXNzIHBhdGggdG8gZ2l2ZW4gYGZpbGVQYXRoYC5cbiAqL1xuY29uc3QgcHJlcGVuZEZ1bGxGaWxlUGF0aCA9IChmaWxlUGF0aDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHByb2Nlc3NSdW5uaW5nUGF0aCA9IHByb2Nlc3MuY3dkKCk7XG5cbiAgaWYgKHBhdGguaXNBYnNvbHV0ZShmaWxlUGF0aCkpIHtcbiAgICByZXR1cm4gZmlsZVBhdGg7XG4gIH1cblxuICByZXR1cm4gcGF0aC5ub3JtYWxpemUoYCR7cHJvY2Vzc1J1bm5pbmdQYXRofS8ke2ZpbGVQYXRofWApO1xufTtcblxuLyoqXG4gKiAxLiBQYXJzZXMgcHJvY2VzcyBhcmd1bWVudHMgbGlrZSBgbWFuaWZlc3RgLCBgb3V0cHV0YCwgYG92ZXJyaWRlLXBhcmFtc2AsIGBoZWxwYCBhbmQgYGRlYnVnYC5cbiAqIDIuIENoZWNrcyBpZiBgaGVscGAgcGFyYW0gaXMgcHJvdmlkZWQsIHRoZW4gbG9ncyBoZWxwIG1lc3NhZ2UgYW5kIGV4aXRzLlxuICogMy4gSWYgb3V0cHV0IHBhcmFtcyBhcmUgbWlzc2luZywgd2FybnMgdXNlciBhYm91dCBpdC5cbiAqIDMuIE90aGVyd2lzZSBjaGVja3MgaWYgYG1hbmlmZXN0YCBwYXJhbSBpcyB0aGVyZSwgdGhlbiBwcm9jZXNzZXMgd2l0aCBjaGVja2luZyBpZiBpdCdzIGEgeWFtbCBmaWxlLlxuICogICAgSWYgaXQgaXMsIHRoZW4gcmV0dXJucyBvYmplY3QgY29udGFpbmluZyBmdWxsIHBhdGguXG4gKiA0LiBJZiBwYXJhbXMgYXJlIG1pc3Npbmcgb3IgaW52YWxpZCwgdGhlbiByZWplY3RzIHdpdGggYFBhcnNlQ2xpUGFyYW1zRXJyb3JgLlxuICovXG5leHBvcnQgY29uc3QgcGFyc2VJRVByb2Nlc3NBcmdzID0gKCk6IFByb2Nlc3NBcmdzT3V0cHV0cyA9PiB7XG4gIGNvbnN0IHtcbiAgICBtYW5pZmVzdCxcbiAgICBvdXRwdXQsXG4gICAgJ292ZXJyaWRlLXBhcmFtcyc6IG92ZXJyaWRlUGFyYW1zLFxuICAgIHN0ZG91dCxcbiAgICBkZWJ1ZyxcbiAgfSA9IHZhbGlkYXRlQW5kUGFyc2VQcm9jZXNzQXJncygpO1xuXG4gIGlmICghb3V0cHV0ICYmICFzdGRvdXQpIHtcbiAgICBsb2dnZXIud2FybihOT19PVVRQVVQpO1xuICB9XG5cbiAgaWYgKG1hbmlmZXN0KSB7XG4gICAgaWYgKGNoZWNrSWZGaWxlSXNZYW1sKG1hbmlmZXN0KSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaW5wdXRQYXRoOiBwcmVwZW5kRnVsbEZpbGVQYXRoKG1hbmlmZXN0KSxcbiAgICAgICAgb3V0cHV0T3B0aW9uczoge1xuICAgICAgICAgIC4uLihvdXRwdXQgJiYge291dHB1dFBhdGg6IHByZXBlbmRGdWxsRmlsZVBhdGgob3V0cHV0KX0pLFxuICAgICAgICAgIC4uLihzdGRvdXQgJiYge3N0ZG91dH0pLFxuICAgICAgICB9LFxuICAgICAgICAuLi4ob3ZlcnJpZGVQYXJhbXMgJiYge3BhcmFtUGF0aDogb3ZlcnJpZGVQYXJhbXN9KSxcbiAgICAgICAgZGVidWcsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBDbGlTb3VyY2VGaWxlRXJyb3IoU09VUkNFX0lTX05PVF9ZQU1MKTtcbiAgfVxuXG4gIHRocm93IG5ldyBDbGlTb3VyY2VGaWxlRXJyb3IoTUFOSUZFU1RfSVNfTUlTU0lORyk7XG59O1xuXG4vKiogLS0gSUYgRGlmZiAtLSAqL1xuXG4vKipcbiAqIFBhcnNlcyBgaWYtZGlmZmAgcHJvY2VzcyBhcmd1bWVudHMuXG4gKi9cbmNvbnN0IHZhbGlkYXRlQW5kUGFyc2VJZkRpZmZBcmdzID0gKCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZTxJRkRpZmZBcmdzPihJRl9ESUZGLkFSR1MsIElGX0RJRkYuSEVMUCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZUNsaVBhcmFtc0Vycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG4vKipcbiAqIENoZWNrcyBmb3IgYHNvdXJjZWAgYW5kIGB0YXJnZXRgIGZsYWdzIHRvIGJlIHByZXNlbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZUlmRGlmZkFyZ3MgPSAoKSA9PiB7XG4gIGNvbnN0IHtzb3VyY2UsIHRhcmdldH0gPSB2YWxpZGF0ZUFuZFBhcnNlSWZEaWZmQXJncygpO1xuXG4gIGlmICh0YXJnZXQpIHtcbiAgICBpZiAoc291cmNlICYmICFjaGVja0lmRmlsZUlzWWFtbChzb3VyY2UpKSB7XG4gICAgICB0aHJvdyBuZXcgQ2xpU291cmNlRmlsZUVycm9yKFNPVVJDRV9JU19OT1RfWUFNTCk7XG4gICAgfVxuXG4gICAgaWYgKGNoZWNrSWZGaWxlSXNZYW1sKHRhcmdldCkpIHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBMb2FkRGlmZlBhcmFtcyA9IHtcbiAgICAgICAgdGFyZ2V0UGF0aDogcHJlcGVuZEZ1bGxGaWxlUGF0aCh0YXJnZXQpLFxuICAgICAgfTtcblxuICAgICAgaWYgKHNvdXJjZSAmJiBjaGVja0lmRmlsZUlzWWFtbChzb3VyY2UpKSB7XG4gICAgICAgIHJlc3BvbnNlLnNvdXJjZVBhdGggPSBwcmVwZW5kRnVsbEZpbGVQYXRoKHNvdXJjZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgQ2xpVGFyZ2V0RmlsZUVycm9yKFRBUkdFVF9JU19OT1RfWUFNTCk7XG4gIH1cblxuICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihJTlZBTElEX1RBUkdFVCk7XG59O1xuXG4vKiogLS0gSUYgRW52IC0tICovXG5cbi8qKlxuICogUGFyc2VzIGBpZi1lbnZgIHByb2Nlc3MgYXJndW1lbnRzLlxuICovXG5jb25zdCB2YWxpZGF0ZUFuZFBhcnNlSWZFbnZBcmdzID0gKCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZTxJRkVudkFyZ3M+KElGX0VOVi5BUkdTLCBJRl9FTlYuSEVMUCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZUNsaVBhcmFtc0Vycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgYG1hbmlmZXN0YCBjb21tYW5kIGlzIHByb3ZpZGVkIGFuZCBpdCBpcyB2YWxpZCBtYW5pZmVzdCBmaWxlLlxuICovXG5leHBvcnQgY29uc3QgcGFyc2VJZkVudkFyZ3MgPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHttYW5pZmVzdCwgaW5zdGFsbCwgY3dkfSA9IHZhbGlkYXRlQW5kUGFyc2VJZkVudkFyZ3MoKTtcblxuICBpZiAobWFuaWZlc3QpIHtcbiAgICBjb25zdCByZXNwb25zZSA9IHByZXBlbmRGdWxsRmlsZVBhdGgobWFuaWZlc3QpO1xuICAgIGNvbnN0IGlzTWFuaWZlc3RGaWxlRXhpc3RzID0gYXdhaXQgaXNGaWxlRXhpc3RzKHJlc3BvbnNlKTtcblxuICAgIGlmICghaXNNYW5pZmVzdEZpbGVFeGlzdHMpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZUNsaVBhcmFtc0Vycm9yKE1BTklGRVNUX05PVF9GT1VORCk7XG4gICAgfVxuXG4gICAgaWYgKGNoZWNrSWZGaWxlSXNZYW1sKG1hbmlmZXN0KSkge1xuICAgICAgcmV0dXJuIHttYW5pZmVzdDogcmVzcG9uc2UsIGluc3RhbGwsIGN3ZH07XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IENsaVNvdXJjZUZpbGVFcnJvcihTT1VSQ0VfSVNfTk9UX1lBTUwpO1xuICB9XG5cbiAgcmV0dXJuIHtpbnN0YWxsLCBjd2R9O1xufTtcblxuLyoqIC0tIElGIENoZWNrIC0tICovXG5cbi8qKlxuICogUGFyc2VzIGBpZi1jaGVja2AgcHJvY2VzcyBhcmd1bWVudHMuXG4gKi9cbmNvbnN0IHZhbGlkYXRlQW5kUGFyc2VJZkNoZWNrQXJncyA9ICgpID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2U8SUZDaGVja0FyZ3M+KElGX0NIRUNLLkFSR1MsIElGX0NIRUNLLkhFTFApO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgZWl0aGVyIGBtYW5pZmVzdGAgb3IgYGRpcmVjdG9yeWAgY29tbWFuZCBpcyBwcm92aWRlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlSWZDaGVja0FyZ3MgPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHttYW5pZmVzdCwgZGlyZWN0b3J5fSA9IHZhbGlkYXRlQW5kUGFyc2VJZkNoZWNrQXJncygpO1xuXG4gIGlmIChtYW5pZmVzdCkge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gcHJlcGVuZEZ1bGxGaWxlUGF0aChtYW5pZmVzdCk7XG4gICAgY29uc3QgaXNNYW5pZmVzdEZpbGVFeGlzdHMgPSBhd2FpdCBpc0ZpbGVFeGlzdHMocmVzcG9uc2UpO1xuXG4gICAgaWYgKCFpc01hbmlmZXN0RmlsZUV4aXN0cykge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlQ2xpUGFyYW1zRXJyb3IoTUFOSUZFU1RfTk9UX0ZPVU5EKTtcbiAgICB9XG5cbiAgICBpZiAoY2hlY2tJZkZpbGVJc1lhbWwobWFuaWZlc3QpKSB7XG4gICAgICByZXR1cm4ge21hbmlmZXN0fTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgQ2xpU291cmNlRmlsZUVycm9yKFNPVVJDRV9JU19OT1RfWUFNTCk7XG4gIH0gZWxzZSBpZiAoZGlyZWN0b3J5KSB7XG4gICAgY29uc3QgaXNEaXJFeGlzdHMgPSBhd2FpdCBpc0RpcmVjdG9yeUV4aXN0cyhkaXJlY3RvcnkpO1xuXG4gICAgaWYgKCFpc0RpckV4aXN0cykge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWREaXJlY3RvcnlFcnJvcihESVJFQ1RPUllfTk9UX0ZPVU5EKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA9IHByZXBlbmRGdWxsRmlsZVBhdGgoZGlyZWN0b3J5KTtcblxuICAgIHJldHVybiB7ZGlyZWN0b3J5OiByZXNwb25zZX07XG4gIH1cblxuICB0aHJvdyBuZXcgTWlzc2luZ0NsaUZsYWdzRXJyb3IoSUZfQ0hFQ0tfRkxBR1NfTUlTU0lORyk7XG59O1xuIl19
|