@grnsft/if 0.4.0 → 0.5.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/CONTRIBUTING.md +4 -5
  2. package/README.md +14 -33
  3. package/Refactor-migration-guide.md +5 -6
  4. package/build/builtins/coefficient/index.d.ts +1 -2
  5. package/build/builtins/coefficient/index.js +18 -4
  6. package/build/builtins/copy-param/index.d.ts +2 -0
  7. package/build/builtins/copy-param/index.js +68 -0
  8. package/build/builtins/csv-lookup/index.d.ts +1 -1
  9. package/build/builtins/csv-lookup/index.js +44 -37
  10. package/build/builtins/divide/index.d.ts +1 -1
  11. package/build/builtins/divide/index.js +22 -11
  12. package/build/builtins/exponent/index.d.ts +1 -2
  13. package/build/builtins/exponent/index.js +9 -23
  14. package/build/builtins/export-csv-raw.d.ts +4 -2
  15. package/build/builtins/export-csv-raw.js +7 -7
  16. package/build/builtins/export-csv.js +8 -11
  17. package/build/builtins/export-log.js +1 -1
  18. package/build/builtins/export-yaml.js +6 -6
  19. package/build/builtins/group-by.d.ts +1 -1
  20. package/build/builtins/group-by.js +5 -5
  21. package/build/builtins/index.d.ts +1 -0
  22. package/build/builtins/index.js +4 -2
  23. package/build/builtins/interpolation/index.d.ts +1 -1
  24. package/build/builtins/interpolation/index.js +10 -8
  25. package/build/builtins/mock-observations/helpers/common-generator.d.ts +2 -2
  26. package/build/builtins/mock-observations/helpers/common-generator.js +10 -13
  27. package/build/builtins/mock-observations/helpers/rand-int-generator.d.ts +2 -2
  28. package/build/builtins/mock-observations/helpers/rand-int-generator.js +14 -24
  29. package/build/builtins/mock-observations/index.d.ts +1 -2
  30. package/build/builtins/mock-observations/index.js +2 -4
  31. package/build/builtins/multiply/index.d.ts +1 -2
  32. package/build/builtins/multiply/index.js +10 -16
  33. package/build/builtins/regex/index.d.ts +1 -2
  34. package/build/builtins/regex/index.js +8 -12
  35. package/build/builtins/sci/index.d.ts +1 -2
  36. package/build/builtins/sci/index.js +23 -22
  37. package/build/builtins/sci-embodied/index.d.ts +1 -1
  38. package/build/builtins/sci-embodied/index.js +16 -17
  39. package/build/builtins/shell/index.d.ts +1 -2
  40. package/build/builtins/shell/index.js +4 -4
  41. package/build/builtins/subtract/index.d.ts +1 -2
  42. package/build/builtins/subtract/index.js +7 -23
  43. package/build/builtins/sum/index.d.ts +1 -2
  44. package/build/builtins/sum/index.js +14 -11
  45. package/build/builtins/time-sync.d.ts +1 -2
  46. package/build/builtins/time-sync.js +62 -67
  47. package/build/check.d.ts +2 -0
  48. package/build/check.js +85 -0
  49. package/build/config/config.d.ts +13 -1
  50. package/build/config/config.js +61 -1
  51. package/build/config/params.js +1 -6
  52. package/build/config/strings.d.ts +41 -5
  53. package/build/config/strings.js +46 -9
  54. package/build/diff.js +2 -2
  55. package/build/env.d.ts +2 -0
  56. package/build/env.js +38 -0
  57. package/build/lib/aggregate.js +1 -1
  58. package/build/lib/compute.js +1 -1
  59. package/build/lib/exhaust.js +4 -4
  60. package/build/lib/initialize.js +20 -24
  61. package/build/lib/load.js +4 -4
  62. package/build/types/compute.d.ts +1 -1
  63. package/build/types/compute.js +1 -1
  64. package/build/types/if-env.d.ts +8 -0
  65. package/build/types/if-env.js +3 -0
  66. package/build/types/interface.d.ts +1 -19
  67. package/build/types/interface.js +1 -1
  68. package/build/types/npm.d.ts +9 -0
  69. package/build/types/npm.js +3 -0
  70. package/build/types/process-args.d.ts +9 -0
  71. package/build/types/process-args.js +1 -1
  72. package/build/util/aggregation-helper.d.ts +1 -1
  73. package/build/util/aggregation-helper.js +5 -5
  74. package/build/util/args.d.ts +23 -1
  75. package/build/util/args.js +91 -14
  76. package/build/util/fs.d.ts +20 -0
  77. package/build/util/fs.js +94 -0
  78. package/build/util/helpers.d.ts +25 -5
  79. package/build/util/helpers.js +110 -15
  80. package/build/util/npm.d.ts +28 -0
  81. package/build/util/npm.js +152 -0
  82. package/build/util/plugin-storage.js +4 -4
  83. package/build/util/validations.js +4 -4
  84. package/jest.config.js +1 -1
  85. package/manifests/bugs/aggregation-error-wrong-metric.yml +73 -23
  86. package/manifests/bugs/azure-importer-ignoring-defaults.yml +6 -3
  87. package/manifests/bugs/azure-importer-incorrect-calculation.yml +6 -3
  88. package/manifests/bugs/initialize-error-no-config.yml +4 -5
  89. package/manifests/bugs/initialize-error-no-path.yml +9 -5
  90. package/manifests/bugs/input-error-missing-duration.yml +10 -6
  91. package/manifests/bugs/pipeline-error-naming-mismatch.yml +8 -4
  92. package/manifests/bugs/pipeline-error-uninitialized-plugin.yml +9 -5
  93. package/manifests/bugs/pipeline-ordering-error.yml +43 -34
  94. package/manifests/examples/copy.yaml +20 -0
  95. package/manifests/examples/generics.yml +48 -13
  96. package/manifests/examples/instance-metadata.yml +4 -4
  97. package/manifests/examples/mock-cpu-util-to-carbon.yml +8 -2
  98. package/manifests/examples/nesting.yml +82 -35
  99. package/manifests/examples/pipeline-teads-sci.yml +54 -18
  100. package/manifests/examples/pipeline-with-aggregate.yml +66 -24
  101. package/manifests/examples/pipeline-with-mocks.yml +65 -22
  102. package/manifests/examples/region-metadata.yml +26 -0
  103. package/manifests/examples/tdp-finder.yml +23 -0
  104. package/manifests/examples/zeros.yaml +130 -0
  105. package/manifests/features/{aggregate-failure-inalid-metrics.yml → aggregate-failure-invalid-metrics.yml} +9 -3
  106. package/manifests/features/aggregate-failure-missing-metric-in-inputs.yml +9 -3
  107. package/manifests/features/aggregate-horizontal.yml +8 -2
  108. package/manifests/features/aggregate-vertical.yml +8 -2
  109. package/manifests/features/aggregate.yml +8 -2
  110. package/manifests/integrations/{cloud-metadata-divide-boavizta.yml → cloud-metadata-divide.yml} +8 -9
  111. package/manifests/integrations/instance-metadata/failure-invalid-instance-type.yaml +33 -0
  112. package/manifests/integrations/instance-metadata/failure-invalid-provider.yaml +33 -0
  113. package/manifests/integrations/instance-metadata/failure-missing-queried-input.yml +33 -0
  114. package/manifests/integrations/instance-metadata/success.yml +33 -0
  115. package/manifests/integrations/mock-obs-group-by-cloud-meta.yml +8 -2
  116. package/manifests/integrations/mock-obs-time-sync.yml +50 -5
  117. package/manifests/plugins/{cloud-metadata → csv-lookup/cloud-metadata}/failure-invalid-instance-type.yaml +9 -3
  118. package/manifests/plugins/{cloud-metadata → csv-lookup/cloud-metadata}/failure-invalid-vendor.yaml +8 -2
  119. package/manifests/plugins/{cloud-metadata → csv-lookup/cloud-metadata}/failure-missing-cloud-vendor.yml +9 -3
  120. package/manifests/plugins/{cloud-metadata → csv-lookup/cloud-metadata}/success.yml +8 -2
  121. package/manifests/plugins/csv-lookup/{success.yml → region-metadata/success.yml} +1 -1
  122. package/manifests/plugins/csv-lookup/tdp-finder/failure-missing-input-param.yml +23 -0
  123. package/manifests/plugins/csv-lookup/tdp-finder/failure-unsupported-physical-processor.yml +24 -0
  124. package/manifests/plugins/csv-lookup/tdp-finder/success.yml +24 -0
  125. package/manifests/plugins/divide/failure-denominator-equal-zero.yml +8 -9
  126. package/manifests/plugins/divide/failure-invalid-config-denominator.yml +8 -9
  127. package/manifests/plugins/divide/failure-missing-numerator.yml +8 -9
  128. package/manifests/plugins/divide/success.yml +9 -10
  129. package/manifests/plugins/exponent/success.yml +26 -0
  130. package/manifests/plugins/interpolation/success.yml +24 -0
  131. package/manifests/plugins/sci/failure-missing-input-param.yml +2 -6
  132. package/manifests/plugins/sci/success.yml +0 -3
  133. package/manifests/plugins/subtract/success.yml +25 -0
  134. package/manifests/plugins/sum/success.yml +1 -1
  135. package/package.json +10 -4
  136. package/src/__mocks__/mock-manifest.yaml +72 -0
  137. package/src/builtins/README.md +1 -1
  138. package/src/builtins/coefficient/README.md +19 -1
  139. package/src/builtins/copy-param/README.md +104 -0
  140. package/src/builtins/csv-lookup/README.md +39 -1
  141. package/src/builtins/divide/README.md +29 -3
  142. package/src/builtins/exponent/README.md +21 -1
  143. package/src/builtins/interpolation/README.md +29 -1
  144. package/src/builtins/mock-observations/README.md +1 -1
  145. package/src/builtins/multiply/README.md +16 -1
  146. package/src/builtins/regex/README.md +32 -2
  147. package/src/builtins/sci/README.md +24 -1
  148. package/src/builtins/sci-embodied/README.md +15 -1
  149. package/src/builtins/shell/README.md +12 -1
  150. package/src/builtins/subtract/README.md +12 -1
  151. package/src/builtins/sum/README.md +28 -1
  152. package/src/config/env-template.yml +24 -0
  153. package/build/builtins/coefficient/types.d.ts +0 -5
  154. package/build/builtins/coefficient/types.js +0 -3
  155. package/build/builtins/exponent/types.d.ts +0 -5
  156. package/build/builtins/exponent/types.js +0 -3
  157. package/build/builtins/interpolation/types.d.ts +0 -5
  158. package/build/builtins/interpolation/types.js +0 -10
  159. package/build/builtins/mock-observations/types.d.ts +0 -13
  160. package/build/builtins/mock-observations/types.js +0 -3
  161. package/build/builtins/multiply/types.d.ts +0 -4
  162. package/build/builtins/multiply/types.js +0 -3
  163. package/build/builtins/subtract/types.d.ts +0 -4
  164. package/build/builtins/subtract/types.js +0 -3
  165. package/build/builtins/sum/types.d.ts +0 -4
  166. package/build/builtins/sum/types.js +0 -3
  167. package/build/types/common.d.ts +0 -4
  168. package/build/types/common.js +0 -3
  169. package/build/types/group-by.d.ts +0 -3
  170. package/build/types/group-by.js +0 -3
  171. package/build/types/helpers.d.ts +0 -4
  172. package/build/types/helpers.js +0 -3
  173. package/build/util/errors.d.ts +0 -6
  174. package/build/util/errors.js +0 -33
  175. package/manifests/examples/basic.yml +0 -28
  176. package/manifests/plugins/tdp-finder/failure-missing-input-param.yml +0 -18
  177. package/manifests/plugins/tdp-finder/failure-unsupported-physical-processor.yml +0 -19
  178. package/manifests/plugins/tdp-finder/success.yml +0 -19
  179. /package/manifests/plugins/csv-lookup/{failure-missing-column.yml → region-metadata/failure-missing-column.yml} +0 -0
  180. /package/manifests/plugins/csv-lookup/{failure-missing-output.yml → region-metadata/failure-missing-output.yml} +0 -0
  181. /package/manifests/plugins/csv-lookup/{success-renaming.yml → region-metadata/success-renaming.yml} +0 -0
@@ -24,27 +24,23 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.initialize = void 0;
27
- const pathLib = require("path");
28
- const errors_1 = require("../util/errors");
27
+ const path = __importStar(require("node:path"));
28
+ const utils_1 = require("@grnsft/if-core/utils");
29
29
  const logger_1 = require("../util/logger");
30
30
  const log_memoize_1 = require("../util/log-memoize");
31
31
  const plugin_storage_1 = require("../util/plugin-storage");
32
32
  const config_1 = require("../config");
33
- const { ModuleInitializationError, PluginCredentialError } = errors_1.ERRORS;
33
+ const { PluginInitializationError, MissingPluginMethodError, MissingPluginPathError, } = utils_1.ERRORS;
34
34
  const { GITHUB_PATH, NATIVE_PLUGIN } = config_1.CONFIG;
35
35
  const { MISSING_METHOD, MISSING_PATH, NOT_NATIVE_PLUGIN, INVALID_MODULE_PATH, LOADING_PLUGIN_FROM_PATH, INITIALIZING_PLUGIN, INITIALIZING_PLUGINS, } = config_1.STRINGS;
36
36
  /**
37
37
  * Imports module by given `path`.
38
38
  */
39
39
  const importModuleFrom = async (path) => {
40
- try {
41
- const module = await Promise.resolve(`${path}`).then(s => __importStar(require(s)));
42
- return module;
43
- }
44
- catch (error) {
45
- logger_1.logger.error(error);
46
- throw new ModuleInitializationError(INVALID_MODULE_PATH(path));
47
- }
40
+ const module = await Promise.resolve(`${path}`).then(s => __importStar(require(s))).catch(error => {
41
+ throw new PluginInitializationError(INVALID_MODULE_PATH(path, error));
42
+ });
43
+ return module;
48
44
  };
49
45
  /**
50
46
  * Imports `module` from given `path`, then checks if it's `ModelPluginInterface` extension.
@@ -58,21 +54,21 @@ const importAndVerifyModule = async (method, path) => {
58
54
  * Then checks if `path` is starting with github, then grabs the repository name.
59
55
  * Imports module, then checks if it's a valid plugin.
60
56
  */
61
- const handModule = (method, path) => {
62
- console.debug(LOADING_PLUGIN_FROM_PATH(method, path));
63
- if (path === 'builtin') {
64
- path = pathLib.normalize(`${__dirname}/../builtins`);
57
+ const handModule = (method, pluginPath) => {
58
+ console.debug(LOADING_PLUGIN_FROM_PATH(method, pluginPath));
59
+ if (pluginPath === 'builtin') {
60
+ pluginPath = path.normalize(`${__dirname}/../builtins`);
65
61
  }
66
62
  else {
67
- if (path?.startsWith(GITHUB_PATH)) {
68
- const parts = path.split('/');
69
- path = parts[parts.length - 1];
63
+ if (pluginPath?.startsWith(GITHUB_PATH)) {
64
+ const parts = pluginPath.split('/');
65
+ pluginPath = parts[parts.length - 1];
70
66
  }
71
- if (!path.includes(NATIVE_PLUGIN)) {
72
- (0, log_memoize_1.memoizedLog)(logger_1.logger.warn, NOT_NATIVE_PLUGIN(path));
67
+ if (!pluginPath.includes(NATIVE_PLUGIN)) {
68
+ (0, log_memoize_1.memoizedLog)(logger_1.logger.warn, NOT_NATIVE_PLUGIN(pluginPath));
73
69
  }
74
70
  }
75
- return importAndVerifyModule(method, path);
71
+ return importAndVerifyModule(method, pluginPath);
76
72
  };
77
73
  /**
78
74
  * Initializes plugin with global config.
@@ -81,10 +77,10 @@ const initPlugin = async (initPluginParams) => {
81
77
  const { method, path, 'global-config': globalConfig } = initPluginParams;
82
78
  console.debug(INITIALIZING_PLUGIN(method));
83
79
  if (!method) {
84
- throw new PluginCredentialError(MISSING_METHOD);
80
+ throw new MissingPluginMethodError(MISSING_METHOD);
85
81
  }
86
82
  if (!path) {
87
- throw new PluginCredentialError(MISSING_PATH);
83
+ throw new MissingPluginPathError(MISSING_PATH);
88
84
  }
89
85
  const plugin = await handModule(method, path);
90
86
  return plugin(globalConfig);
@@ -102,4 +98,4 @@ const initialize = async (plugins) => {
102
98
  return storage;
103
99
  };
104
100
  exports.initialize = initialize;
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaW5pdGlhbGl6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdDQUFpQztBQUVqQywyQ0FBc0M7QUFDdEMsMkNBQXNDO0FBQ3RDLHFEQUFnRDtBQUNoRCwyREFBcUQ7QUFFckQsc0NBQTBDO0FBTTFDLE1BQU0sRUFBQyx5QkFBeUIsRUFBRSxxQkFBcUIsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUVsRSxNQUFNLEVBQUMsV0FBVyxFQUFFLGFBQWEsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUM1QyxNQUFNLEVBQ0osY0FBYyxFQUNkLFlBQVksRUFDWixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLHdCQUF3QixFQUN4QixtQkFBbUIsRUFDbkIsb0JBQW9CLEdBQ3JCLEdBQUcsZ0JBQU8sQ0FBQztBQUVaOztHQUVHO0FBQ0gsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUsSUFBWSxFQUFFLEVBQUU7SUFDOUMsSUFBSTtRQUNGLE1BQU0sTUFBTSxHQUFHLHlCQUFhLElBQUksdUNBQUMsQ0FBQztRQUVsQyxPQUFPLE1BQU0sQ0FBQztLQUNmO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxlQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BCLE1BQU0sSUFBSSx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ2hFO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLEtBQUssRUFBRSxNQUFjLEVBQUUsSUFBWSxFQUFFLEVBQUU7SUFDbkUsTUFBTSxZQUFZLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVsRCxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM5QixDQUFDLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLEdBQUcsQ0FBQyxNQUFjLEVBQUUsSUFBWSxFQUFFLEVBQUU7SUFDbEQsT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUV0RCxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7UUFDdEIsSUFBSSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxTQUFTLGNBQWMsQ0FBQyxDQUFDO0tBQ3REO1NBQU07UUFDTCxJQUFJLElBQUksRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUU7WUFDakMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDaEM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUNqQyxJQUFBLHlCQUFXLEVBQUMsZUFBTSxDQUFDLElBQUksRUFBRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ25EO0tBQ0Y7SUFFRCxPQUFPLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM3QyxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sVUFBVSxHQUFHLEtBQUssRUFDdEIsZ0JBQStCLEVBQ0wsRUFBRTtJQUM1QixNQUFNLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFDLEdBQUcsZ0JBQWdCLENBQUM7SUFFdkUsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRTNDLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDWCxNQUFNLElBQUkscUJBQXFCLENBQUMsY0FBYyxDQUFDLENBQUM7S0FDakQ7SUFFRCxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ1QsTUFBTSxJQUFJLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxDQUFDO0tBQy9DO0lBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRTlDLE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0ksTUFBTSxVQUFVLEdBQUcsS0FBSyxFQUM3QixPQUFzQixFQUNXLEVBQUU7SUFDbkMsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBRXBDLE1BQU0sT0FBTyxHQUFHLElBQUEsOEJBQWEsR0FBRSxDQUFDO0lBRWhDLElBQUksS0FBSyxFQUFFLE1BQU0sVUFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDbkQsTUFBTSxNQUFNLEdBQUcsTUFBTSxVQUFVLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDckQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDakM7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUM7QUFiVyxRQUFBLFVBQVUsY0FhckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aExpYiA9IHJlcXVpcmUoJ3BhdGgnKTtcblxuaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4uL3V0aWwvZXJyb3JzJztcbmltcG9ydCB7bG9nZ2VyfSBmcm9tICcuLi91dGlsL2xvZ2dlcic7XG5pbXBvcnQge21lbW9pemVkTG9nfSBmcm9tICcuLi91dGlsL2xvZy1tZW1vaXplJztcbmltcG9ydCB7cGx1Z2luU3RvcmFnZX0gZnJvbSAnLi4vdXRpbC9wbHVnaW4tc3RvcmFnZSc7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge1BsdWdpbkludGVyZmFjZX0gZnJvbSAnLi4vdHlwZXMvaW50ZXJmYWNlJztcbmltcG9ydCB7R2xvYmFsUGx1Z2lucywgUGx1Z2luT3B0aW9uc30gZnJvbSAnLi4vdHlwZXMvbWFuaWZlc3QnO1xuaW1wb3J0IHtQbHVnaW5TdG9yYWdlSW50ZXJmYWNlfSBmcm9tICcuLi90eXBlcy9wbHVnaW4tc3RvcmFnZSc7XG5cbmNvbnN0IHtNb2R1bGVJbml0aWFsaXphdGlvbkVycm9yLCBQbHVnaW5DcmVkZW50aWFsRXJyb3J9ID0gRVJST1JTO1xuXG5jb25zdCB7R0lUSFVCX1BBVEgsIE5BVElWRV9QTFVHSU59ID0gQ09ORklHO1xuY29uc3Qge1xuICBNSVNTSU5HX01FVEhPRCxcbiAgTUlTU0lOR19QQVRILFxuICBOT1RfTkFUSVZFX1BMVUdJTixcbiAgSU5WQUxJRF9NT0RVTEVfUEFUSCxcbiAgTE9BRElOR19QTFVHSU5fRlJPTV9QQVRILFxuICBJTklUSUFMSVpJTkdfUExVR0lOLFxuICBJTklUSUFMSVpJTkdfUExVR0lOUyxcbn0gPSBTVFJJTkdTO1xuXG4vKipcbiAqIEltcG9ydHMgbW9kdWxlIGJ5IGdpdmVuIGBwYXRoYC5cbiAqL1xuY29uc3QgaW1wb3J0TW9kdWxlRnJvbSA9IGFzeW5jIChwYXRoOiBzdHJpbmcpID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBtb2R1bGUgPSBhd2FpdCBpbXBvcnQocGF0aCk7XG5cbiAgICByZXR1cm4gbW9kdWxlO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGxvZ2dlci5lcnJvcihlcnJvcik7XG4gICAgdGhyb3cgbmV3IE1vZHVsZUluaXRpYWxpemF0aW9uRXJyb3IoSU5WQUxJRF9NT0RVTEVfUEFUSChwYXRoKSk7XG4gIH1cbn07XG5cbi8qKlxuICogSW1wb3J0cyBgbW9kdWxlYCBmcm9tIGdpdmVuIGBwYXRoYCwgdGhlbiBjaGVja3MgaWYgaXQncyBgTW9kZWxQbHVnaW5JbnRlcmZhY2VgIGV4dGVuc2lvbi5cbiAqL1xuY29uc3QgaW1wb3J0QW5kVmVyaWZ5TW9kdWxlID0gYXN5bmMgKG1ldGhvZDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcGx1Z2luTW9kdWxlID0gYXdhaXQgaW1wb3J0TW9kdWxlRnJvbShwYXRoKTtcblxuICByZXR1cm4gcGx1Z2luTW9kdWxlW21ldGhvZF07XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiBwbHVnaW4gaXMgbWlzc2luZyB0aGVuIHJlamVjdHMgd2l0aCBlcnJvci5cbiAqIFRoZW4gY2hlY2tzIGlmIGBwYXRoYCBpcyBzdGFydGluZyB3aXRoIGdpdGh1YiwgdGhlbiBncmFicyB0aGUgcmVwb3NpdG9yeSBuYW1lLlxuICogSW1wb3J0cyBtb2R1bGUsIHRoZW4gY2hlY2tzIGlmIGl0J3MgYSB2YWxpZCBwbHVnaW4uXG4gKi9cbmNvbnN0IGhhbmRNb2R1bGUgPSAobWV0aG9kOiBzdHJpbmcsIHBhdGg6IHN0cmluZykgPT4ge1xuICBjb25zb2xlLmRlYnVnKExPQURJTkdfUExVR0lOX0ZST01fUEFUSChtZXRob2QsIHBhdGgpKTtcblxuICBpZiAocGF0aCA9PT0gJ2J1aWx0aW4nKSB7XG4gICAgcGF0aCA9IHBhdGhMaWIubm9ybWFsaXplKGAke19fZGlybmFtZX0vLi4vYnVpbHRpbnNgKTtcbiAgfSBlbHNlIHtcbiAgICBpZiAocGF0aD8uc3RhcnRzV2l0aChHSVRIVUJfUEFUSCkpIHtcbiAgICAgIGNvbnN0IHBhcnRzID0gcGF0aC5zcGxpdCgnLycpO1xuICAgICAgcGF0aCA9IHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdO1xuICAgIH1cblxuICAgIGlmICghcGF0aC5pbmNsdWRlcyhOQVRJVkVfUExVR0lOKSkge1xuICAgICAgbWVtb2l6ZWRMb2cobG9nZ2VyLndhcm4sIE5PVF9OQVRJVkVfUExVR0lOKHBhdGgpKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaW1wb3J0QW5kVmVyaWZ5TW9kdWxlKG1ldGhvZCwgcGF0aCk7XG59O1xuXG4vKipcbiAqIEluaXRpYWxpemVzIHBsdWdpbiB3aXRoIGdsb2JhbCBjb25maWcuXG4gKi9cbmNvbnN0IGluaXRQbHVnaW4gPSBhc3luYyAoXG4gIGluaXRQbHVnaW5QYXJhbXM6IFBsdWdpbk9wdGlvbnNcbik6IFByb21pc2U8UGx1Z2luSW50ZXJmYWNlPiA9PiB7XG4gIGNvbnN0IHttZXRob2QsIHBhdGgsICdnbG9iYWwtY29uZmlnJzogZ2xvYmFsQ29uZmlnfSA9IGluaXRQbHVnaW5QYXJhbXM7XG5cbiAgY29uc29sZS5kZWJ1ZyhJTklUSUFMSVpJTkdfUExVR0lOKG1ldGhvZCkpO1xuXG4gIGlmICghbWV0aG9kKSB7XG4gICAgdGhyb3cgbmV3IFBsdWdpbkNyZWRlbnRpYWxFcnJvcihNSVNTSU5HX01FVEhPRCk7XG4gIH1cblxuICBpZiAoIXBhdGgpIHtcbiAgICB0aHJvdyBuZXcgUGx1Z2luQ3JlZGVudGlhbEVycm9yKE1JU1NJTkdfUEFUSCk7XG4gIH1cblxuICBjb25zdCBwbHVnaW4gPSBhd2FpdCBoYW5kTW9kdWxlKG1ldGhvZCwgcGF0aCk7XG5cbiAgcmV0dXJuIHBsdWdpbihnbG9iYWxDb25maWcpO1xufTtcblxuLyoqXG4gKiBSZWdpc3RlcnMgYWxsIHBsdWdpbnMgZnJvbSBgbWFuaWZlc3RgLmBpbml0aWFsaXplYCBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IGNvbnN0IGluaXRpYWxpemUgPSBhc3luYyAoXG4gIHBsdWdpbnM6IEdsb2JhbFBsdWdpbnNcbik6IFByb21pc2U8UGx1Z2luU3RvcmFnZUludGVyZmFjZT4gPT4ge1xuICBjb25zb2xlLmRlYnVnKElOSVRJQUxJWklOR19QTFVHSU5TKTtcblxuICBjb25zdCBzdG9yYWdlID0gcGx1Z2luU3RvcmFnZSgpO1xuXG4gIGZvciBhd2FpdCAoY29uc3QgcGx1Z2luTmFtZSBvZiBPYmplY3Qua2V5cyhwbHVnaW5zKSkge1xuICAgIGNvbnN0IHBsdWdpbiA9IGF3YWl0IGluaXRQbHVnaW4ocGx1Z2luc1twbHVnaW5OYW1lXSk7XG4gICAgc3RvcmFnZS5zZXQocGx1Z2luTmFtZSwgcGx1Z2luKTtcbiAgfVxuXG4gIHJldHVybiBzdG9yYWdlO1xufTtcbiJdfQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvaW5pdGlhbGl6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUFrQztBQUVsQyxpREFBNkM7QUFFN0MsMkNBQXNDO0FBQ3RDLHFEQUFnRDtBQUNoRCwyREFBcUQ7QUFFckQsc0NBQTBDO0FBTTFDLE1BQU0sRUFDSix5QkFBeUIsRUFDekIsd0JBQXdCLEVBQ3hCLHNCQUFzQixHQUN2QixHQUFHLGNBQU0sQ0FBQztBQUVYLE1BQU0sRUFBQyxXQUFXLEVBQUUsYUFBYSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBQzVDLE1BQU0sRUFDSixjQUFjLEVBQ2QsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLG1CQUFtQixFQUNuQixvQkFBb0IsR0FDckIsR0FBRyxnQkFBTyxDQUFDO0FBRVo7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLEtBQUssRUFBRSxJQUFZLEVBQUUsRUFBRTtJQUM5QyxNQUFNLE1BQU0sR0FBRyxNQUFNLG1CQUFPLElBQUksd0NBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQzlDLE1BQU0sSUFBSSx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLEVBQUUsTUFBYyxFQUFFLElBQVksRUFBRSxFQUFFO0lBQ25FLE1BQU0sWUFBWSxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFbEQsT0FBTyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxHQUFHLENBQUMsTUFBYyxFQUFFLFVBQWtCLEVBQUUsRUFBRTtJQUN4RCxPQUFPLENBQUMsS0FBSyxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBRTVELElBQUksVUFBVSxLQUFLLFNBQVMsRUFBRTtRQUM1QixVQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLFNBQVMsY0FBYyxDQUFDLENBQUM7S0FDekQ7U0FBTTtRQUNMLElBQUksVUFBVSxFQUFFLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUN2QyxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BDLFVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN0QztRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQ3ZDLElBQUEseUJBQVcsRUFBQyxlQUFNLENBQUMsSUFBSSxFQUFFLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7U0FDekQ7S0FDRjtJQUVELE9BQU8scUJBQXFCLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ25ELENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxVQUFVLEdBQUcsS0FBSyxFQUN0QixnQkFBK0IsRUFDTCxFQUFFO0lBQzVCLE1BQU0sRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUMsR0FBRyxnQkFBZ0IsQ0FBQztJQUV2RSxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFM0MsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNYLE1BQU0sSUFBSSx3QkFBd0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUNwRDtJQUVELElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDVCxNQUFNLElBQUksc0JBQXNCLENBQUMsWUFBWSxDQUFDLENBQUM7S0FDaEQ7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFVBQVUsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFOUMsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSSxNQUFNLFVBQVUsR0FBRyxLQUFLLEVBQzdCLE9BQXNCLEVBQ1csRUFBRTtJQUNuQyxPQUFPLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFcEMsTUFBTSxPQUFPLEdBQUcsSUFBQSw4QkFBYSxHQUFFLENBQUM7SUFFaEMsSUFBSSxLQUFLLEVBQUUsTUFBTSxVQUFVLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUNuRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNyRCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztLQUNqQztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQWJXLFFBQUEsVUFBVSxjQWFyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAnbm9kZTpwYXRoJztcblxuaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5cbmltcG9ydCB7bG9nZ2VyfSBmcm9tICcuLi91dGlsL2xvZ2dlcic7XG5pbXBvcnQge21lbW9pemVkTG9nfSBmcm9tICcuLi91dGlsL2xvZy1tZW1vaXplJztcbmltcG9ydCB7cGx1Z2luU3RvcmFnZX0gZnJvbSAnLi4vdXRpbC9wbHVnaW4tc3RvcmFnZSc7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge1BsdWdpbkludGVyZmFjZX0gZnJvbSAnLi4vdHlwZXMvaW50ZXJmYWNlJztcbmltcG9ydCB7R2xvYmFsUGx1Z2lucywgUGx1Z2luT3B0aW9uc30gZnJvbSAnLi4vdHlwZXMvbWFuaWZlc3QnO1xuaW1wb3J0IHtQbHVnaW5TdG9yYWdlSW50ZXJmYWNlfSBmcm9tICcuLi90eXBlcy9wbHVnaW4tc3RvcmFnZSc7XG5cbmNvbnN0IHtcbiAgUGx1Z2luSW5pdGlhbGl6YXRpb25FcnJvcixcbiAgTWlzc2luZ1BsdWdpbk1ldGhvZEVycm9yLFxuICBNaXNzaW5nUGx1Z2luUGF0aEVycm9yLFxufSA9IEVSUk9SUztcblxuY29uc3Qge0dJVEhVQl9QQVRILCBOQVRJVkVfUExVR0lOfSA9IENPTkZJRztcbmNvbnN0IHtcbiAgTUlTU0lOR19NRVRIT0QsXG4gIE1JU1NJTkdfUEFUSCxcbiAgTk9UX05BVElWRV9QTFVHSU4sXG4gIElOVkFMSURfTU9EVUxFX1BBVEgsXG4gIExPQURJTkdfUExVR0lOX0ZST01fUEFUSCxcbiAgSU5JVElBTElaSU5HX1BMVUdJTixcbiAgSU5JVElBTElaSU5HX1BMVUdJTlMsXG59ID0gU1RSSU5HUztcblxuLyoqXG4gKiBJbXBvcnRzIG1vZHVsZSBieSBnaXZlbiBgcGF0aGAuXG4gKi9cbmNvbnN0IGltcG9ydE1vZHVsZUZyb20gPSBhc3luYyAocGF0aDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IG1vZHVsZSA9IGF3YWl0IGltcG9ydChwYXRoKS5jYXRjaChlcnJvciA9PiB7XG4gICAgdGhyb3cgbmV3IFBsdWdpbkluaXRpYWxpemF0aW9uRXJyb3IoSU5WQUxJRF9NT0RVTEVfUEFUSChwYXRoLCBlcnJvcikpO1xuICB9KTtcblxuICByZXR1cm4gbW9kdWxlO1xufTtcblxuLyoqXG4gKiBJbXBvcnRzIGBtb2R1bGVgIGZyb20gZ2l2ZW4gYHBhdGhgLCB0aGVuIGNoZWNrcyBpZiBpdCdzIGBNb2RlbFBsdWdpbkludGVyZmFjZWAgZXh0ZW5zaW9uLlxuICovXG5jb25zdCBpbXBvcnRBbmRWZXJpZnlNb2R1bGUgPSBhc3luYyAobWV0aG9kOiBzdHJpbmcsIHBhdGg6IHN0cmluZykgPT4ge1xuICBjb25zdCBwbHVnaW5Nb2R1bGUgPSBhd2FpdCBpbXBvcnRNb2R1bGVGcm9tKHBhdGgpO1xuXG4gIHJldHVybiBwbHVnaW5Nb2R1bGVbbWV0aG9kXTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIGlmIHBsdWdpbiBpcyBtaXNzaW5nIHRoZW4gcmVqZWN0cyB3aXRoIGVycm9yLlxuICogVGhlbiBjaGVja3MgaWYgYHBhdGhgIGlzIHN0YXJ0aW5nIHdpdGggZ2l0aHViLCB0aGVuIGdyYWJzIHRoZSByZXBvc2l0b3J5IG5hbWUuXG4gKiBJbXBvcnRzIG1vZHVsZSwgdGhlbiBjaGVja3MgaWYgaXQncyBhIHZhbGlkIHBsdWdpbi5cbiAqL1xuY29uc3QgaGFuZE1vZHVsZSA9IChtZXRob2Q6IHN0cmluZywgcGx1Z2luUGF0aDogc3RyaW5nKSA9PiB7XG4gIGNvbnNvbGUuZGVidWcoTE9BRElOR19QTFVHSU5fRlJPTV9QQVRIKG1ldGhvZCwgcGx1Z2luUGF0aCkpO1xuXG4gIGlmIChwbHVnaW5QYXRoID09PSAnYnVpbHRpbicpIHtcbiAgICBwbHVnaW5QYXRoID0gcGF0aC5ub3JtYWxpemUoYCR7X19kaXJuYW1lfS8uLi9idWlsdGluc2ApO1xuICB9IGVsc2Uge1xuICAgIGlmIChwbHVnaW5QYXRoPy5zdGFydHNXaXRoKEdJVEhVQl9QQVRIKSkge1xuICAgICAgY29uc3QgcGFydHMgPSBwbHVnaW5QYXRoLnNwbGl0KCcvJyk7XG4gICAgICBwbHVnaW5QYXRoID0gcGFydHNbcGFydHMubGVuZ3RoIC0gMV07XG4gICAgfVxuXG4gICAgaWYgKCFwbHVnaW5QYXRoLmluY2x1ZGVzKE5BVElWRV9QTFVHSU4pKSB7XG4gICAgICBtZW1vaXplZExvZyhsb2dnZXIud2FybiwgTk9UX05BVElWRV9QTFVHSU4ocGx1Z2luUGF0aCkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBpbXBvcnRBbmRWZXJpZnlNb2R1bGUobWV0aG9kLCBwbHVnaW5QYXRoKTtcbn07XG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgcGx1Z2luIHdpdGggZ2xvYmFsIGNvbmZpZy5cbiAqL1xuY29uc3QgaW5pdFBsdWdpbiA9IGFzeW5jIChcbiAgaW5pdFBsdWdpblBhcmFtczogUGx1Z2luT3B0aW9uc1xuKTogUHJvbWlzZTxQbHVnaW5JbnRlcmZhY2U+ID0+IHtcbiAgY29uc3Qge21ldGhvZCwgcGF0aCwgJ2dsb2JhbC1jb25maWcnOiBnbG9iYWxDb25maWd9ID0gaW5pdFBsdWdpblBhcmFtcztcblxuICBjb25zb2xlLmRlYnVnKElOSVRJQUxJWklOR19QTFVHSU4obWV0aG9kKSk7XG5cbiAgaWYgKCFtZXRob2QpIHtcbiAgICB0aHJvdyBuZXcgTWlzc2luZ1BsdWdpbk1ldGhvZEVycm9yKE1JU1NJTkdfTUVUSE9EKTtcbiAgfVxuXG4gIGlmICghcGF0aCkge1xuICAgIHRocm93IG5ldyBNaXNzaW5nUGx1Z2luUGF0aEVycm9yKE1JU1NJTkdfUEFUSCk7XG4gIH1cblxuICBjb25zdCBwbHVnaW4gPSBhd2FpdCBoYW5kTW9kdWxlKG1ldGhvZCwgcGF0aCk7XG5cbiAgcmV0dXJuIHBsdWdpbihnbG9iYWxDb25maWcpO1xufTtcblxuLyoqXG4gKiBSZWdpc3RlcnMgYWxsIHBsdWdpbnMgZnJvbSBgbWFuaWZlc3RgLmBpbml0aWFsaXplYCBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IGNvbnN0IGluaXRpYWxpemUgPSBhc3luYyAoXG4gIHBsdWdpbnM6IEdsb2JhbFBsdWdpbnNcbik6IFByb21pc2U8UGx1Z2luU3RvcmFnZUludGVyZmFjZT4gPT4ge1xuICBjb25zb2xlLmRlYnVnKElOSVRJQUxJWklOR19QTFVHSU5TKTtcblxuICBjb25zdCBzdG9yYWdlID0gcGx1Z2luU3RvcmFnZSgpO1xuXG4gIGZvciBhd2FpdCAoY29uc3QgcGx1Z2luTmFtZSBvZiBPYmplY3Qua2V5cyhwbHVnaW5zKSkge1xuICAgIGNvbnN0IHBsdWdpbiA9IGF3YWl0IGluaXRQbHVnaW4ocGx1Z2luc1twbHVnaW5OYW1lXSk7XG4gICAgc3RvcmFnZS5zZXQocGx1Z2luTmFtZSwgcGx1Z2luKTtcbiAgfVxuXG4gIHJldHVybiBzdG9yYWdlO1xufTtcbiJdfQ==
package/build/lib/load.js CHANGED
@@ -25,12 +25,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.loadIfDiffFiles = exports.load = void 0;
27
27
  const YAML = __importStar(require("js-yaml"));
28
- const errors_1 = require("../util/errors");
28
+ const utils_1 = require("@grnsft/if-core/utils");
29
29
  const yaml_1 = require("../util/yaml");
30
30
  const json_1 = require("../util/json");
31
31
  const config_1 = require("../config");
32
32
  const config_2 = require("../config");
33
- const { CliInputError } = errors_1.ERRORS;
33
+ const { CliSourceFileError } = utils_1.ERRORS;
34
34
  const { INVALID_SOURCE, LOADING_MANIFEST } = config_2.STRINGS;
35
35
  /**
36
36
  * Parses manifest file as an object. Checks if parameter file is passed via CLI, then loads it too.
@@ -55,7 +55,7 @@ exports.load = load;
55
55
  const loadIfDiffFiles = async (params) => {
56
56
  const { sourcePath, targetPath, pipedSourceManifest } = params;
57
57
  if (!sourcePath && !pipedSourceManifest) {
58
- throw new CliInputError(INVALID_SOURCE);
58
+ throw new CliSourceFileError(INVALID_SOURCE);
59
59
  }
60
60
  const loadFromSource = sourcePath && (await (0, yaml_1.openYamlFileAsObject)(sourcePath));
61
61
  const loadFromSTDIN = pipedSourceManifest && (await YAML.load(pipedSourceManifest));
@@ -67,4 +67,4 @@ const loadIfDiffFiles = async (params) => {
67
67
  };
68
68
  };
69
69
  exports.loadIfDiffFiles = loadIfDiffFiles;
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUFnQztBQUVoQywyQ0FBc0M7QUFDdEMsdUNBQWtEO0FBQ2xELHVDQUE4QztBQUU5QyxzQ0FBcUM7QUFDckMsc0NBQWtDO0FBTWxDLE1BQU0sRUFBQyxhQUFhLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFFL0IsTUFBTSxFQUFDLGNBQWMsRUFBRSxnQkFBZ0IsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFbkQ7OztHQUdHO0FBQ0ksTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUFFLFNBQWlCLEVBQUUsU0FBa0IsRUFBRSxFQUFFO0lBQ2xFLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVoQyxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUEsMkJBQW9CLEVBQU0sU0FBUyxDQUFDLENBQUM7SUFDL0QsTUFBTSxpQkFBaUIsR0FDckIsU0FBUztRQUNULENBQUMsTUFBTSxJQUFBLHVCQUFnQixFQUFhLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQywwQkFBMEI7SUFDN0UsTUFBTSxVQUFVLEdBQ2QsaUJBQWlCO1FBQ2pCLG1CQUFVLENBQUMsQ0FBQyxnRUFBZ0U7SUFFOUUsT0FBTztRQUNMLFdBQVc7UUFDWCxVQUFVO0tBQ1gsQ0FBQztBQUNKLENBQUMsQ0FBQztBQWZXLFFBQUEsSUFBSSxRQWVmO0FBRUY7O0dBRUc7QUFDSSxNQUFNLGVBQWUsR0FBRyxLQUFLLEVBQUUsTUFBc0IsRUFBRSxFQUFFO0lBQzlELE1BQU0sRUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFDLEdBQUcsTUFBTSxDQUFDO0lBRTdELElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxtQkFBbUIsRUFBRTtRQUN2QyxNQUFNLElBQUksYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0tBQ3pDO0lBRUQsTUFBTSxjQUFjLEdBQ2xCLFVBQVUsSUFBSSxDQUFDLE1BQU0sSUFBQSwyQkFBb0IsRUFBVyxVQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3BFLE1BQU0sYUFBYSxHQUNqQixtQkFBbUIsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBb0IsQ0FBQyxDQUFDLENBQUM7SUFFakUsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLElBQUksYUFBYSxDQUFDO0lBQzFELE1BQU0saUJBQWlCLEdBQUcsTUFBTSxJQUFBLDJCQUFvQixFQUFXLFVBQVUsQ0FBQyxDQUFDO0lBRTNFLE9BQU87UUFDTCxpQkFBaUI7UUFDakIsaUJBQWlCO0tBQ2xCLENBQUM7QUFDSixDQUFDLENBQUM7QUFuQlcsUUFBQSxlQUFlLG1CQW1CMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBZQU1MIGZyb20gJ2pzLXlhbWwnO1xuXG5pbXBvcnQge0VSUk9SU30gZnJvbSAnLi4vdXRpbC9lcnJvcnMnO1xuaW1wb3J0IHtvcGVuWWFtbEZpbGVBc09iamVjdH0gZnJvbSAnLi4vdXRpbC95YW1sJztcbmltcG9ydCB7cmVhZEFuZFBhcnNlSnNvbn0gZnJvbSAnLi4vdXRpbC9qc29uJztcblxuaW1wb3J0IHtQQVJBTUVURVJTfSBmcm9tICcuLi9jb25maWcnO1xuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge1BhcmFtZXRlcnN9IGZyb20gJy4uL3R5cGVzL3BhcmFtZXRlcnMnO1xuaW1wb3J0IHtMb2FkRGlmZlBhcmFtc30gZnJvbSAnLi4vdHlwZXMvdXRpbC9hcmdzJztcbmltcG9ydCB7TWFuaWZlc3R9IGZyb20gJy4uL3R5cGVzL21hbmlmZXN0JztcblxuY29uc3Qge0NsaUlucHV0RXJyb3J9ID0gRVJST1JTO1xuXG5jb25zdCB7SU5WQUxJRF9TT1VSQ0UsIExPQURJTkdfTUFOSUZFU1R9ID0gU1RSSU5HUztcblxuLyoqXG4gKiBQYXJzZXMgbWFuaWZlc3QgZmlsZSBhcyBhbiBvYmplY3QuIENoZWNrcyBpZiBwYXJhbWV0ZXIgZmlsZSBpcyBwYXNzZWQgdmlhIENMSSwgdGhlbiBsb2FkcyBpdCB0b28uXG4gKiBSZXR1cm5zIGNvbnRleHQsIHRyZWUgYW5kIHBhcmFtZXRlcnMgKGVpdGhlciB0aGUgZGVmYXVsdCBvbmUsIG9yIGZyb20gQ0xJKS5cbiAqL1xuZXhwb3J0IGNvbnN0IGxvYWQgPSBhc3luYyAoaW5wdXRQYXRoOiBzdHJpbmcsIHBhcmFtUGF0aD86IHN0cmluZykgPT4ge1xuICBjb25zb2xlLmRlYnVnKExPQURJTkdfTUFOSUZFU1QpO1xuXG4gIGNvbnN0IHJhd01hbmlmZXN0ID0gYXdhaXQgb3BlbllhbWxGaWxlQXNPYmplY3Q8YW55PihpbnB1dFBhdGgpO1xuICBjb25zdCBwYXJhbWV0ZXJzRnJvbUNsaSA9XG4gICAgcGFyYW1QYXRoICYmXG4gICAgKGF3YWl0IHJlYWRBbmRQYXJzZUpzb248UGFyYW1ldGVycz4ocGFyYW1QYXRoKSk7IC8qKiBAdG9kbyB2YWxpZGF0ZSBqc29uICovXG4gIGNvbnN0IHBhcmFtZXRlcnMgPVxuICAgIHBhcmFtZXRlcnNGcm9tQ2xpIHx8XG4gICAgUEFSQU1FVEVSUzsgLyoqIEB0b2RvIFBBUkFNRVRFUlMgc2hvdWxkIGJlIHNwZWNpZmllZCBpbiBwYXJhbWV0ZXJpemUgb25seSAqL1xuXG4gIHJldHVybiB7XG4gICAgcmF3TWFuaWZlc3QsXG4gICAgcGFyYW1ldGVycyxcbiAgfTtcbn07XG5cbi8qKlxuICogTG9hZHMgZmlsZXMgdG8gY29tcGFyZS4gQXMgYSBzb3VyY2UgZmlsZSBjaGVja3MgaWYgZGF0YSBpcyBwaXBlZCBhbmQgdGhlbiBkZWNpZGVzIHdoaWNoIG9uZSB0byB0YWtlLlxuICovXG5leHBvcnQgY29uc3QgbG9hZElmRGlmZkZpbGVzID0gYXN5bmMgKHBhcmFtczogTG9hZERpZmZQYXJhbXMpID0+IHtcbiAgY29uc3Qge3NvdXJjZVBhdGgsIHRhcmdldFBhdGgsIHBpcGVkU291cmNlTWFuaWZlc3R9ID0gcGFyYW1zO1xuXG4gIGlmICghc291cmNlUGF0aCAmJiAhcGlwZWRTb3VyY2VNYW5pZmVzdCkge1xuICAgIHRocm93IG5ldyBDbGlJbnB1dEVycm9yKElOVkFMSURfU09VUkNFKTtcbiAgfVxuXG4gIGNvbnN0IGxvYWRGcm9tU291cmNlID1cbiAgICBzb3VyY2VQYXRoICYmIChhd2FpdCBvcGVuWWFtbEZpbGVBc09iamVjdDxNYW5pZmVzdD4oc291cmNlUGF0aCEpKTtcbiAgY29uc3QgbG9hZEZyb21TVERJTiA9XG4gICAgcGlwZWRTb3VyY2VNYW5pZmVzdCAmJiAoYXdhaXQgWUFNTC5sb2FkKHBpcGVkU291cmNlTWFuaWZlc3QhKSk7XG5cbiAgY29uc3QgcmF3U291cmNlTWFuaWZlc3QgPSBsb2FkRnJvbVNvdXJjZSB8fCBsb2FkRnJvbVNURElOO1xuICBjb25zdCByYXdUYXJnZXRNYW5pZmVzdCA9IGF3YWl0IG9wZW5ZYW1sRmlsZUFzT2JqZWN0PE1hbmlmZXN0Pih0YXJnZXRQYXRoKTtcblxuICByZXR1cm4ge1xuICAgIHJhd1NvdXJjZU1hbmlmZXN0LFxuICAgIHJhd1RhcmdldE1hbmlmZXN0LFxuICB9O1xufTtcbiJdfQ==
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUFnQztBQUNoQyxpREFBNkM7QUFFN0MsdUNBQWtEO0FBQ2xELHVDQUE4QztBQUU5QyxzQ0FBcUM7QUFDckMsc0NBQWtDO0FBTWxDLE1BQU0sRUFBQyxrQkFBa0IsRUFBQyxHQUFHLGNBQU0sQ0FBQztBQUVwQyxNQUFNLEVBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUVuRDs7O0dBR0c7QUFDSSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQUUsU0FBaUIsRUFBRSxTQUFrQixFQUFFLEVBQUU7SUFDbEUsT0FBTyxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRWhDLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBQSwyQkFBb0IsRUFBTSxTQUFTLENBQUMsQ0FBQztJQUMvRCxNQUFNLGlCQUFpQixHQUNyQixTQUFTO1FBQ1QsQ0FBQyxNQUFNLElBQUEsdUJBQWdCLEVBQWEsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLDBCQUEwQjtJQUM3RSxNQUFNLFVBQVUsR0FDZCxpQkFBaUI7UUFDakIsbUJBQVUsQ0FBQyxDQUFDLGdFQUFnRTtJQUU5RSxPQUFPO1FBQ0wsV0FBVztRQUNYLFVBQVU7S0FDWCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBZlcsUUFBQSxJQUFJLFFBZWY7QUFFRjs7R0FFRztBQUNJLE1BQU0sZUFBZSxHQUFHLEtBQUssRUFBRSxNQUFzQixFQUFFLEVBQUU7SUFDOUQsTUFBTSxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUMsR0FBRyxNQUFNLENBQUM7SUFFN0QsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1FBQ3ZDLE1BQU0sSUFBSSxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUM5QztJQUVELE1BQU0sY0FBYyxHQUNsQixVQUFVLElBQUksQ0FBQyxNQUFNLElBQUEsMkJBQW9CLEVBQVcsVUFBVyxDQUFDLENBQUMsQ0FBQztJQUNwRSxNQUFNLGFBQWEsR0FDakIsbUJBQW1CLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW9CLENBQUMsQ0FBQyxDQUFDO0lBRWpFLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxJQUFJLGFBQWEsQ0FBQztJQUMxRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sSUFBQSwyQkFBb0IsRUFBVyxVQUFVLENBQUMsQ0FBQztJQUUzRSxPQUFPO1FBQ0wsaUJBQWlCO1FBQ2pCLGlCQUFpQjtLQUNsQixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBbkJXLFFBQUEsZUFBZSxtQkFtQjFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgWUFNTCBmcm9tICdqcy15YW1sJztcbmltcG9ydCB7RVJST1JTfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdXRpbHMnO1xuXG5pbXBvcnQge29wZW5ZYW1sRmlsZUFzT2JqZWN0fSBmcm9tICcuLi91dGlsL3lhbWwnO1xuaW1wb3J0IHtyZWFkQW5kUGFyc2VKc29ufSBmcm9tICcuLi91dGlsL2pzb24nO1xuXG5pbXBvcnQge1BBUkFNRVRFUlN9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uL2NvbmZpZyc7XG5cbmltcG9ydCB7UGFyYW1ldGVyc30gZnJvbSAnLi4vdHlwZXMvcGFyYW1ldGVycyc7XG5pbXBvcnQge0xvYWREaWZmUGFyYW1zfSBmcm9tICcuLi90eXBlcy91dGlsL2FyZ3MnO1xuaW1wb3J0IHtNYW5pZmVzdH0gZnJvbSAnLi4vdHlwZXMvbWFuaWZlc3QnO1xuXG5jb25zdCB7Q2xpU291cmNlRmlsZUVycm9yfSA9IEVSUk9SUztcblxuY29uc3Qge0lOVkFMSURfU09VUkNFLCBMT0FESU5HX01BTklGRVNUfSA9IFNUUklOR1M7XG5cbi8qKlxuICogUGFyc2VzIG1hbmlmZXN0IGZpbGUgYXMgYW4gb2JqZWN0LiBDaGVja3MgaWYgcGFyYW1ldGVyIGZpbGUgaXMgcGFzc2VkIHZpYSBDTEksIHRoZW4gbG9hZHMgaXQgdG9vLlxuICogUmV0dXJucyBjb250ZXh0LCB0cmVlIGFuZCBwYXJhbWV0ZXJzIChlaXRoZXIgdGhlIGRlZmF1bHQgb25lLCBvciBmcm9tIENMSSkuXG4gKi9cbmV4cG9ydCBjb25zdCBsb2FkID0gYXN5bmMgKGlucHV0UGF0aDogc3RyaW5nLCBwYXJhbVBhdGg/OiBzdHJpbmcpID0+IHtcbiAgY29uc29sZS5kZWJ1ZyhMT0FESU5HX01BTklGRVNUKTtcblxuICBjb25zdCByYXdNYW5pZmVzdCA9IGF3YWl0IG9wZW5ZYW1sRmlsZUFzT2JqZWN0PGFueT4oaW5wdXRQYXRoKTtcbiAgY29uc3QgcGFyYW1ldGVyc0Zyb21DbGkgPVxuICAgIHBhcmFtUGF0aCAmJlxuICAgIChhd2FpdCByZWFkQW5kUGFyc2VKc29uPFBhcmFtZXRlcnM+KHBhcmFtUGF0aCkpOyAvKiogQHRvZG8gdmFsaWRhdGUganNvbiAqL1xuICBjb25zdCBwYXJhbWV0ZXJzID1cbiAgICBwYXJhbWV0ZXJzRnJvbUNsaSB8fFxuICAgIFBBUkFNRVRFUlM7IC8qKiBAdG9kbyBQQVJBTUVURVJTIHNob3VsZCBiZSBzcGVjaWZpZWQgaW4gcGFyYW1ldGVyaXplIG9ubHkgKi9cblxuICByZXR1cm4ge1xuICAgIHJhd01hbmlmZXN0LFxuICAgIHBhcmFtZXRlcnMsXG4gIH07XG59O1xuXG4vKipcbiAqIExvYWRzIGZpbGVzIHRvIGNvbXBhcmUuIEFzIGEgc291cmNlIGZpbGUgY2hlY2tzIGlmIGRhdGEgaXMgcGlwZWQgYW5kIHRoZW4gZGVjaWRlcyB3aGljaCBvbmUgdG8gdGFrZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGxvYWRJZkRpZmZGaWxlcyA9IGFzeW5jIChwYXJhbXM6IExvYWREaWZmUGFyYW1zKSA9PiB7XG4gIGNvbnN0IHtzb3VyY2VQYXRoLCB0YXJnZXRQYXRoLCBwaXBlZFNvdXJjZU1hbmlmZXN0fSA9IHBhcmFtcztcblxuICBpZiAoIXNvdXJjZVBhdGggJiYgIXBpcGVkU291cmNlTWFuaWZlc3QpIHtcbiAgICB0aHJvdyBuZXcgQ2xpU291cmNlRmlsZUVycm9yKElOVkFMSURfU09VUkNFKTtcbiAgfVxuXG4gIGNvbnN0IGxvYWRGcm9tU291cmNlID1cbiAgICBzb3VyY2VQYXRoICYmIChhd2FpdCBvcGVuWWFtbEZpbGVBc09iamVjdDxNYW5pZmVzdD4oc291cmNlUGF0aCEpKTtcbiAgY29uc3QgbG9hZEZyb21TVERJTiA9XG4gICAgcGlwZWRTb3VyY2VNYW5pZmVzdCAmJiAoYXdhaXQgWUFNTC5sb2FkKHBpcGVkU291cmNlTWFuaWZlc3QhKSk7XG5cbiAgY29uc3QgcmF3U291cmNlTWFuaWZlc3QgPSBsb2FkRnJvbVNvdXJjZSB8fCBsb2FkRnJvbVNURElOO1xuICBjb25zdCByYXdUYXJnZXRNYW5pZmVzdCA9IGF3YWl0IG9wZW5ZYW1sRmlsZUFzT2JqZWN0PE1hbmlmZXN0Pih0YXJnZXRQYXRoKTtcblxuICByZXR1cm4ge1xuICAgIHJhd1NvdXJjZU1hbmlmZXN0LFxuICAgIHJhd1RhcmdldE1hbmlmZXN0LFxuICB9O1xufTtcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { PluginParams } from './interface';
1
+ import { PluginParams } from '@grnsft/if-core/types';
2
2
  import { Context } from './manifest';
3
3
  import { PluginStorageInterface } from './plugin-storage';
4
4
  export type NodeConfig = {
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9jb21wdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BsdWdpblBhcmFtc30gZnJvbSAnLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHtDb250ZXh0fSBmcm9tICcuL21hbmlmZXN0JztcbmltcG9ydCB7UGx1Z2luU3RvcmFnZUludGVyZmFjZX0gZnJvbSAnLi9wbHVnaW4tc3RvcmFnZSc7XG5cbmV4cG9ydCB0eXBlIE5vZGVDb25maWcgPSB7XG4gIFtrZXk6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG5leHBvcnQgdHlwZSBQYXJhbXMgPSB7XG4gIHBsdWdpblN0b3JhZ2U6IFBsdWdpblN0b3JhZ2VJbnRlcmZhY2U7XG4gIGNvbnRleHQ6IENvbnRleHQ7XG4gIHBpcGVsaW5lPzogc3RyaW5nW107XG4gIGNvbmZpZz86IE5vZGVDb25maWc7XG4gIGRlZmF1bHRzPzogUGx1Z2luUGFyYW1zO1xufTtcblxuZXhwb3J0IHR5cGUgTm9kZSA9IHtcbiAgY2hpbGRyZW4/OiBhbnk7XG4gIHBpcGVsaW5lPzogc3RyaW5nW107XG4gIGNvbmZpZz86IE5vZGVDb25maWc7XG4gIGRlZmF1bHRzPzogUGx1Z2luUGFyYW1zO1xuICBpbnB1dHM/OiBQbHVnaW5QYXJhbXNbXTtcbiAgb3V0cHV0cz86IFBsdWdpblBhcmFtc1tdO1xufTtcblxuZXhwb3J0IHR5cGUgQ29tcHV0ZVBhcmFtcyA9IHtcbiAgY29udGV4dDogQ29udGV4dDtcbiAgcGx1Z2luU3RvcmFnZTogUGx1Z2luU3RvcmFnZUludGVyZmFjZTtcbn07XG4iXX0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9jb21wdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BsdWdpblBhcmFtc30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3R5cGVzJztcblxuaW1wb3J0IHtDb250ZXh0fSBmcm9tICcuL21hbmlmZXN0JztcbmltcG9ydCB7UGx1Z2luU3RvcmFnZUludGVyZmFjZX0gZnJvbSAnLi9wbHVnaW4tc3RvcmFnZSc7XG5cbmV4cG9ydCB0eXBlIE5vZGVDb25maWcgPSB7XG4gIFtrZXk6IHN0cmluZ106IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG5leHBvcnQgdHlwZSBQYXJhbXMgPSB7XG4gIHBsdWdpblN0b3JhZ2U6IFBsdWdpblN0b3JhZ2VJbnRlcmZhY2U7XG4gIGNvbnRleHQ6IENvbnRleHQ7XG4gIHBpcGVsaW5lPzogc3RyaW5nW107XG4gIGNvbmZpZz86IE5vZGVDb25maWc7XG4gIGRlZmF1bHRzPzogUGx1Z2luUGFyYW1zO1xufTtcblxuZXhwb3J0IHR5cGUgTm9kZSA9IHtcbiAgY2hpbGRyZW4/OiBhbnk7XG4gIHBpcGVsaW5lPzogc3RyaW5nW107XG4gIGNvbmZpZz86IE5vZGVDb25maWc7XG4gIGRlZmF1bHRzPzogUGx1Z2luUGFyYW1zO1xuICBpbnB1dHM/OiBQbHVnaW5QYXJhbXNbXTtcbiAgb3V0cHV0cz86IFBsdWdpblBhcmFtc1tdO1xufTtcblxuZXhwb3J0IHR5cGUgQ29tcHV0ZVBhcmFtcyA9IHtcbiAgY29udGV4dDogQ29udGV4dDtcbiAgcGx1Z2luU3RvcmFnZTogUGx1Z2luU3RvcmFnZUludGVyZmFjZTtcbn07XG4iXX0=
@@ -0,0 +1,8 @@
1
+ export type EnvironmentOptions = {
2
+ folderPath: string;
3
+ install: boolean;
4
+ cwd: boolean;
5
+ dependencies: {
6
+ [path: string]: string;
7
+ };
8
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWYtZW52LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2lmLWVudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRW52aXJvbm1lbnRPcHRpb25zID0ge1xuICBmb2xkZXJQYXRoOiBzdHJpbmc7XG4gIGluc3RhbGw6IGJvb2xlYW47XG4gIGN3ZDogYm9vbGVhbjtcbiAgZGVwZW5kZW5jaWVzOiB7W3BhdGg6IHN0cmluZ106IHN0cmluZ307XG59O1xuIl19
@@ -1,22 +1,4 @@
1
- import { GroupByConfig } from './group-by';
2
- export type PluginParams = Record<string, any>;
3
- export type ConfigParams = Record<string, any>;
4
- export type ExecutePlugin = {
5
- execute: (inputs: PluginParams[], config?: Record<string, any>) => PluginParams[] | Promise<PluginParams[]>;
6
- metadata: {
7
- kind: string;
8
- };
9
- [key: string]: any;
10
- };
11
- export type GroupByPlugin = {
12
- execute: (inputs: PluginParams[], config: GroupByConfig) => {
13
- children: any;
14
- };
15
- metadata: {
16
- kind: string;
17
- };
18
- [key: string]: any;
19
- };
1
+ import { ExecutePlugin, GroupByPlugin } from '@grnsft/if-core/types';
20
2
  export type PluginInterface = ExecutePlugin | GroupByPlugin;
21
3
  export declare const isExecute: (plugin: PluginInterface) => plugin is ExecutePlugin;
22
4
  export declare const isGroupBy: (plugin: PluginInterface) => plugin is GroupByPlugin;
@@ -5,4 +5,4 @@ const isExecute = (plugin) => plugin.metadata.kind === 'execute';
5
5
  exports.isExecute = isExecute;
6
6
  const isGroupBy = (plugin) => plugin.metadata.kind === 'groupby';
7
7
  exports.isGroupBy = isGroupBy;
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2ludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUEyQk8sTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUF1QixFQUEyQixFQUFFLENBQzNFLE1BQXdCLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7QUFEM0MsUUFBQSxTQUFTLGFBQ2tDO0FBRWpELE1BQU0sU0FBUyxHQUFHLENBQUMsTUFBdUIsRUFBMkIsRUFBRSxDQUMzRSxNQUF3QixDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDO0FBRDNDLFFBQUEsU0FBUyxhQUNrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7R3JvdXBCeUNvbmZpZ30gZnJvbSAnLi9ncm91cC1ieSc7XG5cbmV4cG9ydCB0eXBlIFBsdWdpblBhcmFtcyA9IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbmV4cG9ydCB0eXBlIENvbmZpZ1BhcmFtcyA9IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbmV4cG9ydCB0eXBlIEV4ZWN1dGVQbHVnaW4gPSB7XG4gIGV4ZWN1dGU6IChcbiAgICBpbnB1dHM6IFBsdWdpblBhcmFtc1tdLFxuICAgIGNvbmZpZz86IFJlY29yZDxzdHJpbmcsIGFueT5cbiAgKSA9PiBQbHVnaW5QYXJhbXNbXSB8IFByb21pc2U8UGx1Z2luUGFyYW1zW10+O1xuICBtZXRhZGF0YToge1xuICAgIGtpbmQ6IHN0cmluZztcbiAgfTtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufTtcblxuZXhwb3J0IHR5cGUgR3JvdXBCeVBsdWdpbiA9IHtcbiAgZXhlY3V0ZTogKGlucHV0czogUGx1Z2luUGFyYW1zW10sIGNvbmZpZzogR3JvdXBCeUNvbmZpZykgPT4ge2NoaWxkcmVuOiBhbnl9O1xuICBtZXRhZGF0YToge1xuICAgIGtpbmQ6IHN0cmluZztcbiAgfTtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufTtcblxuZXhwb3J0IHR5cGUgUGx1Z2luSW50ZXJmYWNlID0gRXhlY3V0ZVBsdWdpbiB8IEdyb3VwQnlQbHVnaW47XG5cbmV4cG9ydCBjb25zdCBpc0V4ZWN1dGUgPSAocGx1Z2luOiBQbHVnaW5JbnRlcmZhY2UpOiBwbHVnaW4gaXMgRXhlY3V0ZVBsdWdpbiA9PlxuICAocGx1Z2luIGFzIEV4ZWN1dGVQbHVnaW4pLm1ldGFkYXRhLmtpbmQgPT09ICdleGVjdXRlJztcblxuZXhwb3J0IGNvbnN0IGlzR3JvdXBCeSA9IChwbHVnaW46IFBsdWdpbkludGVyZmFjZSk6IHBsdWdpbiBpcyBHcm91cEJ5UGx1Z2luID0+XG4gIChwbHVnaW4gYXMgR3JvdXBCeVBsdWdpbikubWV0YWRhdGEua2luZCA9PT0gJ2dyb3VwYnknO1xuIl19
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2ludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJTyxNQUFNLFNBQVMsR0FBRyxDQUFDLE1BQXVCLEVBQTJCLEVBQUUsQ0FDM0UsTUFBd0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQztBQUQzQyxRQUFBLFNBQVMsYUFDa0M7QUFFakQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxNQUF1QixFQUEyQixFQUFFLENBQzNFLE1BQXdCLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7QUFEM0MsUUFBQSxTQUFTLGFBQ2tDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFeGVjdXRlUGx1Z2luLCBHcm91cEJ5UGx1Z2lufSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdHlwZXMnO1xuXG5leHBvcnQgdHlwZSBQbHVnaW5JbnRlcmZhY2UgPSBFeGVjdXRlUGx1Z2luIHwgR3JvdXBCeVBsdWdpbjtcblxuZXhwb3J0IGNvbnN0IGlzRXhlY3V0ZSA9IChwbHVnaW46IFBsdWdpbkludGVyZmFjZSk6IHBsdWdpbiBpcyBFeGVjdXRlUGx1Z2luID0+XG4gIChwbHVnaW4gYXMgRXhlY3V0ZVBsdWdpbikubWV0YWRhdGEua2luZCA9PT0gJ2V4ZWN1dGUnO1xuXG5leHBvcnQgY29uc3QgaXNHcm91cEJ5ID0gKHBsdWdpbjogUGx1Z2luSW50ZXJmYWNlKTogcGx1Z2luIGlzIEdyb3VwQnlQbHVnaW4gPT5cbiAgKHBsdWdpbiBhcyBHcm91cEJ5UGx1Z2luKS5tZXRhZGF0YS5raW5kID09PSAnZ3JvdXBieSc7XG4iXX0=
@@ -0,0 +1,9 @@
1
+ export type PathWithVersion = {
2
+ [path: string]: string;
3
+ };
4
+ export type ManifestPlugin = {
5
+ [key: string]: {
6
+ path: string;
7
+ method: string;
8
+ };
9
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnBtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL25wbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgUGF0aFdpdGhWZXJzaW9uID0ge1twYXRoOiBzdHJpbmddOiBzdHJpbmd9O1xuXG5leHBvcnQgdHlwZSBNYW5pZmVzdFBsdWdpbiA9IHtba2V5OiBzdHJpbmddOiB7cGF0aDogc3RyaW5nOyBtZXRob2Q6IHN0cmluZ319O1xuIl19
@@ -9,6 +9,15 @@ export interface IFDiffArgs {
9
9
  source?: string;
10
10
  target: string;
11
11
  }
12
+ export interface IFEnvArgs {
13
+ manifest?: string;
14
+ install?: boolean;
15
+ cwd?: boolean;
16
+ }
17
+ export interface IFCheckArgs {
18
+ manifest?: string;
19
+ directory?: string;
20
+ }
12
21
  export interface Options {
13
22
  outputPath?: string;
14
23
  stdout?: boolean;
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3Byb2Nlc3MtYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJRUFyZ3Mge1xuICBtYW5pZmVzdD86IHN0cmluZztcbiAgb3V0cHV0Pzogc3RyaW5nO1xuICAnb3ZlcnJpZGUtcGFyYW1zJz86IHN0cmluZztcbiAgc3Rkb3V0PzogYm9vbGVhbjtcbiAgZGVidWc/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElGRGlmZkFyZ3Mge1xuICBzb3VyY2U/OiBzdHJpbmc7XG4gIHRhcmdldDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xuICBvdXRwdXRQYXRoPzogc3RyaW5nO1xuICBzdGRvdXQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2Nlc3NBcmdzT3V0cHV0cyB7XG4gIGlucHV0UGF0aDogc3RyaW5nO1xuICBvdXRwdXRPcHRpb25zOiB7XG4gICAgb3V0cHV0UGF0aD86IHN0cmluZztcbiAgICBzdGRvdXQ/OiBib29sZWFuO1xuICB9O1xuICBwYXJhbVBhdGg/OiBzdHJpbmc7XG4gIGRlYnVnPzogYm9vbGVhbjtcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3Byb2Nlc3MtYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBJRUFyZ3Mge1xuICBtYW5pZmVzdD86IHN0cmluZztcbiAgb3V0cHV0Pzogc3RyaW5nO1xuICAnb3ZlcnJpZGUtcGFyYW1zJz86IHN0cmluZztcbiAgc3Rkb3V0PzogYm9vbGVhbjtcbiAgZGVidWc/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElGRGlmZkFyZ3Mge1xuICBzb3VyY2U/OiBzdHJpbmc7XG4gIHRhcmdldDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElGRW52QXJncyB7XG4gIG1hbmlmZXN0Pzogc3RyaW5nO1xuICBpbnN0YWxsPzogYm9vbGVhbjtcbiAgY3dkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRkNoZWNrQXJncyB7XG4gIG1hbmlmZXN0Pzogc3RyaW5nO1xuICBkaXJlY3Rvcnk/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9ucyB7XG4gIG91dHB1dFBhdGg/OiBzdHJpbmc7XG4gIHN0ZG91dD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvY2Vzc0FyZ3NPdXRwdXRzIHtcbiAgaW5wdXRQYXRoOiBzdHJpbmc7XG4gIG91dHB1dE9wdGlvbnM6IHtcbiAgICBvdXRwdXRQYXRoPzogc3RyaW5nO1xuICAgIHN0ZG91dD86IGJvb2xlYW47XG4gIH07XG4gIHBhcmFtUGF0aD86IHN0cmluZztcbiAgZGVidWc/OiBib29sZWFuO1xufVxuIl19
@@ -1,4 +1,4 @@
1
- import { PluginParams } from '../types/interface';
1
+ import { PluginParams } from '@grnsft/if-core/types';
2
2
  /**
3
3
  * Aggregates child node level metrics. Validates if metric aggregation type is `none`, then rejects with error.
4
4
  * Appends aggregation additional params to metrics. Otherwise iterates over inputs by aggregating per given `metrics`.
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.aggregateInputsIntoOne = void 0;
4
- const errors_1 = require("../util/errors");
4
+ const utils_1 = require("@grnsft/if-core/utils");
5
5
  const parameterize_1 = require("../lib/parameterize");
6
6
  const config_1 = require("../config");
7
- const { InvalidAggregationParamsError } = errors_1.ERRORS;
7
+ const { InvalidAggregationMethodError, MissingAggregationParamError } = utils_1.ERRORS;
8
8
  const { INVALID_AGGREGATION_METHOD, METRIC_MISSING } = config_1.STRINGS;
9
9
  const { AGGREGATION_ADDITIONAL_PARAMS } = config_1.CONFIG;
10
10
  /**
@@ -15,7 +15,7 @@ const checkIfMetricsAreValid = (metrics) => {
15
15
  metrics.forEach(metric => {
16
16
  const method = parameterize_1.parameterize.getAggregationMethod(metric);
17
17
  if (method === 'none') {
18
- throw new InvalidAggregationParamsError(INVALID_AGGREGATION_METHOD(metric));
18
+ throw new InvalidAggregationMethodError(INVALID_AGGREGATION_METHOD(metric));
19
19
  }
20
20
  });
21
21
  };
@@ -29,7 +29,7 @@ const aggregateInputsIntoOne = (inputs, metrics, isTemporal) => {
29
29
  return inputs.reduce((acc, input, index) => {
30
30
  for (const metric of extendedMetrics) {
31
31
  if (!(metric in input)) {
32
- throw new InvalidAggregationParamsError(METRIC_MISSING(metric, index));
32
+ throw new MissingAggregationParamError(METRIC_MISSING(metric, index));
33
33
  }
34
34
  /** Checks if metric is timestamp or duration, then adds to aggregated value. */
35
35
  if (AGGREGATION_ADDITIONAL_PARAMS.includes(metric)) {
@@ -52,4 +52,4 @@ const aggregateInputsIntoOne = (inputs, metrics, isTemporal) => {
52
52
  }, {});
53
53
  };
54
54
  exports.aggregateInputsIntoOne = aggregateInputsIntoOne;
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvYWdncmVnYXRpb24taGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFzQztBQUN0QyxzREFBaUQ7QUFFakQsc0NBQTBDO0FBSzFDLE1BQU0sRUFBQyw2QkFBNkIsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUMvQyxNQUFNLEVBQUMsMEJBQTBCLEVBQUUsY0FBYyxFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUM3RCxNQUFNLEVBQUMsNkJBQTZCLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFFL0M7OztHQUdHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLE9BQWlCLEVBQUUsRUFBRTtJQUNuRCxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLDJCQUFZLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekQsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFO1lBQ3JCLE1BQU0sSUFBSSw2QkFBNkIsQ0FDckMsMEJBQTBCLENBQUMsTUFBTSxDQUFDLENBQ25DLENBQUM7U0FDSDtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0ksTUFBTSxzQkFBc0IsR0FBRyxDQUNwQyxNQUFzQixFQUN0QixPQUFpQixFQUNqQixVQUFvQixFQUNwQixFQUFFO0lBQ0Ysc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLDZCQUE2QixDQUFDLENBQUM7SUFFdkUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUN6QyxLQUFLLE1BQU0sTUFBTSxJQUFJLGVBQWUsRUFBRTtZQUNwQyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLEVBQUU7Z0JBQ3RCLE1BQU0sSUFBSSw2QkFBNkIsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDeEU7WUFFRCxnRkFBZ0Y7WUFDaEYsSUFBSSw2QkFBNkIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2xELElBQUksVUFBVSxFQUFFO29CQUNkLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQzdCO2FBQ0Y7aUJBQU07Z0JBQ0wsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9CLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBRXpDLHFDQUFxQztnQkFDckMsSUFBSSxLQUFLLEtBQUssTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQy9CLElBQUksMkJBQVksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLEVBQUU7d0JBQ3ZELEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDO3FCQUM5QjtpQkFDRjthQUNGO1NBQ0Y7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFBRSxFQUF1QixDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBbENXLFFBQUEsc0JBQXNCLDBCQWtDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VSUk9SU30gZnJvbSAnLi4vdXRpbC9lcnJvcnMnO1xuaW1wb3J0IHtwYXJhbWV0ZXJpemV9IGZyb20gJy4uL2xpYi9wYXJhbWV0ZXJpemUnO1xuXG5pbXBvcnQge0NPTkZJRywgU1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuaW1wb3J0IHtBZ2dyZWdhdGlvblJlc3VsdH0gZnJvbSAnLi4vdHlwZXMvYWdncmVnYXRpb24nO1xuaW1wb3J0IHtQbHVnaW5QYXJhbXN9IGZyb20gJy4uL3R5cGVzL2ludGVyZmFjZSc7XG5cbmNvbnN0IHtJbnZhbGlkQWdncmVnYXRpb25QYXJhbXNFcnJvcn0gPSBFUlJPUlM7XG5jb25zdCB7SU5WQUxJRF9BR0dSRUdBVElPTl9NRVRIT0QsIE1FVFJJQ19NSVNTSU5HfSA9IFNUUklOR1M7XG5jb25zdCB7QUdHUkVHQVRJT05fQURESVRJT05BTF9QQVJBTVN9ID0gQ09ORklHO1xuXG4vKipcbiAqIFZhbGlkYXRlcyBtZXRyaWNzIGFycmF5IGJlZm9yZSBhcHBseWluZyBhZ2dyZWdhdG9yLlxuICogSWYgYWdncmVnYXRpb24gbWV0aG9kIGlzIGBub25lYCwgdGhlbiB0aHJvd3MgZXJyb3IuXG4gKi9cbmNvbnN0IGNoZWNrSWZNZXRyaWNzQXJlVmFsaWQgPSAobWV0cmljczogc3RyaW5nW10pID0+IHtcbiAgbWV0cmljcy5mb3JFYWNoKG1ldHJpYyA9PiB7XG4gICAgY29uc3QgbWV0aG9kID0gcGFyYW1ldGVyaXplLmdldEFnZ3JlZ2F0aW9uTWV0aG9kKG1ldHJpYyk7XG5cbiAgICBpZiAobWV0aG9kID09PSAnbm9uZScpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQWdncmVnYXRpb25QYXJhbXNFcnJvcihcbiAgICAgICAgSU5WQUxJRF9BR0dSRUdBVElPTl9NRVRIT0QobWV0cmljKVxuICAgICAgKTtcbiAgICB9XG4gIH0pO1xufTtcblxuLyoqXG4gKiBBZ2dyZWdhdGVzIGNoaWxkIG5vZGUgbGV2ZWwgbWV0cmljcy4gVmFsaWRhdGVzIGlmIG1ldHJpYyBhZ2dyZWdhdGlvbiB0eXBlIGlzIGBub25lYCwgdGhlbiByZWplY3RzIHdpdGggZXJyb3IuXG4gKiBBcHBlbmRzIGFnZ3JlZ2F0aW9uIGFkZGl0aW9uYWwgcGFyYW1zIHRvIG1ldHJpY3MuIE90aGVyd2lzZSBpdGVyYXRlcyBvdmVyIGlucHV0cyBieSBhZ2dyZWdhdGluZyBwZXIgZ2l2ZW4gYG1ldHJpY3NgLlxuICovXG5leHBvcnQgY29uc3QgYWdncmVnYXRlSW5wdXRzSW50b09uZSA9IChcbiAgaW5wdXRzOiBQbHVnaW5QYXJhbXNbXSxcbiAgbWV0cmljczogc3RyaW5nW10sXG4gIGlzVGVtcG9yYWw/OiBib29sZWFuXG4pID0+IHtcbiAgY2hlY2tJZk1ldHJpY3NBcmVWYWxpZChtZXRyaWNzKTtcbiAgY29uc3QgZXh0ZW5kZWRNZXRyaWNzID0gWy4uLm1ldHJpY3MsIC4uLkFHR1JFR0FUSU9OX0FERElUSU9OQUxfUEFSQU1TXTtcblxuICByZXR1cm4gaW5wdXRzLnJlZHVjZSgoYWNjLCBpbnB1dCwgaW5kZXgpID0+IHtcbiAgICBmb3IgKGNvbnN0IG1ldHJpYyBvZiBleHRlbmRlZE1ldHJpY3MpIHtcbiAgICAgIGlmICghKG1ldHJpYyBpbiBpbnB1dCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBZ2dyZWdhdGlvblBhcmFtc0Vycm9yKE1FVFJJQ19NSVNTSU5HKG1ldHJpYywgaW5kZXgpKTtcbiAgICAgIH1cblxuICAgICAgLyoqIENoZWNrcyBpZiBtZXRyaWMgaXMgdGltZXN0YW1wIG9yIGR1cmF0aW9uLCB0aGVuIGFkZHMgdG8gYWdncmVnYXRlZCB2YWx1ZS4gKi9cbiAgICAgIGlmIChBR0dSRUdBVElPTl9BRERJVElPTkFMX1BBUkFNUy5pbmNsdWRlcyhtZXRyaWMpKSB7XG4gICAgICAgIGlmIChpc1RlbXBvcmFsKSB7XG4gICAgICAgICAgYWNjW21ldHJpY10gPSBpbnB1dFttZXRyaWNdO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhY2NbbWV0cmljXSA9IGFjY1ttZXRyaWNdID8/IDA7XG4gICAgICAgIGFjY1ttZXRyaWNdICs9IHBhcnNlRmxvYXQoaW5wdXRbbWV0cmljXSk7XG5cbiAgICAgICAgLyoqIENoZWNrcyBmb3IgdGhlIGxhc3QgaXRlcmF0aW9uLiAqL1xuICAgICAgICBpZiAoaW5kZXggPT09IGlucHV0cy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgaWYgKHBhcmFtZXRlcml6ZS5nZXRBZ2dyZWdhdGlvbk1ldGhvZChtZXRyaWMpID09PSAnYXZnJykge1xuICAgICAgICAgICAgYWNjW21ldHJpY10gLz0gaW5wdXRzLmxlbmd0aDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gYWNjO1xuICB9LCB7fSBhcyBBZ2dyZWdhdGlvblJlc3VsdCk7XG59O1xuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRpb24taGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvYWdncmVnYXRpb24taGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUE2QztBQUc3QyxzREFBaUQ7QUFFakQsc0NBQTBDO0FBSTFDLE1BQU0sRUFBQyw2QkFBNkIsRUFBRSw0QkFBNEIsRUFBQyxHQUFHLGNBQU0sQ0FBQztBQUM3RSxNQUFNLEVBQUMsMEJBQTBCLEVBQUUsY0FBYyxFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUM3RCxNQUFNLEVBQUMsNkJBQTZCLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFFL0M7OztHQUdHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLE9BQWlCLEVBQUUsRUFBRTtJQUNuRCxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLDJCQUFZLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekQsSUFBSSxNQUFNLEtBQUssTUFBTSxFQUFFO1lBQ3JCLE1BQU0sSUFBSSw2QkFBNkIsQ0FDckMsMEJBQTBCLENBQUMsTUFBTSxDQUFDLENBQ25DLENBQUM7U0FDSDtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0ksTUFBTSxzQkFBc0IsR0FBRyxDQUNwQyxNQUFzQixFQUN0QixPQUFpQixFQUNqQixVQUFvQixFQUNwQixFQUFFO0lBQ0Ysc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFHLE9BQU8sRUFBRSxHQUFHLDZCQUE2QixDQUFDLENBQUM7SUFFdkUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtRQUN6QyxLQUFLLE1BQU0sTUFBTSxJQUFJLGVBQWUsRUFBRTtZQUNwQyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLEVBQUU7Z0JBQ3RCLE1BQU0sSUFBSSw0QkFBNEIsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDdkU7WUFFRCxnRkFBZ0Y7WUFDaEYsSUFBSSw2QkFBNkIsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ2xELElBQUksVUFBVSxFQUFFO29CQUNkLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQzdCO2FBQ0Y7aUJBQU07Z0JBQ0wsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9CLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBRXpDLHFDQUFxQztnQkFDckMsSUFBSSxLQUFLLEtBQUssTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQy9CLElBQUksMkJBQVksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLEVBQUU7d0JBQ3ZELEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDO3FCQUM5QjtpQkFDRjthQUNGO1NBQ0Y7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFBRSxFQUF1QixDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBbENXLFFBQUEsc0JBQXNCLDBCQWtDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcbmltcG9ydCB7UGx1Z2luUGFyYW1zfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdHlwZXMnO1xuXG5pbXBvcnQge3BhcmFtZXRlcml6ZX0gZnJvbSAnLi4vbGliL3BhcmFtZXRlcml6ZSc7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge0FnZ3JlZ2F0aW9uUmVzdWx0fSBmcm9tICcuLi90eXBlcy9hZ2dyZWdhdGlvbic7XG5cbmNvbnN0IHtJbnZhbGlkQWdncmVnYXRpb25NZXRob2RFcnJvciwgTWlzc2luZ0FnZ3JlZ2F0aW9uUGFyYW1FcnJvcn0gPSBFUlJPUlM7XG5jb25zdCB7SU5WQUxJRF9BR0dSRUdBVElPTl9NRVRIT0QsIE1FVFJJQ19NSVNTSU5HfSA9IFNUUklOR1M7XG5jb25zdCB7QUdHUkVHQVRJT05fQURESVRJT05BTF9QQVJBTVN9ID0gQ09ORklHO1xuXG4vKipcbiAqIFZhbGlkYXRlcyBtZXRyaWNzIGFycmF5IGJlZm9yZSBhcHBseWluZyBhZ2dyZWdhdG9yLlxuICogSWYgYWdncmVnYXRpb24gbWV0aG9kIGlzIGBub25lYCwgdGhlbiB0aHJvd3MgZXJyb3IuXG4gKi9cbmNvbnN0IGNoZWNrSWZNZXRyaWNzQXJlVmFsaWQgPSAobWV0cmljczogc3RyaW5nW10pID0+IHtcbiAgbWV0cmljcy5mb3JFYWNoKG1ldHJpYyA9PiB7XG4gICAgY29uc3QgbWV0aG9kID0gcGFyYW1ldGVyaXplLmdldEFnZ3JlZ2F0aW9uTWV0aG9kKG1ldHJpYyk7XG5cbiAgICBpZiAobWV0aG9kID09PSAnbm9uZScpIHtcbiAgICAgIHRocm93IG5ldyBJbnZhbGlkQWdncmVnYXRpb25NZXRob2RFcnJvcihcbiAgICAgICAgSU5WQUxJRF9BR0dSRUdBVElPTl9NRVRIT0QobWV0cmljKVxuICAgICAgKTtcbiAgICB9XG4gIH0pO1xufTtcblxuLyoqXG4gKiBBZ2dyZWdhdGVzIGNoaWxkIG5vZGUgbGV2ZWwgbWV0cmljcy4gVmFsaWRhdGVzIGlmIG1ldHJpYyBhZ2dyZWdhdGlvbiB0eXBlIGlzIGBub25lYCwgdGhlbiByZWplY3RzIHdpdGggZXJyb3IuXG4gKiBBcHBlbmRzIGFnZ3JlZ2F0aW9uIGFkZGl0aW9uYWwgcGFyYW1zIHRvIG1ldHJpY3MuIE90aGVyd2lzZSBpdGVyYXRlcyBvdmVyIGlucHV0cyBieSBhZ2dyZWdhdGluZyBwZXIgZ2l2ZW4gYG1ldHJpY3NgLlxuICovXG5leHBvcnQgY29uc3QgYWdncmVnYXRlSW5wdXRzSW50b09uZSA9IChcbiAgaW5wdXRzOiBQbHVnaW5QYXJhbXNbXSxcbiAgbWV0cmljczogc3RyaW5nW10sXG4gIGlzVGVtcG9yYWw/OiBib29sZWFuXG4pID0+IHtcbiAgY2hlY2tJZk1ldHJpY3NBcmVWYWxpZChtZXRyaWNzKTtcbiAgY29uc3QgZXh0ZW5kZWRNZXRyaWNzID0gWy4uLm1ldHJpY3MsIC4uLkFHR1JFR0FUSU9OX0FERElUSU9OQUxfUEFSQU1TXTtcblxuICByZXR1cm4gaW5wdXRzLnJlZHVjZSgoYWNjLCBpbnB1dCwgaW5kZXgpID0+IHtcbiAgICBmb3IgKGNvbnN0IG1ldHJpYyBvZiBleHRlbmRlZE1ldHJpY3MpIHtcbiAgICAgIGlmICghKG1ldHJpYyBpbiBpbnB1dCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IE1pc3NpbmdBZ2dyZWdhdGlvblBhcmFtRXJyb3IoTUVUUklDX01JU1NJTkcobWV0cmljLCBpbmRleCkpO1xuICAgICAgfVxuXG4gICAgICAvKiogQ2hlY2tzIGlmIG1ldHJpYyBpcyB0aW1lc3RhbXAgb3IgZHVyYXRpb24sIHRoZW4gYWRkcyB0byBhZ2dyZWdhdGVkIHZhbHVlLiAqL1xuICAgICAgaWYgKEFHR1JFR0FUSU9OX0FERElUSU9OQUxfUEFSQU1TLmluY2x1ZGVzKG1ldHJpYykpIHtcbiAgICAgICAgaWYgKGlzVGVtcG9yYWwpIHtcbiAgICAgICAgICBhY2NbbWV0cmljXSA9IGlucHV0W21ldHJpY107XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFjY1ttZXRyaWNdID0gYWNjW21ldHJpY10gPz8gMDtcbiAgICAgICAgYWNjW21ldHJpY10gKz0gcGFyc2VGbG9hdChpbnB1dFttZXRyaWNdKTtcblxuICAgICAgICAvKiogQ2hlY2tzIGZvciB0aGUgbGFzdCBpdGVyYXRpb24uICovXG4gICAgICAgIGlmIChpbmRleCA9PT0gaW5wdXRzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICBpZiAocGFyYW1ldGVyaXplLmdldEFnZ3JlZ2F0aW9uTWV0aG9kKG1ldHJpYykgPT09ICdhdmcnKSB7XG4gICAgICAgICAgICBhY2NbbWV0cmljXSAvPSBpbnB1dHMubGVuZ3RoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBhY2M7XG4gIH0sIHt9IGFzIEFnZ3JlZ2F0aW9uUmVzdWx0KTtcbn07XG4iXX0=
@@ -6,10 +6,32 @@ import { LoadDiffParams } from '../types/util/args';
6
6
  * 3. If output params are missing, warns user about it.
7
7
  * 3. Otherwise checks if `manifest` param is there, then processes with checking if it's a yaml file.
8
8
  * If it is, then returns object containing full path.
9
- * 4. If params are missing or invalid, then rejects with `CliInputError`.
9
+ * 4. If params are missing or invalid, then rejects with `ParseCliParamsError`.
10
10
  */
11
11
  export declare const parseIEProcessArgs: () => ProcessArgsOutputs;
12
12
  /**
13
13
  * Checks for `source` and `target` flags to be present.
14
14
  */
15
15
  export declare const parseIfDiffArgs: () => LoadDiffParams;
16
+ /**
17
+ * Checks if the `manifest` command is provided and it is valid manifest file.
18
+ */
19
+ export declare const parseIfEnvArgs: () => Promise<{
20
+ manifest: string;
21
+ install: boolean | undefined;
22
+ cwd: boolean | undefined;
23
+ } | {
24
+ install: boolean | undefined;
25
+ cwd: boolean | undefined;
26
+ manifest?: undefined;
27
+ }>;
28
+ /**
29
+ * Checks if either `manifest` or `directory` command is provided.
30
+ */
31
+ export declare const parseIfCheckArgs: () => Promise<{
32
+ manifest: string;
33
+ directory?: undefined;
34
+ } | {
35
+ directory: string;
36
+ manifest?: undefined;
37
+ }>;
@@ -23,16 +23,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.parseIfDiffArgs = exports.parseIEProcessArgs = void 0;
26
+ exports.parseIfCheckArgs = exports.parseIfEnvArgs = exports.parseIfDiffArgs = exports.parseIEProcessArgs = void 0;
27
27
  const path = __importStar(require("path"));
28
28
  const ts_command_line_args_1 = require("ts-command-line-args");
29
+ const utils_1 = require("@grnsft/if-core/utils");
29
30
  const yaml_1 = require("./yaml");
30
- const errors_1 = require("./errors");
31
+ const fs_1 = require("./fs");
31
32
  const logger_1 = require("./logger");
32
33
  const config_1 = require("../config");
33
- const { CliInputError } = errors_1.ERRORS;
34
- const { IE, IF_DIFF } = config_1.CONFIG;
35
- const { FILE_IS_NOT_YAML, MANIFEST_IS_MISSING, NO_OUTPUT, SOURCE_IS_NOT_YAML, TARGET_IS_NOT_YAML, INVALID_TARGET, } = config_1.STRINGS;
34
+ const { ParseCliParamsError, CliTargetFileError, CliSourceFileError, InvalidDirectoryError, MissingCliFlagsError, } = utils_1.ERRORS;
35
+ const { IE, IF_DIFF, IF_ENV, IF_CHECK } = config_1.CONFIG;
36
+ const { MANIFEST_IS_MISSING, MANIFEST_NOT_FOUND, NO_OUTPUT, SOURCE_IS_NOT_YAML, TARGET_IS_NOT_YAML, INVALID_TARGET, IF_CHECK_FLAGS_MISSING, DIRECTORY_NOT_FOUND, } = config_1.STRINGS;
36
37
  /**
37
38
  * Validates `ie` process arguments.
38
39
  */
@@ -42,7 +43,7 @@ const validateAndParseProcessArgs = () => {
42
43
  }
43
44
  catch (error) {
44
45
  if (error instanceof Error) {
45
- throw new CliInputError(error.message);
46
+ throw new ParseCliParamsError(error.message);
46
47
  }
47
48
  throw error;
48
49
  }
@@ -63,7 +64,7 @@ const prependFullFilePath = (filePath) => {
63
64
  * 3. If output params are missing, warns user about it.
64
65
  * 3. Otherwise checks if `manifest` param is there, then processes with checking if it's a yaml file.
65
66
  * If it is, then returns object containing full path.
66
- * 4. If params are missing or invalid, then rejects with `CliInputError`.
67
+ * 4. If params are missing or invalid, then rejects with `ParseCliParamsError`.
67
68
  */
68
69
  const parseIEProcessArgs = () => {
69
70
  const { manifest, output, 'override-params': overrideParams, stdout, debug, } = validateAndParseProcessArgs();
@@ -82,9 +83,9 @@ const parseIEProcessArgs = () => {
82
83
  debug,
83
84
  };
84
85
  }
85
- throw new CliInputError(FILE_IS_NOT_YAML);
86
+ throw new CliSourceFileError(SOURCE_IS_NOT_YAML);
86
87
  }
87
- throw new CliInputError(MANIFEST_IS_MISSING);
88
+ throw new CliSourceFileError(MANIFEST_IS_MISSING);
88
89
  };
89
90
  exports.parseIEProcessArgs = parseIEProcessArgs;
90
91
  /** -- IF Diff -- */
@@ -97,7 +98,7 @@ const validateAndParseIfDiffArgs = () => {
97
98
  }
98
99
  catch (error) {
99
100
  if (error instanceof Error) {
100
- throw new CliInputError(error.message);
101
+ throw new ParseCliParamsError(error.message);
101
102
  }
102
103
  throw error;
103
104
  }
@@ -109,7 +110,7 @@ const parseIfDiffArgs = () => {
109
110
  const { source, target } = validateAndParseIfDiffArgs();
110
111
  if (target) {
111
112
  if (source && !(0, yaml_1.checkIfFileIsYaml)(source)) {
112
- throw new CliInputError(SOURCE_IS_NOT_YAML);
113
+ throw new CliSourceFileError(SOURCE_IS_NOT_YAML);
113
114
  }
114
115
  if ((0, yaml_1.checkIfFileIsYaml)(target)) {
115
116
  const response = {
@@ -120,9 +121,85 @@ const parseIfDiffArgs = () => {
120
121
  }
121
122
  return response;
122
123
  }
123
- throw new CliInputError(TARGET_IS_NOT_YAML);
124
+ throw new CliTargetFileError(TARGET_IS_NOT_YAML);
124
125
  }
125
- throw new CliInputError(INVALID_TARGET);
126
+ throw new ParseCliParamsError(INVALID_TARGET);
126
127
  };
127
128
  exports.parseIfDiffArgs = parseIfDiffArgs;
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2FyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNkI7QUFDN0IsK0RBQTJDO0FBRTNDLGlDQUF5QztBQUN6QyxxQ0FBZ0M7QUFDaEMscUNBQWdDO0FBRWhDLHNDQUEwQztBQUsxQyxNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRS9CLE1BQU0sRUFBQyxFQUFFLEVBQUUsT0FBTyxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRTdCLE1BQU0sRUFDSixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLFNBQVMsRUFDVCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLGNBQWMsR0FDZixHQUFHLGdCQUFPLENBQUM7QUFFWjs7R0FFRztBQUNILE1BQU0sMkJBQTJCLEdBQUcsR0FBRyxFQUFFO0lBQ3ZDLElBQUk7UUFDRixPQUFPLElBQUEsNEJBQUssRUFBUyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN4QztJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1lBQzFCLE1BQU0sSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsTUFBTSxLQUFLLENBQUM7S0FDYjtBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtJQUMvQyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUV6QyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDN0IsT0FBTyxRQUFRLENBQUM7S0FDakI7SUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxrQkFBa0IsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQzdELENBQUMsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSSxNQUFNLGtCQUFrQixHQUFHLEdBQXVCLEVBQUU7SUFDekQsTUFBTSxFQUNKLFFBQVEsRUFDUixNQUFNLEVBQ04saUJBQWlCLEVBQUUsY0FBYyxFQUNqQyxNQUFNLEVBQ04sS0FBSyxHQUNOLEdBQUcsMkJBQTJCLEVBQUUsQ0FBQztJQUVsQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxFQUFFO1FBQ3RCLGVBQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7S0FDeEI7SUFFRCxJQUFJLFFBQVEsRUFBRTtRQUNaLElBQUksSUFBQSx3QkFBaUIsRUFBQyxRQUFRLENBQUMsRUFBRTtZQUMvQixPQUFPO2dCQUNMLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxRQUFRLENBQUM7Z0JBQ3hDLGFBQWEsRUFBRTtvQkFDYixHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUMsVUFBVSxFQUFFLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUM7b0JBQ3hELEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBQyxNQUFNLEVBQUMsQ0FBQztpQkFDeEI7Z0JBQ0QsR0FBRyxDQUFDLGNBQWMsSUFBSSxFQUFDLFNBQVMsRUFBRSxjQUFjLEVBQUMsQ0FBQztnQkFDbEQsS0FBSzthQUNOLENBQUM7U0FDSDtRQUVELE1BQU0sSUFBSSxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQUMzQztJQUVELE1BQU0sSUFBSSxhQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQztBQUMvQyxDQUFDLENBQUM7QUE5QlcsUUFBQSxrQkFBa0Isc0JBOEI3QjtBQUVGLG9CQUFvQjtBQUVwQjs7R0FFRztBQUNILE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxFQUFFO0lBQ3RDLElBQUk7UUFDRixPQUFPLElBQUEsNEJBQUssRUFBYSxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN0RDtJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ2QsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1lBQzFCLE1BQU0sSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3hDO1FBRUQsTUFBTSxLQUFLLENBQUM7S0FDYjtBQUNILENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0ksTUFBTSxlQUFlLEdBQUcsR0FBRyxFQUFFO0lBQ2xDLE1BQU0sRUFBQyxNQUFNLEVBQUUsTUFBTSxFQUFDLEdBQUcsMEJBQTBCLEVBQUUsQ0FBQztJQUV0RCxJQUFJLE1BQU0sRUFBRTtRQUNWLElBQUksTUFBTSxJQUFJLENBQUMsSUFBQSx3QkFBaUIsRUFBQyxNQUFNLENBQUMsRUFBRTtZQUN4QyxNQUFNLElBQUksYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDN0M7UUFFRCxJQUFJLElBQUEsd0JBQWlCLEVBQUMsTUFBTSxDQUFDLEVBQUU7WUFDN0IsTUFBTSxRQUFRLEdBQW1CO2dCQUMvQixVQUFVLEVBQUUsbUJBQW1CLENBQUMsTUFBTSxDQUFDO2FBQ3hDLENBQUM7WUFFRixJQUFJLE1BQU0sSUFBSSxJQUFBLHdCQUFpQixFQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN2QyxRQUFRLENBQUMsVUFBVSxHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ25EO1lBRUQsT0FBTyxRQUFRLENBQUM7U0FDakI7UUFFRCxNQUFNLElBQUksYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7S0FDN0M7SUFFRCxNQUFNLElBQUksYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQztBQXhCVyxRQUFBLGVBQWUsbUJBd0IxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQge3BhcnNlfSBmcm9tICd0cy1jb21tYW5kLWxpbmUtYXJncyc7XG5cbmltcG9ydCB7Y2hlY2tJZkZpbGVJc1lhbWx9IGZyb20gJy4veWFtbCc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnLi9lcnJvcnMnO1xuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4vbG9nZ2VyJztcblxuaW1wb3J0IHtDT05GSUcsIFNUUklOR1N9IGZyb20gJy4uL2NvbmZpZyc7XG5cbmltcG9ydCB7SUZEaWZmQXJncywgSUVBcmdzLCBQcm9jZXNzQXJnc091dHB1dHN9IGZyb20gJy4uL3R5cGVzL3Byb2Nlc3MtYXJncyc7XG5pbXBvcnQge0xvYWREaWZmUGFyYW1zfSBmcm9tICcuLi90eXBlcy91dGlsL2FyZ3MnO1xuXG5jb25zdCB7Q2xpSW5wdXRFcnJvcn0gPSBFUlJPUlM7XG5cbmNvbnN0IHtJRSwgSUZfRElGRn0gPSBDT05GSUc7XG5cbmNvbnN0IHtcbiAgRklMRV9JU19OT1RfWUFNTCxcbiAgTUFOSUZFU1RfSVNfTUlTU0lORyxcbiAgTk9fT1VUUFVULFxuICBTT1VSQ0VfSVNfTk9UX1lBTUwsXG4gIFRBUkdFVF9JU19OT1RfWUFNTCxcbiAgSU5WQUxJRF9UQVJHRVQsXG59ID0gU1RSSU5HUztcblxuLyoqXG4gKiBWYWxpZGF0ZXMgYGllYCBwcm9jZXNzIGFyZ3VtZW50cy5cbiAqL1xuY29uc3QgdmFsaWRhdGVBbmRQYXJzZVByb2Nlc3NBcmdzID0gKCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZTxJRUFyZ3M+KElFLkFSR1MsIElFLkhFTFApO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgQ2xpSW5wdXRFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuLyoqXG4gKiBQcmVwZW5kcyBwcm9jZXNzIHBhdGggdG8gZ2l2ZW4gYGZpbGVQYXRoYC5cbiAqL1xuY29uc3QgcHJlcGVuZEZ1bGxGaWxlUGF0aCA9IChmaWxlUGF0aDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHByb2Nlc3NSdW5uaW5nUGF0aCA9IHByb2Nlc3MuY3dkKCk7XG5cbiAgaWYgKHBhdGguaXNBYnNvbHV0ZShmaWxlUGF0aCkpIHtcbiAgICByZXR1cm4gZmlsZVBhdGg7XG4gIH1cblxuICByZXR1cm4gcGF0aC5ub3JtYWxpemUoYCR7cHJvY2Vzc1J1bm5pbmdQYXRofS8ke2ZpbGVQYXRofWApO1xufTtcblxuLyoqXG4gKiAxLiBQYXJzZXMgcHJvY2VzcyBhcmd1bWVudHMgbGlrZSBgbWFuaWZlc3RgLCBgb3V0cHV0YCwgYG92ZXJyaWRlLXBhcmFtc2AsIGBoZWxwYCBhbmQgYGRlYnVnYC5cbiAqIDIuIENoZWNrcyBpZiBgaGVscGAgcGFyYW0gaXMgcHJvdmlkZWQsIHRoZW4gbG9ncyBoZWxwIG1lc3NhZ2UgYW5kIGV4aXRzLlxuICogMy4gSWYgb3V0cHV0IHBhcmFtcyBhcmUgbWlzc2luZywgd2FybnMgdXNlciBhYm91dCBpdC5cbiAqIDMuIE90aGVyd2lzZSBjaGVja3MgaWYgYG1hbmlmZXN0YCBwYXJhbSBpcyB0aGVyZSwgdGhlbiBwcm9jZXNzZXMgd2l0aCBjaGVja2luZyBpZiBpdCdzIGEgeWFtbCBmaWxlLlxuICogICAgSWYgaXQgaXMsIHRoZW4gcmV0dXJucyBvYmplY3QgY29udGFpbmluZyBmdWxsIHBhdGguXG4gKiA0LiBJZiBwYXJhbXMgYXJlIG1pc3Npbmcgb3IgaW52YWxpZCwgdGhlbiByZWplY3RzIHdpdGggYENsaUlucHV0RXJyb3JgLlxuICovXG5leHBvcnQgY29uc3QgcGFyc2VJRVByb2Nlc3NBcmdzID0gKCk6IFByb2Nlc3NBcmdzT3V0cHV0cyA9PiB7XG4gIGNvbnN0IHtcbiAgICBtYW5pZmVzdCxcbiAgICBvdXRwdXQsXG4gICAgJ292ZXJyaWRlLXBhcmFtcyc6IG92ZXJyaWRlUGFyYW1zLFxuICAgIHN0ZG91dCxcbiAgICBkZWJ1ZyxcbiAgfSA9IHZhbGlkYXRlQW5kUGFyc2VQcm9jZXNzQXJncygpO1xuXG4gIGlmICghb3V0cHV0ICYmICFzdGRvdXQpIHtcbiAgICBsb2dnZXIud2FybihOT19PVVRQVVQpO1xuICB9XG5cbiAgaWYgKG1hbmlmZXN0KSB7XG4gICAgaWYgKGNoZWNrSWZGaWxlSXNZYW1sKG1hbmlmZXN0KSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaW5wdXRQYXRoOiBwcmVwZW5kRnVsbEZpbGVQYXRoKG1hbmlmZXN0KSxcbiAgICAgICAgb3V0cHV0T3B0aW9uczoge1xuICAgICAgICAgIC4uLihvdXRwdXQgJiYge291dHB1dFBhdGg6IHByZXBlbmRGdWxsRmlsZVBhdGgob3V0cHV0KX0pLFxuICAgICAgICAgIC4uLihzdGRvdXQgJiYge3N0ZG91dH0pLFxuICAgICAgICB9LFxuICAgICAgICAuLi4ob3ZlcnJpZGVQYXJhbXMgJiYge3BhcmFtUGF0aDogb3ZlcnJpZGVQYXJhbXN9KSxcbiAgICAgICAgZGVidWcsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBDbGlJbnB1dEVycm9yKEZJTEVfSVNfTk9UX1lBTUwpO1xuICB9XG5cbiAgdGhyb3cgbmV3IENsaUlucHV0RXJyb3IoTUFOSUZFU1RfSVNfTUlTU0lORyk7XG59O1xuXG4vKiogLS0gSUYgRGlmZiAtLSAqL1xuXG4vKipcbiAqIFBhcnNlcyBgaWYtZGlmZmAgcHJvY2VzcyBhcmd1bWVudHMuXG4gKi9cbmNvbnN0IHZhbGlkYXRlQW5kUGFyc2VJZkRpZmZBcmdzID0gKCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZTxJRkRpZmZBcmdzPihJRl9ESUZGLkFSR1MsIElGX0RJRkYuSEVMUCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBDbGlJbnB1dEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG4vKipcbiAqIENoZWNrcyBmb3IgYHNvdXJjZWAgYW5kIGB0YXJnZXRgIGZsYWdzIHRvIGJlIHByZXNlbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZUlmRGlmZkFyZ3MgPSAoKSA9PiB7XG4gIGNvbnN0IHtzb3VyY2UsIHRhcmdldH0gPSB2YWxpZGF0ZUFuZFBhcnNlSWZEaWZmQXJncygpO1xuXG4gIGlmICh0YXJnZXQpIHtcbiAgICBpZiAoc291cmNlICYmICFjaGVja0lmRmlsZUlzWWFtbChzb3VyY2UpKSB7XG4gICAgICB0aHJvdyBuZXcgQ2xpSW5wdXRFcnJvcihTT1VSQ0VfSVNfTk9UX1lBTUwpO1xuICAgIH1cblxuICAgIGlmIChjaGVja0lmRmlsZUlzWWFtbCh0YXJnZXQpKSB7XG4gICAgICBjb25zdCByZXNwb25zZTogTG9hZERpZmZQYXJhbXMgPSB7XG4gICAgICAgIHRhcmdldFBhdGg6IHByZXBlbmRGdWxsRmlsZVBhdGgodGFyZ2V0KSxcbiAgICAgIH07XG5cbiAgICAgIGlmIChzb3VyY2UgJiYgY2hlY2tJZkZpbGVJc1lhbWwoc291cmNlKSkge1xuICAgICAgICByZXNwb25zZS5zb3VyY2VQYXRoID0gcHJlcGVuZEZ1bGxGaWxlUGF0aChzb3VyY2UpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IENsaUlucHV0RXJyb3IoVEFSR0VUX0lTX05PVF9ZQU1MKTtcbiAgfVxuXG4gIHRocm93IG5ldyBDbGlJbnB1dEVycm9yKElOVkFMSURfVEFSR0VUKTtcbn07XG4iXX0=
129
+ /** -- IF Env -- */
130
+ /**
131
+ * Parses `if-env` process arguments.
132
+ */
133
+ const validateAndParseIfEnvArgs = () => {
134
+ try {
135
+ return (0, ts_command_line_args_1.parse)(IF_ENV.ARGS, IF_ENV.HELP);
136
+ }
137
+ catch (error) {
138
+ if (error instanceof Error) {
139
+ throw new ParseCliParamsError(error.message);
140
+ }
141
+ throw error;
142
+ }
143
+ };
144
+ /**
145
+ * Checks if the `manifest` command is provided and it is valid manifest file.
146
+ */
147
+ const parseIfEnvArgs = async () => {
148
+ const { manifest, install, cwd } = validateAndParseIfEnvArgs();
149
+ if (manifest) {
150
+ const response = prependFullFilePath(manifest);
151
+ const isManifestFileExists = await (0, fs_1.isFileExists)(response);
152
+ if (!isManifestFileExists) {
153
+ throw new ParseCliParamsError(MANIFEST_NOT_FOUND);
154
+ }
155
+ if ((0, yaml_1.checkIfFileIsYaml)(manifest)) {
156
+ return { manifest: response, install, cwd };
157
+ }
158
+ throw new CliSourceFileError(SOURCE_IS_NOT_YAML);
159
+ }
160
+ return { install, cwd };
161
+ };
162
+ exports.parseIfEnvArgs = parseIfEnvArgs;
163
+ /** -- IF Check -- */
164
+ /**
165
+ * Parses `if-check` process arguments.
166
+ */
167
+ const validateAndParseIfCheckArgs = () => {
168
+ try {
169
+ return (0, ts_command_line_args_1.parse)(IF_CHECK.ARGS, IF_CHECK.HELP);
170
+ }
171
+ catch (error) {
172
+ if (error instanceof Error) {
173
+ throw new ParseCliParamsError(error.message);
174
+ }
175
+ throw error;
176
+ }
177
+ };
178
+ /**
179
+ * Checks if either `manifest` or `directory` command is provided.
180
+ */
181
+ const parseIfCheckArgs = async () => {
182
+ const { manifest, directory } = validateAndParseIfCheckArgs();
183
+ if (manifest) {
184
+ const response = prependFullFilePath(manifest);
185
+ const isManifestFileExists = await (0, fs_1.isFileExists)(response);
186
+ if (!isManifestFileExists) {
187
+ throw new ParseCliParamsError(MANIFEST_NOT_FOUND);
188
+ }
189
+ if ((0, yaml_1.checkIfFileIsYaml)(manifest)) {
190
+ return { manifest };
191
+ }
192
+ throw new CliSourceFileError(SOURCE_IS_NOT_YAML);
193
+ }
194
+ else if (directory) {
195
+ const isDirExists = await (0, fs_1.isDirectoryExists)(directory);
196
+ if (!isDirExists) {
197
+ throw new InvalidDirectoryError(DIRECTORY_NOT_FOUND);
198
+ }
199
+ const response = prependFullFilePath(directory);
200
+ return { directory: response };
201
+ }
202
+ throw new MissingCliFlagsError(IF_CHECK_FLAGS_MISSING);
203
+ };
204
+ exports.parseIfCheckArgs = parseIfCheckArgs;
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2FyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNkI7QUFFN0IsK0RBQTJDO0FBQzNDLGlEQUE2QztBQUU3QyxpQ0FBeUM7QUFFekMsNkJBQXFEO0FBRXJELHFDQUFnQztBQUVoQyxzQ0FBMEM7QUFXMUMsTUFBTSxFQUNKLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixvQkFBb0IsR0FDckIsR0FBRyxjQUFNLENBQUM7QUFFWCxNQUFNLEVBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRS9DLE1BQU0sRUFDSixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLFNBQVMsRUFDVCxrQkFBa0IsRUFDbEIsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsbUJBQW1CLEdBQ3BCLEdBQUcsZ0JBQU8sQ0FBQztBQUVaOztHQUVHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxHQUFHLEVBQUU7SUFDdkMsSUFBSTtRQUNGLE9BQU8sSUFBQSw0QkFBSyxFQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3hDO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUU7WUFDMUIsTUFBTSxJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM5QztRQUVELE1BQU0sS0FBSyxDQUFDO0tBQ2I7QUFDSCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUU7SUFDL0MsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7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QztLQUM5QjtJQUVELE1BQU0sSUFBSSxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQztBQTdCVyxRQUFBLGdCQUFnQixvQkE2QjNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0IHtwYXJzZX0gZnJvbSAndHMtY29tbWFuZC1saW5lLWFyZ3MnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5cbmltcG9ydCB7Y2hlY2tJZkZpbGVJc1lhbWx9IGZyb20gJy4veWFtbCc7XG5cbmltcG9ydCB7aXNEaXJlY3RvcnlFeGlzdHMsIGlzRmlsZUV4aXN0c30gZnJvbSAnLi9mcyc7XG5cbmltcG9ydCB7bG9nZ2VyfSBmcm9tICcuL2xvZ2dlcic7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge1xuICBJRkRpZmZBcmdzLFxuICBJRUFyZ3MsXG4gIFByb2Nlc3NBcmdzT3V0cHV0cyxcbiAgSUZFbnZBcmdzLFxuICBJRkNoZWNrQXJncyxcbn0gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcbmltcG9ydCB7TG9hZERpZmZQYXJhbXN9IGZyb20gJy4uL3R5cGVzL3V0aWwvYXJncyc7XG5cbmNvbnN0IHtcbiAgUGFyc2VDbGlQYXJhbXNFcnJvcixcbiAgQ2xpVGFyZ2V0RmlsZUVycm9yLFxuICBDbGlTb3VyY2VGaWxlRXJyb3IsXG4gIEludmFsaWREaXJlY3RvcnlFcnJvcixcbiAgTWlzc2luZ0NsaUZsYWdzRXJyb3IsXG59ID0gRVJST1JTO1xuXG5jb25zdCB7SUUsIElGX0RJRkYsIElGX0VOViwgSUZfQ0hFQ0t9ID0gQ09ORklHO1xuXG5jb25zdCB7XG4gIE1BTklGRVNUX0lTX01JU1NJTkcsXG4gIE1BTklGRVNUX05PVF9GT1VORCxcbiAgTk9fT1VUUFVULFxuICBTT1VSQ0VfSVNfTk9UX1lBTUwsXG4gIFRBUkdFVF9JU19OT1RfWUFNTCxcbiAgSU5WQUxJRF9UQVJHRVQsXG4gIElGX0NIRUNLX0ZMQUdTX01JU1NJTkcsXG4gIERJUkVDVE9SWV9OT1RfRk9VTkQsXG59ID0gU1RSSU5HUztcblxuLyoqXG4gKiBWYWxpZGF0ZXMgYGllYCBwcm9jZXNzIGFyZ3VtZW50cy5cbiAqL1xuY29uc3QgdmFsaWRhdGVBbmRQYXJzZVByb2Nlc3NBcmdzID0gKCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZTxJRUFyZ3M+KElFLkFSR1MsIElFLkhFTFApO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuLyoqXG4gKiBQcmVwZW5kcyBwcm9jZXNzIHBhdGggdG8gZ2l2ZW4gYGZpbGVQYXRoYC5cbiAqL1xuY29uc3QgcHJlcGVuZEZ1bGxGaWxlUGF0aCA9IChmaWxlUGF0aDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHByb2Nlc3NSdW5uaW5nUGF0aCA9IHByb2Nlc3MuY3dkKCk7XG5cbiAgaWYgKHBhdGguaXNBYnNvbHV0ZShmaWxlUGF0aCkpIHtcbiAgICByZXR1cm4gZmlsZVBhdGg7XG4gIH1cblxuICByZXR1cm4gcGF0aC5ub3JtYWxpemUoYCR7cHJvY2Vzc1J1bm5pbmdQYXRofS8ke2ZpbGVQYXRofWApO1xufTtcblxuLyoqXG4gKiAxLiBQYXJzZXMgcHJvY2VzcyBhcmd1bWVudHMgbGlrZSBgbWFuaWZlc3RgLCBgb3V0cHV0YCwgYG92ZXJyaWRlLXBhcmFtc2AsIGBoZWxwYCBhbmQgYGRlYnVnYC5cbiAqIDIuIENoZWNrcyBpZiBgaGVscGAgcGFyYW0gaXMgcHJvdmlkZWQsIHRoZW4gbG9ncyBoZWxwIG1lc3NhZ2UgYW5kIGV4aXRzLlxuICogMy4gSWYgb3V0cHV0IHBhcmFtcyBhcmUgbWlzc2luZywgd2FybnMgdXNlciBhYm91dCBpdC5cbiAqIDMuIE90aGVyd2lzZSBjaGVja3MgaWYgYG1hbmlmZXN0YCBwYXJhbSBpcyB0aGVyZSwgdGhlbiBwcm9jZXNzZXMgd2l0aCBjaGVja2luZyBpZiBpdCdzIGEgeWFtbCBmaWxlLlxuICogICAgSWYgaXQgaXMsIHRoZW4gcmV0dXJucyBvYmplY3QgY29udGFpbmluZyBmdWxsIHBhdGguXG4gKiA0LiBJZiBwYXJhbXMgYXJlIG1pc3Npbmcgb3IgaW52YWxpZCwgdGhlbiByZWplY3RzIHdpdGggYFBhcnNlQ2xpUGFyYW1zRXJyb3JgLlxuICovXG5leHBvcnQgY29uc3QgcGFyc2VJRVByb2Nlc3NBcmdzID0gKCk6IFByb2Nlc3NBcmdzT3V0cHV0cyA9PiB7XG4gIGNvbnN0IHtcbiAgICBtYW5pZmVzdCxcbiAgICBvdXRwdXQsXG4gICAgJ292ZXJyaWRlLXBhcmFtcyc6IG92ZXJyaWRlUGFyYW1zLFxuICAgIHN0ZG91dCxcbiAgICBkZWJ1ZyxcbiAgfSA9IHZhbGlkYXRlQW5kUGFyc2VQcm9jZXNzQXJncygpO1xuXG4gIGlmICghb3V0cHV0ICYmICFzdGRvdXQpIHtcbiAgICBsb2dnZXIud2FybihOT19PVVRQVVQpO1xuICB9XG5cbiAgaWYgKG1hbmlmZXN0KSB7XG4gICAgaWYgKGNoZWNrSWZGaWxlSXNZYW1sKG1hbmlmZXN0KSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaW5wdXRQYXRoOiBwcmVwZW5kRnVsbEZpbGVQYXRoKG1hbmlmZXN0KSxcbiAgICAgICAgb3V0cHV0T3B0aW9uczoge1xuICAgICAgICAgIC4uLihvdXRwdXQgJiYge291dHB1dFBhdGg6IHByZXBlbmRGdWxsRmlsZVBhdGgob3V0cHV0KX0pLFxuICAgICAgICAgIC4uLihzdGRvdXQgJiYge3N0ZG91dH0pLFxuICAgICAgICB9LFxuICAgICAgICAuLi4ob3ZlcnJpZGVQYXJhbXMgJiYge3BhcmFtUGF0aDogb3ZlcnJpZGVQYXJhbXN9KSxcbiAgICAgICAgZGVidWcsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBDbGlTb3VyY2VGaWxlRXJyb3IoU09VUkNFX0lTX05PVF9ZQU1MKTtcbiAgfVxuXG4gIHRocm93IG5ldyBDbGlTb3VyY2VGaWxlRXJyb3IoTUFOSUZFU1RfSVNfTUlTU0lORyk7XG59O1xuXG4vKiogLS0gSUYgRGlmZiAtLSAqL1xuXG4vKipcbiAqIFBhcnNlcyBgaWYtZGlmZmAgcHJvY2VzcyBhcmd1bWVudHMuXG4gKi9cbmNvbnN0IHZhbGlkYXRlQW5kUGFyc2VJZkRpZmZBcmdzID0gKCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZTxJRkRpZmZBcmdzPihJRl9ESUZGLkFSR1MsIElGX0RJRkYuSEVMUCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZUNsaVBhcmFtc0Vycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG4vKipcbiAqIENoZWNrcyBmb3IgYHNvdXJjZWAgYW5kIGB0YXJnZXRgIGZsYWdzIHRvIGJlIHByZXNlbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZUlmRGlmZkFyZ3MgPSAoKSA9PiB7XG4gIGNvbnN0IHtzb3VyY2UsIHRhcmdldH0gPSB2YWxpZGF0ZUFuZFBhcnNlSWZEaWZmQXJncygpO1xuXG4gIGlmICh0YXJnZXQpIHtcbiAgICBpZiAoc291cmNlICYmICFjaGVja0lmRmlsZUlzWWFtbChzb3VyY2UpKSB7XG4gICAgICB0aHJvdyBuZXcgQ2xpU291cmNlRmlsZUVycm9yKFNPVVJDRV9JU19OT1RfWUFNTCk7XG4gICAgfVxuXG4gICAgaWYgKGNoZWNrSWZGaWxlSXNZYW1sKHRhcmdldCkpIHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBMb2FkRGlmZlBhcmFtcyA9IHtcbiAgICAgICAgdGFyZ2V0UGF0aDogcHJlcGVuZEZ1bGxGaWxlUGF0aCh0YXJnZXQpLFxuICAgICAgfTtcblxuICAgICAgaWYgKHNvdXJjZSAmJiBjaGVja0lmRmlsZUlzWWFtbChzb3VyY2UpKSB7XG4gICAgICAgIHJlc3BvbnNlLnNvdXJjZVBhdGggPSBwcmVwZW5kRnVsbEZpbGVQYXRoKHNvdXJjZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgQ2xpVGFyZ2V0RmlsZUVycm9yKFRBUkdFVF9JU19OT1RfWUFNTCk7XG4gIH1cblxuICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihJTlZBTElEX1RBUkdFVCk7XG59O1xuXG4vKiogLS0gSUYgRW52IC0tICovXG5cbi8qKlxuICogUGFyc2VzIGBpZi1lbnZgIHByb2Nlc3MgYXJndW1lbnRzLlxuICovXG5jb25zdCB2YWxpZGF0ZUFuZFBhcnNlSWZFbnZBcmdzID0gKCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZTxJRkVudkFyZ3M+KElGX0VOVi5BUkdTLCBJRl9FTlYuSEVMUCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZUNsaVBhcmFtc0Vycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgYG1hbmlmZXN0YCBjb21tYW5kIGlzIHByb3ZpZGVkIGFuZCBpdCBpcyB2YWxpZCBtYW5pZmVzdCBmaWxlLlxuICovXG5leHBvcnQgY29uc3QgcGFyc2VJZkVudkFyZ3MgPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHttYW5pZmVzdCwgaW5zdGFsbCwgY3dkfSA9IHZhbGlkYXRlQW5kUGFyc2VJZkVudkFyZ3MoKTtcblxuICBpZiAobWFuaWZlc3QpIHtcbiAgICBjb25zdCByZXNwb25zZSA9IHByZXBlbmRGdWxsRmlsZVBhdGgobWFuaWZlc3QpO1xuICAgIGNvbnN0IGlzTWFuaWZlc3RGaWxlRXhpc3RzID0gYXdhaXQgaXNGaWxlRXhpc3RzKHJlc3BvbnNlKTtcblxuICAgIGlmICghaXNNYW5pZmVzdEZpbGVFeGlzdHMpIHtcbiAgICAgIHRocm93IG5ldyBQYXJzZUNsaVBhcmFtc0Vycm9yKE1BTklGRVNUX05PVF9GT1VORCk7XG4gICAgfVxuXG4gICAgaWYgKGNoZWNrSWZGaWxlSXNZYW1sKG1hbmlmZXN0KSkge1xuICAgICAgcmV0dXJuIHttYW5pZmVzdDogcmVzcG9uc2UsIGluc3RhbGwsIGN3ZH07XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IENsaVNvdXJjZUZpbGVFcnJvcihTT1VSQ0VfSVNfTk9UX1lBTUwpO1xuICB9XG5cbiAgcmV0dXJuIHtpbnN0YWxsLCBjd2R9O1xufTtcblxuLyoqIC0tIElGIENoZWNrIC0tICovXG5cbi8qKlxuICogUGFyc2VzIGBpZi1jaGVja2AgcHJvY2VzcyBhcmd1bWVudHMuXG4gKi9cbmNvbnN0IHZhbGlkYXRlQW5kUGFyc2VJZkNoZWNrQXJncyA9ICgpID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gcGFyc2U8SUZDaGVja0FyZ3M+KElGX0NIRUNLLkFSR1MsIElGX0NIRUNLLkhFTFApO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgUGFyc2VDbGlQYXJhbXNFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICB9XG5cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgZWl0aGVyIGBtYW5pZmVzdGAgb3IgYGRpcmVjdG9yeWAgY29tbWFuZCBpcyBwcm92aWRlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlSWZDaGVja0FyZ3MgPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHttYW5pZmVzdCwgZGlyZWN0b3J5fSA9IHZhbGlkYXRlQW5kUGFyc2VJZkNoZWNrQXJncygpO1xuXG4gIGlmIChtYW5pZmVzdCkge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gcHJlcGVuZEZ1bGxGaWxlUGF0aChtYW5pZmVzdCk7XG4gICAgY29uc3QgaXNNYW5pZmVzdEZpbGVFeGlzdHMgPSBhd2FpdCBpc0ZpbGVFeGlzdHMocmVzcG9uc2UpO1xuXG4gICAgaWYgKCFpc01hbmlmZXN0RmlsZUV4aXN0cykge1xuICAgICAgdGhyb3cgbmV3IFBhcnNlQ2xpUGFyYW1zRXJyb3IoTUFOSUZFU1RfTk9UX0ZPVU5EKTtcbiAgICB9XG5cbiAgICBpZiAoY2hlY2tJZkZpbGVJc1lhbWwobWFuaWZlc3QpKSB7XG4gICAgICByZXR1cm4ge21hbmlmZXN0fTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgQ2xpU291cmNlRmlsZUVycm9yKFNPVVJDRV9JU19OT1RfWUFNTCk7XG4gIH0gZWxzZSBpZiAoZGlyZWN0b3J5KSB7XG4gICAgY29uc3QgaXNEaXJFeGlzdHMgPSBhd2FpdCBpc0RpcmVjdG9yeUV4aXN0cyhkaXJlY3RvcnkpO1xuXG4gICAgaWYgKCFpc0RpckV4aXN0cykge1xuICAgICAgdGhyb3cgbmV3IEludmFsaWREaXJlY3RvcnlFcnJvcihESVJFQ1RPUllfTk9UX0ZPVU5EKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA9IHByZXBlbmRGdWxsRmlsZVBhdGgoZGlyZWN0b3J5KTtcblxuICAgIHJldHVybiB7ZGlyZWN0b3J5OiByZXNwb25zZX07XG4gIH1cblxuICB0aHJvdyBuZXcgTWlzc2luZ0NsaUZsYWdzRXJyb3IoSUZfQ0hFQ0tfRkxBR1NfTUlTU0lORyk7XG59O1xuIl19
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Checks if file exists with the given `filePath`.
3
+ */
4
+ export declare const isFileExists: (filePath: string) => Promise<boolean>;
5
+ /**
6
+ * Checks if the directory exists with the given `filePath`.
7
+ */
8
+ export declare const isDirectoryExists: (directoryPath: string) => Promise<boolean>;
9
+ /**
10
+ * Gets all files that have either .yml or .yaml extension in the given directory.
11
+ */
12
+ export declare const getYamlFiles: (directory: string) => Promise<string[]>;
13
+ /**
14
+ * Gets fileName from the given path without an extension.
15
+ */
16
+ export declare const getFileName: (filePath: string) => string;
17
+ /**
18
+ * Removes the given file if exists.
19
+ */
20
+ export declare const removeFileIfExists: (filePath: string) => Promise<void>;