@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
|
@@ -26,7 +26,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.ExportCSVRaw = void 0;
|
|
27
27
|
const fs = __importStar(require("fs/promises"));
|
|
28
28
|
const errors_1 = require("../util/errors");
|
|
29
|
+
const strings_1 = require("../config/strings");
|
|
29
30
|
const { ExhaustError } = errors_1.ERRORS;
|
|
31
|
+
const { EXPORTING_RAW_CSV_FILE } = strings_1.STRINGS;
|
|
30
32
|
const ExportCSVRaw = () => {
|
|
31
33
|
/**
|
|
32
34
|
* handle a tree leaf, where there are no child nodes, by adding it as key->value pair to the flat map
|
|
@@ -118,6 +120,7 @@ const ExportCSVRaw = () => {
|
|
|
118
120
|
if (!outputPath) {
|
|
119
121
|
throw new ExhaustError('Output path is required.');
|
|
120
122
|
}
|
|
123
|
+
console.debug(EXPORTING_RAW_CSV_FILE(outputPath));
|
|
121
124
|
const [extractredFlatMap, extractedHeaders] = extractFlatMapAndHeaders(tree);
|
|
122
125
|
const ids = new Set(Object.keys(extractredFlatMap).map(key => extractIdHelper(key)));
|
|
123
126
|
const csvString = getCsvString(extractredFlatMap, extractedHeaders, ids);
|
|
@@ -126,4 +129,4 @@ const ExportCSVRaw = () => {
|
|
|
126
129
|
return { execute };
|
|
127
130
|
};
|
|
128
131
|
exports.ExportCSVRaw = ExportCSVRaw;
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWNzdi1yYXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbHRpbnMvZXhwb3J0LWNzdi1yYXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBa0M7QUFFbEMsMkNBQXNDO0FBS3RDLE1BQU0sRUFBQyxZQUFZLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFFdkIsTUFBTSxZQUFZLEdBQUcsR0FBMkIsRUFBRTtJQUN2RDs7O09BR0c7SUFDSCxNQUFNLGVBQWUsR0FBRyxDQUN0QixLQUFVLEVBQ1YsUUFBZ0IsRUFDaEIsR0FBUSxFQUNSLE9BQTZCLEVBQzdCLE9BQW9CLEVBQ3BCLEVBQUU7UUFDRixJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDaEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqQixPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQyxDQUFDO0lBRUY7O09BRUc7SUFDSCxNQUFNLGVBQWUsR0FBRyxDQUN0QixLQUFVLEVBQ1YsUUFBZ0IsRUFDaEIsT0FBNEIsRUFDNUIsT0FBb0IsRUFDcEIsRUFBRTtRQUNGLE1BQU0sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEdBQUcsd0JBQXdCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRTNFLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3RDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtnQkFDckQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUMxQixDQUFDLENBQUMsQ0FBQztZQUVILFVBQVUsQ0FB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QUFDLFNBQVMsQ0FBQyxHQUFHLFVBQVUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ2xEO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxNQUFNLElBQUksWUFBWSxDQUFDLDBCQUEwQixVQUFVLEtBQUssS0FBSyxFQUFFLENBQUMsQ0FBQztTQUMxRTtJQUNILENBQUMsQ0FBQztJQUVGOztPQUVHO0lBQ0gsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLElBQVMsRUFBRSxRQUFpQixFQUFFLFVBQWtCLEVBQUUsRUFBRTtRQUN6RSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2YsTUFBTSxJQUFJLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsTUFBTSxDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixDQUFDLEdBQ3pDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ2hFLENBQUM7UUFDRixNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFekUsTUFBTSxlQUFlLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQy9DLENBQUMsQ0FBQztJQUVGLE9BQU8sRUFBQyxPQUFPLEVBQUMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUEvSVcsUUFBQSxZQUFZLGdCQStJdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcy9wcm9taXNlcyc7XG5cbmltcG9ydCB7RVJST1JTfSBmcm9tICcuLi91dGlsL2Vycm9ycyc7XG5cbmltcG9ydCB7RXhoYXVzdFBsdWdpbkludGVyZmFjZX0gZnJvbSAnLi4vdHlwZXMvZXhoYXVzdC1wbHVnaW4taW50ZXJmYWNlJztcbmltcG9ydCB7Q29udGV4dH0gZnJvbSAnLi4vdHlwZXMvbWFuaWZlc3QnO1xuXG5jb25zdCB7RXhoYXVzdEVycm9yfSA9IEVSUk9SUztcblxuZXhwb3J0IGNvbnN0IEV4cG9ydENTVlJhdyA9ICgpOiBFeGhhdXN0UGx1Z2luSW50ZXJmYWNlID0+IHtcbiAgLyoqXG4gICAqIGhhbmRsZSBhIHRyZWUgbGVhZiwgd2hlcmUgdGhlcmUgYXJlIG5vIGNoaWxkIG5vZGVzLCBieSBhZGRpbmcgaXQgYXMga2V5LT52YWx1ZSBwYWlyIHRvIHRoZSBmbGF0IG1hcFxuICAgKiBhbmQgY2FwdHVyaW5nIGtleSBhcyBhIGhlYWRlclxuICAgKi9cbiAgY29uc3QgaGFuZGxlTGVhZlZhbHVlID0gKFxuICAgIHZhbHVlOiBhbnksXG4gICAgZnVsbFBhdGg6IHN0cmluZyxcbiAgICBrZXk6IGFueSxcbiAgICBmbGF0TWFwOiB7W2tleTogc3RyaW5nXTogYW55fSxcbiAgICBoZWFkZXJzOiBTZXQ8c3RyaW5nPlxuICApID0+IHtcbiAgICBpZiAoZnVsbFBhdGguaW5jbHVkZXMoJ291dHB1dHMnKSkge1xuICAgICAgaGVhZGVycy5hZGQoa2V5KTtcbiAgICAgIGZsYXRNYXBbZnVsbFBhdGhdID0gdmFsdWU7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBoYW5kbGUgYSB0cmVlIG5vZGUsIHJlY3Vyc2l2ZWx5IHRyYXZlcnNlIHRoZSBjaGlsZHJlbiBhbmQgYXBwZW5kIHRoZWlyIHJlc3VsdHMgdG8gdGhlIGZsYXQgbWFwIGFuZCBjYXB0dXJlZCBoZWFkZXJzXG4gICAqL1xuICBjb25zdCBoYW5kbGVOb2RlVmFsdWUgPSAoXG4gICAgdmFsdWU6IGFueSxcbiAgICBmdWxsUGF0aDogc3RyaW5nLFxuICAgIGZsYXRNYXA6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgaGVhZGVyczogU2V0PHN0cmluZz5cbiAgKSA9PiB7XG4gICAgY29uc3QgW3N1YkZsYXRNYXAsIHN1YkhlYWRlcnNdID0gZXh0cmFjdEZsYXRNYXBBbmRIZWFkZXJzKHZhbHVlLCBmdWxsUGF0aCk7XG5cbiAgICBpZiAoT2JqZWN0LmtleXMoc3ViRmxhdE1hcCkubGVuZ3RoID4gMCkge1xuICAgICAgT2JqZWN0LmVudHJpZXMoc3ViRmxhdE1hcCkuZm9yRWFjaCgoW3N1YktleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGZsYXRNYXBbc3ViS2V5XSA9IHZhbHVlO1xuICAgICAgfSk7XG5cbiAgICAgIHN1YkhlYWRlcnMuZm9yRWFjaChzdWJIZWFkZXIgPT4ge1xuICAgICAgICBoZWFkZXJzLmFkZChzdWJIZWFkZXIpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBIYW5kbGVzIGEga2V5IGF0IHRoZSB0b3AgbGV2ZWwgb2YgdGhlIHRyZWVcbiAgICovXG4gIGNvbnN0IGhhbmRsZUtleSA9IChcbiAgICB2YWx1ZTogYW55LFxuICAgIGtleTogYW55LFxuICAgIHByZWZpeDogc3RyaW5nLFxuICAgIGZsYXRNYXA6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgaGVhZGVyczogU2V0PHN0cmluZz5cbiAgKSA9PiB7XG4gICAgY29uc3QgZnVsbFBhdGggPSBwcmVmaXggPyBgJHtwcmVmaXh9LiR7a2V5fWAgOiBrZXk7XG5cbiAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIGhhbmRsZU5vZGVWYWx1ZSh2YWx1ZSwgZnVsbFBhdGgsIGZsYXRNYXAsIGhlYWRlcnMpO1xuICAgIH1cblxuICAgIHJldHVybiBoYW5kbGVMZWFmVmFsdWUodmFsdWUsIGZ1bGxQYXRoLCBrZXksIGZsYXRNYXAsIGhlYWRlcnMpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZWN1cnNpdmVseSBleHRyYWN0IGEgZmxhdCBtYXAgYW5kIGhlYWRlcnMgZnJvbSB0aGUgaGllcmFyY2lhbCB0cmVlLlxuICAgKi9cbiAgY29uc3QgZXh0cmFjdEZsYXRNYXBBbmRIZWFkZXJzID0gKFxuICAgIHRyZWU6IGFueSxcbiAgICBwcmVmaXggPSAnJ1xuICApOiBbUmVjb3JkPHN0cmluZywgYW55PiwgU2V0PHN0cmluZz5dID0+IHtcbiAgICBjb25zdCBoZWFkZXJzOiBTZXQ8c3RyaW5nPiA9IG5ldyBTZXQoKTtcbiAgICBjb25zdCBmbGF0TWFwOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiB0cmVlKSB7XG4gICAgICBpZiAoa2V5IGluIHRyZWUpIHtcbiAgICAgICAgaGFuZGxlS2V5KHRyZWVba2V5XSwga2V5LCBwcmVmaXgsIGZsYXRNYXAsIGhlYWRlcnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBbZmxhdE1hcCwgaGVhZGVyc107XG4gIH07XG5cbiAgLyoqXG4gICAqIGV4dHJhY3QgdGhlIGlkIG9mIHRoZSBrZXksIHRoYXQgaXMgcmVtb3ZpbmcgdGhlIGxhc3QgdG9rZW4gKHdoaWNoIGlzIHRoZSBpbmRleCkuXG4gICAqIGluIHRoaXMgbWFubmVyLCBtdWx0aXBsZSBrZXlzIHRoYXQgaWRlbnRpY2FsIGJlc2lkZXMgdGhlaXIgaW5kZXggc2hhcmUgdGhlIHNhbWUgaWQuXG4gICAqL1xuICBjb25zdCBleHRyYWN0SWRIZWxwZXIgPSAoa2V5OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgIGNvbnN0IHBhcnRzID0ga2V5LnNwbGl0KCcuJyk7XG4gICAgcGFydHMucG9wKCk7XG5cbiAgICByZXR1cm4gcGFydHMuam9pbignLicpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBnZW5lcmF0ZSBhIENTViBmb3JtYXR0ZWQgc3RyaW5nIGJhc2VkIG9uIGEgZmxhdCBrZXktPnZhbHVlIG1hcCwgaGVhZGVycyBhbmQgaWRzXG4gICAqL1xuICBjb25zdCBnZXRDc3ZTdHJpbmcgPSAoXG4gICAgbWFwOiB7W2tleTogc3RyaW5nXTogYW55fSxcbiAgICBoZWFkZXJzOiBTZXQ8c3RyaW5nPixcbiAgICBpZHM6IFNldDxzdHJpbmc+XG4gICk6IHN0cmluZyA9PiB7XG4gICAgY29uc3QgY3N2Um93czogc3RyaW5nW10gPSBbXTtcbiAgICBjc3ZSb3dzLnB1c2goWydpZCcsIC4uLmhlYWRlcnNdLmpvaW4oJywnKSk7XG5cbiAgICBpZHMuZm9yRWFjaChpZCA9PiB7XG4gICAgICBjb25zdCByb3dEYXRhID0gW2lkXTtcblxuICAgICAgaGVhZGVycy5mb3JFYWNoKGhlYWRlciA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gbWFwW2Ake2lkfS4ke2hlYWRlcn1gXSA/PyAnJztcbiAgICAgICAgcm93RGF0YS5wdXNoKHZhbHVlLnRvU3RyaW5nKCkpO1xuICAgICAgfSk7XG4gICAgICBjc3ZSb3dzLnB1c2gocm93RGF0YS5qb2luKCcsJykpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNzdlJvd3Muam9pbignXFxuJyk7XG4gIH07XG5cbiAgLyoqXG4gICAqIHdyaXRlIHRoZSBnaXZlbiBzdHJpbmcgY29udGVudCB0byBhIGZpbGUgYXQgdGhlIHByb3ZpZGVkIHBhdGhcbiAgICovXG4gIGNvbnN0IHdyaXRlT3V0cHV0RmlsZSA9IGFzeW5jIChjb250ZW50OiBzdHJpbmcsIG91dHB1dFBhdGg6IHN0cmluZykgPT4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBmcy53cml0ZUZpbGUoYCR7b3V0cHV0UGF0aH0uY3N2YCwgY29udGVudCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBFeGhhdXN0RXJyb3IoYEZhaWxlZCB0byB3cml0ZSBDU1YgdG8gJHtvdXRwdXRQYXRofTogJHtlcnJvcn1gKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIGV4cG9ydCB0aGUgcHJvdmlkZWQgdHJlZSBjb250ZW50IHRvIGEgQ1NWIGZpbGUsIHJlcHJlc2VudGVkIGluIGEgZmxhdCBzdHJ1Y3R1cmVcbiAgICovXG4gIGNvbnN0IGV4ZWN1dGUgPSBhc3luYyAodHJlZTogYW55LCBfY29udGV4dDogQ29udGV4dCwgb3V0cHV0UGF0aDogc3RyaW5nKSA9PiB7XG4gICAgaWYgKCFvdXRwdXRQYXRoKSB7XG4gICAgICB0aHJvdyBuZXcgRXhoYXVzdEVycm9yKCdPdXRwdXQgcGF0aCBpcyByZXF1aXJlZC4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBbZXh0cmFjdHJlZEZsYXRNYXAsIGV4dHJhY3RlZEhlYWRlcnNdID1cbiAgICAgIGV4dHJhY3RGbGF0TWFwQW5kSGVhZGVycyh0cmVlKTtcbiAgICBjb25zdCBpZHMgPSBuZXcgU2V0KFxuICAgICAgT2JqZWN0LmtleXMoZXh0cmFjdHJlZEZsYXRNYXApLm1hcChrZXkgPT4gZXh0cmFjdElkSGVscGVyKGtleSkpXG4gICAgKTtcbiAgICBjb25zdCBjc3ZTdHJpbmcgPSBnZXRDc3ZTdHJpbmcoZXh0cmFjdHJlZEZsYXRNYXAsIGV4dHJhY3RlZEhlYWRlcnMsIGlkcyk7XG5cbiAgICBhd2FpdCB3cml0ZU91dHB1dEZpbGUoY3N2U3RyaW5nLCBvdXRwdXRQYXRoKTtcbiAgfTtcblxuICByZXR1cm4ge2V4ZWN1dGV9O1xufTtcbiJdfQ==
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWNzdi1yYXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbHRpbnMvZXhwb3J0LWNzdi1yYXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBa0M7QUFFbEMsMkNBQXNDO0FBS3RDLCtDQUEwQztBQUUxQyxNQUFNLEVBQUMsWUFBWSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBQzlCLE1BQU0sRUFBQyxzQkFBc0IsRUFBQyxHQUFHLGlCQUFPLENBQUM7QUFFbEMsTUFBTSxZQUFZLEdBQUcsR0FBMkIsRUFBRTtJQUN2RDs7O09BR0c7SUFDSCxNQUFNLGVBQWUsR0FBRyxDQUN0QixLQUFVLEVBQ1YsUUFBZ0IsRUFDaEIsR0FBUSxFQUNSLE9BQTZCLEVBQzdCLE9BQW9CLEVBQ3BCLEVBQUU7UUFDRixJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDaEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqQixPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQyxDQUFDO0lBRUY7O09BRUc7SUFDSCxNQUFNLGVBQWUsR0FBRyxDQUN0QixLQUFVLEVBQ1YsUUFBZ0IsRUFDaEIsT0FBNEIsRUFDNUIsT0FBb0IsRUFDcEIsRUFBRTtRQUNGLE1BQU0sQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLEdBQUcsd0JBQXdCLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRTNFLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3RDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtnQkFDckQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUMxQixDQUFDLENBQUMsQ0FBQztZQUVILFVBQVUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQzdCLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDekIsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUMsQ0FBQztJQUVGOztPQUVHO0lBQ0gsTUFBTSxTQUFTLEdBQUcsQ0FDaEIsS0FBVSxFQUNWLEdBQVEsRUFDUixNQUFjLEVBQ2QsT0FBNEIsRUFDNUIsT0FBb0IsRUFDcEIsRUFBRTtRQUNGLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUVuRCxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQy9DLE9BQU8sZUFBZSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQzNEO1FBRUQsT0FBTyxlQUFlLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2pFLENBQUMsQ0FBQztJQUVGOztPQUVHO0lBQ0gsTUFBTSx3QkFBd0IsR0FBRyxDQUMvQixJQUFTLEVBQ1QsTUFBTSxHQUFHLEVBQUUsRUFDeUIsRUFBRTtRQUN0QyxNQUFNLE9BQU8sR0FBZ0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUN2QyxNQUFNLE9BQU8sR0FBd0IsRUFBRSxDQUFDO1FBRXhDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFO1lBQ3RCLElBQUksR0FBRyxJQUFJLElBQUksRUFBRTtnQkFDZixTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ3JEO1NBQ0Y7UUFFRCxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVCLENBQUMsQ0FBQztJQUVGOzs7T0FHRztJQUNILE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBVyxFQUFVLEVBQUU7UUFDOUMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7UUFFWixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQyxDQUFDO0lBRUY7O09BRUc7SUFDSCxNQUFNLFlBQVksR0FBRyxDQUNuQixHQUF5QixFQUN6QixPQUFvQixFQUNwQixHQUFnQixFQUNSLEVBQUU7UUFDVixNQUFNLE9BQU8sR0FBYSxFQUFFLENBQUM7UUFDN0IsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTNDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDZixNQUFNLE9BQU8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRXJCLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3ZCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDM0MsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUMsQ0FBQztJQUVGOztPQUVHO0lBQ0gsTUFBTSxlQUFlLEdBQUcsS0FBSyxFQUFFLE9BQWUsRUFBRSxVQUFrQixFQUFFLEVBQUU7UUFDcEUsSUFBSTtZQUNGLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFVBQVUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ2xEO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDZCxNQUFNLElBQUksWUFBWSxDQUFDLDBCQUEwQixVQUFVLEtBQUssS0FBSyxFQUFFLENBQUMsQ0FBQztTQUMxRTtJQUNILENBQUMsQ0FBQztJQUVGOztPQUVHO0lBQ0gsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLElBQVMsRUFBRSxRQUFpQixFQUFFLFVBQWtCLEVBQUUsRUFBRTtRQUN6RSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2YsTUFBTSxJQUFJLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1NBQ3BEO1FBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRWxELE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQyxHQUN6Qyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUNoRSxDQUFDO1FBQ0YsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXpFLE1BQU0sZUFBZSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMvQyxDQUFDLENBQUM7SUFFRixPQUFPLEVBQUMsT0FBTyxFQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBakpXLFFBQUEsWUFBWSxnQkFpSnZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMvcHJvbWlzZXMnO1xuXG5pbXBvcnQge0VSUk9SU30gZnJvbSAnLi4vdXRpbC9lcnJvcnMnO1xuXG5pbXBvcnQge0V4aGF1c3RQbHVnaW5JbnRlcmZhY2V9IGZyb20gJy4uL3R5cGVzL2V4aGF1c3QtcGx1Z2luLWludGVyZmFjZSc7XG5pbXBvcnQge0NvbnRleHR9IGZyb20gJy4uL3R5cGVzL21hbmlmZXN0JztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcvc3RyaW5ncyc7XG5cbmNvbnN0IHtFeGhhdXN0RXJyb3J9ID0gRVJST1JTO1xuY29uc3Qge0VYUE9SVElOR19SQVdfQ1NWX0ZJTEV9ID0gU1RSSU5HUztcblxuZXhwb3J0IGNvbnN0IEV4cG9ydENTVlJhdyA9ICgpOiBFeGhhdXN0UGx1Z2luSW50ZXJmYWNlID0+IHtcbiAgLyoqXG4gICAqIGhhbmRsZSBhIHRyZWUgbGVhZiwgd2hlcmUgdGhlcmUgYXJlIG5vIGNoaWxkIG5vZGVzLCBieSBhZGRpbmcgaXQgYXMga2V5LT52YWx1ZSBwYWlyIHRvIHRoZSBmbGF0IG1hcFxuICAgKiBhbmQgY2FwdHVyaW5nIGtleSBhcyBhIGhlYWRlclxuICAgKi9cbiAgY29uc3QgaGFuZGxlTGVhZlZhbHVlID0gKFxuICAgIHZhbHVlOiBhbnksXG4gICAgZnVsbFBhdGg6IHN0cmluZyxcbiAgICBrZXk6IGFueSxcbiAgICBmbGF0TWFwOiB7W2tleTogc3RyaW5nXTogYW55fSxcbiAgICBoZWFkZXJzOiBTZXQ8c3RyaW5nPlxuICApID0+IHtcbiAgICBpZiAoZnVsbFBhdGguaW5jbHVkZXMoJ291dHB1dHMnKSkge1xuICAgICAgaGVhZGVycy5hZGQoa2V5KTtcbiAgICAgIGZsYXRNYXBbZnVsbFBhdGhdID0gdmFsdWU7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBoYW5kbGUgYSB0cmVlIG5vZGUsIHJlY3Vyc2l2ZWx5IHRyYXZlcnNlIHRoZSBjaGlsZHJlbiBhbmQgYXBwZW5kIHRoZWlyIHJlc3VsdHMgdG8gdGhlIGZsYXQgbWFwIGFuZCBjYXB0dXJlZCBoZWFkZXJzXG4gICAqL1xuICBjb25zdCBoYW5kbGVOb2RlVmFsdWUgPSAoXG4gICAgdmFsdWU6IGFueSxcbiAgICBmdWxsUGF0aDogc3RyaW5nLFxuICAgIGZsYXRNYXA6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgaGVhZGVyczogU2V0PHN0cmluZz5cbiAgKSA9PiB7XG4gICAgY29uc3QgW3N1YkZsYXRNYXAsIHN1YkhlYWRlcnNdID0gZXh0cmFjdEZsYXRNYXBBbmRIZWFkZXJzKHZhbHVlLCBmdWxsUGF0aCk7XG5cbiAgICBpZiAoT2JqZWN0LmtleXMoc3ViRmxhdE1hcCkubGVuZ3RoID4gMCkge1xuICAgICAgT2JqZWN0LmVudHJpZXMoc3ViRmxhdE1hcCkuZm9yRWFjaCgoW3N1YktleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGZsYXRNYXBbc3ViS2V5XSA9IHZhbHVlO1xuICAgICAgfSk7XG5cbiAgICAgIHN1YkhlYWRlcnMuZm9yRWFjaChzdWJIZWFkZXIgPT4ge1xuICAgICAgICBoZWFkZXJzLmFkZChzdWJIZWFkZXIpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBIYW5kbGVzIGEga2V5IGF0IHRoZSB0b3AgbGV2ZWwgb2YgdGhlIHRyZWVcbiAgICovXG4gIGNvbnN0IGhhbmRsZUtleSA9IChcbiAgICB2YWx1ZTogYW55LFxuICAgIGtleTogYW55LFxuICAgIHByZWZpeDogc3RyaW5nLFxuICAgIGZsYXRNYXA6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgaGVhZGVyczogU2V0PHN0cmluZz5cbiAgKSA9PiB7XG4gICAgY29uc3QgZnVsbFBhdGggPSBwcmVmaXggPyBgJHtwcmVmaXh9LiR7a2V5fWAgOiBrZXk7XG5cbiAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIGhhbmRsZU5vZGVWYWx1ZSh2YWx1ZSwgZnVsbFBhdGgsIGZsYXRNYXAsIGhlYWRlcnMpO1xuICAgIH1cblxuICAgIHJldHVybiBoYW5kbGVMZWFmVmFsdWUodmFsdWUsIGZ1bGxQYXRoLCBrZXksIGZsYXRNYXAsIGhlYWRlcnMpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZWN1cnNpdmVseSBleHRyYWN0IGEgZmxhdCBtYXAgYW5kIGhlYWRlcnMgZnJvbSB0aGUgaGllcmFyY2lhbCB0cmVlLlxuICAgKi9cbiAgY29uc3QgZXh0cmFjdEZsYXRNYXBBbmRIZWFkZXJzID0gKFxuICAgIHRyZWU6IGFueSxcbiAgICBwcmVmaXggPSAnJ1xuICApOiBbUmVjb3JkPHN0cmluZywgYW55PiwgU2V0PHN0cmluZz5dID0+IHtcbiAgICBjb25zdCBoZWFkZXJzOiBTZXQ8c3RyaW5nPiA9IG5ldyBTZXQoKTtcbiAgICBjb25zdCBmbGF0TWFwOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gW107XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiB0cmVlKSB7XG4gICAgICBpZiAoa2V5IGluIHRyZWUpIHtcbiAgICAgICAgaGFuZGxlS2V5KHRyZWVba2V5XSwga2V5LCBwcmVmaXgsIGZsYXRNYXAsIGhlYWRlcnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBbZmxhdE1hcCwgaGVhZGVyc107XG4gIH07XG5cbiAgLyoqXG4gICAqIGV4dHJhY3QgdGhlIGlkIG9mIHRoZSBrZXksIHRoYXQgaXMgcmVtb3ZpbmcgdGhlIGxhc3QgdG9rZW4gKHdoaWNoIGlzIHRoZSBpbmRleCkuXG4gICAqIGluIHRoaXMgbWFubmVyLCBtdWx0aXBsZSBrZXlzIHRoYXQgaWRlbnRpY2FsIGJlc2lkZXMgdGhlaXIgaW5kZXggc2hhcmUgdGhlIHNhbWUgaWQuXG4gICAqL1xuICBjb25zdCBleHRyYWN0SWRIZWxwZXIgPSAoa2V5OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgIGNvbnN0IHBhcnRzID0ga2V5LnNwbGl0KCcuJyk7XG4gICAgcGFydHMucG9wKCk7XG5cbiAgICByZXR1cm4gcGFydHMuam9pbignLicpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBnZW5lcmF0ZSBhIENTViBmb3JtYXR0ZWQgc3RyaW5nIGJhc2VkIG9uIGEgZmxhdCBrZXktPnZhbHVlIG1hcCwgaGVhZGVycyBhbmQgaWRzXG4gICAqL1xuICBjb25zdCBnZXRDc3ZTdHJpbmcgPSAoXG4gICAgbWFwOiB7W2tleTogc3RyaW5nXTogYW55fSxcbiAgICBoZWFkZXJzOiBTZXQ8c3RyaW5nPixcbiAgICBpZHM6IFNldDxzdHJpbmc+XG4gICk6IHN0cmluZyA9PiB7XG4gICAgY29uc3QgY3N2Um93czogc3RyaW5nW10gPSBbXTtcbiAgICBjc3ZSb3dzLnB1c2goWydpZCcsIC4uLmhlYWRlcnNdLmpvaW4oJywnKSk7XG5cbiAgICBpZHMuZm9yRWFjaChpZCA9PiB7XG4gICAgICBjb25zdCByb3dEYXRhID0gW2lkXTtcblxuICAgICAgaGVhZGVycy5mb3JFYWNoKGhlYWRlciA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gbWFwW2Ake2lkfS4ke2hlYWRlcn1gXSA/PyAnJztcbiAgICAgICAgcm93RGF0YS5wdXNoKHZhbHVlLnRvU3RyaW5nKCkpO1xuICAgICAgfSk7XG4gICAgICBjc3ZSb3dzLnB1c2gocm93RGF0YS5qb2luKCcsJykpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGNzdlJvd3Muam9pbignXFxuJyk7XG4gIH07XG5cbiAgLyoqXG4gICAqIHdyaXRlIHRoZSBnaXZlbiBzdHJpbmcgY29udGVudCB0byBhIGZpbGUgYXQgdGhlIHByb3ZpZGVkIHBhdGhcbiAgICovXG4gIGNvbnN0IHdyaXRlT3V0cHV0RmlsZSA9IGFzeW5jIChjb250ZW50OiBzdHJpbmcsIG91dHB1dFBhdGg6IHN0cmluZykgPT4ge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBmcy53cml0ZUZpbGUoYCR7b3V0cHV0UGF0aH0uY3N2YCwgY29udGVudCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBFeGhhdXN0RXJyb3IoYEZhaWxlZCB0byB3cml0ZSBDU1YgdG8gJHtvdXRwdXRQYXRofTogJHtlcnJvcn1gKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIGV4cG9ydCB0aGUgcHJvdmlkZWQgdHJlZSBjb250ZW50IHRvIGEgQ1NWIGZpbGUsIHJlcHJlc2VudGVkIGluIGEgZmxhdCBzdHJ1Y3R1cmVcbiAgICovXG4gIGNvbnN0IGV4ZWN1dGUgPSBhc3luYyAodHJlZTogYW55LCBfY29udGV4dDogQ29udGV4dCwgb3V0cHV0UGF0aDogc3RyaW5nKSA9PiB7XG4gICAgaWYgKCFvdXRwdXRQYXRoKSB7XG4gICAgICB0aHJvdyBuZXcgRXhoYXVzdEVycm9yKCdPdXRwdXQgcGF0aCBpcyByZXF1aXJlZC4nKTtcbiAgICB9XG5cbiAgICBjb25zb2xlLmRlYnVnKEVYUE9SVElOR19SQVdfQ1NWX0ZJTEUob3V0cHV0UGF0aCkpO1xuXG4gICAgY29uc3QgW2V4dHJhY3RyZWRGbGF0TWFwLCBleHRyYWN0ZWRIZWFkZXJzXSA9XG4gICAgICBleHRyYWN0RmxhdE1hcEFuZEhlYWRlcnModHJlZSk7XG4gICAgY29uc3QgaWRzID0gbmV3IFNldChcbiAgICAgIE9iamVjdC5rZXlzKGV4dHJhY3RyZWRGbGF0TWFwKS5tYXAoa2V5ID0+IGV4dHJhY3RJZEhlbHBlcihrZXkpKVxuICAgICk7XG4gICAgY29uc3QgY3N2U3RyaW5nID0gZ2V0Q3N2U3RyaW5nKGV4dHJhY3RyZWRGbGF0TWFwLCBleHRyYWN0ZWRIZWFkZXJzLCBpZHMpO1xuXG4gICAgYXdhaXQgd3JpdGVPdXRwdXRGaWxlKGNzdlN0cmluZywgb3V0cHV0UGF0aCk7XG4gIH07XG5cbiAgcmV0dXJuIHtleGVjdXRlfTtcbn07XG4iXX0=
|
|
@@ -4,7 +4,9 @@ exports.ExportCSV = void 0;
|
|
|
4
4
|
const promises_1 = require("fs/promises");
|
|
5
5
|
const sync_1 = require("csv-stringify/sync");
|
|
6
6
|
const errors_1 = require("../util/errors");
|
|
7
|
+
const strings_1 = require("../config/strings");
|
|
7
8
|
const { ExhaustError } = errors_1.ERRORS;
|
|
9
|
+
const { EXPORTING_TO_CSV_FILE } = strings_1.STRINGS;
|
|
8
10
|
/**
|
|
9
11
|
* Extension to IF that outputs the tree in a CSV format.
|
|
10
12
|
*/
|
|
@@ -17,6 +19,7 @@ const ExportCSV = () => {
|
|
|
17
19
|
if (paths.length <= 1 || !criteria) {
|
|
18
20
|
throw new ExhaustError('CSV export criteria is not found in output path. Please append it after --output <path>#.');
|
|
19
21
|
}
|
|
22
|
+
console.debug(EXPORTING_TO_CSV_FILE(output));
|
|
20
23
|
return {
|
|
21
24
|
output,
|
|
22
25
|
criteria,
|
|
@@ -93,4 +96,4 @@ const ExportCSV = () => {
|
|
|
93
96
|
};
|
|
94
97
|
};
|
|
95
98
|
exports.ExportCSV = ExportCSV;
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWNzdi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsdGlucy9leHBvcnQtY3N2LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDBDQUFzQztBQUN0Qyw2Q0FBNkM7QUFFN0MsMkNBQXNDO0FBS3RDLCtDQUEwQztBQUUxQyxNQUFNLEVBQUMsWUFBWSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBQzlCLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxHQUFHLGlCQUFPLENBQUM7QUFFeEM7O0dBRUc7QUFDSSxNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUU7SUFDNUIsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFVBQWtCLEVBQUUsRUFBRTtRQUNqRCxNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVyRCxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXpDLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEMsTUFBTSxJQUFJLFlBQVksQ0FDcEIsMkZBQTJGLENBQzVGLENBQUM7U0FDSDtRQUVELE9BQU8sQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUU3QyxPQUFPO1lBQ0wsTUFBTTtZQUNOLFFBQVE7U0FDVCxDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUY7O09BRUc7SUFDSCxNQUFNLGtCQUFrQixHQUFHLENBQUMsVUFBa0IsRUFBRSxFQUFF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UyxFQUFDLEdBQUcsTUFBTSxNQUFNLEVBQUUsSUFBQSxnQkFBUyxFQUFDLE1BQU0sRUFBRSxFQUFDLE9BQU8sRUFBQyxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDLENBQUM7SUFFRixPQUFPO1FBQ0wsT0FBTztRQUNQLFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxTQUFTO1NBQ2hCO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQTFHVyxRQUFBLFNBQVMsYUEwR3BCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHt3cml0ZUZpbGV9IGZyb20gJ2ZzL3Byb21pc2VzJztcbmltcG9ydCB7c3RyaW5naWZ5fSBmcm9tICdjc3Ytc3RyaW5naWZ5L3N5bmMnO1xuXG5pbXBvcnQge0VSUk9SU30gZnJvbSAnLi4vdXRpbC9lcnJvcnMnO1xuXG5pbXBvcnQge0NvbnRleHR9IGZyb20gJy4uL3R5cGVzL21hbmlmZXN0JztcbmltcG9ydCB7UGx1Z2luUGFyYW1zfSBmcm9tICcuLi90eXBlcy9pbnRlcmZhY2UnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uL2NvbmZpZy9zdHJpbmdzJztcblxuY29uc3Qge0V4aGF1c3RFcnJvcn0gPSBFUlJPUlM7XG5jb25zdCB7RVhQT1JUSU5HX1RPX0NTVl9GSUxFfSA9IFNUUklOR1M7XG5cbi8qKlxuICogRXh0ZW5zaW9uIHRvIElGIHRoYXQgb3V0cHV0cyB0aGUgdHJlZSBpbiBhIENTViBmb3JtYXQuXG4gKi9cbmV4cG9ydCBjb25zdCBFeHBvcnRDU1YgPSAoKSA9PiB7XG4gIGNvbnN0IHBhcnNlT3V0cHV0QW5kRmllbGQgPSAob3V0cHV0UGF0aDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgdmFsaWRhdGVkUGF0aCA9IHZhbGlkYXRlT3V0cHV0UGF0aChvdXRwdXRQYXRoKTtcblxuICAgIGNvbnN0IHBhdGhzID0gdmFsaWRhdGVkUGF0aC5zcGxpdCgnIycpO1xuICAgIGNvbnN0IG91dHB1dCA9IHBhdGhzLnNsaWNlKDAsIHBhdGhzLmxlbmd0aCAtIDEpLmpvaW4oJycpO1xuICAgIGNvbnN0IGNyaXRlcmlhID0gcGF0aHNbcGF0aHMubGVuZ3RoIC0gMV07XG5cbiAgICBpZiAocGF0aHMubGVuZ3RoIDw9IDEgfHwgIWNyaXRlcmlhKSB7XG4gICAgICB0aHJvdyBuZXcgRXhoYXVzdEVycm9yKFxuICAgICAgICAnQ1NWIGV4cG9ydCBjcml0ZXJpYSBpcyBub3QgZm91bmQgaW4gb3V0cHV0IHBhdGguIFBsZWFzZSBhcHBlbmQgaXQgYWZ0ZXIgLS1vdXRwdXQgPHBhdGg+Iy4nXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnNvbGUuZGVidWcoRVhQT1JUSU5HX1RPX0NTVl9GSUxFKG91dHB1dCkpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIG91dHB1dCxcbiAgICAgIGNyaXRlcmlhLFxuICAgIH07XG4gIH07XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBvdXRwdXQgcGF0aC5cbiAgICovXG4gIGNvbnN0IHZhbGlkYXRlT3V0cHV0UGF0aCA9IChvdXRwdXRQYXRoOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoIW91dHB1dFBhdGgpIHtcbiAgICAgIHRocm93IG5ldyBFeGhhdXN0RXJyb3IoJ091dHB1dCBwYXRoIGlzIHJlcXVpcmVkLicpO1xuICAgIH1cblxuICAgIGlmICghb3V0cHV0UGF0aC5pbmNsdWRlcygnIycpKSB7XG4gICAgICB0aHJvdyBuZXcgRXhoYXVzdEVycm9yKCdPdXRwdXQgcGF0aCBzaG91bGQgY29udGFpbiBgI2AuJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG91dHB1dFBhdGg7XG4gIH07XG5cbiAgLyoqXG4gICAqIEdyYWJzIG91dHB1dCBhbmQgY3JpdGVyaWEgZnJvbSBjbGkgYXJncywgdGhlbiBjYWxsIHRyZWUgd2Fsa2VyIHRvIGNvbGxlY3QgY3N2IGRhdGEuXG4gICAqL1xuICBjb25zdCBleGVjdXRlID0gYXN5bmMgKHRyZWU6IGFueSwgY29udGV4dDogQ29udGV4dCwgb3V0cHV0UGF0aDogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgY29sdW1ucyA9IFsnUGF0aCddO1xuICAgIGNvbnN0IG1hdHJpeCA9IFtjb2x1bW5zXTtcbiAgICBjb25zdCB7b3V0cHV0LCBjcml0ZXJpYX0gPSBwYXJzZU91dHB1dEFuZEZpZWxkKG91dHB1dFBhdGgpO1xuICAgIGNvbnN0IGFnZ3JlZ2F0aW9uSXNFbmFibGVkID0gISFjb250ZXh0LmFnZ3JlZ2F0aW9uO1xuXG4gICAgLyoqXG4gICAgICogV2Fsa3MgdGhyb3VnaCBhbGwgdHJlZSBicmFuY2hlcyBhbmQgbGVhdmVzLCBjb2xsZWN0aW5nIHRoZSBkYXRhXG4gICAgICovXG4gICAgY29uc3QgdHJlZVdhbGtlciA9IChub2RlOiBhbnksIGNyaXRlcmlhOiBzdHJpbmcsIHBhdGggPSAndHJlZScpID0+IHtcbiAgICAgIC8qKiBIbW0gYWdncmVnYXRlZCwgdGhlbiBjaGVja3MgaWYgaXQncyB0aGUgZmlyc3Qgb25lLiBJZiBzbyBhZGRzIGNvbHVtbiwgcHVzaGVzIHRoZSB2YWx1ZS4gKi9cbiAgICAgIGlmIChub2RlLmFnZ3JlZ2F0ZWQpIHtcbiAgICAgICAgaWYgKHBhdGggPT09ICd0cmVlJykge1xuICAgICAgICAgIGNvbHVtbnMucHVzaCgnQWdncmVnYXRlZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgbWF0cml4LnB1c2goW2Ake3BhdGh9LiR7Y3JpdGVyaWF9YCwgbm9kZS5hZ2dyZWdhdGVkW2NyaXRlcmlhXV0pO1xuICAgICAgfVxuXG4gICAgICAvKiogU28gaXQgaGFzIG91dHB1dHMsIHdoYXRzIHRoZW4/IGNoZWNrcyBpZiB0aW1lc3RhbXAgaXMgbm90IHRoZXJlLCBhZGRzIG9uZS4gVGhlbiBhcHBlbmRzIHZhbHVlcyB0byBpdC4gKi9cbiAgICAgIGlmIChub2RlLm91dHB1dHMpIHtcbiAgICAgICAgbm9kZS5vdXRwdXRzLmZvckVhY2goKG91dHB1dDogUGx1Z2luUGFyYW1zKSA9PiB7XG4gICAgICAgICAgY29uc3Qge3RpbWVzdGFtcH0gPSBvdXRwdXQ7XG5cbiAgICAgICAgICBpZiAoIWNvbHVtbnMuaW5jbHVkZXModGltZXN0YW1wKSkge1xuICAgICAgICAgICAgY29sdW1ucy5wdXNoKG91dHB1dC50aW1lc3RhbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGxhc3RSb3cgPSBtYXRyaXhbbWF0cml4Lmxlbmd0aCAtIDFdO1xuXG4gICAgICAgICAgaWYgKGFnZ3JlZ2F0aW9uSXNFbmFibGVkKSB7XG4gICAgICAgICAgICBsYXN0Um93LnB1c2gob3V0cHV0W2NyaXRlcmlhXSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8qKiBIYW5kbGUgd2l0aG91dCBhZ2dyZWdhdGlvbiBleHBvcnQgc3RyYXRlZ3kuICovXG4gICAgICAgICAgICBpZiAobWF0cml4Lmxlbmd0aCA9PT0gMSB8fCBsYXN0Um93Lmxlbmd0aCA9PT0gY29sdW1ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgbWF0cml4LnB1c2goW2Ake3BhdGh9LiR7Y3JpdGVyaWF9YCwgb3V0cHV0W2NyaXRlcmlhXV0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgbGFzdFJvdy5wdXNoKG91dHB1dFtjcml0ZXJpYV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIC8qKiBPaGggY2hpbGRyZW4/IHRoZW4gY2FsbCBldmVyeSBvbmUgYW5kIGV4ZWN1dGUuICovXG4gICAgICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIGluIG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgICAgICB0cmVlV2Fsa2VyKFxuICAgICAgICAgICAgbm9kZS5jaGlsZHJlbltjaGlsZF0sXG4gICAgICAgICAgICBjcml0ZXJpYSxcbiAgICAgICAgICAgIGAke3BhdGh9LmNoaWxkcmVuLiR7Y2hpbGR9YFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdHJlZVdhbGtlcih0cmVlLCBjcml0ZXJpYSk7XG5cbiAgICBhd2FpdCB3cml0ZUZpbGUoYCR7b3V0cHV0fS5jc3ZgLCBzdHJpbmdpZnkobWF0cml4LCB7Y29sdW1uc30pKTtcbiAgfTtcblxuICByZXR1cm4ge1xuICAgIGV4ZWN1dGUsXG4gICAgbWV0YWRhdGE6IHtcbiAgICAgIGtpbmQ6ICdleGhhdXN0JyxcbiAgICB9LFxuICB9O1xufTtcbiJdfQ==
|
|
@@ -34,9 +34,11 @@ const ExportLog = () => {
|
|
|
34
34
|
...context,
|
|
35
35
|
tree,
|
|
36
36
|
};
|
|
37
|
-
console.log(
|
|
37
|
+
console.log(`# start
|
|
38
|
+
${YAML.dump(outputFile, { noRefs: true })}
|
|
39
|
+
# end`);
|
|
38
40
|
};
|
|
39
41
|
return { execute };
|
|
40
42
|
};
|
|
41
43
|
exports.ExportLog = ExportLog;
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsdGlucy9leHBvcnQtbG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOENBQWdDO0FBR3pCLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRTtJQUM1Qjs7T0FFRztJQUNILE1BQU0sT0FBTyxHQUFHLEtBQUssRUFBRSxJQUFTLEVBQUUsT0FBZ0IsRUFBRSxFQUFFO1FBQ3BELE1BQU0sVUFBVSxHQUFHO1lBQ2pCLEdBQUcsT0FBTztZQUNWLElBQUk7U0FDTCxDQUFDO1FBRUYsT0FBTyxDQUFDLEdBQUcsQ0FBQztFQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyxDQUFDO01BQ2pDLENBQUMsQ0FBQztJQUNOLENBQUMsQ0FBQztJQUVGLE9BQU8sRUFBQyxPQUFPLEVBQUMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFoQlcsUUFBQSxTQUFTLGFBZ0JwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFlBTUwgZnJvbSAnanMteWFtbCc7XG5pbXBvcnQge0NvbnRleHR9IGZyb20gJy4uL3R5cGVzL21hbmlmZXN0JztcblxuZXhwb3J0IGNvbnN0IEV4cG9ydExvZyA9ICgpID0+IHtcbiAgLyoqXG4gICAqIExvZ3Mgb3V0cHV0IG1hbmlmZXN0IGluIGNvbnNvbGUuXG4gICAqL1xuICBjb25zdCBleGVjdXRlID0gYXN5bmMgKHRyZWU6IGFueSwgY29udGV4dDogQ29udGV4dCkgPT4ge1xuICAgIGNvbnN0IG91dHB1dEZpbGUgPSB7XG4gICAgICAuLi5jb250ZXh0LFxuICAgICAgdHJlZSxcbiAgICB9O1xuXG4gICAgY29uc29sZS5sb2coYCMgc3RhcnRcbiR7WUFNTC5kdW1wKG91dHB1dEZpbGUsIHtub1JlZnM6IHRydWV9KX1cbiMgZW5kYCk7XG4gIH07XG5cbiAgcmV0dXJuIHtleGVjdXRlfTtcbn07XG4iXX0=
|
|
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ExportYaml = void 0;
|
|
4
4
|
const yaml_1 = require("../util/yaml");
|
|
5
5
|
const errors_1 = require("../util/errors");
|
|
6
|
+
const strings_1 = require("../config/strings");
|
|
6
7
|
const { ExhaustError } = errors_1.ERRORS;
|
|
8
|
+
const { EXPORTING_TO_YAML_FILE } = strings_1.STRINGS;
|
|
7
9
|
const ExportYaml = () => {
|
|
8
10
|
/** Takes string before hashtag. */
|
|
9
11
|
const stripHashtag = (path) => path.split('#')[0];
|
|
@@ -19,9 +21,10 @@ const ExportYaml = () => {
|
|
|
19
21
|
tree,
|
|
20
22
|
};
|
|
21
23
|
const path = stripHashtag(outputPath);
|
|
24
|
+
console.debug(EXPORTING_TO_YAML_FILE(path));
|
|
22
25
|
await (0, yaml_1.saveYamlFileAs)(outputFile, `${path}.yaml`);
|
|
23
26
|
};
|
|
24
27
|
return { execute };
|
|
25
28
|
};
|
|
26
29
|
exports.ExportYaml = ExportYaml;
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LXlhbWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbHRpbnMvZXhwb3J0LXlhbWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBQTRDO0FBQzVDLDJDQUFzQztBQUl0QywrQ0FBMEM7QUFFMUMsTUFBTSxFQUFDLFlBQVksRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUM5QixNQUFNLEVBQUMsc0JBQXNCLEVBQUMsR0FBRyxpQkFBTyxDQUFDO0FBRWxDLE1BQU0sVUFBVSxHQUFHLEdBQUcsRUFBRTtJQUM3QixtQ0FBbUM7SUFDbkMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFMUQ7O09BRUc7SUFDSCxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsSUFBUyxFQUFFLE9BQWdCLEVBQUUsVUFBa0IsRUFBRSxFQUFFO1FBQ3hFLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDZixNQUFNLElBQUksWUFBWSxDQUFDLDBCQUEwQixDQUFDLENBQUM7U0FDcEQ7UUFFRCxNQUFNLFVBQVUsR0FBRztZQUNqQixHQUFHLE9BQU87WUFDVixJQUFJO1NBQ0wsQ0FBQztRQUNGLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV0QyxPQUFPLENBQUMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFNUMsTUFBTSxJQUFBLHFCQUFjLEVBQUMsVUFBVSxFQUFFLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQztJQUNuRCxDQUFDLENBQUM7SUFFRixPQUFPLEVBQUMsT0FBTyxFQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBeEJXLFFBQUEsVUFBVSxjQXdCckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3NhdmVZYW1sRmlsZUFzfSBmcm9tICcuLi91dGlsL3lhbWwnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4uL3V0aWwvZXJyb3JzJztcblxuaW1wb3J0IHtDb250ZXh0fSBmcm9tICcuLi90eXBlcy9tYW5pZmVzdCc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vY29uZmlnL3N0cmluZ3MnO1xuXG5jb25zdCB7RXhoYXVzdEVycm9yfSA9IEVSUk9SUztcbmNvbnN0IHtFWFBPUlRJTkdfVE9fWUFNTF9GSUxFfSA9IFNUUklOR1M7XG5cbmV4cG9ydCBjb25zdCBFeHBvcnRZYW1sID0gKCkgPT4ge1xuICAvKiogVGFrZXMgc3RyaW5nIGJlZm9yZSBoYXNodGFnLiAqL1xuICBjb25zdCBzdHJpcEhhc2h0YWcgPSAocGF0aDogc3RyaW5nKSA9PiBwYXRoLnNwbGl0KCcjJylbMF07XG5cbiAgLyoqXG4gICAqIFNhdmVzIG91dHB1dCBmaWxlIGluIFlBTUwgZm9ybWF0LlxuICAgKi9cbiAgY29uc3QgZXhlY3V0ZSA9IGFzeW5jICh0cmVlOiBhbnksIGNvbnRleHQ6IENvbnRleHQsIG91dHB1dFBhdGg6IHN0cmluZykgPT4ge1xuICAgIGlmICghb3V0cHV0UGF0aCkge1xuICAgICAgdGhyb3cgbmV3IEV4aGF1c3RFcnJvcignT3V0cHV0IHBhdGggaXMgcmVxdWlyZWQuJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3V0cHV0RmlsZSA9IHtcbiAgICAgIC4uLmNvbnRleHQsXG4gICAgICB0cmVlLFxuICAgIH07XG4gICAgY29uc3QgcGF0aCA9IHN0cmlwSGFzaHRhZyhvdXRwdXRQYXRoKTtcblxuICAgIGNvbnNvbGUuZGVidWcoRVhQT1JUSU5HX1RPX1lBTUxfRklMRShwYXRoKSk7XG5cbiAgICBhd2FpdCBzYXZlWWFtbEZpbGVBcyhvdXRwdXRGaWxlLCBgJHtwYXRofS55YW1sYCk7XG4gIH07XG5cbiAgcmV0dXJuIHtleGVjdXRlfTtcbn07XG4iXX0=
|
|
@@ -1,2 +1,15 @@
|
|
|
1
1
|
export { GroupBy } from './group-by';
|
|
2
2
|
export { TimeSync } from './time-sync';
|
|
3
|
+
export { Interpolation } from './interpolation';
|
|
4
|
+
export { MockObservations } from './mock-observations';
|
|
5
|
+
export { Divide } from './divide';
|
|
6
|
+
export { Subtract } from './subtract';
|
|
7
|
+
export { Coefficient } from './coefficient';
|
|
8
|
+
export { Multiply } from './multiply';
|
|
9
|
+
export { Sum } from './sum';
|
|
10
|
+
export { SciEmbodied } from './sci-embodied';
|
|
11
|
+
export { Sci } from './sci';
|
|
12
|
+
export { Exponent } from './exponent';
|
|
13
|
+
export { CSVLookup } from './csv-lookup';
|
|
14
|
+
export { Shell } from './shell';
|
|
15
|
+
export { Regex } from './regex';
|
package/build/builtins/index.js
CHANGED
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TimeSync = exports.GroupBy = void 0;
|
|
3
|
+
exports.Regex = exports.Shell = exports.CSVLookup = exports.Exponent = exports.Sci = exports.SciEmbodied = exports.Sum = exports.Multiply = exports.Coefficient = exports.Subtract = exports.Divide = exports.MockObservations = exports.Interpolation = exports.TimeSync = exports.GroupBy = void 0;
|
|
4
4
|
var group_by_1 = require("./group-by");
|
|
5
5
|
Object.defineProperty(exports, "GroupBy", { enumerable: true, get: function () { return group_by_1.GroupBy; } });
|
|
6
6
|
var time_sync_1 = require("./time-sync");
|
|
7
7
|
Object.defineProperty(exports, "TimeSync", { enumerable: true, get: function () { return time_sync_1.TimeSync; } });
|
|
8
|
-
|
|
8
|
+
var interpolation_1 = require("./interpolation");
|
|
9
|
+
Object.defineProperty(exports, "Interpolation", { enumerable: true, get: function () { return interpolation_1.Interpolation; } });
|
|
10
|
+
var mock_observations_1 = require("./mock-observations");
|
|
11
|
+
Object.defineProperty(exports, "MockObservations", { enumerable: true, get: function () { return mock_observations_1.MockObservations; } });
|
|
12
|
+
var divide_1 = require("./divide");
|
|
13
|
+
Object.defineProperty(exports, "Divide", { enumerable: true, get: function () { return divide_1.Divide; } });
|
|
14
|
+
var subtract_1 = require("./subtract");
|
|
15
|
+
Object.defineProperty(exports, "Subtract", { enumerable: true, get: function () { return subtract_1.Subtract; } });
|
|
16
|
+
var coefficient_1 = require("./coefficient");
|
|
17
|
+
Object.defineProperty(exports, "Coefficient", { enumerable: true, get: function () { return coefficient_1.Coefficient; } });
|
|
18
|
+
var multiply_1 = require("./multiply");
|
|
19
|
+
Object.defineProperty(exports, "Multiply", { enumerable: true, get: function () { return multiply_1.Multiply; } });
|
|
20
|
+
var sum_1 = require("./sum");
|
|
21
|
+
Object.defineProperty(exports, "Sum", { enumerable: true, get: function () { return sum_1.Sum; } });
|
|
22
|
+
var sci_embodied_1 = require("./sci-embodied");
|
|
23
|
+
Object.defineProperty(exports, "SciEmbodied", { enumerable: true, get: function () { return sci_embodied_1.SciEmbodied; } });
|
|
24
|
+
var sci_1 = require("./sci");
|
|
25
|
+
Object.defineProperty(exports, "Sci", { enumerable: true, get: function () { return sci_1.Sci; } });
|
|
26
|
+
var exponent_1 = require("./exponent");
|
|
27
|
+
Object.defineProperty(exports, "Exponent", { enumerable: true, get: function () { return exponent_1.Exponent; } });
|
|
28
|
+
var csv_lookup_1 = require("./csv-lookup");
|
|
29
|
+
Object.defineProperty(exports, "CSVLookup", { enumerable: true, get: function () { return csv_lookup_1.CSVLookup; } });
|
|
30
|
+
var shell_1 = require("./shell");
|
|
31
|
+
Object.defineProperty(exports, "Shell", { enumerable: true, get: function () { return shell_1.Shell; } });
|
|
32
|
+
var regex_1 = require("./regex");
|
|
33
|
+
Object.defineProperty(exports, "Regex", { enumerable: true, get: function () { return regex_1.Regex; } });
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYnVpbHRpbnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBQW1DO0FBQTNCLG1HQUFBLE9BQU8sT0FBQTtBQUNmLHlDQUFxQztBQUE3QixxR0FBQSxRQUFRLE9BQUE7QUFDaEIsaURBQThDO0FBQXRDLDhHQUFBLGFBQWEsT0FBQTtBQUNyQix5REFBcUQ7QUFBN0MscUhBQUEsZ0JBQWdCLE9BQUE7QUFDeEIsbUNBQWdDO0FBQXhCLGdHQUFBLE1BQU0sT0FBQTtBQUNkLHVDQUFvQztBQUE1QixvR0FBQSxRQUFRLE9BQUE7QUFDaEIsNkNBQTBDO0FBQWxDLDBHQUFBLFdBQVcsT0FBQTtBQUNuQix1Q0FBb0M7QUFBNUIsb0dBQUEsUUFBUSxPQUFBO0FBQ2hCLDZCQUEwQjtBQUFsQiwwRkFBQSxHQUFHLE9BQUE7QUFDWCwrQ0FBMkM7QUFBbkMsMkdBQUEsV0FBVyxPQUFBO0FBQ25CLDZCQUEwQjtBQUFsQiwwRkFBQSxHQUFHLE9BQUE7QUFDWCx1Q0FBb0M7QUFBNUIsb0dBQUEsUUFBUSxPQUFBO0FBQ2hCLDJDQUF1QztBQUEvQix1R0FBQSxTQUFTLE9BQUE7QUFDakIsaUNBQThCO0FBQXRCLDhGQUFBLEtBQUssT0FBQTtBQUNiLGlDQUE4QjtBQUF0Qiw4RkFBQSxLQUFLLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge0dyb3VwQnl9IGZyb20gJy4vZ3JvdXAtYnknO1xuZXhwb3J0IHtUaW1lU3luY30gZnJvbSAnLi90aW1lLXN5bmMnO1xuZXhwb3J0IHtJbnRlcnBvbGF0aW9ufSBmcm9tICcuL2ludGVycG9sYXRpb24nO1xuZXhwb3J0IHtNb2NrT2JzZXJ2YXRpb25zfSBmcm9tICcuL21vY2stb2JzZXJ2YXRpb25zJztcbmV4cG9ydCB7RGl2aWRlfSBmcm9tICcuL2RpdmlkZSc7XG5leHBvcnQge1N1YnRyYWN0fSBmcm9tICcuL3N1YnRyYWN0JztcbmV4cG9ydCB7Q29lZmZpY2llbnR9IGZyb20gJy4vY29lZmZpY2llbnQnO1xuZXhwb3J0IHtNdWx0aXBseX0gZnJvbSAnLi9tdWx0aXBseSc7XG5leHBvcnQge1N1bX0gZnJvbSAnLi9zdW0nO1xuZXhwb3J0IHtTY2lFbWJvZGllZH0gZnJvbSAnLi9zY2ktZW1ib2RpZWQnO1xuZXhwb3J0IHtTY2l9IGZyb20gJy4vc2NpJztcbmV4cG9ydCB7RXhwb25lbnR9IGZyb20gJy4vZXhwb25lbnQnO1xuZXhwb3J0IHtDU1ZMb29rdXB9IGZyb20gJy4vY3N2LWxvb2t1cCc7XG5leHBvcnQge1NoZWxsfSBmcm9tICcuL3NoZWxsJztcbmV4cG9ydCB7UmVnZXh9IGZyb20gJy4vcmVnZXgnO1xuIl19
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Interpolation = void 0;
|
|
7
|
+
const typescript_cubic_spline_1 = __importDefault(require("typescript-cubic-spline"));
|
|
8
|
+
const zod_1 = require("zod");
|
|
9
|
+
const validations_1 = require("../../util/validations");
|
|
10
|
+
const errors_1 = require("../../util/errors");
|
|
11
|
+
const types_1 = require("./types");
|
|
12
|
+
const { ConfigNotFoundError } = errors_1.ERRORS;
|
|
13
|
+
const Interpolation = (globalConfig) => {
|
|
14
|
+
/**
|
|
15
|
+
* Executes the energy consumption calculation for an array of input parameters.
|
|
16
|
+
*/
|
|
17
|
+
const execute = (inputs) => {
|
|
18
|
+
const validatedConfig = validateConfig();
|
|
19
|
+
return inputs.map((input, index) => {
|
|
20
|
+
const safeInput = validateInput(input, index);
|
|
21
|
+
const result = calculateResult(validatedConfig, safeInput);
|
|
22
|
+
return {
|
|
23
|
+
...input,
|
|
24
|
+
[validatedConfig['output-parameter']]: result,
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Calculates the appropriate interpolation value based on the specified method type in the config and input parameters.
|
|
30
|
+
*/
|
|
31
|
+
const calculateResult = (config, input) => {
|
|
32
|
+
const methodType = {
|
|
33
|
+
linear: getLinearInterpolation(config, input),
|
|
34
|
+
spline: getSplineInterpolation(config, input),
|
|
35
|
+
polynomial: getPolynomialInterpolation(config, input),
|
|
36
|
+
};
|
|
37
|
+
return methodType[config.method];
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Calculates the interpolation when the method is linear.
|
|
41
|
+
*/
|
|
42
|
+
const getLinearInterpolation = (config, input) => {
|
|
43
|
+
const parameter = input[globalConfig['input-parameter']];
|
|
44
|
+
const xPoints = config.x;
|
|
45
|
+
const yPoints = config.y;
|
|
46
|
+
const result = xPoints.reduce((acc, xPoint, i) => {
|
|
47
|
+
if (parameter === xPoint) {
|
|
48
|
+
acc.baseCpu = xPoint;
|
|
49
|
+
acc.baseRate = yPoints[i];
|
|
50
|
+
}
|
|
51
|
+
else if (parameter > xPoint && parameter < xPoints[i + 1]) {
|
|
52
|
+
acc.baseCpu = xPoint;
|
|
53
|
+
acc.baseRate = yPoints[i];
|
|
54
|
+
acc.ratio = (yPoints[i + 1] - yPoints[i]) / (xPoints[i + 1] - xPoint);
|
|
55
|
+
}
|
|
56
|
+
return acc;
|
|
57
|
+
}, { baseRate: 0, baseCpu: 0, ratio: 0 });
|
|
58
|
+
return result.baseRate + (parameter - result.baseCpu) * result.ratio;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Calculates the interpolation when the method is spline.
|
|
62
|
+
*/
|
|
63
|
+
const getSplineInterpolation = (config, input) => {
|
|
64
|
+
const parameter = input[globalConfig['input-parameter']];
|
|
65
|
+
const xPoints = config.x;
|
|
66
|
+
const yPoints = config.y;
|
|
67
|
+
const spline = new typescript_cubic_spline_1.default(xPoints, yPoints);
|
|
68
|
+
return spline.at(parameter);
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Calculates the interpolation when the method is polynomial.
|
|
72
|
+
*/
|
|
73
|
+
const getPolynomialInterpolation = (config, input) => {
|
|
74
|
+
const parameter = input[globalConfig['input-parameter']];
|
|
75
|
+
const xPoints = config.x;
|
|
76
|
+
const yPoints = config.y;
|
|
77
|
+
const result = xPoints.reduce((acc, x, i) => {
|
|
78
|
+
const term = yPoints[i] *
|
|
79
|
+
xPoints.reduce((prod, xPoint, j) => {
|
|
80
|
+
if (j !== i) {
|
|
81
|
+
return (prod * (parameter - xPoint)) / (x - xPoint);
|
|
82
|
+
}
|
|
83
|
+
return prod;
|
|
84
|
+
}, 1);
|
|
85
|
+
return acc + term;
|
|
86
|
+
}, 0);
|
|
87
|
+
return result;
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Validates global config parameters.
|
|
91
|
+
* Sorts elements of `x` and `y`.
|
|
92
|
+
*/
|
|
93
|
+
const validateConfig = () => {
|
|
94
|
+
if (!globalConfig) {
|
|
95
|
+
throw new ConfigNotFoundError('Global config is not provided.');
|
|
96
|
+
}
|
|
97
|
+
const schema = zod_1.z
|
|
98
|
+
.object({
|
|
99
|
+
method: zod_1.z.nativeEnum(types_1.Method),
|
|
100
|
+
x: zod_1.z.array(zod_1.z.number()),
|
|
101
|
+
y: zod_1.z.array(zod_1.z.number()),
|
|
102
|
+
'input-parameter': zod_1.z.string(),
|
|
103
|
+
'output-parameter': zod_1.z.string(),
|
|
104
|
+
})
|
|
105
|
+
.refine(data => data.x && data.y && data.x.length === data.y.length, {
|
|
106
|
+
message: 'The length of `x` and `y` should be equal',
|
|
107
|
+
})
|
|
108
|
+
.refine(data => data.x.length > 1 && data.y.length > 1, {
|
|
109
|
+
message: 'the length of the input arrays must be greater than 1',
|
|
110
|
+
});
|
|
111
|
+
const defaultMethod = globalConfig.method ?? types_1.Method.LINEAR;
|
|
112
|
+
const updatedConfig = Object.assign({}, { method: defaultMethod }, globalConfig, {
|
|
113
|
+
x: sortPoints(globalConfig.x),
|
|
114
|
+
y: sortPoints(globalConfig.y),
|
|
115
|
+
});
|
|
116
|
+
return (0, validations_1.validate)(schema, updatedConfig);
|
|
117
|
+
};
|
|
118
|
+
const sortPoints = (items) => items.sort((a, b) => {
|
|
119
|
+
return a - b;
|
|
120
|
+
});
|
|
121
|
+
/**
|
|
122
|
+
* Validates inputes parameters.
|
|
123
|
+
*/
|
|
124
|
+
const validateInput = (input, index) => {
|
|
125
|
+
const inputParameter = globalConfig['input-parameter'];
|
|
126
|
+
const schema = zod_1.z
|
|
127
|
+
.object({
|
|
128
|
+
timestamp: zod_1.z.string().or(zod_1.z.date()),
|
|
129
|
+
duration: zod_1.z.number(),
|
|
130
|
+
[inputParameter]: zod_1.z.number().gt(0),
|
|
131
|
+
})
|
|
132
|
+
.refine(data => data[inputParameter] >= globalConfig.x[0] &&
|
|
133
|
+
data[inputParameter] <= globalConfig.x[globalConfig.x.length - 1], {
|
|
134
|
+
message: 'The target x value must be within the range of the given x values',
|
|
135
|
+
});
|
|
136
|
+
return (0, validations_1.validate)(schema, input, index);
|
|
137
|
+
};
|
|
138
|
+
return {
|
|
139
|
+
metadata: {
|
|
140
|
+
kind: 'execute',
|
|
141
|
+
},
|
|
142
|
+
execute,
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
exports.Interpolation = Interpolation;
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbHRpbnMvaW50ZXJwb2xhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxzRkFBNkM7QUFDN0MsNkJBQXNCO0FBSXRCLHdEQUFnRDtBQUNoRCw4Q0FBeUM7QUFFekMsbUNBQStCO0FBRS9CLE1BQU0sRUFBQyxtQkFBbUIsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUU5QixNQUFNLGFBQWEsR0FBRyxDQUFDLFlBQTBCLEVBQWlCLEVBQUU7SUFDekU7O09BRUc7SUFDSCxNQUFNLE9BQU8sR0FBRyxDQUFDLE1BQXNCLEVBQUUsRUFBRTtRQUN6QyxNQUFNLGVBQWUsR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUV6QyxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDakMsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM5QyxNQUFNLE1BQU0sR0FBRyxlQUFlLENBQUMsZUFBZSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBRTNELE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBRSxNQUFNO2FBQzlDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztJQUVGOztPQUVHO0lBQ0gsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUFvQixFQUFFLEtBQW1CLEVBQUUsRUFBRTtRQUNwRSxNQUFNLFVBQVUsR0FBNEI7WUFDMUMsTUFBTSxFQUFFLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7WUFDN0MsTUFBTSxFQUFFLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7WUFDN0MsVUFBVSxFQUFFLDBCQUEwQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUM7U0FD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QUNELE1BQU0sQ0FDTCxJQUFJLENBQUMsRUFBRSxDQUNMLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFDbkU7WUFDRSxPQUFPLEVBQ0wsbUVBQW1FO1NBQ3RFLENBQ0YsQ0FBQztRQUVKLE9BQU8sSUFBQSxzQkFBUSxFQUF5QixNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLENBQUMsQ0FBQztJQUVGLE9BQU87UUFDTCxRQUFRLEVBQUU7WUFDUixJQUFJLEVBQUUsU0FBUztTQUNoQjtRQUNELE9BQU87S0FDUixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBL0tXLFFBQUEsYUFBYSxpQkErS3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFNwbGluZSBmcm9tICd0eXBlc2NyaXB0LWN1YmljLXNwbGluZSc7XG5pbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7RXhlY3V0ZVBsdWdpbiwgUGx1Z2luUGFyYW1zLCBDb25maWdQYXJhbXN9IGZyb20gJy4uLy4uL3R5cGVzL2ludGVyZmFjZSc7XG5cbmltcG9ydCB7dmFsaWRhdGV9IGZyb20gJy4uLy4uL3V0aWwvdmFsaWRhdGlvbnMnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4uLy4uL3V0aWwvZXJyb3JzJztcblxuaW1wb3J0IHtNZXRob2R9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCB7Q29uZmlnTm90Rm91bmRFcnJvcn0gPSBFUlJPUlM7XG5cbmV4cG9ydCBjb25zdCBJbnRlcnBvbGF0aW9uID0gKGdsb2JhbENvbmZpZzogQ29uZmlnUGFyYW1zKTogRXhlY3V0ZVBsdWdpbiA9PiB7XG4gIC8qKlxuICAgKiBFeGVjdXRlcyB0aGUgZW5lcmd5IGNvbnN1bXB0aW9uIGNhbGN1bGF0aW9uIGZvciBhbiBhcnJheSBvZiBpbnB1dCBwYXJhbWV0ZXJzLlxuICAgKi9cbiAgY29uc3QgZXhlY3V0ZSA9IChpbnB1dHM6IFBsdWdpblBhcmFtc1tdKSA9PiB7XG4gICAgY29uc3QgdmFsaWRhdGVkQ29uZmlnID0gdmFsaWRhdGVDb25maWcoKTtcblxuICAgIHJldHVybiBpbnB1dHMubWFwKChpbnB1dCwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IHNhZmVJbnB1dCA9IHZhbGlkYXRlSW5wdXQoaW5wdXQsIGluZGV4KTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGNhbGN1bGF0ZVJlc3VsdCh2YWxpZGF0ZWRDb25maWcsIHNhZmVJbnB1dCk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0LFxuICAgICAgICBbdmFsaWRhdGVkQ29uZmlnWydvdXRwdXQtcGFyYW1ldGVyJ11dOiByZXN1bHQsXG4gICAgICB9O1xuICAgIH0pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIHRoZSBhcHByb3ByaWF0ZSBpbnRlcnBvbGF0aW9uIHZhbHVlIGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgbWV0aG9kIHR5cGUgaW4gdGhlIGNvbmZpZyBhbmQgaW5wdXQgcGFyYW1ldGVycy5cbiAgICovXG4gIGNvbnN0IGNhbGN1bGF0ZVJlc3VsdCA9IChjb25maWc6IENvbmZpZ1BhcmFtcywgaW5wdXQ6IFBsdWdpblBhcmFtcykgPT4ge1xuICAgIGNvbnN0IG1ldGhvZFR5cGU6IHtba2V5OiBzdHJpbmddOiBudW1iZXJ9ID0ge1xuICAgICAgbGluZWFyOiBnZXRMaW5lYXJJbnRlcnBvbGF0aW9uKGNvbmZpZywgaW5wdXQpLFxuICAgICAgc3BsaW5lOiBnZXRTcGxpbmVJbnRlcnBvbGF0aW9uKGNvbmZpZywgaW5wdXQpLFxuICAgICAgcG9seW5vbWlhbDogZ2V0UG9seW5vbWlhbEludGVycG9sYXRpb24oY29uZmlnLCBpbnB1dCksXG4gICAgfTtcblxuICAgIHJldHVybiBtZXRob2RUeXBlW2NvbmZpZy5tZXRob2RdO1xuICB9O1xuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIHRoZSBpbnRlcnBvbGF0aW9uIHdoZW4gdGhlIG1ldGhvZCBpcyBsaW5lYXIuXG4gICAqL1xuICBjb25zdCBnZXRMaW5lYXJJbnRlcnBvbGF0aW9uID0gKFxuICAgIGNvbmZpZzogQ29uZmlnUGFyYW1zLFxuICAgIGlucHV0OiBQbHVnaW5QYXJhbXNcbiAgKSA9PiB7XG4gICAgY29uc3QgcGFyYW1ldGVyID0gaW5wdXRbZ2xvYmFsQ29uZmlnWydpbnB1dC1wYXJhbWV0ZXInXV07XG4gICAgY29uc3QgeFBvaW50czogbnVtYmVyW10gPSBjb25maWcueDtcbiAgICBjb25zdCB5UG9pbnRzOiBudW1iZXJbXSA9IGNvbmZpZy55O1xuXG4gICAgY29uc3QgcmVzdWx0ID0geFBvaW50cy5yZWR1Y2UoXG4gICAgICAoYWNjLCB4UG9pbnQsIGkpID0+IHtcbiAgICAgICAgaWYgKHBhcmFtZXRlciA9PT0geFBvaW50KSB7XG4gICAgICAgICAgYWNjLmJhc2VDcHUgPSB4UG9pbnQ7XG4gICAgICAgICAgYWNjLmJhc2VSYXRlID0geVBvaW50c1tpXTtcbiAgICAgICAgfSBlbHNlIGlmIChwYXJhbWV0ZXIgPiB4UG9pbnQgJiYgcGFyYW1ldGVyIDwgeFBvaW50c1tpICsgMV0pIHtcbiAgICAgICAgICBhY2MuYmFzZUNwdSA9IHhQb2ludDtcbiAgICAgICAgICBhY2MuYmFzZVJhdGUgPSB5UG9pbnRzW2ldO1xuICAgICAgICAgIGFjYy5yYXRpbyA9ICh5UG9pbnRzW2kgKyAxXSAtIHlQb2ludHNbaV0pIC8gKHhQb2ludHNbaSArIDFdIC0geFBvaW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LFxuICAgICAge2Jhc2VSYXRlOiAwLCBiYXNlQ3B1OiAwLCByYXRpbzogMH1cbiAgICApO1xuXG4gICAgcmV0dXJuIHJlc3VsdC5iYXNlUmF0ZSArIChwYXJhbWV0ZXIgLSByZXN1bHQuYmFzZUNwdSkgKiByZXN1bHQucmF0aW87XG4gIH07XG5cbiAgLyoqXG4gICAqIENhbGN1bGF0ZXMgdGhlIGludGVycG9sYXRpb24gd2hlbiB0aGUgbWV0aG9kIGlzIHNwbGluZS5cbiAgICovXG4gIGNvbnN0IGdldFNwbGluZUludGVycG9sYXRpb24gPSAoXG4gICAgY29uZmlnOiBDb25maWdQYXJhbXMsXG4gICAgaW5wdXQ6IFBsdWdpblBhcmFtc1xuICApID0+IHtcbiAgICBjb25zdCBwYXJhbWV0ZXIgPSBpbnB1dFtnbG9iYWxDb25maWdbJ2lucHV0LXBhcmFtZXRlciddXTtcbiAgICBjb25zdCB4UG9pbnRzOiBudW1iZXJbXSA9IGNvbmZpZy54O1xuICAgIGNvbnN0IHlQb2ludHM6IG51bWJlcltdID0gY29uZmlnLnk7XG4gICAgY29uc3Qgc3BsaW5lOiBhbnkgPSBuZXcgU3BsaW5lKHhQb2ludHMsIHlQb2ludHMpO1xuXG4gICAgcmV0dXJuIHNwbGluZS5hdChwYXJhbWV0ZXIpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIHRoZSBpbnRlcnBvbGF0aW9uIHdoZW4gdGhlIG1ldGhvZCBpcyBwb2x5bm9taWFsLlxuICAgKi9cbiAgY29uc3QgZ2V0UG9seW5vbWlhbEludGVycG9sYXRpb24gPSAoXG4gICAgY29uZmlnOiBDb25maWdQYXJhbXMsXG4gICAgaW5wdXQ6IFBsdWdpblBhcmFtc1xuICApID0+IHtcbiAgICBjb25zdCBwYXJhbWV0ZXIgPSBpbnB1dFtnbG9iYWxDb25maWdbJ2lucHV0LXBhcmFtZXRlciddXTtcbiAgICBjb25zdCB4UG9pbnRzOiBudW1iZXJbXSA9IGNvbmZpZy54O1xuICAgIGNvbnN0IHlQb2ludHM6IG51bWJlcltdID0gY29uZmlnLnk7XG5cbiAgICBjb25zdCByZXN1bHQgPSB4UG9pbnRzLnJlZHVjZSgoYWNjLCB4LCBpKSA9PiB7XG4gICAgICBjb25zdCB0ZXJtID1cbiAgICAgICAgeVBvaW50c1tpXSAqXG4gICAgICAgIHhQb2ludHMucmVkdWNlKChwcm9kLCB4UG9pbnQsIGopID0+IHtcbiAgICAgICAgICBpZiAoaiAhPT0gaSkge1xuICAgICAgICAgICAgcmV0dXJuIChwcm9kICogKHBhcmFtZXRlciAtIHhQb2ludCkpIC8gKHggLSB4UG9pbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcHJvZDtcbiAgICAgICAgfSwgMSk7XG4gICAgICByZXR1cm4gYWNjICsgdGVybTtcbiAgICB9LCAwKTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBnbG9iYWwgY29uZmlnIHBhcmFtZXRlcnMuXG4gICAqIFNvcnRzIGVsZW1lbnRzIG9mIGB4YCBhbmQgYHlgLlxuICAgKi9cbiAgY29uc3QgdmFsaWRhdGVDb25maWcgPSAoKSA9PiB7XG4gICAgaWYgKCFnbG9iYWxDb25maWcpIHtcbiAgICAgIHRocm93IG5ldyBDb25maWdOb3RGb3VuZEVycm9yKCdHbG9iYWwgY29uZmlnIGlzIG5vdCBwcm92aWRlZC4nKTtcbiAgICB9XG5cbiAgICBjb25zdCBzY2hlbWEgPSB6XG4gICAgICAub2JqZWN0KHtcbiAgICAgICAgbWV0aG9kOiB6Lm5hdGl2ZUVudW0oTWV0aG9kKSxcbiAgICAgICAgeDogei5hcnJheSh6Lm51bWJlcigpKSxcbiAgICAgICAgeTogei5hcnJheSh6Lm51bWJlcigpKSxcbiAgICAgICAgJ2lucHV0LXBhcmFtZXRlcic6IHouc3RyaW5nKCksXG4gICAgICAgICdvdXRwdXQtcGFyYW1ldGVyJzogei5zdHJpbmcoKSxcbiAgICAgIH0pXG4gICAgICAucmVmaW5lKGRhdGEgPT4gZGF0YS54ICYmIGRhdGEueSAmJiBkYXRhLngubGVuZ3RoID09PSBkYXRhLnkubGVuZ3RoLCB7XG4gICAgICAgIG1lc3NhZ2U6ICdUaGUgbGVuZ3RoIG9mIGB4YCBhbmQgYHlgIHNob3VsZCBiZSBlcXVhbCcsXG4gICAgICB9KVxuICAgICAgLnJlZmluZShkYXRhID0+IGRhdGEueC5sZW5ndGggPiAxICYmIGRhdGEueS5sZW5ndGggPiAxLCB7XG4gICAgICAgIG1lc3NhZ2U6ICd0aGUgbGVuZ3RoIG9mIHRoZSBpbnB1dCBhcnJheXMgbXVzdCBiZSBncmVhdGVyIHRoYW4gMScsXG4gICAgICB9KTtcblxuICAgIGNvbnN0IGRlZmF1bHRNZXRob2QgPSBnbG9iYWxDb25maWcubWV0aG9kID8/IE1ldGhvZC5MSU5FQVI7XG4gICAgY29uc3QgdXBkYXRlZENvbmZpZyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7fSxcbiAgICAgIHttZXRob2Q6IGRlZmF1bHRNZXRob2R9LFxuICAgICAgZ2xvYmFsQ29uZmlnLFxuICAgICAge1xuICAgICAgICB4OiBzb3J0UG9pbnRzKGdsb2JhbENvbmZpZy54KSxcbiAgICAgICAgeTogc29ydFBvaW50cyhnbG9iYWxDb25maWcueSksXG4gICAgICB9XG4gICAgKTtcblxuICAgIHJldHVybiB2YWxpZGF0ZTx6LmluZmVyPHR5cGVvZiBzY2hlbWE+PihzY2hlbWEsIHVwZGF0ZWRDb25maWcpO1xuICB9O1xuXG4gIGNvbnN0IHNvcnRQb2ludHMgPSAoaXRlbXM6IG51bWJlcltdKSA9PlxuICAgIGl0ZW1zLnNvcnQoKGE6IG51bWJlciwgYjogbnVtYmVyKSA9PiB7XG4gICAgICByZXR1cm4gYSAtIGI7XG4gICAgfSk7XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBpbnB1dGVzIHBhcmFtZXRlcnMuXG4gICAqL1xuICBjb25zdCB2YWxpZGF0ZUlucHV0ID0gKGlucHV0OiBQbHVnaW5QYXJhbXMsIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBpbnB1dFBhcmFtZXRlciA9IGdsb2JhbENvbmZpZ1snaW5wdXQtcGFyYW1ldGVyJ107XG4gICAgY29uc3Qgc2NoZW1hID0gelxuICAgICAgLm9iamVjdCh7XG4gICAgICAgIHRpbWVzdGFtcDogei5zdHJpbmcoKS5vcih6LmRhdGUoKSksXG4gICAgICAgIGR1cmF0aW9uOiB6Lm51bWJlcigpLFxuICAgICAgICBbaW5wdXRQYXJhbWV0ZXJdOiB6Lm51bWJlcigpLmd0KDApLFxuICAgICAgfSlcbiAgICAgIC5yZWZpbmUoXG4gICAgICAgIGRhdGEgPT5cbiAgICAgICAgICBkYXRhW2lucHV0UGFyYW1ldGVyXSA+PSBnbG9iYWxDb25maWcueFswXSAmJlxuICAgICAgICAgIGRhdGFbaW5wdXRQYXJhbWV0ZXJdIDw9IGdsb2JhbENvbmZpZy54W2dsb2JhbENvbmZpZy54Lmxlbmd0aCAtIDFdLFxuICAgICAgICB7XG4gICAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICAgICdUaGUgdGFyZ2V0IHggdmFsdWUgbXVzdCBiZSB3aXRoaW4gdGhlIHJhbmdlIG9mIHRoZSBnaXZlbiB4IHZhbHVlcycsXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICByZXR1cm4gdmFsaWRhdGU8ei5pbmZlcjx0eXBlb2Ygc2NoZW1hPj4oc2NoZW1hLCBpbnB1dCwgaW5kZXgpO1xuICB9O1xuXG4gIHJldHVybiB7XG4gICAgbWV0YWRhdGE6IHtcbiAgICAgIGtpbmQ6ICdleGVjdXRlJyxcbiAgICB9LFxuICAgIGV4ZWN1dGUsXG4gIH07XG59O1xuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Method = void 0;
|
|
4
|
+
var Method;
|
|
5
|
+
(function (Method) {
|
|
6
|
+
Method["LINEAR"] = "linear";
|
|
7
|
+
Method["SPLINE"] = "spline";
|
|
8
|
+
Method["POLYNOMIAL"] = "polynomial";
|
|
9
|
+
})(Method || (exports.Method = Method = {}));
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYnVpbHRpbnMvaW50ZXJwb2xhdGlvbi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxJQUFZLE1BSVg7QUFKRCxXQUFZLE1BQU07SUFDaEIsMkJBQWlCLENBQUE7SUFDakIsMkJBQWlCLENBQUE7SUFDakIsbUNBQXlCLENBQUE7QUFDM0IsQ0FBQyxFQUpXLE1BQU0sc0JBQU4sTUFBTSxRQUlqQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIE1ldGhvZCB7XG4gIExJTkVBUiA9ICdsaW5lYXInLFxuICBTUExJTkUgPSAnc3BsaW5lJyxcbiAgUE9MWU5PTUlBTCA9ICdwb2x5bm9taWFsJyxcbn1cbiJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CommonGenerator = void 0;
|
|
4
|
+
const errors_1 = require("../../../util/errors");
|
|
5
|
+
const helpers_1 = require("../../../util/helpers");
|
|
6
|
+
const { InputValidationError } = errors_1.ERRORS;
|
|
7
|
+
const CommonGenerator = (config) => {
|
|
8
|
+
const errorBuilder = (0, helpers_1.buildErrorMessage)(exports.CommonGenerator.name);
|
|
9
|
+
/**
|
|
10
|
+
* Creates new copy of the given `object`.
|
|
11
|
+
*/
|
|
12
|
+
const copyObject = (object) => ({ ...object });
|
|
13
|
+
/**
|
|
14
|
+
* Validates the provided config is not null or empty.
|
|
15
|
+
* returns a copy of the validated config, otherwise throws an InputValidationError.
|
|
16
|
+
*/
|
|
17
|
+
const validateConfig = (config) => {
|
|
18
|
+
if (!config || Object.keys(config).length === 0) {
|
|
19
|
+
throw new InputValidationError(errorBuilder({ message: 'Config must not be null or empty' }));
|
|
20
|
+
}
|
|
21
|
+
return copyObject(config);
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Generates next value by copying the validated config.
|
|
25
|
+
*/
|
|
26
|
+
const next = () => copyObject(validateConfig(config));
|
|
27
|
+
return {
|
|
28
|
+
next,
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
exports.CommonGenerator = CommonGenerator;
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWdlbmVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9idWlsdGlucy9tb2NrLW9ic2VydmF0aW9ucy9oZWxwZXJzL2NvbW1vbi1nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaURBQTRDO0FBQzVDLG1EQUF3RDtBQUl4RCxNQUFNLEVBQUMsb0JBQW9CLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFFL0IsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUFvQixFQUFhLEVBQUU7SUFDakUsTUFBTSxZQUFZLEdBQUcsSUFBQSwyQkFBaUIsRUFBQyx1QkFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTdEOztPQUVHO0lBQ0gsTUFBTSxVQUFVLEdBQUcsQ0FBSSxNQUFTLEVBQUssRUFBRSxDQUFDLENBQUMsRUFBQyxHQUFHLE1BQU0sRUFBQyxDQUFDLENBQUM7SUFFdEQ7OztPQUdHO0lBQ0gsTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtRQUN4QyxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMvQyxNQUFNLElBQUksb0JBQW9CLENBQzVCLFlBQVksQ0FBQyxFQUFDLE9BQU8sRUFBRSxrQ0FBa0MsRUFBQyxDQUFDLENBQzVELENBQUM7U0FDSDtRQUVELE9BQU8sVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUMsQ0FBQztJQUVGOztPQUVHO0lBQ0gsTUFBTSxJQUFJLEdBQUcsR0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRTlELE9BQU87UUFDTCxJQUFJO0tBQ0wsQ0FBQztBQUNKLENBQUMsQ0FBQztBQTlCVyxRQUFBLGVBQWUsbUJBOEIxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7S2V5VmFsdWVQYWlyfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb21tb24nO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4uLy4uLy4uL3V0aWwvZXJyb3JzJztcbmltcG9ydCB7YnVpbGRFcnJvck1lc3NhZ2V9IGZyb20gJy4uLy4uLy4uL3V0aWwvaGVscGVycyc7XG5cbmltcG9ydCB7R2VuZXJhdG9yfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuY29uc3Qge0lucHV0VmFsaWRhdGlvbkVycm9yfSA9IEVSUk9SUztcblxuZXhwb3J0IGNvbnN0IENvbW1vbkdlbmVyYXRvciA9IChjb25maWc6IEtleVZhbHVlUGFpcik6IEdlbmVyYXRvciA9PiB7XG4gIGNvbnN0IGVycm9yQnVpbGRlciA9IGJ1aWxkRXJyb3JNZXNzYWdlKENvbW1vbkdlbmVyYXRvci5uYW1lKTtcblxuICAvKipcbiAgICogQ3JlYXRlcyBuZXcgY29weSBvZiB0aGUgZ2l2ZW4gYG9iamVjdGAuXG4gICAqL1xuICBjb25zdCBjb3B5T2JqZWN0ID0gPFQ+KG9iamVjdDogVCk6IFQgPT4gKHsuLi5vYmplY3R9KTtcblxuICAvKipcbiAgICogVmFsaWRhdGVzIHRoZSBwcm92aWRlZCBjb25maWcgaXMgbm90IG51bGwgb3IgZW1wdHkuXG4gICAqIHJldHVybnMgYSBjb3B5IG9mIHRoZSB2YWxpZGF0ZWQgY29uZmlnLCBvdGhlcndpc2UgdGhyb3dzIGFuIElucHV0VmFsaWRhdGlvbkVycm9yLlxuICAgKi9cbiAgY29uc3QgdmFsaWRhdGVDb25maWcgPSAoY29uZmlnOiBvYmplY3QpID0+IHtcbiAgICBpZiAoIWNvbmZpZyB8fCBPYmplY3Qua2V5cyhjb25maWcpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IElucHV0VmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBlcnJvckJ1aWxkZXIoe21lc3NhZ2U6ICdDb25maWcgbXVzdCBub3QgYmUgbnVsbCBvciBlbXB0eSd9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29weU9iamVjdChjb25maWcpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgbmV4dCB2YWx1ZSBieSBjb3B5aW5nIHRoZSB2YWxpZGF0ZWQgY29uZmlnLlxuICAgKi9cbiAgY29uc3QgbmV4dCA9ICgpOiBPYmplY3QgPT4gY29weU9iamVjdCh2YWxpZGF0ZUNvbmZpZyhjb25maWcpKTtcblxuICByZXR1cm4ge1xuICAgIG5leHQsXG4gIH07XG59O1xuIl19
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RandIntGenerator = void 0;
|
|
4
|
+
const errors_1 = require("../../../util/errors");
|
|
5
|
+
const helpers_1 = require("../../../util/helpers");
|
|
6
|
+
const { InputValidationError } = errors_1.ERRORS;
|
|
7
|
+
const RandIntGenerator = (name, config) => {
|
|
8
|
+
const errorBuilder = (0, helpers_1.buildErrorMessage)(exports.RandIntGenerator.name);
|
|
9
|
+
const next = () => ({
|
|
10
|
+
[validatedName]: generateRandInt(getFieldToPopulate()),
|
|
11
|
+
});
|
|
12
|
+
const validateName = (name) => {
|
|
13
|
+
if (!name || name.trim() === '') {
|
|
14
|
+
throw new InputValidationError(errorBuilder({
|
|
15
|
+
message: '`name` is empty or all spaces',
|
|
16
|
+
}));
|
|
17
|
+
}
|
|
18
|
+
return name;
|
|
19
|
+
};
|
|
20
|
+
const validateConfig = (config) => {
|
|
21
|
+
if (!config || Object.keys(config).length === 0) {
|
|
22
|
+
throw new InputValidationError(errorBuilder({
|
|
23
|
+
message: 'Config must not be null or empty',
|
|
24
|
+
}));
|
|
25
|
+
}
|
|
26
|
+
if (!config.min || !config.max) {
|
|
27
|
+
throw new InputValidationError(errorBuilder({
|
|
28
|
+
message: 'Config is missing min or max',
|
|
29
|
+
}));
|
|
30
|
+
}
|
|
31
|
+
if (config.min >= config.max) {
|
|
32
|
+
throw new InputValidationError(errorBuilder({
|
|
33
|
+
message: `Min value should not be greater than or equal to max value of ${validatedName}`,
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
return { min: config.min, max: config.max };
|
|
37
|
+
};
|
|
38
|
+
const validatedName = validateName(name);
|
|
39
|
+
const validatedConfig = validateConfig(config);
|
|
40
|
+
const getFieldToPopulate = () => {
|
|
41
|
+
return {
|
|
42
|
+
name: validatedName,
|
|
43
|
+
min: validatedConfig.min,
|
|
44
|
+
max: validatedConfig.max,
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
const generateRandInt = (randIntGenerator) => {
|
|
48
|
+
const randomNumber = Math.random();
|
|
49
|
+
const scaledNumber = randomNumber * (randIntGenerator.max - randIntGenerator.min) +
|
|
50
|
+
randIntGenerator.min;
|
|
51
|
+
return Math.trunc(scaledNumber);
|
|
52
|
+
};
|
|
53
|
+
return {
|
|
54
|
+
next,
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
exports.RandIntGenerator = RandIntGenerator;
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZC1pbnQtZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2J1aWx0aW5zL21vY2stb2JzZXJ2YXRpb25zL2hlbHBlcnMvcmFuZC1pbnQtZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLGlEQUE0QztBQUM1QyxtREFBd0Q7QUFLeEQsTUFBTSxFQUFDLG9CQUFvQixFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRS9CLE1BQU0sZ0JBQWdCLEdBQUcsQ0FDOUIsSUFBWSxFQUNaLE1BQW9CLEVBQ1QsRUFBRTtJQUNiLE1BQU0sWUFBWSxHQUFHLElBQUEsMkJBQWlCLEVBQUMsd0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFOUQsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNsQixDQUFDLGFBQWEsQ0FBQyxFQUFFLGVBQWUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0tBQ3ZELENBQUMsQ0FBQztJQUVILE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBbUIsRUFBVSxFQUFFO1FBQ25ELElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMvQixNQUFNLElBQUksb0JBQW9CLENBQzVCLFlBQVksQ0FBQztnQkFDWCxPQUFPLEVBQUUsK0JBQStCO2FBQ3pDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztJQUVGLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBb0IsRUFBOEIsRUFBRTtRQUMxRSxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMvQyxNQUFNLElBQUksb0JBQW9CLENBQzVCLFlBQVksQ0FBQztnQkFDWCxPQUFPLEVBQUUsa0NBQWtDO2FBQzVDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDOUIsTUFBTSxJQUFJLG9CQUFvQixDQUM1QixZQUFZLENBQUM7Z0JBQ1gsT0FBTyxFQUFFLDhCQUE4QjthQUN4QyxDQUFDLENBQ0gsQ0FBQztTQUNIO1FBRUQsSUFBSSxNQUFNLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDNUIsTUFBTSxJQUFJLG9CQUFvQixDQUM1QixZQUFZLENBQUM7Z0JBQ1gsT0FBTyxFQUFFLGlFQUFpRSxhQUFhLEVBQUU7YUFDMUYsQ0FBQyxDQUNILENBQUM7U0FDSDtRQUNELE9BQU8sRUFBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBQyxDQUFDO0lBQzVDLENBQUMsQ0FBQztJQUVGLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFL0MsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLEVBQUU7UUFDOUIsT0FBTztZQUNMLElBQUksRUFBRSxhQUFhO1lBQ25CLEdBQUcsRUFBRSxlQUFlLENBQUMsR0FBRztZQUN4QixHQUFHLEVBQUUsZUFBZSxDQUFDLEdBQUc7U0FDekIsQ0FBQztJQUNKLENBQUMsQ0FBQztJQUVGLE1BQU0sZUFBZSxHQUFHLENBQ3RCLGdCQUF3QyxFQUNoQyxFQUFFO1FBQ1YsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ25DLE1BQU0sWUFBWSxHQUNoQixZQUFZLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDO1lBQzVELGdCQUFnQixDQUFDLEdBQUcsQ0FBQztRQUN2QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEMsQ0FBQyxDQUFDO0lBRUYsT0FBTztRQUNMLElBQUk7S0FDTCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBeEVXLFFBQUEsZ0JBQWdCLG9CQXdFM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0tleVZhbHVlUGFpcn0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvY29tbW9uJztcbmltcG9ydCB7RVJST1JTfSBmcm9tICcuLi8uLi8uLi91dGlsL2Vycm9ycyc7XG5pbXBvcnQge2J1aWxkRXJyb3JNZXNzYWdlfSBmcm9tICcuLi8uLi8uLi91dGlsL2hlbHBlcnMnO1xuXG5pbXBvcnQge0dlbmVyYXRvcn0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQge1JhbmRJbnRHZW5lcmF0b3JQYXJhbXN9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3Qge0lucHV0VmFsaWRhdGlvbkVycm9yfSA9IEVSUk9SUztcblxuZXhwb3J0IGNvbnN0IFJhbmRJbnRHZW5lcmF0b3IgPSAoXG4gIG5hbWU6IHN0cmluZyxcbiAgY29uZmlnOiBLZXlWYWx1ZVBhaXJcbik6IEdlbmVyYXRvciA9PiB7XG4gIGNvbnN0IGVycm9yQnVpbGRlciA9IGJ1aWxkRXJyb3JNZXNzYWdlKFJhbmRJbnRHZW5lcmF0b3IubmFtZSk7XG5cbiAgY29uc3QgbmV4dCA9ICgpID0+ICh7XG4gICAgW3ZhbGlkYXRlZE5hbWVdOiBnZW5lcmF0ZVJhbmRJbnQoZ2V0RmllbGRUb1BvcHVsYXRlKCkpLFxuICB9KTtcblxuICBjb25zdCB2YWxpZGF0ZU5hbWUgPSAobmFtZTogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyA9PiB7XG4gICAgaWYgKCFuYW1lIHx8IG5hbWUudHJpbSgpID09PSAnJykge1xuICAgICAgdGhyb3cgbmV3IElucHV0VmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBlcnJvckJ1aWxkZXIoe1xuICAgICAgICAgIG1lc3NhZ2U6ICdgbmFtZWAgaXMgZW1wdHkgb3IgYWxsIHNwYWNlcycsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gbmFtZTtcbiAgfTtcblxuICBjb25zdCB2YWxpZGF0ZUNvbmZpZyA9IChjb25maWc6IEtleVZhbHVlUGFpcik6IHttaW46IG51bWJlcjsgbWF4OiBudW1iZXJ9ID0+IHtcbiAgICBpZiAoIWNvbmZpZyB8fCBPYmplY3Qua2V5cyhjb25maWcpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IElucHV0VmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBlcnJvckJ1aWxkZXIoe1xuICAgICAgICAgIG1lc3NhZ2U6ICdDb25maWcgbXVzdCBub3QgYmUgbnVsbCBvciBlbXB0eScsXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICghY29uZmlnLm1pbiB8fCAhY29uZmlnLm1heCkge1xuICAgICAgdGhyb3cgbmV3IElucHV0VmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBlcnJvckJ1aWxkZXIoe1xuICAgICAgICAgIG1lc3NhZ2U6ICdDb25maWcgaXMgbWlzc2luZyBtaW4gb3IgbWF4JyxcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy5taW4gPj0gY29uZmlnLm1heCkge1xuICAgICAgdGhyb3cgbmV3IElucHV0VmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBlcnJvckJ1aWxkZXIoe1xuICAgICAgICAgIG1lc3NhZ2U6IGBNaW4gdmFsdWUgc2hvdWxkIG5vdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gbWF4IHZhbHVlIG9mICR7dmFsaWRhdGVkTmFtZX1gLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHttaW46IGNvbmZpZy5taW4sIG1heDogY29uZmlnLm1heH07XG4gIH07XG5cbiAgY29uc3QgdmFsaWRhdGVkTmFtZSA9IHZhbGlkYXRlTmFtZShuYW1lKTtcbiAgY29uc3QgdmFsaWRhdGVkQ29uZmlnID0gdmFsaWRhdGVDb25maWcoY29uZmlnKTtcblxuICBjb25zdCBnZXRGaWVsZFRvUG9wdWxhdGUgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IHZhbGlkYXRlZE5hbWUsXG4gICAgICBtaW46IHZhbGlkYXRlZENvbmZpZy5taW4sXG4gICAgICBtYXg6IHZhbGlkYXRlZENvbmZpZy5tYXgsXG4gICAgfTtcbiAgfTtcblxuICBjb25zdCBnZW5lcmF0ZVJhbmRJbnQgPSAoXG4gICAgcmFuZEludEdlbmVyYXRvcjogUmFuZEludEdlbmVyYXRvclBhcmFtc1xuICApOiBudW1iZXIgPT4ge1xuICAgIGNvbnN0IHJhbmRvbU51bWJlciA9IE1hdGgucmFuZG9tKCk7XG4gICAgY29uc3Qgc2NhbGVkTnVtYmVyID1cbiAgICAgIHJhbmRvbU51bWJlciAqIChyYW5kSW50R2VuZXJhdG9yLm1heCAtIHJhbmRJbnRHZW5lcmF0b3IubWluKSArXG4gICAgICByYW5kSW50R2VuZXJhdG9yLm1pbjtcbiAgICByZXR1cm4gTWF0aC50cnVuYyhzY2FsZWROdW1iZXIpO1xuICB9O1xuXG4gIHJldHVybiB7XG4gICAgbmV4dCxcbiAgfTtcbn07XG4iXX0=
|