@grnsft/if 0.3.4 → 0.4.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.commitlintrc.js +0 -1
- package/.lintstagedrc.js +6 -0
- package/README.md +12 -8
- package/Refactor-migration-guide.md +6 -6
- package/build/builtins/coefficient/index.d.ts +3 -0
- package/build/builtins/coefficient/index.js +51 -0
- package/build/builtins/coefficient/types.d.ts +5 -0
- package/build/builtins/coefficient/types.js +3 -0
- package/build/builtins/csv-lookup/index.d.ts +2 -0
- package/build/builtins/csv-lookup/index.js +181 -0
- package/build/builtins/divide/index.d.ts +2 -0
- package/build/builtins/divide/index.js +67 -0
- package/build/builtins/exponent/index.d.ts +3 -0
- package/build/builtins/exponent/index.js +72 -0
- package/build/builtins/exponent/types.d.ts +5 -0
- package/build/builtins/exponent/types.js +3 -0
- package/build/builtins/export-csv-raw.js +4 -1
- package/build/builtins/export-csv.js +4 -1
- package/build/builtins/export-log.js +4 -2
- package/build/builtins/export-yaml.js +4 -1
- package/build/builtins/index.d.ts +13 -0
- package/build/builtins/index.js +28 -2
- package/build/builtins/interpolation/index.d.ts +2 -0
- package/build/builtins/interpolation/index.js +146 -0
- package/build/builtins/interpolation/types.d.ts +5 -0
- package/build/builtins/interpolation/types.js +10 -0
- package/build/builtins/mock-observations/helpers/common-generator.d.ts +3 -0
- package/build/builtins/mock-observations/helpers/common-generator.js +32 -0
- package/build/builtins/mock-observations/helpers/rand-int-generator.d.ts +3 -0
- package/build/builtins/mock-observations/helpers/rand-int-generator.js +58 -0
- package/build/builtins/mock-observations/index.d.ts +3 -0
- package/build/builtins/mock-observations/index.js +116 -0
- package/build/builtins/mock-observations/interfaces/index.d.ts +6 -0
- package/build/builtins/mock-observations/interfaces/index.js +3 -0
- package/build/builtins/mock-observations/types.d.ts +13 -0
- package/build/builtins/mock-observations/types.js +3 -0
- package/build/builtins/multiply/index.d.ts +3 -0
- package/build/builtins/multiply/index.js +63 -0
- package/build/builtins/multiply/types.d.ts +4 -0
- package/build/builtins/multiply/types.js +3 -0
- package/build/builtins/regex/index.d.ts +3 -0
- package/build/builtins/regex/index.js +78 -0
- package/build/builtins/sci/config.d.ts +1 -0
- package/build/builtins/sci/config.js +44 -0
- package/build/builtins/sci/index.d.ts +3 -0
- package/build/builtins/sci/index.js +69 -0
- package/build/builtins/sci-embodied/index.d.ts +2 -0
- package/build/builtins/sci-embodied/index.js +115 -0
- package/build/builtins/shell/index.d.ts +3 -0
- package/build/builtins/shell/index.js +58 -0
- package/build/builtins/subtract/index.d.ts +3 -0
- package/build/builtins/subtract/index.js +75 -0
- package/build/builtins/subtract/types.d.ts +4 -0
- package/build/builtins/subtract/types.js +3 -0
- package/build/builtins/sum/index.d.ts +3 -0
- package/build/builtins/sum/index.js +61 -0
- package/build/builtins/sum/types.d.ts +4 -0
- package/build/builtins/sum/types.js +3 -0
- package/build/config/config.d.ts +8 -2
- package/build/config/config.js +34 -1
- package/build/config/strings.d.ts +22 -0
- package/build/config/strings.js +23 -1
- package/build/diff.d.ts +2 -0
- package/build/diff.js +41 -0
- package/build/index.js +8 -4
- package/build/lib/aggregate.js +5 -1
- package/build/lib/compare.d.ts +10 -0
- package/build/lib/compare.js +56 -0
- package/build/lib/compute.js +9 -1
- package/build/lib/environment.js +9 -3
- package/build/lib/exhaust.js +3 -2
- package/build/lib/initialize.js +5 -2
- package/build/lib/load.d.ts +48 -0
- package/build/lib/load.js +51 -2
- package/build/lib/parameterize.js +8 -4
- package/build/types/common.d.ts +4 -0
- package/build/types/common.js +3 -0
- package/build/types/helpers.d.ts +4 -0
- package/build/types/helpers.js +3 -0
- package/build/types/interface.d.ts +2 -1
- package/build/types/interface.js +1 -1
- package/build/types/lib/compare.d.ts +7 -0
- package/build/types/lib/compare.js +3 -0
- package/build/types/process-args.d.ts +7 -1
- package/build/types/process-args.js +1 -1
- package/build/types/util/args.d.ts +4 -0
- package/build/types/util/args.js +3 -0
- package/build/util/args.d.ts +7 -2
- package/build/util/args.js +49 -11
- package/build/util/debug-logger.d.ts +4 -0
- package/build/util/debug-logger.js +117 -0
- package/build/util/errors.d.ts +1 -1
- package/build/util/errors.js +6 -1
- package/build/util/helpers.d.ts +23 -0
- package/build/util/helpers.js +116 -2
- package/build/util/log-memoize.d.ts +1 -1
- package/build/util/log-memoize.js +1 -1
- package/build/util/validations.d.ts +59 -51
- package/build/util/validations.js +49 -18
- package/github-processes.md +16 -42
- package/manifests/bugs/aggregation-error-wrong-metric.yml +6 -6
- package/manifests/bugs/azure-importer-ignoring-defaults.yml +3 -3
- package/manifests/bugs/azure-importer-incorrect-calculation.yml +2 -2
- package/manifests/bugs/mock-observations-failure-duration-is-zero.yml +34 -0
- package/manifests/bugs/pipeline-error-uninitialized-plugin.yml +1 -1
- package/manifests/bugs/pipeline-ordering-error.yml +6 -6
- package/manifests/bugs/sci-embodied-missing-resources-total.yml +23 -0
- package/manifests/examples/generics.yml +3 -3
- package/manifests/examples/instance-metadata.yml +36 -0
- package/manifests/examples/mock-cpu-util-to-carbon.yml +3 -3
- package/manifests/examples/nesting.yml +37 -10
- package/manifests/examples/pipeline-teads-sci.yml +17 -9
- package/manifests/examples/pipeline-with-aggregate.yml +24 -9
- package/manifests/examples/pipeline-with-mocks.yml +26 -9
- package/manifests/examples/sci.yml +131 -0
- package/manifests/examples/teads-curve.yml +78 -0
- package/manifests/features/aggregate-failure-inalid-metrics.yml +43 -0
- package/manifests/features/aggregate-failure-missing-metric-in-inputs.yml +43 -0
- package/manifests/integrations/cloud-metadata-divide-boavizta.yml +1 -1
- package/manifests/integrations/mock-obs-group-by-cloud-meta.yml +51 -0
- package/manifests/integrations/mock-obs-groupby.yml +2 -2
- package/manifests/integrations/mock-obs-time-sync.yml +1 -1
- package/manifests/plugins/cloud-metadata/failure-invalid-instance-type.yaml +21 -0
- package/manifests/plugins/cloud-metadata/failure-invalid-vendor.yaml +1 -1
- package/manifests/plugins/cloud-metadata/failure-missing-cloud-vendor.yml +21 -0
- package/manifests/plugins/cloud-metadata/success.yml +1 -1
- package/manifests/plugins/coefficient/failure-invalid-config-input-param.yml +1 -1
- package/manifests/plugins/coefficient/failure-output-param-is-null.yaml +24 -0
- package/manifests/plugins/coefficient/success.yml +1 -1
- package/manifests/plugins/csv-lookup/failure-missing-column.yml +26 -0
- package/manifests/plugins/csv-lookup/failure-missing-output.yml +26 -0
- package/manifests/plugins/csv-lookup/success-renaming.yml +26 -0
- package/manifests/plugins/csv-lookup/success.yml +26 -0
- package/manifests/plugins/divide/failure-denominator-equal-zero.yml +39 -0
- package/manifests/plugins/divide/failure-invalid-config-denominator.yml +1 -1
- package/manifests/plugins/divide/failure-missing-numerator.yml +39 -0
- package/manifests/plugins/divide/success.yml +2 -2
- package/manifests/plugins/groupby/failure-missing-cloud-instance-type.yml +49 -0
- package/manifests/plugins/interpolation/interpolation.yml +24 -0
- package/manifests/plugins/mock-observations/failure-invalid-config-cpu-range.yml +1 -1
- package/manifests/plugins/mock-observations/failure-invalid-memory-utilization-range.yml +34 -0
- package/manifests/plugins/mock-observations/failure-missing-timestamp-from-param.yml +34 -0
- package/manifests/plugins/mock-observations/success.yml +2 -2
- package/manifests/plugins/multiply/failure-input-parameter-is-missing.yml +1 -1
- package/manifests/plugins/multiply/success-with-multiple-inputs.yml +32 -0
- package/manifests/plugins/multiply/success.yml +3 -3
- package/manifests/plugins/regex/failure-missing-input-param.yml +1 -1
- package/manifests/plugins/regex/failure-not-matching-with-regex.yml +24 -0
- package/manifests/plugins/regex/success.yml +2 -2
- package/manifests/plugins/sci/failure-invalid-config-value.yml +2 -3
- package/manifests/plugins/sci/failure-missing-input-param.yml +27 -0
- package/manifests/plugins/sci/success.yml +5 -4
- package/manifests/plugins/{sci-m → sci-embodied}/failure-invalid-default-emission-value.yml +5 -6
- package/manifests/plugins/sci-embodied/failure-missing-expected-lifespan.yml +23 -0
- package/manifests/plugins/{sci-m → sci-embodied}/success.yml +5 -6
- package/manifests/plugins/shell/failure-invalid-command.yml +1 -1
- package/manifests/plugins/shell/success.yml +1 -2
- package/manifests/plugins/sum/failure-missing-input-param.yml +1 -1
- package/manifests/plugins/sum/failure-missing-output-param.yml +28 -0
- package/manifests/plugins/sum/success.yml +1 -1
- package/manifests/plugins/tdp-finder/failure-unsupported-physical-processor.yml +19 -0
- package/manifests/plugins/time-sync/failure-missing-global-config.yml +34 -0
- package/package.json +10 -2
- package/src/builtins/README.md +5 -5
- package/src/builtins/coefficient/README.md +92 -0
- package/src/builtins/csv-lookup/README.md +142 -0
- package/src/builtins/divide/README.md +95 -0
- package/src/builtins/exponent/README.md +97 -0
- package/src/builtins/interpolation/README.md +168 -0
- package/src/builtins/mock-observations/README.md +97 -0
- package/src/builtins/multiply/README.md +94 -0
- package/src/builtins/regex/README.md +91 -0
- package/src/builtins/sci/README.md +89 -0
- package/src/builtins/sci-embodied/README.md +110 -0
- package/src/builtins/shell/README.md +130 -0
- package/src/builtins/subtract/README.md +94 -0
- package/src/builtins/sum/README.md +91 -0
- package/.env +0 -5
- package/coverage/clover.xml +0 -1590
- package/coverage/coverage-final.json +0 -50
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/builtins/coefficient/index.html +0 -116
- package/coverage/lcov-report/builtins/coefficient/index.ts.html +0 -295
- package/coverage/lcov-report/builtins/csv-lookup/index.html +0 -116
- package/coverage/lcov-report/builtins/csv-lookup/index.ts.html +0 -832
- package/coverage/lcov-report/builtins/divide/index.html +0 -116
- package/coverage/lcov-report/builtins/divide/index.ts.html +0 -361
- package/coverage/lcov-report/builtins/exponent/index.html +0 -116
- package/coverage/lcov-report/builtins/exponent/index.ts.html +0 -355
- package/coverage/lcov-report/builtins/export-csv-raw.ts.html +0 -553
- package/coverage/lcov-report/builtins/export-csv.ts.html +0 -433
- package/coverage/lcov-report/builtins/export-log.ts.html +0 -145
- package/coverage/lcov-report/builtins/export-yaml.ts.html +0 -184
- package/coverage/lcov-report/builtins/group-by.ts.html +0 -364
- package/coverage/lcov-report/builtins/index.html +0 -206
- package/coverage/lcov-report/builtins/index.ts.html +0 -130
- package/coverage/lcov-report/builtins/interpolation/index.html +0 -131
- package/coverage/lcov-report/builtins/interpolation/index.ts.html +0 -670
- package/coverage/lcov-report/builtins/interpolation/types.ts.html +0 -100
- package/coverage/lcov-report/builtins/mock-observations/helpers/common-generator.ts.html +0 -181
- package/coverage/lcov-report/builtins/mock-observations/helpers/index.html +0 -131
- package/coverage/lcov-report/builtins/mock-observations/helpers/rand-int-generator.ts.html +0 -295
- package/coverage/lcov-report/builtins/mock-observations/index.html +0 -116
- package/coverage/lcov-report/builtins/mock-observations/index.ts.html +0 -613
- package/coverage/lcov-report/builtins/multiply/index.html +0 -116
- package/coverage/lcov-report/builtins/multiply/index.ts.html +0 -337
- package/coverage/lcov-report/builtins/regex/index.html +0 -116
- package/coverage/lcov-report/builtins/regex/index.ts.html +0 -379
- package/coverage/lcov-report/builtins/sci/config.ts.html +0 -205
- package/coverage/lcov-report/builtins/sci/index.html +0 -116
- package/coverage/lcov-report/builtins/sci/index.ts.html +0 -331
- package/coverage/lcov-report/builtins/sci-embodied/index.html +0 -116
- package/coverage/lcov-report/builtins/sci-embodied/index.ts.html +0 -481
- package/coverage/lcov-report/builtins/shell/index.html +0 -116
- package/coverage/lcov-report/builtins/shell/index.ts.html +0 -283
- package/coverage/lcov-report/builtins/subtract/index.html +0 -116
- package/coverage/lcov-report/builtins/subtract/index.ts.html +0 -373
- package/coverage/lcov-report/builtins/sum/index.html +0 -116
- package/coverage/lcov-report/builtins/sum/index.ts.html +0 -340
- package/coverage/lcov-report/builtins/time-sync.ts.html +0 -1459
- package/coverage/lcov-report/config/config.ts.html +0 -334
- package/coverage/lcov-report/config/index.html +0 -161
- package/coverage/lcov-report/config/index.ts.html +0 -94
- package/coverage/lcov-report/config/params.ts.html +0 -697
- package/coverage/lcov-report/config/strings.ts.html +0 -415
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -386
- package/coverage/lcov-report/lib/aggregate.ts.html +0 -331
- package/coverage/lcov-report/lib/compare.ts.html +0 -283
- package/coverage/lcov-report/lib/compute.ts.html +0 -391
- package/coverage/lcov-report/lib/environment.ts.html +0 -343
- package/coverage/lcov-report/lib/exhaust.ts.html +0 -283
- package/coverage/lcov-report/lib/index.html +0 -221
- package/coverage/lcov-report/lib/initialize.ts.html +0 -388
- package/coverage/lcov-report/lib/load.ts.html +0 -268
- package/coverage/lcov-report/lib/parameterize.ts.html +0 -283
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov-report/types/aggregation.ts.html +0 -94
- package/coverage/lcov-report/types/index.html +0 -146
- package/coverage/lcov-report/types/interface.ts.html +0 -181
- package/coverage/lcov-report/types/parameters.ts.html +0 -106
- package/coverage/lcov-report/util/aggregation-helper.ts.html +0 -286
- package/coverage/lcov-report/util/args.ts.html +0 -508
- package/coverage/lcov-report/util/errors.ts.html +0 -232
- package/coverage/lcov-report/util/helpers.ts.html +0 -613
- package/coverage/lcov-report/util/index.html +0 -266
- package/coverage/lcov-report/util/json.ts.html +0 -115
- package/coverage/lcov-report/util/log-memoize.ts.html +0 -145
- package/coverage/lcov-report/util/logger.ts.html +0 -151
- package/coverage/lcov-report/util/os-checker.ts.html +0 -421
- package/coverage/lcov-report/util/plugin-storage.ts.html +0 -199
- package/coverage/lcov-report/util/validations.ts.html +0 -526
- package/coverage/lcov-report/util/yaml.ts.html +0 -193
- package/coverage/lcov.info +0 -2811
- package/src/__tests__/integration/manifest/sci-e.yaml +0 -23
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Shell = void 0;
|
|
4
|
+
const child_process_1 = require("child_process");
|
|
5
|
+
const js_yaml_1 = require("js-yaml");
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
const validations_1 = require("../../util/validations");
|
|
8
|
+
const errors_1 = require("../../util/errors");
|
|
9
|
+
const { InputValidationError } = errors_1.ERRORS;
|
|
10
|
+
const Shell = (globalConfig) => {
|
|
11
|
+
const metadata = {
|
|
12
|
+
kind: 'execute',
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Calculate the total emissions for a list of inputs.
|
|
16
|
+
*/
|
|
17
|
+
const execute = (inputs) => {
|
|
18
|
+
const inputWithConfig = Object.assign({}, inputs[0], validateConfig());
|
|
19
|
+
const command = inputWithConfig.command;
|
|
20
|
+
const inputAsString = (0, js_yaml_1.dump)(inputs, { indent: 2 });
|
|
21
|
+
const results = runModelInShell(inputAsString, command);
|
|
22
|
+
return results?.outputs?.flat();
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Checks for required fields in input.
|
|
26
|
+
*/
|
|
27
|
+
const validateConfig = () => {
|
|
28
|
+
const schema = zod_1.z.object({
|
|
29
|
+
command: zod_1.z.string(),
|
|
30
|
+
});
|
|
31
|
+
return (0, validations_1.validate)(schema, globalConfig);
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Runs the model in a shell. Spawns a child process to run an external IMP,
|
|
35
|
+
* an executable with a CLI exposing two methods: `--execute` and `--manifest`.
|
|
36
|
+
* The shell command then calls the `--command` method passing var manifest as the path to the desired manifest file.
|
|
37
|
+
*/
|
|
38
|
+
const runModelInShell = (input, command) => {
|
|
39
|
+
try {
|
|
40
|
+
const [executable, ...args] = command.split(' ');
|
|
41
|
+
const result = (0, child_process_1.spawnSync)(executable, args, {
|
|
42
|
+
input,
|
|
43
|
+
encoding: 'utf8',
|
|
44
|
+
});
|
|
45
|
+
const outputs = (0, js_yaml_1.loadAll)(result.stdout);
|
|
46
|
+
return { outputs };
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
throw new InputValidationError(error.message);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
return {
|
|
53
|
+
metadata,
|
|
54
|
+
execute,
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
exports.Shell = Shell;
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbHRpbnMvc2hlbGwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQTBEO0FBQzFELHFDQUFzQztBQUN0Qyw2QkFBc0I7QUFLdEIsd0RBQWdEO0FBQ2hELDhDQUF5QztBQUV6QyxNQUFNLEVBQUMsb0JBQW9CLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFFL0IsTUFBTSxLQUFLLEdBQUcsQ0FBQyxZQUEwQixFQUFpQixFQUFFO0lBQ2pFLE1BQU0sUUFBUSxHQUFHO1FBQ2YsSUFBSSxFQUFFLFNBQVM7S0FDaEIsQ0FBQztJQUVGOztPQUVHO0lBQ0gsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFzQixFQUFTLEVBQUU7UUFDaEQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDdkUsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLE9BQU8sQ0FBQztRQUN4QyxNQUFNLGFBQWEsR0FBVyxJQUFBLGNBQUksRUFBQyxNQUFNLEVBQUUsRUFBQyxNQUFNLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQztRQUN4RCxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXhELE9BQU8sT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNsQyxDQUFDLENBQUM7SUFFRjs7T0FFRztJQUNILE1BQU0sY0FBYyxHQUFHLEdBQUcsRUFBRTtRQUMxQixNQUFNLE1BQU0sR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3RCLE9BQU8sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO1NBQ3BCLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBQSxzQkFBUSxFQUF5QixNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDaEUsQ0FBQyxDQUFDO0lBRUY7Ozs7T0FJRztJQUNILE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBYSxFQUFFLE9BQWUsRUFBRSxFQUFFO1FBQ3pELElBQUk7WUFDRixNQUFNLENBQUMsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUVqRCxNQUFNLE1BQU0sR0FBNkIsSUFBQSx5QkFBUyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUU7Z0JBQ25FLEtBQUs7Z0JBQ0wsUUFBUSxFQUFFLE1BQU07YUFDakIsQ0FBQyxDQUFDO1lBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBQSxpQkFBTyxFQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUV2QyxPQUFPLEVBQUMsT0FBTyxFQUFDLENBQUM7U0FDbEI7UUFBQyxPQUFPLEtBQVUsRUFBRTtZQUNuQixNQUFNLElBQUksb0JBQW9CLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsT0FBTztRQUNMLFFBQVE7UUFDUixPQUFPO0tBQ1IsQ0FBQztBQUNKLENBQUMsQ0FBQztBQXJEVyxRQUFBLEtBQUssU0FxRGhCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtzcGF3blN5bmMsIFNwYXduU3luY1JldHVybnN9IGZyb20gJ2NoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0IHtsb2FkQWxsLCBkdW1wfSBmcm9tICdqcy15YW1sJztcbmltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHtFeGVjdXRlUGx1Z2luLCBQbHVnaW5QYXJhbXN9IGZyb20gJy4uLy4uL3R5cGVzL2ludGVyZmFjZSc7XG5pbXBvcnQge0NvbmZpZ1BhcmFtc30gZnJvbSAnLi4vLi4vdHlwZXMvY29tbW9uJztcblxuaW1wb3J0IHt2YWxpZGF0ZX0gZnJvbSAnLi4vLi4vdXRpbC92YWxpZGF0aW9ucyc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnLi4vLi4vdXRpbC9lcnJvcnMnO1xuXG5jb25zdCB7SW5wdXRWYWxpZGF0aW9uRXJyb3J9ID0gRVJST1JTO1xuXG5leHBvcnQgY29uc3QgU2hlbGwgPSAoZ2xvYmFsQ29uZmlnOiBDb25maWdQYXJhbXMpOiBFeGVjdXRlUGx1Z2luID0+IHtcbiAgY29uc3QgbWV0YWRhdGEgPSB7XG4gICAga2luZDogJ2V4ZWN1dGUnLFxuICB9O1xuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGUgdGhlIHRvdGFsIGVtaXNzaW9ucyBmb3IgYSBsaXN0IG9mIGlucHV0cy5cbiAgICovXG4gIGNvbnN0IGV4ZWN1dGUgPSAoaW5wdXRzOiBQbHVnaW5QYXJhbXNbXSk6IGFueVtdID0+IHtcbiAgICBjb25zdCBpbnB1dFdpdGhDb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBpbnB1dHNbMF0sIHZhbGlkYXRlQ29uZmlnKCkpO1xuICAgIGNvbnN0IGNvbW1hbmQgPSBpbnB1dFdpdGhDb25maWcuY29tbWFuZDtcbiAgICBjb25zdCBpbnB1dEFzU3RyaW5nOiBzdHJpbmcgPSBkdW1wKGlucHV0cywge2luZGVudDogMn0pO1xuICAgIGNvbnN0IHJlc3VsdHMgPSBydW5Nb2RlbEluU2hlbGwoaW5wdXRBc1N0cmluZywgY29tbWFuZCk7XG5cbiAgICByZXR1cm4gcmVzdWx0cz8ub3V0cHV0cz8uZmxhdCgpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBDaGVja3MgZm9yIHJlcXVpcmVkIGZpZWxkcyBpbiBpbnB1dC5cbiAgICovXG4gIGNvbnN0IHZhbGlkYXRlQ29uZmlnID0gKCkgPT4ge1xuICAgIGNvbnN0IHNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICAgIGNvbW1hbmQ6IHouc3RyaW5nKCksXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdmFsaWRhdGU8ei5pbmZlcjx0eXBlb2Ygc2NoZW1hPj4oc2NoZW1hLCBnbG9iYWxDb25maWcpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBSdW5zIHRoZSBtb2RlbCBpbiBhIHNoZWxsLiBTcGF3bnMgYSBjaGlsZCBwcm9jZXNzIHRvIHJ1biBhbiBleHRlcm5hbCBJTVAsXG4gICAqIGFuIGV4ZWN1dGFibGUgd2l0aCBhIENMSSBleHBvc2luZyB0d28gbWV0aG9kczogYC0tZXhlY3V0ZWAgYW5kIGAtLW1hbmlmZXN0YC5cbiAgICogVGhlIHNoZWxsIGNvbW1hbmQgdGhlbiBjYWxscyB0aGUgYC0tY29tbWFuZGAgbWV0aG9kIHBhc3NpbmcgdmFyIG1hbmlmZXN0IGFzIHRoZSBwYXRoIHRvIHRoZSBkZXNpcmVkIG1hbmlmZXN0IGZpbGUuXG4gICAqL1xuICBjb25zdCBydW5Nb2RlbEluU2hlbGwgPSAoaW5wdXQ6IHN0cmluZywgY29tbWFuZDogc3RyaW5nKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IFtleGVjdXRhYmxlLCAuLi5hcmdzXSA9IGNvbW1hbmQuc3BsaXQoJyAnKTtcblxuICAgICAgY29uc3QgcmVzdWx0OiBTcGF3blN5bmNSZXR1cm5zPHN0cmluZz4gPSBzcGF3blN5bmMoZXhlY3V0YWJsZSwgYXJncywge1xuICAgICAgICBpbnB1dCxcbiAgICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICAgIH0pO1xuICAgICAgY29uc3Qgb3V0cHV0cyA9IGxvYWRBbGwocmVzdWx0LnN0ZG91dCk7XG5cbiAgICAgIHJldHVybiB7b3V0cHV0c307XG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgdGhyb3cgbmV3IElucHV0VmFsaWRhdGlvbkVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4ge1xuICAgIG1ldGFkYXRhLFxuICAgIGV4ZWN1dGUsXG4gIH07XG59O1xuIl19
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Subtract = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const errors_1 = require("../../util/errors");
|
|
6
|
+
const helpers_1 = require("../../util/helpers");
|
|
7
|
+
const validations_1 = require("../../util/validations");
|
|
8
|
+
const { InputValidationError } = errors_1.ERRORS;
|
|
9
|
+
const Subtract = (globalConfig) => {
|
|
10
|
+
const errorBuilder = (0, helpers_1.buildErrorMessage)(exports.Subtract.name);
|
|
11
|
+
const metadata = {
|
|
12
|
+
kind: 'execute',
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Checks global config value are valid.
|
|
16
|
+
*/
|
|
17
|
+
const validateGlobalConfig = () => {
|
|
18
|
+
const globalConfigSchema = zod_1.z.object({
|
|
19
|
+
'input-parameters': zod_1.z.array(zod_1.z.string()),
|
|
20
|
+
'output-parameter': zod_1.z.string().min(1),
|
|
21
|
+
});
|
|
22
|
+
return (0, validations_1.validate)(globalConfigSchema, globalConfig);
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Checks for required fields in input.
|
|
26
|
+
*/
|
|
27
|
+
const validateSingleInput = (input, inputParameters) => {
|
|
28
|
+
inputParameters.forEach(metricToSubtract => {
|
|
29
|
+
validateParamExists(input, metricToSubtract);
|
|
30
|
+
validateNumericString(input[metricToSubtract]);
|
|
31
|
+
});
|
|
32
|
+
return input;
|
|
33
|
+
};
|
|
34
|
+
const validateParamExists = (input, param) => {
|
|
35
|
+
if (input[param] === undefined) {
|
|
36
|
+
throw new InputValidationError(errorBuilder({
|
|
37
|
+
message: `${param} is missing from the input array`,
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
const validateNumericString = (str) => {
|
|
42
|
+
if (isNaN(+Number(str))) {
|
|
43
|
+
throw new InputValidationError(errorBuilder({
|
|
44
|
+
message: `${str} is not numberic`,
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Subtract items from inputParams[1..n] from inputParams[0] and write the result in a new param outputParam.
|
|
50
|
+
*/
|
|
51
|
+
const execute = (inputs) => {
|
|
52
|
+
const { 'input-parameters': inputParameters, 'output-parameter': outputParameter, } = validateGlobalConfig();
|
|
53
|
+
return inputs.map(input => {
|
|
54
|
+
validateSingleInput(input, inputParameters);
|
|
55
|
+
return {
|
|
56
|
+
...input,
|
|
57
|
+
[outputParameter]: calculateDiff(input, inputParameters),
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Calculates the diff between the 1st item in the inputs nad the rest of the items
|
|
63
|
+
*/
|
|
64
|
+
const calculateDiff = (input, inputParameters) => {
|
|
65
|
+
const [firstItem, ...restItems] = inputParameters;
|
|
66
|
+
return restItems.reduce((accumulator, metricToSubtract) => accumulator - input[metricToSubtract], input[firstItem] // Starting accumulator with the value of the first item
|
|
67
|
+
);
|
|
68
|
+
};
|
|
69
|
+
return {
|
|
70
|
+
metadata,
|
|
71
|
+
execute,
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
exports.Subtract = Subtract;
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbHRpbnMvc3VidHJhY3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXNCO0FBRXRCLDhDQUF5QztBQUN6QyxnREFBcUQ7QUFDckQsd0RBQWdEO0FBS2hELE1BQU0sRUFBQyxvQkFBb0IsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUUvQixNQUFNLFFBQVEsR0FBRyxDQUFDLFlBQTRCLEVBQWlCLEVBQUU7SUFDdEUsTUFBTSxZQUFZLEdBQUcsSUFBQSwyQkFBaUIsRUFBQyxnQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RELE1BQU0sUUFBUSxHQUFHO1FBQ2YsSUFBSSxFQUFFLFNBQVM7S0FDaEIsQ0FBQztJQUVGOztPQUVHO0lBQ0gsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLEVBQUU7UUFDaEMsTUFBTSxrQkFBa0IsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO1lBQ2xDLGtCQUFrQixFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3ZDLGtCQUFrQixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3RDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBQSxzQkFBUSxFQUNiLGtCQUFrQixFQUNsQixZQUFZLENBQ2IsQ0FBQztJQUNKLENBQUMsQ0FBQztJQUVGOztPQUVHO0lBQ0gsTUFBTSxtQkFBbUIsR0FBRyxDQUMxQixLQUFtQixFQUNuQixlQUF5QixFQUN6QixFQUFFO1FBQ0YsZUFBZSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO1lBQ3pDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQzdDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQztJQUVGLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUFtQixFQUFFLEtBQWEsRUFBRSxFQUFFO1FBQ2pFLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUM5QixNQUFNLElBQUksb0JBQW9CLENBQzVCLFlBQVksQ0FBQztnQkFDWCxPQUFPLEVBQUUsR0FBRyxLQUFLLGtDQUFrQzthQUNwRCxDQUFDLENBQ0gsQ0FBQztTQUNIO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFO1FBQzVDLElBQUksS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDdkIsTUFBTSxJQUFJLG9CQUFvQixDQUM1QixZQUFZLENBQUM7Z0JBQ1gsT0FBTyxFQUFFLEdBQUcsR0FBRyxrQkFBa0I7YUFDbEMsQ0FBQyxDQUNILENBQUM7U0FDSDtJQUNILENBQUMsQ0FBQztJQUVGOztPQUVHO0lBQ0gsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFzQixFQUFrQixFQUFFO1FBQ3pELE1BQU0sRUFDSixrQkFBa0IsRUFBRSxlQUFlLEVBQ25DLGtCQUFrQixFQUFFLGVBQWUsR0FDcEMsR0FBRyxvQkFBb0IsRUFBRSxDQUFDO1FBQzNCLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFFNUMsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsQ0FBQyxlQUFlLENBQUMsRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQzthQUN6RCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRjs7T0FFRztJQUNILE1BQU0sYUFBYSxHQUFHLENBQUMsS0FBbUIsRUFBRSxlQUF5QixFQUFFLEVBQUU7UUFDdkUsTUFBTSxDQUFDLFNBQVMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxHQUFHLGVBQWUsQ0FBQztRQUNsRCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQ3JCLENBQUMsV0FBVyxFQUFFLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEVBQ3hFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyx3REFBd0Q7U0FDMUUsQ0FBQztJQUNKLENBQUMsQ0FBQztJQUVGLE9BQU87UUFDTCxRQUFRO1FBQ1IsT0FBTztLQUNSLENBQUM7QUFDSixDQUFDLENBQUM7QUF6RlcsUUFBQSxRQUFRLFlBeUZuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4uLy4uL3V0aWwvZXJyb3JzJztcbmltcG9ydCB7YnVpbGRFcnJvck1lc3NhZ2V9IGZyb20gJy4uLy4uL3V0aWwvaGVscGVycyc7XG5pbXBvcnQge3ZhbGlkYXRlfSBmcm9tICcuLi8uLi91dGlsL3ZhbGlkYXRpb25zJztcblxuaW1wb3J0IHtFeGVjdXRlUGx1Z2luLCBQbHVnaW5QYXJhbXN9IGZyb20gJy4uLy4uL3R5cGVzL2ludGVyZmFjZSc7XG5pbXBvcnQge1N1YnRyYWN0Q29uZmlnfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3Qge0lucHV0VmFsaWRhdGlvbkVycm9yfSA9IEVSUk9SUztcblxuZXhwb3J0IGNvbnN0IFN1YnRyYWN0ID0gKGdsb2JhbENvbmZpZzogU3VidHJhY3RDb25maWcpOiBFeGVjdXRlUGx1Z2luID0+IHtcbiAgY29uc3QgZXJyb3JCdWlsZGVyID0gYnVpbGRFcnJvck1lc3NhZ2UoU3VidHJhY3QubmFtZSk7XG4gIGNvbnN0IG1ldGFkYXRhID0ge1xuICAgIGtpbmQ6ICdleGVjdXRlJyxcbiAgfTtcblxuICAvKipcbiAgICogQ2hlY2tzIGdsb2JhbCBjb25maWcgdmFsdWUgYXJlIHZhbGlkLlxuICAgKi9cbiAgY29uc3QgdmFsaWRhdGVHbG9iYWxDb25maWcgPSAoKSA9PiB7XG4gICAgY29uc3QgZ2xvYmFsQ29uZmlnU2NoZW1hID0gei5vYmplY3Qoe1xuICAgICAgJ2lucHV0LXBhcmFtZXRlcnMnOiB6LmFycmF5KHouc3RyaW5nKCkpLFxuICAgICAgJ291dHB1dC1wYXJhbWV0ZXInOiB6LnN0cmluZygpLm1pbigxKSxcbiAgICB9KTtcblxuICAgIHJldHVybiB2YWxpZGF0ZTx6LmluZmVyPHR5cGVvZiBnbG9iYWxDb25maWdTY2hlbWE+PihcbiAgICAgIGdsb2JhbENvbmZpZ1NjaGVtYSxcbiAgICAgIGdsb2JhbENvbmZpZ1xuICAgICk7XG4gIH07XG5cbiAgLyoqXG4gICAqIENoZWNrcyBmb3IgcmVxdWlyZWQgZmllbGRzIGluIGlucHV0LlxuICAgKi9cbiAgY29uc3QgdmFsaWRhdGVTaW5nbGVJbnB1dCA9IChcbiAgICBpbnB1dDogUGx1Z2luUGFyYW1zLFxuICAgIGlucHV0UGFyYW1ldGVyczogc3RyaW5nW11cbiAgKSA9PiB7XG4gICAgaW5wdXRQYXJhbWV0ZXJzLmZvckVhY2gobWV0cmljVG9TdWJ0cmFjdCA9PiB7XG4gICAgICB2YWxpZGF0ZVBhcmFtRXhpc3RzKGlucHV0LCBtZXRyaWNUb1N1YnRyYWN0KTtcbiAgICAgIHZhbGlkYXRlTnVtZXJpY1N0cmluZyhpbnB1dFttZXRyaWNUb1N1YnRyYWN0XSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gaW5wdXQ7XG4gIH07XG5cbiAgY29uc3QgdmFsaWRhdGVQYXJhbUV4aXN0cyA9IChpbnB1dDogUGx1Z2luUGFyYW1zLCBwYXJhbTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKGlucHV0W3BhcmFtXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgSW5wdXRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIGVycm9yQnVpbGRlcih7XG4gICAgICAgICAgbWVzc2FnZTogYCR7cGFyYW19IGlzIG1pc3NpbmcgZnJvbSB0aGUgaW5wdXQgYXJyYXlgLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgdmFsaWRhdGVOdW1lcmljU3RyaW5nID0gKHN0cjogc3RyaW5nKSA9PiB7XG4gICAgaWYgKGlzTmFOKCtOdW1iZXIoc3RyKSkpIHtcbiAgICAgIHRocm93IG5ldyBJbnB1dFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgZXJyb3JCdWlsZGVyKHtcbiAgICAgICAgICBtZXNzYWdlOiBgJHtzdHJ9IGlzIG5vdCBudW1iZXJpY2AsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogU3VidHJhY3QgaXRlbXMgZnJvbSBpbnB1dFBhcmFtc1sxLi5uXSBmcm9tIGlucHV0UGFyYW1zWzBdIGFuZCB3cml0ZSB0aGUgcmVzdWx0IGluIGEgbmV3IHBhcmFtIG91dHB1dFBhcmFtLlxuICAgKi9cbiAgY29uc3QgZXhlY3V0ZSA9IChpbnB1dHM6IFBsdWdpblBhcmFtc1tdKTogUGx1Z2luUGFyYW1zW10gPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgICdpbnB1dC1wYXJhbWV0ZXJzJzogaW5wdXRQYXJhbWV0ZXJzLFxuICAgICAgJ291dHB1dC1wYXJhbWV0ZXInOiBvdXRwdXRQYXJhbWV0ZXIsXG4gICAgfSA9IHZhbGlkYXRlR2xvYmFsQ29uZmlnKCk7XG4gICAgcmV0dXJuIGlucHV0cy5tYXAoaW5wdXQgPT4ge1xuICAgICAgdmFsaWRhdGVTaW5nbGVJbnB1dChpbnB1dCwgaW5wdXRQYXJhbWV0ZXJzKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaW5wdXQsXG4gICAgICAgIFtvdXRwdXRQYXJhbWV0ZXJdOiBjYWxjdWxhdGVEaWZmKGlucHV0LCBpbnB1dFBhcmFtZXRlcnMpLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfTtcblxuICAvKipcbiAgICogQ2FsY3VsYXRlcyB0aGUgZGlmZiBiZXR3ZWVuIHRoZSAxc3QgaXRlbSBpbiB0aGUgaW5wdXRzIG5hZCB0aGUgcmVzdCBvZiB0aGUgaXRlbXNcbiAgICovXG4gIGNvbnN0IGNhbGN1bGF0ZURpZmYgPSAoaW5wdXQ6IFBsdWdpblBhcmFtcywgaW5wdXRQYXJhbWV0ZXJzOiBzdHJpbmdbXSkgPT4ge1xuICAgIGNvbnN0IFtmaXJzdEl0ZW0sIC4uLnJlc3RJdGVtc10gPSBpbnB1dFBhcmFtZXRlcnM7XG4gICAgcmV0dXJuIHJlc3RJdGVtcy5yZWR1Y2UoXG4gICAgICAoYWNjdW11bGF0b3IsIG1ldHJpY1RvU3VidHJhY3QpID0+IGFjY3VtdWxhdG9yIC0gaW5wdXRbbWV0cmljVG9TdWJ0cmFjdF0sXG4gICAgICBpbnB1dFtmaXJzdEl0ZW1dIC8vIFN0YXJ0aW5nIGFjY3VtdWxhdG9yIHdpdGggdGhlIHZhbHVlIG9mIHRoZSBmaXJzdCBpdGVtXG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIG1ldGFkYXRhLFxuICAgIGV4ZWN1dGUsXG4gIH07XG59O1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbHRpbnMvc3VidHJhY3QvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFN1YnRyYWN0Q29uZmlnID0ge1xuICAnaW5wdXQtcGFyYW1ldGVycyc6IHN0cmluZ1tdO1xuICAnb3V0cHV0LXBhcmFtZXRlcic6IHN0cmluZztcbn07XG4iXX0=
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Sum = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const validations_1 = require("../../util/validations");
|
|
6
|
+
const errors_1 = require("../../util/errors");
|
|
7
|
+
const { InputValidationError, ConfigNotFoundError } = errors_1.ERRORS;
|
|
8
|
+
const Sum = (globalConfig) => {
|
|
9
|
+
const metadata = {
|
|
10
|
+
kind: 'execute',
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Calculate the sum of each input-paramters.
|
|
14
|
+
*/
|
|
15
|
+
const execute = (inputs) => {
|
|
16
|
+
const safeGlobalConfig = validateGlobalConfig();
|
|
17
|
+
const inputParameters = safeGlobalConfig['input-parameters'];
|
|
18
|
+
const outputParameter = safeGlobalConfig['output-parameter'];
|
|
19
|
+
return inputs.map(input => {
|
|
20
|
+
const safeInput = validateSingleInput(input, inputParameters);
|
|
21
|
+
return {
|
|
22
|
+
...input,
|
|
23
|
+
[outputParameter]: calculateSum(safeInput, inputParameters),
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Checks global config value are valid.
|
|
29
|
+
*/
|
|
30
|
+
const validateGlobalConfig = () => {
|
|
31
|
+
if (!globalConfig) {
|
|
32
|
+
throw new ConfigNotFoundError('Global config is not provided.');
|
|
33
|
+
}
|
|
34
|
+
const globalConfigSchema = zod_1.z.object({
|
|
35
|
+
'input-parameters': zod_1.z.array(zod_1.z.string()),
|
|
36
|
+
'output-parameter': zod_1.z.string().min(1),
|
|
37
|
+
});
|
|
38
|
+
return (0, validations_1.validate)(globalConfigSchema, globalConfig);
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Checks for required fields in input.
|
|
42
|
+
*/
|
|
43
|
+
const validateSingleInput = (input, inputParameters) => {
|
|
44
|
+
inputParameters.forEach(metricToSum => {
|
|
45
|
+
if (!input[metricToSum]) {
|
|
46
|
+
throw new InputValidationError(`${metricToSum} is missing from the input array.`);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
return input;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Calculates the sum of the energy components.
|
|
53
|
+
*/
|
|
54
|
+
const calculateSum = (input, inputParameters) => inputParameters.reduce((accumulator, metricToSum) => accumulator + input[metricToSum], 0);
|
|
55
|
+
return {
|
|
56
|
+
metadata,
|
|
57
|
+
execute,
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
exports.Sum = Sum;
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbHRpbnMvc3VtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUFzQjtBQUl0Qix3REFBZ0Q7QUFDaEQsOENBQXlDO0FBSXpDLE1BQU0sRUFBQyxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUVwRCxNQUFNLEdBQUcsR0FBRyxDQUFDLFlBQXVCLEVBQWlCLEVBQUU7SUFDNUQsTUFBTSxRQUFRLEdBQUc7UUFDZixJQUFJLEVBQUUsU0FBUztLQUNoQixDQUFDO0lBRUY7O09BRUc7SUFDSCxNQUFNLE9BQU8sR0FBRyxDQUFDLE1BQXNCLEVBQUUsRUFBRTtRQUN6QyxNQUFNLGdCQUFnQixHQUFHLG9CQUFvQixFQUFFLENBQUM7UUFDaEQsTUFBTSxlQUFlLEdBQUcsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM3RCxNQUFNLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRTdELE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsZUFBZSxDQUFDLENBQUM7WUFFOUQsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsQ0FBQyxlQUFlLENBQUMsRUFBRSxZQUFZLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQzthQUM1RCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRjs7T0FFRztJQUNILE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxFQUFFO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDakIsTUFBTSxJQUFJLG1CQUFtQixDQUFDLGdDQUFnQyxDQUFDLENBQUM7U0FDakU7UUFFRCxNQUFNLGtCQUFrQixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7WUFDbEMsa0JBQWtCLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkMsa0JBQWtCLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDdEMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFBLHNCQUFRLEVBQ2Isa0JBQWtCLEVBQ2xCLFlBQVksQ0FDYixDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUY7O09BRUc7SUFDSCxNQUFNLG1CQUFtQixHQUFHLENBQzFCLEtBQW1CLEVBQ25CLGVBQXlCLEVBQ3pCLEVBQUU7UUFDRixlQUFlLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ3ZCLE1BQU0sSUFBSSxvQkFBb0IsQ0FDNUIsR0FBRyxXQUFXLG1DQUFtQyxDQUNsRCxDQUFDO2FBQ0g7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQyxDQUFDO0lBRUY7O09BRUc7SUFDSCxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQW1CLEVBQUUsZUFBeUIsRUFBRSxFQUFFLENBQ3RFLGVBQWUsQ0FBQyxNQUFNLENBQ3BCLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFDOUQsQ0FBQyxDQUNGLENBQUM7SUFFSixPQUFPO1FBQ0wsUUFBUTtRQUNSLE9BQU87S0FDUixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBekVXLFFBQUEsR0FBRyxPQXlFZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHtFeGVjdXRlUGx1Z2luLCBQbHVnaW5QYXJhbXN9IGZyb20gJy4uLy4uL3R5cGVzL2ludGVyZmFjZSc7XG5cbmltcG9ydCB7dmFsaWRhdGV9IGZyb20gJy4uLy4uL3V0aWwvdmFsaWRhdGlvbnMnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4uLy4uL3V0aWwvZXJyb3JzJztcblxuaW1wb3J0IHtTdW1Db25maWd9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCB7SW5wdXRWYWxpZGF0aW9uRXJyb3IsIENvbmZpZ05vdEZvdW5kRXJyb3J9ID0gRVJST1JTO1xuXG5leHBvcnQgY29uc3QgU3VtID0gKGdsb2JhbENvbmZpZzogU3VtQ29uZmlnKTogRXhlY3V0ZVBsdWdpbiA9PiB7XG4gIGNvbnN0IG1ldGFkYXRhID0ge1xuICAgIGtpbmQ6ICdleGVjdXRlJyxcbiAgfTtcblxuICAvKipcbiAgICogQ2FsY3VsYXRlIHRoZSBzdW0gb2YgZWFjaCBpbnB1dC1wYXJhbXRlcnMuXG4gICAqL1xuICBjb25zdCBleGVjdXRlID0gKGlucHV0czogUGx1Z2luUGFyYW1zW10pID0+IHtcbiAgICBjb25zdCBzYWZlR2xvYmFsQ29uZmlnID0gdmFsaWRhdGVHbG9iYWxDb25maWcoKTtcbiAgICBjb25zdCBpbnB1dFBhcmFtZXRlcnMgPSBzYWZlR2xvYmFsQ29uZmlnWydpbnB1dC1wYXJhbWV0ZXJzJ107XG4gICAgY29uc3Qgb3V0cHV0UGFyYW1ldGVyID0gc2FmZUdsb2JhbENvbmZpZ1snb3V0cHV0LXBhcmFtZXRlciddO1xuXG4gICAgcmV0dXJuIGlucHV0cy5tYXAoaW5wdXQgPT4ge1xuICAgICAgY29uc3Qgc2FmZUlucHV0ID0gdmFsaWRhdGVTaW5nbGVJbnB1dChpbnB1dCwgaW5wdXRQYXJhbWV0ZXJzKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaW5wdXQsXG4gICAgICAgIFtvdXRwdXRQYXJhbWV0ZXJdOiBjYWxjdWxhdGVTdW0oc2FmZUlucHV0LCBpbnB1dFBhcmFtZXRlcnMpLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfTtcblxuICAvKipcbiAgICogQ2hlY2tzIGdsb2JhbCBjb25maWcgdmFsdWUgYXJlIHZhbGlkLlxuICAgKi9cbiAgY29uc3QgdmFsaWRhdGVHbG9iYWxDb25maWcgPSAoKSA9PiB7XG4gICAgaWYgKCFnbG9iYWxDb25maWcpIHtcbiAgICAgIHRocm93IG5ldyBDb25maWdOb3RGb3VuZEVycm9yKCdHbG9iYWwgY29uZmlnIGlzIG5vdCBwcm92aWRlZC4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBnbG9iYWxDb25maWdTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgICAnaW5wdXQtcGFyYW1ldGVycyc6IHouYXJyYXkoei5zdHJpbmcoKSksXG4gICAgICAnb3V0cHV0LXBhcmFtZXRlcic6IHouc3RyaW5nKCkubWluKDEpLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHZhbGlkYXRlPHouaW5mZXI8dHlwZW9mIGdsb2JhbENvbmZpZ1NjaGVtYT4+KFxuICAgICAgZ2xvYmFsQ29uZmlnU2NoZW1hLFxuICAgICAgZ2xvYmFsQ29uZmlnXG4gICAgKTtcbiAgfTtcblxuICAvKipcbiAgICogQ2hlY2tzIGZvciByZXF1aXJlZCBmaWVsZHMgaW4gaW5wdXQuXG4gICAqL1xuICBjb25zdCB2YWxpZGF0ZVNpbmdsZUlucHV0ID0gKFxuICAgIGlucHV0OiBQbHVnaW5QYXJhbXMsXG4gICAgaW5wdXRQYXJhbWV0ZXJzOiBzdHJpbmdbXVxuICApID0+IHtcbiAgICBpbnB1dFBhcmFtZXRlcnMuZm9yRWFjaChtZXRyaWNUb1N1bSA9PiB7XG4gICAgICBpZiAoIWlucHV0W21ldHJpY1RvU3VtXSkge1xuICAgICAgICB0aHJvdyBuZXcgSW5wdXRWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgYCR7bWV0cmljVG9TdW19IGlzIG1pc3NpbmcgZnJvbSB0aGUgaW5wdXQgYXJyYXkuYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGlucHV0O1xuICB9O1xuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIHRoZSBzdW0gb2YgdGhlIGVuZXJneSBjb21wb25lbnRzLlxuICAgKi9cbiAgY29uc3QgY2FsY3VsYXRlU3VtID0gKGlucHV0OiBQbHVnaW5QYXJhbXMsIGlucHV0UGFyYW1ldGVyczogc3RyaW5nW10pID0+XG4gICAgaW5wdXRQYXJhbWV0ZXJzLnJlZHVjZShcbiAgICAgIChhY2N1bXVsYXRvciwgbWV0cmljVG9TdW0pID0+IGFjY3VtdWxhdG9yICsgaW5wdXRbbWV0cmljVG9TdW1dLFxuICAgICAgMFxuICAgICk7XG5cbiAgcmV0dXJuIHtcbiAgICBtZXRhZGF0YSxcbiAgICBleGVjdXRlLFxuICB9O1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbHRpbnMvc3VtL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBTdW1Db25maWcgPSB7XG4gICdpbnB1dC1wYXJhbWV0ZXJzJzogc3RyaW5nW107XG4gICdvdXRwdXQtcGFyYW1ldGVyJzogc3RyaW5nO1xufTtcbiJdfQ==
|
package/build/config/config.d.ts
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { ArgumentConfig, ParseOptions } from 'ts-command-line-args';
|
|
2
|
-
import {
|
|
2
|
+
import { IFDiffArgs, IEArgs } from '../types/process-args';
|
|
3
3
|
export declare const CONFIG: {
|
|
4
4
|
IE: {
|
|
5
|
-
ARGS: ArgumentConfig<
|
|
5
|
+
ARGS: ArgumentConfig<IEArgs>;
|
|
6
6
|
HELP: ParseOptions<any>;
|
|
7
7
|
};
|
|
8
|
+
IF_DIFF: {
|
|
9
|
+
ARGS: ArgumentConfig<IFDiffArgs>;
|
|
10
|
+
HELP: ParseOptions<any>;
|
|
11
|
+
SUCCESS_MESSAGE: string;
|
|
12
|
+
FAILURE_MESSAGE: string;
|
|
13
|
+
};
|
|
8
14
|
GITHUB_PATH: string;
|
|
9
15
|
NATIVE_PLUGIN: string;
|
|
10
16
|
AGGREGATION_ADDITIONAL_PARAMS: string[];
|
package/build/config/config.js
CHANGED
|
@@ -36,6 +36,12 @@ exports.CONFIG = {
|
|
|
36
36
|
alias: 'h',
|
|
37
37
|
description: '[prints out the above help instruction]',
|
|
38
38
|
},
|
|
39
|
+
debug: {
|
|
40
|
+
type: Boolean,
|
|
41
|
+
optional: true,
|
|
42
|
+
alias: 'd',
|
|
43
|
+
description: '[prints out debug logs to the console]',
|
|
44
|
+
},
|
|
39
45
|
},
|
|
40
46
|
HELP: {
|
|
41
47
|
helpArg: 'help',
|
|
@@ -47,8 +53,35 @@ exports.CONFIG = {
|
|
|
47
53
|
],
|
|
48
54
|
},
|
|
49
55
|
},
|
|
56
|
+
IF_DIFF: {
|
|
57
|
+
ARGS: {
|
|
58
|
+
source: {
|
|
59
|
+
type: String,
|
|
60
|
+
optional: true,
|
|
61
|
+
alias: 's',
|
|
62
|
+
description: '[path to the source file]',
|
|
63
|
+
},
|
|
64
|
+
target: {
|
|
65
|
+
type: String,
|
|
66
|
+
optional: false,
|
|
67
|
+
alias: 't',
|
|
68
|
+
description: '[path to the target file',
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
HELP: {
|
|
72
|
+
helpArg: 'help',
|
|
73
|
+
headerContentSections: [
|
|
74
|
+
{ header: 'Impact Framework', content: 'IF-Diff Helpful keywords:' },
|
|
75
|
+
],
|
|
76
|
+
footerContentSections: [
|
|
77
|
+
{ header: 'Green Software Foundation', content: DISCLAIMER_MESSAGE },
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
SUCCESS_MESSAGE: 'Files match!',
|
|
81
|
+
FAILURE_MESSAGE: 'Files do not match!',
|
|
82
|
+
},
|
|
50
83
|
GITHUB_PATH: 'https://github.com',
|
|
51
84
|
NATIVE_PLUGIN: 'if-plugins',
|
|
52
85
|
AGGREGATION_ADDITIONAL_PARAMS: ['timestamp', 'duration'],
|
|
53
86
|
};
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsdUNBQWtDO0FBSWxDLE1BQU0sRUFBQyxrQkFBa0IsRUFBQyxHQUFHLGlCQUFPLENBQUM7QUFFeEIsUUFBQSxNQUFNLEdBQUc7SUFDcEIsRUFBRSxFQUFFO1FBQ0YsSUFBSSxFQUFFO1lBQ0osUUFBUSxFQUFFO2dCQUNSLElBQUksRUFBRSxNQUFNO2dCQUNaLFFBQVEsRUFBRSxJQUFJO2dCQUNkLEtBQUssRUFBRSxHQUFHO2dCQUNWLFdBQVcsRUFBRSwwQkFBMEI7YUFDeEM7WUFDRCxNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLE1BQU07Z0JBQ1osUUFBUSxFQUFFLElBQUk7Z0JBQ2QsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsV0FBVyxFQUFFLDJCQUEyQjthQUN6QztZQUNELGlCQUFpQixFQUFFO2dCQUNqQixJQUFJLEVBQUUsTUFBTTtnQkFDWixRQUFRLEVBQUUsSUFBSTtnQkFDZCxLQUFLLEVBQUUsR0FBRztnQkFDVixXQUFXLEVBQUUsd0RBQXdEO2FBQ3RFO1lBQ0QsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxPQUFPO2dCQUNiLFFBQVEsRUFBRSxJQUFJO2dCQUNkLEtBQUssRUFBRSxHQUFHO2dCQUNWLFdBQVcsRUFBRSw2QkFBNkI7YUFDM0M7WUFDRCxJQUFJLEVBQUU7Z0JBQ0osSUFBSSxFQUFFLE9BQU87Z0JBQ2IsUUFBUSxFQUFFLElBQUk7Z0JBQ2QsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsV0FBVyxFQUFFLHlDQUF5QzthQUN2RDtZQUNELEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsT0FBTztnQkFDYixRQUFRLEVBQUUsSUFBSTtnQkFDZCxLQUFLLEVBQUUsR0FBRztnQkFDVixXQUFXLEVBQUUsd0NBQXdDO2FBQ3REO1NBQ3dCO1FBQzNCLElBQUksRUFBRTtZQUNKLE9BQU8sRUFBRSxNQUFNO1lBQ2YscUJBQXFCLEVBQUU7Z0JBQ3JCLEVBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBQzthQUMzRDtZQUNELHFCQUFxQixFQUFFO2dCQUNyQixFQUFDLE1BQU0sRUFBRSwyQkFBMkIsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUM7YUFDbkU7U0FDbUI7S0FDdkI7SUFDRCxPQUFPLEVBQUU7UUFDUCxJQUFJLEVBQUU7WUFDSixNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLE1BQU07Z0JBQ1osUUFBUSxFQUFFLElBQUk7Z0JBQ2QsS0FBSyxFQUFFLEdBQUc7Z0JBQ1YsV0FBVyxFQUFFLDJCQUEyQjthQUN6QztZQUNELE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsTUFBTTtnQkFDWixRQUFRLEVBQUUsS0FBSztnQkFDZixLQUFLLEVBQUUsR0FBRztnQkFDVixXQUFXLEVBQUUsMEJBQTBCO2FBQ3hDO1NBQzRCO1FBQy9CLElBQUksRUFBRTtZQUNKLE9BQU8sRUFBRSxNQUFNO1lBQ2YscUJBQXFCLEVBQUU7Z0JBQ3JCLEVBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBQzthQUNuRTtZQUNELHFCQUFxQixFQUFFO2dCQUNyQixFQUFDLE1BQU0sRUFBRSwyQkFBMkIsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUM7YUFDbkU7U0FDbUI7UUFDdEIsZUFBZSxFQUFFLGNBQWM7UUFDL0IsZUFBZSxFQUFFLHFCQUFxQjtLQUN2QztJQUNELFdBQVcsRUFBRSxvQkFBb0I7SUFDakMsYUFBYSxFQUFFLFlBQVk7SUFDM0IsNkJBQTZCLEVBQUUsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDO0NBQ3pELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FyZ3VtZW50Q29uZmlnLCBQYXJzZU9wdGlvbnN9IGZyb20gJ3RzLWNvbW1hbmQtbGluZS1hcmdzJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuL3N0cmluZ3MnO1xuXG5pbXBvcnQge0lGRGlmZkFyZ3MsIElFQXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuY29uc3Qge0RJU0NMQUlNRVJfTUVTU0FHRX0gPSBTVFJJTkdTO1xuXG5leHBvcnQgY29uc3QgQ09ORklHID0ge1xuICBJRToge1xuICAgIEFSR1M6IHtcbiAgICAgIG1hbmlmZXN0OiB7XG4gICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgIGFsaWFzOiAnbScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnW3BhdGggdG8gdGhlIGlucHV0IGZpbGVdJyxcbiAgICAgIH0sXG4gICAgICBvdXRwdXQ6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgYWxpYXM6ICdvJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdbcGF0aCB0byB0aGUgb3V0cHV0IGZpbGVdJyxcbiAgICAgIH0sXG4gICAgICAnb3ZlcnJpZGUtcGFyYW1zJzoge1xuICAgICAgICB0eXBlOiBTdHJpbmcsXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBhbGlhczogJ3AnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1twYXRoIHRvIGEgcGFyYW1ldGVyIGZpbGUgdGhhdCBvdmVycmlkZXMgb3VyIGRlZmF1bHRzXScsXG4gICAgICB9LFxuICAgICAgc3Rkb3V0OiB7XG4gICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBhbGlhczogJ3MnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1twcmludHMgb3V0IHRvIHRoZSBjb25zb2xlXScsXG4gICAgICB9LFxuICAgICAgaGVscDoge1xuICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgYWxpYXM6ICdoJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdbcHJpbnRzIG91dCB0aGUgYWJvdmUgaGVscCBpbnN0cnVjdGlvbl0nLFxuICAgICAgfSxcbiAgICAgIGRlYnVnOiB7XG4gICAgICAgIHR5cGU6IEJvb2xlYW4sXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgICBhbGlhczogJ2QnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1twcmludHMgb3V0IGRlYnVnIGxvZ3MgdG8gdGhlIGNvbnNvbGVdJyxcbiAgICAgIH0sXG4gICAgfSBhcyBBcmd1bWVudENvbmZpZzxJRUFyZ3M+LFxuICAgIEhFTFA6IHtcbiAgICAgIGhlbHBBcmc6ICdoZWxwJyxcbiAgICAgIGhlYWRlckNvbnRlbnRTZWN0aW9uczogW1xuICAgICAgICB7aGVhZGVyOiAnSW1wYWN0IEZyYW1ld29yaycsIGNvbnRlbnQ6ICdIZWxwZnVsIGtleXdvcmRzOid9LFxuICAgICAgXSxcbiAgICAgIGZvb3RlckNvbnRlbnRTZWN0aW9uczogW1xuICAgICAgICB7aGVhZGVyOiAnR3JlZW4gU29mdHdhcmUgRm91bmRhdGlvbicsIGNvbnRlbnQ6IERJU0NMQUlNRVJfTUVTU0FHRX0sXG4gICAgICBdLFxuICAgIH0gYXMgUGFyc2VPcHRpb25zPGFueT4sXG4gIH0sXG4gIElGX0RJRkY6IHtcbiAgICBBUkdTOiB7XG4gICAgICBzb3VyY2U6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICAgICAgYWxpYXM6ICdzJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdbcGF0aCB0byB0aGUgc291cmNlIGZpbGVdJyxcbiAgICAgIH0sXG4gICAgICB0YXJnZXQ6IHtcbiAgICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgICBvcHRpb25hbDogZmFsc2UsXG4gICAgICAgIGFsaWFzOiAndCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnW3BhdGggdG8gdGhlIHRhcmdldCBmaWxlJyxcbiAgICAgIH0sXG4gICAgfSBhcyBBcmd1bWVudENvbmZpZzxJRkRpZmZBcmdzPixcbiAgICBIRUxQOiB7XG4gICAgICBoZWxwQXJnOiAnaGVscCcsXG4gICAgICBoZWFkZXJDb250ZW50U2VjdGlvbnM6IFtcbiAgICAgICAge2hlYWRlcjogJ0ltcGFjdCBGcmFtZXdvcmsnLCBjb250ZW50OiAnSUYtRGlmZiBIZWxwZnVsIGtleXdvcmRzOid9LFxuICAgICAgXSxcbiAgICAgIGZvb3RlckNvbnRlbnRTZWN0aW9uczogW1xuICAgICAgICB7aGVhZGVyOiAnR3JlZW4gU29mdHdhcmUgRm91bmRhdGlvbicsIGNvbnRlbnQ6IERJU0NMQUlNRVJfTUVTU0FHRX0sXG4gICAgICBdLFxuICAgIH0gYXMgUGFyc2VPcHRpb25zPGFueT4sXG4gICAgU1VDQ0VTU19NRVNTQUdFOiAnRmlsZXMgbWF0Y2ghJyxcbiAgICBGQUlMVVJFX01FU1NBR0U6ICdGaWxlcyBkbyBub3QgbWF0Y2ghJyxcbiAgfSxcbiAgR0lUSFVCX1BBVEg6ICdodHRwczovL2dpdGh1Yi5jb20nLFxuICBOQVRJVkVfUExVR0lOOiAnaWYtcGx1Z2lucycsXG4gIEFHR1JFR0FUSU9OX0FERElUSU9OQUxfUEFSQU1TOiBbJ3RpbWVzdGFtcCcsICdkdXJhdGlvbiddLFxufTtcbiJdfQ==
|
|
@@ -25,4 +25,26 @@ export declare const STRINGS: {
|
|
|
25
25
|
UNKNOWN_PARAM: (name: string) => string;
|
|
26
26
|
NOT_INITALIZED_PLUGIN: (name: string) => string;
|
|
27
27
|
NO_OUTPUT: string;
|
|
28
|
+
SOURCE_IS_NOT_YAML: string;
|
|
29
|
+
TARGET_IS_NOT_YAML: string;
|
|
30
|
+
INVALID_TARGET: string;
|
|
31
|
+
INVALID_SOURCE: string;
|
|
32
|
+
STARTING_IF: string;
|
|
33
|
+
EXITING_IF: string;
|
|
34
|
+
LOADING_MANIFEST: string;
|
|
35
|
+
VALIDATING_MANIFEST: string;
|
|
36
|
+
CAPTURING_RUNTIME_ENVIRONMENT_DATA: string;
|
|
37
|
+
SYNCING_PARAMETERS: string;
|
|
38
|
+
CHECKING_AGGREGATION_METHOD: (unitName: string) => string;
|
|
39
|
+
INITIALIZING_PLUGINS: string;
|
|
40
|
+
INITIALIZING_PLUGIN: (pluginName: string) => string;
|
|
41
|
+
LOADING_PLUGIN_FROM_PATH: (pluginName: string, path: string) => string;
|
|
42
|
+
COMPUTING_PIPELINE_FOR_NODE: (nodeName: string) => string;
|
|
43
|
+
MERGING_DEFAULTS_WITH_INPUT_DATA: string;
|
|
44
|
+
AGGREGATING_OUTPUTS: string;
|
|
45
|
+
AGGREGATING_NODE: (nodeName: string) => string;
|
|
46
|
+
PREPARING_OUTPUT_DATA: string;
|
|
47
|
+
EXPORTING_TO_YAML_FILE: (savepath: string) => string;
|
|
48
|
+
EXPORTING_TO_CSV_FILE: (savepath: string) => string;
|
|
49
|
+
EXPORTING_RAW_CSV_FILE: (savepath: string) => string;
|
|
28
50
|
};
|
package/build/config/strings.js
CHANGED
|
@@ -38,5 +38,27 @@ You have not selected an output method. To see your output data, you can choose
|
|
|
38
38
|
--stdout: this will print your output data to the console
|
|
39
39
|
--output <savepath>: this will save your output data to the given filepath (do not provide file extension)
|
|
40
40
|
Note that for the '--output' option you also need to define the output type in your manifest file. See https://if.greensoftware.foundation/major-concepts/manifest-file#initialize`,
|
|
41
|
+
SOURCE_IS_NOT_YAML: 'Given source file is not in yaml format.',
|
|
42
|
+
TARGET_IS_NOT_YAML: 'Given target is not in yaml format.',
|
|
43
|
+
INVALID_TARGET: 'Target is invalid.',
|
|
44
|
+
INVALID_SOURCE: 'Source is invalid.',
|
|
45
|
+
STARTING_IF: 'Starting IF',
|
|
46
|
+
EXITING_IF: 'Exiting IF',
|
|
47
|
+
LOADING_MANIFEST: 'Loading manifest',
|
|
48
|
+
VALIDATING_MANIFEST: 'Validating manifest',
|
|
49
|
+
CAPTURING_RUNTIME_ENVIRONMENT_DATA: 'Capturing runtime environment data',
|
|
50
|
+
SYNCING_PARAMETERS: 'Syncing parameters',
|
|
51
|
+
CHECKING_AGGREGATION_METHOD: (unitName) => `Checking aggregation method for ${unitName}`,
|
|
52
|
+
INITIALIZING_PLUGINS: 'Initializing plugins',
|
|
53
|
+
INITIALIZING_PLUGIN: (pluginName) => `Initializing ${pluginName}`,
|
|
54
|
+
LOADING_PLUGIN_FROM_PATH: (pluginName, path) => `Loading ${pluginName} from ${path}`,
|
|
55
|
+
COMPUTING_PIPELINE_FOR_NODE: (nodeName) => `Computing pipeline for \`${nodeName}\``,
|
|
56
|
+
MERGING_DEFAULTS_WITH_INPUT_DATA: 'Merging defaults with input data',
|
|
57
|
+
AGGREGATING_OUTPUTS: 'Aggregating outputs',
|
|
58
|
+
AGGREGATING_NODE: (nodeName) => `Aggregating node ${nodeName}`,
|
|
59
|
+
PREPARING_OUTPUT_DATA: 'Preparing output data',
|
|
60
|
+
EXPORTING_TO_YAML_FILE: (savepath) => `Exporting to yaml file: ${savepath}`,
|
|
61
|
+
EXPORTING_TO_CSV_FILE: (savepath) => `Exporting to csv file: ${savepath}`,
|
|
62
|
+
EXPORTING_RAW_CSV_FILE: (savepath) => `Exporting raw csv file: ${savepath}`,
|
|
41
63
|
};
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFYSxRQUFBLE9BQU8sR0FBRztJQUNyQixnQkFBZ0IsRUFBRSwwQ0FBMEM7SUFDNUQsbUJBQW1CLEVBQUUsc0JBQXNCO0lBQzNDLGNBQWMsRUFBRSwwQ0FBMEM7SUFDMUQsWUFBWSxFQUFFLHdDQUF3QztJQUN0RCxrQkFBa0IsRUFDaEIscUVBQXFFO0lBQ3ZFLGdCQUFnQixFQUNkLHFKQUFxSjtJQUN2SixrQkFBa0IsRUFBRTs7OzsyTkFJcU07SUFDek4saUJBQWlCLEVBQUUsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUNsQzt1QkFDbUIsSUFBSSxzTEFBc0w7SUFDL00sZUFBZSxFQUFFLHdEQUF3RDtJQUN6RSxjQUFjLEVBQUU7O3VJQUVxSDtJQUNySSxtQkFBbUIsRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFLENBQ3BDLHFCQUFxQixJQUFJLDRCQUE0QjtJQUN2RCwwQkFBMEIsRUFBRSxvQ0FBb0M7SUFDaEUsc0JBQXNCLEVBQ3BCLDZEQUE2RDtJQUMvRCxxQkFBcUIsRUFBRSxzQkFBc0I7SUFDN0MsZ0JBQWdCLEVBQUUsQ0FBQyxXQUFtQixFQUFFLEVBQUUsQ0FDeEMsdUJBQXVCLFdBQVcsRUFBRTtJQUN0Qyx5QkFBeUIsRUFBRSxDQUFDLEtBQWMsRUFBRSxHQUFZLEVBQUUsRUFBRSxDQUMxRCx1QkFDRSxLQUFLLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUNyRCxFQUFFO0lBQ0osMkJBQTJCLEVBQUUsaUNBQWlDO0lBQzlELDBCQUEwQixFQUFFLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FDN0MseUNBQXlDLE1BQU0sMEJBQTBCO0lBQzNFLGNBQWMsRUFBRSxDQUFDLE1BQWMsRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUNoRCxzQkFBc0IsTUFBTSwyQkFBMkIsS0FBSyxJQUFJO0lBQ2xFLGdCQUFnQixFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsSUFBSSxHQUFHO0lBQzVELGtCQUFrQixFQUFFLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQy9DLGdEQUFnRCxLQUFLLENBQUMsSUFBSSxHQUFHO0lBQy9ELHNCQUFzQixFQUFFLENBQUMsVUFBa0IsRUFBRSxFQUFFLENBQzdDLDJCQUEyQixVQUFVLEdBQUc7SUFDMUMsYUFBYSxFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDOUIsc0JBQXNCLElBQUksbUNBQW1DO0lBQy9ELHFCQUFxQixFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDdEMsMEJBQTBCLElBQUksY0FBYyxJQUFJLHNDQUFzQztJQUN4RixTQUFTLEVBQUU7Ozs7bUxBSXNLO0lBQ2pMLGtCQUFrQixFQUFFLDBDQUEwQztJQUM5RCxrQkFBa0IsRUFBRSxxQ0FBcUM7SUFDekQsY0FBYyxFQUFFLG9CQUFvQjtJQUNwQyxjQUFjLEVBQUUsb0JBQW9CO0lBQ3BDLFdBQVcsRUFBRSxhQUFhO0lBQzFCLFVBQVUsRUFBRSxZQUFZO0lBQ3hCLGdCQUFnQixFQUFFLGtCQUFrQjtJQUNwQyxtQkFBbUIsRUFBRSxxQkFBcUI7SUFDMUMsa0NBQWtDLEVBQUUsb0NBQW9DO0lBQ3hFLGtCQUFrQixFQUFFLG9CQUFvQjtJQUN4QywyQkFBMkIsRUFBRSxDQUFDLFFBQWdCLEVBQUUsRUFBRSxDQUNoRCxtQ0FBbUMsUUFBUSxFQUFFO0lBQy9DLG9CQUFvQixFQUFFLHNCQUFzQjtJQUM1QyxtQkFBbUIsRUFBRSxDQUFDLFVBQWtCLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixVQUFVLEVBQUU7SUFDekUsd0JBQXdCLEVBQUUsQ0FBQyxVQUFrQixFQUFFLElBQVksRUFBRSxFQUFFLENBQzdELFdBQVcsVUFBVSxTQUFTLElBQUksRUFBRTtJQUN0QywyQkFBMkIsRUFBRSxDQUFDLFFBQWdCLEVBQUUsRUFBRSxDQUNoRCw0QkFBNEIsUUFBUSxJQUFJO0lBQzFDLGdDQUFnQyxFQUFFLGtDQUFrQztJQUNwRSxtQkFBbUIsRUFBRSxxQkFBcUI7SUFDMUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsUUFBUSxFQUFFO0lBQ3RFLHFCQUFxQixFQUFFLHVCQUF1QjtJQUM5QyxzQkFBc0IsRUFBRSxDQUFDLFFBQWdCLEVBQUUsRUFBRSxDQUMzQywyQkFBMkIsUUFBUSxFQUFFO0lBQ3ZDLHFCQUFxQixFQUFFLENBQUMsUUFBZ0IsRUFBRSxFQUFFLENBQzFDLDBCQUEwQixRQUFRLEVBQUU7SUFDdEMsc0JBQXNCLEVBQUUsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FDM0MsMkJBQTJCLFFBQVEsRUFBRTtDQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNYW5pZmVzdFBhcmFtZXRlcn0gZnJvbSAnLi4vdHlwZXMvbWFuaWZlc3QnO1xuXG5leHBvcnQgY29uc3QgU1RSSU5HUyA9IHtcbiAgRklMRV9JU19OT1RfWUFNTDogJ1Byb3ZpZGVkIG1hbmlmZXN0IGlzIG5vdCBpbiB5YW1sIGZvcm1hdC4nLFxuICBNQU5JRkVTVF9JU19NSVNTSU5HOiAnTWFuaWZlc3QgaXMgbWlzc2luZy4nLFxuICBNSVNTSU5HX01FVEhPRDogXCJJbml0YWxpemF0aW9uIHBhcmFtICdtZXRob2QnIGlzIG1pc3NpbmcuXCIsXG4gIE1JU1NJTkdfUEFUSDogXCJJbml0YWxpemF0aW9uIHBhcmFtICdwYXRoJyBpcyBtaXNzaW5nLlwiLFxuICBVTlNVUFBPUlRFRF9QTFVHSU46XG4gICAgXCJQbHVnaW4gaW50ZXJmYWNlIGRvZXNuJ3QgaW1wbGVtZW50ICdleGVjdXRlJyBvciAnbWV0YWRhdGEnIG1ldGhvZHMuXCIsXG4gIE9WRVJSSURFX1dBUk5JTkc6XG4gICAgJ1xcbioqV0FSTklORyoqOiBZb3UgYXJlIG92ZXJyaWRpbmcgdGhlIElGIGRlZmF1bHQgcGFyYW1ldGVycyBmaWxlLiBQbGVhc2UgYmUgZXh0cmVtZWx5IGNhcmVmdWwgb2YgdW5pbnRlbmRlZCBzaWRlLWVmZmVjdHMgaW4geW91ciBwbHVnaW4gcGlwZWxpbmUhXFxuJyxcbiAgRElTQ0xBSU1FUl9NRVNTQUdFOiBgXG5JbmN1YmF0aW9uIFByb2plY3RcblxuVGhpcyBwcm9qZWN0IGlzIGFuIGluY3ViYXRpb24gcHJvamVjdCBiZWluZyBydW4gaW5zaWRlIHRoZSBHcmVlbiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBhcyBzdWNoLCB3ZSBET07igJlUIHJlY29tbWVuZCB1c2luZyBpdCBpbiBhbnkgY3JpdGljYWwgdXNlIGNhc2UuIFxuSW5jdWJhdGlvbiBwcm9qZWN0cyBhcmUgZXhwZXJpbWVudGFsLCBvZmZlciBubyBzdXBwb3J0IGd1YXJhbnRlZSwgaGF2ZSBtaW5pbWFsIGdvdmVybmFuY2UgYW5kIHByb2Nlc3MsIGFuZCBtYXkgYmUgcmV0aXJlZCBhdCBhbnkgbW9tZW50LiBUaGlzIHByb2plY3QgbWF5IG9uZSBkYXkgZ3JhZHVhdGUsIGluIHdoaWNoIGNhc2UgdGhpcyBkaXNjbGFpbWVyIHdpbGwgYmUgcmVtb3ZlZC5gLFxuICBOT1RfTkFUSVZFX1BMVUdJTjogKHBhdGg6IHN0cmluZykgPT5cbiAgICBgXG5Zb3UgYXJlIHVzaW5nIHBsdWdpbiAke3BhdGh9IHdoaWNoIGlzIG5vdCBwYXJ0IG9mIHRoZSBJbXBhY3QgRnJhbWV3b3JrIHN0YW5kYXJkIGxpYnJhcnkuIFlvdSBzaG91bGQgZG8geW91ciBvd24gcmVzZWFyY2ggdG8gZW5zdXJlIHRoZSBwbHVnaW5zIGFyZSB1cCB0byBkYXRlIGFuZCBhY2N1cmF0ZS4gVGhleSBtYXkgbm90IGJlIGFjdGl2ZWx5IG1haW50YWluZWQuYCxcbiAgU09NRVRISU5HX1dST05HOiAnU29tZXRoaW5nIHdyb25nIHdpdGggY2xpIGFyZ3VtZW50cy4gUGxlYXNlIGNoZWNrIGRvY3MuJyxcbiAgSVNTVUVfVEVNUExBVEU6IGBcbkltcGFjdCBGcmFtZXdvcmsgaXMgYW4gYWxwaGEgcmVsZWFzZSBmcm9tIHRoZSBHcmVlbiBTb2Z0d2FyZSBGb3VuZGF0aW9uIGFuZCBpcyByZWxlYXNlZCB0byBjYXB0dXJlIGVhcmx5IGZlZWRiYWNrLiBJZiB5b3UnZCBsaWtlIHRvIG9mZmVyIHNvbWUgZmVlZGJhY2ssIHBsZWFzZSB1c2UgdGhpcyBpc3N1ZSB0ZW1wbGF0ZTogXG5odHRwczovL2dpdGh1Yi5jb20vR3JlZW4tU29mdHdhcmUtRm91bmRhdGlvbi9pZi9pc3N1ZXMvbmV3P2Fzc2lnbmVlcz0mbGFiZWxzPWZlZWRiYWNrJnByb2plY3RzPSZ0ZW1wbGF0ZT1mZWVkYmFjay5tZCZ0aXRsZT1GZWVkYmFjaystK2AsXG4gIElOVkFMSURfTU9EVUxFX1BBVEg6IChwYXRoOiBzdHJpbmcpID0+XG4gICAgYFByb3ZpZGVkIG1vZHVsZTogJyR7cGF0aH0nIGlzIGludmFsaWQgb3Igbm90IGZvdW5kLmAsXG4gIElOVkFMSURfVElNRV9OT1JNQUxJWkFUSU9OOiAnU3RhcnQgdGltZSBvciBlbmQgdGltZSBpcyBtaXNzaW5nLicsXG4gIFVORVhQRUNURURfVElNRV9DT05GSUc6XG4gICAgJ1VuZXhwZWN0ZWQgbm9kZS1sZXZlbCBjb25maWcgcHJvdmlkZWQgZm9yIHRpbWUtc3luYyBwbHVnaW4uJyxcbiAgSU5WQUxJRF9USU1FX0lOVEVSVkFMOiAnSW50ZXJ2YWwgaXMgbWlzc2luZy4nLFxuICBBVk9JRElOR19QQURESU5HOiAoZGVzY3JpcHRpb246IHN0cmluZykgPT5cbiAgICBgQXZvaWRpbmcgcGFkZGluZyBhdCAke2Rlc2NyaXB0aW9ufWAsXG4gIEFWT0lESU5HX1BBRERJTkdfQllfRURHRVM6IChzdGFydDogYm9vbGVhbiwgZW5kOiBib29sZWFuKSA9PlxuICAgIGBBdm9pZGluZyBwYWRkaW5nIGF0ICR7XG4gICAgICBzdGFydCAmJiBlbmQgPyAnc3RhcnQgYW5kIGVuZCcgOiBzdGFydCA/ICdzdGFydCcgOiAnZW5kJ1xuICAgIH1gLFxuICBJTlZBTElEX09CU0VSVkFUSU9OX09WRVJMQVA6ICdPYnNlcnZhdGlvbiB0aW1lc3RhbXBzIG92ZXJsYXAuJyxcbiAgSU5WQUxJRF9BR0dSRUdBVElPTl9NRVRIT0Q6IChtZXRyaWM6IHN0cmluZykgPT5cbiAgICBgQWdncmVnYXRpb24gaXMgbm90IHBvc3NpYmxlIGZvciBnaXZlbiAke21ldHJpY30gc2luY2UgbWV0aG9kIGlzICdub25lJy5gLFxuICBNRVRSSUNfTUlTU0lORzogKG1ldHJpYzogc3RyaW5nLCBpbmRleDogbnVtYmVyKSA9PlxuICAgIGBBZ2dyZWdhdGlvbiBtZXRyaWMgJHttZXRyaWN9IGlzIG5vdCBmb3VuZCBpbiBpbnB1dHNbJHtpbmRleH1dLmAsXG4gIElOVkFMSURfR1JPVVBfQlk6ICh0eXBlOiBzdHJpbmcpID0+IGBJbnZhbGlkIGdyb3VwICR7dHlwZX0uYCxcbiAgUkVKRUNUSU5HX09WRVJSSURFOiAocGFyYW06IE1hbmlmZXN0UGFyYW1ldGVyKSA9PlxuICAgIGBSZWplY3Rpbmcgb3ZlcnJpZGluZyBvZiBjYW5vbmljYWwgcGFyYW1ldGVyOiAke3BhcmFtLm5hbWV9LmAsXG4gIElOVkFMSURfRVhIQVVTVF9QTFVHSU46IChwbHVnaW5OYW1lOiBzdHJpbmcpID0+XG4gICAgYEludmFsaWQgZXhoYXVzdCBwbHVnaW46ICR7cGx1Z2luTmFtZX0uYCxcbiAgVU5LTk9XTl9QQVJBTTogKG5hbWU6IHN0cmluZykgPT5cbiAgICBgVW5rbm93biBwYXJhbWV0ZXI6ICR7bmFtZX0uIFVzaW5nICdzdW0nIGFnZ3JlZ2F0aW9uIG1ldGhvZC5gLFxuICBOT1RfSU5JVEFMSVpFRF9QTFVHSU46IChuYW1lOiBzdHJpbmcpID0+XG4gICAgYE5vdCBpbml0YWxpemVkIHBsdWdpbjogJHtuYW1lfS4gQ2hlY2sgaWYgJHtuYW1lfSBpcyBpbiAnbWFuaWZlc3QuaW5pdGFsaXplLnBsdWdpbnMnLmAsXG4gIE5PX09VVFBVVDogYFxuWW91IGhhdmUgbm90IHNlbGVjdGVkIGFuIG91dHB1dCBtZXRob2QuIFRvIHNlZSB5b3VyIG91dHB1dCBkYXRhLCB5b3UgY2FuIGNob29zZSBmcm9tOlxuLS1zdGRvdXQ6IHRoaXMgd2lsbCBwcmludCB5b3VyIG91dHB1dCBkYXRhIHRvIHRoZSBjb25zb2xlXG4tLW91dHB1dCA8c2F2ZXBhdGg+OiB0aGlzIHdpbGwgc2F2ZSB5b3VyIG91dHB1dCBkYXRhIHRvIHRoZSBnaXZlbiBmaWxlcGF0aCAoZG8gbm90IHByb3ZpZGUgZmlsZSBleHRlbnNpb24pXG5Ob3RlIHRoYXQgZm9yIHRoZSAnLS1vdXRwdXQnIG9wdGlvbiB5b3UgYWxzbyBuZWVkIHRvIGRlZmluZSB0aGUgb3V0cHV0IHR5cGUgaW4geW91ciBtYW5pZmVzdCBmaWxlLiBTZWUgaHR0cHM6Ly9pZi5ncmVlbnNvZnR3YXJlLmZvdW5kYXRpb24vbWFqb3ItY29uY2VwdHMvbWFuaWZlc3QtZmlsZSNpbml0aWFsaXplYCxcbiAgU09VUkNFX0lTX05PVF9ZQU1MOiAnR2l2ZW4gc291cmNlIGZpbGUgaXMgbm90IGluIHlhbWwgZm9ybWF0LicsXG4gIFRBUkdFVF9JU19OT1RfWUFNTDogJ0dpdmVuIHRhcmdldCBpcyBub3QgaW4geWFtbCBmb3JtYXQuJyxcbiAgSU5WQUxJRF9UQVJHRVQ6ICdUYXJnZXQgaXMgaW52YWxpZC4nLFxuICBJTlZBTElEX1NPVVJDRTogJ1NvdXJjZSBpcyBpbnZhbGlkLicsXG4gIFNUQVJUSU5HX0lGOiAnU3RhcnRpbmcgSUYnLFxuICBFWElUSU5HX0lGOiAnRXhpdGluZyBJRicsXG4gIExPQURJTkdfTUFOSUZFU1Q6ICdMb2FkaW5nIG1hbmlmZXN0JyxcbiAgVkFMSURBVElOR19NQU5JRkVTVDogJ1ZhbGlkYXRpbmcgbWFuaWZlc3QnLFxuICBDQVBUVVJJTkdfUlVOVElNRV9FTlZJUk9OTUVOVF9EQVRBOiAnQ2FwdHVyaW5nIHJ1bnRpbWUgZW52aXJvbm1lbnQgZGF0YScsXG4gIFNZTkNJTkdfUEFSQU1FVEVSUzogJ1N5bmNpbmcgcGFyYW1ldGVycycsXG4gIENIRUNLSU5HX0FHR1JFR0FUSU9OX01FVEhPRDogKHVuaXROYW1lOiBzdHJpbmcpID0+XG4gICAgYENoZWNraW5nIGFnZ3JlZ2F0aW9uIG1ldGhvZCBmb3IgJHt1bml0TmFtZX1gLFxuICBJTklUSUFMSVpJTkdfUExVR0lOUzogJ0luaXRpYWxpemluZyBwbHVnaW5zJyxcbiAgSU5JVElBTElaSU5HX1BMVUdJTjogKHBsdWdpbk5hbWU6IHN0cmluZykgPT4gYEluaXRpYWxpemluZyAke3BsdWdpbk5hbWV9YCxcbiAgTE9BRElOR19QTFVHSU5fRlJPTV9QQVRIOiAocGx1Z2luTmFtZTogc3RyaW5nLCBwYXRoOiBzdHJpbmcpID0+XG4gICAgYExvYWRpbmcgJHtwbHVnaW5OYW1lfSBmcm9tICR7cGF0aH1gLFxuICBDT01QVVRJTkdfUElQRUxJTkVfRk9SX05PREU6IChub2RlTmFtZTogc3RyaW5nKSA9PlxuICAgIGBDb21wdXRpbmcgcGlwZWxpbmUgZm9yIFxcYCR7bm9kZU5hbWV9XFxgYCxcbiAgTUVSR0lOR19ERUZBVUxUU19XSVRIX0lOUFVUX0RBVEE6ICdNZXJnaW5nIGRlZmF1bHRzIHdpdGggaW5wdXQgZGF0YScsXG4gIEFHR1JFR0FUSU5HX09VVFBVVFM6ICdBZ2dyZWdhdGluZyBvdXRwdXRzJyxcbiAgQUdHUkVHQVRJTkdfTk9ERTogKG5vZGVOYW1lOiBzdHJpbmcpID0+IGBBZ2dyZWdhdGluZyBub2RlICR7bm9kZU5hbWV9YCxcbiAgUFJFUEFSSU5HX09VVFBVVF9EQVRBOiAnUHJlcGFyaW5nIG91dHB1dCBkYXRhJyxcbiAgRVhQT1JUSU5HX1RPX1lBTUxfRklMRTogKHNhdmVwYXRoOiBzdHJpbmcpID0+XG4gICAgYEV4cG9ydGluZyB0byB5YW1sIGZpbGU6ICR7c2F2ZXBhdGh9YCxcbiAgRVhQT1JUSU5HX1RPX0NTVl9GSUxFOiAoc2F2ZXBhdGg6IHN0cmluZykgPT5cbiAgICBgRXhwb3J0aW5nIHRvIGNzdiBmaWxlOiAke3NhdmVwYXRofWAsXG4gIEVYUE9SVElOR19SQVdfQ1NWX0ZJTEU6IChzYXZlcGF0aDogc3RyaW5nKSA9PlxuICAgIGBFeHBvcnRpbmcgcmF3IGNzdiBmaWxlOiAke3NhdmVwYXRofWAsXG59O1xuIl19
|
package/build/diff.d.ts
ADDED
package/build/diff.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
/* eslint-disable no-process-exit */
|
|
5
|
+
const load_1 = require("./lib/load");
|
|
6
|
+
const compare_1 = require("./lib/compare");
|
|
7
|
+
const args_1 = require("./util/args");
|
|
8
|
+
const helpers_1 = require("./util/helpers");
|
|
9
|
+
const validations_1 = require("./util/validations");
|
|
10
|
+
const config_1 = require("./config");
|
|
11
|
+
const logger_1 = require("./util/logger");
|
|
12
|
+
const { IF_DIFF } = config_1.CONFIG;
|
|
13
|
+
const { SUCCESS_MESSAGE, FAILURE_MESSAGE } = IF_DIFF;
|
|
14
|
+
const IfDiff = async () => {
|
|
15
|
+
const { sourcePath, targetPath } = (0, args_1.parseIfDiffArgs)();
|
|
16
|
+
const { rawSourceManifest, rawTargetManifest } = await (0, load_1.loadIfDiffFiles)({
|
|
17
|
+
targetPath,
|
|
18
|
+
sourcePath,
|
|
19
|
+
});
|
|
20
|
+
const [sourceManifest, targetManifest] = [
|
|
21
|
+
rawSourceManifest,
|
|
22
|
+
rawTargetManifest,
|
|
23
|
+
].map(validations_1.validateManifest);
|
|
24
|
+
const result = (0, compare_1.compare)(sourceManifest, targetManifest);
|
|
25
|
+
if (Object.keys(result).length) {
|
|
26
|
+
(0, helpers_1.formatNotMatchingLog)({
|
|
27
|
+
message: FAILURE_MESSAGE,
|
|
28
|
+
...result,
|
|
29
|
+
});
|
|
30
|
+
process.exit(1);
|
|
31
|
+
}
|
|
32
|
+
console.log(SUCCESS_MESSAGE);
|
|
33
|
+
process.exit(0);
|
|
34
|
+
};
|
|
35
|
+
IfDiff().catch(error => {
|
|
36
|
+
if (error instanceof Error) {
|
|
37
|
+
logger_1.logger.error(error);
|
|
38
|
+
process.exit(2);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kaWZmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG9DQUFvQztBQUNwQyxxQ0FBMkM7QUFDM0MsMkNBQXNDO0FBRXRDLHNDQUE0QztBQUM1Qyw0Q0FBb0Q7QUFDcEQsb0RBQW9EO0FBRXBELHFDQUFnQztBQUNoQywwQ0FBcUM7QUFFckMsTUFBTSxFQUFDLE9BQU8sRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUN6QixNQUFNLEVBQUMsZUFBZSxFQUFFLGVBQWUsRUFBQyxHQUFHLE9BQU8sQ0FBQztBQUVuRCxNQUFNLE1BQU0sR0FBRyxLQUFLLElBQUksRUFBRTtJQUN4QixNQUFNLEVBQUMsVUFBVSxFQUFFLFVBQVUsRUFBQyxHQUFHLElBQUEsc0JBQWUsR0FBRSxDQUFDO0lBRW5ELE1BQU0sRUFBQyxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBQyxHQUFHLE1BQU0sSUFBQSxzQkFBZSxFQUFDO1FBQ25FLFVBQVU7UUFDVixVQUFVO0tBQ1gsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsR0FBRztRQUN2QyxpQkFBaUI7UUFDakIsaUJBQWlCO0tBQ2xCLENBQUMsR0FBRyxDQUFDLDhCQUFnQixDQUFDLENBQUM7SUFDeEIsTUFBTSxNQUFNLEdBQUcsSUFBQSxpQkFBTyxFQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUV2RCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFO1FBQzlCLElBQUEsOEJBQW9CLEVBQUM7WUFDbkIsT0FBTyxFQUFFLGVBQWU7WUFDeEIsR0FBRyxNQUFNO1NBQ1YsQ0FBQyxDQUFDO1FBRUgsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNqQjtJQUVELE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDN0IsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7SUFDckIsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1FBQzFCLGVBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNqQjtBQUNILENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuLyogZXNsaW50LWRpc2FibGUgbm8tcHJvY2Vzcy1leGl0ICovXG5pbXBvcnQge2xvYWRJZkRpZmZGaWxlc30gZnJvbSAnLi9saWIvbG9hZCc7XG5pbXBvcnQge2NvbXBhcmV9IGZyb20gJy4vbGliL2NvbXBhcmUnO1xuXG5pbXBvcnQge3BhcnNlSWZEaWZmQXJnc30gZnJvbSAnLi91dGlsL2FyZ3MnO1xuaW1wb3J0IHtmb3JtYXROb3RNYXRjaGluZ0xvZ30gZnJvbSAnLi91dGlsL2hlbHBlcnMnO1xuaW1wb3J0IHt2YWxpZGF0ZU1hbmlmZXN0fSBmcm9tICcuL3V0aWwvdmFsaWRhdGlvbnMnO1xuXG5pbXBvcnQge0NPTkZJR30gZnJvbSAnLi9jb25maWcnO1xuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4vdXRpbC9sb2dnZXInO1xuXG5jb25zdCB7SUZfRElGRn0gPSBDT05GSUc7XG5jb25zdCB7U1VDQ0VTU19NRVNTQUdFLCBGQUlMVVJFX01FU1NBR0V9ID0gSUZfRElGRjtcblxuY29uc3QgSWZEaWZmID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCB7c291cmNlUGF0aCwgdGFyZ2V0UGF0aH0gPSBwYXJzZUlmRGlmZkFyZ3MoKTtcblxuICBjb25zdCB7cmF3U291cmNlTWFuaWZlc3QsIHJhd1RhcmdldE1hbmlmZXN0fSA9IGF3YWl0IGxvYWRJZkRpZmZGaWxlcyh7XG4gICAgdGFyZ2V0UGF0aCxcbiAgICBzb3VyY2VQYXRoLFxuICB9KTtcbiAgY29uc3QgW3NvdXJjZU1hbmlmZXN0LCB0YXJnZXRNYW5pZmVzdF0gPSBbXG4gICAgcmF3U291cmNlTWFuaWZlc3QsXG4gICAgcmF3VGFyZ2V0TWFuaWZlc3QsXG4gIF0ubWFwKHZhbGlkYXRlTWFuaWZlc3QpO1xuICBjb25zdCByZXN1bHQgPSBjb21wYXJlKHNvdXJjZU1hbmlmZXN0LCB0YXJnZXRNYW5pZmVzdCk7XG5cbiAgaWYgKE9iamVjdC5rZXlzKHJlc3VsdCkubGVuZ3RoKSB7XG4gICAgZm9ybWF0Tm90TWF0Y2hpbmdMb2coe1xuICAgICAgbWVzc2FnZTogRkFJTFVSRV9NRVNTQUdFLFxuICAgICAgLi4ucmVzdWx0LFxuICAgIH0pO1xuXG4gICAgcHJvY2Vzcy5leGl0KDEpO1xuICB9XG5cbiAgY29uc29sZS5sb2coU1VDQ0VTU19NRVNTQUdFKTtcbiAgcHJvY2Vzcy5leGl0KDApO1xufTtcblxuSWZEaWZmKCkuY2F0Y2goZXJyb3IgPT4ge1xuICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgIGxvZ2dlci5lcnJvcihlcnJvcik7XG4gICAgcHJvY2Vzcy5leGl0KDIpO1xuICB9XG59KTtcbiJdfQ==
|
package/build/index.js
CHANGED
|
@@ -8,16 +8,19 @@ const exhaust_1 = require("./lib/exhaust");
|
|
|
8
8
|
const initialize_1 = require("./lib/initialize");
|
|
9
9
|
const load_1 = require("./lib/load");
|
|
10
10
|
const parameterize_1 = require("./lib/parameterize");
|
|
11
|
+
const debug_logger_1 = require("./util/debug-logger");
|
|
11
12
|
const args_1 = require("./util/args");
|
|
12
13
|
const helpers_1 = require("./util/helpers");
|
|
13
14
|
const logger_1 = require("./util/logger");
|
|
14
15
|
const validations_1 = require("./util/validations");
|
|
15
16
|
const config_1 = require("./config");
|
|
16
|
-
const { DISCLAIMER_MESSAGE } = config_1.STRINGS;
|
|
17
|
+
const { DISCLAIMER_MESSAGE, EXITING_IF, STARTING_IF } = config_1.STRINGS;
|
|
17
18
|
const impactEngine = async () => {
|
|
18
|
-
const options = (0, args_1.
|
|
19
|
+
const options = (0, args_1.parseIEProcessArgs)();
|
|
20
|
+
const { inputPath, paramPath, outputOptions, debug } = options;
|
|
21
|
+
debug_logger_1.debugLogger.overrideConsoleMethods(!!debug);
|
|
19
22
|
logger_1.logger.info(DISCLAIMER_MESSAGE);
|
|
20
|
-
|
|
23
|
+
console.info(STARTING_IF);
|
|
21
24
|
const { rawManifest, parameters } = await (0, load_1.load)(inputPath, paramPath);
|
|
22
25
|
const envManifest = await (0, environment_1.injectEnvironment)(rawManifest);
|
|
23
26
|
try {
|
|
@@ -39,6 +42,7 @@ const impactEngine = async () => {
|
|
|
39
42
|
}
|
|
40
43
|
}
|
|
41
44
|
}
|
|
45
|
+
console.info(EXITING_IF);
|
|
42
46
|
};
|
|
43
47
|
impactEngine().catch(helpers_1.andHandle);
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0NBQTBDO0FBQzFDLDJDQUFzQztBQUN0QyxtREFBb0Q7QUFDcEQsMkNBQXNDO0FBQ3RDLGlEQUE0QztBQUM1QyxxQ0FBZ0M7QUFDaEMscURBQWdEO0FBRWhELHNEQUFnRDtBQUNoRCxzQ0FBK0M7QUFDL0MsNENBQXlDO0FBQ3pDLDBDQUFxQztBQUNyQyxvREFBb0Q7QUFFcEQscUNBQWlDO0FBRWpDLE1BQU0sRUFBQyxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUU5RCxNQUFNLFlBQVksR0FBRyxLQUFLLElBQUksRUFBRTtJQUM5QixNQUFNLE9BQU8sR0FBRyxJQUFBLHlCQUFrQixHQUFFLENBQUM7SUFDckMsTUFBTSxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBQyxHQUFHLE9BQU8sQ0FBQztJQUU3RCwwQkFBVyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUU1QyxlQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDaEMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUUxQixNQUFNLEVBQUMsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLE1BQU0sSUFBQSxXQUFJLEVBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ25FLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSwrQkFBaUIsRUFBQyxXQUFXLENBQUMsQ0FBQztJQUV6RCxJQUFJO1FBQ0YsTUFBTSxFQUFDLElBQUksRUFBRSxHQUFHLE9BQU8sRUFBQyxHQUFHLElBQUEsOEJBQWdCLEVBQUMsV0FBVyxDQUFDLENBQUM7UUFDekQsMkJBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNqRCxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUEsdUJBQVUsRUFBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25FLE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBQSxpQkFBTyxFQUFDLElBQUksRUFBRSxFQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUMsQ0FBQyxDQUFDO1FBQ25FLE1BQU0sY0FBYyxHQUFHLElBQUEscUJBQVMsRUFBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sSUFBQSxpQkFBTyxFQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7S0FDdkQ7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtZQUMxQixXQUFXLENBQUMsU0FBVSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDdkMsV0FBVyxDQUFDLFNBQVUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hELGVBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEIsTUFBTSxFQUFDLElBQUksRUFBRSxHQUFHLE9BQU8sRUFBQyxHQUFHLFdBQVcsQ0FBQztZQUV2QyxJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUFFO2dCQUNqQyxJQUFBLGlCQUFPLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQzthQUN2QztTQUNGO0tBQ0Y7SUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQztBQUVGLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQyxtQkFBUyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQge2FnZ3JlZ2F0ZX0gZnJvbSAnLi9saWIvYWdncmVnYXRlJztcbmltcG9ydCB7Y29tcHV0ZX0gZnJvbSAnLi9saWIvY29tcHV0ZSc7XG5pbXBvcnQge2luamVjdEVudmlyb25tZW50fSBmcm9tICcuL2xpYi9lbnZpcm9ubWVudCc7XG5pbXBvcnQge2V4aGF1c3R9IGZyb20gJy4vbGliL2V4aGF1c3QnO1xuaW1wb3J0IHtpbml0aWFsaXplfSBmcm9tICcuL2xpYi9pbml0aWFsaXplJztcbmltcG9ydCB7bG9hZH0gZnJvbSAnLi9saWIvbG9hZCc7XG5pbXBvcnQge3BhcmFtZXRlcml6ZX0gZnJvbSAnLi9saWIvcGFyYW1ldGVyaXplJztcblxuaW1wb3J0IHtkZWJ1Z0xvZ2dlcn0gZnJvbSAnLi91dGlsL2RlYnVnLWxvZ2dlcic7XG5pbXBvcnQge3BhcnNlSUVQcm9jZXNzQXJnc30gZnJvbSAnLi91dGlsL2FyZ3MnO1xuaW1wb3J0IHthbmRIYW5kbGV9IGZyb20gJy4vdXRpbC9oZWxwZXJzJztcbmltcG9ydCB7bG9nZ2VyfSBmcm9tICcuL3V0aWwvbG9nZ2VyJztcbmltcG9ydCB7dmFsaWRhdGVNYW5pZmVzdH0gZnJvbSAnLi91dGlsL3ZhbGlkYXRpb25zJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuL2NvbmZpZyc7XG5cbmNvbnN0IHtESVNDTEFJTUVSX01FU1NBR0UsIEVYSVRJTkdfSUYsIFNUQVJUSU5HX0lGfSA9IFNUUklOR1M7XG5cbmNvbnN0IGltcGFjdEVuZ2luZSA9IGFzeW5jICgpID0+IHtcbiAgY29uc3Qgb3B0aW9ucyA9IHBhcnNlSUVQcm9jZXNzQXJncygpO1xuICBjb25zdCB7aW5wdXRQYXRoLCBwYXJhbVBhdGgsIG91dHB1dE9wdGlvbnMsIGRlYnVnfSA9IG9wdGlvbnM7XG5cbiAgZGVidWdMb2dnZXIub3ZlcnJpZGVDb25zb2xlTWV0aG9kcyghIWRlYnVnKTtcblxuICBsb2dnZXIuaW5mbyhESVNDTEFJTUVSX01FU1NBR0UpO1xuICBjb25zb2xlLmluZm8oU1RBUlRJTkdfSUYpO1xuXG4gIGNvbnN0IHtyYXdNYW5pZmVzdCwgcGFyYW1ldGVyc30gPSBhd2FpdCBsb2FkKGlucHV0UGF0aCwgcGFyYW1QYXRoKTtcbiAgY29uc3QgZW52TWFuaWZlc3QgPSBhd2FpdCBpbmplY3RFbnZpcm9ubWVudChyYXdNYW5pZmVzdCk7XG5cbiAgdHJ5IHtcbiAgICBjb25zdCB7dHJlZSwgLi4uY29udGV4dH0gPSB2YWxpZGF0ZU1hbmlmZXN0KGVudk1hbmlmZXN0KTtcbiAgICBwYXJhbWV0ZXJpemUuY29tYmluZShjb250ZXh0LnBhcmFtcywgcGFyYW1ldGVycyk7XG4gICAgY29uc3QgcGx1Z2luU3RvcmFnZSA9IGF3YWl0IGluaXRpYWxpemUoY29udGV4dC5pbml0aWFsaXplLnBsdWdpbnMpO1xuICAgIGNvbnN0IGNvbXB1dGVkVHJlZSA9IGF3YWl0IGNvbXB1dGUodHJlZSwge2NvbnRleHQsIHBsdWdpblN0b3JhZ2V9KTtcbiAgICBjb25zdCBhZ2dyZWdhdGVkVHJlZSA9IGFnZ3JlZ2F0ZShjb21wdXRlZFRyZWUsIGNvbnRleHQuYWdncmVnYXRpb24pO1xuICAgIGF3YWl0IGV4aGF1c3QoYWdncmVnYXRlZFRyZWUsIGNvbnRleHQsIG91dHB1dE9wdGlvbnMpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICBlbnZNYW5pZmVzdC5leGVjdXRpb24hLnN0YXR1cyA9ICdmYWlsJztcbiAgICAgIGVudk1hbmlmZXN0LmV4ZWN1dGlvbiEuZXJyb3IgPSBlcnJvci50b1N0cmluZygpO1xuICAgICAgbG9nZ2VyLmVycm9yKGVycm9yKTtcbiAgICAgIGNvbnN0IHt0cmVlLCAuLi5jb250ZXh0fSA9IGVudk1hbmlmZXN0O1xuXG4gICAgICBpZiAoZXJyb3IubmFtZSAhPT0gJ0V4aGF1c3RFcnJvcicpIHtcbiAgICAgICAgZXhoYXVzdCh0cmVlLCBjb250ZXh0LCBvdXRwdXRPcHRpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgY29uc29sZS5pbmZvKEVYSVRJTkdfSUYpO1xufTtcblxuaW1wYWN0RW5naW5lKCkuY2F0Y2goYW5kSGFuZGxlKTtcbiJdfQ==
|
package/build/lib/aggregate.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.aggregate = void 0;
|
|
4
4
|
const aggregation_helper_1 = require("../util/aggregation-helper");
|
|
5
|
+
const strings_1 = require("../config/strings");
|
|
6
|
+
const { AGGREGATING_NODE, AGGREGATING_OUTPUTS } = strings_1.STRINGS;
|
|
5
7
|
/**
|
|
6
8
|
* Gets `i`th element from all children outputs and collects them in single array.
|
|
7
9
|
*/
|
|
@@ -41,6 +43,7 @@ const aggregateNode = (node, aggregationParams) => {
|
|
|
41
43
|
const type = aggregationParams.type;
|
|
42
44
|
if (node.children) {
|
|
43
45
|
for (const child in node.children) {
|
|
46
|
+
console.debug(AGGREGATING_NODE(child));
|
|
44
47
|
aggregateNode(node.children[child], aggregationParams);
|
|
45
48
|
}
|
|
46
49
|
}
|
|
@@ -62,6 +65,7 @@ const aggregateNode = (node, aggregationParams) => {
|
|
|
62
65
|
* Otherwise creates copy of the tree, then applies aggregation to it.
|
|
63
66
|
*/
|
|
64
67
|
const aggregate = (tree, aggregationParams) => {
|
|
68
|
+
console.debug(AGGREGATING_OUTPUTS);
|
|
65
69
|
if (!aggregationParams || !aggregationParams.type) {
|
|
66
70
|
return tree;
|
|
67
71
|
}
|
|
@@ -70,4 +74,4 @@ const aggregate = (tree, aggregationParams) => {
|
|
|
70
74
|
return copyOfTree;
|
|
71
75
|
};
|
|
72
76
|
exports.aggregate = aggregate;
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9hZ2dyZWdhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQWtFO0FBS2xFLCtDQUEwQztBQUUxQyxNQUFNLEVBQUMsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUMsR0FBRyxpQkFBTyxDQUFDO0FBRXhEOztHQUVHO0FBQ0gsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLFFBQWEsRUFBRSxDQUFTLEVBQUUsRUFBRTtJQUM5RCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRXZDLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1FBQy9CLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFFN0IsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLG1CQUFtQixHQUFHLENBQUMsSUFBUyxFQUFFLE9BQWlCLEVBQUUsRUFBRTtJQUMzRCxNQUFNLE9BQU8sR0FBbUIsRUFBRSxDQUFDO0lBQ25DLE1BQU0sTUFBTSxHQUFRLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRWpELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNqRCxNQUFNLGlCQUFpQixHQUFHLDBCQUEwQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFBLDJDQUFzQixFQUFDLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ3hFO0lBRUQsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sYUFBYSxHQUFHLENBQUMsSUFBUyxFQUFFLGlCQUF3QyxFQUFFLEVBQUU7SUFDNUUsTUFBTSxPQUFPLEdBQUcsaUJBQWtCLENBQUMsT0FBTyxDQUFDO0lBQzNDLE1BQU0sSUFBSSxHQUFHLGlCQUFrQixDQUFDLElBQUksQ0FBQztJQUVyQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDakIsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pDLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUV2QyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3hEO0tBQ0Y7SUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNsQixJQUFJLElBQUksS0FBSyxZQUFZLElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUEsMkNBQXNCLEVBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNqRTtLQUNGO1NBQU07UUFDTCxJQUFJLElBQUksS0FBSyxVQUFVLElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRTtZQUMxQyxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDbkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7WUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFBLDJDQUFzQixFQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztTQUM1RDtLQUNGO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0ksTUFBTSxTQUFTLEdBQUcsQ0FBQyxJQUFTLEVBQUUsaUJBQW9DLEVBQUUsRUFBRTtJQUMzRSxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFbkMsSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFO1FBQ2pELE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFFRCxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsYUFBYSxDQUFDLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBRTdDLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQVhXLFFBQUEsU0FBUyxhQVdwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7YWdncmVnYXRlSW5wdXRzSW50b09uZX0gZnJvbSAnLi4vdXRpbC9hZ2dyZWdhdGlvbi1oZWxwZXInO1xuXG5pbXBvcnQge1BsdWdpblBhcmFtc30gZnJvbSAnLi4vdHlwZXMvaW50ZXJmYWNlJztcbmltcG9ydCB7QWdncmVnYXRpb25QYXJhbXMsIEFnZ3JlZ2F0aW9uUGFyYW1zU3VyZX0gZnJvbSAnLi4vdHlwZXMvbWFuaWZlc3QnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uL2NvbmZpZy9zdHJpbmdzJztcblxuY29uc3Qge0FHR1JFR0FUSU5HX05PREUsIEFHR1JFR0FUSU5HX09VVFBVVFN9ID0gU1RSSU5HUztcblxuLyoqXG4gKiBHZXRzIGBpYHRoIGVsZW1lbnQgZnJvbSBhbGwgY2hpbGRyZW4gb3V0cHV0cyBhbmQgY29sbGVjdHMgdGhlbSBpbiBzaW5nbGUgYXJyYXkuXG4gKi9cbmNvbnN0IGdldEl0aEVsZW1lbnRzRnJvbUNoaWxkcmVuID0gKGNoaWxkcmVuOiBhbnksIGk6IG51bWJlcikgPT4ge1xuICBjb25zdCB2YWx1ZXMgPSBPYmplY3QudmFsdWVzKGNoaWxkcmVuKTtcblxuICByZXR1cm4gdmFsdWVzLm1hcCgodmFsdWU6IGFueSkgPT4ge1xuICAgIGNvbnN0IG91dHB1dCA9IHZhbHVlLm91dHB1dHM7XG5cbiAgICByZXR1cm4gb3V0cHV0W2ldO1xuICB9KTtcbn07XG5cbi8qKlxuICogMS4gR2V0cyB0aGUgaSd0aCBlbGVtZW50IGZyb20gZWFjaCBjaGlsZHJlbnMgb3V0cHV0cyAodHJlYXRpbmcgY2hpbGRyZW4gYXMgcm93cyBhbmQgd2UgYXJlIGFmdGVyIGEgY29sdW1uIG9mIGRhdGEpLlxuICogMi4gTm93IHdlIGp1c3QgYWdncmVnYXRlIG92ZXIgdGhlIGBpdGhTbGljZU9mT3V0cHV0c2AgdGhlIHNhbWUgYXMgd2UgZGlkIGZvciB0aGUgbm9ybWFsIG91dHB1dHMuXG4gKi9cbmNvbnN0IHRlbXBvcmFsQWdncmVnYXRpb24gPSAobm9kZTogYW55LCBtZXRyaWNzOiBzdHJpbmdbXSkgPT4ge1xuICBjb25zdCBvdXRwdXRzOiBQbHVnaW5QYXJhbXNbXSA9IFtdO1xuICBjb25zdCB2YWx1ZXM6IGFueSA9IE9iamVjdC52YWx1ZXMobm9kZS5jaGlsZHJlbik7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZXNbMF0ub3V0cHV0cy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGl0aFNsaWNlT2ZPdXRwdXRzID0gZ2V0SXRoRWxlbWVudHNGcm9tQ2hpbGRyZW4obm9kZS5jaGlsZHJlbiwgaSk7XG4gICAgb3V0cHV0cy5wdXNoKGFnZ3JlZ2F0ZUlucHV0c0ludG9PbmUoaXRoU2xpY2VPZk91dHB1dHMsIG1ldHJpY3MsIHRydWUpKTtcbiAgfVxuXG4gIHJldHVybiBvdXRwdXRzO1xufTtcblxuLyoqXG4gKiBOYXZpZ2F0ZXMgdGhlIHRyZWUgZGVwdGggZmlyc3QsIGJvdHRvbSB1cCxcbiAqICBsZWZ0IHRvIHJpZ2h0IGFnZ3JlZ2F0aW5nIHRoZSBjb21wb25lbnQgbm9kZXMgYW5kIHRoZW4gdGhlIGdyb3VwaW5nIG5vZGVzIHdpbGwgYmUgYWdncmVnYXRlZFxuICogIG9ubHkgd2hlbiBhbGwgdGhlaXIgY2hpbGQgbm9kZXMgaGF2ZSBiZWVuIGFnZ3JlZ2F0ZWQuXG4gKiAxLiBBZ2dyZWdhdGVzIGFsbCB0aGUgY2hpbGRyZW4uXG4gKiAyLiBBdCB0aGlzIHBvaW50IHlvdSBjYW4gYmUgcG9zaXRpdmUgYWxsIHlvdXIgY2hpbGRyZW4gaGF2ZSBiZWVuIGFnZ3JlZ2F0ZWQgYW5kIHNvIHlvdSBjYW4gbm93IHdvcmsgb24gYWdncmVnYXRpbmcgeW91cnNlbGYuXG4gKiAzLiBJdCdzIGNvbXBvbmVudCBub2RlLCDQsGdncmVnYXRlcyBqdXN0IHRoZSBvdXRwdXRzIG9mIFRISVMgY29tcG9uZW50IG5vZGUgKGhvcml6b250YWwvY29tcG9uZW50IGFnZ3JlZ2F0aW9uKS5cbiAqIDQuIEVsc2UgaXQncyBncm91cGluZyBub2RlLCBmaXJzdCBkb2VzIHRlbXBvcmFsIGFnZ3JlZ2F0aW9uLiBUaGlzIGFzc3VtZXMgZXZlcnl0aGluZyBpcyBvbiB0aGUgc2FtZSB0aW1lLWdyaWQuXG4gKiAgICBUaGUgb3V0cHV0cyBvZiB0aGUgZ3JvdXBpbmcgbm9kZSBhcmUgdGhlIGFnZ3JlZ2F0ZWQgdGltZSBidWNrZXRlZCBvdXRwdXRzIG9mIGl0J3MgY2hpbGRyZW4uXG4gKiA1LiBOb3cgYSBncm91cGluZyBub2RlIGhhcyBpdCdzIG93biBvdXRwdXRzLCBpdCBjYW4gaG9yaXpvdG5hbGx5IGFnZ3JlZ2F0ZSB0aGVtLlxuICovXG5jb25zdCBhZ2dyZWdhdGVOb2RlID0gKG5vZGU6IGFueSwgYWdncmVnYXRpb25QYXJhbXM6IEFnZ3JlZ2F0aW9uUGFyYW1zU3VyZSkgPT4ge1xuICBjb25zdCBtZXRyaWNzID0gYWdncmVnYXRpb25QYXJhbXMhLm1ldHJpY3M7XG4gIGNvbnN0IHR5cGUgPSBhZ2dyZWdhdGlvblBhcmFtcyEudHlwZTtcblxuICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAgIGZvciAoY29uc3QgY2hpbGQgaW4gbm9kZS5jaGlsZHJlbikge1xuICAgICAgY29uc29sZS5kZWJ1ZyhBR0dSRUdBVElOR19OT0RFKGNoaWxkKSk7XG5cbiAgICAgIGFnZ3JlZ2F0ZU5vZGUobm9kZS5jaGlsZHJlbltjaGlsZF0sIGFnZ3JlZ2F0aW9uUGFyYW1zKTtcbiAgICB9XG4gIH1cblxuICBpZiAoIW5vZGUuY2hpbGRyZW4pIHtcbiAgICBpZiAodHlwZSA9PT0gJ2hvcml6b250YWwnIHx8IHR5cGUgPT09ICdib3RoJykge1xuICAgICAgbm9kZS5hZ2dyZWdhdGVkID0gYWdncmVnYXRlSW5wdXRzSW50b09uZShub2RlLm91dHB1dHMsIG1ldHJpY3MpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAodHlwZSA9PT0gJ3ZlcnRpY2FsJyB8fCB0eXBlID09PSAnYm90aCcpIHtcbiAgICAgIGNvbnN0IG91dHB1dHMgPSB0ZW1wb3JhbEFnZ3JlZ2F0aW9uKG5vZGUsIG1ldHJpY3MpO1xuICAgICAgbm9kZS5vdXRwdXRzID0gb3V0cHV0cztcbiAgICAgIG5vZGUuYWdncmVnYXRlZCA9IGFnZ3JlZ2F0ZUlucHV0c0ludG9PbmUob3V0cHV0cywgbWV0cmljcyk7XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIElmIGFnZ3JlZ2F0aW9uIGlzIGRpc2FibGVkLCB0aGVuIHJldHVybnMgZ2l2ZW4gYHRyZWVgLlxuICogT3RoZXJ3aXNlIGNyZWF0ZXMgY29weSBvZiB0aGUgdHJlZSwgdGhlbiBhcHBsaWVzIGFnZ3JlZ2F0aW9uIHRvIGl0LlxuICovXG5leHBvcnQgY29uc3QgYWdncmVnYXRlID0gKHRyZWU6IGFueSwgYWdncmVnYXRpb25QYXJhbXM6IEFnZ3JlZ2F0aW9uUGFyYW1zKSA9PiB7XG4gIGNvbnNvbGUuZGVidWcoQUdHUkVHQVRJTkdfT1VUUFVUUyk7XG5cbiAgaWYgKCFhZ2dyZWdhdGlvblBhcmFtcyB8fCAhYWdncmVnYXRpb25QYXJhbXMudHlwZSkge1xuICAgIHJldHVybiB0cmVlO1xuICB9XG5cbiAgY29uc3QgY29weU9mVHJlZSA9IHN0cnVjdHVyZWRDbG9uZSh0cmVlKTtcbiAgYWdncmVnYXRlTm9kZShjb3B5T2ZUcmVlLCBhZ2dyZWdhdGlvblBhcmFtcyk7XG5cbiAgcmV0dXJuIGNvcHlPZlRyZWU7XG59O1xuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Difference } from '../types/lib/compare';
|
|
2
|
+
/**
|
|
3
|
+
* 1. If objects are not of the same type or are primitive types, compares directly.
|
|
4
|
+
* 2. Gets the keys from both objects.
|
|
5
|
+
* 3. If both are arrays, checks their elements.
|
|
6
|
+
* 4. Checks for keys present in both objects.
|
|
7
|
+
* If key is `execution`, omit unnecessary params.
|
|
8
|
+
* 5. If all keys are checked and no differences are found, return empty object.
|
|
9
|
+
*/
|
|
10
|
+
export declare const compare: (source: any, target: any, path?: string) => Difference;
|