@grnsft/if 0.6.0-beta.0 → 0.6.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/build/common/config/strings.d.ts +1 -0
- package/build/common/config/strings.js +2 -1
- package/build/common/util/fs.js +5 -5
- package/build/if-check/config/strings.d.ts +0 -1
- package/build/if-check/config/strings.js +1 -2
- package/build/if-check/util/args.js +3 -3
- package/build/if-csv/config/config.js +1 -2
- package/build/if-csv/config/strings.d.ts +0 -1
- package/build/if-csv/config/strings.js +1 -2
- package/build/if-csv/util/args.js +1 -5
- package/build/if-merge/config/config.d.ts +6 -0
- package/build/if-merge/config/config.js +43 -0
- package/build/if-merge/config/index.d.ts +2 -0
- package/build/if-merge/config/index.js +8 -0
- package/build/if-merge/config/strings.d.ts +5 -0
- package/build/if-merge/config/strings.js +9 -0
- package/build/if-merge/index.d.ts +2 -0
- package/build/if-merge/index.js +26 -0
- package/build/if-merge/types/process-args.d.ts +6 -0
- package/build/if-merge/types/process-args.js +3 -0
- package/build/if-merge/util/args.d.ts +9 -0
- package/build/if-merge/util/args.js +59 -0
- package/build/if-merge/util/helpers.d.ts +5 -0
- package/build/if-merge/util/helpers.js +83 -0
- package/build/if-run/builtins/index.d.ts +1 -0
- package/build/if-run/builtins/index.js +4 -2
- package/build/if-run/builtins/time-converter/config.js +44 -0
- package/build/if-run/builtins/time-converter/index.d.ts +2 -0
- package/build/if-run/builtins/time-converter/index.js +79 -0
- package/build/if-run/lib/compute.js +8 -2
- package/manifests/examples/builtins/time-converter/success.yaml +24 -0
- package/package.json +4 -2
- package/src/if-run/builtins/time-converter/README.md +136 -0
- package/build/if-run/builtins/sci/config.js +0 -44
- /package/build/if-run/builtins/{sci → time-converter}/config.d.ts +0 -0
|
@@ -12,5 +12,6 @@ Incubation projects are experimental, offer no support guarantee, have minimal g
|
|
|
12
12
|
MANIFEST_NOT_FOUND: 'Manifest file not found.',
|
|
13
13
|
SUCCESS_MESSAGE: 'The environment is successfully setup!',
|
|
14
14
|
MANIFEST_IS_MISSING: 'Manifest is missing.',
|
|
15
|
+
DIRECTORY_NOT_FOUND: 'Directory not found.',
|
|
15
16
|
};
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vY29uZmlnL3N0cmluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxPQUFPLEdBQUc7SUFDckIsa0JBQWtCLEVBQUU7Ozs7Mk5BSXFNO0lBQ3pOLGtCQUFrQixFQUFFLDBDQUEwQztJQUM5RCxrQkFBa0IsRUFBRSwwQ0FBMEM7SUFDOUQsa0JBQWtCLEVBQUUsMEJBQTBCO0lBQzlDLGVBQWUsRUFBRSx3Q0FBd0M7SUFDekQsbUJBQW1CLEVBQUUsc0JBQXNCO0lBQzNDLG1CQUFtQixFQUFFLHNCQUFzQjtDQUM1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFNUUklOR1MgPSB7XG4gIERJU0NMQUlNRVJfTUVTU0FHRTogYFxuSW5jdWJhdGlvbiBQcm9qZWN0XG5cblRoaXMgcHJvamVjdCBpcyBhbiBpbmN1YmF0aW9uIHByb2plY3QgYmVpbmcgcnVuIGluc2lkZSB0aGUgR3JlZW4gU29mdHdhcmUgRm91bmRhdGlvbjsgYXMgc3VjaCwgd2UgRE9O4oCZVCByZWNvbW1lbmQgdXNpbmcgaXQgaW4gYW55IGNyaXRpY2FsIHVzZSBjYXNlLiBcbkluY3ViYXRpb24gcHJvamVjdHMgYXJlIGV4cGVyaW1lbnRhbCwgb2ZmZXIgbm8gc3VwcG9ydCBndWFyYW50ZWUsIGhhdmUgbWluaW1hbCBnb3Zlcm5hbmNlIGFuZCBwcm9jZXNzLCBhbmQgbWF5IGJlIHJldGlyZWQgYXQgYW55IG1vbWVudC4gVGhpcyBwcm9qZWN0IG1heSBvbmUgZGF5IGdyYWR1YXRlLCBpbiB3aGljaCBjYXNlIHRoaXMgZGlzY2xhaW1lciB3aWxsIGJlIHJlbW92ZWQuYCxcbiAgU09VUkNFX0lTX05PVF9ZQU1MOiAnR2l2ZW4gc291cmNlIGZpbGUgaXMgbm90IGluIHlhbWwgZm9ybWF0LicsXG4gIFRBUkdFVF9JU19OT1RfWUFNTDogJ0dpdmVuIHRhcmdldCBmaWxlIGlzIG5vdCBpbiB5YW1sIGZvcm1hdC4nLFxuICBNQU5JRkVTVF9OT1RfRk9VTkQ6ICdNYW5pZmVzdCBmaWxlIG5vdCBmb3VuZC4nLFxuICBTVUNDRVNTX01FU1NBR0U6ICdUaGUgZW52aXJvbm1lbnQgaXMgc3VjY2Vzc2Z1bGx5IHNldHVwIScsXG4gIE1BTklGRVNUX0lTX01JU1NJTkc6ICdNYW5pZmVzdCBpcyBtaXNzaW5nLicsXG4gIERJUkVDVE9SWV9OT1RfRk9VTkQ6ICdEaXJlY3Rvcnkgbm90IGZvdW5kLicsXG59O1xuIl19
|
package/build/common/util/fs.js
CHANGED
|
@@ -44,8 +44,8 @@ exports.isFileExists = isFileExists;
|
|
|
44
44
|
*/
|
|
45
45
|
const isDirectoryExists = async (directoryPath) => {
|
|
46
46
|
try {
|
|
47
|
-
await fs.
|
|
48
|
-
return
|
|
47
|
+
const stat = await fs.lstat(directoryPath);
|
|
48
|
+
return stat.isDirectory();
|
|
49
49
|
}
|
|
50
50
|
catch (error) {
|
|
51
51
|
return false;
|
|
@@ -60,8 +60,8 @@ const getYamlFiles = async (directory) => {
|
|
|
60
60
|
const files = await fs.readdir(directory);
|
|
61
61
|
for (const file of files) {
|
|
62
62
|
const fullPath = path.join(directory, file);
|
|
63
|
-
const
|
|
64
|
-
if (
|
|
63
|
+
const isDirExists = await (0, exports.isDirectoryExists)(fullPath);
|
|
64
|
+
if (isDirExists) {
|
|
65
65
|
yamlFiles = yamlFiles.concat(await (0, exports.getYamlFiles)(fullPath));
|
|
66
66
|
}
|
|
67
67
|
else {
|
|
@@ -91,4 +91,4 @@ const removeFileIfExists = async (filePath) => {
|
|
|
91
91
|
}
|
|
92
92
|
};
|
|
93
93
|
exports.removeFileIfExists = removeFileIfExists;
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL3V0aWwvZnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBa0M7QUFDbEMsMkNBQTZCO0FBRTdCOztHQUVHO0FBQ0ksTUFBTSxZQUFZLEdBQUcsS0FBSyxFQUFFLFFBQWdCLEVBQUUsRUFBRTtJQUNyRCxJQUFJO1FBQ0YsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDSCxDQUFDLENBQUM7QUFQVyxRQUFBLFlBQVksZ0JBT3ZCO0FBRUY7O0dBRUc7QUFDSSxNQUFNLGlCQUFpQixHQUFHLEtBQUssRUFBRSxhQUFxQixFQUFFLEVBQUU7SUFDL0QsSUFBSTtRQUNGLE1BQU0sSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMzQyxPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUMzQjtJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsT0FBTyxLQUFLLENBQUM7S0FDZDtBQUNILENBQUMsQ0FBQztBQVBXLFFBQUEsaUJBQWlCLHFCQU81QjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxZQUFZLEdBQUcsS0FBSyxFQUFFLFNBQWlCLEVBQUUsRUFBRTtJQUN0RCxJQUFJLFNBQVMsR0FBYSxFQUFFLENBQUM7SUFFN0IsTUFBTSxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTFDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1FBQ3hCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVDLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSx5QkFBaUIsRUFBQyxRQUFRLENBQUMsQ0FBQztRQUV0RCxJQUFJLFdBQVcsRUFBRTtZQUNmLFNBQVMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBQSxvQkFBWSxFQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDNUQ7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNuRCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzFCO1NBQ0Y7S0FDRjtJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQW5CVyxRQUFBLFlBQVksZ0JBbUJ2QjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxXQUFXLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUU7SUFDOUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDekMsQ0FBQyxDQUFDO0FBSlcsUUFBQSxXQUFXLGVBSXRCO0FBRUY7O0dBRUc7QUFDSSxNQUFNLGtCQUFrQixHQUFHLEtBQUssRUFBRSxRQUFnQixFQUFFLEVBQUU7SUFDM0QsSUFBSSxNQUFNLElBQUEsb0JBQVksRUFBQyxRQUFRLENBQUMsRUFBRTtRQUNoQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FDM0I7QUFDSCxDQUFDLENBQUM7QUFKVyxRQUFBLGtCQUFrQixzQkFJN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcy9wcm9taXNlcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG4vKipcbiAqIENoZWNrcyBpZiBmaWxlIGV4aXN0cyB3aXRoIHRoZSBnaXZlbiBgZmlsZVBhdGhgLlxuICovXG5leHBvcnQgY29uc3QgaXNGaWxlRXhpc3RzID0gYXN5bmMgKGZpbGVQYXRoOiBzdHJpbmcpID0+IHtcbiAgdHJ5IHtcbiAgICBhd2FpdCBmcy5zdGF0KGZpbGVQYXRoKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBkaXJlY3RvcnkgZXhpc3RzIHdpdGggdGhlIGdpdmVuIGBmaWxlUGF0aGAuXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RpcmVjdG9yeUV4aXN0cyA9IGFzeW5jIChkaXJlY3RvcnlQYXRoOiBzdHJpbmcpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBzdGF0ID0gYXdhaXQgZnMubHN0YXQoZGlyZWN0b3J5UGF0aCk7XG4gICAgcmV0dXJuIHN0YXQuaXNEaXJlY3RvcnkoKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG5cbi8qKlxuICogR2V0cyBhbGwgZmlsZXMgdGhhdCBoYXZlIGVpdGhlciAueW1sIG9yIC55YW1sIGV4dGVuc2lvbiBpbiB0aGUgZ2l2ZW4gZGlyZWN0b3J5LlxuICovXG5leHBvcnQgY29uc3QgZ2V0WWFtbEZpbGVzID0gYXN5bmMgKGRpcmVjdG9yeTogc3RyaW5nKSA9PiB7XG4gIGxldCB5YW1sRmlsZXM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3QgZmlsZXMgPSBhd2FpdCBmcy5yZWFkZGlyKGRpcmVjdG9yeSk7XG5cbiAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgY29uc3QgZnVsbFBhdGggPSBwYXRoLmpvaW4oZGlyZWN0b3J5LCBmaWxlKTtcbiAgICBjb25zdCBpc0RpckV4aXN0cyA9IGF3YWl0IGlzRGlyZWN0b3J5RXhpc3RzKGZ1bGxQYXRoKTtcblxuICAgIGlmIChpc0RpckV4aXN0cykge1xuICAgICAgeWFtbEZpbGVzID0geWFtbEZpbGVzLmNvbmNhdChhd2FpdCBnZXRZYW1sRmlsZXMoZnVsbFBhdGgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGZpbGUuZW5kc1dpdGgoJy55bWwnKSB8fCBmaWxlLmVuZHNXaXRoKCcueWFtbCcpKSB7XG4gICAgICAgIHlhbWxGaWxlcy5wdXNoKGZ1bGxQYXRoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4geWFtbEZpbGVzO1xufTtcblxuLyoqXG4gKiBHZXRzIGZpbGVOYW1lIGZyb20gdGhlIGdpdmVuIHBhdGggd2l0aG91dCBhbiBleHRlbnNpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRGaWxlTmFtZSA9IChmaWxlUGF0aDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IGJhc2VOYW1lID0gcGF0aC5iYXNlbmFtZShmaWxlUGF0aCk7XG4gIGNvbnN0IGV4dGVuc2lvbiA9IHBhdGguZXh0bmFtZShmaWxlUGF0aCk7XG4gIHJldHVybiBiYXNlTmFtZS5yZXBsYWNlKGV4dGVuc2lvbiwgJycpO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIHRoZSBnaXZlbiBmaWxlIGlmIGV4aXN0cy5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlbW92ZUZpbGVJZkV4aXN0cyA9IGFzeW5jIChmaWxlUGF0aDogc3RyaW5nKSA9PiB7XG4gIGlmIChhd2FpdCBpc0ZpbGVFeGlzdHMoZmlsZVBhdGgpKSB7XG4gICAgYXdhaXQgZnMudW5saW5rKGZpbGVQYXRoKTtcbiAgfVxufTtcbiJdfQ==
|
|
@@ -4,7 +4,6 @@ exports.STRINGS = void 0;
|
|
|
4
4
|
exports.STRINGS = {
|
|
5
5
|
CHECKING: 'Checking...',
|
|
6
6
|
IF_CHECK_FLAGS_MISSING: 'Either the `--manifest` or `--directory` command should be provided with a path',
|
|
7
|
-
DIRECTORY_NOT_FOUND: 'Directory not found.',
|
|
8
7
|
DIRECTORY_YAML_FILES_NOT_FOUND: 'The directory does not contain any YAML/YML files.\n',
|
|
9
8
|
IF_CHECK_EXECUTING: (filename) => `Executing \`${filename}\``,
|
|
10
9
|
IF_CHECK_VERIFICATION_FAILURES: '---------\nif-check verification failures:\n',
|
|
@@ -13,4 +12,4 @@ exports.STRINGS = {
|
|
|
13
12
|
IF_CHECK_SUMMARY_ERROR_MESSAGE: (filename, message) => `Executing \`${filename}\`\n✖ ${message}`,
|
|
14
13
|
IF_CHECK_SUMMARY_LOG: (passedCount, totalCount) => `---------\nCheck summary:\n${passedCount} of ${totalCount} files are passed.\n`,
|
|
15
14
|
};
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1jaGVjay9jb25maWcvc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLE9BQU8sR0FBRztJQUNyQixRQUFRLEVBQUUsYUFBYTtJQUN2QixzQkFBc0IsRUFDcEIsaUZBQWlGO0lBQ25GLDhCQUE4QixFQUM1QixzREFBc0Q7SUFDeEQsa0JBQWtCLEVBQUUsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FBQyxlQUFlLFFBQVEsSUFBSTtJQUNyRSw4QkFBOEIsRUFDNUIsOENBQThDO0lBQ2hELGVBQWUsRUFBRSxDQUFDLFFBQWdCLEVBQUUsRUFBRSxDQUNwQywrQkFBK0IsUUFBUSx1REFBdUQ7SUFDaEcsaUJBQWlCLEVBQUUsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FDdEMsb0NBQW9DLFFBQVEsSUFBSTtJQUNsRCw4QkFBOEIsRUFBRSxDQUFDLFFBQWdCLEVBQUUsT0FBZSxFQUFFLEVBQUUsQ0FDcEUsZUFBZSxRQUFRLFNBQVMsT0FBTyxFQUFFO0lBQzNDLG9CQUFvQixFQUFFLENBQUMsV0FBbUIsRUFBRSxVQUFrQixFQUFFLEVBQUUsQ0FDaEUsOEJBQThCLFdBQVcsT0FBTyxVQUFVLHNCQUFzQjtDQUNuRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFNUUklOR1MgPSB7XG4gIENIRUNLSU5HOiAnQ2hlY2tpbmcuLi4nLFxuICBJRl9DSEVDS19GTEFHU19NSVNTSU5HOlxuICAgICdFaXRoZXIgdGhlIGAtLW1hbmlmZXN0YCBvciBgLS1kaXJlY3RvcnlgIGNvbW1hbmQgc2hvdWxkIGJlIHByb3ZpZGVkIHdpdGggYSBwYXRoJyxcbiAgRElSRUNUT1JZX1lBTUxfRklMRVNfTk9UX0ZPVU5EOlxuICAgICdUaGUgZGlyZWN0b3J5IGRvZXMgbm90IGNvbnRhaW4gYW55IFlBTUwvWU1MIGZpbGVzLlxcbicsXG4gIElGX0NIRUNLX0VYRUNVVElORzogKGZpbGVuYW1lOiBzdHJpbmcpID0+IGBFeGVjdXRpbmcgXFxgJHtmaWxlbmFtZX1cXGBgLFxuICBJRl9DSEVDS19WRVJJRklDQVRJT05fRkFJTFVSRVM6XG4gICAgJy0tLS0tLS0tLVxcbmlmLWNoZWNrIHZlcmlmaWNhdGlvbiBmYWlsdXJlczpcXG4nLFxuICBJRl9DSEVDS19GQUlMRUQ6IChmaWxlbmFtZTogc3RyaW5nKSA9PlxuICAgIGDinJYgaWYtY2hlY2sgY291bGQgbm90IHZlcmlmeSAke2ZpbGVuYW1lfS4gVGhlIHJlLWV4ZWN1dGVkIGZpbGUgZG9lcyBub3QgbWF0Y2ggdGhlIG9yaWdpbmFsLlxcbmAsXG4gIElGX0NIRUNLX1ZFUklGSUVEOiAoZmlsZW5hbWU6IHN0cmluZykgPT5cbiAgICBg4pyUIGlmLWNoZWNrIHN1Y2Nlc3NmdWxseSB2ZXJpZmllZCAke2ZpbGVuYW1lfVxcbmAsXG4gIElGX0NIRUNLX1NVTU1BUllfRVJST1JfTUVTU0FHRTogKGZpbGVuYW1lOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZykgPT5cbiAgICBgRXhlY3V0aW5nIFxcYCR7ZmlsZW5hbWV9XFxgXFxu4pyWICR7bWVzc2FnZX1gLFxuICBJRl9DSEVDS19TVU1NQVJZX0xPRzogKHBhc3NlZENvdW50OiBudW1iZXIsIHRvdGFsQ291bnQ6IG51bWJlcikgPT5cbiAgICBgLS0tLS0tLS0tXFxuQ2hlY2sgc3VtbWFyeTpcXG4ke3Bhc3NlZENvdW50fSBvZiAke3RvdGFsQ291bnR9IGZpbGVzIGFyZSBwYXNzZWQuXFxuYCxcbn07XG4iXX0=
|
|
@@ -10,8 +10,8 @@ const config_1 = require("../config");
|
|
|
10
10
|
const config_2 = require("../../common/config");
|
|
11
11
|
const { ParseCliParamsError, CliSourceFileError, InvalidDirectoryError, MissingCliFlagsError, } = utils_1.ERRORS;
|
|
12
12
|
const { ARGS, HELP } = config_1.CONFIG;
|
|
13
|
-
const { IF_CHECK_FLAGS_MISSING
|
|
14
|
-
const { MANIFEST_NOT_FOUND, SOURCE_IS_NOT_YAML } = config_2.STRINGS;
|
|
13
|
+
const { IF_CHECK_FLAGS_MISSING } = config_1.STRINGS;
|
|
14
|
+
const { MANIFEST_NOT_FOUND, SOURCE_IS_NOT_YAML, DIRECTORY_NOT_FOUND } = config_2.STRINGS;
|
|
15
15
|
/**
|
|
16
16
|
* Parses `if-check` process arguments.
|
|
17
17
|
*/
|
|
@@ -53,4 +53,4 @@ const parseIfCheckArgs = async () => {
|
|
|
53
53
|
throw new MissingCliFlagsError(IF_CHECK_FLAGS_MISSING);
|
|
54
54
|
};
|
|
55
55
|
exports.parseIfCheckArgs = parseIfCheckArgs;
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1jaGVjay91dGlsL2FyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0RBQTJDO0FBQzNDLGlEQUE2QztBQUU3Qyw2Q0FBcUU7QUFDckUsdURBQThEO0FBQzlELGlEQUF5RDtBQUV6RCxzQ0FBMEM7QUFDMUMsZ0RBQThEO0FBSTlELE1BQU0sRUFDSixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixvQkFBb0IsR0FDckIsR0FBRyxjQUFNLENBQUM7QUFFWCxNQUFNLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUU1QixNQUFNLEVBQUMsc0JBQXNCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBQ3pDLE1BQU0sRUFBQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBQyxHQUNqRSxnQkFBYyxDQUFDO0FBRWpCOztHQUVHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxHQUFHLEVBQUU7SUFDdkMsSUFBSTtRQUNGLE9BQU8sSUFBQSw0QkFBSyxFQUFjLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztLQUN2QztJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1lBQzFCLE1BQU0sSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDOUM7UUFFRCxNQUFNLEtBQUssQ0FBQztLQUNiO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSSxNQUFNLGdCQUFnQixHQUFHLEtBQUssSUFBSSxFQUFFO0lBQ3pDLE1BQU0sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLEdBQUcsMkJBQTJCLEVBQUUsQ0FBQztJQUU1RCxJQUFJLFFBQVEsRUFBRTtRQUNaLE1BQU0sUUFBUSxHQUFHLElBQUEsNkJBQW1CLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLElBQUEsaUJBQVksRUFBQyxRQUFRLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDekIsTUFBTSxJQUFJLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDbkQ7UUFFRCxJQUFJLElBQUEsd0JBQWlCLEVBQUMsUUFBUSxDQUFDLEVBQUU7WUFDL0IsT0FBTyxFQUFDLFFBQVEsRUFBQyxDQUFDO1NBQ25CO1FBRUQsTUFBTSxJQUFJLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLENBQUM7S0FDbEQ7U0FBTSxJQUFJLFNBQVMsRUFBRTtRQUNwQixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUEsc0JBQWlCLEVBQUMsU0FBUyxDQUFDLENBQUM7UUFFdkQsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixNQUFNLElBQUkscUJBQXFCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUN0RDtRQUVELE1BQU0sUUFBUSxHQUFHLElBQUEsNkJBQW1CLEVBQUMsU0FBUyxDQUFDLENBQUM7UUFFaEQsT0FBTyxFQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUMsQ0FBQztLQUM5QjtJQUVELE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQztBQTdCVyxRQUFBLGdCQUFnQixvQkE2QjNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtwYXJzZX0gZnJvbSAndHMtY29tbWFuZC1saW5lLWFyZ3MnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5cbmltcG9ydCB7aXNEaXJlY3RvcnlFeGlzdHMsIGlzRmlsZUV4aXN0c30gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvZnMnO1xuaW1wb3J0IHtwcmVwZW5kRnVsbEZpbGVQYXRofSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9oZWxwZXJzJztcbmltcG9ydCB7Y2hlY2tJZkZpbGVJc1lhbWx9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL3lhbWwnO1xuXG5pbXBvcnQge0NPTkZJRywgU1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCB7U1RSSU5HUyBhcyBDT01NT05fU1RSSU5HU30gZnJvbSAnLi4vLi4vY29tbW9uL2NvbmZpZyc7XG5cbmltcG9ydCB7SUZDaGVja0FyZ3N9IGZyb20gJy4uL3R5cGVzL3Byb2Nlc3MtYXJncyc7XG5cbmNvbnN0IHtcbiAgUGFyc2VDbGlQYXJhbXNFcnJvcixcbiAgQ2xpU291cmNlRmlsZUVycm9yLFxuICBJbnZhbGlkRGlyZWN0b3J5RXJyb3IsXG4gIE1pc3NpbmdDbGlGbGFnc0Vycm9yLFxufSA9IEVSUk9SUztcblxuY29uc3Qge0FSR1MsIEhFTFB9ID0gQ09ORklHO1xuXG5jb25zdCB7SUZfQ0hFQ0tfRkxBR1NfTUlTU0lOR30gPSBTVFJJTkdTO1xuY29uc3Qge01BTklGRVNUX05PVF9GT1VORCwgU09VUkNFX0lTX05PVF9ZQU1MLCBESVJFQ1RPUllfTk9UX0ZPVU5EfSA9XG4gIENPTU1PTl9TVFJJTkdTO1xuXG4vKipcbiAqIFBhcnNlcyBgaWYtY2hlY2tgIHByb2Nlc3MgYXJndW1lbnRzLlxuICovXG5jb25zdCB2YWxpZGF0ZUFuZFBhcnNlSWZDaGVja0FyZ3MgPSAoKSA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlPElGQ2hlY2tBcmdzPihBUkdTLCBIRUxQKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlQ2xpUGFyYW1zRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgfVxuXG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbi8qKlxuICogQ2hlY2tzIGlmIGVpdGhlciBgbWFuaWZlc3RgIG9yIGBkaXJlY3RvcnlgIGNvbW1hbmQgaXMgcHJvdmlkZWQuXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZUlmQ2hlY2tBcmdzID0gYXN5bmMgKCkgPT4ge1xuICBjb25zdCB7bWFuaWZlc3QsIGRpcmVjdG9yeX0gPSB2YWxpZGF0ZUFuZFBhcnNlSWZDaGVja0FyZ3MoKTtcblxuICBpZiAobWFuaWZlc3QpIHtcbiAgICBjb25zdCByZXNwb25zZSA9IHByZXBlbmRGdWxsRmlsZVBhdGgobWFuaWZlc3QpO1xuICAgIGNvbnN0IGlzTWFuaWZlc3RGaWxlRXhpc3RzID0gYXdhaXQgaXNGaWxlRXhpc3RzKHJlc3BvbnNlKTtcblxuICAgIGlmICghaXNNYW5pZmVzdEZpbGVFeGlzdHMpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZUNsaVBhcmFtc0Vycm9yKE1BTklGRVNUX05PVF9GT1VORCk7XG4gICAgfVxuXG4gICAgaWYgKGNoZWNrSWZGaWxlSXNZYW1sKG1hbmlmZXN0KSkge1xuICAgICAgcmV0dXJuIHttYW5pZmVzdH07XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IENsaVNvdXJjZUZpbGVFcnJvcihTT1VSQ0VfSVNfTk9UX1lBTUwpO1xuICB9IGVsc2UgaWYgKGRpcmVjdG9yeSkge1xuICAgIGNvbnN0IGlzRGlyRXhpc3RzID0gYXdhaXQgaXNEaXJlY3RvcnlFeGlzdHMoZGlyZWN0b3J5KTtcblxuICAgIGlmICghaXNEaXJFeGlzdHMpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkRGlyZWN0b3J5RXJyb3IoRElSRUNUT1JZX05PVF9GT1VORCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzcG9uc2UgPSBwcmVwZW5kRnVsbEZpbGVQYXRoKGRpcmVjdG9yeSk7XG5cbiAgICByZXR1cm4ge2RpcmVjdG9yeTogcmVzcG9uc2V9O1xuICB9XG5cbiAgdGhyb3cgbmV3IE1pc3NpbmdDbGlGbGFnc0Vycm9yKElGX0NIRUNLX0ZMQUdTX01JU1NJTkcpO1xufTtcbiJdfQ==
|
|
@@ -19,7 +19,6 @@ exports.CONFIG = {
|
|
|
19
19
|
},
|
|
20
20
|
params: {
|
|
21
21
|
type: String,
|
|
22
|
-
optional: false,
|
|
23
22
|
alias: 'p',
|
|
24
23
|
description: '[parameter to export]',
|
|
25
24
|
},
|
|
@@ -34,4 +33,4 @@ exports.CONFIG = {
|
|
|
34
33
|
],
|
|
35
34
|
},
|
|
36
35
|
};
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLWNzdi9jb25maWcvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLGdEQUE0QztBQUk1QyxNQUFNLEVBQUMsa0JBQWtCLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXhCLFFBQUEsTUFBTSxHQUFHO0lBQ3BCLElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRTtZQUNSLElBQUksRUFBRSxNQUFNO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUUsR0FBRztZQUNWLFdBQVcsRUFBRSw2QkFBNkI7U0FDM0M7UUFDRCxNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsTUFBTTtZQUNaLFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFLEdBQUc7WUFDVixXQUFXLEVBQUUsK0JBQStCO1NBQzdDO1FBQ0QsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLE1BQU07WUFDWixLQUFLLEVBQUUsR0FBRztZQUNWLFdBQVcsRUFBRSx1QkFBdUI7U0FDckM7S0FDMkI7SUFDOUIsSUFBSSxFQUFFO1FBQ0osT0FBTyxFQUFFLE1BQU07UUFDZixxQkFBcUIsRUFBRTtZQUNyQixFQUFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUM7U0FDbEU7UUFDRCxxQkFBcUIsRUFBRTtZQUNyQixFQUFDLE1BQU0sRUFBRSwyQkFBMkIsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUM7U0FDbkU7S0FDbUI7Q0FDdkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QXJndW1lbnRDb25maWcsIFBhcnNlT3B0aW9uc30gZnJvbSAndHMtY29tbWFuZC1saW5lLWFyZ3MnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uLy4uL2NvbW1vbi9jb25maWcnO1xuXG5pbXBvcnQge0lGQ3N2QXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuY29uc3Qge0RJU0NMQUlNRVJfTUVTU0FHRX0gPSBTVFJJTkdTO1xuXG5leHBvcnQgY29uc3QgQ09ORklHID0ge1xuICBBUkdTOiB7XG4gICAgbWFuaWZlc3Q6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgYWxpYXM6ICdtJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnW3BhdGggdG8gdGhlIG1hbmlmZXN0IGZpbGVdJyxcbiAgICB9LFxuICAgIG91dHB1dDoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICBhbGlhczogJ28nLFxuICAgICAgZGVzY3JpcHRpb246ICdbcGF0aCB0byB0aGUgY3N2IG91dHB1dCBmaWxlXScsXG4gICAgfSxcbiAgICBwYXJhbXM6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIGFsaWFzOiAncCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ1twYXJhbWV0ZXIgdG8gZXhwb3J0XScsXG4gICAgfSxcbiAgfSBhcyBBcmd1bWVudENvbmZpZzxJRkNzdkFyZ3M+LFxuICBIRUxQOiB7XG4gICAgaGVscEFyZzogJ2hlbHAnLFxuICAgIGhlYWRlckNvbnRlbnRTZWN0aW9uczogW1xuICAgICAge2hlYWRlcjogJ0ltcGFjdCBGcmFtZXdvcmsnLCBjb250ZW50OiAnSUYtQ3N2IEhlbHBmdWwga2V5d29yZHM6J30sXG4gICAgXSxcbiAgICBmb290ZXJDb250ZW50U2VjdGlvbnM6IFtcbiAgICAgIHtoZWFkZXI6ICdHcmVlbiBTb2Z0d2FyZSBGb3VuZGF0aW9uJywgY29udGVudDogRElTQ0xBSU1FUl9NRVNTQUdFfSxcbiAgICBdLFxuICB9IGFzIFBhcnNlT3B0aW9uczxhbnk+LFxufTtcbiJdfQ==
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.STRINGS = void 0;
|
|
4
4
|
exports.STRINGS = {
|
|
5
|
-
PARAMS_NOT_PRESENT: 'Parameter not provided.',
|
|
6
5
|
FAILURE_MESSAGE_OUTPUTS: 'Manifest outputs are not available!',
|
|
7
6
|
};
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1jc3YvY29uZmlnL3N0cmluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxPQUFPLEdBQUc7SUFDckIsdUJBQXVCLEVBQUUscUNBQXFDO0NBQy9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgU1RSSU5HUyA9IHtcbiAgRkFJTFVSRV9NRVNTQUdFX09VVFBVVFM6ICdNYW5pZmVzdCBvdXRwdXRzIGFyZSBub3QgYXZhaWxhYmxlIScsXG59O1xuIl19
|
|
@@ -10,7 +10,6 @@ const config_2 = require("../../common/config");
|
|
|
10
10
|
const fs_1 = require("../../common/util/fs");
|
|
11
11
|
const { ParseCliParamsError, CliSourceFileError } = utils_1.ERRORS;
|
|
12
12
|
const { ARGS, HELP } = config_1.CONFIG;
|
|
13
|
-
const { PARAMS_NOT_PRESENT } = config_1.STRINGS;
|
|
14
13
|
const { SOURCE_IS_NOT_YAML, MANIFEST_NOT_FOUND } = config_2.STRINGS;
|
|
15
14
|
/**
|
|
16
15
|
* Parses `if-csv` process arguments.
|
|
@@ -31,9 +30,6 @@ const validateAndParseIfCsvArgs = () => {
|
|
|
31
30
|
*/
|
|
32
31
|
const parseIfCsvArgs = async () => {
|
|
33
32
|
const { manifest, output, params } = validateAndParseIfCsvArgs();
|
|
34
|
-
if (!params) {
|
|
35
|
-
throw new ParseCliParamsError(PARAMS_NOT_PRESENT);
|
|
36
|
-
}
|
|
37
33
|
if (manifest) {
|
|
38
34
|
const response = (0, helpers_1.prependFullFilePath)(manifest);
|
|
39
35
|
const isManifestFileExists = await (0, fs_1.isFileExists)(response);
|
|
@@ -48,4 +44,4 @@ const parseIfCsvArgs = async () => {
|
|
|
48
44
|
return { output, params };
|
|
49
45
|
};
|
|
50
46
|
exports.parseIfCsvArgs = parseIfCsvArgs;
|
|
51
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1jc3YvdXRpbC9hcmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtEQUEyQztBQUMzQyxpREFBNkM7QUFFN0MsaURBQXlEO0FBQ3pELHVEQUE4RDtBQUU5RCxzQ0FBaUM7QUFDakMsZ0RBQThEO0FBRzlELDZDQUFrRDtBQUVsRCxNQUFNLEVBQUMsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFFekQsTUFBTSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDNUIsTUFBTSxFQUFDLGtCQUFrQixFQUFFLGtCQUFrQixFQUFDLEdBQUcsZ0JBQWMsQ0FBQztBQUVoRTs7R0FFRztBQUNILE1BQU0seUJBQXlCLEdBQUcsR0FBRyxFQUFFO0lBQ3JDLElBQUk7UUFDRixPQUFPLElBQUEsNEJBQUssRUFBWSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDckM7SUFBQyxPQUFPLEtBQUssRUFBRTtRQUNkLElBQUksS0FBSyxZQUFZLEtBQUssRUFBRTtZQUMxQixNQUFNLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzlDO1FBRUQsTUFBTSxLQUFLLENBQUM7S0FDYjtBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0ksTUFBTSxjQUFjLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDdkMsTUFBTSxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztJQUUvRCxJQUFJLFFBQVEsRUFBRTtRQUNaLE1BQU0sUUFBUSxHQUFHLElBQUEsNkJBQW1CLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLElBQUEsaUJBQVksRUFBQyxRQUFRLENBQUMsQ0FBQztRQUUxRCxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDekIsTUFBTSxJQUFJLG1CQUFtQixDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDbkQ7UUFFRCxJQUFJLElBQUEsd0JBQWlCLEVBQUMsUUFBUSxDQUFDLEVBQUU7WUFDL0IsT0FBTyxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDLENBQUM7U0FDbkM7UUFFRCxNQUFNLElBQUksa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQUNsRDtJQUVELE9BQU8sRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDO0FBbkJXLFFBQUEsY0FBYyxrQkFtQnpCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtwYXJzZX0gZnJvbSAndHMtY29tbWFuZC1saW5lLWFyZ3MnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5cbmltcG9ydCB7Y2hlY2tJZkZpbGVJc1lhbWx9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL3lhbWwnO1xuaW1wb3J0IHtwcmVwZW5kRnVsbEZpbGVQYXRofSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9oZWxwZXJzJztcblxuaW1wb3J0IHtDT05GSUd9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQge1NUUklOR1MgYXMgQ09NTU9OX1NUUklOR1N9IGZyb20gJy4uLy4uL2NvbW1vbi9jb25maWcnO1xuXG5pbXBvcnQge0lGQ3N2QXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcbmltcG9ydCB7aXNGaWxlRXhpc3RzfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9mcyc7XG5cbmNvbnN0IHtQYXJzZUNsaVBhcmFtc0Vycm9yLCBDbGlTb3VyY2VGaWxlRXJyb3J9ID0gRVJST1JTO1xuXG5jb25zdCB7QVJHUywgSEVMUH0gPSBDT05GSUc7XG5jb25zdCB7U09VUkNFX0lTX05PVF9ZQU1MLCBNQU5JRkVTVF9OT1RfRk9VTkR9ID0gQ09NTU9OX1NUUklOR1M7XG5cbi8qKlxuICogUGFyc2VzIGBpZi1jc3ZgIHByb2Nlc3MgYXJndW1lbnRzLlxuICovXG5jb25zdCB2YWxpZGF0ZUFuZFBhcnNlSWZDc3ZBcmdzID0gKCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZTxJRkNzdkFyZ3M+KEFSR1MsIEhFTFApO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuLyoqXG4gKiBDaGVja3MgZm9yIGBtYW5pZmVzdGAgYW5kIGBwYXJhbXNgIGZsYWdzIHRvIGJlIHByZXNlbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZUlmQ3N2QXJncyA9IGFzeW5jICgpID0+IHtcbiAgY29uc3Qge21hbmlmZXN0LCBvdXRwdXQsIHBhcmFtc30gPSB2YWxpZGF0ZUFuZFBhcnNlSWZDc3ZBcmdzKCk7XG5cbiAgaWYgKG1hbmlmZXN0KSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBwcmVwZW5kRnVsbEZpbGVQYXRoKG1hbmlmZXN0KTtcbiAgICBjb25zdCBpc01hbmlmZXN0RmlsZUV4aXN0cyA9IGF3YWl0IGlzRmlsZUV4aXN0cyhyZXNwb25zZSk7XG5cbiAgICBpZiAoIWlzTWFuaWZlc3RGaWxlRXhpc3RzKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihNQU5JRkVTVF9OT1RfRk9VTkQpO1xuICAgIH1cblxuICAgIGlmIChjaGVja0lmRmlsZUlzWWFtbChtYW5pZmVzdCkpIHtcbiAgICAgIHJldHVybiB7bWFuaWZlc3QsIG91dHB1dCwgcGFyYW1zfTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgQ2xpU291cmNlRmlsZUVycm9yKFNPVVJDRV9JU19OT1RfWUFNTCk7XG4gIH1cblxuICByZXR1cm4ge291dHB1dCwgcGFyYW1zfTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CONFIG = void 0;
|
|
4
|
+
const config_1 = require("../../common/config");
|
|
5
|
+
const { DISCLAIMER_MESSAGE } = config_1.STRINGS;
|
|
6
|
+
exports.CONFIG = {
|
|
7
|
+
ARGS: {
|
|
8
|
+
manifests: {
|
|
9
|
+
type: String,
|
|
10
|
+
multiple: true,
|
|
11
|
+
alias: 'm',
|
|
12
|
+
description: '[path to the manifests files]',
|
|
13
|
+
},
|
|
14
|
+
output: {
|
|
15
|
+
type: String,
|
|
16
|
+
optional: true,
|
|
17
|
+
alias: 'o',
|
|
18
|
+
description: '[path to the merged output file]',
|
|
19
|
+
},
|
|
20
|
+
name: {
|
|
21
|
+
type: String,
|
|
22
|
+
optional: true,
|
|
23
|
+
alias: 'n',
|
|
24
|
+
description: '[name of the merged manifest]',
|
|
25
|
+
},
|
|
26
|
+
description: {
|
|
27
|
+
type: String,
|
|
28
|
+
optional: true,
|
|
29
|
+
alias: 'd',
|
|
30
|
+
description: '[decription of the merged manifest]',
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
HELP: {
|
|
34
|
+
helpArg: 'help',
|
|
35
|
+
headerContentSections: [
|
|
36
|
+
{ header: 'Impact Framework', content: 'IF-Merge Helpful keywords:' },
|
|
37
|
+
],
|
|
38
|
+
footerContentSections: [
|
|
39
|
+
{ header: 'Green Software Foundation', content: DISCLAIMER_MESSAGE },
|
|
40
|
+
],
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLW1lcmdlL2NvbmZpZy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsZ0RBQTRDO0FBSTVDLE1BQU0sRUFBQyxrQkFBa0IsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFeEIsUUFBQSxNQUFNLEdBQUc7SUFDcEIsSUFBSSxFQUFFO1FBQ0osU0FBUyxFQUFFO1lBQ1QsSUFBSSxFQUFFLE1BQU07WUFDWixRQUFRLEVBQUUsSUFBSTtZQUNkLEtBQUssRUFBRSxHQUFHO1lBQ1YsV0FBVyxFQUFFLCtCQUErQjtTQUM3QztRQUNELE1BQU0sRUFBRTtZQUNOLElBQUksRUFBRSxNQUFNO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUUsR0FBRztZQUNWLFdBQVcsRUFBRSxrQ0FBa0M7U0FDaEQ7UUFDRCxJQUFJLEVBQUU7WUFDSixJQUFJLEVBQUUsTUFBTTtZQUNaLFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFLEdBQUc7WUFDVixXQUFXLEVBQUUsK0JBQStCO1NBQzdDO1FBQ0QsV0FBVyxFQUFFO1lBQ1gsSUFBSSxFQUFFLE1BQU07WUFDWixRQUFRLEVBQUUsSUFBSTtZQUNkLEtBQUssRUFBRSxHQUFHO1lBQ1YsV0FBVyxFQUFFLHFDQUFxQztTQUNuRDtLQUN3QztJQUMzQyxJQUFJLEVBQUU7UUFDSixPQUFPLEVBQUUsTUFBTTtRQUNmLHFCQUFxQixFQUFFO1lBQ3JCLEVBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSw0QkFBNEIsRUFBQztTQUNwRTtRQUNELHFCQUFxQixFQUFFO1lBQ3JCLEVBQUMsTUFBTSxFQUFFLDJCQUEyQixFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBQztTQUNuRTtLQUNtQjtDQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBcmd1bWVudENvbmZpZywgUGFyc2VPcHRpb25zfSBmcm9tICd0cy1jb21tYW5kLWxpbmUtYXJncyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vLi4vY29tbW9uL2NvbmZpZyc7XG5cbmltcG9ydCB7SUZNZXJnZUFyZ3N9IGZyb20gJy4uL3R5cGVzL3Byb2Nlc3MtYXJncyc7XG5cbmNvbnN0IHtESVNDTEFJTUVSX01FU1NBR0V9ID0gU1RSSU5HUztcblxuZXhwb3J0IGNvbnN0IENPTkZJRyA9IHtcbiAgQVJHUzoge1xuICAgIG1hbmlmZXN0czoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgbXVsdGlwbGU6IHRydWUsXG4gICAgICBhbGlhczogJ20nLFxuICAgICAgZGVzY3JpcHRpb246ICdbcGF0aCB0byB0aGUgbWFuaWZlc3RzIGZpbGVzXScsXG4gICAgfSxcbiAgICBvdXRwdXQ6IHtcbiAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgYWxpYXM6ICdvJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnW3BhdGggdG8gdGhlIG1lcmdlZCBvdXRwdXQgZmlsZV0nLFxuICAgIH0sXG4gICAgbmFtZToge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICBhbGlhczogJ24nLFxuICAgICAgZGVzY3JpcHRpb246ICdbbmFtZSBvZiB0aGUgbWVyZ2VkIG1hbmlmZXN0XScsXG4gICAgfSxcbiAgICBkZXNjcmlwdGlvbjoge1xuICAgICAgdHlwZTogU3RyaW5nLFxuICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICBhbGlhczogJ2QnLFxuICAgICAgZGVzY3JpcHRpb246ICdbZGVjcmlwdGlvbiBvZiB0aGUgbWVyZ2VkIG1hbmlmZXN0XScsXG4gICAgfSxcbiAgfSBhcyB1bmtub3duIGFzIEFyZ3VtZW50Q29uZmlnPElGTWVyZ2VBcmdzPixcbiAgSEVMUDoge1xuICAgIGhlbHBBcmc6ICdoZWxwJyxcbiAgICBoZWFkZXJDb250ZW50U2VjdGlvbnM6IFtcbiAgICAgIHtoZWFkZXI6ICdJbXBhY3QgRnJhbWV3b3JrJywgY29udGVudDogJ0lGLU1lcmdlIEhlbHBmdWwga2V5d29yZHM6J30sXG4gICAgXSxcbiAgICBmb290ZXJDb250ZW50U2VjdGlvbnM6IFtcbiAgICAgIHtoZWFkZXI6ICdHcmVlbiBTb2Z0d2FyZSBGb3VuZGF0aW9uJywgY29udGVudDogRElTQ0xBSU1FUl9NRVNTQUdFfSxcbiAgICBdLFxuICB9IGFzIFBhcnNlT3B0aW9uczxhbnk+LFxufTtcbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.STRINGS = exports.CONFIG = void 0;
|
|
4
|
+
var config_1 = require("./config");
|
|
5
|
+
Object.defineProperty(exports, "CONFIG", { enumerable: true, get: function () { return config_1.CONFIG; } });
|
|
6
|
+
var strings_1 = require("./strings");
|
|
7
|
+
Object.defineProperty(exports, "STRINGS", { enumerable: true, get: function () { return strings_1.STRINGS; } });
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtbWVyZ2UvY29uZmlnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFnQztBQUF4QixnR0FBQSxNQUFNLE9BQUE7QUFDZCxxQ0FBa0M7QUFBMUIsa0dBQUEsT0FBTyxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtDT05GSUd9IGZyb20gJy4vY29uZmlnJztcbmV4cG9ydCB7U1RSSU5HU30gZnJvbSAnLi9zdHJpbmdzJztcbiJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.STRINGS = void 0;
|
|
4
|
+
exports.STRINGS = {
|
|
5
|
+
MERGING: 'Merging...',
|
|
6
|
+
SUCCESS_MESSAGE: '\nManifests are merged successfully!',
|
|
7
|
+
MANIFEST_IS_NOT_YAML: (path) => `The \`${path}\` is not in yaml format.`,
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1tZXJnZS9jb25maWcvc3RyaW5ncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLE9BQU8sR0FBRztJQUNyQixPQUFPLEVBQUUsWUFBWTtJQUNyQixlQUFlLEVBQUUsc0NBQXNDO0lBQ3ZELG9CQUFvQixFQUFFLENBQUMsSUFBWSxFQUFFLEVBQUUsQ0FDckMsU0FBUyxJQUFJLDJCQUEyQjtDQUMzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFNUUklOR1MgPSB7XG4gIE1FUkdJTkc6ICdNZXJnaW5nLi4uJyxcbiAgU1VDQ0VTU19NRVNTQUdFOiAnXFxuTWFuaWZlc3RzIGFyZSBtZXJnZWQgc3VjY2Vzc2Z1bGx5IScsXG4gIE1BTklGRVNUX0lTX05PVF9ZQU1MOiAocGF0aDogc3RyaW5nKSA9PlxuICAgIGBUaGUgXFxgJHtwYXRofVxcYCBpcyBub3QgaW4geWFtbCBmb3JtYXQuYCxcbn07XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
/* eslint-disable no-process-exit */
|
|
5
|
+
const debug_logger_1 = require("../common/util/debug-logger");
|
|
6
|
+
const logger_1 = require("../common/util/logger");
|
|
7
|
+
const args_1 = require("./util/args");
|
|
8
|
+
const helpers_1 = require("./util/helpers");
|
|
9
|
+
const config_1 = require("./config");
|
|
10
|
+
const { MERGING, SUCCESS_MESSAGE } = config_1.STRINGS;
|
|
11
|
+
const IfMerge = async () => {
|
|
12
|
+
// Call this function with false parameter to prevent log debug messages.
|
|
13
|
+
debug_logger_1.debugLogger.overrideConsoleMethods(false);
|
|
14
|
+
const commandArgs = await (0, args_1.parseIfMergeArgs)();
|
|
15
|
+
console.log(`${MERGING}\n`);
|
|
16
|
+
await (0, helpers_1.mergeManifests)(commandArgs);
|
|
17
|
+
console.log(SUCCESS_MESSAGE);
|
|
18
|
+
process.exit(0);
|
|
19
|
+
};
|
|
20
|
+
IfMerge().catch(error => {
|
|
21
|
+
if (error instanceof Error) {
|
|
22
|
+
logger_1.logger.error(error);
|
|
23
|
+
process.exit(2);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaWYtbWVyZ2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esb0NBQW9DO0FBQ3BDLDhEQUF3RDtBQUN4RCxrREFBNkM7QUFFN0Msc0NBQTZDO0FBQzdDLDRDQUE4QztBQUU5QyxxQ0FBaUM7QUFFakMsTUFBTSxFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRTNDLE1BQU0sT0FBTyxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQ3pCLHlFQUF5RTtJQUN6RSwwQkFBVyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTFDLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSx1QkFBZ0IsR0FBRSxDQUFDO0lBRTdDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLElBQUksQ0FBQyxDQUFDO0lBRTVCLE1BQU0sSUFBQSx3QkFBYyxFQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRWxDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFN0IsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7SUFDdEIsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1FBQzFCLGVBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUNqQjtBQUNILENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiIyEvdXNyL2Jpbi9lbnYgbm9kZVxuLyogZXNsaW50LWRpc2FibGUgbm8tcHJvY2Vzcy1leGl0ICovXG5pbXBvcnQge2RlYnVnTG9nZ2VyfSBmcm9tICcuLi9jb21tb24vdXRpbC9kZWJ1Zy1sb2dnZXInO1xuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4uL2NvbW1vbi91dGlsL2xvZ2dlcic7XG5cbmltcG9ydCB7cGFyc2VJZk1lcmdlQXJnc30gZnJvbSAnLi91dGlsL2FyZ3MnO1xuaW1wb3J0IHttZXJnZU1hbmlmZXN0c30gZnJvbSAnLi91dGlsL2hlbHBlcnMnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4vY29uZmlnJztcblxuY29uc3Qge01FUkdJTkcsIFNVQ0NFU1NfTUVTU0FHRX0gPSBTVFJJTkdTO1xuXG5jb25zdCBJZk1lcmdlID0gYXN5bmMgKCkgPT4ge1xuICAvLyBDYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCBmYWxzZSBwYXJhbWV0ZXIgdG8gcHJldmVudCBsb2cgZGVidWcgbWVzc2FnZXMuXG4gIGRlYnVnTG9nZ2VyLm92ZXJyaWRlQ29uc29sZU1ldGhvZHMoZmFsc2UpO1xuXG4gIGNvbnN0IGNvbW1hbmRBcmdzID0gYXdhaXQgcGFyc2VJZk1lcmdlQXJncygpO1xuXG4gIGNvbnNvbGUubG9nKGAke01FUkdJTkd9XFxuYCk7XG5cbiAgYXdhaXQgbWVyZ2VNYW5pZmVzdHMoY29tbWFuZEFyZ3MpO1xuXG4gIGNvbnNvbGUubG9nKFNVQ0NFU1NfTUVTU0FHRSk7XG5cbiAgcHJvY2Vzcy5leGl0KDApO1xufTtcblxuSWZNZXJnZSgpLmNhdGNoKGVycm9yID0+IHtcbiAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICBsb2dnZXIuZXJyb3IoZXJyb3IpO1xuICAgIHByb2Nlc3MuZXhpdCgyKTtcbiAgfVxufSk7XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2lmLW1lcmdlL3R5cGVzL3Byb2Nlc3MtYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJRk1lcmdlQXJncyB7XG4gIG1hbmlmZXN0czogc3RyaW5nW107XG4gIG91dHB1dD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checks if the `manifests` command is provided and they are valid manifests files or a folder.
|
|
3
|
+
*/
|
|
4
|
+
export declare const parseIfMergeArgs: () => Promise<{
|
|
5
|
+
manifests: string[];
|
|
6
|
+
output: string | undefined;
|
|
7
|
+
name: string | undefined;
|
|
8
|
+
description: string | undefined;
|
|
9
|
+
}>;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseIfMergeArgs = void 0;
|
|
4
|
+
const ts_command_line_args_1 = require("ts-command-line-args");
|
|
5
|
+
const utils_1 = require("@grnsft/if-core/utils");
|
|
6
|
+
const fs_1 = require("../../common/util/fs");
|
|
7
|
+
const helpers_1 = require("../../common/util/helpers");
|
|
8
|
+
const yaml_1 = require("../../common/util/yaml");
|
|
9
|
+
const config_1 = require("../../common/config");
|
|
10
|
+
const config_2 = require("../config");
|
|
11
|
+
const { ParseCliParamsError, InvalidDirectoryError, CliSourceFileError } = utils_1.ERRORS;
|
|
12
|
+
const { ARGS, HELP } = config_2.CONFIG;
|
|
13
|
+
const { MANIFEST_IS_NOT_YAML } = config_2.STRINGS;
|
|
14
|
+
const { MANIFEST_NOT_FOUND, DIRECTORY_NOT_FOUND } = config_1.STRINGS;
|
|
15
|
+
/**
|
|
16
|
+
* Parses `if-merge` process arguments.
|
|
17
|
+
*/
|
|
18
|
+
const validateAndParseIfMergeArgs = () => {
|
|
19
|
+
try {
|
|
20
|
+
return (0, ts_command_line_args_1.parse)(ARGS, HELP);
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
if (error instanceof Error) {
|
|
24
|
+
throw new ParseCliParamsError(error.message);
|
|
25
|
+
}
|
|
26
|
+
throw error;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Checks if the `manifests` command is provided and they are valid manifests files or a folder.
|
|
31
|
+
*/
|
|
32
|
+
const parseIfMergeArgs = async () => {
|
|
33
|
+
const { manifests, output, name, description } = validateAndParseIfMergeArgs();
|
|
34
|
+
const manifestsWithFullPath = [];
|
|
35
|
+
if (manifests.length === 1) {
|
|
36
|
+
const isDirectory = await (0, fs_1.isDirectoryExists)(manifests[0]);
|
|
37
|
+
if (!isDirectory) {
|
|
38
|
+
throw new InvalidDirectoryError(DIRECTORY_NOT_FOUND);
|
|
39
|
+
}
|
|
40
|
+
return { manifests, output, name, description };
|
|
41
|
+
}
|
|
42
|
+
for await (const manifest of manifests) {
|
|
43
|
+
const response = (0, helpers_1.prependFullFilePath)(manifest);
|
|
44
|
+
const isManifestFileExists = await (0, fs_1.isFileExists)(response);
|
|
45
|
+
const isYamlFile = (0, yaml_1.checkIfFileIsYaml)(response);
|
|
46
|
+
if (!isManifestFileExists) {
|
|
47
|
+
throw new ParseCliParamsError(`${manifest} ${MANIFEST_NOT_FOUND}`);
|
|
48
|
+
}
|
|
49
|
+
if (!isYamlFile) {
|
|
50
|
+
throw new CliSourceFileError(MANIFEST_IS_NOT_YAML(manifest));
|
|
51
|
+
}
|
|
52
|
+
if ((0, yaml_1.checkIfFileIsYaml)(manifest)) {
|
|
53
|
+
manifestsWithFullPath.push(response);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return { manifests: manifestsWithFullPath, output, name, description };
|
|
57
|
+
};
|
|
58
|
+
exports.parseIfMergeArgs = parseIfMergeArgs;
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1tZXJnZS91dGlsL2FyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0RBQTJDO0FBQzNDLGlEQUE2QztBQUU3Qyw2Q0FBcUU7QUFDckUsdURBQThEO0FBQzlELGlEQUF5RDtBQUV6RCxnREFBOEQ7QUFJOUQsc0NBQTBDO0FBRTFDLE1BQU0sRUFBQyxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBQyxHQUFHLGNBQU0sQ0FBQztBQUNoRixNQUFNLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUM1QixNQUFNLEVBQUMsb0JBQW9CLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBQ3ZDLE1BQU0sRUFBQyxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBQyxHQUFHLGdCQUFjLENBQUM7QUFFakU7O0dBRUc7QUFDSCxNQUFNLDJCQUEyQixHQUFHLEdBQUcsRUFBRTtJQUN2QyxJQUFJO1FBQ0YsT0FBTyxJQUFBLDRCQUFLLEVBQWMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ3ZDO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUU7WUFDMUIsTUFBTSxJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM5QztRQUVELE1BQU0sS0FBSyxDQUFDO0tBQ2I7QUFDSCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNJLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDekMsTUFBTSxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBQyxHQUFHLDJCQUEyQixFQUFFLENBQUM7SUFFN0UsTUFBTSxxQkFBcUIsR0FBRyxFQUFFLENBQUM7SUFFakMsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUMxQixNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUEsc0JBQWlCLEVBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixNQUFNLElBQUkscUJBQXFCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUN0RDtRQUVELE9BQU8sRUFBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUMsQ0FBQztLQUMvQztJQUVELElBQUksS0FBSyxFQUFFLE1BQU0sUUFBUSxJQUFJLFNBQVMsRUFBRTtRQUN0QyxNQUFNLFFBQVEsR0FBRyxJQUFBLDZCQUFtQixFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxJQUFBLGlCQUFZLEVBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUQsTUFBTSxVQUFVLEdBQUcsSUFBQSx3QkFBaUIsRUFBQyxRQUFRLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDekIsTUFBTSxJQUFJLG1CQUFtQixDQUFDLEdBQUcsUUFBUSxJQUFJLGtCQUFrQixFQUFFLENBQUMsQ0FBQztTQUNwRTtRQUVELElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDZixNQUFNLElBQUksa0JBQWtCLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUM5RDtRQUVELElBQUksSUFBQSx3QkFBaUIsRUFBQyxRQUFRLENBQUMsRUFBRTtZQUMvQixxQkFBcUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdEM7S0FDRjtJQUVELE9BQU8sRUFBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUMsQ0FBQztBQUN2RSxDQUFDLENBQUM7QUFqQ1csUUFBQSxnQkFBZ0Isb0JBaUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7cGFyc2V9IGZyb20gJ3RzLWNvbW1hbmQtbGluZS1hcmdzJztcbmltcG9ydCB7RVJST1JTfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdXRpbHMnO1xuXG5pbXBvcnQge2lzRmlsZUV4aXN0cywgaXNEaXJlY3RvcnlFeGlzdHN9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2ZzJztcbmltcG9ydCB7cHJlcGVuZEZ1bGxGaWxlUGF0aH0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvaGVscGVycyc7XG5pbXBvcnQge2NoZWNrSWZGaWxlSXNZYW1sfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC95YW1sJztcblxuaW1wb3J0IHtTVFJJTkdTIGFzIENPTU1PTl9TVFJJTkdTfSBmcm9tICcuLi8uLi9jb21tb24vY29uZmlnJztcblxuaW1wb3J0IHtJRk1lcmdlQXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuaW1wb3J0IHtDT05GSUcsIFNUUklOR1N9IGZyb20gJy4uL2NvbmZpZyc7XG5cbmNvbnN0IHtQYXJzZUNsaVBhcmFtc0Vycm9yLCBJbnZhbGlkRGlyZWN0b3J5RXJyb3IsIENsaVNvdXJjZUZpbGVFcnJvcn0gPSBFUlJPUlM7XG5jb25zdCB7QVJHUywgSEVMUH0gPSBDT05GSUc7XG5jb25zdCB7TUFOSUZFU1RfSVNfTk9UX1lBTUx9ID0gU1RSSU5HUztcbmNvbnN0IHtNQU5JRkVTVF9OT1RfRk9VTkQsIERJUkVDVE9SWV9OT1RfRk9VTkR9ID0gQ09NTU9OX1NUUklOR1M7XG5cbi8qKlxuICogUGFyc2VzIGBpZi1tZXJnZWAgcHJvY2VzcyBhcmd1bWVudHMuXG4gKi9cbmNvbnN0IHZhbGlkYXRlQW5kUGFyc2VJZk1lcmdlQXJncyA9ICgpID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2U8SUZNZXJnZUFyZ3M+KEFSR1MsIEhFTFApO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGBtYW5pZmVzdHNgIGNvbW1hbmQgaXMgcHJvdmlkZWQgYW5kIHRoZXkgYXJlIHZhbGlkIG1hbmlmZXN0cyBmaWxlcyBvciBhIGZvbGRlci5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlSWZNZXJnZUFyZ3MgPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHttYW5pZmVzdHMsIG91dHB1dCwgbmFtZSwgZGVzY3JpcHRpb259ID0gdmFsaWRhdGVBbmRQYXJzZUlmTWVyZ2VBcmdzKCk7XG5cbiAgY29uc3QgbWFuaWZlc3RzV2l0aEZ1bGxQYXRoID0gW107XG5cbiAgaWYgKG1hbmlmZXN0cy5sZW5ndGggPT09IDEpIHtcbiAgICBjb25zdCBpc0RpcmVjdG9yeSA9IGF3YWl0IGlzRGlyZWN0b3J5RXhpc3RzKG1hbmlmZXN0c1swXSk7XG4gICAgaWYgKCFpc0RpcmVjdG9yeSkge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWREaXJlY3RvcnlFcnJvcihESVJFQ1RPUllfTk9UX0ZPVU5EKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge21hbmlmZXN0cywgb3V0cHV0LCBuYW1lLCBkZXNjcmlwdGlvbn07XG4gIH1cblxuICBmb3IgYXdhaXQgKGNvbnN0IG1hbmlmZXN0IG9mIG1hbmlmZXN0cykge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gcHJlcGVuZEZ1bGxGaWxlUGF0aChtYW5pZmVzdCk7XG4gICAgY29uc3QgaXNNYW5pZmVzdEZpbGVFeGlzdHMgPSBhd2FpdCBpc0ZpbGVFeGlzdHMocmVzcG9uc2UpO1xuICAgIGNvbnN0IGlzWWFtbEZpbGUgPSBjaGVja0lmRmlsZUlzWWFtbChyZXNwb25zZSk7XG5cbiAgICBpZiAoIWlzTWFuaWZlc3RGaWxlRXhpc3RzKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihgJHttYW5pZmVzdH0gJHtNQU5JRkVTVF9OT1RfRk9VTkR9YCk7XG4gICAgfVxuXG4gICAgaWYgKCFpc1lhbWxGaWxlKSB7XG4gICAgICB0aHJvdyBuZXcgQ2xpU291cmNlRmlsZUVycm9yKE1BTklGRVNUX0lTX05PVF9ZQU1MKG1hbmlmZXN0KSk7XG4gICAgfVxuXG4gICAgaWYgKGNoZWNrSWZGaWxlSXNZYW1sKG1hbmlmZXN0KSkge1xuICAgICAgbWFuaWZlc3RzV2l0aEZ1bGxQYXRoLnB1c2gocmVzcG9uc2UpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7bWFuaWZlc3RzOiBtYW5pZmVzdHNXaXRoRnVsbFBhdGgsIG91dHB1dCwgbmFtZSwgZGVzY3JpcHRpb259O1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.mergeManifests = void 0;
|
|
27
|
+
const path = __importStar(require("path"));
|
|
28
|
+
const fs_1 = require("../../common/util/fs");
|
|
29
|
+
const load_1 = require("../../common/lib/load");
|
|
30
|
+
const exhaust_1 = require("../../if-run/lib/exhaust");
|
|
31
|
+
/**
|
|
32
|
+
* Merges the given manifests in the one file.
|
|
33
|
+
*/
|
|
34
|
+
const mergeManifests = async (mergeArgs) => {
|
|
35
|
+
const { manifests: commandManifests, output, name, description } = mergeArgs;
|
|
36
|
+
let manifests = commandManifests;
|
|
37
|
+
if (commandManifests.length === 1) {
|
|
38
|
+
manifests = await (0, fs_1.getYamlFiles)(commandManifests[0]);
|
|
39
|
+
}
|
|
40
|
+
const context = {
|
|
41
|
+
name: name || 'if-merge',
|
|
42
|
+
description: description || 'merged manifest',
|
|
43
|
+
tags: null,
|
|
44
|
+
initialize: { plugins: {} },
|
|
45
|
+
};
|
|
46
|
+
const tree = await mergeManifestsData(manifests, context);
|
|
47
|
+
await saveMergedManifest(tree, context, output);
|
|
48
|
+
};
|
|
49
|
+
exports.mergeManifests = mergeManifests;
|
|
50
|
+
/**
|
|
51
|
+
* Merges manifests data.
|
|
52
|
+
*/
|
|
53
|
+
const mergeManifestsData = async (manifests, context) => {
|
|
54
|
+
const tree = { children: {} };
|
|
55
|
+
for await (const manifest of manifests) {
|
|
56
|
+
const manifestName = (0, fs_1.getFileName)(manifest);
|
|
57
|
+
const { rawManifest } = await (0, load_1.load)(manifest);
|
|
58
|
+
const parentDir = path.basename(path.dirname(manifest));
|
|
59
|
+
const uniqueName = `${parentDir}-${manifestName}`;
|
|
60
|
+
context.tags = Object.assign({}, context.tags, rawManifest.tags);
|
|
61
|
+
context.initialize.plugins = {
|
|
62
|
+
...context.initialize.plugins,
|
|
63
|
+
...rawManifest.initialize.plugins,
|
|
64
|
+
};
|
|
65
|
+
Object.keys(rawManifest.tree.children).forEach(child => {
|
|
66
|
+
tree.children[`${child}-${uniqueName}`] = {
|
|
67
|
+
...rawManifest.tree.children[child],
|
|
68
|
+
};
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
return tree;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Saves the merged manifest in the `merged-manifest.yaml` file.
|
|
75
|
+
*/
|
|
76
|
+
const saveMergedManifest = async (tree, context, outputPath) => {
|
|
77
|
+
const output = {
|
|
78
|
+
outputPath,
|
|
79
|
+
noOutput: false,
|
|
80
|
+
};
|
|
81
|
+
await (0, exhaust_1.exhaust)(tree, context, output);
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1tZXJnZS91dGlsL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNkI7QUFFN0IsNkNBQStEO0FBRS9ELGdEQUEyQztBQUUzQyxzREFBaUQ7QUFHakQ7O0dBRUc7QUFDSSxNQUFNLGNBQWMsR0FBRyxLQUFLLEVBQUUsU0FBc0IsRUFBRSxFQUFFO0lBQzdELE1BQU0sRUFBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUMsR0FBRyxTQUFTLENBQUM7SUFDM0UsSUFBSSxTQUFTLEdBQUcsZ0JBQWdCLENBQUM7SUFFakMsSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ2pDLFNBQVMsR0FBRyxNQUFNLElBQUEsaUJBQVksRUFBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3JEO0lBQ0QsTUFBTSxPQUFPLEdBQUc7UUFDZCxJQUFJLEVBQUUsSUFBSSxJQUFJLFVBQVU7UUFDeEIsV0FBVyxFQUFFLFdBQVcsSUFBSSxpQkFBaUI7UUFDN0MsSUFBSSxFQUFFLElBQUk7UUFDVixVQUFVLEVBQUUsRUFBQyxPQUFPLEVBQUUsRUFBRSxFQUFDO0tBQzFCLENBQUM7SUFDRixNQUFNLElBQUksR0FBRyxNQUFNLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUUxRCxNQUFNLGtCQUFrQixDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDO0FBaEJXLFFBQUEsY0FBYyxrQkFnQnpCO0FBRUY7O0dBRUc7QUFDSCxNQUFNLGtCQUFrQixHQUFHLEtBQUssRUFBRSxTQUFtQixFQUFFLE9BQWdCLEVBQUUsRUFBRTtJQUN6RSxNQUFNLElBQUksR0FBUSxFQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUMsQ0FBQztJQUVqQyxJQUFJLEtBQUssRUFBRSxNQUFNLFFBQVEsSUFBSSxTQUFTLEVBQUU7UUFDdEMsTUFBTSxZQUFZLEdBQUcsSUFBQSxnQkFBVyxFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sRUFBQyxXQUFXLEVBQUMsR0FBRyxNQUFNLElBQUEsV0FBSSxFQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3hELE1BQU0sVUFBVSxHQUFHLEdBQUcsU0FBUyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRWxELE9BQU8sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEdBQUc7WUFDM0IsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU87WUFDN0IsR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLE9BQU87U0FDbEMsQ0FBQztRQUVGLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDckQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssSUFBSSxVQUFVLEVBQUUsQ0FBQyxHQUFHO2dCQUN4QyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQzthQUNwQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7S0FDSjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLGtCQUFrQixHQUFHLEtBQUssRUFDOUIsSUFBUyxFQUNULE9BQWdCLEVBQ2hCLFVBQThCLEVBQzlCLEVBQUU7SUFDRixNQUFNLE1BQU0sR0FBRztRQUNiLFVBQVU7UUFDVixRQUFRLEVBQUUsS0FBSztLQUNoQixDQUFDO0lBQ0YsTUFBTSxJQUFBLGlCQUFPLEVBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQge2dldEZpbGVOYW1lLCBnZXRZYW1sRmlsZXN9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2ZzJztcbmltcG9ydCB7Q29udGV4dH0gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGVzL21hbmlmZXN0JztcbmltcG9ydCB7bG9hZH0gZnJvbSAnLi4vLi4vY29tbW9uL2xpYi9sb2FkJztcblxuaW1wb3J0IHtleGhhdXN0fSBmcm9tICcuLi8uLi9pZi1ydW4vbGliL2V4aGF1c3QnO1xuaW1wb3J0IHtJRk1lcmdlQXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuLyoqXG4gKiBNZXJnZXMgdGhlIGdpdmVuIG1hbmlmZXN0cyBpbiB0aGUgb25lIGZpbGUuXG4gKi9cbmV4cG9ydCBjb25zdCBtZXJnZU1hbmlmZXN0cyA9IGFzeW5jIChtZXJnZUFyZ3M6IElGTWVyZ2VBcmdzKSA9PiB7XG4gIGNvbnN0IHttYW5pZmVzdHM6IGNvbW1hbmRNYW5pZmVzdHMsIG91dHB1dCwgbmFtZSwgZGVzY3JpcHRpb259ID0gbWVyZ2VBcmdzO1xuICBsZXQgbWFuaWZlc3RzID0gY29tbWFuZE1hbmlmZXN0cztcblxuICBpZiAoY29tbWFuZE1hbmlmZXN0cy5sZW5ndGggPT09IDEpIHtcbiAgICBtYW5pZmVzdHMgPSBhd2FpdCBnZXRZYW1sRmlsZXMoY29tbWFuZE1hbmlmZXN0c1swXSk7XG4gIH1cbiAgY29uc3QgY29udGV4dCA9IHtcbiAgICBuYW1lOiBuYW1lIHx8ICdpZi1tZXJnZScsXG4gICAgZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uIHx8ICdtZXJnZWQgbWFuaWZlc3QnLFxuICAgIHRhZ3M6IG51bGwsXG4gICAgaW5pdGlhbGl6ZToge3BsdWdpbnM6IHt9fSxcbiAgfTtcbiAgY29uc3QgdHJlZSA9IGF3YWl0IG1lcmdlTWFuaWZlc3RzRGF0YShtYW5pZmVzdHMsIGNvbnRleHQpO1xuXG4gIGF3YWl0IHNhdmVNZXJnZWRNYW5pZmVzdCh0cmVlLCBjb250ZXh0LCBvdXRwdXQpO1xufTtcblxuLyoqXG4gKiBNZXJnZXMgbWFuaWZlc3RzIGRhdGEuXG4gKi9cbmNvbnN0IG1lcmdlTWFuaWZlc3RzRGF0YSA9IGFzeW5jIChtYW5pZmVzdHM6IHN0cmluZ1tdLCBjb250ZXh0OiBDb250ZXh0KSA9PiB7XG4gIGNvbnN0IHRyZWU6IGFueSA9IHtjaGlsZHJlbjoge319O1xuXG4gIGZvciBhd2FpdCAoY29uc3QgbWFuaWZlc3Qgb2YgbWFuaWZlc3RzKSB7XG4gICAgY29uc3QgbWFuaWZlc3ROYW1lID0gZ2V0RmlsZU5hbWUobWFuaWZlc3QpO1xuICAgIGNvbnN0IHtyYXdNYW5pZmVzdH0gPSBhd2FpdCBsb2FkKG1hbmlmZXN0KTtcbiAgICBjb25zdCBwYXJlbnREaXIgPSBwYXRoLmJhc2VuYW1lKHBhdGguZGlybmFtZShtYW5pZmVzdCkpO1xuICAgIGNvbnN0IHVuaXF1ZU5hbWUgPSBgJHtwYXJlbnREaXJ9LSR7bWFuaWZlc3ROYW1lfWA7XG5cbiAgICBjb250ZXh0LnRhZ3MgPSBPYmplY3QuYXNzaWduKHt9LCBjb250ZXh0LnRhZ3MsIHJhd01hbmlmZXN0LnRhZ3MpO1xuICAgIGNvbnRleHQuaW5pdGlhbGl6ZS5wbHVnaW5zID0ge1xuICAgICAgLi4uY29udGV4dC5pbml0aWFsaXplLnBsdWdpbnMsXG4gICAgICAuLi5yYXdNYW5pZmVzdC5pbml0aWFsaXplLnBsdWdpbnMsXG4gICAgfTtcblxuICAgIE9iamVjdC5rZXlzKHJhd01hbmlmZXN0LnRyZWUuY2hpbGRyZW4pLmZvckVhY2goY2hpbGQgPT4ge1xuICAgICAgdHJlZS5jaGlsZHJlbltgJHtjaGlsZH0tJHt1bmlxdWVOYW1lfWBdID0ge1xuICAgICAgICAuLi5yYXdNYW5pZmVzdC50cmVlLmNoaWxkcmVuW2NoaWxkXSxcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gdHJlZTtcbn07XG5cbi8qKlxuICogU2F2ZXMgdGhlIG1lcmdlZCBtYW5pZmVzdCBpbiB0aGUgYG1lcmdlZC1tYW5pZmVzdC55YW1sYCBmaWxlLlxuICovXG5jb25zdCBzYXZlTWVyZ2VkTWFuaWZlc3QgPSBhc3luYyAoXG4gIHRyZWU6IGFueSxcbiAgY29udGV4dDogQ29udGV4dCxcbiAgb3V0cHV0UGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkXG4pID0+IHtcbiAgY29uc3Qgb3V0cHV0ID0ge1xuICAgIG91dHB1dFBhdGgsXG4gICAgbm9PdXRwdXQ6IGZhbHNlLFxuICB9O1xuICBhd2FpdCBleGhhdXN0KHRyZWUsIGNvbnRleHQsIG91dHB1dCk7XG59O1xuIl19
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TimeSync = exports.Copy = 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 = void 0;
|
|
3
|
+
exports.TimeSync = exports.TimeConverter = exports.Copy = 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 = void 0;
|
|
4
4
|
var interpolation_1 = require("./interpolation");
|
|
5
5
|
Object.defineProperty(exports, "Interpolation", { enumerable: true, get: function () { return interpolation_1.Interpolation; } });
|
|
6
6
|
var mock_observations_1 = require("./mock-observations");
|
|
@@ -29,6 +29,8 @@ var regex_1 = require("./regex");
|
|
|
29
29
|
Object.defineProperty(exports, "Regex", { enumerable: true, get: function () { return regex_1.Regex; } });
|
|
30
30
|
var copy_param_1 = require("./copy-param");
|
|
31
31
|
Object.defineProperty(exports, "Copy", { enumerable: true, get: function () { return copy_param_1.Copy; } });
|
|
32
|
+
var time_converter_1 = require("./time-converter");
|
|
33
|
+
Object.defineProperty(exports, "TimeConverter", { enumerable: true, get: function () { return time_converter_1.TimeConverter; } });
|
|
32
34
|
var time_sync_1 = require("./time-sync");
|
|
33
35
|
Object.defineProperty(exports, "TimeSync", { enumerable: true, get: function () { return time_sync_1.TimeSync; } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtcnVuL2J1aWx0aW5zL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUE4QztBQUF0Qyw4R0FBQSxhQUFhLE9BQUE7QUFDckIseURBQXFEO0FBQTdDLHFIQUFBLGdCQUFnQixPQUFBO0FBQ3hCLG1DQUFnQztBQUF4QixnR0FBQSxNQUFNLE9BQUE7QUFDZCx1Q0FBb0M7QUFBNUIsb0dBQUEsUUFBUSxPQUFBO0FBQ2hCLDZDQUEwQztBQUFsQywwR0FBQSxXQUFXLE9BQUE7QUFDbkIsdUNBQW9DO0FBQTVCLG9HQUFBLFFBQVEsT0FBQTtBQUNoQiw2QkFBMEI7QUFBbEIsMEZBQUEsR0FBRyxPQUFBO0FBQ1gsK0NBQTJDO0FBQW5DLDJHQUFBLFdBQVcsT0FBQTtBQUNuQiw2QkFBMEI7QUFBbEIsMEZBQUEsR0FBRyxPQUFBO0FBQ1gsdUNBQW9DO0FBQTVCLG9HQUFBLFFBQVEsT0FBQTtBQUNoQiwyQ0FBdUM7QUFBL0IsdUdBQUEsU0FBUyxPQUFBO0FBQ2pCLGlDQUE4QjtBQUF0Qiw4RkFBQSxLQUFLLE9BQUE7QUFDYixpQ0FBOEI7QUFBdEIsOEZBQUEsS0FBSyxPQUFBO0FBQ2IsMkNBQWtDO0FBQTFCLGtHQUFBLElBQUksT0FBQTtBQUNaLG1EQUErQztBQUF2QywrR0FBQSxhQUFhLE9BQUE7QUFDckIseUNBQXFDO0FBQTdCLHFHQUFBLFFBQVEsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7SW50ZXJwb2xhdGlvbn0gZnJvbSAnLi9pbnRlcnBvbGF0aW9uJztcbmV4cG9ydCB7TW9ja09ic2VydmF0aW9uc30gZnJvbSAnLi9tb2NrLW9ic2VydmF0aW9ucyc7XG5leHBvcnQge0RpdmlkZX0gZnJvbSAnLi9kaXZpZGUnO1xuZXhwb3J0IHtTdWJ0cmFjdH0gZnJvbSAnLi9zdWJ0cmFjdCc7XG5leHBvcnQge0NvZWZmaWNpZW50fSBmcm9tICcuL2NvZWZmaWNpZW50JztcbmV4cG9ydCB7TXVsdGlwbHl9IGZyb20gJy4vbXVsdGlwbHknO1xuZXhwb3J0IHtTdW19IGZyb20gJy4vc3VtJztcbmV4cG9ydCB7U2NpRW1ib2RpZWR9IGZyb20gJy4vc2NpLWVtYm9kaWVkJztcbmV4cG9ydCB7U2NpfSBmcm9tICcuL3NjaSc7XG5leHBvcnQge0V4cG9uZW50fSBmcm9tICcuL2V4cG9uZW50JztcbmV4cG9ydCB7Q1NWTG9va3VwfSBmcm9tICcuL2Nzdi1sb29rdXAnO1xuZXhwb3J0IHtTaGVsbH0gZnJvbSAnLi9zaGVsbCc7XG5leHBvcnQge1JlZ2V4fSBmcm9tICcuL3JlZ2V4JztcbmV4cG9ydCB7Q29weX0gZnJvbSAnLi9jb3B5LXBhcmFtJztcbmV4cG9ydCB7VGltZUNvbnZlcnRlcn0gZnJvbSAnLi90aW1lLWNvbnZlcnRlcic7XG5leHBvcnQge1RpbWVTeW5jfSBmcm9tICcuL3RpbWUtc3luYyc7XG4iXX0=
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TIME_UNITS_IN_SECONDS = void 0;
|
|
4
|
+
exports.TIME_UNITS_IN_SECONDS = {
|
|
5
|
+
s: 1,
|
|
6
|
+
second: 1,
|
|
7
|
+
sec: 1,
|
|
8
|
+
secs: 1,
|
|
9
|
+
seconds: 1,
|
|
10
|
+
min: 60,
|
|
11
|
+
mins: 60,
|
|
12
|
+
minute: 60,
|
|
13
|
+
minutes: 60,
|
|
14
|
+
h: 3600,
|
|
15
|
+
hs: 3600,
|
|
16
|
+
hr: 3600,
|
|
17
|
+
hrs: 3600,
|
|
18
|
+
hour: 3600,
|
|
19
|
+
hours: 3600,
|
|
20
|
+
d: 86400,
|
|
21
|
+
ds: 86400,
|
|
22
|
+
day: 86400,
|
|
23
|
+
days: 86400,
|
|
24
|
+
w: 604800,
|
|
25
|
+
ws: 604800,
|
|
26
|
+
wk: 604800,
|
|
27
|
+
wks: 604800,
|
|
28
|
+
week: 604800,
|
|
29
|
+
weeks: 604800,
|
|
30
|
+
m: 2628336,
|
|
31
|
+
mnth: 2628336,
|
|
32
|
+
mth: 2628336,
|
|
33
|
+
mnths: 2628336,
|
|
34
|
+
mths: 2628336,
|
|
35
|
+
month: 2628336,
|
|
36
|
+
months: 2628336,
|
|
37
|
+
y: 31556952,
|
|
38
|
+
ys: 31556952,
|
|
39
|
+
yr: 31556952,
|
|
40
|
+
yrs: 31556952,
|
|
41
|
+
year: 31556952,
|
|
42
|
+
years: 31556952,
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2lmLXJ1bi9idWlsdGlucy90aW1lLWNvbnZlcnRlci9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxxQkFBcUIsR0FBMkI7SUFDM0QsQ0FBQyxFQUFFLENBQUM7SUFDSixNQUFNLEVBQUUsQ0FBQztJQUNULEdBQUcsRUFBRSxDQUFDO0lBQ04sSUFBSSxFQUFFLENBQUM7SUFDUCxPQUFPLEVBQUUsQ0FBQztJQUNWLEdBQUcsRUFBRSxFQUFFO0lBQ1AsSUFBSSxFQUFFLEVBQUU7SUFDUixNQUFNLEVBQUUsRUFBRTtJQUNWLE9BQU8sRUFBRSxFQUFFO0lBQ1gsQ0FBQyxFQUFFLElBQUk7SUFDUCxFQUFFLEVBQUUsSUFBSTtJQUNSLEVBQUUsRUFBRSxJQUFJO0lBQ1IsR0FBRyxFQUFFLElBQUk7SUFDVCxJQUFJLEVBQUUsSUFBSTtJQUNWLEtBQUssRUFBRSxJQUFJO0lBQ1gsQ0FBQyxFQUFFLEtBQUs7SUFDUixFQUFFLEVBQUUsS0FBSztJQUNULEdBQUcsRUFBRSxLQUFLO0lBQ1YsSUFBSSxFQUFFLEtBQUs7SUFDWCxDQUFDLEVBQUUsTUFBTTtJQUNULEVBQUUsRUFBRSxNQUFNO0lBQ1YsRUFBRSxFQUFFLE1BQU07SUFDVixHQUFHLEVBQUUsTUFBTTtJQUNYLElBQUksRUFBRSxNQUFNO0lBQ1osS0FBSyxFQUFFLE1BQU07SUFDYixDQUFDLEVBQUUsT0FBTztJQUNWLElBQUksRUFBRSxPQUFPO0lBQ2IsR0FBRyxFQUFFLE9BQU87SUFDWixLQUFLLEVBQUUsT0FBTztJQUNkLElBQUksRUFBRSxPQUFPO0lBQ2IsS0FBSyxFQUFFLE9BQU87SUFDZCxNQUFNLEVBQUUsT0FBTztJQUNmLENBQUMsRUFBRSxRQUFRO0lBQ1gsRUFBRSxFQUFFLFFBQVE7SUFDWixFQUFFLEVBQUUsUUFBUTtJQUNaLEdBQUcsRUFBRSxRQUFRO0lBQ2IsSUFBSSxFQUFFLFFBQVE7SUFDZCxLQUFLLEVBQUUsUUFBUTtDQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRJTUVfVU5JVFNfSU5fU0VDT05EUzogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHtcbiAgczogMSxcbiAgc2Vjb25kOiAxLFxuICBzZWM6IDEsXG4gIHNlY3M6IDEsXG4gIHNlY29uZHM6IDEsXG4gIG1pbjogNjAsXG4gIG1pbnM6IDYwLFxuICBtaW51dGU6IDYwLFxuICBtaW51dGVzOiA2MCxcbiAgaDogMzYwMCxcbiAgaHM6IDM2MDAsXG4gIGhyOiAzNjAwLFxuICBocnM6IDM2MDAsXG4gIGhvdXI6IDM2MDAsXG4gIGhvdXJzOiAzNjAwLFxuICBkOiA4NjQwMCxcbiAgZHM6IDg2NDAwLFxuICBkYXk6IDg2NDAwLFxuICBkYXlzOiA4NjQwMCxcbiAgdzogNjA0ODAwLFxuICB3czogNjA0ODAwLFxuICB3azogNjA0ODAwLFxuICB3a3M6IDYwNDgwMCxcbiAgd2VlazogNjA0ODAwLFxuICB3ZWVrczogNjA0ODAwLFxuICBtOiAyNjI4MzM2LFxuICBtbnRoOiAyNjI4MzM2LFxuICBtdGg6IDI2MjgzMzYsXG4gIG1udGhzOiAyNjI4MzM2LFxuICBtdGhzOiAyNjI4MzM2LFxuICBtb250aDogMjYyODMzNixcbiAgbW9udGhzOiAyNjI4MzM2LFxuICB5OiAzMTU1Njk1MixcbiAgeXM6IDMxNTU2OTUyLFxuICB5cjogMzE1NTY5NTIsXG4gIHlyczogMzE1NTY5NTIsXG4gIHllYXI6IDMxNTU2OTUyLFxuICB5ZWFyczogMzE1NTY5NTIsXG59O1xuIl19
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TimeConverter = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
const utils_1 = require("@grnsft/if-core/utils");
|
|
6
|
+
const validations_1 = require("../../../common/util/validations");
|
|
7
|
+
const config_1 = require("../../config");
|
|
8
|
+
const config_2 = require("./config");
|
|
9
|
+
const { GlobalConfigError } = utils_1.ERRORS;
|
|
10
|
+
const { MISSING_GLOBAL_CONFIG } = config_1.STRINGS;
|
|
11
|
+
const TimeConverter = (globalConfig, parametersMetadata) => {
|
|
12
|
+
const metadata = {
|
|
13
|
+
kind: 'execute',
|
|
14
|
+
inputs: parametersMetadata?.inputs,
|
|
15
|
+
outputs: parametersMetadata?.outputs,
|
|
16
|
+
};
|
|
17
|
+
const execute = (inputs) => {
|
|
18
|
+
const safeGlobalConfig = validateGlobalConfig();
|
|
19
|
+
const inputParameter = safeGlobalConfig['input-parameter'];
|
|
20
|
+
const outputParameter = safeGlobalConfig['output-parameter'];
|
|
21
|
+
return inputs.map(input => {
|
|
22
|
+
validateInput(input, inputParameter);
|
|
23
|
+
return {
|
|
24
|
+
...input,
|
|
25
|
+
[outputParameter]: calculateEnergy(input),
|
|
26
|
+
};
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Calculates the energy for given period.
|
|
31
|
+
*/
|
|
32
|
+
const calculateEnergy = (input) => {
|
|
33
|
+
const originalTimeUnit = globalConfig['original-time-unit'];
|
|
34
|
+
const originalTimeUnitInSeoncds = config_2.TIME_UNITS_IN_SECONDS[originalTimeUnit];
|
|
35
|
+
const energyPerPeriod = input[globalConfig['input-parameter']];
|
|
36
|
+
const newTimeUnit = globalConfig['new-time-unit'] === 'duration'
|
|
37
|
+
? input.duration
|
|
38
|
+
: config_2.TIME_UNITS_IN_SECONDS[globalConfig['new-time-unit']];
|
|
39
|
+
const result = (energyPerPeriod / originalTimeUnitInSeoncds) * newTimeUnit;
|
|
40
|
+
return Number(result.toFixed(6));
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Checks for required fields in input.
|
|
44
|
+
*/
|
|
45
|
+
const validateInput = (input, inputParameter) => {
|
|
46
|
+
const schema = zod_1.z.object({
|
|
47
|
+
duration: zod_1.z.number().gte(1),
|
|
48
|
+
[inputParameter]: zod_1.z.number(),
|
|
49
|
+
});
|
|
50
|
+
return (0, validations_1.validate)(schema, input);
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Checks global config value are valid.
|
|
54
|
+
*/
|
|
55
|
+
const validateGlobalConfig = () => {
|
|
56
|
+
if (!globalConfig) {
|
|
57
|
+
throw new GlobalConfigError(MISSING_GLOBAL_CONFIG);
|
|
58
|
+
}
|
|
59
|
+
const timeUnitsValues = Object.keys(config_2.TIME_UNITS_IN_SECONDS);
|
|
60
|
+
const originalTimeUnitValuesWithDuration = [
|
|
61
|
+
'duration',
|
|
62
|
+
...timeUnitsValues,
|
|
63
|
+
];
|
|
64
|
+
const originalTimeUnitValues = timeUnitsValues;
|
|
65
|
+
const globalConfigSchema = zod_1.z.object({
|
|
66
|
+
'input-parameter': zod_1.z.string(),
|
|
67
|
+
'original-time-unit': zod_1.z.enum(originalTimeUnitValues),
|
|
68
|
+
'new-time-unit': zod_1.z.enum(originalTimeUnitValuesWithDuration),
|
|
69
|
+
'output-parameter': zod_1.z.string().min(1),
|
|
70
|
+
});
|
|
71
|
+
return (0, validations_1.validate)(globalConfigSchema, globalConfig);
|
|
72
|
+
};
|
|
73
|
+
return {
|
|
74
|
+
metadata,
|
|
75
|
+
execute,
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
exports.TimeConverter = TimeConverter;
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaWYtcnVuL2J1aWx0aW5zL3RpbWUtY29udmVydGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUFzQjtBQUN0QixpREFBNkM7QUFRN0Msa0VBQTBEO0FBRTFELHlDQUFxQztBQUVyQyxxQ0FBK0M7QUFFL0MsTUFBTSxFQUFDLGlCQUFpQixFQUFDLEdBQUcsY0FBTSxDQUFDO0FBQ25DLE1BQU0sRUFBQyxxQkFBcUIsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFakMsTUFBTSxhQUFhLEdBQUcsQ0FDM0IsWUFBMEIsRUFDMUIsa0JBQTRDLEVBQzdCLEVBQUU7SUFDakIsTUFBTSxRQUFRLEdBQUc7UUFDZixJQUFJLEVBQUUsU0FBUztRQUNmLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxNQUFNO1FBQ2xDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxPQUFPO0tBQ3JDLENBQUM7SUFFRixNQUFNLE9BQU8sR0FBRyxDQUFDLE1BQXNCLEVBQUUsRUFBRTtRQUN6QyxNQUFNLGdCQUFnQixHQUFHLG9CQUFvQixFQUFFLENBQUM7UUFDaEQsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMzRCxNQUFNLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRTdELE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN4QixhQUFhLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBRXJDLE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLENBQUMsZUFBZSxDQUFDLEVBQUUsZUFBZSxDQUFDLEtBQUssQ0FBQzthQUMxQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRjs7T0FFRztJQUNILE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBbUIsRUFBRSxFQUFFO1FBQzlDLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDNUQsTUFBTSx5QkFBeUIsR0FBRyw4QkFBcUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzFFLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sV0FBVyxHQUNmLFlBQVksQ0FBQyxlQUFlLENBQUMsS0FBSyxVQUFVO1lBQzFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUTtZQUNoQixDQUFDLENBQUMsOEJBQXFCLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDM0QsTUFBTSxNQUFNLEdBQUcsQ0FBQyxlQUFlLEdBQUcseUJBQXlCLENBQUMsR0FBRyxXQUFXLENBQUM7UUFFM0UsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25DLENBQUMsQ0FBQztJQUVGOztPQUVHO0lBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FBQyxLQUFtQixFQUFFLGNBQXNCLEVBQUUsRUFBRTtRQUNwRSxNQUFNLE1BQU0sR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO1lBQ3RCLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMzQixDQUFDLGNBQWMsQ0FBQyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7U0FDN0IsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFBLHNCQUFRLEVBQXlCLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6RCxDQUFDLENBQUM7SUFFRjs7T0FFRztJQUNILE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxFQUFFO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDakIsTUFBTSxJQUFJLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLENBQUM7U0FDcEQ7UUFFRCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLDhCQUFxQixDQUFDLENBQUM7UUFDM0QsTUFBTSxrQ0FBa0MsR0FBRztZQUN6QyxVQUFVO1lBQ1YsR0FBRyxlQUFlO1NBQ1YsQ0FBQztRQUNYLE1BQU0sc0JBQXNCLEdBQUcsZUFBd0MsQ0FBQztRQUV4RSxNQUFNLGtCQUFrQixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7WUFDbEMsaUJBQWlCLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtZQUM3QixvQkFBb0IsRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDO1lBQ3BELGVBQWUsRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxDQUFDO1lBQzNELGtCQUFrQixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3RDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBQSxzQkFBUSxFQUNiLGtCQUFrQixFQUNsQixZQUFZLENBQ2IsQ0FBQztJQUNKLENBQUMsQ0FBQztJQUNGLE9BQU87UUFDTCxRQUFRO1FBQ1IsT0FBTztLQUNSLENBQUM7QUFDSixDQUFDLENBQUM7QUFwRlcsUUFBQSxhQUFhLGlCQW9GeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3p9IGZyb20gJ3pvZCc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcbmltcG9ydCB7XG4gIEV4ZWN1dGVQbHVnaW4sXG4gIFBsdWdpblBhcmFtcyxcbiAgUGx1Z2luUGFyYW1ldGVyc01ldGFkYXRhLFxuICBDb25maWdQYXJhbXMsXG59IGZyb20gJ0Bncm5zZnQvaWYtY29yZS90eXBlcyc7XG5cbmltcG9ydCB7dmFsaWRhdGV9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi91dGlsL3ZhbGlkYXRpb25zJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi8uLi9jb25maWcnO1xuXG5pbXBvcnQge1RJTUVfVU5JVFNfSU5fU0VDT05EU30gZnJvbSAnLi9jb25maWcnO1xuXG5jb25zdCB7R2xvYmFsQ29uZmlnRXJyb3J9ID0gRVJST1JTO1xuY29uc3Qge01JU1NJTkdfR0xPQkFMX0NPTkZJR30gPSBTVFJJTkdTO1xuXG5leHBvcnQgY29uc3QgVGltZUNvbnZlcnRlciA9IChcbiAgZ2xvYmFsQ29uZmlnOiBDb25maWdQYXJhbXMsXG4gIHBhcmFtZXRlcnNNZXRhZGF0YTogUGx1Z2luUGFyYW1ldGVyc01ldGFkYXRhXG4pOiBFeGVjdXRlUGx1Z2luID0+IHtcbiAgY29uc3QgbWV0YWRhdGEgPSB7XG4gICAga2luZDogJ2V4ZWN1dGUnLFxuICAgIGlucHV0czogcGFyYW1ldGVyc01ldGFkYXRhPy5pbnB1dHMsXG4gICAgb3V0cHV0czogcGFyYW1ldGVyc01ldGFkYXRhPy5vdXRwdXRzLFxuICB9O1xuXG4gIGNvbnN0IGV4ZWN1dGUgPSAoaW5wdXRzOiBQbHVnaW5QYXJhbXNbXSkgPT4ge1xuICAgIGNvbnN0IHNhZmVHbG9iYWxDb25maWcgPSB2YWxpZGF0ZUdsb2JhbENvbmZpZygpO1xuICAgIGNvbnN0IGlucHV0UGFyYW1ldGVyID0gc2FmZUdsb2JhbENvbmZpZ1snaW5wdXQtcGFyYW1ldGVyJ107XG4gICAgY29uc3Qgb3V0cHV0UGFyYW1ldGVyID0gc2FmZUdsb2JhbENvbmZpZ1snb3V0cHV0LXBhcmFtZXRlciddO1xuXG4gICAgcmV0dXJuIGlucHV0cy5tYXAoaW5wdXQgPT4ge1xuICAgICAgdmFsaWRhdGVJbnB1dChpbnB1dCwgaW5wdXRQYXJhbWV0ZXIpO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5pbnB1dCxcbiAgICAgICAgW291dHB1dFBhcmFtZXRlcl06IGNhbGN1bGF0ZUVuZXJneShpbnB1dCksXG4gICAgICB9O1xuICAgIH0pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIHRoZSBlbmVyZ3kgZm9yIGdpdmVuIHBlcmlvZC5cbiAgICovXG4gIGNvbnN0IGNhbGN1bGF0ZUVuZXJneSA9IChpbnB1dDogUGx1Z2luUGFyYW1zKSA9PiB7XG4gICAgY29uc3Qgb3JpZ2luYWxUaW1lVW5pdCA9IGdsb2JhbENvbmZpZ1snb3JpZ2luYWwtdGltZS11bml0J107XG4gICAgY29uc3Qgb3JpZ2luYWxUaW1lVW5pdEluU2VvbmNkcyA9IFRJTUVfVU5JVFNfSU5fU0VDT05EU1tvcmlnaW5hbFRpbWVVbml0XTtcbiAgICBjb25zdCBlbmVyZ3lQZXJQZXJpb2QgPSBpbnB1dFtnbG9iYWxDb25maWdbJ2lucHV0LXBhcmFtZXRlciddXTtcbiAgICBjb25zdCBuZXdUaW1lVW5pdCA9XG4gICAgICBnbG9iYWxDb25maWdbJ25ldy10aW1lLXVuaXQnXSA9PT0gJ2R1cmF0aW9uJ1xuICAgICAgICA/IGlucHV0LmR1cmF0aW9uXG4gICAgICAgIDogVElNRV9VTklUU19JTl9TRUNPTkRTW2dsb2JhbENvbmZpZ1snbmV3LXRpbWUtdW5pdCddXTtcbiAgICBjb25zdCByZXN1bHQgPSAoZW5lcmd5UGVyUGVyaW9kIC8gb3JpZ2luYWxUaW1lVW5pdEluU2VvbmNkcykgKiBuZXdUaW1lVW5pdDtcblxuICAgIHJldHVybiBOdW1iZXIocmVzdWx0LnRvRml4ZWQoNikpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBDaGVja3MgZm9yIHJlcXVpcmVkIGZpZWxkcyBpbiBpbnB1dC5cbiAgICovXG4gIGNvbnN0IHZhbGlkYXRlSW5wdXQgPSAoaW5wdXQ6IFBsdWdpblBhcmFtcywgaW5wdXRQYXJhbWV0ZXI6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IHNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICAgIGR1cmF0aW9uOiB6Lm51bWJlcigpLmd0ZSgxKSxcbiAgICAgIFtpbnB1dFBhcmFtZXRlcl06IHoubnVtYmVyKCksXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdmFsaWRhdGU8ei5pbmZlcjx0eXBlb2Ygc2NoZW1hPj4oc2NoZW1hLCBpbnB1dCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIENoZWNrcyBnbG9iYWwgY29uZmlnIHZhbHVlIGFyZSB2YWxpZC5cbiAgICovXG4gIGNvbnN0IHZhbGlkYXRlR2xvYmFsQ29uZmlnID0gKCkgPT4ge1xuICAgIGlmICghZ2xvYmFsQ29uZmlnKSB7XG4gICAgICB0aHJvdyBuZXcgR2xvYmFsQ29uZmlnRXJyb3IoTUlTU0lOR19HTE9CQUxfQ09ORklHKTtcbiAgICB9XG5cbiAgICBjb25zdCB0aW1lVW5pdHNWYWx1ZXMgPSBPYmplY3Qua2V5cyhUSU1FX1VOSVRTX0lOX1NFQ09ORFMpO1xuICAgIGNvbnN0IG9yaWdpbmFsVGltZVVuaXRWYWx1ZXNXaXRoRHVyYXRpb24gPSBbXG4gICAgICAnZHVyYXRpb24nLFxuICAgICAgLi4udGltZVVuaXRzVmFsdWVzLFxuICAgIF0gYXMgY29uc3Q7XG4gICAgY29uc3Qgb3JpZ2luYWxUaW1lVW5pdFZhbHVlcyA9IHRpbWVVbml0c1ZhbHVlcyBhcyBbc3RyaW5nLCAuLi5zdHJpbmdbXV07XG5cbiAgICBjb25zdCBnbG9iYWxDb25maWdTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgICAnaW5wdXQtcGFyYW1ldGVyJzogei5zdHJpbmcoKSxcbiAgICAgICdvcmlnaW5hbC10aW1lLXVuaXQnOiB6LmVudW0ob3JpZ2luYWxUaW1lVW5pdFZhbHVlcyksXG4gICAgICAnbmV3LXRpbWUtdW5pdCc6IHouZW51bShvcmlnaW5hbFRpbWVVbml0VmFsdWVzV2l0aER1cmF0aW9uKSxcbiAgICAgICdvdXRwdXQtcGFyYW1ldGVyJzogei5zdHJpbmcoKS5taW4oMSksXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdmFsaWRhdGU8ei5pbmZlcjx0eXBlb2YgZ2xvYmFsQ29uZmlnU2NoZW1hPj4oXG4gICAgICBnbG9iYWxDb25maWdTY2hlbWEsXG4gICAgICBnbG9iYWxDb25maWdcbiAgICApO1xuICB9O1xuICByZXR1cm4ge1xuICAgIG1ldGFkYXRhLFxuICAgIGV4ZWN1dGUsXG4gIH07XG59O1xuIl19
|
|
@@ -87,7 +87,6 @@ const computeNode = async (node, params) => {
|
|
|
87
87
|
pluginData: params.context.initialize.plugins[pluginName],
|
|
88
88
|
});
|
|
89
89
|
}
|
|
90
|
-
node.outputs = inputStorage;
|
|
91
90
|
}
|
|
92
91
|
}
|
|
93
92
|
}
|
|
@@ -119,6 +118,13 @@ const computeNode = async (node, params) => {
|
|
|
119
118
|
if ((0, interface_1.isExecute)(plugin)) {
|
|
120
119
|
inputStorage = await plugin.execute(inputStorage, nodeConfig);
|
|
121
120
|
node.outputs = inputStorage;
|
|
121
|
+
if (params.context.explainer) {
|
|
122
|
+
(0, explain_1.addExplainData)({
|
|
123
|
+
pluginName,
|
|
124
|
+
metadata: plugin.metadata,
|
|
125
|
+
pluginData: params.context.initialize.plugins[pluginName],
|
|
126
|
+
});
|
|
127
|
+
}
|
|
122
128
|
debug_logger_1.debugLogger.setExecutingPluginName();
|
|
123
129
|
}
|
|
124
130
|
}
|
|
@@ -133,4 +139,4 @@ const compute = async (tree, params) => {
|
|
|
133
139
|
return copyOfTree;
|
|
134
140
|
};
|
|
135
141
|
exports.compute = compute;
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL2NvbXB1dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsdUNBQWtDO0FBQ2xDLHVDQUF5QztBQUV6Qyw2Q0FBNkM7QUFDN0MsaUVBQTJEO0FBQzNELHFEQUFnRDtBQUVoRCwrQ0FBMEM7QUFHMUMsa0RBQTZDO0FBRTdDLE1BQU0sRUFBQyxnQ0FBZ0MsRUFBRSxjQUFjLEVBQUMsR0FBRyxpQkFBTyxDQUFDO0FBRW5FOztHQUVHO0FBQ0gsTUFBTSxRQUFRLEdBQUcsS0FBSyxFQUFFLFFBQWEsRUFBRSxNQUFxQixFQUFFLEVBQUU7SUFDOUQsS0FBSyxNQUFNLEtBQUssSUFBSSxRQUFRLEVBQUU7UUFDNUIsTUFBTSxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQzVDO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLGFBQWEsR0FBRyxDQUNwQixNQUFzQixFQUN0QixRQUFrQyxFQUNsQyxFQUFFO0lBQ0YsSUFBSSxNQUFNLEVBQUU7UUFDVixNQUFNLFFBQVEsR0FBRyxRQUFRO1lBQ3ZCLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBQSxzQkFBWSxFQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwRCxDQUFDLENBQUMsTUFBTSxDQUFDO1FBRVgsT0FBTyxRQUFRLENBQUM7S0FDakI7SUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFFaEQsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNwQyxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQUUsSUFBVSxFQUFFLE1BQXFCLEVBQWdCLEVBQUU7SUFDNUUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSyxNQUFNLENBQUMsUUFBMkIsQ0FBQztJQUN0RSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDNUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2xELE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO0lBRXRFLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNqQixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzdCLEdBQUcsTUFBTTtZQUNULFFBQVE7WUFDUixRQUFRO1lBQ1IsTUFBTTtTQUNQLENBQUMsQ0FBQztLQUNKO0lBRUQsSUFBSSxZQUFZLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQW1CLENBQUM7SUFDbEUsWUFBWSxHQUFHLGFBQWEsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckQsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUVyRCwwREFBMEQ7SUFDMUQsSUFDRSxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUMzQixDQUFDLE9BQU8sWUFBWSxLQUFLLFFBQVE7WUFDL0IsWUFBWSxLQUFLLElBQUk7WUFDckIsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLEVBQ3pDO1FBQ0EsZUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUM3QjtJQUVEOztPQUVHO0lBQ0gsSUFBSSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRTtRQUN2RCxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN4QyxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBWSxDQUFDO1lBQzFELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFaEQsSUFBSSxJQUFBLHFCQUFTLEVBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3JCLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUM5RCxJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQztnQkFFM0IsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtvQkFDNUIsSUFBQSx3QkFBYyxFQUFDO3dCQUNiLFVBQVU7d0JBQ1YsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO3dCQUN6QixVQUFVLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztxQkFDM0QsQ0FBQyxDQUFDO2lCQUNKO2dCQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDO2FBQzdCO1NBQ0Y7S0FDRjtJQUVEOztPQUVHO0lBQ0gsSUFBSSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRTtRQUN2RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUEsaUJBQU8sRUFBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFcEIsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM3QixHQUFHLE1BQU07WUFDVCxRQUFRLEVBQUU7Z0JBQ1IsR0FBRyxZQUFZO2dCQUNmLE9BQU8sRUFBRSxTQUFTO2FBQ25CO1lBQ0QsUUFBUTtZQUNSLE1BQU07U0FDUCxDQUFDLENBQUM7S0FDSjtJQUVEOztPQUVHO0lBQ0gsSUFBSSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRTtRQUN2RCxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN4QyxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBWSxDQUFDO1lBQzFELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFaEQsSUFBSSxJQUFBLHFCQUFTLEVBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3JCLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUM5RCxJQUFJLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQztnQkFDNUIsMEJBQVcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2FBQ3RDO1NBQ0Y7S0FDRjtBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0ksTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLElBQVMsRUFBRSxNQUFxQixFQUFFLEVBQUU7SUFDaEUsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXpDLE1BQU0sV0FBVyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUV0QyxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFOVyxRQUFBLE9BQU8sV0FNbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BsdWdpblBhcmFtc30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3R5cGVzJztcblxuaW1wb3J0IHtSZWdyb3VwfSBmcm9tICcuL3JlZ3JvdXAnO1xuaW1wb3J0IHthZGRFeHBsYWluRGF0YX0gZnJvbSAnLi9leHBsYWluJztcblxuaW1wb3J0IHttZXJnZU9iamVjdHN9IGZyb20gJy4uL3V0aWwvaGVscGVycyc7XG5pbXBvcnQge2RlYnVnTG9nZ2VyfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9kZWJ1Zy1sb2dnZXInO1xuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2xvZ2dlcic7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vY29uZmlnL3N0cmluZ3MnO1xuXG5pbXBvcnQge0NvbXB1dGVQYXJhbXMsIE5vZGUsIFBoYXNlZFBpcGVsaW5lfSBmcm9tICcuLi90eXBlcy9jb21wdXRlJztcbmltcG9ydCB7aXNFeGVjdXRlfSBmcm9tICcuLi90eXBlcy9pbnRlcmZhY2UnO1xuXG5jb25zdCB7TUVSR0lOR19ERUZBVUxUU19XSVRIX0lOUFVUX0RBVEEsIEVNUFRZX1BJUEVMSU5FfSA9IFNUUklOR1M7XG5cbi8qKlxuICogVHJhdmVyc2VzIGFsbCBjaGlsZCBub2RlcyBiYXNlZCBvbiBjaGlsZHJlbiBncm91cGluZy5cbiAqL1xuY29uc3QgdHJhdmVyc2UgPSBhc3luYyAoY2hpbGRyZW46IGFueSwgcGFyYW1zOiBDb21wdXRlUGFyYW1zKSA9PiB7XG4gIGZvciAoY29uc3QgY2hpbGQgaW4gY2hpbGRyZW4pIHtcbiAgICBhd2FpdCBjb21wdXRlTm9kZShjaGlsZHJlbltjaGlsZF0sIHBhcmFtcyk7XG4gIH1cbn07XG5cbi8qKlxuICogQXBwZW5kcyBgZGVmYXVsdGAgdmFsdWVzIHRvIGBpbnB1dHNgLlxuICovXG5jb25zdCBtZXJnZURlZmF1bHRzID0gKFxuICBpbnB1dHM6IFBsdWdpblBhcmFtc1tdLFxuICBkZWZhdWx0czogUGx1Z2luUGFyYW1zIHwgdW5kZWZpbmVkXG4pID0+IHtcbiAgaWYgKGlucHV0cykge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gZGVmYXVsdHNcbiAgICAgID8gaW5wdXRzLm1hcChpbnB1dCA9PiBtZXJnZU9iamVjdHMoZGVmYXVsdHMsIGlucHV0KSlcbiAgICAgIDogaW5wdXRzO1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xuICB9XG5cbiAgY29uc29sZS5kZWJ1ZyhNRVJHSU5HX0RFRkFVTFRTX1dJVEhfSU5QVVRfREFUQSk7XG5cbiAgcmV0dXJuIGRlZmF1bHRzID8gW2RlZmF1bHRzXSA6IFtdO1xufTtcblxuLyoqXG4gKiAxLiBJZiB0aGUgbm9kZSBoYXMgaXQncyBvd24gcGlwZWxpbmUsIGRlZmF1bHRzIG9yIGNvbmZpZyB0aGVuIHVzZSB0aGF0LFxuICogICAgb3RoZXJ3aXNlIHVzZSB3aGF0ZXZlciBoYXMgYmVlbiBwYXNzZWQgZG93biBmcm9tIGZ1cnRoZXIgdXAgdGhlIHRyZWUuXG4gKiAyLiBJZiBpdCdzIGEgZ3JvdXBpbmcgbm9kZSwgdGhlbiBmaXJzdCBvZiBhbGwgY29tcHV0ZXMgYWxsIGl0J3MgY2hpbGRyZW4uXG4gKiAgICBUaGlzIGlzIGRvaW5nIGEgZGVwdGggZmlyc3QgdHJhdmVyc2FsLlxuICogMy4gT3RoZXJ3aXNlIG1lcmdlcyB0aGUgZGVmYXVsdHMgaW50byB0aGUgaW5wdXRzLlxuICogNC4gSXRlcmF0ZXMgb3ZlciBwaXBlbGluZSBwaGFzZXMgKG9ic2VydmUsIHJlZ3JvdXAsIGNvbXB1dGUpLlxuICogNS4gT2JzZXJ2ZSBwbHVnaW5zIGFyZSB1c2VkIHRvIGluc2VydCBpbnB1dCB2YWx1ZXNcbiAqICAgIChpc29sYXRlZCBleGVjdXRpb24gY2FuIGJlIGFjaGl2ZWQgYnkgcGFzc2luZyBgLS1vYnNlcnZlYCBmbGFnIHRvIENMSSBjb21tYW5kKS5cbiAqIDYuIFJlZ3JvdXAgcGx1Z2luIGlzIHVzZWQgdG8gZ3JvdXAgZXhpc3RpbmcgaW5wdXRzIGJ5IGNyaXRlcmlhXG4gKiAgICAoaXNvbGF0ZWQgZXhlY3V0aW9uIGNhbiBiZSBhY2hpdmVkIGJ5IHBhc3NpbmcgYC0tcmVncm91cGAgZmxhZyB0byBDTEkgY29tbWFuZCkuXG4gKiAgICBTaW5jZSBpdCBjcmVhdGVzIG5ldyBjaGlsZHJlbiBmb3Igbm9kZSwgZXhpc3RpbmcgaW5wdXRzIGFuZCBvdXRwdXRzIGFyZSBkcm9wcGVkIGFuZCByZWN1cnNpdmUgdHJhdmVyc2FsIGlzIGNhbGxlZFxuICogICAgZm9yIG5ld2JvcmQgY2hpbGQgY29tcG9uZW50LlxuICogNy4gQ29tcHV0ZSBwbHVnaW5zIGFyZSB1c2VkIHRvIGRvIGRlc2lyZWQgY29tcHV0YXRpb25zIGFuZCBhcHBlbmRpbmcgdGhlIHJlc3VsdCB0byBvdXRwdXRzXG4gKiAgICAoaXNvbGF0ZWQgZXhlY3V0aW9uIGNhbiBiZSBhY2hpdmVkIGJ5IHBhc3NpbmcgYC0tY29tcHV0ZWAgZmxhZyB0byBDTEkgY29tbWFuZCkuXG4gKi9cbmNvbnN0IGNvbXB1dGVOb2RlID0gYXN5bmMgKG5vZGU6IE5vZGUsIHBhcmFtczogQ29tcHV0ZVBhcmFtcyk6IFByb21pc2U8YW55PiA9PiB7XG4gIGNvbnN0IHBpcGVsaW5lID0gbm9kZS5waXBlbGluZSB8fCAocGFyYW1zLnBpcGVsaW5lIGFzIFBoYXNlZFBpcGVsaW5lKTtcbiAgY29uc3QgY29uZmlnID0gbm9kZS5jb25maWcgfHwgcGFyYW1zLmNvbmZpZztcbiAgY29uc3QgZGVmYXVsdHMgPSBub2RlLmRlZmF1bHRzIHx8IHBhcmFtcy5kZWZhdWx0cztcbiAgY29uc3Qgbm9GbGFncyA9ICFwYXJhbXMub2JzZXJ2ZSAmJiAhcGFyYW1zLnJlZ3JvdXAgJiYgIXBhcmFtcy5jb21wdXRlO1xuXG4gIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgcmV0dXJuIHRyYXZlcnNlKG5vZGUuY2hpbGRyZW4sIHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHBpcGVsaW5lLFxuICAgICAgZGVmYXVsdHMsXG4gICAgICBjb25maWcsXG4gICAgfSk7XG4gIH1cblxuICBsZXQgaW5wdXRTdG9yYWdlID0gc3RydWN0dXJlZENsb25lKG5vZGUuaW5wdXRzKSBhcyBQbHVnaW5QYXJhbXNbXTtcbiAgaW5wdXRTdG9yYWdlID0gbWVyZ2VEZWZhdWx0cyhpbnB1dFN0b3JhZ2UsIGRlZmF1bHRzKTtcbiAgY29uc3QgcGlwZWxpbmVDb3B5ID0gc3RydWN0dXJlZENsb25lKHBpcGVsaW5lKSB8fCB7fTtcblxuICAvKiogQ2hlY2tzIGlmIHBpcGVsaW5lIGlzIG5vdCBhbiBhcnJheSBvciBlbXB0eSBvYmplY3QuICovXG4gIGlmIChcbiAgICBBcnJheS5pc0FycmF5KHBpcGVsaW5lQ29weSkgfHxcbiAgICAodHlwZW9mIHBpcGVsaW5lQ29weSA9PT0gJ29iamVjdCcgJiZcbiAgICAgIHBpcGVsaW5lQ29weSAhPT0gbnVsbCAmJlxuICAgICAgT2JqZWN0LmtleXMocGlwZWxpbmVDb3B5KS5sZW5ndGggPT09IDApXG4gICkge1xuICAgIGxvZ2dlci53YXJuKEVNUFRZX1BJUEVMSU5FKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiBpdGVyYXRpb24gaXMgb24gb2JzZXJ2ZSBwaXBlbGluZSwgdGhlbiBleGVjdXRlcyBvYnNlcnZlIHBsdWdpbnMgYW5kIHNldHMgdGhlIGlucHV0cyB2YWx1ZS5cbiAgICovXG4gIGlmICgobm9GbGFncyB8fCBwYXJhbXMub2JzZXJ2ZSkgJiYgcGlwZWxpbmVDb3B5Lm9ic2VydmUpIHtcbiAgICB3aGlsZSAocGlwZWxpbmVDb3B5Lm9ic2VydmUubGVuZ3RoICE9PSAwKSB7XG4gICAgICBjb25zdCBwbHVnaW5OYW1lID0gcGlwZWxpbmVDb3B5Lm9ic2VydmUuc2hpZnQoKSBhcyBzdHJpbmc7XG4gICAgICBjb25zdCBwbHVnaW4gPSBwYXJhbXMucGx1Z2luU3RvcmFnZS5nZXQocGx1Z2luTmFtZSk7XG4gICAgICBjb25zdCBub2RlQ29uZmlnID0gY29uZmlnICYmIGNvbmZpZ1twbHVnaW5OYW1lXTtcblxuICAgICAgaWYgKGlzRXhlY3V0ZShwbHVnaW4pKSB7XG4gICAgICAgIGlucHV0U3RvcmFnZSA9IGF3YWl0IHBsdWdpbi5leGVjdXRlKGlucHV0U3RvcmFnZSwgbm9kZUNvbmZpZyk7XG4gICAgICAgIG5vZGUuaW5wdXRzID0gaW5wdXRTdG9yYWdlO1xuXG4gICAgICAgIGlmIChwYXJhbXMuY29udGV4dC5leHBsYWluZXIpIHtcbiAgICAgICAgICBhZGRFeHBsYWluRGF0YSh7XG4gICAgICAgICAgICBwbHVnaW5OYW1lLFxuICAgICAgICAgICAgbWV0YWRhdGE6IHBsdWdpbi5tZXRhZGF0YSxcbiAgICAgICAgICAgIHBsdWdpbkRhdGE6IHBhcmFtcy5jb250ZXh0LmluaXRpYWxpemUhLnBsdWdpbnNbcGx1Z2luTmFtZV0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBub2RlLm91dHB1dHMgPSBpbnB1dFN0b3JhZ2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIElmIHJlZ3JvdXAgaXMgcmVxdWVzdGVkLCBleGVjdXRlIHJlZ3JvdXAgc3RyYXRlZ3ksIGRlbGV0ZSBjaGlsZCdzIGlucHV0cywgb3V0cHV0cyBhbmQgZW1wdHkgcmVncm91cCBhcnJheS5cbiAgICovXG4gIGlmICgobm9GbGFncyB8fCBwYXJhbXMucmVncm91cCkgJiYgcGlwZWxpbmVDb3B5LnJlZ3JvdXApIHtcbiAgICBub2RlLmNoaWxkcmVuID0gUmVncm91cChpbnB1dFN0b3JhZ2UsIHBpcGVsaW5lQ29weS5yZWdyb3VwKTtcbiAgICBkZWxldGUgbm9kZS5pbnB1dHM7XG4gICAgZGVsZXRlIG5vZGUub3V0cHV0cztcblxuICAgIHJldHVybiB0cmF2ZXJzZShub2RlLmNoaWxkcmVuLCB7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICBwaXBlbGluZToge1xuICAgICAgICAuLi5waXBlbGluZUNvcHksXG4gICAgICAgIHJlZ3JvdXA6IHVuZGVmaW5lZCxcbiAgICAgIH0sXG4gICAgICBkZWZhdWx0cyxcbiAgICAgIGNvbmZpZyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiBpdGVyYXRpb24gaXMgb24gY29tcHV0ZSBwbHVnaW4sIHRoZW4gZXhlY3V0ZXMgY29tcHV0ZSBwbHVnaW5zIGFuZCBzZXRzIHRoZSBvdXRwdXRzIHZhbHVlLlxuICAgKi9cbiAgaWYgKChub0ZsYWdzIHx8IHBhcmFtcy5jb21wdXRlKSAmJiBwaXBlbGluZUNvcHkuY29tcHV0ZSkge1xuICAgIHdoaWxlIChwaXBlbGluZUNvcHkuY29tcHV0ZS5sZW5ndGggIT09IDApIHtcbiAgICAgIGNvbnN0IHBsdWdpbk5hbWUgPSBwaXBlbGluZUNvcHkuY29tcHV0ZS5zaGlmdCgpIGFzIHN0cmluZztcbiAgICAgIGNvbnN0IHBsdWdpbiA9IHBhcmFtcy5wbHVnaW5TdG9yYWdlLmdldChwbHVnaW5OYW1lKTtcbiAgICAgIGNvbnN0IG5vZGVDb25maWcgPSBjb25maWcgJiYgY29uZmlnW3BsdWdpbk5hbWVdO1xuXG4gICAgICBpZiAoaXNFeGVjdXRlKHBsdWdpbikpIHtcbiAgICAgICAgaW5wdXRTdG9yYWdlID0gYXdhaXQgcGx1Z2luLmV4ZWN1dGUoaW5wdXRTdG9yYWdlLCBub2RlQ29uZmlnKTtcbiAgICAgICAgbm9kZS5vdXRwdXRzID0gaW5wdXRTdG9yYWdlO1xuICAgICAgICBkZWJ1Z0xvZ2dlci5zZXRFeGVjdXRpbmdQbHVnaW5OYW1lKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgY29weSBvZiBleGlzdGluZyB0cmVlLCB0aGVuIGFwcGxpZXMgY29tcHV0aW5nIHN0cmF0ZWd5LlxuICovXG5leHBvcnQgY29uc3QgY29tcHV0ZSA9IGFzeW5jICh0cmVlOiBhbnksIHBhcmFtczogQ29tcHV0ZVBhcmFtcykgPT4ge1xuICBjb25zdCBjb3B5T2ZUcmVlID0gc3RydWN0dXJlZENsb25lKHRyZWUpO1xuXG4gIGF3YWl0IGNvbXB1dGVOb2RlKGNvcHlPZlRyZWUsIHBhcmFtcyk7XG5cbiAgcmV0dXJuIGNvcHlPZlRyZWU7XG59O1xuIl19
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL2NvbXB1dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsdUNBQWtDO0FBQ2xDLHVDQUF5QztBQUV6Qyw2Q0FBNkM7QUFDN0MsaUVBQTJEO0FBQzNELHFEQUFnRDtBQUVoRCwrQ0FBMEM7QUFHMUMsa0RBQTZDO0FBRTdDLE1BQU0sRUFBQyxnQ0FBZ0MsRUFBRSxjQUFjLEVBQUMsR0FBRyxpQkFBTyxDQUFDO0FBRW5FOztHQUVHO0FBQ0gsTUFBTSxRQUFRLEdBQUcsS0FBSyxFQUFFLFFBQWEsRUFBRSxNQUFxQixFQUFFLEVBQUU7SUFDOUQsS0FBSyxNQUFNLEtBQUssSUFBSSxRQUFRLEVBQUU7UUFDNUIsTUFBTSxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQzVDO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLGFBQWEsR0FBRyxDQUNwQixNQUFzQixFQUN0QixRQUFrQyxFQUNsQyxFQUFFO0lBQ0YsSUFBSSxNQUFNLEVBQUU7UUFDVixNQUFNLFFBQVEsR0FBRyxRQUFRO1lBQ3ZCLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBQSxzQkFBWSxFQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNwRCxDQUFDLENBQUMsTUFBTSxDQUFDO1FBRVgsT0FBTyxRQUFRLENBQUM7S0FDakI7SUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7SUFFaEQsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNwQyxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFDSCxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQUUsSUFBVSxFQUFFLE1BQXFCLEVBQWdCLEVBQUU7SUFDNUUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSyxNQUFNLENBQUMsUUFBMkIsQ0FBQztJQUN0RSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDNUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDO0lBQ2xELE1BQU0sT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO0lBRXRFLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNqQixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzdCLEdBQUcsTUFBTTtZQUNULFFBQVE7WUFDUixRQUFRO1lBQ1IsTUFBTTtTQUNQLENBQUMsQ0FBQztLQUNKO0lBRUQsSUFBSSxZQUFZLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQW1CLENBQUM7SUFDbEUsWUFBWSxHQUFHLGFBQWEsQ0FBQyxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckQsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUVyRCwwREFBMEQ7SUFDMUQsSUFDRSxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUMzQixDQUFDLE9BQU8sWUFBWSxLQUFLLFFBQVE7WUFDL0IsWUFBWSxLQUFLLElBQUk7WUFDckIsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLEVBQ3pDO1FBQ0EsZUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUM3QjtJQUVEOztPQUVHO0lBQ0gsSUFBSSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksWUFBWSxDQUFDLE9BQU8sRUFBRTtRQUN2RCxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN4QyxNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBWSxDQUFDO1lBQzFELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFaEQsSUFBSSxJQUFBLHFCQUFTLEVBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3JCLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUM5RCxJQUFJLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQztnQkFFM0IsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRTtvQkFDNUIsSUFBQSx3QkFBYyxFQUFDO3dCQUNiLFVBQVU7d0JBQ1YsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO3dCQUN6QixVQUFVLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFXLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztxQkFDM0QsQ0FBQyxDQUFDO2lCQUNKO2FBQ0Y7U0FDRjtLQUNGO0lBRUQ7O09BRUc7SUFDSCxJQUFJLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFO1FBQ3ZELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBQSxpQkFBTyxFQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUVwQixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQzdCLEdBQUcsTUFBTTtZQUNULFFBQVEsRUFBRTtnQkFDUixHQUFHLFlBQVk7Z0JBQ2YsT0FBTyxFQUFFLFNBQVM7YUFDbkI7WUFDRCxRQUFRO1lBQ1IsTUFBTTtTQUNQLENBQUMsQ0FBQztLQUNKO0lBRUQ7O09BRUc7SUFDSCxJQUFJLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFO1FBQ3ZELE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3hDLE1BQU0sVUFBVSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFZLENBQUM7WUFDMUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDcEQsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUVoRCxJQUFJLElBQUEscUJBQVMsRUFBQyxNQUFNLENBQUMsRUFBRTtnQkFDckIsWUFBWSxHQUFHLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7Z0JBQzlELElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDO2dCQUU1QixJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO29CQUM1QixJQUFBLHdCQUFjLEVBQUM7d0JBQ2IsVUFBVTt3QkFDVixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7d0JBQ3pCLFVBQVUsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO3FCQUMzRCxDQUFDLENBQUM7aUJBQ0o7Z0JBQ0QsMEJBQVcsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO2FBQ3RDO1NBQ0Y7S0FDRjtBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0ksTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLElBQVMsRUFBRSxNQUFxQixFQUFFLEVBQUU7SUFDaEUsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXpDLE1BQU0sV0FBVyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUV0QyxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFOVyxRQUFBLE9BQU8sV0FNbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BsdWdpblBhcmFtc30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3R5cGVzJztcblxuaW1wb3J0IHtSZWdyb3VwfSBmcm9tICcuL3JlZ3JvdXAnO1xuaW1wb3J0IHthZGRFeHBsYWluRGF0YX0gZnJvbSAnLi9leHBsYWluJztcblxuaW1wb3J0IHttZXJnZU9iamVjdHN9IGZyb20gJy4uL3V0aWwvaGVscGVycyc7XG5pbXBvcnQge2RlYnVnTG9nZ2VyfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9kZWJ1Zy1sb2dnZXInO1xuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2xvZ2dlcic7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vY29uZmlnL3N0cmluZ3MnO1xuXG5pbXBvcnQge0NvbXB1dGVQYXJhbXMsIE5vZGUsIFBoYXNlZFBpcGVsaW5lfSBmcm9tICcuLi90eXBlcy9jb21wdXRlJztcbmltcG9ydCB7aXNFeGVjdXRlfSBmcm9tICcuLi90eXBlcy9pbnRlcmZhY2UnO1xuXG5jb25zdCB7TUVSR0lOR19ERUZBVUxUU19XSVRIX0lOUFVUX0RBVEEsIEVNUFRZX1BJUEVMSU5FfSA9IFNUUklOR1M7XG5cbi8qKlxuICogVHJhdmVyc2VzIGFsbCBjaGlsZCBub2RlcyBiYXNlZCBvbiBjaGlsZHJlbiBncm91cGluZy5cbiAqL1xuY29uc3QgdHJhdmVyc2UgPSBhc3luYyAoY2hpbGRyZW46IGFueSwgcGFyYW1zOiBDb21wdXRlUGFyYW1zKSA9PiB7XG4gIGZvciAoY29uc3QgY2hpbGQgaW4gY2hpbGRyZW4pIHtcbiAgICBhd2FpdCBjb21wdXRlTm9kZShjaGlsZHJlbltjaGlsZF0sIHBhcmFtcyk7XG4gIH1cbn07XG5cbi8qKlxuICogQXBwZW5kcyBgZGVmYXVsdGAgdmFsdWVzIHRvIGBpbnB1dHNgLlxuICovXG5jb25zdCBtZXJnZURlZmF1bHRzID0gKFxuICBpbnB1dHM6IFBsdWdpblBhcmFtc1tdLFxuICBkZWZhdWx0czogUGx1Z2luUGFyYW1zIHwgdW5kZWZpbmVkXG4pID0+IHtcbiAgaWYgKGlucHV0cykge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gZGVmYXVsdHNcbiAgICAgID8gaW5wdXRzLm1hcChpbnB1dCA9PiBtZXJnZU9iamVjdHMoZGVmYXVsdHMsIGlucHV0KSlcbiAgICAgIDogaW5wdXRzO1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xuICB9XG5cbiAgY29uc29sZS5kZWJ1ZyhNRVJHSU5HX0RFRkFVTFRTX1dJVEhfSU5QVVRfREFUQSk7XG5cbiAgcmV0dXJuIGRlZmF1bHRzID8gW2RlZmF1bHRzXSA6IFtdO1xufTtcblxuLyoqXG4gKiAxLiBJZiB0aGUgbm9kZSBoYXMgaXQncyBvd24gcGlwZWxpbmUsIGRlZmF1bHRzIG9yIGNvbmZpZyB0aGVuIHVzZSB0aGF0LFxuICogICAgb3RoZXJ3aXNlIHVzZSB3aGF0ZXZlciBoYXMgYmVlbiBwYXNzZWQgZG93biBmcm9tIGZ1cnRoZXIgdXAgdGhlIHRyZWUuXG4gKiAyLiBJZiBpdCdzIGEgZ3JvdXBpbmcgbm9kZSwgdGhlbiBmaXJzdCBvZiBhbGwgY29tcHV0ZXMgYWxsIGl0J3MgY2hpbGRyZW4uXG4gKiAgICBUaGlzIGlzIGRvaW5nIGEgZGVwdGggZmlyc3QgdHJhdmVyc2FsLlxuICogMy4gT3RoZXJ3aXNlIG1lcmdlcyB0aGUgZGVmYXVsdHMgaW50byB0aGUgaW5wdXRzLlxuICogNC4gSXRlcmF0ZXMgb3ZlciBwaXBlbGluZSBwaGFzZXMgKG9ic2VydmUsIHJlZ3JvdXAsIGNvbXB1dGUpLlxuICogNS4gT2JzZXJ2ZSBwbHVnaW5zIGFyZSB1c2VkIHRvIGluc2VydCBpbnB1dCB2YWx1ZXNcbiAqICAgIChpc29sYXRlZCBleGVjdXRpb24gY2FuIGJlIGFjaGl2ZWQgYnkgcGFzc2luZyBgLS1vYnNlcnZlYCBmbGFnIHRvIENMSSBjb21tYW5kKS5cbiAqIDYuIFJlZ3JvdXAgcGx1Z2luIGlzIHVzZWQgdG8gZ3JvdXAgZXhpc3RpbmcgaW5wdXRzIGJ5IGNyaXRlcmlhXG4gKiAgICAoaXNvbGF0ZWQgZXhlY3V0aW9uIGNhbiBiZSBhY2hpdmVkIGJ5IHBhc3NpbmcgYC0tcmVncm91cGAgZmxhZyB0byBDTEkgY29tbWFuZCkuXG4gKiAgICBTaW5jZSBpdCBjcmVhdGVzIG5ldyBjaGlsZHJlbiBmb3Igbm9kZSwgZXhpc3RpbmcgaW5wdXRzIGFuZCBvdXRwdXRzIGFyZSBkcm9wcGVkIGFuZCByZWN1cnNpdmUgdHJhdmVyc2FsIGlzIGNhbGxlZFxuICogICAgZm9yIG5ld2JvcmQgY2hpbGQgY29tcG9uZW50LlxuICogNy4gQ29tcHV0ZSBwbHVnaW5zIGFyZSB1c2VkIHRvIGRvIGRlc2lyZWQgY29tcHV0YXRpb25zIGFuZCBhcHBlbmRpbmcgdGhlIHJlc3VsdCB0byBvdXRwdXRzXG4gKiAgICAoaXNvbGF0ZWQgZXhlY3V0aW9uIGNhbiBiZSBhY2hpdmVkIGJ5IHBhc3NpbmcgYC0tY29tcHV0ZWAgZmxhZyB0byBDTEkgY29tbWFuZCkuXG4gKi9cbmNvbnN0IGNvbXB1dGVOb2RlID0gYXN5bmMgKG5vZGU6IE5vZGUsIHBhcmFtczogQ29tcHV0ZVBhcmFtcyk6IFByb21pc2U8YW55PiA9PiB7XG4gIGNvbnN0IHBpcGVsaW5lID0gbm9kZS5waXBlbGluZSB8fCAocGFyYW1zLnBpcGVsaW5lIGFzIFBoYXNlZFBpcGVsaW5lKTtcbiAgY29uc3QgY29uZmlnID0gbm9kZS5jb25maWcgfHwgcGFyYW1zLmNvbmZpZztcbiAgY29uc3QgZGVmYXVsdHMgPSBub2RlLmRlZmF1bHRzIHx8IHBhcmFtcy5kZWZhdWx0cztcbiAgY29uc3Qgbm9GbGFncyA9ICFwYXJhbXMub2JzZXJ2ZSAmJiAhcGFyYW1zLnJlZ3JvdXAgJiYgIXBhcmFtcy5jb21wdXRlO1xuXG4gIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgcmV0dXJuIHRyYXZlcnNlKG5vZGUuY2hpbGRyZW4sIHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHBpcGVsaW5lLFxuICAgICAgZGVmYXVsdHMsXG4gICAgICBjb25maWcsXG4gICAgfSk7XG4gIH1cblxuICBsZXQgaW5wdXRTdG9yYWdlID0gc3RydWN0dXJlZENsb25lKG5vZGUuaW5wdXRzKSBhcyBQbHVnaW5QYXJhbXNbXTtcbiAgaW5wdXRTdG9yYWdlID0gbWVyZ2VEZWZhdWx0cyhpbnB1dFN0b3JhZ2UsIGRlZmF1bHRzKTtcbiAgY29uc3QgcGlwZWxpbmVDb3B5ID0gc3RydWN0dXJlZENsb25lKHBpcGVsaW5lKSB8fCB7fTtcblxuICAvKiogQ2hlY2tzIGlmIHBpcGVsaW5lIGlzIG5vdCBhbiBhcnJheSBvciBlbXB0eSBvYmplY3QuICovXG4gIGlmIChcbiAgICBBcnJheS5pc0FycmF5KHBpcGVsaW5lQ29weSkgfHxcbiAgICAodHlwZW9mIHBpcGVsaW5lQ29weSA9PT0gJ29iamVjdCcgJiZcbiAgICAgIHBpcGVsaW5lQ29weSAhPT0gbnVsbCAmJlxuICAgICAgT2JqZWN0LmtleXMocGlwZWxpbmVDb3B5KS5sZW5ndGggPT09IDApXG4gICkge1xuICAgIGxvZ2dlci53YXJuKEVNUFRZX1BJUEVMSU5FKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiBpdGVyYXRpb24gaXMgb24gb2JzZXJ2ZSBwaXBlbGluZSwgdGhlbiBleGVjdXRlcyBvYnNlcnZlIHBsdWdpbnMgYW5kIHNldHMgdGhlIGlucHV0cyB2YWx1ZS5cbiAgICovXG4gIGlmICgobm9GbGFncyB8fCBwYXJhbXMub2JzZXJ2ZSkgJiYgcGlwZWxpbmVDb3B5Lm9ic2VydmUpIHtcbiAgICB3aGlsZSAocGlwZWxpbmVDb3B5Lm9ic2VydmUubGVuZ3RoICE9PSAwKSB7XG4gICAgICBjb25zdCBwbHVnaW5OYW1lID0gcGlwZWxpbmVDb3B5Lm9ic2VydmUuc2hpZnQoKSBhcyBzdHJpbmc7XG4gICAgICBjb25zdCBwbHVnaW4gPSBwYXJhbXMucGx1Z2luU3RvcmFnZS5nZXQocGx1Z2luTmFtZSk7XG4gICAgICBjb25zdCBub2RlQ29uZmlnID0gY29uZmlnICYmIGNvbmZpZ1twbHVnaW5OYW1lXTtcblxuICAgICAgaWYgKGlzRXhlY3V0ZShwbHVnaW4pKSB7XG4gICAgICAgIGlucHV0U3RvcmFnZSA9IGF3YWl0IHBsdWdpbi5leGVjdXRlKGlucHV0U3RvcmFnZSwgbm9kZUNvbmZpZyk7XG4gICAgICAgIG5vZGUuaW5wdXRzID0gaW5wdXRTdG9yYWdlO1xuXG4gICAgICAgIGlmIChwYXJhbXMuY29udGV4dC5leHBsYWluZXIpIHtcbiAgICAgICAgICBhZGRFeHBsYWluRGF0YSh7XG4gICAgICAgICAgICBwbHVnaW5OYW1lLFxuICAgICAgICAgICAgbWV0YWRhdGE6IHBsdWdpbi5tZXRhZGF0YSxcbiAgICAgICAgICAgIHBsdWdpbkRhdGE6IHBhcmFtcy5jb250ZXh0LmluaXRpYWxpemUhLnBsdWdpbnNbcGx1Z2luTmFtZV0sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSWYgcmVncm91cCBpcyByZXF1ZXN0ZWQsIGV4ZWN1dGUgcmVncm91cCBzdHJhdGVneSwgZGVsZXRlIGNoaWxkJ3MgaW5wdXRzLCBvdXRwdXRzIGFuZCBlbXB0eSByZWdyb3VwIGFycmF5LlxuICAgKi9cbiAgaWYgKChub0ZsYWdzIHx8IHBhcmFtcy5yZWdyb3VwKSAmJiBwaXBlbGluZUNvcHkucmVncm91cCkge1xuICAgIG5vZGUuY2hpbGRyZW4gPSBSZWdyb3VwKGlucHV0U3RvcmFnZSwgcGlwZWxpbmVDb3B5LnJlZ3JvdXApO1xuICAgIGRlbGV0ZSBub2RlLmlucHV0cztcbiAgICBkZWxldGUgbm9kZS5vdXRwdXRzO1xuXG4gICAgcmV0dXJuIHRyYXZlcnNlKG5vZGUuY2hpbGRyZW4sIHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHBpcGVsaW5lOiB7XG4gICAgICAgIC4uLnBpcGVsaW5lQ29weSxcbiAgICAgICAgcmVncm91cDogdW5kZWZpbmVkLFxuICAgICAgfSxcbiAgICAgIGRlZmF1bHRzLFxuICAgICAgY29uZmlnLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIGl0ZXJhdGlvbiBpcyBvbiBjb21wdXRlIHBsdWdpbiwgdGhlbiBleGVjdXRlcyBjb21wdXRlIHBsdWdpbnMgYW5kIHNldHMgdGhlIG91dHB1dHMgdmFsdWUuXG4gICAqL1xuICBpZiAoKG5vRmxhZ3MgfHwgcGFyYW1zLmNvbXB1dGUpICYmIHBpcGVsaW5lQ29weS5jb21wdXRlKSB7XG4gICAgd2hpbGUgKHBpcGVsaW5lQ29weS5jb21wdXRlLmxlbmd0aCAhPT0gMCkge1xuICAgICAgY29uc3QgcGx1Z2luTmFtZSA9IHBpcGVsaW5lQ29weS5jb21wdXRlLnNoaWZ0KCkgYXMgc3RyaW5nO1xuICAgICAgY29uc3QgcGx1Z2luID0gcGFyYW1zLnBsdWdpblN0b3JhZ2UuZ2V0KHBsdWdpbk5hbWUpO1xuICAgICAgY29uc3Qgbm9kZUNvbmZpZyA9IGNvbmZpZyAmJiBjb25maWdbcGx1Z2luTmFtZV07XG5cbiAgICAgIGlmIChpc0V4ZWN1dGUocGx1Z2luKSkge1xuICAgICAgICBpbnB1dFN0b3JhZ2UgPSBhd2FpdCBwbHVnaW4uZXhlY3V0ZShpbnB1dFN0b3JhZ2UsIG5vZGVDb25maWcpO1xuICAgICAgICBub2RlLm91dHB1dHMgPSBpbnB1dFN0b3JhZ2U7XG5cbiAgICAgICAgaWYgKHBhcmFtcy5jb250ZXh0LmV4cGxhaW5lcikge1xuICAgICAgICAgIGFkZEV4cGxhaW5EYXRhKHtcbiAgICAgICAgICAgIHBsdWdpbk5hbWUsXG4gICAgICAgICAgICBtZXRhZGF0YTogcGx1Z2luLm1ldGFkYXRhLFxuICAgICAgICAgICAgcGx1Z2luRGF0YTogcGFyYW1zLmNvbnRleHQuaW5pdGlhbGl6ZSEucGx1Z2luc1twbHVnaW5OYW1lXSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBkZWJ1Z0xvZ2dlci5zZXRFeGVjdXRpbmdQbHVnaW5OYW1lKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgY29weSBvZiBleGlzdGluZyB0cmVlLCB0aGVuIGFwcGxpZXMgY29tcHV0aW5nIHN0cmF0ZWd5LlxuICovXG5leHBvcnQgY29uc3QgY29tcHV0ZSA9IGFzeW5jICh0cmVlOiBhbnksIHBhcmFtczogQ29tcHV0ZVBhcmFtcykgPT4ge1xuICBjb25zdCBjb3B5T2ZUcmVlID0gc3RydWN0dXJlZENsb25lKHRyZWUpO1xuXG4gIGF3YWl0IGNvbXB1dGVOb2RlKGNvcHlPZlRyZWUsIHBhcmFtcyk7XG5cbiAgcmV0dXJuIGNvcHlPZlRyZWU7XG59O1xuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
name: time-converter demo
|
|
2
|
+
description: successful path
|
|
3
|
+
tags:
|
|
4
|
+
initialize:
|
|
5
|
+
plugins:
|
|
6
|
+
time-converter:
|
|
7
|
+
method: TimeConverter
|
|
8
|
+
path: builtin
|
|
9
|
+
global-config:
|
|
10
|
+
input-parameter: "energy-per-year"
|
|
11
|
+
original-time-unit: "year"
|
|
12
|
+
new-time-unit: "duration"
|
|
13
|
+
output-parameter: "energy-per-duration"
|
|
14
|
+
tree:
|
|
15
|
+
children:
|
|
16
|
+
child:
|
|
17
|
+
pipeline:
|
|
18
|
+
- time-converter
|
|
19
|
+
config:
|
|
20
|
+
defaults:
|
|
21
|
+
energy-per-year: 10000
|
|
22
|
+
inputs:
|
|
23
|
+
- timestamp: 2023-08-06T00:00
|
|
24
|
+
duration: 3600
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grnsft/if",
|
|
3
3
|
"description": "Impact Framework",
|
|
4
|
-
"version": "0.6.0
|
|
4
|
+
"version": "0.6.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Green Software Foundation",
|
|
7
7
|
"email": "info@gsf.com"
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
"if-run": "./build/if-run/index.js",
|
|
12
12
|
"if-env": "./build/if-env/index.js",
|
|
13
13
|
"if-check": "./build/if-check/index.js",
|
|
14
|
-
"if-csv": "./build/if-csv/index.js"
|
|
14
|
+
"if-csv": "./build/if-csv/index.js",
|
|
15
|
+
"if-merge": "./build/if-merge/index.js"
|
|
15
16
|
},
|
|
16
17
|
"bugs": {
|
|
17
18
|
"url": "https://github.com/Green-Software-Foundation/if/issues/new?assignees=&labels=feedback&projects=&template=feedback.md&title=Feedback+-+"
|
|
@@ -80,6 +81,7 @@
|
|
|
80
81
|
"if-csv": "cross-env CURRENT_DIR=$(node -p \"process.env.INIT_CWD\") npx ts-node src/if-csv/index.ts",
|
|
81
82
|
"if-diff": "npx ts-node src/if-diff/index.ts",
|
|
82
83
|
"if-env": "cross-env CURRENT_DIR=$(node -p \"process.env.INIT_CWD\") npx ts-node src/if-env/index.ts",
|
|
84
|
+
"if-merge": "cross-env CURRENT_DIR=$(node -p \"process.env.INIT_CWD\") npx ts-node src/if-merge/index.ts",
|
|
83
85
|
"if-run": "npx ts-node src/if-run/index.ts",
|
|
84
86
|
"lint": "gts lint",
|
|
85
87
|
"pre-commit": "lint-staged",
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Time Converter
|
|
2
|
+
|
|
3
|
+
`time-conversion` is a generic plugin for converting time values from a specified time unit to a new given time unit.
|
|
4
|
+
|
|
5
|
+
You provide the energy value, the time unit associated with this energy, and a new time unit to which you want to convert it.
|
|
6
|
+
|
|
7
|
+
For example, you could add `energy-per-year`, the time unit `year`, and the new time unit `duration`. The `energy-per-duration` would then be added to every observation in your input array as the converted value of `energy-per-year`, `year` and `duration`.
|
|
8
|
+
|
|
9
|
+
## Parameters
|
|
10
|
+
|
|
11
|
+
### Plugin config
|
|
12
|
+
|
|
13
|
+
These parameters are required in global config:
|
|
14
|
+
|
|
15
|
+
- `input-parameter`: a string that should match an existing key in the `inputs` array
|
|
16
|
+
- `original-time-unit`: a string that defines the time unit of the `input-parameter`. The original time unit should be a valid unit, like `year`, `month`, `day`, `hour` and so on
|
|
17
|
+
- `new-time-unit`: a string that defines the new time unit that the `input-parameter` value should be converted to. The time unit can be `duration`(in which case it grabs the value from the `duration` in the input), or can be other time unit like `second`, `month`, `day`, `week` and so on
|
|
18
|
+
- `output-parameter`: a string defining the name to use to add the result of converting the input parameter to the output array
|
|
19
|
+
|
|
20
|
+
### Plugin parameter metadata
|
|
21
|
+
|
|
22
|
+
The `parameter-metadata` section contains information about `description` and `unit` of the parameters of the inputs and outputs
|
|
23
|
+
|
|
24
|
+
- `inputs`: describe parameters of the `input-parameter` of the global config. Each parameter has:
|
|
25
|
+
|
|
26
|
+
- `description`: description of the parameter
|
|
27
|
+
- `unit`: unit of the parameter
|
|
28
|
+
- `aggregation-method`: the aggregation method of the parameter (can be `sum`, `avg` or `none`)
|
|
29
|
+
|
|
30
|
+
- `outputs`: describe the parameter of the `output-parameter` of the global config. The parameter has the following attributes:
|
|
31
|
+
- `description`: description of the parameter
|
|
32
|
+
- `unit`: unit of the parameter
|
|
33
|
+
- `aggregation-method`: the aggregation method of the parameter (can be `sum`, `avg` or `none`)
|
|
34
|
+
|
|
35
|
+
### Inputs
|
|
36
|
+
|
|
37
|
+
The `input-parameter` must be available in the input array.
|
|
38
|
+
|
|
39
|
+
## Returns
|
|
40
|
+
|
|
41
|
+
- `output-parameter`: the converted energy of the `input-parameter` with the parameter name defined by `output-parameter` in global config.
|
|
42
|
+
|
|
43
|
+
## Calculation
|
|
44
|
+
|
|
45
|
+
```pseudocode
|
|
46
|
+
output = input-parameter / original-time-unit * new-time-unit
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Implementation
|
|
50
|
+
|
|
51
|
+
To run the plugin, you must first create an instance of `TimeConverter`. Then, you can call `execute()`.
|
|
52
|
+
|
|
53
|
+
```typescript
|
|
54
|
+
const config = {
|
|
55
|
+
'input-parameter': 'energy-per-year',
|
|
56
|
+
'original-time-unit': 'year',
|
|
57
|
+
'new-time-unit': 'duration',
|
|
58
|
+
'output-parameter': 'energy-per-duration',
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
const timeConverter = TimeConverter(config, parametersMetadata);
|
|
62
|
+
const result = timeConverter.execute([
|
|
63
|
+
{
|
|
64
|
+
timestamp: '2021-01-01T00:00:00Z',
|
|
65
|
+
duration: 3600,
|
|
66
|
+
'energy-per-year': 10000,
|
|
67
|
+
},
|
|
68
|
+
]);
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Example manifest
|
|
72
|
+
|
|
73
|
+
IF users will typically call the plugin as part of a pipeline defined in a manifest file. In this case, instantiating the plugin is handled by and does not have to be done explicitly by the user. The following is an example manifest that calls `time-coverstion`:
|
|
74
|
+
|
|
75
|
+
```yaml
|
|
76
|
+
name: time-coverstion demo
|
|
77
|
+
description:
|
|
78
|
+
tags:
|
|
79
|
+
initialize:
|
|
80
|
+
plugins:
|
|
81
|
+
time-converter:
|
|
82
|
+
method: TimeConverter
|
|
83
|
+
path: builtin
|
|
84
|
+
global-config:
|
|
85
|
+
input-parameter: 'energy-per-year'
|
|
86
|
+
original-time-unit: 'year'
|
|
87
|
+
new-time-unit: 'duration'
|
|
88
|
+
output-parameter: 'energy-per-duration'
|
|
89
|
+
tree:
|
|
90
|
+
children:
|
|
91
|
+
child:
|
|
92
|
+
pipeline:
|
|
93
|
+
- time-converter
|
|
94
|
+
config:
|
|
95
|
+
defaults:
|
|
96
|
+
energy-per-year: 10000
|
|
97
|
+
inputs:
|
|
98
|
+
- timestamp: 2023-08-06T00:00
|
|
99
|
+
duration: 3600
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
You can run this example by saving it as `./examples/manifests/time-coverstion.yml` and executing the following command from the project root:
|
|
103
|
+
|
|
104
|
+
```sh
|
|
105
|
+
if-run --manifest ./examples/manifests/time-coverstion.yml --output ./examples/outputs/time-coverstion.yml
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
The results will be saved to a new `yaml` file in `./examples/outputs`.
|
|
109
|
+
|
|
110
|
+
## Errors
|
|
111
|
+
|
|
112
|
+
`TimeConverter` exposes two of the IF error classes.
|
|
113
|
+
|
|
114
|
+
### GlobalConfigError
|
|
115
|
+
|
|
116
|
+
You will receive an error starting `GlobalConfigError: ` if you have not provided the expected configuration data in the plugin's `initialize` block.
|
|
117
|
+
|
|
118
|
+
The required parameters are:
|
|
119
|
+
|
|
120
|
+
- `input-parameter`: this must be a string, which is the name of parameter in the `inputs` array
|
|
121
|
+
- `original-time-unit`: this must be a string of time units (`minutes`, `seconds` and so on)
|
|
122
|
+
- `new-time-unit`: this must be a string of time units (e.g. `duration`, `minutes`, `seconds` and so on)
|
|
123
|
+
- `output-parameter`: this must be a string
|
|
124
|
+
|
|
125
|
+
You can fix this error by checking you are providing valid values for each parameter in the config.
|
|
126
|
+
|
|
127
|
+
### `MissingInputDataError`
|
|
128
|
+
|
|
129
|
+
This error arises when a necessary piece of input data is missing from the `inputs` array.
|
|
130
|
+
Every element in the `inputs` array must contain:
|
|
131
|
+
|
|
132
|
+
- `timestamp`
|
|
133
|
+
- `duration`
|
|
134
|
+
- whatever values you passed to `input-parameter`
|
|
135
|
+
|
|
136
|
+
For more information on our error classes, please visit [our docs](https://if.greensoftware.foundation/reference/errors).
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TIME_UNITS_IN_SECONDS = void 0;
|
|
4
|
-
exports.TIME_UNITS_IN_SECONDS = {
|
|
5
|
-
s: 1,
|
|
6
|
-
second: 1,
|
|
7
|
-
sec: 1,
|
|
8
|
-
secs: 1,
|
|
9
|
-
seconds: 1,
|
|
10
|
-
min: 60,
|
|
11
|
-
mins: 60,
|
|
12
|
-
minute: 60,
|
|
13
|
-
minutes: 60,
|
|
14
|
-
h: 3600,
|
|
15
|
-
hs: 3600,
|
|
16
|
-
hr: 3600,
|
|
17
|
-
hrs: 3600,
|
|
18
|
-
hour: 3600,
|
|
19
|
-
hours: 3600,
|
|
20
|
-
d: 86400,
|
|
21
|
-
ds: 86400,
|
|
22
|
-
day: 86400,
|
|
23
|
-
days: 86400,
|
|
24
|
-
w: 604800,
|
|
25
|
-
ws: 604800,
|
|
26
|
-
wk: 604800,
|
|
27
|
-
wks: 604800,
|
|
28
|
-
week: 604800,
|
|
29
|
-
weeks: 604800,
|
|
30
|
-
m: 2419200,
|
|
31
|
-
mnth: 2419200,
|
|
32
|
-
mth: 2419200,
|
|
33
|
-
mnths: 2419200,
|
|
34
|
-
mths: 2419200,
|
|
35
|
-
month: 2419200,
|
|
36
|
-
months: 2419200,
|
|
37
|
-
y: 31536000,
|
|
38
|
-
ys: 31536000,
|
|
39
|
-
yr: 31536000,
|
|
40
|
-
yrs: 31536000,
|
|
41
|
-
year: 31536000,
|
|
42
|
-
years: 31536000,
|
|
43
|
-
};
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2lmLXJ1bi9idWlsdGlucy9zY2kvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEscUJBQXFCLEdBQTJCO0lBQzNELENBQUMsRUFBRSxDQUFDO0lBQ0osTUFBTSxFQUFFLENBQUM7SUFDVCxHQUFHLEVBQUUsQ0FBQztJQUNOLElBQUksRUFBRSxDQUFDO0lBQ1AsT0FBTyxFQUFFLENBQUM7SUFDVixHQUFHLEVBQUUsRUFBRTtJQUNQLElBQUksRUFBRSxFQUFFO0lBQ1IsTUFBTSxFQUFFLEVBQUU7SUFDVixPQUFPLEVBQUUsRUFBRTtJQUNYLENBQUMsRUFBRSxJQUFJO0lBQ1AsRUFBRSxFQUFFLElBQUk7SUFDUixFQUFFLEVBQUUsSUFBSTtJQUNSLEdBQUcsRUFBRSxJQUFJO0lBQ1QsSUFBSSxFQUFFLElBQUk7SUFDVixLQUFLLEVBQUUsSUFBSTtJQUNYLENBQUMsRUFBRSxLQUFLO0lBQ1IsRUFBRSxFQUFFLEtBQUs7SUFDVCxHQUFHLEVBQUUsS0FBSztJQUNWLElBQUksRUFBRSxLQUFLO0lBQ1gsQ0FBQyxFQUFFLE1BQU07SUFDVCxFQUFFLEVBQUUsTUFBTTtJQUNWLEVBQUUsRUFBRSxNQUFNO0lBQ1YsR0FBRyxFQUFFLE1BQU07SUFDWCxJQUFJLEVBQUUsTUFBTTtJQUNaLEtBQUssRUFBRSxNQUFNO0lBQ2IsQ0FBQyxFQUFFLE9BQU87SUFDVixJQUFJLEVBQUUsT0FBTztJQUNiLEdBQUcsRUFBRSxPQUFPO0lBQ1osS0FBSyxFQUFFLE9BQU87SUFDZCxJQUFJLEVBQUUsT0FBTztJQUNiLEtBQUssRUFBRSxPQUFPO0lBQ2QsTUFBTSxFQUFFLE9BQU87SUFDZixDQUFDLEVBQUUsUUFBUTtJQUNYLEVBQUUsRUFBRSxRQUFRO0lBQ1osRUFBRSxFQUFFLFFBQVE7SUFDWixHQUFHLEVBQUUsUUFBUTtJQUNiLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFQUFFLFFBQVE7Q0FDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBUSU1FX1VOSVRTX0lOX1NFQ09ORFM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7XG4gIHM6IDEsXG4gIHNlY29uZDogMSxcbiAgc2VjOiAxLFxuICBzZWNzOiAxLFxuICBzZWNvbmRzOiAxLFxuICBtaW46IDYwLFxuICBtaW5zOiA2MCxcbiAgbWludXRlOiA2MCxcbiAgbWludXRlczogNjAsXG4gIGg6IDM2MDAsXG4gIGhzOiAzNjAwLFxuICBocjogMzYwMCxcbiAgaHJzOiAzNjAwLFxuICBob3VyOiAzNjAwLFxuICBob3VyczogMzYwMCxcbiAgZDogODY0MDAsXG4gIGRzOiA4NjQwMCxcbiAgZGF5OiA4NjQwMCxcbiAgZGF5czogODY0MDAsXG4gIHc6IDYwNDgwMCxcbiAgd3M6IDYwNDgwMCxcbiAgd2s6IDYwNDgwMCxcbiAgd2tzOiA2MDQ4MDAsXG4gIHdlZWs6IDYwNDgwMCxcbiAgd2Vla3M6IDYwNDgwMCxcbiAgbTogMjQxOTIwMCxcbiAgbW50aDogMjQxOTIwMCxcbiAgbXRoOiAyNDE5MjAwLFxuICBtbnRoczogMjQxOTIwMCxcbiAgbXRoczogMjQxOTIwMCxcbiAgbW9udGg6IDI0MTkyMDAsXG4gIG1vbnRoczogMjQxOTIwMCxcbiAgeTogMzE1MzYwMDAsXG4gIHlzOiAzMTUzNjAwMCxcbiAgeXI6IDMxNTM2MDAwLFxuICB5cnM6IDMxNTM2MDAwLFxuICB5ZWFyOiAzMTUzNjAwMCxcbiAgeWVhcnM6IDMxNTM2MDAwLFxufTtcbiJdfQ==
|
|
File without changes
|