@grnsft/if 1.0.0-beta.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env +5 -0
- package/README.md +1 -1
- package/adopters.md +3 -0
- package/build/common/config/strings.js +3 -4
- package/build/common/util/helpers.d.ts +5 -0
- package/build/common/util/helpers.js +24 -2
- package/build/if-check/config/config.js +7 -1
- package/build/if-check/util/args.js +3 -2
- package/build/if-check/util/npm.js +4 -4
- package/build/if-csv/config/config.js +7 -1
- package/build/if-csv/util/args.js +3 -2
- package/build/if-diff/config/config.js +7 -1
- package/build/if-diff/util/args.js +3 -2
- package/build/if-env/config/config.js +7 -1
- package/build/if-env/util/args.js +3 -2
- package/build/if-merge/config/config.js +7 -1
- package/build/if-merge/util/args.js +3 -2
- package/build/if-merge/util/helpers.js +4 -1
- package/build/if-run/builtins/csv-import/index.d.ts +16 -0
- package/build/if-run/builtins/csv-import/index.js +69 -0
- package/build/if-run/builtins/csv-lookup/index.js +10 -87
- package/build/if-run/builtins/index.d.ts +1 -0
- package/build/if-run/builtins/index.js +4 -2
- package/build/if-run/builtins/util/csv-helpers.d.ts +26 -0
- package/build/if-run/builtins/util/csv-helpers.js +92 -0
- package/build/if-run/config/config.js +1 -7
- package/build/if-run/config/strings.d.ts +1 -0
- package/build/if-run/config/strings.js +2 -1
- package/build/if-run/lib/compute.js +23 -16
- package/build/if-run/lib/regroup.d.ts +5 -0
- package/build/if-run/lib/regroup.js +14 -2
- package/build/if-run/util/args.d.ts +1 -1
- package/build/if-run/util/args.js +5 -4
- package/coverage/clover.xml +2062 -0
- package/coverage/coverage-final.json +58 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/builtins/coefficient/index.html +116 -0
- package/coverage/lcov-report/builtins/coefficient/index.ts.html +298 -0
- package/coverage/lcov-report/builtins/csv-lookup/index.html +116 -0
- package/coverage/lcov-report/builtins/csv-lookup/index.ts.html +826 -0
- package/coverage/lcov-report/builtins/divide/index.html +116 -0
- package/coverage/lcov-report/builtins/divide/index.ts.html +358 -0
- package/coverage/lcov-report/builtins/exponent/index.html +116 -0
- package/coverage/lcov-report/builtins/exponent/index.ts.html +361 -0
- package/coverage/lcov-report/builtins/export-csv-raw.ts.html +553 -0
- package/coverage/lcov-report/builtins/export-csv.ts.html +436 -0
- package/coverage/lcov-report/builtins/export-log.ts.html +148 -0
- package/coverage/lcov-report/builtins/export-yaml.ts.html +193 -0
- package/coverage/lcov-report/builtins/group-by.ts.html +370 -0
- package/coverage/lcov-report/builtins/index.html +206 -0
- package/coverage/lcov-report/builtins/index.ts.html +130 -0
- package/coverage/lcov-report/builtins/interpolation/index.html +116 -0
- package/coverage/lcov-report/builtins/interpolation/index.ts.html +676 -0
- package/coverage/lcov-report/builtins/interpolation/types.ts.html +100 -0
- package/coverage/lcov-report/builtins/mock-observations/helpers/common-generator.ts.html +184 -0
- package/coverage/lcov-report/builtins/mock-observations/helpers/index.html +131 -0
- package/coverage/lcov-report/builtins/mock-observations/helpers/rand-int-generator.ts.html +289 -0
- package/coverage/lcov-report/builtins/mock-observations/index.html +116 -0
- package/coverage/lcov-report/builtins/mock-observations/index.ts.html +619 -0
- package/coverage/lcov-report/builtins/multiply/index.html +116 -0
- package/coverage/lcov-report/builtins/multiply/index.ts.html +343 -0
- package/coverage/lcov-report/builtins/regex/index.html +116 -0
- package/coverage/lcov-report/builtins/regex/index.ts.html +373 -0
- package/coverage/lcov-report/builtins/sci/config.ts.html +205 -0
- package/coverage/lcov-report/builtins/sci/index.html +116 -0
- package/coverage/lcov-report/builtins/sci/index.ts.html +325 -0
- package/coverage/lcov-report/builtins/sci-embodied/index.html +116 -0
- package/coverage/lcov-report/builtins/sci-embodied/index.ts.html +478 -0
- package/coverage/lcov-report/builtins/shell/index.html +116 -0
- package/coverage/lcov-report/builtins/shell/index.ts.html +280 -0
- package/coverage/lcov-report/builtins/subtract/index.html +116 -0
- package/coverage/lcov-report/builtins/subtract/index.ts.html +379 -0
- package/coverage/lcov-report/builtins/sum/index.html +116 -0
- package/coverage/lcov-report/builtins/sum/index.ts.html +334 -0
- package/coverage/lcov-report/builtins/time-sync.ts.html +1462 -0
- package/coverage/lcov-report/common/config/index.html +131 -0
- package/coverage/lcov-report/common/config/index.ts.html +88 -0
- package/coverage/lcov-report/common/config/strings.ts.html +121 -0
- package/coverage/lcov-report/common/lib/index.html +116 -0
- package/coverage/lcov-report/common/lib/load.ts.html +139 -0
- package/coverage/lcov-report/common/util/debug-logger.ts.html +514 -0
- package/coverage/lcov-report/common/util/fs.ts.html +289 -0
- package/coverage/lcov-report/common/util/helpers.ts.html +355 -0
- package/coverage/lcov-report/common/util/index.html +191 -0
- package/coverage/lcov-report/common/util/logger.ts.html +151 -0
- package/coverage/lcov-report/common/util/validations.ts.html +628 -0
- package/coverage/lcov-report/common/util/yaml.ts.html +226 -0
- package/coverage/lcov-report/config/config.ts.html +463 -0
- package/coverage/lcov-report/config/index.html +161 -0
- package/coverage/lcov-report/config/index.ts.html +94 -0
- package/coverage/lcov-report/config/params.ts.html +697 -0
- package/coverage/lcov-report/config/strings.ts.html +490 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/if-check/config/config.ts.html +184 -0
- package/coverage/lcov-report/if-check/config/index.html +146 -0
- package/coverage/lcov-report/if-check/config/index.ts.html +91 -0
- package/coverage/lcov-report/if-check/config/strings.ts.html +142 -0
- package/coverage/lcov-report/if-check/util/args.ts.html +310 -0
- package/coverage/lcov-report/if-check/util/helpers.ts.html +136 -0
- package/coverage/lcov-report/if-check/util/index.html +146 -0
- package/coverage/lcov-report/if-check/util/npm.ts.html +376 -0
- package/coverage/lcov-report/if-csv/util/args.ts.html +256 -0
- package/coverage/lcov-report/if-csv/util/helpers.ts.html +346 -0
- package/coverage/lcov-report/if-csv/util/index.html +131 -0
- package/coverage/lcov-report/if-diff/config/config.ts.html +184 -0
- package/coverage/lcov-report/if-diff/config/index.html +146 -0
- package/coverage/lcov-report/if-diff/config/index.ts.html +91 -0
- package/coverage/lcov-report/if-diff/config/strings.ts.html +100 -0
- package/coverage/lcov-report/if-diff/lib/compare.ts.html +286 -0
- package/coverage/lcov-report/if-diff/lib/index.html +131 -0
- package/coverage/lcov-report/if-diff/lib/load.ts.html +199 -0
- package/coverage/lcov-report/if-diff/util/args.ts.html +274 -0
- package/coverage/lcov-report/if-diff/util/helpers.ts.html +337 -0
- package/coverage/lcov-report/if-diff/util/index.html +131 -0
- package/coverage/lcov-report/if-env/config/config.ts.html +211 -0
- package/coverage/lcov-report/if-env/config/index.html +146 -0
- package/coverage/lcov-report/if-env/config/index.ts.html +91 -0
- package/coverage/lcov-report/if-env/config/strings.ts.html +109 -0
- package/coverage/lcov-report/if-env/util/args.ts.html +256 -0
- package/coverage/lcov-report/if-env/util/index.html +131 -0
- package/coverage/lcov-report/if-env/util/npm.ts.html +526 -0
- package/coverage/lcov-report/if-merge/util/args.ts.html +301 -0
- package/coverage/lcov-report/if-merge/util/helpers.ts.html +313 -0
- package/coverage/lcov-report/if-merge/util/index.html +131 -0
- package/coverage/lcov-report/if-run/builtins/coefficient/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/coefficient/index.ts.html +286 -0
- package/coverage/lcov-report/if-run/builtins/copy-param/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/copy-param/index.ts.html +301 -0
- package/coverage/lcov-report/if-run/builtins/csv-import/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/csv-import/index.ts.html +364 -0
- package/coverage/lcov-report/if-run/builtins/csv-lookup/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/csv-lookup/index.ts.html +478 -0
- package/coverage/lcov-report/if-run/builtins/divide/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/divide/index.ts.html +346 -0
- package/coverage/lcov-report/if-run/builtins/exponent/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/exponent/index.ts.html +319 -0
- package/coverage/lcov-report/if-run/builtins/export-csv-raw.ts.html +553 -0
- package/coverage/lcov-report/if-run/builtins/export-csv.ts.html +436 -0
- package/coverage/lcov-report/if-run/builtins/export-log.ts.html +148 -0
- package/coverage/lcov-report/if-run/builtins/export-yaml.ts.html +193 -0
- package/coverage/lcov-report/if-run/builtins/group-by.ts.html +370 -0
- package/coverage/lcov-report/if-run/builtins/index.html +146 -0
- package/coverage/lcov-report/if-run/builtins/index.ts.html +136 -0
- package/coverage/lcov-report/if-run/builtins/interpolation/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/interpolation/index.ts.html +643 -0
- package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/common-generator.ts.html +184 -0
- package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/index.html +131 -0
- package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/rand-int-generator.ts.html +289 -0
- package/coverage/lcov-report/if-run/builtins/mock-observations/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/mock-observations/index.ts.html +607 -0
- package/coverage/lcov-report/if-run/builtins/multiply/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/multiply/index.ts.html +289 -0
- package/coverage/lcov-report/if-run/builtins/regex/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/regex/index.ts.html +298 -0
- package/coverage/lcov-report/if-run/builtins/sci/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/sci/index.ts.html +418 -0
- package/coverage/lcov-report/if-run/builtins/sci-embodied/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/sci-embodied/index.ts.html +664 -0
- package/coverage/lcov-report/if-run/builtins/shell/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/shell/index.ts.html +256 -0
- package/coverage/lcov-report/if-run/builtins/subtract/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/subtract/index.ts.html +298 -0
- package/coverage/lcov-report/if-run/builtins/sum/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/sum/index.ts.html +238 -0
- package/coverage/lcov-report/if-run/builtins/time-converter/config.ts.html +205 -0
- package/coverage/lcov-report/if-run/builtins/time-converter/index.html +131 -0
- package/coverage/lcov-report/if-run/builtins/time-converter/index.ts.html +328 -0
- package/coverage/lcov-report/if-run/builtins/time-sync/index.html +116 -0
- package/coverage/lcov-report/if-run/builtins/time-sync/index.ts.html +1804 -0
- package/coverage/lcov-report/if-run/builtins/time-sync.ts.html +1462 -0
- package/coverage/lcov-report/if-run/builtins/util/csv-helpers.ts.html +376 -0
- package/coverage/lcov-report/if-run/builtins/util/index.html +116 -0
- package/coverage/lcov-report/if-run/config/config.ts.html +271 -0
- package/coverage/lcov-report/if-run/config/index.html +161 -0
- package/coverage/lcov-report/if-run/config/index.ts.html +94 -0
- package/coverage/lcov-report/if-run/config/params.ts.html +679 -0
- package/coverage/lcov-report/if-run/config/strings.ts.html +460 -0
- package/coverage/lcov-report/if-run/lib/aggregate.ts.html +577 -0
- package/coverage/lcov-report/if-run/lib/compute.ts.html +733 -0
- package/coverage/lcov-report/if-run/lib/environment.ts.html +373 -0
- package/coverage/lcov-report/if-run/lib/exhaust.ts.html +193 -0
- package/coverage/lcov-report/if-run/lib/explain.ts.html +484 -0
- package/coverage/lcov-report/if-run/lib/index.html +206 -0
- package/coverage/lcov-report/if-run/lib/initialize.ts.html +490 -0
- package/coverage/lcov-report/if-run/lib/parameterize.ts.html +322 -0
- package/coverage/lcov-report/if-run/lib/regroup.ts.html +349 -0
- package/coverage/lcov-report/if-run/lib/time-sync.ts.html +1510 -0
- package/coverage/lcov-report/if-run/types/aggregation.ts.html +94 -0
- package/coverage/lcov-report/if-run/types/index.html +146 -0
- package/coverage/lcov-report/if-run/types/interface.ts.html +112 -0
- package/coverage/lcov-report/if-run/types/parameters.ts.html +106 -0
- package/coverage/lcov-report/if-run/util/aggregation-helper.ts.html +277 -0
- package/coverage/lcov-report/if-run/util/args.ts.html +325 -0
- package/coverage/lcov-report/if-run/util/helpers.ts.html +208 -0
- package/coverage/lcov-report/if-run/util/index.html +191 -0
- package/coverage/lcov-report/if-run/util/json.ts.html +115 -0
- package/coverage/lcov-report/if-run/util/log-memoize.ts.html +145 -0
- package/coverage/lcov-report/if-run/util/os-checker.ts.html +421 -0
- package/coverage/lcov-report/if-run/util/plugin-storage.ts.html +202 -0
- package/coverage/lcov-report/index.html +551 -0
- package/coverage/lcov-report/lib/aggregate.ts.html +358 -0
- package/coverage/lcov-report/lib/compare.ts.html +286 -0
- package/coverage/lcov-report/lib/compute.ts.html +436 -0
- package/coverage/lcov-report/lib/environment.ts.html +376 -0
- package/coverage/lcov-report/lib/exhaust.ts.html +289 -0
- package/coverage/lcov-report/lib/index.html +221 -0
- package/coverage/lcov-report/lib/initialize.ts.html +430 -0
- package/coverage/lcov-report/lib/load.ts.html +268 -0
- package/coverage/lcov-report/lib/parameterize.ts.html +316 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +196 -0
- package/coverage/lcov-report/types/aggregation.ts.html +94 -0
- package/coverage/lcov-report/types/index.html +146 -0
- package/coverage/lcov-report/types/interface.ts.html +112 -0
- package/coverage/lcov-report/types/parameters.ts.html +106 -0
- package/coverage/lcov-report/util/aggregation-helper.ts.html +289 -0
- package/coverage/lcov-report/util/args.ts.html +649 -0
- package/coverage/lcov-report/util/debug-logger.ts.html +481 -0
- package/coverage/lcov-report/util/errors.ts.html +232 -0
- package/coverage/lcov-report/util/fs.ts.html +124 -0
- package/coverage/lcov-report/util/helpers.ts.html +895 -0
- package/coverage/lcov-report/util/index.html +296 -0
- package/coverage/lcov-report/util/json.ts.html +115 -0
- package/coverage/lcov-report/util/log-memoize.ts.html +145 -0
- package/coverage/lcov-report/util/logger.ts.html +151 -0
- package/coverage/lcov-report/util/npm.ts.html +499 -0
- package/coverage/lcov-report/util/os-checker.ts.html +421 -0
- package/coverage/lcov-report/util/plugin-storage.ts.html +202 -0
- package/coverage/lcov-report/util/validations.ts.html +544 -0
- package/coverage/lcov-report/util/yaml.ts.html +193 -0
- package/coverage/lcov.info +3548 -0
- package/manifests/examples/builtins/csv-import/success.yaml +22 -0
- package/manifests/examples/builtins/csv-import/test.csv +4 -0
- package/manifests/outputs/builtins/csv-import/success.yaml +84 -0
- package/manifests/regroup.yml +49 -0
- package/manifests/test.yml +524 -0
- package/package.json +1 -1
- package/src/if-run/builtins/csv-import/README.md +190 -0
- package/src/if-run/builtins/csv-lookup/README.md +7 -7
- package/manifests/outputs/bugs/package.json +0 -24
- package/manifests/outputs/builtins/coefficient/package.json +0 -24
- package/manifests/outputs/builtins/csv-lookup/cloud-metadata/package.json +0 -24
- package/manifests/outputs/builtins/csv-lookup/region-metadata/package.json +0 -24
- package/manifests/outputs/builtins/csv-lookup/tdp-finder/package.json +0 -24
- package/manifests/outputs/builtins/divide/package.json +0 -24
- package/manifests/outputs/builtins/exponent/package.json +0 -24
- package/manifests/outputs/builtins/interpolation/package.json +0 -24
- package/manifests/outputs/builtins/mock-observations/package.json +0 -24
- package/manifests/outputs/builtins/multiply/package.json +0 -24
- package/manifests/outputs/builtins/regex/package.json +0 -24
- package/manifests/outputs/builtins/sci/package.json +0 -24
- package/manifests/outputs/builtins/sci-embodied/package.json +0 -24
- package/manifests/outputs/builtins/shell/package.json +0 -24
- package/manifests/outputs/builtins/subtract/package.json +0 -24
- package/manifests/outputs/builtins/sum/package.json +0 -24
- package/manifests/outputs/builtins/time-converter/package.json +0 -24
- package/manifests/outputs/builtins/time-sync/package.json +0 -24
- package/manifests/outputs/features/package.json +0 -24
- package/manifests/outputs/features/regroup/package.json +0 -24
- package/manifests/outputs/pipelines/package.json +0 -24
|
@@ -7,13 +7,15 @@ const debug_logger_1 = require("../../common/util/debug-logger");
|
|
|
7
7
|
const logger_1 = require("../../common/util/logger");
|
|
8
8
|
const helpers_1 = require("../util/helpers");
|
|
9
9
|
const strings_1 = require("../config/strings");
|
|
10
|
-
const { MERGING_DEFAULTS_WITH_INPUT_DATA, EMPTY_PIPELINE, CONFIG_WARN, COMPUTING_PIPELINE_FOR_NODE, COMPUTING_COMPONENT_PIPELINE, REGROUPING, OBSERVING, } = strings_1.STRINGS;
|
|
10
|
+
const { MERGING_DEFAULTS_WITH_INPUT_DATA, EMPTY_PIPELINE, CONFIG_WARN, COMPUTING_PIPELINE_FOR_NODE, COMPUTING_COMPONENT_PIPELINE, REGROUPING, OBSERVING, SKIPPING_REGROUP, } = strings_1.STRINGS;
|
|
11
|
+
const childNames = new Set();
|
|
11
12
|
/**
|
|
12
13
|
* Traverses all child nodes based on children grouping.
|
|
13
14
|
*/
|
|
14
15
|
const traverse = async (children, params) => {
|
|
15
16
|
for (const child in children) {
|
|
16
17
|
console.debug(COMPUTING_COMPONENT_PIPELINE(child));
|
|
18
|
+
childNames.add(child);
|
|
17
19
|
await computeNode(children[child], params);
|
|
18
20
|
}
|
|
19
21
|
};
|
|
@@ -107,20 +109,25 @@ const computeNode = async (node, params) => {
|
|
|
107
109
|
*/
|
|
108
110
|
if ((noFlags || params.regroup) && pipelineCopy.regroup) {
|
|
109
111
|
const originalOutputs = params.append ? node.outputs || [] : [];
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
112
|
+
if (!(0, regroup_1.isRegrouped)(pipelineCopy.regroup, outputStorage, childNames)) {
|
|
113
|
+
node.children = (0, regroup_1.Regroup)(outputStorage, originalOutputs, pipelineCopy.regroup);
|
|
114
|
+
delete node.inputs;
|
|
115
|
+
delete node.outputs;
|
|
116
|
+
debug_logger_1.debugLogger.setExecutingPluginName();
|
|
117
|
+
console.debug(REGROUPING);
|
|
118
|
+
return traverse(node.children, {
|
|
119
|
+
...params,
|
|
120
|
+
pipeline: {
|
|
121
|
+
...pipelineCopy,
|
|
122
|
+
regroup: undefined,
|
|
123
|
+
},
|
|
124
|
+
defaults,
|
|
125
|
+
config,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
console.debug(SKIPPING_REGROUP);
|
|
130
|
+
}
|
|
124
131
|
}
|
|
125
132
|
console.debug('\n');
|
|
126
133
|
/**
|
|
@@ -159,4 +166,4 @@ const compute = async (tree, params) => {
|
|
|
159
166
|
return copyOfTree;
|
|
160
167
|
};
|
|
161
168
|
exports.compute = compute;
|
|
162
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL2NvbXB1dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsdUNBQWtDO0FBQ2xDLHVDQUF5QztBQUV6QyxpRUFBMkQ7QUFDM0QscURBQWdEO0FBRWhELDZDQUE2QztBQUU3QywrQ0FBMEM7QUFJMUMsTUFBTSxFQUNKLGdDQUFnQyxFQUNoQyxjQUFjLEVBQ2QsV0FBVyxFQUNYLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsVUFBVSxFQUNWLFNBQVMsR0FDVixHQUFHLGlCQUFPLENBQUM7QUFFWjs7R0FFRztBQUNILE1BQU0sUUFBUSxHQUFHLEtBQUssRUFBRSxRQUFhLEVBQUUsTUFBcUIsRUFBRSxFQUFFO0lBQzlELEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxFQUFFO1FBQzVCLE9BQU8sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuRCxNQUFNLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDNUM7QUFDSCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sYUFBYSxHQUFHLENBQ3BCLE1BQXNCLEVBQ3RCLFFBQWtDLEVBQ2xDLEVBQUU7SUFDRixJQUFJLE1BQU0sRUFBRTtRQUNWLE1BQU0sUUFBUSxHQUFHLFFBQVE7WUFDdkIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFBLHNCQUFZLEVBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3BELENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFWCxPQUFPLFFBQVEsQ0FBQztLQUNqQjtJQUVELE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFdEQsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLENB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S0FBSyxFQUFFLElBQVMsRUFBRSxNQUFxQixFQUFFLEVBQUU7SUFDaEUsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXpDLE1BQU0sV0FBVyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUV0QyxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFOVyxRQUFBLE9BQU8sV0FNbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BsdWdpblBhcmFtc30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3R5cGVzJztcblxuaW1wb3J0IHtSZWdyb3VwfSBmcm9tICcuL3JlZ3JvdXAnO1xuaW1wb3J0IHthZGRFeHBsYWluRGF0YX0gZnJvbSAnLi9leHBsYWluJztcblxuaW1wb3J0IHtkZWJ1Z0xvZ2dlcn0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvZGVidWctbG9nZ2VyJztcbmltcG9ydCB7bG9nZ2VyfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9sb2dnZXInO1xuXG5pbXBvcnQge21lcmdlT2JqZWN0c30gZnJvbSAnLi4vdXRpbC9oZWxwZXJzJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcvc3RyaW5ncyc7XG5cbmltcG9ydCB7Q29tcHV0ZVBhcmFtcywgTm9kZSwgUGhhc2VkUGlwZWxpbmV9IGZyb20gJy4uL3R5cGVzL2NvbXB1dGUnO1xuXG5jb25zdCB7XG4gIE1FUkdJTkdfREVGQVVMVFNfV0lUSF9JTlBVVF9EQVRBLFxuICBFTVBUWV9QSVBFTElORSxcbiAgQ09ORklHX1dBUk4sXG4gIENPTVBVVElOR19QSVBFTElORV9GT1JfTk9ERSxcbiAgQ09NUFVUSU5HX0NPTVBPTkVOVF9QSVBFTElORSxcbiAgUkVHUk9VUElORyxcbiAgT0JTRVJWSU5HLFxufSA9IFNUUklOR1M7XG5cbi8qKlxuICogVHJhdmVyc2VzIGFsbCBjaGlsZCBub2RlcyBiYXNlZCBvbiBjaGlsZHJlbiBncm91cGluZy5cbiAqL1xuY29uc3QgdHJhdmVyc2UgPSBhc3luYyAoY2hpbGRyZW46IGFueSwgcGFyYW1zOiBDb21wdXRlUGFyYW1zKSA9PiB7XG4gIGZvciAoY29uc3QgY2hpbGQgaW4gY2hpbGRyZW4pIHtcbiAgICBjb25zb2xlLmRlYnVnKENPTVBVVElOR19DT01QT05FTlRfUElQRUxJTkUoY2hpbGQpKTtcbiAgICBhd2FpdCBjb21wdXRlTm9kZShjaGlsZHJlbltjaGlsZF0sIHBhcmFtcyk7XG4gIH1cbn07XG5cbi8qKlxuICogQXBwZW5kcyBgZGVmYXVsdGAgdmFsdWVzIHRvIGBpbnB1dHNgLlxuICovXG5jb25zdCBtZXJnZURlZmF1bHRzID0gKFxuICBpbnB1dHM6IFBsdWdpblBhcmFtc1tdLFxuICBkZWZhdWx0czogUGx1Z2luUGFyYW1zIHwgdW5kZWZpbmVkXG4pID0+IHtcbiAgaWYgKGlucHV0cykge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gZGVmYXVsdHNcbiAgICAgID8gaW5wdXRzLm1hcChpbnB1dCA9PiBtZXJnZU9iamVjdHMoZGVmYXVsdHMsIGlucHV0KSlcbiAgICAgIDogaW5wdXRzO1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xuICB9XG5cbiAgY29uc29sZS5kZWJ1ZyhNRVJHSU5HX0RFRkFVTFRTX1dJVEhfSU5QVVRfREFUQSwgJ1xcbicpO1xuXG4gIHJldHVybiBkZWZhdWx0cyA/IFtkZWZhdWx0c10gOiBbXTtcbn07XG5cbi8qKlxuICogV2FybnMgaWYgdGhlIGBjb25maWdgIGlzIHByb3ZpZGVkIGluIHRoZSBtYW5pZmVzdC5cbiAqL1xuY29uc3Qgd2FybklmQ29uZmlnUHJvdmlkZWQgPSAobm9kZTogYW55KSA9PiB7XG4gIGlmICgnY29uZmlnJyBpbiBub2RlKSB7XG4gICAgY29uc3QgcGx1Z2lucyA9IE9iamVjdC5rZXlzKG5vZGUuY29uZmlnIHx8IHt9KTtcbiAgICBjb25zdCBqb2luZWRQbHVnaW5zID0gcGx1Z2lucy5qb2luKCcsICcpO1xuICAgIGNvbnN0IGlzTW9yZSA9IHBsdWdpbnMubGVuZ3RoID4gMTtcblxuICAgIGxvZ2dlci53YXJuKENPTkZJR19XQVJOKGpvaW5lZFBsdWdpbnMsIGlzTW9yZSkpO1xuICB9XG59O1xuXG4vKipcbiAqIDEuIElmIHRoZSBub2RlIGhhcyBpdCdzIG93biBwaXBlbGluZSwgZGVmYXVsdHMgb3IgY29uZmlnIHRoZW4gdXNlIHRoYXQsXG4gKiAgICBvdGhlcndpc2UgdXNlIHdoYXRldmVyIGhhcyBiZWVuIHBhc3NlZCBkb3duIGZyb20gZnVydGhlciB1cCB0aGUgdHJlZS5cbiAqIDIuIElmIGl0J3MgYSBncm91cGluZyBub2RlLCB0aGVuIGZpcnN0IG9mIGFsbCBjb21wdXRlcyBhbGwgaXQncyBjaGlsZHJlbi5cbiAqICAgIFRoaXMgaXMgZG9pbmcgYSBkZXB0aCBmaXJzdCB0cmF2ZXJzYWwuXG4gKiAzLiBPdGhlcndpc2UgbWVyZ2VzIHRoZSBkZWZhdWx0cyBpbnRvIHRoZSBpbnB1dHMuXG4gKiA0LiBJdGVyYXRlcyBvdmVyIHBpcGVsaW5lIHBoYXNlcyAob2JzZXJ2ZSwgcmVncm91cCwgY29tcHV0ZSkuXG4gKiA1LiBPYnNlcnZlIHBsdWdpbnMgYXJlIHVzZWQgdG8gaW5zZXJ0IGlucHV0IHZhbHVlc1xuICogICAgKGlzb2xhdGVkIGV4ZWN1dGlvbiBjYW4gYmUgYWNoaXZlZCBieSBwYXNzaW5nIGAtLW9ic2VydmVgIGZsYWcgdG8gQ0xJIGNvbW1hbmQpLlxuICogNi4gUmVncm91cCBwbHVnaW4gaXMgdXNlZCB0byBncm91cCBleGlzdGluZyBpbnB1dHMgYnkgY3JpdGVyaWFcbiAqICAgIChpc29sYXRlZCBleGVjdXRpb24gY2FuIGJlIGFjaGl2ZWQgYnkgcGFzc2luZyBgLS1yZWdyb3VwYCBmbGFnIHRvIENMSSBjb21tYW5kKS5cbiAqICAgIFNpbmNlIGl0IGNyZWF0ZXMgbmV3IGNoaWxkcmVuIGZvciBub2RlLCBleGlzdGluZyBpbnB1dHMgYW5kIG91dHB1dHMgYXJlIGRyb3BwZWQgYW5kIHJlY3Vyc2l2ZSB0cmF2ZXJzYWwgaXMgY2FsbGVkXG4gKiAgICBmb3IgbmV3Ym9yZCBjaGlsZCBjb21wb25lbnQuXG4gKiA3LiBDb21wdXRlIHBsdWdpbnMgYXJlIHVzZWQgdG8gZG8gZGVzaXJlZCBjb21wdXRhdGlvbnMgYW5kIGFwcGVuZGluZyB0aGUgcmVzdWx0IHRvIG91dHB1dHNcbiAqICAgIChpc29sYXRlZCBleGVjdXRpb24gY2FuIGJlIGFjaGl2ZWQgYnkgcGFzc2luZyBgLS1jb21wdXRlYCBmbGFnIHRvIENMSSBjb21tYW5kKS5cbiAqL1xuY29uc3QgY29tcHV0ZU5vZGUgPSBhc3luYyAobm9kZTogTm9kZSwgcGFyYW1zOiBDb21wdXRlUGFyYW1zKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgY29uc3QgcGlwZWxpbmUgPSBub2RlLnBpcGVsaW5lIHx8IChwYXJhbXMucGlwZWxpbmUgYXMgUGhhc2VkUGlwZWxpbmUpO1xuICBjb25zdCBjb25maWcgPSBub2RlLmNvbmZpZyB8fCBwYXJhbXMuY29uZmlnO1xuICBjb25zdCBkZWZhdWx0cyA9IG5vZGUuZGVmYXVsdHMgfHwgcGFyYW1zLmRlZmF1bHRzO1xuICBjb25zdCBub0ZsYWdzID0gIXBhcmFtcy5vYnNlcnZlICYmICFwYXJhbXMucmVncm91cCAmJiAhcGFyYW1zLmNvbXB1dGU7XG5cbiAgZGVidWdMb2dnZXIuc2V0RXhlY3V0aW5nUGx1Z2luTmFtZSgpO1xuICB3YXJuSWZDb25maWdQcm92aWRlZChub2RlKTtcblxuICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAgIHJldHVybiB0cmF2ZXJzZShub2RlLmNoaWxkcmVuLCB7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICBwaXBlbGluZSxcbiAgICAgIGRlZmF1bHRzLFxuICAgICAgY29uZmlnLFxuICAgIH0pO1xuICB9XG5cbiAgbGV0IG91dHB1dFN0b3JhZ2UgPSBzdHJ1Y3R1cmVkQ2xvbmUobm9kZS5pbnB1dHMpIGFzIFBsdWdpblBhcmFtc1tdO1xuICBvdXRwdXRTdG9yYWdlID0gbWVyZ2VEZWZhdWx0cyhvdXRwdXRTdG9yYWdlLCBkZWZhdWx0cyk7XG4gIGNvbnN0IHBpcGVsaW5lQ29weSA9IHN0cnVjdHVyZWRDbG9uZShwaXBlbGluZSkgfHwge307XG5cbiAgLyoqIENoZWNrcyBpZiBwaXBlbGluZSBpcyBub3QgYW4gYXJyYXkgb3IgZW1wdHkgb2JqZWN0LiAqL1xuICBpZiAoXG4gICAgQXJyYXkuaXNBcnJheShwaXBlbGluZUNvcHkpIHx8XG4gICAgKHR5cGVvZiBwaXBlbGluZUNvcHkgPT09ICdvYmplY3QnICYmXG4gICAgICBwaXBlbGluZUNvcHkgIT09IG51bGwgJiZcbiAgICAgIE9iamVjdC5rZXlzKHBpcGVsaW5lQ29weSkubGVuZ3RoID09PSAwKVxuICApIHtcbiAgICBsb2dnZXIud2FybihFTVBUWV9QSVBFTElORSk7XG4gIH1cblxuICAvKipcbiAgICogSWYgaXRlcmF0aW9uIGlzIG9uIG9ic2VydmUgcGlwZWxpbmUsIHRoZW4gZXhlY3V0ZXMgb2JzZXJ2ZSBwbHVnaW5zIGFuZCBzZXRzIHRoZSBpbnB1dHMgdmFsdWUuXG4gICAqL1xuICBpZiAoKG5vRmxhZ3MgfHwgcGFyYW1zLm9ic2VydmUpICYmIHBpcGVsaW5lQ29weS5vYnNlcnZlKSB7XG4gICAgd2hpbGUgKHBpcGVsaW5lQ29weS5vYnNlcnZlLmxlbmd0aCAhPT0gMCkge1xuICAgICAgY29uc3QgcGx1Z2luTmFtZSA9IHBpcGVsaW5lQ29weS5vYnNlcnZlLnNoaWZ0KCkgYXMgc3RyaW5nO1xuICAgICAgY29uc29sZS5kZWJ1ZyhPQlNFUlZJTkcocGx1Z2luTmFtZSkpO1xuICAgICAgZGVidWdMb2dnZXIuc2V0RXhlY3V0aW5nUGx1Z2luTmFtZShwbHVnaW5OYW1lKTtcblxuICAgICAgY29uc3QgcGx1Z2luID0gcGFyYW1zLnBsdWdpblN0b3JhZ2UuZ2V0KHBsdWdpbk5hbWUpO1xuICAgICAgY29uc3Qgbm9kZUNvbmZpZyA9IGNvbmZpZyAmJiBjb25maWdbcGx1Z2luTmFtZV07XG5cbiAgICAgIG91dHB1dFN0b3JhZ2UgPSBhd2FpdCBwbHVnaW4uZXhlY3V0ZShvdXRwdXRTdG9yYWdlLCBub2RlQ29uZmlnKTtcbiAgICAgIG5vZGUuaW5wdXRzID0gb3V0cHV0U3RvcmFnZTtcblxuICAgICAgaWYgKHBhcmFtcy5jb250ZXh0LmV4cGxhaW5lcikge1xuICAgICAgICBhZGRFeHBsYWluRGF0YSh7XG4gICAgICAgICAgcGx1Z2luTmFtZSxcbiAgICAgICAgICBtZXRhZGF0YTogcGx1Z2luLm1ldGFkYXRhLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSWYgcmVncm91cCBpcyByZXF1ZXN0ZWQsIGV4ZWN1dGUgcmVncm91cCBzdHJhdGVneSwgZGVsZXRlIGNoaWxkJ3MgaW5wdXRzLCBvdXRwdXRzIGFuZCBlbXB0eSByZWdyb3VwIGFycmF5LlxuICAgKi9cbiAgaWYgKChub0ZsYWdzIHx8IHBhcmFtcy5yZWdyb3VwKSAmJiBwaXBlbGluZUNvcHkucmVncm91cCkge1xuICAgIGNvbnN0IG9yaWdpbmFsT3V0cHV0cyA9IHBhcmFtcy5hcHBlbmQgPyBub2RlLm91dHB1dHMgfHwgW10gOiBbXTtcblxuICAgIG5vZGUuY2hpbGRyZW4gPSBSZWdyb3VwKFxuICAgICAgb3V0cHV0U3RvcmFnZSxcbiAgICAgIG9yaWdpbmFsT3V0cHV0cyxcbiAgICAgIHBpcGVsaW5lQ29weS5yZWdyb3VwXG4gICAgKTtcblxuICAgIGRlbGV0ZSBub2RlLmlucHV0cztcbiAgICBkZWxldGUgbm9kZS5vdXRwdXRzO1xuXG4gICAgZGVidWdMb2dnZXIuc2V0RXhlY3V0aW5nUGx1Z2luTmFtZSgpO1xuICAgIGNvbnNvbGUuZGVidWcoUkVHUk9VUElORyk7XG5cbiAgICByZXR1cm4gdHJhdmVyc2Uobm9kZS5jaGlsZHJlbiwge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgcGlwZWxpbmU6IHtcbiAgICAgICAgLi4ucGlwZWxpbmVDb3B5LFxuICAgICAgICByZWdyb3VwOiB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgICAgZGVmYXVsdHMsXG4gICAgICBjb25maWcsXG4gICAgfSk7XG4gIH1cblxuICBjb25zb2xlLmRlYnVnKCdcXG4nKTtcblxuICAvKipcbiAgICogSWYgaXRlcmF0aW9uIGlzIG9uIGNvbXB1dGUgcGx1Z2luLCB0aGVuIGV4ZWN1dGVzIGNvbXB1dGUgcGx1Z2lucyBhbmQgc2V0cyB0aGUgb3V0cHV0cyB2YWx1ZS5cbiAgICovXG4gIGlmICgobm9GbGFncyB8fCBwYXJhbXMuY29tcHV0ZSkgJiYgcGlwZWxpbmVDb3B5LmNvbXB1dGUpIHtcbiAgICBjb25zdCBvcmlnaW5hbE91dHB1dHMgPSBwYXJhbXMuYXBwZW5kID8gbm9kZS5vdXRwdXRzIHx8IFtdIDogW107XG5cbiAgICB3aGlsZSAocGlwZWxpbmVDb3B5LmNvbXB1dGUubGVuZ3RoICE9PSAwKSB7XG4gICAgICBjb25zdCBwbHVnaW5OYW1lID0gcGlwZWxpbmVDb3B5LmNvbXB1dGUuc2hpZnQoKSBhcyBzdHJpbmc7XG4gICAgICBjb25zdCBwbHVnaW4gPSBwYXJhbXMucGx1Z2luU3RvcmFnZS5nZXQocGx1Z2luTmFtZSk7XG4gICAgICBjb25zdCBub2RlQ29uZmlnID0gY29uZmlnICYmIGNvbmZpZ1twbHVnaW5OYW1lXTtcblxuICAgICAgY29uc29sZS5kZWJ1ZyhDT01QVVRJTkdfUElQRUxJTkVfRk9SX05PREUocGx1Z2luTmFtZSkpO1xuICAgICAgZGVidWdMb2dnZXIuc2V0RXhlY3V0aW5nUGx1Z2luTmFtZShwbHVnaW5OYW1lKTtcblxuICAgICAgb3V0cHV0U3RvcmFnZSA9IGF3YWl0IHBsdWdpbi5leGVjdXRlKG91dHB1dFN0b3JhZ2UsIG5vZGVDb25maWcpO1xuXG4gICAgICBkZWJ1Z0xvZ2dlci5zZXRFeGVjdXRpbmdQbHVnaW5OYW1lKCk7XG5cbiAgICAgIG5vZGUub3V0cHV0cyA9IG91dHB1dFN0b3JhZ2U7XG5cbiAgICAgIGlmIChwYXJhbXMuY29udGV4dC5leHBsYWluZXIpIHtcbiAgICAgICAgYWRkRXhwbGFpbkRhdGEoe1xuICAgICAgICAgIHBsdWdpbk5hbWUsXG4gICAgICAgICAgbWV0YWRhdGE6IHBsdWdpbi5tZXRhZGF0YSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtcy5hcHBlbmQpIHtcbiAgICAgIG5vZGUub3V0cHV0cyA9IG9yaWdpbmFsT3V0cHV0cy5jb25jYXQobm9kZS5vdXRwdXRzIHx8IFtdKTtcbiAgICB9XG4gIH1cblxuICBjb25zb2xlLmRlYnVnKCdcXG4nKTtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBjb3B5IG9mIGV4aXN0aW5nIHRyZWUsIHRoZW4gYXBwbGllcyBjb21wdXRpbmcgc3RyYXRlZ3kuXG4gKi9cbmV4cG9ydCBjb25zdCBjb21wdXRlID0gYXN5bmMgKHRyZWU6IGFueSwgcGFyYW1zOiBDb21wdXRlUGFyYW1zKSA9PiB7XG4gIGNvbnN0IGNvcHlPZlRyZWUgPSBzdHJ1Y3R1cmVkQ2xvbmUodHJlZSk7XG5cbiAgYXdhaXQgY29tcHV0ZU5vZGUoY29weU9mVHJlZSwgcGFyYW1zKTtcblxuICByZXR1cm4gY29weU9mVHJlZTtcbn07XG4iXX0=
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL2NvbXB1dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsdUNBQStDO0FBQy9DLHVDQUF5QztBQUV6QyxpRUFBMkQ7QUFDM0QscURBQWdEO0FBRWhELDZDQUE2QztBQUU3QywrQ0FBMEM7QUFJMUMsTUFBTSxFQUNKLGdDQUFnQyxFQUNoQyxjQUFjLEVBQ2QsV0FBVyxFQUNYLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsVUFBVSxFQUNWLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsR0FBRyxpQkFBTyxDQUFDO0FBRVosTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztBQUVyQzs7R0FFRztBQUNILE1BQU0sUUFBUSxHQUFHLEtBQUssRUFBRSxRQUFhLEVBQUUsTUFBcUIsRUFBRSxFQUFFO0lBQzlELEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxFQUFFO1FBQzVCLE9BQU8sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuRCxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztLQUM1QztBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FDcEIsTUFBc0IsRUFDdEIsUUFBa0MsRUFDbEMsRUFBRTtJQUNGLElBQUksTUFBTSxFQUFFO1FBQ1YsTUFBTSxRQUFRLEdBQUcsUUFBUTtZQUN2QixDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUEsc0JBQVksRUFBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDcEQsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUVYLE9BQU8sUUFBUSxD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QkFDMUIsQ0FBQyxDQUFDO2FBQ0o7U0FDRjtRQUVELElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQztTQUMzRDtLQUNGO0lBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN0QixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNJLE1BQU0sT0FBTyxHQUFHLEtBQUssRUFBRSxJQUFTLEVBQUUsTUFBcUIsRUFBRSxFQUFFO0lBQ2hFLE1BQU0sVUFBVSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV6QyxNQUFNLFdBQVcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFdEMsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQyxDQUFDO0FBTlcsUUFBQSxPQUFPLFdBTWxCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQbHVnaW5QYXJhbXN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS90eXBlcyc7XG5cbmltcG9ydCB7aXNSZWdyb3VwZWQsIFJlZ3JvdXB9IGZyb20gJy4vcmVncm91cCc7XG5pbXBvcnQge2FkZEV4cGxhaW5EYXRhfSBmcm9tICcuL2V4cGxhaW4nO1xuXG5pbXBvcnQge2RlYnVnTG9nZ2VyfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9kZWJ1Zy1sb2dnZXInO1xuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2xvZ2dlcic7XG5cbmltcG9ydCB7bWVyZ2VPYmplY3RzfSBmcm9tICcuLi91dGlsL2hlbHBlcnMnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uL2NvbmZpZy9zdHJpbmdzJztcblxuaW1wb3J0IHtDb21wdXRlUGFyYW1zLCBOb2RlLCBQaGFzZWRQaXBlbGluZX0gZnJvbSAnLi4vdHlwZXMvY29tcHV0ZSc7XG5cbmNvbnN0IHtcbiAgTUVSR0lOR19ERUZBVUxUU19XSVRIX0lOUFVUX0RBVEEsXG4gIEVNUFRZX1BJUEVMSU5FLFxuICBDT05GSUdfV0FSTixcbiAgQ09NUFVUSU5HX1BJUEVMSU5FX0ZPUl9OT0RFLFxuICBDT01QVVRJTkdfQ09NUE9ORU5UX1BJUEVMSU5FLFxuICBSRUdST1VQSU5HLFxuICBPQlNFUlZJTkcsXG4gIFNLSVBQSU5HX1JFR1JPVVAsXG59ID0gU1RSSU5HUztcblxuY29uc3QgY2hpbGROYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4vKipcbiAqIFRyYXZlcnNlcyBhbGwgY2hpbGQgbm9kZXMgYmFzZWQgb24gY2hpbGRyZW4gZ3JvdXBpbmcuXG4gKi9cbmNvbnN0IHRyYXZlcnNlID0gYXN5bmMgKGNoaWxkcmVuOiBhbnksIHBhcmFtczogQ29tcHV0ZVBhcmFtcykgPT4ge1xuICBmb3IgKGNvbnN0IGNoaWxkIGluIGNoaWxkcmVuKSB7XG4gICAgY29uc29sZS5kZWJ1ZyhDT01QVVRJTkdfQ09NUE9ORU5UX1BJUEVMSU5FKGNoaWxkKSk7XG4gICAgY2hpbGROYW1lcy5hZGQoY2hpbGQpO1xuICAgIGF3YWl0IGNvbXB1dGVOb2RlKGNoaWxkcmVuW2NoaWxkXSwgcGFyYW1zKTtcbiAgfVxufTtcblxuLyoqXG4gKiBBcHBlbmRzIGBkZWZhdWx0YCB2YWx1ZXMgdG8gYGlucHV0c2AuXG4gKi9cbmNvbnN0IG1lcmdlRGVmYXVsdHMgPSAoXG4gIGlucHV0czogUGx1Z2luUGFyYW1zW10sXG4gIGRlZmF1bHRzOiBQbHVnaW5QYXJhbXMgfCB1bmRlZmluZWRcbikgPT4ge1xuICBpZiAoaW5wdXRzKSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBkZWZhdWx0c1xuICAgICAgPyBpbnB1dHMubWFwKGlucHV0ID0+IG1lcmdlT2JqZWN0cyhkZWZhdWx0cywgaW5wdXQpKVxuICAgICAgOiBpbnB1dHM7XG5cbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH1cblxuICBjb25zb2xlLmRlYnVnKE1FUkdJTkdfREVGQVVMVFNfV0lUSF9JTlBVVF9EQVRBLCAnXFxuJyk7XG5cbiAgcmV0dXJuIGRlZmF1bHRzID8gW2RlZmF1bHRzXSA6IFtdO1xufTtcblxuLyoqXG4gKiBXYXJucyBpZiB0aGUgYGNvbmZpZ2AgaXMgcHJvdmlkZWQgaW4gdGhlIG1hbmlmZXN0LlxuICovXG5jb25zdCB3YXJuSWZDb25maWdQcm92aWRlZCA9IChub2RlOiBhbnkpID0+IHtcbiAgaWYgKCdjb25maWcnIGluIG5vZGUpIHtcbiAgICBjb25zdCBwbHVnaW5zID0gT2JqZWN0LmtleXMobm9kZS5jb25maWcgfHwge30pO1xuICAgIGNvbnN0IGpvaW5lZFBsdWdpbnMgPSBwbHVnaW5zLmpvaW4oJywgJyk7XG4gICAgY29uc3QgaXNNb3JlID0gcGx1Z2lucy5sZW5ndGggPiAxO1xuXG4gICAgbG9nZ2VyLndhcm4oQ09ORklHX1dBUk4oam9pbmVkUGx1Z2lucywgaXNNb3JlKSk7XG4gIH1cbn07XG5cbi8qKlxuICogMS4gSWYgdGhlIG5vZGUgaGFzIGl0J3Mgb3duIHBpcGVsaW5lLCBkZWZhdWx0cyBvciBjb25maWcgdGhlbiB1c2UgdGhhdCxcbiAqICAgIG90aGVyd2lzZSB1c2Ugd2hhdGV2ZXIgaGFzIGJlZW4gcGFzc2VkIGRvd24gZnJvbSBmdXJ0aGVyIHVwIHRoZSB0cmVlLlxuICogMi4gSWYgaXQncyBhIGdyb3VwaW5nIG5vZGUsIHRoZW4gZmlyc3Qgb2YgYWxsIGNvbXB1dGVzIGFsbCBpdCdzIGNoaWxkcmVuLlxuICogICAgVGhpcyBpcyBkb2luZyBhIGRlcHRoIGZpcnN0IHRyYXZlcnNhbC5cbiAqIDMuIE90aGVyd2lzZSBtZXJnZXMgdGhlIGRlZmF1bHRzIGludG8gdGhlIGlucHV0cy5cbiAqIDQuIEl0ZXJhdGVzIG92ZXIgcGlwZWxpbmUgcGhhc2VzIChvYnNlcnZlLCByZWdyb3VwLCBjb21wdXRlKS5cbiAqIDUuIE9ic2VydmUgcGx1Z2lucyBhcmUgdXNlZCB0byBpbnNlcnQgaW5wdXQgdmFsdWVzXG4gKiAgICAoaXNvbGF0ZWQgZXhlY3V0aW9uIGNhbiBiZSBhY2hpdmVkIGJ5IHBhc3NpbmcgYC0tb2JzZXJ2ZWAgZmxhZyB0byBDTEkgY29tbWFuZCkuXG4gKiA2LiBSZWdyb3VwIHBsdWdpbiBpcyB1c2VkIHRvIGdyb3VwIGV4aXN0aW5nIGlucHV0cyBieSBjcml0ZXJpYVxuICogICAgKGlzb2xhdGVkIGV4ZWN1dGlvbiBjYW4gYmUgYWNoaXZlZCBieSBwYXNzaW5nIGAtLXJlZ3JvdXBgIGZsYWcgdG8gQ0xJIGNvbW1hbmQpLlxuICogICAgU2luY2UgaXQgY3JlYXRlcyBuZXcgY2hpbGRyZW4gZm9yIG5vZGUsIGV4aXN0aW5nIGlucHV0cyBhbmQgb3V0cHV0cyBhcmUgZHJvcHBlZCBhbmQgcmVjdXJzaXZlIHRyYXZlcnNhbCBpcyBjYWxsZWRcbiAqICAgIGZvciBuZXdib3JkIGNoaWxkIGNvbXBvbmVudC5cbiAqIDcuIENvbXB1dGUgcGx1Z2lucyBhcmUgdXNlZCB0byBkbyBkZXNpcmVkIGNvbXB1dGF0aW9ucyBhbmQgYXBwZW5kaW5nIHRoZSByZXN1bHQgdG8gb3V0cHV0c1xuICogICAgKGlzb2xhdGVkIGV4ZWN1dGlvbiBjYW4gYmUgYWNoaXZlZCBieSBwYXNzaW5nIGAtLWNvbXB1dGVgIGZsYWcgdG8gQ0xJIGNvbW1hbmQpLlxuICovXG5jb25zdCBjb21wdXRlTm9kZSA9IGFzeW5jIChub2RlOiBOb2RlLCBwYXJhbXM6IENvbXB1dGVQYXJhbXMpOiBQcm9taXNlPGFueT4gPT4ge1xuICBjb25zdCBwaXBlbGluZSA9IG5vZGUucGlwZWxpbmUgfHwgKHBhcmFtcy5waXBlbGluZSBhcyBQaGFzZWRQaXBlbGluZSk7XG4gIGNvbnN0IGNvbmZpZyA9IG5vZGUuY29uZmlnIHx8IHBhcmFtcy5jb25maWc7XG4gIGNvbnN0IGRlZmF1bHRzID0gbm9kZS5kZWZhdWx0cyB8fCBwYXJhbXMuZGVmYXVsdHM7XG4gIGNvbnN0IG5vRmxhZ3MgPSAhcGFyYW1zLm9ic2VydmUgJiYgIXBhcmFtcy5yZWdyb3VwICYmICFwYXJhbXMuY29tcHV0ZTtcblxuICBkZWJ1Z0xvZ2dlci5zZXRFeGVjdXRpbmdQbHVnaW5OYW1lKCk7XG4gIHdhcm5JZkNvbmZpZ1Byb3ZpZGVkKG5vZGUpO1xuXG4gIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgcmV0dXJuIHRyYXZlcnNlKG5vZGUuY2hpbGRyZW4sIHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHBpcGVsaW5lLFxuICAgICAgZGVmYXVsdHMsXG4gICAgICBjb25maWcsXG4gICAgfSk7XG4gIH1cblxuICBsZXQgb3V0cHV0U3RvcmFnZSA9IHN0cnVjdHVyZWRDbG9uZShub2RlLmlucHV0cykgYXMgUGx1Z2luUGFyYW1zW107XG4gIG91dHB1dFN0b3JhZ2UgPSBtZXJnZURlZmF1bHRzKG91dHB1dFN0b3JhZ2UsIGRlZmF1bHRzKTtcbiAgY29uc3QgcGlwZWxpbmVDb3B5ID0gc3RydWN0dXJlZENsb25lKHBpcGVsaW5lKSB8fCB7fTtcblxuICAvKiogQ2hlY2tzIGlmIHBpcGVsaW5lIGlzIG5vdCBhbiBhcnJheSBvciBlbXB0eSBvYmplY3QuICovXG4gIGlmIChcbiAgICBBcnJheS5pc0FycmF5KHBpcGVsaW5lQ29weSkgfHxcbiAgICAodHlwZW9mIHBpcGVsaW5lQ29weSA9PT0gJ29iamVjdCcgJiZcbiAgICAgIHBpcGVsaW5lQ29weSAhPT0gbnVsbCAmJlxuICAgICAgT2JqZWN0LmtleXMocGlwZWxpbmVDb3B5KS5sZW5ndGggPT09IDApXG4gICkge1xuICAgIGxvZ2dlci53YXJuKEVNUFRZX1BJUEVMSU5FKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiBpdGVyYXRpb24gaXMgb24gb2JzZXJ2ZSBwaXBlbGluZSwgdGhlbiBleGVjdXRlcyBvYnNlcnZlIHBsdWdpbnMgYW5kIHNldHMgdGhlIGlucHV0cyB2YWx1ZS5cbiAgICovXG4gIGlmICgobm9GbGFncyB8fCBwYXJhbXMub2JzZXJ2ZSkgJiYgcGlwZWxpbmVDb3B5Lm9ic2VydmUpIHtcbiAgICB3aGlsZSAocGlwZWxpbmVDb3B5Lm9ic2VydmUubGVuZ3RoICE9PSAwKSB7XG4gICAgICBjb25zdCBwbHVnaW5OYW1lID0gcGlwZWxpbmVDb3B5Lm9ic2VydmUuc2hpZnQoKSBhcyBzdHJpbmc7XG4gICAgICBjb25zb2xlLmRlYnVnKE9CU0VSVklORyhwbHVnaW5OYW1lKSk7XG4gICAgICBkZWJ1Z0xvZ2dlci5zZXRFeGVjdXRpbmdQbHVnaW5OYW1lKHBsdWdpbk5hbWUpO1xuXG4gICAgICBjb25zdCBwbHVnaW4gPSBwYXJhbXMucGx1Z2luU3RvcmFnZS5nZXQocGx1Z2luTmFtZSk7XG4gICAgICBjb25zdCBub2RlQ29uZmlnID0gY29uZmlnICYmIGNvbmZpZ1twbHVnaW5OYW1lXTtcblxuICAgICAgb3V0cHV0U3RvcmFnZSA9IGF3YWl0IHBsdWdpbi5leGVjdXRlKG91dHB1dFN0b3JhZ2UsIG5vZGVDb25maWcpO1xuICAgICAgbm9kZS5pbnB1dHMgPSBvdXRwdXRTdG9yYWdlO1xuXG4gICAgICBpZiAocGFyYW1zLmNvbnRleHQuZXhwbGFpbmVyKSB7XG4gICAgICAgIGFkZEV4cGxhaW5EYXRhKHtcbiAgICAgICAgICBwbHVnaW5OYW1lLFxuICAgICAgICAgIG1ldGFkYXRhOiBwbHVnaW4ubWV0YWRhdGEsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJZiByZWdyb3VwIGlzIHJlcXVlc3RlZCwgZXhlY3V0ZSByZWdyb3VwIHN0cmF0ZWd5LCBkZWxldGUgY2hpbGQncyBpbnB1dHMsIG91dHB1dHMgYW5kIGVtcHR5IHJlZ3JvdXAgYXJyYXkuXG4gICAqL1xuICBpZiAoKG5vRmxhZ3MgfHwgcGFyYW1zLnJlZ3JvdXApICYmIHBpcGVsaW5lQ29weS5yZWdyb3VwKSB7XG4gICAgY29uc3Qgb3JpZ2luYWxPdXRwdXRzID0gcGFyYW1zLmFwcGVuZCA/IG5vZGUub3V0cHV0cyB8fCBbXSA6IFtdO1xuXG4gICAgaWYgKCFpc1JlZ3JvdXBlZChwaXBlbGluZUNvcHkucmVncm91cCwgb3V0cHV0U3RvcmFnZSwgY2hpbGROYW1lcykpIHtcbiAgICAgIG5vZGUuY2hpbGRyZW4gPSBSZWdyb3VwKFxuICAgICAgICBvdXRwdXRTdG9yYWdlLFxuICAgICAgICBvcmlnaW5hbE91dHB1dHMsXG4gICAgICAgIHBpcGVsaW5lQ29weS5yZWdyb3VwXG4gICAgICApO1xuXG4gICAgICBkZWxldGUgbm9kZS5pbnB1dHM7XG4gICAgICBkZWxldGUgbm9kZS5vdXRwdXRzO1xuXG4gICAgICBkZWJ1Z0xvZ2dlci5zZXRFeGVjdXRpbmdQbHVnaW5OYW1lKCk7XG4gICAgICBjb25zb2xlLmRlYnVnKFJFR1JPVVBJTkcpO1xuXG4gICAgICByZXR1cm4gdHJhdmVyc2Uobm9kZS5jaGlsZHJlbiwge1xuICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgIHBpcGVsaW5lOiB7XG4gICAgICAgICAgLi4ucGlwZWxpbmVDb3B5LFxuICAgICAgICAgIHJlZ3JvdXA6IHVuZGVmaW5lZCxcbiAgICAgICAgfSxcbiAgICAgICAgZGVmYXVsdHMsXG4gICAgICAgIGNvbmZpZyxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmRlYnVnKFNLSVBQSU5HX1JFR1JPVVApO1xuICAgIH1cbiAgfVxuXG4gIGNvbnNvbGUuZGVidWcoJ1xcbicpO1xuXG4gIC8qKlxuICAgKiBJZiBpdGVyYXRpb24gaXMgb24gY29tcHV0ZSBwbHVnaW4sIHRoZW4gZXhlY3V0ZXMgY29tcHV0ZSBwbHVnaW5zIGFuZCBzZXRzIHRoZSBvdXRwdXRzIHZhbHVlLlxuICAgKi9cbiAgaWYgKChub0ZsYWdzIHx8IHBhcmFtcy5jb21wdXRlKSAmJiBwaXBlbGluZUNvcHkuY29tcHV0ZSkge1xuICAgIGNvbnN0IG9yaWdpbmFsT3V0cHV0cyA9IHBhcmFtcy5hcHBlbmQgPyBub2RlLm91dHB1dHMgfHwgW10gOiBbXTtcblxuICAgIHdoaWxlIChwaXBlbGluZUNvcHkuY29tcHV0ZS5sZW5ndGggIT09IDApIHtcbiAgICAgIGNvbnN0IHBsdWdpbk5hbWUgPSBwaXBlbGluZUNvcHkuY29tcHV0ZS5zaGlmdCgpIGFzIHN0cmluZztcbiAgICAgIGNvbnN0IHBsdWdpbiA9IHBhcmFtcy5wbHVnaW5TdG9yYWdlLmdldChwbHVnaW5OYW1lKTtcbiAgICAgIGNvbnN0IG5vZGVDb25maWcgPSBjb25maWcgJiYgY29uZmlnW3BsdWdpbk5hbWVdO1xuXG4gICAgICBjb25zb2xlLmRlYnVnKENPTVBVVElOR19QSVBFTElORV9GT1JfTk9ERShwbHVnaW5OYW1lKSk7XG4gICAgICBkZWJ1Z0xvZ2dlci5zZXRFeGVjdXRpbmdQbHVnaW5OYW1lKHBsdWdpbk5hbWUpO1xuXG4gICAgICBvdXRwdXRTdG9yYWdlID0gYXdhaXQgcGx1Z2luLmV4ZWN1dGUob3V0cHV0U3RvcmFnZSwgbm9kZUNvbmZpZyk7XG5cbiAgICAgIGRlYnVnTG9nZ2VyLnNldEV4ZWN1dGluZ1BsdWdpbk5hbWUoKTtcblxuICAgICAgbm9kZS5vdXRwdXRzID0gb3V0cHV0U3RvcmFnZTtcblxuICAgICAgaWYgKHBhcmFtcy5jb250ZXh0LmV4cGxhaW5lcikge1xuICAgICAgICBhZGRFeHBsYWluRGF0YSh7XG4gICAgICAgICAgcGx1Z2luTmFtZSxcbiAgICAgICAgICBtZXRhZGF0YTogcGx1Z2luLm1ldGFkYXRhLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGFyYW1zLmFwcGVuZCkge1xuICAgICAgbm9kZS5vdXRwdXRzID0gb3JpZ2luYWxPdXRwdXRzLmNvbmNhdChub2RlLm91dHB1dHMgfHwgW10pO1xuICAgIH1cbiAgfVxuXG4gIGNvbnNvbGUuZGVidWcoJ1xcbicpO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGNvcHkgb2YgZXhpc3RpbmcgdHJlZSwgdGhlbiBhcHBsaWVzIGNvbXB1dGluZyBzdHJhdGVneS5cbiAqL1xuZXhwb3J0IGNvbnN0IGNvbXB1dGUgPSBhc3luYyAodHJlZTogYW55LCBwYXJhbXM6IENvbXB1dGVQYXJhbXMpID0+IHtcbiAgY29uc3QgY29weU9mVHJlZSA9IHN0cnVjdHVyZWRDbG9uZSh0cmVlKTtcblxuICBhd2FpdCBjb21wdXRlTm9kZShjb3B5T2ZUcmVlLCBwYXJhbXMpO1xuXG4gIHJldHVybiBjb3B5T2ZUcmVlO1xufTtcbiJdfQ==
|
|
@@ -3,3 +3,8 @@ import { PluginParams } from '@grnsft/if-core/types';
|
|
|
3
3
|
* Regroups inputs and outputs based on the given group keys.
|
|
4
4
|
*/
|
|
5
5
|
export declare const Regroup: (inputs: PluginParams[], outputs: PluginParams[], groups: string[]) => any;
|
|
6
|
+
/**
|
|
7
|
+
* Grabs all the values according to grouping criteria, then
|
|
8
|
+
* checks if regroup values are present in the children list.
|
|
9
|
+
*/
|
|
10
|
+
export declare const isRegrouped: (groups: string[], outputStorage: PluginParams[], childNames: Set<string>) => boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Regroup = void 0;
|
|
3
|
+
exports.isRegrouped = exports.Regroup = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const utils_1 = require("@grnsft/if-core/utils");
|
|
6
6
|
const validations_1 = require("../../common/util/validations");
|
|
@@ -56,4 +56,16 @@ const Regroup = (inputs, outputs, groups) => {
|
|
|
56
56
|
return acc.children;
|
|
57
57
|
};
|
|
58
58
|
exports.Regroup = Regroup;
|
|
59
|
-
|
|
59
|
+
/**
|
|
60
|
+
* Grabs all the values according to grouping criteria, then
|
|
61
|
+
* checks if regroup values are present in the children list.
|
|
62
|
+
*/
|
|
63
|
+
const isRegrouped = (groups, outputStorage, childNames) => {
|
|
64
|
+
const validatedGroups = validateGroups(groups);
|
|
65
|
+
const regroupValues = validatedGroups
|
|
66
|
+
.map(group => [...new Set(outputStorage.map(output => output[group]))])
|
|
67
|
+
.flat();
|
|
68
|
+
return regroupValues.every(one => [...childNames].includes(one));
|
|
69
|
+
};
|
|
70
|
+
exports.isRegrouped = isRegrouped;
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL3JlZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXNCO0FBQ3RCLGlEQUE2QztBQUc3QywrREFBdUQ7QUFFdkQsc0NBQWtDO0FBRWxDLE1BQU0sRUFBQyxvQkFBb0IsRUFBQyxHQUFHLGNBQU0sQ0FBQztBQUN0QyxNQUFNLEVBQUMsaUJBQWlCLEVBQUUsYUFBYSxFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUVuRDs7R0FFRztBQUNILE1BQU0sV0FBVyxHQUFHLENBQ2xCLEtBQW1CLEVBQ25CLE1BQVcsRUFDWCxNQUFjLEVBQ2QsTUFBZ0IsRUFDWCxFQUFFO0lBQ1AsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUN2QixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLE9BQU8sTUFBTSxDQUFDO0tBQ2Y7SUFFRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFHLENBQUM7SUFDOUIsTUFBTSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztJQUN4QyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBRXRELE9BQU8sV0FBVyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNwRSxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBZ0IsRUFBWSxFQUFFO0lBQ3BELE1BQU0sU0FBUyxHQUFHLEVBQUMsT0FBTyxFQUFFLE1BQU0sRUFBQyxDQUFDO0lBQ3BDLE1BQU0sZ0JBQWdCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FDL0IsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUNWLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUMsT0FBTyxFQUFFLGFBQWEsRUFBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUNyRCxDQUFDO0lBRUYsSUFBQSxzQkFBUSxFQUFDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBRXRDLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxjQUFjLEdBQUcsQ0FBQyxLQUFtQixFQUFFLFFBQWdCLEVBQVUsRUFBRTtJQUN2RSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1FBQ3BCLE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0tBQzdEO0lBRUQsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDekIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSSxNQUFNLE9BQU8sR0FBRyxDQUNyQixNQUFzQixFQUN0QixPQUF1QixFQUN2QixNQUFnQixFQUNYLEVBQUU7SUFDUCxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFL0MsTUFBTSxtQkFBbUIsR0FBRyxDQUMxQixLQUFxQixFQUNyQixHQUFRLEVBQ1IsTUFBYyxFQUNkLEVBQUU7UUFDRixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtZQUN4QixNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQ3BELGNBQWMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQy9CLENBQUM7WUFDRixXQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDLENBQUM7SUFFRixNQUFNLEdBQUcsR0FBRyxFQUFTLENBQUM7SUFDdEIsbUJBQW1CLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMzQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBRTdDLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQztBQUN0QixDQUFDLENBQUM7QUF6QlcsUUFBQSxPQUFPLFdBeUJsQjtBQUVGOzs7R0FHRztBQUNJLE1BQU0sV0FBVyxHQUFHLENBQ3pCLE1BQWdCLEVBQ2hCLGFBQTZCLEVBQzdCLFVBQXVCLEVBQ3ZCLEVBQUU7SUFDRixNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0MsTUFBTSxhQUFhLEdBQUcsZUFBZTtTQUNsQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN0RSxJQUFJLEVBQUUsQ0FBQztJQUVWLE9BQU8sYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNuRSxDQUFDLENBQUM7QUFYVyxRQUFBLFdBQVcsZUFXdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcbmltcG9ydCB7UGx1Z2luUGFyYW1zfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdHlwZXMnO1xuXG5pbXBvcnQge3ZhbGlkYXRlfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC92YWxpZGF0aW9ucyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuY29uc3Qge0ludmFsaWRHcm91cGluZ0Vycm9yfSA9IEVSUk9SUztcbmNvbnN0IHtJTlZBTElEX0dST1VQX0tFWSwgUkVHUk9VUF9FUlJPUn0gPSBTVFJJTkdTO1xuXG4vKipcbiAqIENyZWF0ZXMgc3RydWN0dXJlIHRvIGluc2VydCBpbnB1dHMgYnkgZ3JvdXBzLlxuICovXG5jb25zdCBhcHBlbmRHcm91cCA9IChcbiAgdmFsdWU6IFBsdWdpblBhcmFtcyxcbiAgb2JqZWN0OiBhbnksXG4gIHRhcmdldDogc3RyaW5nLFxuICBncm91cHM6IHN0cmluZ1tdXG4pOiBhbnkgPT4ge1xuICBpZiAoZ3JvdXBzLmxlbmd0aCA9PT0gMCkge1xuICAgIG9iamVjdFt0YXJnZXRdID0gb2JqZWN0W3RhcmdldF0gfHwgW107XG4gICAgb2JqZWN0W3RhcmdldF0ucHVzaCh2YWx1ZSk7XG4gICAgcmV0dXJuIG9iamVjdDtcbiAgfVxuXG4gIGNvbnN0IGdyb3VwID0gZ3JvdXBzLnNoaWZ0KCkhO1xuICBvYmplY3QuY2hpbGRyZW4gPSBvYmplY3QuY2hpbGRyZW4gfHwge307XG4gIG9iamVjdC5jaGlsZHJlbltncm91cF0gPSBvYmplY3QuY2hpbGRyZW5bZ3JvdXBdIHx8IHt9O1xuXG4gIHJldHVybiBhcHBlbmRHcm91cCh2YWx1ZSwgb2JqZWN0LmNoaWxkcmVuW2dyb3VwXSwgdGFyZ2V0LCBncm91cHMpO1xufTtcblxuLyoqXG4gKiBWYWxpZGF0ZXMgdGhlIGdyb3VwcyBhcnJheS5cbiAqL1xuY29uc3QgdmFsaWRhdGVHcm91cHMgPSAoZ3JvdXBzOiBzdHJpbmdbXSk6IHN0cmluZ1tdID0+IHtcbiAgY29uc3QgaW5wdXREYXRhID0ge3JlZ3JvdXA6IGdyb3Vwc307XG4gIGNvbnN0IHZhbGlkYXRpb25TY2hlbWEgPSB6LnJlY29yZChcbiAgICB6LnN0cmluZygpLFxuICAgIHouYXJyYXkoei5zdHJpbmcoKSwge21lc3NhZ2U6IFJFR1JPVVBfRVJST1J9KS5taW4oMSlcbiAgKTtcblxuICB2YWxpZGF0ZSh2YWxpZGF0aW9uU2NoZW1hLCBpbnB1dERhdGEpO1xuXG4gIHJldHVybiBncm91cHM7XG59O1xuXG4vKipcbiAqIExvb2tzIHVwIGEgZ3JvdXAga2V5IHZhbHVlIGluIHRoZSBpbnB1dC5cbiAqL1xuY29uc3QgbG9va3VwR3JvdXBLZXkgPSAoaW5wdXQ6IFBsdWdpblBhcmFtcywgZ3JvdXBLZXk6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGlmICghaW5wdXRbZ3JvdXBLZXldKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRHcm91cGluZ0Vycm9yKElOVkFMSURfR1JPVVBfS0VZKGdyb3VwS2V5KSk7XG4gIH1cblxuICByZXR1cm4gaW5wdXRbZ3JvdXBLZXldO1xufTtcblxuLyoqXG4gKiBSZWdyb3VwcyBpbnB1dHMgYW5kIG91dHB1dHMgYmFzZWQgb24gdGhlIGdpdmVuIGdyb3VwIGtleXMuXG4gKi9cbmV4cG9ydCBjb25zdCBSZWdyb3VwID0gKFxuICBpbnB1dHM6IFBsdWdpblBhcmFtc1tdLFxuICBvdXRwdXRzOiBQbHVnaW5QYXJhbXNbXSxcbiAgZ3JvdXBzOiBzdHJpbmdbXVxuKTogYW55ID0+IHtcbiAgY29uc3QgdmFsaWRhdGVkR3JvdXBzID0gdmFsaWRhdGVHcm91cHMoZ3JvdXBzKTtcblxuICBjb25zdCBhcHBlbmRUb0FjY3VtdWxhdG9yID0gKFxuICAgIGl0ZW1zOiBQbHVnaW5QYXJhbXNbXSxcbiAgICBhY2M6IGFueSxcbiAgICB0YXJnZXQ6IHN0cmluZ1xuICApID0+IHtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICAgIGNvbnN0IGdyb3Vwc1dpdGhEYXRhID0gdmFsaWRhdGVkR3JvdXBzLm1hcChncm91cEtleSA9PlxuICAgICAgICBsb29rdXBHcm91cEtleShpdGVtLCBncm91cEtleSlcbiAgICAgICk7XG4gICAgICBhcHBlbmRHcm91cChpdGVtLCBhY2MsIHRhcmdldCwgZ3JvdXBzV2l0aERhdGEpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBhY2MgPSB7fSBhcyBhbnk7XG4gIGFwcGVuZFRvQWNjdW11bGF0b3IoaW5wdXRzLCBhY2MsICdpbnB1dHMnKTtcbiAgYXBwZW5kVG9BY2N1bXVsYXRvcihvdXRwdXRzLCBhY2MsICdvdXRwdXRzJyk7XG5cbiAgcmV0dXJuIGFjYy5jaGlsZHJlbjtcbn07XG5cbi8qKlxuICogR3JhYnMgYWxsIHRoZSB2YWx1ZXMgYWNjb3JkaW5nIHRvIGdyb3VwaW5nIGNyaXRlcmlhLCB0aGVuXG4gKiAgY2hlY2tzIGlmIHJlZ3JvdXAgdmFsdWVzIGFyZSBwcmVzZW50IGluIHRoZSBjaGlsZHJlbiBsaXN0LlxuICovXG5leHBvcnQgY29uc3QgaXNSZWdyb3VwZWQgPSAoXG4gIGdyb3Vwczogc3RyaW5nW10sXG4gIG91dHB1dFN0b3JhZ2U6IFBsdWdpblBhcmFtc1tdLFxuICBjaGlsZE5hbWVzOiBTZXQ8c3RyaW5nPlxuKSA9PiB7XG4gIGNvbnN0IHZhbGlkYXRlZEdyb3VwcyA9IHZhbGlkYXRlR3JvdXBzKGdyb3Vwcyk7XG4gIGNvbnN0IHJlZ3JvdXBWYWx1ZXMgPSB2YWxpZGF0ZWRHcm91cHNcbiAgICAubWFwKGdyb3VwID0+IFsuLi5uZXcgU2V0KG91dHB1dFN0b3JhZ2UubWFwKG91dHB1dCA9PiBvdXRwdXRbZ3JvdXBdKSldKVxuICAgIC5mbGF0KCk7XG5cbiAgcmV0dXJuIHJlZ3JvdXBWYWx1ZXMuZXZlcnkob25lID0+IFsuLi5jaGlsZE5hbWVzXS5pbmNsdWRlcyhvbmUpKTtcbn07XG4iXX0=
|
|
@@ -4,6 +4,6 @@ import { ProcessArgsOutputs } from '../types/process-args';
|
|
|
4
4
|
* 2. If output params are missing, warns user about it.
|
|
5
5
|
* 3. Otherwise checks if `manifest` param is there, then processes with checking if it's a yaml file.
|
|
6
6
|
* If it is, then returns object containing full path.
|
|
7
|
-
* 4. If params are missing or invalid,
|
|
7
|
+
* 4. If params are missing or invalid, runs `--help` command.
|
|
8
8
|
*/
|
|
9
9
|
export declare const parseIfRunProcessArgs: () => ProcessArgsOutputs;
|
|
@@ -8,7 +8,7 @@ const helpers_1 = require("../../common/util/helpers");
|
|
|
8
8
|
const logger_1 = require("../../common/util/logger");
|
|
9
9
|
const config_1 = require("../config");
|
|
10
10
|
const config_2 = require("../../common/config");
|
|
11
|
-
const {
|
|
11
|
+
const { CliSourceFileError } = utils_1.ERRORS;
|
|
12
12
|
const { ARGS, HELP } = config_1.CONFIG;
|
|
13
13
|
const { NO_OUTPUT } = config_1.STRINGS;
|
|
14
14
|
const { SOURCE_IS_NOT_YAML, MANIFEST_IS_MISSING } = config_2.STRINGS;
|
|
@@ -21,7 +21,8 @@ const validateAndParseProcessArgs = () => {
|
|
|
21
21
|
}
|
|
22
22
|
catch (error) {
|
|
23
23
|
if (error instanceof Error) {
|
|
24
|
-
|
|
24
|
+
console.log(error.message);
|
|
25
|
+
(0, helpers_1.runHelpCommand)('if-run');
|
|
25
26
|
}
|
|
26
27
|
throw error;
|
|
27
28
|
}
|
|
@@ -31,7 +32,7 @@ const validateAndParseProcessArgs = () => {
|
|
|
31
32
|
* 2. If output params are missing, warns user about it.
|
|
32
33
|
* 3. Otherwise checks if `manifest` param is there, then processes with checking if it's a yaml file.
|
|
33
34
|
* If it is, then returns object containing full path.
|
|
34
|
-
* 4. If params are missing or invalid,
|
|
35
|
+
* 4. If params are missing or invalid, runs `--help` command.
|
|
35
36
|
*/
|
|
36
37
|
const parseIfRunProcessArgs = () => {
|
|
37
38
|
const { manifest, output, 'no-output': noOutput, debug, observe, regroup, compute, append, } = validateAndParseProcessArgs();
|
|
@@ -58,4 +59,4 @@ const parseIfRunProcessArgs = () => {
|
|
|
58
59
|
throw new CliSourceFileError(MANIFEST_IS_MISSING);
|
|
59
60
|
};
|
|
60
61
|
exports.parseIfRunProcessArgs = parseIfRunProcessArgs;
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vdXRpbC9hcmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtEQUEyQztBQUMzQyxpREFBNkM7QUFFN0MsaURBQXlEO0FBQ3pELHVEQUE4RTtBQUU5RSxxREFBZ0Q7QUFFaEQsc0NBQTBDO0FBQzFDLGdEQUE4RDtBQUk5RCxNQUFNLEVBQUMsa0JBQWtCLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFFcEMsTUFBTSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDNUIsTUFBTSxFQUFDLFNBQVMsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFDNUIsTUFBTSxFQUFDLGtCQUFrQixFQUFFLG1CQUFtQixFQUFDLEdBQUcsZ0JBQWMsQ0FBQztBQUVqRTs7R0FFRztBQUNILE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxFQUFFO0lBQ3ZDLElBQUk7UUFDRixPQUFPLElBQUEsNEJBQUssRUFBWSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDckM7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtZQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUUzQixJQUFBLHdCQUFjLEVBQUMsUUFBUSxDQUFDLENBQUM7U0FDMUI7UUFFRCxNQUFNLEtBQUssQ0FBQztLQUNiO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0ksTUFBTSxxQkFBcUIsR0FBRyxHQUF1QixFQUFFO0lBQzVELE1BQU0sRUFDSixRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsRUFBRSxRQUFRLEVBQ3JCLEtBQUssRUFDTCxPQUFPLEVBQ1AsT0FBTyxFQUNQLE9BQU8sRUFDUCxNQUFNLEdBQ1AsR0FBRywyQkFBMkIsRUFBRSxDQUFDO0lBRWxDLElBQUksQ0FBQyxNQUFNLElBQUksUUFBUSxFQUFFO1FBQ3ZCLGVBQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDeEI7SUFFRCxJQUFJLFFBQVEsRUFBRTtRQUNaLElBQUksSUFBQSx3QkFBaUIsRUFBQyxRQUFRLENBQUMsRUFBRTtZQUMvQixPQUFPO2dCQUNMLFNBQVMsRUFBRSxJQUFBLDZCQUFtQixFQUFDLFFBQVEsQ0FBQztnQkFDeEMsYUFBYSxFQUFFO29CQUNiLEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBQyxVQUFVLEVBQUUsSUFBQSw2QkFBbUIsRUFBQyxNQUFNLENBQUMsRUFBQyxDQUFDO29CQUN4RCxHQUFHLENBQUMsUUFBUSxJQUFJLEVBQUMsUUFBUSxFQUFDLENBQUM7aUJBQzVCO2dCQUNELEtBQUs7Z0JBQ0wsT0FBTztnQkFDUCxPQUFPO2dCQUNQLE9BQU87Z0JBQ1AsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFDLE1BQU0sRUFBQyxDQUFDO2FBQ3hCLENBQUM7U0FDSDtRQUVELE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0tBQ2xEO0lBRUQsTUFBTSxJQUFJLGtCQUFrQixDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFDO0FBcENXLFFBQUEscUJBQXFCLHlCQW9DaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3BhcnNlfSBmcm9tICd0cy1jb21tYW5kLWxpbmUtYXJncyc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcblxuaW1wb3J0IHtjaGVja0lmRmlsZUlzWWFtbH0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwveWFtbCc7XG5pbXBvcnQge3ByZXBlbmRGdWxsRmlsZVBhdGgsIHJ1bkhlbHBDb21tYW5kfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9oZWxwZXJzJztcblxuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2xvZ2dlcic7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHtTVFJJTkdTIGFzIENPTU1PTl9TVFJJTkdTfSBmcm9tICcuLi8uLi9jb21tb24vY29uZmlnJztcblxuaW1wb3J0IHtJZlJ1bkFyZ3MsIFByb2Nlc3NBcmdzT3V0cHV0c30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuY29uc3Qge0NsaVNvdXJjZUZpbGVFcnJvcn0gPSBFUlJPUlM7XG5cbmNvbnN0IHtBUkdTLCBIRUxQfSA9IENPTkZJRztcbmNvbnN0IHtOT19PVVRQVVR9ID0gU1RSSU5HUztcbmNvbnN0IHtTT1VSQ0VfSVNfTk9UX1lBTUwsIE1BTklGRVNUX0lTX01JU1NJTkd9ID0gQ09NTU9OX1NUUklOR1M7XG5cbi8qKlxuICogVmFsaWRhdGVzIGBpZi1ydW5gIHByb2Nlc3MgYXJndW1lbnRzLlxuICovXG5jb25zdCB2YWxpZGF0ZUFuZFBhcnNlUHJvY2Vzc0FyZ3MgPSAoKSA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlPElmUnVuQXJncz4oQVJHUywgSEVMUCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKGVycm9yLm1lc3NhZ2UpO1xuXG4gICAgICBydW5IZWxwQ29tbWFuZCgnaWYtcnVuJyk7XG4gICAgfVxuXG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbi8qKlxuICogMS4gUGFyc2VzIHByb2Nlc3MgYXJndW1lbnRzIGZvciBgaWYtcnVuYC5cbiAqIDIuIElmIG91dHB1dCBwYXJhbXMgYXJlIG1pc3NpbmcsIHdhcm5zIHVzZXIgYWJvdXQgaXQuXG4gKiAzLiBPdGhlcndpc2UgY2hlY2tzIGlmIGBtYW5pZmVzdGAgcGFyYW0gaXMgdGhlcmUsIHRoZW4gcHJvY2Vzc2VzIHdpdGggY2hlY2tpbmcgaWYgaXQncyBhIHlhbWwgZmlsZS5cbiAqICAgIElmIGl0IGlzLCB0aGVuIHJldHVybnMgb2JqZWN0IGNvbnRhaW5pbmcgZnVsbCBwYXRoLlxuICogNC4gSWYgcGFyYW1zIGFyZSBtaXNzaW5nIG9yIGludmFsaWQsIHJ1bnMgYC0taGVscGAgY29tbWFuZC5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlSWZSdW5Qcm9jZXNzQXJncyA9ICgpOiBQcm9jZXNzQXJnc091dHB1dHMgPT4ge1xuICBjb25zdCB7XG4gICAgbWFuaWZlc3QsXG4gICAgb3V0cHV0LFxuICAgICduby1vdXRwdXQnOiBub091dHB1dCxcbiAgICBkZWJ1ZyxcbiAgICBvYnNlcnZlLFxuICAgIHJlZ3JvdXAsXG4gICAgY29tcHV0ZSxcbiAgICBhcHBlbmQsXG4gIH0gPSB2YWxpZGF0ZUFuZFBhcnNlUHJvY2Vzc0FyZ3MoKTtcblxuICBpZiAoIW91dHB1dCAmJiBub091dHB1dCkge1xuICAgIGxvZ2dlci53YXJuKE5PX09VVFBVVCk7XG4gIH1cblxuICBpZiAobWFuaWZlc3QpIHtcbiAgICBpZiAoY2hlY2tJZkZpbGVJc1lhbWwobWFuaWZlc3QpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpbnB1dFBhdGg6IHByZXBlbmRGdWxsRmlsZVBhdGgobWFuaWZlc3QpLFxuICAgICAgICBvdXRwdXRPcHRpb25zOiB7XG4gICAgICAgICAgLi4uKG91dHB1dCAmJiB7b3V0cHV0UGF0aDogcHJlcGVuZEZ1bGxGaWxlUGF0aChvdXRwdXQpfSksXG4gICAgICAgICAgLi4uKG5vT3V0cHV0ICYmIHtub091dHB1dH0pLFxuICAgICAgICB9LFxuICAgICAgICBkZWJ1ZyxcbiAgICAgICAgb2JzZXJ2ZSxcbiAgICAgICAgcmVncm91cCxcbiAgICAgICAgY29tcHV0ZSxcbiAgICAgICAgLi4uKGFwcGVuZCAmJiB7YXBwZW5kfSksXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBDbGlTb3VyY2VGaWxlRXJyb3IoU09VUkNFX0lTX05PVF9ZQU1MKTtcbiAgfVxuXG4gIHRocm93IG5ldyBDbGlTb3VyY2VGaWxlRXJyb3IoTUFOSUZFU1RfSVNfTUlTU0lORyk7XG59O1xuIl19
|