@grnsft/if 0.4.0-beta.0 → 0.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/build/builtins/coefficient/index.d.ts +3 -0
  2. package/build/builtins/coefficient/index.js +51 -0
  3. package/build/builtins/coefficient/types.d.ts +5 -0
  4. package/build/builtins/coefficient/types.js +3 -0
  5. package/build/builtins/csv-lookup/index.d.ts +2 -0
  6. package/build/builtins/csv-lookup/index.js +181 -0
  7. package/build/builtins/divide/index.d.ts +2 -0
  8. package/build/builtins/divide/index.js +67 -0
  9. package/build/builtins/exponent/index.d.ts +3 -0
  10. package/build/builtins/exponent/index.js +72 -0
  11. package/build/builtins/exponent/types.d.ts +5 -0
  12. package/build/builtins/exponent/types.js +3 -0
  13. package/build/builtins/export-csv-raw.js +4 -1
  14. package/build/builtins/export-csv.js +4 -1
  15. package/build/builtins/export-log.js +4 -2
  16. package/build/builtins/export-yaml.js +4 -1
  17. package/build/builtins/index.d.ts +13 -0
  18. package/build/builtins/index.js +28 -2
  19. package/build/builtins/interpolation/index.d.ts +2 -0
  20. package/build/builtins/interpolation/index.js +146 -0
  21. package/build/builtins/interpolation/types.d.ts +5 -0
  22. package/build/builtins/interpolation/types.js +10 -0
  23. package/build/builtins/mock-observations/helpers/common-generator.d.ts +3 -0
  24. package/build/builtins/mock-observations/helpers/common-generator.js +32 -0
  25. package/build/builtins/mock-observations/helpers/rand-int-generator.d.ts +3 -0
  26. package/build/builtins/mock-observations/helpers/rand-int-generator.js +58 -0
  27. package/build/builtins/mock-observations/index.d.ts +3 -0
  28. package/build/builtins/mock-observations/index.js +116 -0
  29. package/build/builtins/mock-observations/interfaces/index.d.ts +6 -0
  30. package/build/builtins/mock-observations/interfaces/index.js +3 -0
  31. package/build/builtins/mock-observations/types.d.ts +13 -0
  32. package/build/builtins/mock-observations/types.js +3 -0
  33. package/build/builtins/multiply/index.d.ts +3 -0
  34. package/build/builtins/multiply/index.js +63 -0
  35. package/build/builtins/multiply/types.d.ts +4 -0
  36. package/build/builtins/multiply/types.js +3 -0
  37. package/build/builtins/regex/index.d.ts +3 -0
  38. package/build/builtins/regex/index.js +78 -0
  39. package/build/builtins/sci/config.d.ts +1 -0
  40. package/build/builtins/sci/config.js +44 -0
  41. package/build/builtins/sci/index.d.ts +3 -0
  42. package/build/builtins/sci/index.js +69 -0
  43. package/build/builtins/sci-embodied/index.d.ts +2 -0
  44. package/build/builtins/sci-embodied/index.js +115 -0
  45. package/build/builtins/shell/index.d.ts +3 -0
  46. package/build/builtins/shell/index.js +58 -0
  47. package/build/builtins/subtract/index.d.ts +3 -0
  48. package/build/builtins/subtract/index.js +75 -0
  49. package/build/builtins/subtract/types.d.ts +4 -0
  50. package/build/builtins/subtract/types.js +3 -0
  51. package/build/builtins/sum/index.d.ts +3 -0
  52. package/build/builtins/sum/index.js +61 -0
  53. package/build/builtins/sum/types.d.ts +4 -0
  54. package/build/builtins/sum/types.js +3 -0
  55. package/build/config/config.d.ts +8 -2
  56. package/build/config/config.js +34 -1
  57. package/build/config/strings.d.ts +22 -0
  58. package/build/config/strings.js +23 -1
  59. package/build/diff.d.ts +2 -0
  60. package/build/diff.js +41 -0
  61. package/build/index.js +8 -4
  62. package/build/lib/aggregate.js +5 -1
  63. package/build/lib/compare.d.ts +10 -0
  64. package/build/lib/compare.js +56 -0
  65. package/build/lib/compute.js +9 -1
  66. package/build/lib/environment.js +9 -3
  67. package/build/lib/exhaust.js +3 -2
  68. package/build/lib/initialize.js +5 -2
  69. package/build/lib/load.d.ts +48 -0
  70. package/build/lib/load.js +51 -2
  71. package/build/lib/parameterize.js +8 -4
  72. package/build/types/common.d.ts +4 -0
  73. package/build/types/common.js +3 -0
  74. package/build/types/helpers.d.ts +4 -0
  75. package/build/types/helpers.js +3 -0
  76. package/build/types/interface.d.ts +2 -1
  77. package/build/types/interface.js +1 -1
  78. package/build/types/lib/compare.d.ts +7 -0
  79. package/build/types/lib/compare.js +3 -0
  80. package/build/types/process-args.d.ts +7 -1
  81. package/build/types/process-args.js +1 -1
  82. package/build/types/util/args.d.ts +4 -0
  83. package/build/types/util/args.js +3 -0
  84. package/build/util/args.d.ts +7 -2
  85. package/build/util/args.js +49 -11
  86. package/build/util/debug-logger.d.ts +4 -0
  87. package/build/util/debug-logger.js +117 -0
  88. package/build/util/errors.d.ts +1 -1
  89. package/build/util/errors.js +6 -1
  90. package/build/util/helpers.d.ts +23 -0
  91. package/build/util/helpers.js +116 -2
  92. package/build/util/log-memoize.d.ts +1 -1
  93. package/build/util/log-memoize.js +1 -1
  94. package/build/util/validations.d.ts +59 -51
  95. package/build/util/validations.js +49 -18
  96. package/package.json +1 -1
  97. package/.env +0 -5
  98. package/coverage/clover.xml +0 -1590
  99. package/coverage/coverage-final.json +0 -50
  100. package/coverage/lcov-report/base.css +0 -224
  101. package/coverage/lcov-report/block-navigation.js +0 -87
  102. package/coverage/lcov-report/builtins/coefficient/index.html +0 -116
  103. package/coverage/lcov-report/builtins/coefficient/index.ts.html +0 -295
  104. package/coverage/lcov-report/builtins/csv-lookup/index.html +0 -116
  105. package/coverage/lcov-report/builtins/csv-lookup/index.ts.html +0 -832
  106. package/coverage/lcov-report/builtins/divide/index.html +0 -116
  107. package/coverage/lcov-report/builtins/divide/index.ts.html +0 -361
  108. package/coverage/lcov-report/builtins/exponent/index.html +0 -116
  109. package/coverage/lcov-report/builtins/exponent/index.ts.html +0 -355
  110. package/coverage/lcov-report/builtins/export-csv-raw.ts.html +0 -553
  111. package/coverage/lcov-report/builtins/export-csv.ts.html +0 -433
  112. package/coverage/lcov-report/builtins/export-log.ts.html +0 -145
  113. package/coverage/lcov-report/builtins/export-yaml.ts.html +0 -184
  114. package/coverage/lcov-report/builtins/group-by.ts.html +0 -364
  115. package/coverage/lcov-report/builtins/index.html +0 -206
  116. package/coverage/lcov-report/builtins/index.ts.html +0 -130
  117. package/coverage/lcov-report/builtins/interpolation/index.html +0 -131
  118. package/coverage/lcov-report/builtins/interpolation/index.ts.html +0 -670
  119. package/coverage/lcov-report/builtins/interpolation/types.ts.html +0 -100
  120. package/coverage/lcov-report/builtins/mock-observations/helpers/common-generator.ts.html +0 -181
  121. package/coverage/lcov-report/builtins/mock-observations/helpers/index.html +0 -131
  122. package/coverage/lcov-report/builtins/mock-observations/helpers/rand-int-generator.ts.html +0 -295
  123. package/coverage/lcov-report/builtins/mock-observations/index.html +0 -116
  124. package/coverage/lcov-report/builtins/mock-observations/index.ts.html +0 -613
  125. package/coverage/lcov-report/builtins/multiply/index.html +0 -116
  126. package/coverage/lcov-report/builtins/multiply/index.ts.html +0 -337
  127. package/coverage/lcov-report/builtins/regex/index.html +0 -116
  128. package/coverage/lcov-report/builtins/regex/index.ts.html +0 -379
  129. package/coverage/lcov-report/builtins/sci/config.ts.html +0 -205
  130. package/coverage/lcov-report/builtins/sci/index.html +0 -116
  131. package/coverage/lcov-report/builtins/sci/index.ts.html +0 -331
  132. package/coverage/lcov-report/builtins/sci-embodied/index.html +0 -116
  133. package/coverage/lcov-report/builtins/sci-embodied/index.ts.html +0 -481
  134. package/coverage/lcov-report/builtins/shell/index.html +0 -116
  135. package/coverage/lcov-report/builtins/shell/index.ts.html +0 -283
  136. package/coverage/lcov-report/builtins/subtract/index.html +0 -116
  137. package/coverage/lcov-report/builtins/subtract/index.ts.html +0 -373
  138. package/coverage/lcov-report/builtins/sum/index.html +0 -116
  139. package/coverage/lcov-report/builtins/sum/index.ts.html +0 -340
  140. package/coverage/lcov-report/builtins/time-sync.ts.html +0 -1459
  141. package/coverage/lcov-report/config/config.ts.html +0 -334
  142. package/coverage/lcov-report/config/index.html +0 -161
  143. package/coverage/lcov-report/config/index.ts.html +0 -94
  144. package/coverage/lcov-report/config/params.ts.html +0 -697
  145. package/coverage/lcov-report/config/strings.ts.html +0 -415
  146. package/coverage/lcov-report/favicon.png +0 -0
  147. package/coverage/lcov-report/index.html +0 -386
  148. package/coverage/lcov-report/lib/aggregate.ts.html +0 -331
  149. package/coverage/lcov-report/lib/compare.ts.html +0 -283
  150. package/coverage/lcov-report/lib/compute.ts.html +0 -391
  151. package/coverage/lcov-report/lib/environment.ts.html +0 -343
  152. package/coverage/lcov-report/lib/exhaust.ts.html +0 -283
  153. package/coverage/lcov-report/lib/index.html +0 -221
  154. package/coverage/lcov-report/lib/initialize.ts.html +0 -388
  155. package/coverage/lcov-report/lib/load.ts.html +0 -268
  156. package/coverage/lcov-report/lib/parameterize.ts.html +0 -283
  157. package/coverage/lcov-report/prettify.css +0 -1
  158. package/coverage/lcov-report/prettify.js +0 -2
  159. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  160. package/coverage/lcov-report/sorter.js +0 -196
  161. package/coverage/lcov-report/types/aggregation.ts.html +0 -94
  162. package/coverage/lcov-report/types/index.html +0 -146
  163. package/coverage/lcov-report/types/interface.ts.html +0 -181
  164. package/coverage/lcov-report/types/parameters.ts.html +0 -106
  165. package/coverage/lcov-report/util/aggregation-helper.ts.html +0 -286
  166. package/coverage/lcov-report/util/args.ts.html +0 -508
  167. package/coverage/lcov-report/util/errors.ts.html +0 -232
  168. package/coverage/lcov-report/util/helpers.ts.html +0 -613
  169. package/coverage/lcov-report/util/index.html +0 -266
  170. package/coverage/lcov-report/util/json.ts.html +0 -115
  171. package/coverage/lcov-report/util/log-memoize.ts.html +0 -145
  172. package/coverage/lcov-report/util/logger.ts.html +0 -151
  173. package/coverage/lcov-report/util/os-checker.ts.html +0 -421
  174. package/coverage/lcov-report/util/plugin-storage.ts.html +0 -199
  175. package/coverage/lcov-report/util/validations.ts.html +0 -526
  176. package/coverage/lcov-report/util/yaml.ts.html +0 -193
  177. package/coverage/lcov.info +0 -2811
  178. package/src/__tests__/integration/manifest/sci-e.yaml +0 -23
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.debugLogger = void 0;
4
+ const strings_1 = require("../config/strings");
5
+ const logMessagesKeys = [
6
+ 'STARTING_IF',
7
+ 'EXITING_IF',
8
+ 'LOADING_MANIFEST',
9
+ 'VALIDATING_MANIFEST',
10
+ 'CAPTURING_RUNTIME_ENVIRONMENT_DATA',
11
+ 'SYNCING_PARAMETERS',
12
+ 'CHECKING_AGGREGATION_METHOD',
13
+ 'INITIALIZING_PLUGINS',
14
+ 'INITIALIZING_PLUGIN',
15
+ 'LOADING_PLUGIN_FROM_PATH',
16
+ 'COMPUTING_PIPELINE_FOR_NODE',
17
+ 'MERGING_DEFAULTS_WITH_INPUT_DATA',
18
+ 'AGGREGATING_OUTPUTS',
19
+ 'AGGREGATING_NODE',
20
+ 'PREPARING_OUTPUT_DATA',
21
+ 'EXPORTING_TO_YAML_FILE',
22
+ 'EXPORTING_TO_CSV_FILE',
23
+ 'EXPORTING_RAW_CSV_FILE',
24
+ ];
25
+ var LogLevel;
26
+ (function (LogLevel) {
27
+ LogLevel["Info"] = "INFO";
28
+ LogLevel["Warn"] = "WARN";
29
+ LogLevel["Error"] = "ERROR";
30
+ LogLevel["Debug"] = "DEBUG";
31
+ })(LogLevel || (LogLevel = {}));
32
+ const originalConsole = {
33
+ log: console.log,
34
+ info: console.info,
35
+ warn: console.warn,
36
+ error: console.error,
37
+ debug: console.debug,
38
+ };
39
+ /**
40
+ * Overrides console methods with custom debug logging.
41
+ */
42
+ const overrideConsoleMethods = (debugMode) => {
43
+ console.log = (...args) => debugLog(LogLevel.Info, args, debugMode);
44
+ console.info = (...args) => debugLog(LogLevel.Info, args, debugMode);
45
+ console.warn = (...args) => debugLog(LogLevel.Warn, args, debugMode);
46
+ console.error = (...args) => debugLog(LogLevel.Error, args, debugMode);
47
+ console.debug = (...args) => debugLog(LogLevel.Debug, args, debugMode);
48
+ };
49
+ /**
50
+ * Creates an encapsulated object to retrieve the plugin name.
51
+ */
52
+ const pluginNameManager = (() => {
53
+ let pluginName = '';
54
+ const manager = {
55
+ get currentPluginName() {
56
+ return pluginName;
57
+ },
58
+ set currentPluginName(value) {
59
+ pluginName = value;
60
+ },
61
+ };
62
+ return manager;
63
+ })();
64
+ /**
65
+ * Sets the name of the currently executing plugin.
66
+ */
67
+ const setExecutingPluginName = (pluginName) => {
68
+ pluginNameManager.currentPluginName = pluginName;
69
+ };
70
+ /**
71
+ * Logs messages with the specified log level and format.
72
+ */
73
+ const debugLog = (level, args, debugMode) => {
74
+ if (!debugMode) {
75
+ if (level === LogLevel.Debug) {
76
+ return;
77
+ }
78
+ const isDebugLog = logMessagesKeys.some(key => {
79
+ const message = typeof strings_1.STRINGS[key] === 'function'
80
+ ? strings_1.STRINGS[key].call(null, '')
81
+ : strings_1.STRINGS[key];
82
+ return args[0].includes(message);
83
+ });
84
+ if (!isDebugLog) {
85
+ originalConsole.log(...args);
86
+ }
87
+ return;
88
+ }
89
+ if (args[0].includes('# start')) {
90
+ originalConsole.log(...args);
91
+ return;
92
+ }
93
+ const date = new Date().toISOString();
94
+ const plugin = pluginNameManager.currentPluginName;
95
+ const formattedMessage = `${level}: ${date}: ${plugin ? plugin + ': ' : ''}${args.join(', ')}`;
96
+ if (debugMode) {
97
+ switch (level) {
98
+ case LogLevel.Info:
99
+ originalConsole.info(formattedMessage);
100
+ break;
101
+ case LogLevel.Warn:
102
+ originalConsole.warn(formattedMessage);
103
+ break;
104
+ case LogLevel.Error:
105
+ originalConsole.error(formattedMessage);
106
+ break;
107
+ case LogLevel.Debug:
108
+ originalConsole.debug(formattedMessage);
109
+ break;
110
+ }
111
+ }
112
+ };
113
+ exports.debugLogger = {
114
+ overrideConsoleMethods,
115
+ setExecutingPluginName,
116
+ };
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWctbG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvZGVidWctbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUEwQztBQUUxQyxNQUFNLGVBQWUsR0FBNkI7SUFDaEQsYUFBYTtJQUNiLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIscUJBQXFCO0lBQ3JCLG9DQUFvQztJQUNwQyxvQkFBb0I7SUFDcEIsNkJBQTZCO0lBQzdCLHNCQUFzQjtJQUN0QixxQkFBcUI7SUFDckIsMEJBQTBCO0lBQzFCLDZCQUE2QjtJQUM3QixrQ0FBa0M7SUFDbEMscUJBQXFCO0lBQ3JCLGtCQUFrQjtJQUNsQix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLHVCQUF1QjtJQUN2Qix3QkFBd0I7Q0FDekIsQ0FBQztBQUVGLElBQUssUUFLSjtBQUxELFdBQUssUUFBUTtJQUNYLHlCQUFhLENBQUE7SUFDYix5QkFBYSxDQUFBO0lBQ2IsMkJBQWUsQ0FBQTtJQUNmLDJCQUFlLENBQUE7QUFDakIsQ0FBQyxFQUxJLFFBQVEsS0FBUixRQUFRLFFBS1o7QUFFRCxNQUFNLGVBQWUsR0FBRztJQUN0QixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7SUFDaEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO0lBQ2xCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtJQUNsQixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7SUFDcEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO0NBQ3JCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxTQUFrQixFQUFFLEVBQUU7SUFDcEQsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDM0UsT0FBTyxDQUFDLElBQUks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QVEsQ0FBQyxJQUFJO2dCQUNoQixlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3ZDLE1BQU07WUFDUixLQUFLLFFBQVEsQ0FBQyxJQUFJO2dCQUNoQixlQUFlLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3ZDLE1BQU07WUFDUixLQUFLLFFBQVEsQ0FBQyxLQUFLO2dCQUNqQixlQUFlLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3hDLE1BQU07WUFDUixLQUFLLFFBQVEsQ0FBQyxLQUFLO2dCQUNqQixlQUFlLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3hDLE1BQU07U0FDVDtLQUNGO0FBQ0gsQ0FBQyxDQUFDO0FBRVcsUUFBQSxXQUFXLEdBQUc7SUFDekIsc0JBQXNCO0lBQ3RCLHNCQUFzQjtDQUN2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcvc3RyaW5ncyc7XG5cbmNvbnN0IGxvZ01lc3NhZ2VzS2V5czogKGtleW9mIHR5cGVvZiBTVFJJTkdTKVtdID0gW1xuICAnU1RBUlRJTkdfSUYnLFxuICAnRVhJVElOR19JRicsXG4gICdMT0FESU5HX01BTklGRVNUJyxcbiAgJ1ZBTElEQVRJTkdfTUFOSUZFU1QnLFxuICAnQ0FQVFVSSU5HX1JVTlRJTUVfRU5WSVJPTk1FTlRfREFUQScsXG4gICdTWU5DSU5HX1BBUkFNRVRFUlMnLFxuICAnQ0hFQ0tJTkdfQUdHUkVHQVRJT05fTUVUSE9EJyxcbiAgJ0lOSVRJQUxJWklOR19QTFVHSU5TJyxcbiAgJ0lOSVRJQUxJWklOR19QTFVHSU4nLFxuICAnTE9BRElOR19QTFVHSU5fRlJPTV9QQVRIJyxcbiAgJ0NPTVBVVElOR19QSVBFTElORV9GT1JfTk9ERScsXG4gICdNRVJHSU5HX0RFRkFVTFRTX1dJVEhfSU5QVVRfREFUQScsXG4gICdBR0dSRUdBVElOR19PVVRQVVRTJyxcbiAgJ0FHR1JFR0FUSU5HX05PREUnLFxuICAnUFJFUEFSSU5HX09VVFBVVF9EQVRBJyxcbiAgJ0VYUE9SVElOR19UT19ZQU1MX0ZJTEUnLFxuICAnRVhQT1JUSU5HX1RPX0NTVl9GSUxFJyxcbiAgJ0VYUE9SVElOR19SQVdfQ1NWX0ZJTEUnLFxuXTtcblxuZW51bSBMb2dMZXZlbCB7XG4gIEluZm8gPSAnSU5GTycsXG4gIFdhcm4gPSAnV0FSTicsXG4gIEVycm9yID0gJ0VSUk9SJyxcbiAgRGVidWcgPSAnREVCVUcnLFxufVxuXG5jb25zdCBvcmlnaW5hbENvbnNvbGUgPSB7XG4gIGxvZzogY29uc29sZS5sb2csXG4gIGluZm86IGNvbnNvbGUuaW5mbyxcbiAgd2FybjogY29uc29sZS53YXJuLFxuICBlcnJvcjogY29uc29sZS5lcnJvcixcbiAgZGVidWc6IGNvbnNvbGUuZGVidWcsXG59O1xuXG4vKipcbiAqIE92ZXJyaWRlcyBjb25zb2xlIG1ldGhvZHMgd2l0aCBjdXN0b20gZGVidWcgbG9nZ2luZy5cbiAqL1xuY29uc3Qgb3ZlcnJpZGVDb25zb2xlTWV0aG9kcyA9IChkZWJ1Z01vZGU6IGJvb2xlYW4pID0+IHtcbiAgY29uc29sZS5sb2cgPSAoLi4uYXJnczogYW55W10pID0+IGRlYnVnTG9nKExvZ0xldmVsLkluZm8sIGFyZ3MsIGRlYnVnTW9kZSk7XG4gIGNvbnNvbGUuaW5mbyA9ICguLi5hcmdzOiBhbnlbXSkgPT4gZGVidWdMb2coTG9nTGV2ZWwuSW5mbywgYXJncywgZGVidWdNb2RlKTtcbiAgY29uc29sZS53YXJuID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBkZWJ1Z0xvZyhMb2dMZXZlbC5XYXJuLCBhcmdzLCBkZWJ1Z01vZGUpO1xuICBjb25zb2xlLmVycm9yID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBkZWJ1Z0xvZyhMb2dMZXZlbC5FcnJvciwgYXJncywgZGVidWdNb2RlKTtcbiAgY29uc29sZS5kZWJ1ZyA9ICguLi5hcmdzOiBhbnlbXSkgPT4gZGVidWdMb2coTG9nTGV2ZWwuRGVidWcsIGFyZ3MsIGRlYnVnTW9kZSk7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gZW5jYXBzdWxhdGVkIG9iamVjdCB0byByZXRyaWV2ZSB0aGUgcGx1Z2luIG5hbWUuXG4gKi9cbmNvbnN0IHBsdWdpbk5hbWVNYW5hZ2VyID0gKCgpID0+IHtcbiAgbGV0IHBsdWdpbk5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCA9ICcnO1xuXG4gIGNvbnN0IG1hbmFnZXIgPSB7XG4gICAgZ2V0IGN1cnJlbnRQbHVnaW5OYW1lKCkge1xuICAgICAgcmV0dXJuIHBsdWdpbk5hbWU7XG4gICAgfSxcbiAgICBzZXQgY3VycmVudFBsdWdpbk5hbWUodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgICAgcGx1Z2luTmFtZSA9IHZhbHVlO1xuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIG1hbmFnZXI7XG59KSgpO1xuXG4vKipcbiAqIFNldHMgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgcGx1Z2luLlxuICovXG5jb25zdCBzZXRFeGVjdXRpbmdQbHVnaW5OYW1lID0gKHBsdWdpbk5hbWU/OiBzdHJpbmcpID0+IHtcbiAgcGx1Z2luTmFtZU1hbmFnZXIuY3VycmVudFBsdWdpbk5hbWUgPSBwbHVnaW5OYW1lO1xufTtcblxuLyoqXG4gKiBMb2dzIG1lc3NhZ2VzIHdpdGggdGhlIHNwZWNpZmllZCBsb2cgbGV2ZWwgYW5kIGZvcm1hdC5cbiAqL1xuY29uc3QgZGVidWdMb2cgPSAobGV2ZWw6IExvZ0xldmVsLCBhcmdzOiBhbnlbXSwgZGVidWdNb2RlOiBib29sZWFuKSA9PiB7XG4gIGlmICghZGVidWdNb2RlKSB7XG4gICAgaWYgKGxldmVsID09PSBMb2dMZXZlbC5EZWJ1Zykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlzRGVidWdMb2cgPSBsb2dNZXNzYWdlc0tleXMuc29tZShrZXkgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZSA9XG4gICAgICAgIHR5cGVvZiBTVFJJTkdTW2tleV0gPT09ICdmdW5jdGlvbidcbiAgICAgICAgICA/IChTVFJJTkdTW2tleV0gYXMgRnVuY3Rpb24pLmNhbGwobnVsbCwgJycpXG4gICAgICAgICAgOiAoU1RSSU5HU1trZXldIGFzIHN0cmluZyk7XG5cbiAgICAgIHJldHVybiBhcmdzWzBdLmluY2x1ZGVzKG1lc3NhZ2UpO1xuICAgIH0pO1xuXG4gICAgaWYgKCFpc0RlYnVnTG9nKSB7XG4gICAgICBvcmlnaW5hbENvbnNvbGUubG9nKC4uLmFyZ3MpO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChhcmdzWzBdLmluY2x1ZGVzKCcjIHN0YXJ0JykpIHtcbiAgICBvcmlnaW5hbENvbnNvbGUubG9nKC4uLmFyZ3MpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XG4gIGNvbnN0IHBsdWdpbiA9IHBsdWdpbk5hbWVNYW5hZ2VyLmN1cnJlbnRQbHVnaW5OYW1lO1xuICBjb25zdCBmb3JtYXR0ZWRNZXNzYWdlID0gYCR7bGV2ZWx9OiAke2RhdGV9OiAke1xuICAgIHBsdWdpbiA/IHBsdWdpbiArICc6ICcgOiAnJ1xuICB9JHthcmdzLmpvaW4oJywgJyl9YDtcblxuICBpZiAoZGVidWdNb2RlKSB7XG4gICAgc3dpdGNoIChsZXZlbCkge1xuICAgICAgY2FzZSBMb2dMZXZlbC5JbmZvOlxuICAgICAgICBvcmlnaW5hbENvbnNvbGUuaW5mbyhmb3JtYXR0ZWRNZXNzYWdlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIExvZ0xldmVsLldhcm46XG4gICAgICAgIG9yaWdpbmFsQ29uc29sZS53YXJuKGZvcm1hdHRlZE1lc3NhZ2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgTG9nTGV2ZWwuRXJyb3I6XG4gICAgICAgIG9yaWdpbmFsQ29uc29sZS5lcnJvcihmb3JtYXR0ZWRNZXNzYWdlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIExvZ0xldmVsLkRlYnVnOlxuICAgICAgICBvcmlnaW5hbENvbnNvbGUuZGVidWcoZm9ybWF0dGVkTWVzc2FnZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGRlYnVnTG9nZ2VyID0ge1xuICBvdmVycmlkZUNvbnNvbGVNZXRob2RzLFxuICBzZXRFeGVjdXRpbmdQbHVnaW5OYW1lLFxufTtcbiJdfQ==
@@ -1,4 +1,4 @@
1
- declare const CUSTOM_ERRORS: readonly ["CliInputError", "ExhaustError", "ManifestValidationError", "ModuleInitializationError", "InputValidationError", "InvalidAggregationParamsError", "InvalidGroupingError", "PluginCredentialError", "PluginInitalizationError", "WriteFileError"];
1
+ declare const CUSTOM_ERRORS: readonly ["CliInputError", "ConfigNotFoundError", "ConfigValidationError", "ExhaustError", "FileNotFoundError", "MakeDirectoryError", "ManifestValidationError", "ModuleInitializationError", "InputValidationError", "InvalidAggregationParamsError", "InvalidGroupingError", "PluginCredentialError", "PluginInitalizationError", "WriteFileError", "ConfigNotFoundError"];
2
2
  type CustomErrors = {
3
3
  [K in (typeof CUSTOM_ERRORS)[number]]: ErrorConstructor;
4
4
  };
@@ -3,7 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ERRORS = void 0;
4
4
  const CUSTOM_ERRORS = [
5
5
  'CliInputError',
6
+ 'ConfigNotFoundError',
7
+ 'ConfigValidationError',
6
8
  'ExhaustError',
9
+ 'FileNotFoundError',
10
+ 'MakeDirectoryError',
7
11
  'ManifestValidationError',
8
12
  'ModuleInitializationError',
9
13
  'InputValidationError',
@@ -12,6 +16,7 @@ const CUSTOM_ERRORS = [
12
16
  'PluginCredentialError',
13
17
  'PluginInitalizationError',
14
18
  'WriteFileError',
19
+ 'ConfigNotFoundError',
15
20
  ];
16
21
  exports.ERRORS = CUSTOM_ERRORS.reduce((acc, className) => {
17
22
  acc = {
@@ -25,4 +30,4 @@ exports.ERRORS = CUSTOM_ERRORS.reduce((acc, className) => {
25
30
  };
26
31
  return acc;
27
32
  }, {});
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLGVBQWU7SUFDZixjQUFjO0lBQ2QseUJBQXlCO0lBQ3pCLDJCQUEyQjtJQUMzQixzQkFBc0I7SUFDdEIsK0JBQStCO0lBQy9CLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsMEJBQTBCO0lBQzFCLGdCQUFnQjtDQUNSLENBQUM7QUFNRSxRQUFBLE1BQU0sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxFQUFFO0lBQzVELEdBQUcsR0FBRztRQUNKLEdBQUcsR0FBRztRQUNOLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBTSxTQUFRLEtBQUs7WUFDOUIsWUFBWSxPQUFlO2dCQUN6QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNwQyxDQUFDO1NBQ0Y7S0FDRixDQUFDO0lBRUYsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLEVBQUUsRUFBa0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgQ1VTVE9NX0VSUk9SUyA9IFtcbiAgJ0NsaUlucHV0RXJyb3InLFxuICAnRXhoYXVzdEVycm9yJyxcbiAgJ01hbmlmZXN0VmFsaWRhdGlvbkVycm9yJyxcbiAgJ01vZHVsZUluaXRpYWxpemF0aW9uRXJyb3InLFxuICAnSW5wdXRWYWxpZGF0aW9uRXJyb3InLFxuICAnSW52YWxpZEFnZ3JlZ2F0aW9uUGFyYW1zRXJyb3InLFxuICAnSW52YWxpZEdyb3VwaW5nRXJyb3InLFxuICAnUGx1Z2luQ3JlZGVudGlhbEVycm9yJyxcbiAgJ1BsdWdpbkluaXRhbGl6YXRpb25FcnJvcicsXG4gICdXcml0ZUZpbGVFcnJvcicsXG5dIGFzIGNvbnN0O1xuXG50eXBlIEN1c3RvbUVycm9ycyA9IHtcbiAgW0sgaW4gKHR5cGVvZiBDVVNUT01fRVJST1JTKVtudW1iZXJdXTogRXJyb3JDb25zdHJ1Y3Rvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBFUlJPUlMgPSBDVVNUT01fRVJST1JTLnJlZHVjZSgoYWNjLCBjbGFzc05hbWUpID0+IHtcbiAgYWNjID0ge1xuICAgIC4uLmFjYyxcbiAgICBbY2xhc3NOYW1lXTogY2xhc3MgZXh0ZW5kcyBFcnJvciB7XG4gICAgICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIobWVzc2FnZSk7XG4gICAgICAgIHRoaXMubmFtZSA9IHRoaXMuY29uc3RydWN0b3IubmFtZTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBhY2M7XG59LCB7fSBhcyBDdXN0b21FcnJvcnMpO1xuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLGVBQWU7SUFDZixxQkFBcUI7SUFDckIsdUJBQXVCO0lBQ3ZCLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLHlCQUF5QjtJQUN6QiwyQkFBMkI7SUFDM0Isc0JBQXNCO0lBQ3RCLCtCQUErQjtJQUMvQixzQkFBc0I7SUFDdEIsdUJBQXVCO0lBQ3ZCLDBCQUEwQjtJQUMxQixnQkFBZ0I7SUFDaEIscUJBQXFCO0NBQ2IsQ0FBQztBQU1FLFFBQUEsTUFBTSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEVBQUU7SUFDNUQsR0FBRyxHQUFHO1FBQ0osR0FBRyxHQUFHO1FBQ04sQ0FBQyxTQUFTLENBQUMsRUFBRSxLQUFNLFNBQVEsS0FBSztZQUM5QixZQUFZLE9BQWU7Z0JBQ3pCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDZixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1lBQ3BDLENBQUM7U0FDRjtLQUNGLENBQUM7SUFFRixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsRUFBRSxFQUFrQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBDVVNUT01fRVJST1JTID0gW1xuICAnQ2xpSW5wdXRFcnJvcicsXG4gICdDb25maWdOb3RGb3VuZEVycm9yJyxcbiAgJ0NvbmZpZ1ZhbGlkYXRpb25FcnJvcicsXG4gICdFeGhhdXN0RXJyb3InLFxuICAnRmlsZU5vdEZvdW5kRXJyb3InLFxuICAnTWFrZURpcmVjdG9yeUVycm9yJyxcbiAgJ01hbmlmZXN0VmFsaWRhdGlvbkVycm9yJyxcbiAgJ01vZHVsZUluaXRpYWxpemF0aW9uRXJyb3InLFxuICAnSW5wdXRWYWxpZGF0aW9uRXJyb3InLFxuICAnSW52YWxpZEFnZ3JlZ2F0aW9uUGFyYW1zRXJyb3InLFxuICAnSW52YWxpZEdyb3VwaW5nRXJyb3InLFxuICAnUGx1Z2luQ3JlZGVudGlhbEVycm9yJyxcbiAgJ1BsdWdpbkluaXRhbGl6YXRpb25FcnJvcicsXG4gICdXcml0ZUZpbGVFcnJvcicsXG4gICdDb25maWdOb3RGb3VuZEVycm9yJyxcbl0gYXMgY29uc3Q7XG5cbnR5cGUgQ3VzdG9tRXJyb3JzID0ge1xuICBbSyBpbiAodHlwZW9mIENVU1RPTV9FUlJPUlMpW251bWJlcl1dOiBFcnJvckNvbnN0cnVjdG9yO1xufTtcblxuZXhwb3J0IGNvbnN0IEVSUk9SUyA9IENVU1RPTV9FUlJPUlMucmVkdWNlKChhY2MsIGNsYXNzTmFtZSkgPT4ge1xuICBhY2MgPSB7XG4gICAgLi4uYWNjLFxuICAgIFtjbGFzc05hbWVdOiBjbGFzcyBleHRlbmRzIEVycm9yIHtcbiAgICAgIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZykge1xuICAgICAgICBzdXBlcihtZXNzYWdlKTtcbiAgICAgICAgdGhpcy5uYW1lID0gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgICAgfVxuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIGFjYztcbn0sIHt9IGFzIEN1c3RvbUVycm9ycyk7XG4iXX0=
@@ -1,5 +1,11 @@
1
1
  /// <reference types="node" />
2
2
  import { exec } from 'node:child_process';
3
+ import { ErrorFormatParams } from '../types/helpers';
4
+ import { Difference } from '../types/lib/compare';
5
+ /**
6
+ * Formats given error according to class instance, scope and message.
7
+ */
8
+ export declare const buildErrorMessage: (classInstanceName: string) => (params: ErrorFormatParams) => string;
3
9
  /**
4
10
  * Impact engine error handler. Logs errors and appends issue template if error is unknown.
5
11
  */
@@ -12,3 +18,20 @@ export declare const mergeObjects: (defaults: any, input: any) => Record<string,
12
18
  * Promise version of Node's `exec` from `child-process`.
13
19
  */
14
20
  export declare const execPromise: typeof exec.__promisify__;
21
+ /**
22
+ * `If-diff` equality checker.
23
+ */
24
+ export declare const checkIfEqual: (source: any, target: any) => boolean;
25
+ /**
26
+ * Checks if objects are primitive types.
27
+ */
28
+ export declare const oneIsPrimitive: (source: any, target: any) => boolean;
29
+ /**
30
+ * Format not matching message for CLI logging.
31
+ */
32
+ export declare const formatNotMatchingLog: (message: Difference) => void;
33
+ /**
34
+ * Checks if there is piped data, tries to parse yaml from it.
35
+ * Throws error if there is piped info, but there is no valid manifest.
36
+ */
37
+ export declare const parseManifestFromStdin: () => Promise<string>;
@@ -1,12 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.execPromise = exports.mergeObjects = exports.andHandle = void 0;
3
+ exports.parseManifestFromStdin = exports.formatNotMatchingLog = exports.oneIsPrimitive = exports.checkIfEqual = exports.execPromise = exports.mergeObjects = exports.andHandle = exports.buildErrorMessage = void 0;
4
+ const promises_1 = require("node:readline/promises");
4
5
  const node_child_process_1 = require("node:child_process");
5
6
  const node_util_1 = require("node:util");
6
7
  const errors_1 = require("./errors");
7
8
  const logger_1 = require("./logger");
8
9
  const config_1 = require("../config");
9
10
  const { ISSUE_TEMPLATE } = config_1.STRINGS;
11
+ /**
12
+ * Formats given error according to class instance, scope and message.
13
+ */
14
+ const buildErrorMessage = (classInstanceName) => (params) => {
15
+ const { scope, message } = params;
16
+ return `${classInstanceName}${scope ? `(${scope})` : ''}: ${message}.`;
17
+ };
18
+ exports.buildErrorMessage = buildErrorMessage;
10
19
  /**
11
20
  * Impact engine error handler. Logs errors and appends issue template if error is unknown.
12
21
  */
@@ -38,4 +47,109 @@ exports.mergeObjects = mergeObjects;
38
47
  * Promise version of Node's `exec` from `child-process`.
39
48
  */
40
49
  exports.execPromise = (0, node_util_1.promisify)(node_child_process_1.exec);
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBQXdDO0FBQ3hDLHlDQUFvQztBQUVwQyxxQ0FBZ0M7QUFDaEMscUNBQWdDO0FBRWhDLHNDQUFrQztBQUVsQyxNQUFNLEVBQUMsY0FBYyxFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUVqQzs7R0FFRztBQUNJLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBWSxFQUFFLEVBQUU7SUFDeEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFNLENBQUMsQ0FBQztJQUV4QyxlQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXBCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNyQyxlQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0tBQzdCO0FBQ0gsQ0FBQyxDQUFDO0FBUlcsUUFBQSxTQUFTLGFBUXBCO0FBRUY7O0dBRUc7QUFDSSxNQUFNLFlBQVksR0FBRyxDQUFDLFFBQWEsRUFBRSxLQUFVLEVBQUUsRUFBRTtJQUN4RCxNQUFNLE1BQU0sR0FBd0IsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTNELEtBQUssTUFBTSxHQUFHLElBQUksUUFBUSxFQUFFO1FBQzFCLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxLQUFLLENBQUMsRUFBRTtZQUNuQixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzdCO1FBRUQsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUU7WUFDckQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM3QjtLQUNGO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBZFcsUUFBQSxZQUFZLGdCQWN2QjtBQUVGOztHQUVHO0FBQ1UsUUFBQSxXQUFXLEdBQUcsSUFBQSxxQkFBUyxFQUFDLHlCQUFJLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZXhlY30gZnJvbSAnbm9kZTpjaGlsZF9wcm9jZXNzJztcbmltcG9ydCB7cHJvbWlzaWZ5fSBmcm9tICdub2RlOnV0aWwnO1xuXG5pbXBvcnQge0VSUk9SU30gZnJvbSAnLi9lcnJvcnMnO1xuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4vbG9nZ2VyJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5jb25zdCB7SVNTVUVfVEVNUExBVEV9ID0gU1RSSU5HUztcblxuLyoqXG4gKiBJbXBhY3QgZW5naW5lIGVycm9yIGhhbmRsZXIuIExvZ3MgZXJyb3JzIGFuZCBhcHBlbmRzIGlzc3VlIHRlbXBsYXRlIGlmIGVycm9yIGlzIHVua25vd24uXG4gKi9cbmV4cG9ydCBjb25zdCBhbmRIYW5kbGUgPSAoZXJyb3I6IEVycm9yKSA9PiB7XG4gIGNvbnN0IGtub3duRXJyb3JzID0gT2JqZWN0LmtleXMoRVJST1JTKTtcblxuICBsb2dnZXIuZXJyb3IoZXJyb3IpO1xuXG4gIGlmICgha25vd25FcnJvcnMuaW5jbHVkZXMoZXJyb3IubmFtZSkpIHtcbiAgICBsb2dnZXIud2FybihJU1NVRV9URU1QTEFURSk7XG4gIH1cbn07XG5cbi8qKlxuICogQXBwZW5kIGVudHJpZXMgZnJvbSBkZWZhdWx0cyB3aGljaCBhcmUgbWlzc2luZyBmcm9tIGlucHV0cy5cbiAqL1xuZXhwb3J0IGNvbnN0IG1lcmdlT2JqZWN0cyA9IChkZWZhdWx0czogYW55LCBpbnB1dDogYW55KSA9PiB7XG4gIGNvbnN0IG1lcmdlZDogUmVjb3JkPHN0cmluZywgYW55PiA9IHN0cnVjdHVyZWRDbG9uZShpbnB1dCk7XG5cbiAgZm9yIChjb25zdCBrZXkgaW4gZGVmYXVsdHMpIHtcbiAgICBpZiAoIShrZXkgaW4gaW5wdXQpKSB7XG4gICAgICBtZXJnZWRba2V5XSA9IGRlZmF1bHRzW2tleV07XG4gICAgfVxuXG4gICAgaWYgKG1lcmdlZFtrZXldID09PSB1bmRlZmluZWQgfHwgbWVyZ2VkW2tleV0gPT09IG51bGwpIHtcbiAgICAgIG1lcmdlZFtrZXldID0gZGVmYXVsdHNba2V5XTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWVyZ2VkO1xufTtcblxuLyoqXG4gKiBQcm9taXNlIHZlcnNpb24gb2YgTm9kZSdzIGBleGVjYCBmcm9tIGBjaGlsZC1wcm9jZXNzYC5cbiAqL1xuZXhwb3J0IGNvbnN0IGV4ZWNQcm9taXNlID0gcHJvbWlzaWZ5KGV4ZWMpO1xuIl19
50
+ /**
51
+ * `If-diff` equality checker.
52
+ */
53
+ const checkIfEqual = (source, target) => {
54
+ if (source === target) {
55
+ return true;
56
+ }
57
+ if (source === '*' || target === '*') {
58
+ return true;
59
+ }
60
+ return false;
61
+ };
62
+ exports.checkIfEqual = checkIfEqual;
63
+ /**
64
+ * Converts given `value` to either `1` or `0`.
65
+ */
66
+ const convertToXorable = (value) => {
67
+ if (typeof value === 'number') {
68
+ return value !== 0 ? 1 : 0;
69
+ }
70
+ if (typeof value === 'boolean') {
71
+ return value ? 1 : 0;
72
+ }
73
+ if (typeof value === 'string') {
74
+ return value.length > 0 ? 1 : 0;
75
+ }
76
+ if (typeof value === 'object') {
77
+ return 1;
78
+ }
79
+ return 0;
80
+ };
81
+ /**
82
+ * If one of the `valuesToCheck` values is undefined, then set `missing`, otherwise `exists`.
83
+ */
84
+ const setValuesIfMissing = (response) => {
85
+ const source = convertToXorable(response.source);
86
+ const target = convertToXorable(response.target);
87
+ if (source ^ target) {
88
+ ['source', 'target'].forEach(value => {
89
+ response[value] = response[value] ? 'exists' : 'missing';
90
+ });
91
+ return response;
92
+ }
93
+ return response;
94
+ };
95
+ /**
96
+ * Checks if objects are primitive types.
97
+ */
98
+ const oneIsPrimitive = (source, target) => {
99
+ // eslint-disable-next-line eqeqeq
100
+ if (source == null || target == null) {
101
+ return true;
102
+ }
103
+ return source !== Object(source) && target !== Object(target);
104
+ };
105
+ exports.oneIsPrimitive = oneIsPrimitive;
106
+ /**
107
+ * Format not matching message for CLI logging.
108
+ */
109
+ const formatNotMatchingLog = (message) => {
110
+ const flattenMessage = setValuesIfMissing(message);
111
+ Object.keys(flattenMessage).forEach(key => {
112
+ if (key === 'message' || key === 'path') {
113
+ console.log(message[key]);
114
+ }
115
+ else {
116
+ console.log(`${key}: ${message[key]}`);
117
+ }
118
+ });
119
+ };
120
+ exports.formatNotMatchingLog = formatNotMatchingLog;
121
+ /**
122
+ * Checks if there is data piped, then collects it.
123
+ * Otherwise returns empty string.
124
+ */
125
+ const collectPipedData = async () => {
126
+ if (process.stdin.isTTY) {
127
+ return '';
128
+ }
129
+ const readline = (0, promises_1.createInterface)({
130
+ input: process.stdin,
131
+ });
132
+ const data = [];
133
+ for await (const line of readline) {
134
+ data.push(line);
135
+ }
136
+ return data.join('\n');
137
+ };
138
+ /**
139
+ * Checks if there is piped data, tries to parse yaml from it.
140
+ * Throws error if there is piped info, but there is no valid manifest.
141
+ */
142
+ const parseManifestFromStdin = async () => {
143
+ const pipedSourceManifest = await collectPipedData();
144
+ if (!pipedSourceManifest) {
145
+ return '';
146
+ }
147
+ const regex = /# start((?:.*\n)+?)# end/;
148
+ const match = regex.exec(pipedSourceManifest);
149
+ if (!match) {
150
+ throw new Error('Manifest not found in STDIN.');
151
+ }
152
+ return match[1];
153
+ };
154
+ exports.parseManifestFromStdin = parseManifestFromStdin;
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQXVEO0FBQ3ZELDJEQUF3QztBQUN4Qyx5Q0FBb0M7QUFFcEMscUNBQWdDO0FBQ2hDLHFDQUFnQztBQUNoQyxzQ0FBa0M7QUFJbEMsTUFBTSxFQUFDLGNBQWMsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFakM7O0dBRUc7QUFDSSxNQUFNLGlCQUFpQixHQUM1QixDQUFDLGlCQUF5QixFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQXlCLEVBQUUsRUFBRTtJQUMzRCxNQUFNLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBQyxHQUFHLE1BQU0sQ0FBQztJQUVoQyxPQUFPLEdBQUcsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssT0FBTyxHQUFHLENBQUM7QUFDekUsQ0FBQyxDQUFDO0FBTFMsUUFBQSxpQkFBaUIscUJBSzFCO0FBRUo7O0dBRUc7QUFDSSxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQVksRUFBRSxFQUFFO0lBQ3hDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBTSxDQUFDLENBQUM7SUFFeEMsZUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVwQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDckMsZUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUM3QjtBQUNILENBQUMsQ0FBQztBQVJXLFFBQUEsU0FBUyxhQVFwQjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxZQUFZLEdBQUcsQ0FBQyxRQUFhLEVBQUUsS0FBVSxFQUFFLEVBQUU7SUFDeEQsTUFBTSxNQUFNLEdBQXdCLGVBQWUsQ0FBQyxLQUFL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TSxzQkFBc0IsR0FBRyxLQUFLLElBQUksRUFBRTtJQUMvQyxNQUFNLG1CQUFtQixHQUFHLE1BQU0sZ0JBQWdCLEVBQUUsQ0FBQztJQUVyRCxJQUFJLENBQUMsbUJBQW1CLEVBQUU7UUFDeEIsT0FBTyxFQUFFLENBQUM7S0FDWDtJQUVELE1BQU0sS0FBSyxHQUFHLDBCQUEwQixDQUFDO0lBQ3pDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUU5QyxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0tBQ2pEO0lBRUQsT0FBTyxLQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBZlcsUUFBQSxzQkFBc0IsMEJBZWpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjcmVhdGVJbnRlcmZhY2V9IGZyb20gJ25vZGU6cmVhZGxpbmUvcHJvbWlzZXMnO1xuaW1wb3J0IHtleGVjfSBmcm9tICdub2RlOmNoaWxkX3Byb2Nlc3MnO1xuaW1wb3J0IHtwcm9taXNpZnl9IGZyb20gJ25vZGU6dXRpbCc7XG5pbXBvcnQge0Vycm9yRm9ybWF0UGFyYW1zfSBmcm9tICcuLi90eXBlcy9oZWxwZXJzJztcbmltcG9ydCB7RVJST1JTfSBmcm9tICcuL2Vycm9ycyc7XG5pbXBvcnQge2xvZ2dlcn0gZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge0RpZmZlcmVuY2V9IGZyb20gJy4uL3R5cGVzL2xpYi9jb21wYXJlJztcblxuY29uc3Qge0lTU1VFX1RFTVBMQVRFfSA9IFNUUklOR1M7XG5cbi8qKlxuICogRm9ybWF0cyBnaXZlbiBlcnJvciBhY2NvcmRpbmcgdG8gY2xhc3MgaW5zdGFuY2UsIHNjb3BlIGFuZCBtZXNzYWdlLlxuICovXG5leHBvcnQgY29uc3QgYnVpbGRFcnJvck1lc3NhZ2UgPVxuICAoY2xhc3NJbnN0YW5jZU5hbWU6IHN0cmluZykgPT4gKHBhcmFtczogRXJyb3JGb3JtYXRQYXJhbXMpID0+IHtcbiAgICBjb25zdCB7c2NvcGUsIG1lc3NhZ2V9ID0gcGFyYW1zO1xuXG4gICAgcmV0dXJuIGAke2NsYXNzSW5zdGFuY2VOYW1lfSR7c2NvcGUgPyBgKCR7c2NvcGV9KWAgOiAnJ306ICR7bWVzc2FnZX0uYDtcbiAgfTtcblxuLyoqXG4gKiBJbXBhY3QgZW5naW5lIGVycm9yIGhhbmRsZXIuIExvZ3MgZXJyb3JzIGFuZCBhcHBlbmRzIGlzc3VlIHRlbXBsYXRlIGlmIGVycm9yIGlzIHVua25vd24uXG4gKi9cbmV4cG9ydCBjb25zdCBhbmRIYW5kbGUgPSAoZXJyb3I6IEVycm9yKSA9PiB7XG4gIGNvbnN0IGtub3duRXJyb3JzID0gT2JqZWN0LmtleXMoRVJST1JTKTtcblxuICBsb2dnZXIuZXJyb3IoZXJyb3IpO1xuXG4gIGlmICgha25vd25FcnJvcnMuaW5jbHVkZXMoZXJyb3IubmFtZSkpIHtcbiAgICBsb2dnZXIud2FybihJU1NVRV9URU1QTEFURSk7XG4gIH1cbn07XG5cbi8qKlxuICogQXBwZW5kIGVudHJpZXMgZnJvbSBkZWZhdWx0cyB3aGljaCBhcmUgbWlzc2luZyBmcm9tIGlucHV0cy5cbiAqL1xuZXhwb3J0IGNvbnN0IG1lcmdlT2JqZWN0cyA9IChkZWZhdWx0czogYW55LCBpbnB1dDogYW55KSA9PiB7XG4gIGNvbnN0IG1lcmdlZDogUmVjb3JkPHN0cmluZywgYW55PiA9IHN0cnVjdHVyZWRDbG9uZShpbnB1dCk7XG5cbiAgZm9yIChjb25zdCBrZXkgaW4gZGVmYXVsdHMpIHtcbiAgICBpZiAoIShrZXkgaW4gaW5wdXQpKSB7XG4gICAgICBtZXJnZWRba2V5XSA9IGRlZmF1bHRzW2tleV07XG4gICAgfVxuXG4gICAgaWYgKG1lcmdlZFtrZXldID09PSB1bmRlZmluZWQgfHwgbWVyZ2VkW2tleV0gPT09IG51bGwpIHtcbiAgICAgIG1lcmdlZFtrZXldID0gZGVmYXVsdHNba2V5XTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbWVyZ2VkO1xufTtcblxuLyoqXG4gKiBQcm9taXNlIHZlcnNpb24gb2YgTm9kZSdzIGBleGVjYCBmcm9tIGBjaGlsZC1wcm9jZXNzYC5cbiAqL1xuZXhwb3J0IGNvbnN0IGV4ZWNQcm9taXNlID0gcHJvbWlzaWZ5KGV4ZWMpO1xuXG4vKipcbiAqIGBJZi1kaWZmYCBlcXVhbGl0eSBjaGVja2VyLlxuICovXG5leHBvcnQgY29uc3QgY2hlY2tJZkVxdWFsID0gKHNvdXJjZTogYW55LCB0YXJnZXQ6IGFueSkgPT4ge1xuICBpZiAoc291cmNlID09PSB0YXJnZXQpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChzb3VyY2UgPT09ICcqJyB8fCB0YXJnZXQgPT09ICcqJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufTtcblxuLyoqXG4gKiBDb252ZXJ0cyBnaXZlbiBgdmFsdWVgIHRvIGVpdGhlciBgMWAgb3IgYDBgLlxuICovXG5jb25zdCBjb252ZXJ0VG9Yb3JhYmxlID0gKHZhbHVlOiBhbnkpID0+IHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gdmFsdWUgIT09IDAgPyAxIDogMDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gdmFsdWUubGVuZ3RoID4gMCA/IDEgOiAwO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIHJldHVybiAwO1xufTtcblxuLyoqXG4gKiBJZiBvbmUgb2YgdGhlIGB2YWx1ZXNUb0NoZWNrYCB2YWx1ZXMgaXMgdW5kZWZpbmVkLCB0aGVuIHNldCBgbWlzc2luZ2AsIG90aGVyd2lzZSBgZXhpc3RzYC5cbiAqL1xuY29uc3Qgc2V0VmFsdWVzSWZNaXNzaW5nID0gKHJlc3BvbnNlOiBEaWZmZXJlbmNlKSA9PiB7XG4gIGNvbnN0IHNvdXJjZSA9IGNvbnZlcnRUb1hvcmFibGUocmVzcG9uc2Uuc291cmNlKTtcbiAgY29uc3QgdGFyZ2V0ID0gY29udmVydFRvWG9yYWJsZShyZXNwb25zZS50YXJnZXQpO1xuXG4gIGlmIChzb3VyY2UgXiB0YXJnZXQpIHtcbiAgICBbJ3NvdXJjZScsICd0YXJnZXQnXS5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICAgIHJlc3BvbnNlW3ZhbHVlXSA9IHJlc3BvbnNlW3ZhbHVlXSA/ICdleGlzdHMnIDogJ21pc3NpbmcnO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xuICB9XG5cbiAgcmV0dXJuIHJlc3BvbnNlO1xufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgb2JqZWN0cyBhcmUgcHJpbWl0aXZlIHR5cGVzLlxuICovXG5leHBvcnQgY29uc3Qgb25lSXNQcmltaXRpdmUgPSAoc291cmNlOiBhbnksIHRhcmdldDogYW55KSA9PiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBlcWVxZXFcbiAgaWYgKHNvdXJjZSA9PSBudWxsIHx8IHRhcmdldCA9PSBudWxsKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gc291cmNlICE9PSBPYmplY3Qoc291cmNlKSAmJiB0YXJnZXQgIT09IE9iamVjdCh0YXJnZXQpO1xufTtcblxuLyoqXG4gKiBGb3JtYXQgbm90IG1hdGNoaW5nIG1lc3NhZ2UgZm9yIENMSSBsb2dnaW5nLlxuICovXG5leHBvcnQgY29uc3QgZm9ybWF0Tm90TWF0Y2hpbmdMb2cgPSAobWVzc2FnZTogRGlmZmVyZW5jZSkgPT4ge1xuICBjb25zdCBmbGF0dGVuTWVzc2FnZSA9IHNldFZhbHVlc0lmTWlzc2luZyhtZXNzYWdlKTtcblxuICBPYmplY3Qua2V5cyhmbGF0dGVuTWVzc2FnZSkuZm9yRWFjaChrZXkgPT4ge1xuICAgIGlmIChrZXkgPT09ICdtZXNzYWdlJyB8fCBrZXkgPT09ICdwYXRoJykge1xuICAgICAgY29uc29sZS5sb2cobWVzc2FnZVtrZXldKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coYCR7a2V5fTogJHttZXNzYWdlW2tleV19YCk7XG4gICAgfVxuICB9KTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZXJlIGlzIGRhdGEgcGlwZWQsIHRoZW4gY29sbGVjdHMgaXQuXG4gKiBPdGhlcndpc2UgcmV0dXJucyBlbXB0eSBzdHJpbmcuXG4gKi9cbmNvbnN0IGNvbGxlY3RQaXBlZERhdGEgPSBhc3luYyAoKSA9PiB7XG4gIGlmIChwcm9jZXNzLnN0ZGluLmlzVFRZKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgY29uc3QgcmVhZGxpbmUgPSBjcmVhdGVJbnRlcmZhY2Uoe1xuICAgIGlucHV0OiBwcm9jZXNzLnN0ZGluLFxuICB9KTtcblxuICBjb25zdCBkYXRhOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGZvciBhd2FpdCAoY29uc3QgbGluZSBvZiByZWFkbGluZSkge1xuICAgIGRhdGEucHVzaChsaW5lKTtcbiAgfVxuXG4gIHJldHVybiBkYXRhLmpvaW4oJ1xcbicpO1xufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlcmUgaXMgcGlwZWQgZGF0YSwgdHJpZXMgdG8gcGFyc2UgeWFtbCBmcm9tIGl0LlxuICogVGhyb3dzIGVycm9yIGlmIHRoZXJlIGlzIHBpcGVkIGluZm8sIGJ1dCB0aGVyZSBpcyBubyB2YWxpZCBtYW5pZmVzdC5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlTWFuaWZlc3RGcm9tU3RkaW4gPSBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHBpcGVkU291cmNlTWFuaWZlc3QgPSBhd2FpdCBjb2xsZWN0UGlwZWREYXRhKCk7XG5cbiAgaWYgKCFwaXBlZFNvdXJjZU1hbmlmZXN0KSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgY29uc3QgcmVnZXggPSAvIyBzdGFydCgoPzouKlxcbikrPykjIGVuZC87XG4gIGNvbnN0IG1hdGNoID0gcmVnZXguZXhlYyhwaXBlZFNvdXJjZU1hbmlmZXN0KTtcblxuICBpZiAoIW1hdGNoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNYW5pZmVzdCBub3QgZm91bmQgaW4gU1RESU4uJyk7XG4gIH1cblxuICByZXR1cm4gbWF0Y2ghWzFdO1xufTtcbiJdfQ==
@@ -1,3 +1,3 @@
1
1
  import { LeveledLogMethod } from 'winston';
2
2
  /** Singleton pattern. */
3
- export declare const memoizedLog: (logger: LeveledLogMethod, message: string) => void;
3
+ export declare const memoizedLog: (logger: LeveledLogMethod | typeof console.debug, message: string) => void;
@@ -16,4 +16,4 @@ const memoizedLogger = () => {
16
16
  };
17
17
  /** Singleton pattern. */
18
18
  exports.memoizedLog = memoizedLogger();
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLW1lbW9pemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9sb2ctbWVtb2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQTs7R0FFRztBQUNILE1BQU0sY0FBYyxHQUFHLEdBQUcsRUFBRTtJQUMxQixNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFFNUIsT0FBTyxDQUFDLE1BQXdCLEVBQUUsT0FBZSxFQUFFLEVBQUU7UUFDbkQsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzVCLE9BQU87U0FDUjtRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xCLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLHlCQUF5QjtBQUNaLFFBQUEsV0FBVyxHQUFHLGNBQWMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMZXZlbGVkTG9nTWV0aG9kfSBmcm9tICd3aW5zdG9uJztcblxuLyoqXG4gKiBLZWVwcyBpbiBtZW1vcnkgbG9nZ2VkIG1lc3NhZ2VzLiBJZiBjYWxsZWQgd2l0aCByZWR1bmRhbnQgbWVzc2FnZSwgc2tpcHMgbG9nZ2luZy5cbiAqL1xuY29uc3QgbWVtb2l6ZWRMb2dnZXIgPSAoKSA9PiB7XG4gIGNvbnN0IG1lbW9yeTogc3RyaW5nW10gPSBbXTtcblxuICByZXR1cm4gKGxvZ2dlcjogTGV2ZWxlZExvZ01ldGhvZCwgbWVzc2FnZTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKG1lbW9yeS5pbmNsdWRlcyhtZXNzYWdlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG1lbW9yeS5wdXNoKG1lc3NhZ2UpO1xuICAgIGxvZ2dlcihtZXNzYWdlKTtcbiAgfTtcbn07XG5cbi8qKiBTaW5nbGV0b24gcGF0dGVybi4gKi9cbmV4cG9ydCBjb25zdCBtZW1vaXplZExvZyA9IG1lbW9pemVkTG9nZ2VyKCk7XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLW1lbW9pemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9sb2ctbWVtb2l6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQTs7R0FFRztBQUNILE1BQU0sY0FBYyxHQUFHLEdBQUcsRUFBRTtJQUMxQixNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7SUFFNUIsT0FBTyxDQUFDLE1BQStDLEVBQUUsT0FBZSxFQUFFLEVBQUU7UUFDMUUsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzVCLE9BQU87U0FDUjtRQUVELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2xCLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLHlCQUF5QjtBQUNaLFFBQUEsV0FBVyxHQUFHLGNBQWMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMZXZlbGVkTG9nTWV0aG9kfSBmcm9tICd3aW5zdG9uJztcblxuLyoqXG4gKiBLZWVwcyBpbiBtZW1vcnkgbG9nZ2VkIG1lc3NhZ2VzLiBJZiBjYWxsZWQgd2l0aCByZWR1bmRhbnQgbWVzc2FnZSwgc2tpcHMgbG9nZ2luZy5cbiAqL1xuY29uc3QgbWVtb2l6ZWRMb2dnZXIgPSAoKSA9PiB7XG4gIGNvbnN0IG1lbW9yeTogc3RyaW5nW10gPSBbXTtcblxuICByZXR1cm4gKGxvZ2dlcjogTGV2ZWxlZExvZ01ldGhvZCB8IHR5cGVvZiBjb25zb2xlLmRlYnVnLCBtZXNzYWdlOiBzdHJpbmcpID0+IHtcbiAgICBpZiAobWVtb3J5LmluY2x1ZGVzKG1lc3NhZ2UpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbWVtb3J5LnB1c2gobWVzc2FnZSk7XG4gICAgbG9nZ2VyKG1lc3NhZ2UpO1xuICB9O1xufTtcblxuLyoqIFNpbmdsZXRvbiBwYXR0ZXJuLiAqL1xuZXhwb3J0IGNvbnN0IG1lbW9pemVkTG9nID0gbWVtb2l6ZWRMb2dnZXIoKTtcbiJdfQ==
@@ -1,4 +1,12 @@
1
1
  import { ZodSchema, z } from 'zod';
2
+ /**
3
+ * At least one property defined handler.
4
+ */
5
+ export declare const atLeastOneDefined: (obj: Record<string | number | symbol, unknown>) => boolean;
6
+ /**
7
+ * All properties are defined handler.
8
+ */
9
+ export declare const allDefined: (obj: Record<string | number | symbol, unknown>) => boolean;
2
10
  /**
3
11
  * Validation schema for manifests.
4
12
  */
@@ -74,9 +82,9 @@ export declare const manifestSchema: z.ZodObject<{
74
82
  }>;
75
83
  outputs?: string[] | undefined;
76
84
  }>;
77
- execution: z.ZodObject<{
78
- command: z.ZodString;
79
- environment: z.ZodObject<{
85
+ execution: z.ZodOptional<z.ZodObject<{
86
+ command: z.ZodOptional<z.ZodString>;
87
+ environment: z.ZodOptional<z.ZodObject<{
80
88
  'if-version': z.ZodString;
81
89
  os: z.ZodString;
82
90
  'os-version': z.ZodString;
@@ -97,34 +105,34 @@ export declare const manifestSchema: z.ZodObject<{
97
105
  'node-version': string;
98
106
  'date-time': string;
99
107
  dependencies: string[];
100
- }>;
108
+ }>>;
101
109
  status: z.ZodString;
102
110
  error: z.ZodOptional<z.ZodString>;
103
111
  }, "strip", z.ZodTypeAny, {
104
112
  status: string;
105
- command: string;
106
- environment: {
113
+ command?: string | undefined;
114
+ environment?: {
107
115
  'if-version': string;
108
116
  os: string;
109
117
  'os-version': string;
110
118
  'node-version': string;
111
119
  'date-time': string;
112
120
  dependencies: string[];
113
- };
121
+ } | undefined;
114
122
  error?: string | undefined;
115
123
  }, {
116
124
  status: string;
117
- command: string;
118
- environment: {
125
+ command?: string | undefined;
126
+ environment?: {
119
127
  'if-version': string;
120
128
  os: string;
121
129
  'os-version': string;
122
130
  'node-version': string;
123
131
  'date-time': string;
124
132
  dependencies: string[];
125
- };
133
+ } | undefined;
126
134
  error?: string | undefined;
127
- }>;
135
+ }>>;
128
136
  tree: z.ZodRecord<z.ZodString, z.ZodAny>;
129
137
  }, "strip", z.ZodTypeAny, {
130
138
  name: string;
@@ -136,19 +144,6 @@ export declare const manifestSchema: z.ZodObject<{
136
144
  }>;
137
145
  outputs?: string[] | undefined;
138
146
  };
139
- execution: {
140
- status: string;
141
- command: string;
142
- environment: {
143
- 'if-version': string;
144
- os: string;
145
- 'os-version': string;
146
- 'node-version': string;
147
- 'date-time': string;
148
- dependencies: string[];
149
- };
150
- error?: string | undefined;
151
- };
152
147
  tree: Record<string, any>;
153
148
  description?: string | null | undefined;
154
149
  tags?: {
@@ -166,6 +161,19 @@ export declare const manifestSchema: z.ZodObject<{
166
161
  aggregation: "sum" | "none" | "avg";
167
162
  unit: string;
168
163
  }[] | null | undefined;
164
+ execution?: {
165
+ status: string;
166
+ command?: string | undefined;
167
+ environment?: {
168
+ 'if-version': string;
169
+ os: string;
170
+ 'os-version': string;
171
+ 'node-version': string;
172
+ 'date-time': string;
173
+ dependencies: string[];
174
+ } | undefined;
175
+ error?: string | undefined;
176
+ } | undefined;
169
177
  }, {
170
178
  name: string;
171
179
  initialize: {
@@ -176,19 +184,6 @@ export declare const manifestSchema: z.ZodObject<{
176
184
  }>;
177
185
  outputs?: string[] | undefined;
178
186
  };
179
- execution: {
180
- status: string;
181
- command: string;
182
- environment: {
183
- 'if-version': string;
184
- os: string;
185
- 'os-version': string;
186
- 'node-version': string;
187
- 'date-time': string;
188
- dependencies: string[];
189
- };
190
- error?: string | undefined;
191
- };
192
187
  tree: Record<string, any>;
193
188
  description?: string | null | undefined;
194
189
  tags?: {
@@ -206,6 +201,19 @@ export declare const manifestSchema: z.ZodObject<{
206
201
  aggregation: "sum" | "none" | "avg";
207
202
  unit: string;
208
203
  }[] | null | undefined;
204
+ execution?: {
205
+ status: string;
206
+ command?: string | undefined;
207
+ environment?: {
208
+ 'if-version': string;
209
+ os: string;
210
+ 'os-version': string;
211
+ 'node-version': string;
212
+ 'date-time': string;
213
+ dependencies: string[];
214
+ } | undefined;
215
+ error?: string | undefined;
216
+ } | undefined;
209
217
  }>;
210
218
  /**
211
219
  * Validates given `manifest` object to match pattern.
@@ -220,19 +228,6 @@ export declare const validateManifest: (manifest: any) => {
220
228
  }>;
221
229
  outputs?: string[] | undefined;
222
230
  };
223
- execution: {
224
- status: string;
225
- command: string;
226
- environment: {
227
- 'if-version': string;
228
- os: string;
229
- 'os-version': string;
230
- 'node-version': string;
231
- 'date-time': string;
232
- dependencies: string[];
233
- };
234
- error?: string | undefined;
235
- };
236
231
  tree: Record<string, any>;
237
232
  description?: string | null | undefined;
238
233
  tags?: {
@@ -250,8 +245,21 @@ export declare const validateManifest: (manifest: any) => {
250
245
  aggregation: "sum" | "none" | "avg";
251
246
  unit: string;
252
247
  }[] | null | undefined;
248
+ execution?: {
249
+ status: string;
250
+ command?: string | undefined;
251
+ environment?: {
252
+ 'if-version': string;
253
+ os: string;
254
+ 'os-version': string;
255
+ 'node-version': string;
256
+ 'date-time': string;
257
+ dependencies: string[];
258
+ } | undefined;
259
+ error?: string | undefined;
260
+ } | undefined;
253
261
  };
254
262
  /**
255
263
  * Validates given `object` with given `schema`.
256
264
  */
257
- export declare const validate: <T>(schema: ZodSchema<T, z.ZodTypeDef, T>, object: any, errorConstructor?: ErrorConstructor) => T;
265
+ export declare const validate: <T>(schema: ZodSchema<T, z.ZodTypeDef, T>, object: any, index?: number, errorConstructor?: ErrorConstructor) => T;