@grnsft/if 0.7.1 → 0.7.2

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 (212) hide show
  1. package/build/common/config/strings.d.ts +2 -0
  2. package/build/common/config/strings.js +5 -3
  3. package/build/if-run/builtins/interpolation/index.js +18 -10
  4. package/build/if-run/lib/compute.js +8 -10
  5. package/build/if-run/lib/explain.js +69 -44
  6. package/build/if-run/lib/initialize.js +2 -2
  7. package/build/if-run/lib/regroup.d.ts +1 -1
  8. package/build/if-run/lib/regroup.js +41 -49
  9. package/build/if-run/types/explain.d.ts +3 -7
  10. package/build/if-run/types/explain.js +1 -1
  11. package/build/if-run/util/aggregation-helper.js +3 -3
  12. package/manifests/examples/builtins/interpolation/success-with-off.yml +24 -0
  13. package/package.json +2 -2
  14. package/src/if-run/builtins/interpolation/README.md +1 -1
  15. package/.env +0 -5
  16. package/coverage/clover.xml +0 -2045
  17. package/coverage/coverage-final.json +0 -55
  18. package/coverage/lcov-report/base.css +0 -224
  19. package/coverage/lcov-report/block-navigation.js +0 -87
  20. package/coverage/lcov-report/builtins/coefficient/index.html +0 -116
  21. package/coverage/lcov-report/builtins/coefficient/index.ts.html +0 -298
  22. package/coverage/lcov-report/builtins/csv-lookup/index.html +0 -116
  23. package/coverage/lcov-report/builtins/csv-lookup/index.ts.html +0 -826
  24. package/coverage/lcov-report/builtins/divide/index.html +0 -116
  25. package/coverage/lcov-report/builtins/divide/index.ts.html +0 -358
  26. package/coverage/lcov-report/builtins/exponent/index.html +0 -116
  27. package/coverage/lcov-report/builtins/exponent/index.ts.html +0 -361
  28. package/coverage/lcov-report/builtins/export-csv-raw.ts.html +0 -553
  29. package/coverage/lcov-report/builtins/export-csv.ts.html +0 -436
  30. package/coverage/lcov-report/builtins/export-log.ts.html +0 -148
  31. package/coverage/lcov-report/builtins/export-yaml.ts.html +0 -193
  32. package/coverage/lcov-report/builtins/group-by.ts.html +0 -370
  33. package/coverage/lcov-report/builtins/index.html +0 -206
  34. package/coverage/lcov-report/builtins/index.ts.html +0 -130
  35. package/coverage/lcov-report/builtins/interpolation/index.html +0 -116
  36. package/coverage/lcov-report/builtins/interpolation/index.ts.html +0 -676
  37. package/coverage/lcov-report/builtins/interpolation/types.ts.html +0 -100
  38. package/coverage/lcov-report/builtins/mock-observations/helpers/common-generator.ts.html +0 -184
  39. package/coverage/lcov-report/builtins/mock-observations/helpers/index.html +0 -131
  40. package/coverage/lcov-report/builtins/mock-observations/helpers/rand-int-generator.ts.html +0 -289
  41. package/coverage/lcov-report/builtins/mock-observations/index.html +0 -116
  42. package/coverage/lcov-report/builtins/mock-observations/index.ts.html +0 -619
  43. package/coverage/lcov-report/builtins/multiply/index.html +0 -116
  44. package/coverage/lcov-report/builtins/multiply/index.ts.html +0 -343
  45. package/coverage/lcov-report/builtins/regex/index.html +0 -116
  46. package/coverage/lcov-report/builtins/regex/index.ts.html +0 -373
  47. package/coverage/lcov-report/builtins/sci/config.ts.html +0 -205
  48. package/coverage/lcov-report/builtins/sci/index.html +0 -116
  49. package/coverage/lcov-report/builtins/sci/index.ts.html +0 -325
  50. package/coverage/lcov-report/builtins/sci-embodied/index.html +0 -116
  51. package/coverage/lcov-report/builtins/sci-embodied/index.ts.html +0 -478
  52. package/coverage/lcov-report/builtins/shell/index.html +0 -116
  53. package/coverage/lcov-report/builtins/shell/index.ts.html +0 -280
  54. package/coverage/lcov-report/builtins/subtract/index.html +0 -116
  55. package/coverage/lcov-report/builtins/subtract/index.ts.html +0 -379
  56. package/coverage/lcov-report/builtins/sum/index.html +0 -116
  57. package/coverage/lcov-report/builtins/sum/index.ts.html +0 -334
  58. package/coverage/lcov-report/builtins/time-sync.ts.html +0 -1462
  59. package/coverage/lcov-report/common/config/index.html +0 -131
  60. package/coverage/lcov-report/common/config/index.ts.html +0 -88
  61. package/coverage/lcov-report/common/config/strings.ts.html +0 -121
  62. package/coverage/lcov-report/common/lib/index.html +0 -116
  63. package/coverage/lcov-report/common/lib/load.ts.html +0 -139
  64. package/coverage/lcov-report/common/util/debug-logger.ts.html +0 -511
  65. package/coverage/lcov-report/common/util/fs.ts.html +0 -289
  66. package/coverage/lcov-report/common/util/helpers.ts.html +0 -280
  67. package/coverage/lcov-report/common/util/index.html +0 -191
  68. package/coverage/lcov-report/common/util/logger.ts.html +0 -151
  69. package/coverage/lcov-report/common/util/validations.ts.html +0 -613
  70. package/coverage/lcov-report/common/util/yaml.ts.html +0 -193
  71. package/coverage/lcov-report/config/config.ts.html +0 -463
  72. package/coverage/lcov-report/config/index.html +0 -161
  73. package/coverage/lcov-report/config/index.ts.html +0 -94
  74. package/coverage/lcov-report/config/params.ts.html +0 -697
  75. package/coverage/lcov-report/config/strings.ts.html +0 -490
  76. package/coverage/lcov-report/favicon.png +0 -0
  77. package/coverage/lcov-report/if-check/config/config.ts.html +0 -184
  78. package/coverage/lcov-report/if-check/config/index.html +0 -146
  79. package/coverage/lcov-report/if-check/config/index.ts.html +0 -91
  80. package/coverage/lcov-report/if-check/config/strings.ts.html +0 -142
  81. package/coverage/lcov-report/if-check/util/args.ts.html +0 -304
  82. package/coverage/lcov-report/if-check/util/helpers.ts.html +0 -136
  83. package/coverage/lcov-report/if-check/util/index.html +0 -146
  84. package/coverage/lcov-report/if-check/util/npm.ts.html +0 -232
  85. package/coverage/lcov-report/if-csv/util/helpers.ts.html +0 -346
  86. package/coverage/lcov-report/if-csv/util/index.html +0 -116
  87. package/coverage/lcov-report/if-diff/config/config.ts.html +0 -184
  88. package/coverage/lcov-report/if-diff/config/index.html +0 -146
  89. package/coverage/lcov-report/if-diff/config/index.ts.html +0 -91
  90. package/coverage/lcov-report/if-diff/config/strings.ts.html +0 -100
  91. package/coverage/lcov-report/if-diff/lib/compare.ts.html +0 -286
  92. package/coverage/lcov-report/if-diff/lib/index.html +0 -131
  93. package/coverage/lcov-report/if-diff/lib/load.ts.html +0 -199
  94. package/coverage/lcov-report/if-diff/util/args.ts.html +0 -268
  95. package/coverage/lcov-report/if-diff/util/helpers.ts.html +0 -337
  96. package/coverage/lcov-report/if-diff/util/index.html +0 -131
  97. package/coverage/lcov-report/if-env/config/config.ts.html +0 -211
  98. package/coverage/lcov-report/if-env/config/index.html +0 -146
  99. package/coverage/lcov-report/if-env/config/index.ts.html +0 -91
  100. package/coverage/lcov-report/if-env/config/strings.ts.html +0 -109
  101. package/coverage/lcov-report/if-env/util/args.ts.html +0 -250
  102. package/coverage/lcov-report/if-env/util/index.html +0 -131
  103. package/coverage/lcov-report/if-env/util/npm.ts.html +0 -526
  104. package/coverage/lcov-report/if-merge/util/args.ts.html +0 -295
  105. package/coverage/lcov-report/if-merge/util/helpers.ts.html +0 -301
  106. package/coverage/lcov-report/if-merge/util/index.html +0 -131
  107. package/coverage/lcov-report/if-run/builtins/coefficient/index.html +0 -116
  108. package/coverage/lcov-report/if-run/builtins/coefficient/index.ts.html +0 -382
  109. package/coverage/lcov-report/if-run/builtins/copy-param/index.html +0 -116
  110. package/coverage/lcov-report/if-run/builtins/copy-param/index.ts.html +0 -415
  111. package/coverage/lcov-report/if-run/builtins/csv-lookup/index.html +0 -116
  112. package/coverage/lcov-report/if-run/builtins/csv-lookup/index.ts.html +0 -868
  113. package/coverage/lcov-report/if-run/builtins/divide/index.html +0 -116
  114. package/coverage/lcov-report/if-run/builtins/divide/index.ts.html +0 -469
  115. package/coverage/lcov-report/if-run/builtins/exponent/index.html +0 -116
  116. package/coverage/lcov-report/if-run/builtins/exponent/index.ts.html +0 -394
  117. package/coverage/lcov-report/if-run/builtins/export-csv-raw.ts.html +0 -553
  118. package/coverage/lcov-report/if-run/builtins/export-csv.ts.html +0 -436
  119. package/coverage/lcov-report/if-run/builtins/export-log.ts.html +0 -148
  120. package/coverage/lcov-report/if-run/builtins/export-yaml.ts.html +0 -193
  121. package/coverage/lcov-report/if-run/builtins/group-by.ts.html +0 -370
  122. package/coverage/lcov-report/if-run/builtins/index.html +0 -146
  123. package/coverage/lcov-report/if-run/builtins/index.ts.html +0 -133
  124. package/coverage/lcov-report/if-run/builtins/interpolation/index.html +0 -116
  125. package/coverage/lcov-report/if-run/builtins/interpolation/index.ts.html +0 -709
  126. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/common-generator.ts.html +0 -184
  127. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/index.html +0 -131
  128. package/coverage/lcov-report/if-run/builtins/mock-observations/helpers/rand-int-generator.ts.html +0 -289
  129. package/coverage/lcov-report/if-run/builtins/mock-observations/index.html +0 -116
  130. package/coverage/lcov-report/if-run/builtins/mock-observations/index.ts.html +0 -709
  131. package/coverage/lcov-report/if-run/builtins/multiply/index.html +0 -116
  132. package/coverage/lcov-report/if-run/builtins/multiply/index.ts.html +0 -406
  133. package/coverage/lcov-report/if-run/builtins/regex/index.html +0 -116
  134. package/coverage/lcov-report/if-run/builtins/regex/index.ts.html +0 -433
  135. package/coverage/lcov-report/if-run/builtins/sci/index.html +0 -116
  136. package/coverage/lcov-report/if-run/builtins/sci/index.ts.html +0 -502
  137. package/coverage/lcov-report/if-run/builtins/sci-embodied/index.html +0 -116
  138. package/coverage/lcov-report/if-run/builtins/sci-embodied/index.ts.html +0 -577
  139. package/coverage/lcov-report/if-run/builtins/shell/index.html +0 -116
  140. package/coverage/lcov-report/if-run/builtins/shell/index.ts.html +0 -343
  141. package/coverage/lcov-report/if-run/builtins/subtract/index.html +0 -116
  142. package/coverage/lcov-report/if-run/builtins/subtract/index.ts.html +0 -418
  143. package/coverage/lcov-report/if-run/builtins/sum/index.html +0 -116
  144. package/coverage/lcov-report/if-run/builtins/sum/index.ts.html +0 -400
  145. package/coverage/lcov-report/if-run/builtins/time-converter/config.ts.html +0 -205
  146. package/coverage/lcov-report/if-run/builtins/time-converter/index.html +0 -131
  147. package/coverage/lcov-report/if-run/builtins/time-converter/index.ts.html +0 -412
  148. package/coverage/lcov-report/if-run/builtins/time-sync/index.html +0 -116
  149. package/coverage/lcov-report/if-run/builtins/time-sync/index.ts.html +0 -1651
  150. package/coverage/lcov-report/if-run/builtins/time-sync.ts.html +0 -1462
  151. package/coverage/lcov-report/if-run/config/config.ts.html +0 -271
  152. package/coverage/lcov-report/if-run/config/index.html +0 -161
  153. package/coverage/lcov-report/if-run/config/index.ts.html +0 -94
  154. package/coverage/lcov-report/if-run/config/params.ts.html +0 -679
  155. package/coverage/lcov-report/if-run/config/strings.ts.html +0 -460
  156. package/coverage/lcov-report/if-run/lib/aggregate.ts.html +0 -580
  157. package/coverage/lcov-report/if-run/lib/compute.ts.html +0 -709
  158. package/coverage/lcov-report/if-run/lib/environment.ts.html +0 -373
  159. package/coverage/lcov-report/if-run/lib/exhaust.ts.html +0 -193
  160. package/coverage/lcov-report/if-run/lib/explain.ts.html +0 -217
  161. package/coverage/lcov-report/if-run/lib/index.html +0 -206
  162. package/coverage/lcov-report/if-run/lib/initialize.ts.html +0 -475
  163. package/coverage/lcov-report/if-run/lib/parameterize.ts.html +0 -322
  164. package/coverage/lcov-report/if-run/lib/regroup.ts.html +0 -325
  165. package/coverage/lcov-report/if-run/lib/time-sync.ts.html +0 -1510
  166. package/coverage/lcov-report/if-run/types/aggregation.ts.html +0 -94
  167. package/coverage/lcov-report/if-run/types/index.html +0 -146
  168. package/coverage/lcov-report/if-run/types/interface.ts.html +0 -112
  169. package/coverage/lcov-report/if-run/types/parameters.ts.html +0 -106
  170. package/coverage/lcov-report/if-run/util/aggregation-helper.ts.html +0 -280
  171. package/coverage/lcov-report/if-run/util/args.ts.html +0 -313
  172. package/coverage/lcov-report/if-run/util/helpers.ts.html +0 -304
  173. package/coverage/lcov-report/if-run/util/index.html +0 -191
  174. package/coverage/lcov-report/if-run/util/json.ts.html +0 -115
  175. package/coverage/lcov-report/if-run/util/log-memoize.ts.html +0 -145
  176. package/coverage/lcov-report/if-run/util/os-checker.ts.html +0 -421
  177. package/coverage/lcov-report/if-run/util/plugin-storage.ts.html +0 -202
  178. package/coverage/lcov-report/index.html +0 -521
  179. package/coverage/lcov-report/lib/aggregate.ts.html +0 -358
  180. package/coverage/lcov-report/lib/compare.ts.html +0 -286
  181. package/coverage/lcov-report/lib/compute.ts.html +0 -436
  182. package/coverage/lcov-report/lib/environment.ts.html +0 -376
  183. package/coverage/lcov-report/lib/exhaust.ts.html +0 -289
  184. package/coverage/lcov-report/lib/index.html +0 -221
  185. package/coverage/lcov-report/lib/initialize.ts.html +0 -430
  186. package/coverage/lcov-report/lib/load.ts.html +0 -268
  187. package/coverage/lcov-report/lib/parameterize.ts.html +0 -316
  188. package/coverage/lcov-report/prettify.css +0 -1
  189. package/coverage/lcov-report/prettify.js +0 -2
  190. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  191. package/coverage/lcov-report/sorter.js +0 -196
  192. package/coverage/lcov-report/types/aggregation.ts.html +0 -94
  193. package/coverage/lcov-report/types/index.html +0 -146
  194. package/coverage/lcov-report/types/interface.ts.html +0 -112
  195. package/coverage/lcov-report/types/parameters.ts.html +0 -106
  196. package/coverage/lcov-report/util/aggregation-helper.ts.html +0 -289
  197. package/coverage/lcov-report/util/args.ts.html +0 -649
  198. package/coverage/lcov-report/util/debug-logger.ts.html +0 -481
  199. package/coverage/lcov-report/util/errors.ts.html +0 -232
  200. package/coverage/lcov-report/util/fs.ts.html +0 -124
  201. package/coverage/lcov-report/util/helpers.ts.html +0 -895
  202. package/coverage/lcov-report/util/index.html +0 -296
  203. package/coverage/lcov-report/util/json.ts.html +0 -115
  204. package/coverage/lcov-report/util/log-memoize.ts.html +0 -145
  205. package/coverage/lcov-report/util/logger.ts.html +0 -151
  206. package/coverage/lcov-report/util/npm.ts.html +0 -499
  207. package/coverage/lcov-report/util/os-checker.ts.html +0 -421
  208. package/coverage/lcov-report/util/plugin-storage.ts.html +0 -202
  209. package/coverage/lcov-report/util/validations.ts.html +0 -544
  210. package/coverage/lcov-report/util/yaml.ts.html +0 -193
  211. package/coverage/lcov.info +0 -3392
  212. package/manifests/outputs/features/regroup/test.yml +0 -92
@@ -8,4 +8,6 @@ export declare const STRINGS: {
8
8
  DIRECTORY_NOT_FOUND: string;
9
9
  AGGREGATION_UNITS_NOT_MATCH: (param: string) => string;
10
10
  AGGREGATION_METHODS_NOT_MATCH: (param: string) => string;
11
+ MISSING_INPUTS_PARAMETER: (pluginName: string) => string;
12
+ MISSING_OUTPUTS_PARAMETER: (pluginName: string) => string;
11
13
  };
@@ -13,7 +13,9 @@ Incubation projects are experimental, offer no support guarantee, have minimal g
13
13
  SUCCESS_MESSAGE: 'The environment is successfully setup!',
14
14
  MANIFEST_IS_MISSING: 'Manifest is missing.',
15
15
  DIRECTORY_NOT_FOUND: 'Directory not found.',
16
- AGGREGATION_UNITS_NOT_MATCH: (param) => `Your manifest uses two instances of ${param} with different units. Please check that you are using consistent units for ${param} throughout your manifest.`,
17
- AGGREGATION_METHODS_NOT_MATCH: (param) => `Your manifest uses two instances of ${param} with different 'aggregation-method'. Please check that you are using right 'aggregation-method' for ${param} throughout your manifest.`,
16
+ AGGREGATION_UNITS_NOT_MATCH: (param) => `Your manifest uses two instances of \`${param}\` with different units. Please check that you are using consistent units for \`${param}\` throughout your manifest.`,
17
+ AGGREGATION_METHODS_NOT_MATCH: (param) => `Your manifest uses two instances of \`${param}\` with different 'aggregation-method'. Please check that you are using right 'aggregation-method' for \`${param}\` throughout your manifest.`,
18
+ MISSING_INPUTS_PARAMETER: (pluginName) => `The inputs parameter metadata of the \`${pluginName}\` plugin is missing.`,
19
+ MISSING_OUTPUTS_PARAMETER: (pluginName) => `The outputs parameter metadata of the \`${pluginName}\` plugin is missing.`,
18
20
  };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vY29uZmlnL3N0cmluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxPQUFPLEdBQUc7SUFDckIsa0JBQWtCLEVBQUU7Ozs7Mk5BSXFNO0lBQ3pOLGtCQUFrQixFQUFFLDBDQUEwQztJQUM5RCxrQkFBa0IsRUFBRSwwQ0FBMEM7SUFDOUQsa0JBQWtCLEVBQUUsMEJBQTBCO0lBQzlDLGVBQWUsRUFBRSx3Q0FBd0M7SUFDekQsbUJBQW1CLEVBQUUsc0JBQXNCO0lBQzNDLG1CQUFtQixFQUFFLHNCQUFzQjtJQUMzQywyQkFBMkIsRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQzdDLHVDQUF1QyxLQUFLLCtFQUErRSxLQUFLLDRCQUE0QjtJQUM5Siw2QkFBNkIsRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQy9DLHVDQUF1QyxLQUFLLHdHQUF3RyxLQUFLLDRCQUE0QjtDQUN4TCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFNUUklOR1MgPSB7XG4gIERJU0NMQUlNRVJfTUVTU0FHRTogYFxuSW5jdWJhdGlvbiBQcm9qZWN0XG5cblRoaXMgcHJvamVjdCBpcyBhbiBpbmN1YmF0aW9uIHByb2plY3QgYmVpbmcgcnVuIGluc2lkZSB0aGUgR3JlZW4gU29mdHdhcmUgRm91bmRhdGlvbjsgYXMgc3VjaCwgd2UgRE9O4oCZVCByZWNvbW1lbmQgdXNpbmcgaXQgaW4gYW55IGNyaXRpY2FsIHVzZSBjYXNlLiBcbkluY3ViYXRpb24gcHJvamVjdHMgYXJlIGV4cGVyaW1lbnRhbCwgb2ZmZXIgbm8gc3VwcG9ydCBndWFyYW50ZWUsIGhhdmUgbWluaW1hbCBnb3Zlcm5hbmNlIGFuZCBwcm9jZXNzLCBhbmQgbWF5IGJlIHJldGlyZWQgYXQgYW55IG1vbWVudC4gVGhpcyBwcm9qZWN0IG1heSBvbmUgZGF5IGdyYWR1YXRlLCBpbiB3aGljaCBjYXNlIHRoaXMgZGlzY2xhaW1lciB3aWxsIGJlIHJlbW92ZWQuYCxcbiAgU09VUkNFX0lTX05PVF9ZQU1MOiAnR2l2ZW4gc291cmNlIGZpbGUgaXMgbm90IGluIHlhbWwgZm9ybWF0LicsXG4gIFRBUkdFVF9JU19OT1RfWUFNTDogJ0dpdmVuIHRhcmdldCBmaWxlIGlzIG5vdCBpbiB5YW1sIGZvcm1hdC4nLFxuICBNQU5JRkVTVF9OT1RfRk9VTkQ6ICdNYW5pZmVzdCBmaWxlIG5vdCBmb3VuZC4nLFxuICBTVUNDRVNTX01FU1NBR0U6ICdUaGUgZW52aXJvbm1lbnQgaXMgc3VjY2Vzc2Z1bGx5IHNldHVwIScsXG4gIE1BTklGRVNUX0lTX01JU1NJTkc6ICdNYW5pZmVzdCBpcyBtaXNzaW5nLicsXG4gIERJUkVDVE9SWV9OT1RfRk9VTkQ6ICdEaXJlY3Rvcnkgbm90IGZvdW5kLicsXG4gIEFHR1JFR0FUSU9OX1VOSVRTX05PVF9NQVRDSDogKHBhcmFtOiBzdHJpbmcpID0+XG4gICAgYFlvdXIgbWFuaWZlc3QgdXNlcyB0d28gaW5zdGFuY2VzIG9mICR7cGFyYW19IHdpdGggZGlmZmVyZW50IHVuaXRzLiBQbGVhc2UgY2hlY2sgdGhhdCB5b3UgYXJlIHVzaW5nIGNvbnNpc3RlbnQgdW5pdHMgZm9yICR7cGFyYW19IHRocm91Z2hvdXQgeW91ciBtYW5pZmVzdC5gLFxuICBBR0dSRUdBVElPTl9NRVRIT0RTX05PVF9NQVRDSDogKHBhcmFtOiBzdHJpbmcpID0+XG4gICAgYFlvdXIgbWFuaWZlc3QgdXNlcyB0d28gaW5zdGFuY2VzIG9mICR7cGFyYW19IHdpdGggZGlmZmVyZW50ICdhZ2dyZWdhdGlvbi1tZXRob2QnLiBQbGVhc2UgY2hlY2sgdGhhdCB5b3UgYXJlIHVzaW5nIHJpZ2h0ICdhZ2dyZWdhdGlvbi1tZXRob2QnIGZvciAke3BhcmFtfSB0aHJvdWdob3V0IHlvdXIgbWFuaWZlc3QuYCxcbn07XG4iXX0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5ncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vY29uZmlnL3N0cmluZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxPQUFPLEdBQUc7SUFDckIsa0JBQWtCLEVBQUU7Ozs7Mk5BSXFNO0lBQ3pOLGtCQUFrQixFQUFFLDBDQUEwQztJQUM5RCxrQkFBa0IsRUFBRSwwQ0FBMEM7SUFDOUQsa0JBQWtCLEVBQUUsMEJBQTBCO0lBQzlDLGVBQWUsRUFBRSx3Q0FBd0M7SUFDekQsbUJBQW1CLEVBQUUsc0JBQXNCO0lBQzNDLG1CQUFtQixFQUFFLHNCQUFzQjtJQUMzQywyQkFBMkIsRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQzdDLHlDQUF5QyxLQUFLLG1GQUFtRixLQUFLLDhCQUE4QjtJQUN0Syw2QkFBNkIsRUFBRSxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQy9DLHlDQUF5QyxLQUFLLDRHQUE0RyxLQUFLLDhCQUE4QjtJQUMvTCx3QkFBd0IsRUFBRSxDQUFDLFVBQWtCLEVBQUUsRUFBRSxDQUMvQywwQ0FBMEMsVUFBVSx1QkFBdUI7SUFDN0UseUJBQXlCLEVBQUUsQ0FBQyxVQUFrQixFQUFFLEVBQUUsQ0FDaEQsMkNBQTJDLFVBQVUsdUJBQXVCO0NBQy9FLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgU1RSSU5HUyA9IHtcbiAgRElTQ0xBSU1FUl9NRVNTQUdFOiBgXG5JbmN1YmF0aW9uIFByb2plY3RcblxuVGhpcyBwcm9qZWN0IGlzIGFuIGluY3ViYXRpb24gcHJvamVjdCBiZWluZyBydW4gaW5zaWRlIHRoZSBHcmVlbiBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBhcyBzdWNoLCB3ZSBET07igJlUIHJlY29tbWVuZCB1c2luZyBpdCBpbiBhbnkgY3JpdGljYWwgdXNlIGNhc2UuIFxuSW5jdWJhdGlvbiBwcm9qZWN0cyBhcmUgZXhwZXJpbWVudGFsLCBvZmZlciBubyBzdXBwb3J0IGd1YXJhbnRlZSwgaGF2ZSBtaW5pbWFsIGdvdmVybmFuY2UgYW5kIHByb2Nlc3MsIGFuZCBtYXkgYmUgcmV0aXJlZCBhdCBhbnkgbW9tZW50LiBUaGlzIHByb2plY3QgbWF5IG9uZSBkYXkgZ3JhZHVhdGUsIGluIHdoaWNoIGNhc2UgdGhpcyBkaXNjbGFpbWVyIHdpbGwgYmUgcmVtb3ZlZC5gLFxuICBTT1VSQ0VfSVNfTk9UX1lBTUw6ICdHaXZlbiBzb3VyY2UgZmlsZSBpcyBub3QgaW4geWFtbCBmb3JtYXQuJyxcbiAgVEFSR0VUX0lTX05PVF9ZQU1MOiAnR2l2ZW4gdGFyZ2V0IGZpbGUgaXMgbm90IGluIHlhbWwgZm9ybWF0LicsXG4gIE1BTklGRVNUX05PVF9GT1VORDogJ01hbmlmZXN0IGZpbGUgbm90IGZvdW5kLicsXG4gIFNVQ0NFU1NfTUVTU0FHRTogJ1RoZSBlbnZpcm9ubWVudCBpcyBzdWNjZXNzZnVsbHkgc2V0dXAhJyxcbiAgTUFOSUZFU1RfSVNfTUlTU0lORzogJ01hbmlmZXN0IGlzIG1pc3NpbmcuJyxcbiAgRElSRUNUT1JZX05PVF9GT1VORDogJ0RpcmVjdG9yeSBub3QgZm91bmQuJyxcbiAgQUdHUkVHQVRJT05fVU5JVFNfTk9UX01BVENIOiAocGFyYW06IHN0cmluZykgPT5cbiAgICBgWW91ciBtYW5pZmVzdCB1c2VzIHR3byBpbnN0YW5jZXMgb2YgXFxgJHtwYXJhbX1cXGAgd2l0aCBkaWZmZXJlbnQgdW5pdHMuIFBsZWFzZSBjaGVjayB0aGF0IHlvdSBhcmUgdXNpbmcgY29uc2lzdGVudCB1bml0cyBmb3IgXFxgJHtwYXJhbX1cXGAgdGhyb3VnaG91dCB5b3VyIG1hbmlmZXN0LmAsXG4gIEFHR1JFR0FUSU9OX01FVEhPRFNfTk9UX01BVENIOiAocGFyYW06IHN0cmluZykgPT5cbiAgICBgWW91ciBtYW5pZmVzdCB1c2VzIHR3byBpbnN0YW5jZXMgb2YgXFxgJHtwYXJhbX1cXGAgd2l0aCBkaWZmZXJlbnQgJ2FnZ3JlZ2F0aW9uLW1ldGhvZCcuIFBsZWFzZSBjaGVjayB0aGF0IHlvdSBhcmUgdXNpbmcgcmlnaHQgJ2FnZ3JlZ2F0aW9uLW1ldGhvZCcgZm9yIFxcYCR7cGFyYW19XFxgIHRocm91Z2hvdXQgeW91ciBtYW5pZmVzdC5gLFxuICBNSVNTSU5HX0lOUFVUU19QQVJBTUVURVI6IChwbHVnaW5OYW1lOiBzdHJpbmcpID0+XG4gICAgYFRoZSBpbnB1dHMgcGFyYW1ldGVyIG1ldGFkYXRhIG9mIHRoZSBcXGAke3BsdWdpbk5hbWV9XFxgIHBsdWdpbiBpcyBtaXNzaW5nLmAsXG4gIE1JU1NJTkdfT1VUUFVUU19QQVJBTUVURVI6IChwbHVnaW5OYW1lOiBzdHJpbmcpID0+XG4gICAgYFRoZSBvdXRwdXRzIHBhcmFtZXRlciBtZXRhZGF0YSBvZiB0aGUgXFxgJHtwbHVnaW5OYW1lfVxcYCBwbHVnaW4gaXMgbWlzc2luZy5gLFxufTtcbiJdfQ==
@@ -45,21 +45,28 @@ exports.Interpolation = (0, interfaces_1.PluginFactory)({
45
45
  .object({
46
46
  timestamp: zod_1.z.string().or(zod_1.z.date()),
47
47
  duration: zod_1.z.number(),
48
- [inputParameter]: zod_1.z.number().gt(0),
48
+ [inputParameter]: zod_1.z.number().gte(0).or(zod_1.z.literal('off')),
49
49
  })
50
- .refine(data => data[inputParameter] >= config.x[0] &&
51
- data[inputParameter] <= config.x[config.x.length - 1], {
50
+ .refine(data => (data[inputParameter] >= config.x[0] &&
51
+ data[inputParameter] <= config.x[config.x.length - 1]) ||
52
+ data[inputParameter] === 'off', {
52
53
  message: WITHIN_THE_RANGE,
53
54
  });
54
55
  return (0, validations_1.validate)(schema, input, index);
55
56
  },
56
57
  implementation: async (inputs, config) => {
57
- const { 'output-parameter': outputParameter } = config;
58
+ const { 'input-parameter': inputParameter, 'output-parameter': outputParameter, } = config;
58
59
  return inputs.map(input => {
59
- const calculatedResult = calculateResult(config, input);
60
+ if (input[inputParameter] === 'off') {
61
+ return {
62
+ ...input,
63
+ [inputParameter]: 0,
64
+ [outputParameter]: 0,
65
+ };
66
+ }
60
67
  return {
61
68
  ...input,
62
- [outputParameter]: calculatedResult,
69
+ [outputParameter]: calculateResult(config, input),
63
70
  };
64
71
  });
65
72
  },
@@ -132,7 +139,8 @@ const getPolynomialInterpolation = (config, input) => {
132
139
  }, 0);
133
140
  return result;
134
141
  };
135
- const sortPoints = (items) => items.sort((a, b) => {
136
- return a - b;
137
- });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaWYtcnVuL2J1aWx0aW5zL2ludGVycG9sYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsc0ZBQTZDO0FBQzdDLDZCQUFzQjtBQUV0QixpREFBeUU7QUFDekUsMkRBQXlEO0FBQ3pELGlEQUE2QztBQUU3QyxrRUFBMEQ7QUFFMUQseUNBQXFDO0FBRXJDLE1BQU0sRUFBQyxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFDLEdBQ3pFLGdCQUFPLENBQUM7QUFFVixNQUFNLEVBQUMsV0FBVyxFQUFDLEdBQUcsY0FBTSxDQUFDO0FBRWhCLFFBQUEsYUFBYSxHQUFHLElBQUEsMEJBQWEsRUFBQztJQUN6QyxnQkFBZ0IsRUFBRSxDQUFDLE1BQW9CLEVBQUUsRUFBRTtRQUN6QyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUU7WUFDM0MsTUFBTSxJQUFJLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN2QztRQUVELE1BQU0sTUFBTSxHQUFHLE9BQUM7YUFDYixNQUFNLENBQUM7WUFDTixNQUFNLEVBQUUsT0FBQyxDQUFDLFVBQVUsQ0FBQyxjQUFNLENBQUM7WUFDNUIsQ0FBQyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3RCLENBQUMsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QixpQkFBaUIsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO1lBQzdCLGtCQUFrQixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7U0FDL0IsQ0FBQzthQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUks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QUFNLENBQUMsQ0FBQyxDQUFDO0lBQ25DLE1BQU0sT0FBTyxHQUFhLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFbkMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDMUMsTUFBTSxJQUFJLEdBQ1IsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNWLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ1gsT0FBTyxDQUFDLElBQUksR0FBRyxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO2lCQUNyRDtnQkFDRCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNSLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQztJQUNwQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFTixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRixNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQ3JDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFTLEVBQUUsQ0FBUyxFQUFFLEVBQUU7SUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2YsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU3BsaW5lIGZyb20gJ3R5cGVzY3JpcHQtY3ViaWMtc3BsaW5lJztcbmltcG9ydCB7en0gZnJvbSAnem9kJztcblxuaW1wb3J0IHtQbHVnaW5QYXJhbXMsIENvbmZpZ1BhcmFtcywgTWV0aG9kfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdHlwZXMnO1xuaW1wb3J0IHtQbHVnaW5GYWN0b3J5fSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvaW50ZXJmYWNlcyc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcblxuaW1wb3J0IHt2YWxpZGF0ZX0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL3V0aWwvdmFsaWRhdGlvbnMnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uLy4uL2NvbmZpZyc7XG5cbmNvbnN0IHtYX1lfRVFVQUwsIEFSUkFZX0xFTkdUSF9OT05fRU1QVFksIFdJVEhJTl9USEVfUkFOR0UsIE1JU1NJTkdfQ09ORklHfSA9XG4gIFNUUklOR1M7XG5cbmNvbnN0IHtDb25maWdFcnJvcn0gPSBFUlJPUlM7XG5cbmV4cG9ydCBjb25zdCBJbnRlcnBvbGF0aW9uID0gUGx1Z2luRmFjdG9yeSh7XG4gIGNvbmZpZ1ZhbGlkYXRpb246IChjb25maWc6IENvbmZpZ1BhcmFtcykgPT4ge1xuICAgIGlmICghY29uZmlnIHx8ICFPYmplY3Qua2V5cyhjb25maWcpPy5sZW5ndGgpIHtcbiAgICAgIHRocm93IG5ldyBDb25maWdFcnJvcihNSVNTSU5HX0NPTkZJRyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2NoZW1hID0gelxuICAgICAgLm9iamVjdCh7XG4gICAgICAgIG1ldGhvZDogei5uYXRpdmVFbnVtKE1ldGhvZCksXG4gICAgICAgIHg6IHouYXJyYXkoei5udW1iZXIoKSksXG4gICAgICAgIHk6IHouYXJyYXkoei5udW1iZXIoKSksXG4gICAgICAgICdpbnB1dC1wYXJhbWV0ZXInOiB6LnN0cmluZygpLFxuICAgICAgICAnb3V0cHV0LXBhcmFtZXRlcic6IHouc3RyaW5nKCksXG4gICAgICB9KVxuICAgICAgLnJlZmluZShkYXRhID0+IGRhdGEueCAmJiBkYXRhLnkgJiYgZGF0YS54Lmxlbmd0aCA9PT0gZGF0YS55Lmxlbmd0aCwge1xuICAgICAgICBtZXNzYWdlOiBYX1lfRVFVQUwsXG4gICAgICB9KVxuICAgICAgLnJlZmluZShkYXRhID0+IGRhdGEueC5sZW5ndGggPiAxICYmIGRhdGEueS5sZW5ndGggPiAxLCB7XG4gICAgICAgIG1lc3NhZ2U6IEFSUkFZX0xFTkdUSF9OT05fRU1QVFksXG4gICAgICB9KTtcblxuICAgIGNvbnN0IGRlZmF1bHRNZXRob2QgPSBjb25maWcubWV0aG9kID8/IE1ldGhvZC5MSU5FQVI7XG4gICAgY29uc3QgdXBkYXRlZENvbmZpZyA9IE9iamVjdC5hc3NpZ24oe30sIHttZXRob2Q6IGRlZmF1bHRNZXRob2R9LCBjb25maWcsIHtcbiAgICAgIHg6IHNvcnRQb2ludHMoY29uZmlnLngpLFxuICAgICAgeTogc29ydFBvaW50cyhjb25maWcueSksXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdmFsaWRhdGU8ei5pbmZlcjx0eXBlb2Ygc2NoZW1hPj4oc2NoZW1hLCB1cGRhdGVkQ29uZmlnKTtcbiAgfSxcbiAgaW5wdXRWYWxpZGF0aW9uOiAoXG4gICAgaW5wdXQ6IFBsdWdpblBhcmFtcyxcbiAgICBjb25maWc6IENvbmZpZ1BhcmFtcyxcbiAgICBpbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkXG4gICkgPT4ge1xuICAgIGNvbnN0IGlucHV0UGFyYW1ldGVyID0gY29uZmlnWydpbnB1dC1wYXJhbWV0ZXInXTtcblxuICAgIGNvbnN0IHNjaGVtYSA9IHpcbiAgICAgIC5vYmplY3Qoe1xuICAgICAgICB0aW1lc3RhbXA6IHouc3RyaW5nKCkub3Ioei5kYXRlKCkpLFxuICAgICAgICBkdXJhdGlvbjogei5udW1iZXIoKSxcbiAgICAgICAgW2lucHV0UGFyYW1ldGVyXTogei5udW1iZXIoKS5ndCgwKSxcbiAgICAgIH0pXG4gICAgICAucmVmaW5lKFxuICAgICAgICBkYXRhID0+XG4gICAgICAgICAgZGF0YVtpbnB1dFBhcmFtZXRlcl0gPj0gY29uZmlnLnhbMF0gJiZcbiAgICAgICAgICBkYXRhW2lucHV0UGFyYW1ldGVyXSA8PSBjb25maWcueFtjb25maWcueC5sZW5ndGggLSAxXSxcbiAgICAgICAge1xuICAgICAgICAgIG1lc3NhZ2U6IFdJVEhJTl9USEVfUkFOR0UsXG4gICAgICAgIH1cbiAgICAgICk7XG5cbiAgICByZXR1cm4gdmFsaWRhdGU8ei5pbmZlcjx0eXBlb2Ygc2NoZW1hPj4oc2NoZW1hLCBpbnB1dCwgaW5kZXgpO1xuICB9LFxuICBpbXBsZW1lbnRhdGlvbjogYXN5bmMgKGlucHV0czogUGx1Z2luUGFyYW1zW10sIGNvbmZpZzogQ29uZmlnUGFyYW1zKSA9PiB7XG4gICAgY29uc3QgeydvdXRwdXQtcGFyYW1ldGVyJzogb3V0cHV0UGFyYW1ldGVyfSA9IGNvbmZpZztcblxuICAgIHJldHVybiBpbnB1dHMubWFwKGlucHV0ID0+IHtcbiAgICAgIGNvbnN0IGNhbGN1bGF0ZWRSZXN1bHQgPSBjYWxjdWxhdGVSZXN1bHQoY29uZmlnLCBpbnB1dCk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0LFxuICAgICAgICBbb3V0cHV0UGFyYW1ldGVyXTogY2FsY3VsYXRlZFJlc3VsdCxcbiAgICAgIH07XG4gICAgfSk7XG4gIH0sXG4gIGFsbG93QXJpdGhtZXRpY0V4cHJlc3Npb25zOiBbJ2lucHV0LXBhcmFtZXRlciddLFxufSk7XG5cbi8qKlxuICogQ2FsY3VsYXRlcyB0aGUgYXBwcm9wcmlhdGUgaW50ZXJwb2xhdGlvbiB2YWx1ZSBiYXNlZCBvbiB0aGUgc3BlY2lmaWVkIG1ldGhvZCB0eXBlIGluIHRoZSBjb25maWcgYW5kIGlucHV0IHBhcmFtZXRlcnMuXG4gKi9cbmNvbnN0IGNhbGN1bGF0ZVJlc3VsdCA9IChjb25maWc6IENvbmZpZ1BhcmFtcywgaW5wdXQ6IFBsdWdpblBhcmFtcykgPT4ge1xuICBjb25zdCBtZXRob2RUeXBlOiB7W2tleTogc3RyaW5nXTogbnVtYmVyfSA9IHtcbiAgICBsaW5lYXI6IGdldExpbmVhckludGVycG9sYXRpb24oY29uZmlnLCBpbnB1dCksXG4gICAgc3BsaW5lOiBnZXRTcGxpbmVJbnRlcnBvbGF0aW9uKGNvbmZpZywgaW5wdXQpLFxuICAgIHBvbHlub21pYWw6IGdldFBvbHlub21pYWxJbnRlcnBvbGF0aW9uKGNvbmZpZywgaW5wdXQpLFxuICB9O1xuXG4gIHJldHVybiBtZXRob2RUeXBlW2NvbmZpZy5tZXRob2RdO1xufTtcblxuLyoqXG4gKiBDYWxjdWxhdGVzIHRoZSBpbnRlcnBvbGF0aW9uIHdoZW4gdGhlIG1ldGhvZCBpcyBsaW5lYXIuXG4gKi9cbmNvbnN0IGdldExpbmVhckludGVycG9sYXRpb24gPSAoY29uZmlnOiBDb25maWdQYXJhbXMsIGlucHV0OiBQbHVnaW5QYXJhbXMpID0+IHtcbiAgY29uc3QgcGFyYW1ldGVyID1cbiAgICB0eXBlb2YgY29uZmlnWydpbnB1dC1wYXJhbWV0ZXInXSA9PT0gJ251bWJlcidcbiAgICAgID8gY29uZmlnWydpbnB1dC1wYXJhbWV0ZXInXVxuICAgICAgOiBpbnB1dFtjb25maWdbJ2lucHV0LXBhcmFtZXRlciddXTtcbiAgY29uc3QgeFBvaW50czogbnVtYmVyW10gPSBjb25maWcueDtcbiAgY29uc3QgeVBvaW50czogbnVtYmVyW10gPSBjb25maWcueTtcblxuICBjb25zdCByZXN1bHQgPSB4UG9pbnRzLnJlZHVjZShcbiAgICAoYWNjLCB4UG9pbnQsIGkpID0+IHtcbiAgICAgIGlmIChwYXJhbWV0ZXIgPT09IHhQb2ludCkge1xuICAgICAgICBhY2MuYmFzZUNwdSA9IHhQb2ludDtcbiAgICAgICAgYWNjLmJhc2VSYXRlID0geVBvaW50c1tpXTtcbiAgICAgIH0gZWxzZSBpZiAocGFyYW1ldGVyID4geFBvaW50ICYmIHBhcmFtZXRlciA8IHhQb2ludHNbaSArIDFdKSB7XG4gICAgICAgIGFjYy5iYXNlQ3B1ID0geFBvaW50O1xuICAgICAgICBhY2MuYmFzZVJhdGUgPSB5UG9pbnRzW2ldO1xuICAgICAgICBhY2MucmF0aW8gPSAoeVBvaW50c1tpICsgMV0gLSB5UG9pbnRzW2ldKSAvICh4UG9pbnRzW2kgKyAxXSAtIHhQb2ludCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSxcbiAgICB7YmFzZVJhdGU6IDAsIGJhc2VDcHU6IDAsIHJhdGlvOiAwfVxuICApO1xuXG4gIHJldHVybiByZXN1bHQuYmFzZVJhdGUgKyAocGFyYW1ldGVyIC0gcmVzdWx0LmJhc2VDcHUpICogcmVzdWx0LnJhdGlvO1xufTtcblxuLyoqXG4gKiBDYWxjdWxhdGVzIHRoZSBpbnRlcnBvbGF0aW9uIHdoZW4gdGhlIG1ldGhvZCBpcyBzcGxpbmUuXG4gKi9cbmNvbnN0IGdldFNwbGluZUludGVycG9sYXRpb24gPSAoY29uZmlnOiBDb25maWdQYXJhbXMsIGlucHV0OiBQbHVnaW5QYXJhbXMpID0+IHtcbiAgY29uc3QgcGFyYW1ldGVyID1cbiAgICB0eXBlb2YgY29uZmlnWydpbnB1dC1wYXJhbWV0ZXInXSA9PT0gJ251bWJlcidcbiAgICAgID8gY29uZmlnWydpbnB1dC1wYXJhbWV0ZXInXVxuICAgICAgOiBpbnB1dFtjb25maWdbJ2lucHV0LXBhcmFtZXRlciddXTtcbiAgY29uc3QgeFBvaW50czogbnVtYmVyW10gPSBjb25maWcueDtcbiAgY29uc3QgeVBvaW50czogbnVtYmVyW10gPSBjb25maWcueTtcbiAgY29uc3Qgc3BsaW5lOiBhbnkgPSBuZXcgU3BsaW5lKHhQb2ludHMsIHlQb2ludHMpO1xuXG4gIHJldHVybiBzcGxpbmUuYXQocGFyYW1ldGVyKTtcbn07XG5cbi8qKlxuICogQ2FsY3VsYXRlcyB0aGUgaW50ZXJwb2xhdGlvbiB3aGVuIHRoZSBtZXRob2QgaXMgcG9seW5vbWlhbC5cbiAqL1xuY29uc3QgZ2V0UG9seW5vbWlhbEludGVycG9sYXRpb24gPSAoXG4gIGNvbmZpZzogQ29uZmlnUGFyYW1zLFxuICBpbnB1dDogUGx1Z2luUGFyYW1zXG4pID0+IHtcbiAgY29uc3QgcGFyYW1ldGVyID1cbiAgICB0eXBlb2YgY29uZmlnWydpbnB1dC1wYXJhbWV0ZXInXSA9PT0gJ251bWJlcidcbiAgICAgID8gY29uZmlnWydpbnB1dC1wYXJhbWV0ZXInXVxuICAgICAgOiBpbnB1dFtjb25maWdbJ2lucHV0LXBhcmFtZXRlciddXTtcbiAgY29uc3QgeFBvaW50czogbnVtYmVyW10gPSBjb25maWcueDtcbiAgY29uc3QgeVBvaW50czogbnVtYmVyW10gPSBjb25maWcueTtcblxuICBjb25zdCByZXN1bHQgPSB4UG9pbnRzLnJlZHVjZSgoYWNjLCB4LCBpKSA9PiB7XG4gICAgY29uc3QgdGVybSA9XG4gICAgICB5UG9pbnRzW2ldICpcbiAgICAgIHhQb2ludHMucmVkdWNlKChwcm9kLCB4UG9pbnQsIGopID0+IHtcbiAgICAgICAgaWYgKGogIT09IGkpIHtcbiAgICAgICAgICByZXR1cm4gKHByb2QgKiAocGFyYW1ldGVyIC0geFBvaW50KSkgLyAoeCAtIHhQb2ludCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHByb2Q7XG4gICAgICB9LCAxKTtcbiAgICByZXR1cm4gYWNjICsgdGVybTtcbiAgfSwgMCk7XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmNvbnN0IHNvcnRQb2ludHMgPSAoaXRlbXM6IG51bWJlcltdKSA9PlxuICBpdGVtcy5zb3J0KChhOiBudW1iZXIsIGI6IG51bWJlcikgPT4ge1xuICAgIHJldHVybiBhIC0gYjtcbiAgfSk7XG4iXX0=
142
+ /**
143
+ * Sorts given point items in ascending order.
144
+ */
145
+ const sortPoints = (items) => items.sort((a, b) => a - b);
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaWYtcnVuL2J1aWx0aW5zL2ludGVycG9sYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsc0ZBQTZDO0FBQzdDLDZCQUFzQjtBQUV0QixpREFBeUU7QUFDekUsMkRBQXlEO0FBQ3pELGlEQUE2QztBQUU3QyxrRUFBMEQ7QUFFMUQseUNBQXFDO0FBRXJDLE1BQU0sRUFBQyxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFDLEdBQ3pFLGdCQUFPLENBQUM7QUFFVixNQUFNLEVBQUMsV0FBVyxFQUFDLEdBQUcsY0FBTSxDQUFDO0FBRWhCLFFBQUEsYUFBYSxHQUFHLElBQUEsMEJBQWEsRUFBQztJQUN6QyxnQkFBZ0IsRUFBRSxDQUFDLE1BQW9CLEVBQUUsRUFBRTtRQUN6QyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUU7WUFDM0MsTUFBTSxJQUFJLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUN2QztRQUVELE1BQU0sTUFBTSxHQUFHLE9BQUM7YUFDYixNQUFNLENBQUM7WUFDTixNQUFNLEVBQUUsT0FBQyxDQUFDLFVBQVUsQ0FBQyxjQUFNLENBQUM7WUFDNUIsQ0FBQyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3RCLENBQUMsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN0QixpQkFBaUIsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO1lBQzdCLGtCQUFrQixFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7U0FDL0IsQ0FBQzthQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUks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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCBTcGxpbmUgZnJvbSAndHlwZXNjcmlwdC1jdWJpYy1zcGxpbmUnO1xuaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge1BsdWdpblBhcmFtcywgQ29uZmlnUGFyYW1zLCBNZXRob2R9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS90eXBlcyc7XG5pbXBvcnQge1BsdWdpbkZhY3Rvcnl9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS9pbnRlcmZhY2VzJztcbmltcG9ydCB7RVJST1JTfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdXRpbHMnO1xuXG5pbXBvcnQge3ZhbGlkYXRlfSBmcm9tICcuLi8uLi8uLi9jb21tb24vdXRpbC92YWxpZGF0aW9ucyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vLi4vY29uZmlnJztcblxuY29uc3Qge1hfWV9FUVVBTCwgQVJSQVlfTEVOR1RIX05PTl9FTVBUWSwgV0lUSElOX1RIRV9SQU5HRSwgTUlTU0lOR19DT05GSUd9ID1cbiAgU1RSSU5HUztcblxuY29uc3Qge0NvbmZpZ0Vycm9yfSA9IEVSUk9SUztcblxuZXhwb3J0IGNvbnN0IEludGVycG9sYXRpb24gPSBQbHVnaW5GYWN0b3J5KHtcbiAgY29uZmlnVmFsaWRhdGlvbjogKGNvbmZpZzogQ29uZmlnUGFyYW1zKSA9PiB7XG4gICAgaWYgKCFjb25maWcgfHwgIU9iamVjdC5rZXlzKGNvbmZpZyk/Lmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IENvbmZpZ0Vycm9yKE1JU1NJTkdfQ09ORklHKTtcbiAgICB9XG5cbiAgICBjb25zdCBzY2hlbWEgPSB6XG4gICAgICAub2JqZWN0KHtcbiAgICAgICAgbWV0aG9kOiB6Lm5hdGl2ZUVudW0oTWV0aG9kKSxcbiAgICAgICAgeDogei5hcnJheSh6Lm51bWJlcigpKSxcbiAgICAgICAgeTogei5hcnJheSh6Lm51bWJlcigpKSxcbiAgICAgICAgJ2lucHV0LXBhcmFtZXRlcic6IHouc3RyaW5nKCksXG4gICAgICAgICdvdXRwdXQtcGFyYW1ldGVyJzogei5zdHJpbmcoKSxcbiAgICAgIH0pXG4gICAgICAucmVmaW5lKGRhdGEgPT4gZGF0YS54ICYmIGRhdGEueSAmJiBkYXRhLngubGVuZ3RoID09PSBkYXRhLnkubGVuZ3RoLCB7XG4gICAgICAgIG1lc3NhZ2U6IFhfWV9FUVVBTCxcbiAgICAgIH0pXG4gICAgICAucmVmaW5lKGRhdGEgPT4gZGF0YS54Lmxlbmd0aCA+IDEgJiYgZGF0YS55Lmxlbmd0aCA+IDEsIHtcbiAgICAgICAgbWVzc2FnZTogQVJSQVlfTEVOR1RIX05PTl9FTVBUWSxcbiAgICAgIH0pO1xuXG4gICAgY29uc3QgZGVmYXVsdE1ldGhvZCA9IGNvbmZpZy5tZXRob2QgPz8gTWV0aG9kLkxJTkVBUjtcbiAgICBjb25zdCB1cGRhdGVkQ29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwge21ldGhvZDogZGVmYXVsdE1ldGhvZH0sIGNvbmZpZywge1xuICAgICAgeDogc29ydFBvaW50cyhjb25maWcueCksXG4gICAgICB5OiBzb3J0UG9pbnRzKGNvbmZpZy55KSxcbiAgICB9KTtcblxuICAgIHJldHVybiB2YWxpZGF0ZTx6LmluZmVyPHR5cGVvZiBzY2hlbWE+PihzY2hlbWEsIHVwZGF0ZWRDb25maWcpO1xuICB9LFxuICBpbnB1dFZhbGlkYXRpb246IChcbiAgICBpbnB1dDogUGx1Z2luUGFyYW1zLFxuICAgIGNvbmZpZzogQ29uZmlnUGFyYW1zLFxuICAgIGluZGV4OiBudW1iZXIgfCB1bmRlZmluZWRcbiAgKSA9PiB7XG4gICAgY29uc3QgaW5wdXRQYXJhbWV0ZXIgPSBjb25maWdbJ2lucHV0LXBhcmFtZXRlciddO1xuXG4gICAgY29uc3Qgc2NoZW1hID0gelxuICAgICAgLm9iamVjdCh7XG4gICAgICAgIHRpbWVzdGFtcDogei5zdHJpbmcoKS5vcih6LmRhdGUoKSksXG4gICAgICAgIGR1cmF0aW9uOiB6Lm51bWJlcigpLFxuICAgICAgICBbaW5wdXRQYXJhbWV0ZXJdOiB6Lm51bWJlcigpLmd0ZSgwKS5vcih6LmxpdGVyYWwoJ29mZicpKSxcbiAgICAgIH0pXG4gICAgICAucmVmaW5lKFxuICAgICAgICBkYXRhID0+XG4gICAgICAgICAgKGRhdGFbaW5wdXRQYXJhbWV0ZXJdID49IGNvbmZpZy54WzBdICYmXG4gICAgICAgICAgICBkYXRhW2lucHV0UGFyYW1ldGVyXSA8PSBjb25maWcueFtjb25maWcueC5sZW5ndGggLSAxXSkgfHxcbiAgICAgICAgICBkYXRhW2lucHV0UGFyYW1ldGVyXSA9PT0gJ29mZicsXG4gICAgICAgIHtcbiAgICAgICAgICBtZXNzYWdlOiBXSVRISU5fVEhFX1JBTkdFLFxuICAgICAgICB9XG4gICAgICApO1xuXG4gICAgcmV0dXJuIHZhbGlkYXRlPHouaW5mZXI8dHlwZW9mIHNjaGVtYT4+KHNjaGVtYSwgaW5wdXQsIGluZGV4KTtcbiAgfSxcbiAgaW1wbGVtZW50YXRpb246IGFzeW5jIChpbnB1dHM6IFBsdWdpblBhcmFtc1tdLCBjb25maWc6IENvbmZpZ1BhcmFtcykgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgICdpbnB1dC1wYXJhbWV0ZXInOiBpbnB1dFBhcmFtZXRlcixcbiAgICAgICdvdXRwdXQtcGFyYW1ldGVyJzogb3V0cHV0UGFyYW1ldGVyLFxuICAgIH0gPSBjb25maWc7XG5cbiAgICByZXR1cm4gaW5wdXRzLm1hcChpbnB1dCA9PiB7XG4gICAgICBpZiAoaW5wdXRbaW5wdXRQYXJhbWV0ZXJdID09PSAnb2ZmJykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmlucHV0LFxuICAgICAgICAgIFtpbnB1dFBhcmFtZXRlcl06IDAsXG4gICAgICAgICAgW291dHB1dFBhcmFtZXRlcl06IDAsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmlucHV0LFxuICAgICAgICBbb3V0cHV0UGFyYW1ldGVyXTogY2FsY3VsYXRlUmVzdWx0KGNvbmZpZywgaW5wdXQpLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfSxcbiAgYWxsb3dBcml0aG1ldGljRXhwcmVzc2lvbnM6IFsnaW5wdXQtcGFyYW1ldGVyJ10sXG59KTtcblxuLyoqXG4gKiBDYWxjdWxhdGVzIHRoZSBhcHByb3ByaWF0ZSBpbnRlcnBvbGF0aW9uIHZhbHVlIGJhc2VkIG9uIHRoZSBzcGVjaWZpZWQgbWV0aG9kIHR5cGUgaW4gdGhlIGNvbmZpZyBhbmQgaW5wdXQgcGFyYW1ldGVycy5cbiAqL1xuY29uc3QgY2FsY3VsYXRlUmVzdWx0ID0gKGNvbmZpZzogQ29uZmlnUGFyYW1zLCBpbnB1dDogUGx1Z2luUGFyYW1zKSA9PiB7XG4gIGNvbnN0IG1ldGhvZFR5cGU6IHtba2V5OiBzdHJpbmddOiBudW1iZXJ9ID0ge1xuICAgIGxpbmVhcjogZ2V0TGluZWFySW50ZXJwb2xhdGlvbihjb25maWcsIGlucHV0KSxcbiAgICBzcGxpbmU6IGdldFNwbGluZUludGVycG9sYXRpb24oY29uZmlnLCBpbnB1dCksXG4gICAgcG9seW5vbWlhbDogZ2V0UG9seW5vbWlhbEludGVycG9sYXRpb24oY29uZmlnLCBpbnB1dCksXG4gIH07XG5cbiAgcmV0dXJuIG1ldGhvZFR5cGVbY29uZmlnLm1ldGhvZF07XG59O1xuXG4vKipcbiAqIENhbGN1bGF0ZXMgdGhlIGludGVycG9sYXRpb24gd2hlbiB0aGUgbWV0aG9kIGlzIGxpbmVhci5cbiAqL1xuY29uc3QgZ2V0TGluZWFySW50ZXJwb2xhdGlvbiA9IChjb25maWc6IENvbmZpZ1BhcmFtcywgaW5wdXQ6IFBsdWdpblBhcmFtcykgPT4ge1xuICBjb25zdCBwYXJhbWV0ZXIgPVxuICAgIHR5cGVvZiBjb25maWdbJ2lucHV0LXBhcmFtZXRlciddID09PSAnbnVtYmVyJ1xuICAgICAgPyBjb25maWdbJ2lucHV0LXBhcmFtZXRlciddXG4gICAgICA6IGlucHV0W2NvbmZpZ1snaW5wdXQtcGFyYW1ldGVyJ11dO1xuICBjb25zdCB4UG9pbnRzOiBudW1iZXJbXSA9IGNvbmZpZy54O1xuICBjb25zdCB5UG9pbnRzOiBudW1iZXJbXSA9IGNvbmZpZy55O1xuXG4gIGNvbnN0IHJlc3VsdCA9IHhQb2ludHMucmVkdWNlKFxuICAgIChhY2MsIHhQb2ludCwgaSkgPT4ge1xuICAgICAgaWYgKHBhcmFtZXRlciA9PT0geFBvaW50KSB7XG4gICAgICAgIGFjYy5iYXNlQ3B1ID0geFBvaW50O1xuICAgICAgICBhY2MuYmFzZVJhdGUgPSB5UG9pbnRzW2ldO1xuICAgICAgfSBlbHNlIGlmIChwYXJhbWV0ZXIgPiB4UG9pbnQgJiYgcGFyYW1ldGVyIDwgeFBvaW50c1tpICsgMV0pIHtcbiAgICAgICAgYWNjLmJhc2VDcHUgPSB4UG9pbnQ7XG4gICAgICAgIGFjYy5iYXNlUmF0ZSA9IHlQb2ludHNbaV07XG4gICAgICAgIGFjYy5yYXRpbyA9ICh5UG9pbnRzW2kgKyAxXSAtIHlQb2ludHNbaV0pIC8gKHhQb2ludHNbaSArIDFdIC0geFBvaW50KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LFxuICAgIHtiYXNlUmF0ZTogMCwgYmFzZUNwdTogMCwgcmF0aW86IDB9XG4gICk7XG5cbiAgcmV0dXJuIHJlc3VsdC5iYXNlUmF0ZSArIChwYXJhbWV0ZXIgLSByZXN1bHQuYmFzZUNwdSkgKiByZXN1bHQucmF0aW87XG59O1xuXG4vKipcbiAqIENhbGN1bGF0ZXMgdGhlIGludGVycG9sYXRpb24gd2hlbiB0aGUgbWV0aG9kIGlzIHNwbGluZS5cbiAqL1xuY29uc3QgZ2V0U3BsaW5lSW50ZXJwb2xhdGlvbiA9IChjb25maWc6IENvbmZpZ1BhcmFtcywgaW5wdXQ6IFBsdWdpblBhcmFtcykgPT4ge1xuICBjb25zdCBwYXJhbWV0ZXIgPVxuICAgIHR5cGVvZiBjb25maWdbJ2lucHV0LXBhcmFtZXRlciddID09PSAnbnVtYmVyJ1xuICAgICAgPyBjb25maWdbJ2lucHV0LXBhcmFtZXRlciddXG4gICAgICA6IGlucHV0W2NvbmZpZ1snaW5wdXQtcGFyYW1ldGVyJ11dO1xuICBjb25zdCB4UG9pbnRzOiBudW1iZXJbXSA9IGNvbmZpZy54O1xuICBjb25zdCB5UG9pbnRzOiBudW1iZXJbXSA9IGNvbmZpZy55O1xuICBjb25zdCBzcGxpbmU6IGFueSA9IG5ldyBTcGxpbmUoeFBvaW50cywgeVBvaW50cyk7XG5cbiAgcmV0dXJuIHNwbGluZS5hdChwYXJhbWV0ZXIpO1xufTtcblxuLyoqXG4gKiBDYWxjdWxhdGVzIHRoZSBpbnRlcnBvbGF0aW9uIHdoZW4gdGhlIG1ldGhvZCBpcyBwb2x5bm9taWFsLlxuICovXG5jb25zdCBnZXRQb2x5bm9taWFsSW50ZXJwb2xhdGlvbiA9IChcbiAgY29uZmlnOiBDb25maWdQYXJhbXMsXG4gIGlucHV0OiBQbHVnaW5QYXJhbXNcbikgPT4ge1xuICBjb25zdCBwYXJhbWV0ZXIgPVxuICAgIHR5cGVvZiBjb25maWdbJ2lucHV0LXBhcmFtZXRlciddID09PSAnbnVtYmVyJ1xuICAgICAgPyBjb25maWdbJ2lucHV0LXBhcmFtZXRlciddXG4gICAgICA6IGlucHV0W2NvbmZpZ1snaW5wdXQtcGFyYW1ldGVyJ11dO1xuICBjb25zdCB4UG9pbnRzOiBudW1iZXJbXSA9IGNvbmZpZy54O1xuICBjb25zdCB5UG9pbnRzOiBudW1iZXJbXSA9IGNvbmZpZy55O1xuXG4gIGNvbnN0IHJlc3VsdCA9IHhQb2ludHMucmVkdWNlKChhY2MsIHgsIGkpID0+IHtcbiAgICBjb25zdCB0ZXJtID1cbiAgICAgIHlQb2ludHNbaV0gKlxuICAgICAgeFBvaW50cy5yZWR1Y2UoKHByb2QsIHhQb2ludCwgaikgPT4ge1xuICAgICAgICBpZiAoaiAhPT0gaSkge1xuICAgICAgICAgIHJldHVybiAocHJvZCAqIChwYXJhbWV0ZXIgLSB4UG9pbnQpKSAvICh4IC0geFBvaW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHJvZDtcbiAgICAgIH0sIDEpO1xuICAgIHJldHVybiBhY2MgKyB0ZXJtO1xuICB9LCAwKTtcblxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuLyoqXG4gKiBTb3J0cyBnaXZlbiBwb2ludCBpdGVtcyBpbiBhc2NlbmRpbmcgb3JkZXIuXG4gKi9cbmNvbnN0IHNvcnRQb2ludHMgPSAoaXRlbXM6IG51bWJlcltdKSA9PlxuICBpdGVtcy5zb3J0KChhOiBudW1iZXIsIGI6IG51bWJlcikgPT4gYSAtIGIpO1xuIl19
@@ -72,8 +72,8 @@ const computeNode = async (node, params) => {
72
72
  config,
73
73
  });
74
74
  }
75
- let inputStorage = structuredClone(node.inputs);
76
- inputStorage = mergeDefaults(inputStorage, defaults);
75
+ let outputStorage = structuredClone(node.inputs);
76
+ outputStorage = mergeDefaults(outputStorage, defaults);
77
77
  const pipelineCopy = structuredClone(pipeline) || {};
78
78
  /** Checks if pipeline is not an array or empty object. */
79
79
  if (Array.isArray(pipelineCopy) ||
@@ -92,13 +92,12 @@ const computeNode = async (node, params) => {
92
92
  debug_logger_1.debugLogger.setExecutingPluginName(pluginName);
93
93
  const plugin = params.pluginStorage.get(pluginName);
94
94
  const nodeConfig = config && config[pluginName];
95
- inputStorage = await plugin.execute(inputStorage, nodeConfig);
96
- node.inputs = inputStorage;
95
+ outputStorage = await plugin.execute(outputStorage, nodeConfig);
96
+ node.inputs = outputStorage;
97
97
  if (params.context.explainer) {
98
98
  (0, explain_1.addExplainData)({
99
99
  pluginName,
100
100
  metadata: plugin.metadata,
101
- pluginData: params.context.initialize.plugins[pluginName],
102
101
  });
103
102
  }
104
103
  }
@@ -108,7 +107,7 @@ const computeNode = async (node, params) => {
108
107
  */
109
108
  if ((noFlags || params.regroup) && pipelineCopy.regroup) {
110
109
  const originalOutputs = params.append ? node.outputs || [] : [];
111
- node.children = (0, regroup_1.Regroup)(inputStorage, originalOutputs, pipelineCopy.regroup);
110
+ node.children = (0, regroup_1.Regroup)(outputStorage, originalOutputs, pipelineCopy.regroup);
112
111
  delete node.inputs;
113
112
  delete node.outputs;
114
113
  debug_logger_1.debugLogger.setExecutingPluginName();
@@ -135,14 +134,13 @@ const computeNode = async (node, params) => {
135
134
  const nodeConfig = config && config[pluginName];
136
135
  console.debug(COMPUTING_PIPELINE_FOR_NODE(pluginName));
137
136
  debug_logger_1.debugLogger.setExecutingPluginName(pluginName);
138
- inputStorage = await plugin.execute(inputStorage, nodeConfig);
137
+ outputStorage = await plugin.execute(outputStorage, nodeConfig);
139
138
  debug_logger_1.debugLogger.setExecutingPluginName();
140
- node.outputs = inputStorage;
139
+ node.outputs = outputStorage;
141
140
  if (params.context.explainer) {
142
141
  (0, explain_1.addExplainData)({
143
142
  pluginName,
144
143
  metadata: plugin.metadata,
145
- pluginData: params.context.initialize.plugins[pluginName],
146
144
  });
147
145
  }
148
146
  }
@@ -161,4 +159,4 @@ const compute = async (tree, params) => {
161
159
  return copyOfTree;
162
160
  };
163
161
  exports.compute = compute;
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL2NvbXB1dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsdUNBQWtDO0FBQ2xDLHVDQUF5QztBQUV6QyxpRUFBMkQ7QUFDM0QscURBQWdEO0FBRWhELDZDQUE2QztBQUU3QywrQ0FBMEM7QUFJMUMsTUFBTSxFQUNKLGdDQUFnQyxFQUNoQyxjQUFjLEVBQ2QsV0FBVyxFQUNYLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsVUFBVSxFQUNWLFNBQVMsR0FDVixHQUFHLGlCQUFPLENBQUM7QUFFWjs7R0FFRztBQUNILE1BQU0sUUFBUSxHQUFHLEtBQUssRUFBRSxRQUFhLEVBQUUsTUFBcUIsRUFBRSxFQUFFO0lBQzlELEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxFQUFFO1FBQzVCLE9BQU8sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuRCxNQUFNLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDNUM7QUFDSCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sYUFBYSxHQUFHLENBQ3BCLE1BQXNCLEVBQ3RCLFFBQWtDLEVBQ2xDLEVBQUU7SUFDRixJQUFJLE1BQU0sRUFBRTtRQUNWLE1BQU0sUUFBUSxHQUFHLFFBQVE7WUFDdkIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFBLHNCQUFZLEVBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3BELENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFWCxPQUFPLFFBQVEsQ0FBQztLQUNqQjtJQUVELE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFdEQsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLENB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LElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7U0FDM0Q7S0FDRjtJQUVELE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSSxNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsSUFBUyxFQUFFLE1BQXFCLEVBQUUsRUFBRTtJQUNoRSxNQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFekMsTUFBTSxXQUFXLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXRDLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsQ0FBQztBQU5XLFFBQUEsT0FBTyxXQU1sQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGx1Z2luUGFyYW1zfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdHlwZXMnO1xuXG5pbXBvcnQge1JlZ3JvdXB9IGZyb20gJy4vcmVncm91cCc7XG5pbXBvcnQge2FkZEV4cGxhaW5EYXRhfSBmcm9tICcuL2V4cGxhaW4nO1xuXG5pbXBvcnQge2RlYnVnTG9nZ2VyfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9kZWJ1Zy1sb2dnZXInO1xuaW1wb3J0IHtsb2dnZXJ9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlsL2xvZ2dlcic7XG5cbmltcG9ydCB7bWVyZ2VPYmplY3RzfSBmcm9tICcuLi91dGlsL2hlbHBlcnMnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uL2NvbmZpZy9zdHJpbmdzJztcblxuaW1wb3J0IHtDb21wdXRlUGFyYW1zLCBOb2RlLCBQaGFzZWRQaXBlbGluZX0gZnJvbSAnLi4vdHlwZXMvY29tcHV0ZSc7XG5cbmNvbnN0IHtcbiAgTUVSR0lOR19ERUZBVUxUU19XSVRIX0lOUFVUX0RBVEEsXG4gIEVNUFRZX1BJUEVMSU5FLFxuICBDT05GSUdfV0FSTixcbiAgQ09NUFVUSU5HX1BJUEVMSU5FX0ZPUl9OT0RFLFxuICBDT01QVVRJTkdfQ09NUE9ORU5UX1BJUEVMSU5FLFxuICBSRUdST1VQSU5HLFxuICBPQlNFUlZJTkcsXG59ID0gU1RSSU5HUztcblxuLyoqXG4gKiBUcmF2ZXJzZXMgYWxsIGNoaWxkIG5vZGVzIGJhc2VkIG9uIGNoaWxkcmVuIGdyb3VwaW5nLlxuICovXG5jb25zdCB0cmF2ZXJzZSA9IGFzeW5jIChjaGlsZHJlbjogYW55LCBwYXJhbXM6IENvbXB1dGVQYXJhbXMpID0+IHtcbiAgZm9yIChjb25zdCBjaGlsZCBpbiBjaGlsZHJlbikge1xuICAgIGNvbnNvbGUuZGVidWcoQ09NUFVUSU5HX0NPTVBPTkVOVF9QSVBFTElORShjaGlsZCkpO1xuICAgIGF3YWl0IGNvbXB1dGVOb2RlKGNoaWxkcmVuW2NoaWxkXSwgcGFyYW1zKTtcbiAgfVxufTtcblxuLyoqXG4gKiBBcHBlbmRzIGBkZWZhdWx0YCB2YWx1ZXMgdG8gYGlucHV0c2AuXG4gKi9cbmNvbnN0IG1lcmdlRGVmYXVsdHMgPSAoXG4gIGlucHV0czogUGx1Z2luUGFyYW1zW10sXG4gIGRlZmF1bHRzOiBQbHVnaW5QYXJhbXMgfCB1bmRlZmluZWRcbikgPT4ge1xuICBpZiAoaW5wdXRzKSB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBkZWZhdWx0c1xuICAgICAgPyBpbnB1dHMubWFwKGlucHV0ID0+IG1lcmdlT2JqZWN0cyhkZWZhdWx0cywgaW5wdXQpKVxuICAgICAgOiBpbnB1dHM7XG5cbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH1cblxuICBjb25zb2xlLmRlYnVnKE1FUkdJTkdfREVGQVVMVFNfV0lUSF9JTlBVVF9EQVRBLCAnXFxuJyk7XG5cbiAgcmV0dXJuIGRlZmF1bHRzID8gW2RlZmF1bHRzXSA6IFtdO1xufTtcblxuLyoqXG4gKiBXYXJucyBpZiB0aGUgYGNvbmZpZ2AgaXMgcHJvdmlkZWQgaW4gdGhlIG1hbmlmZXN0LlxuICovXG5jb25zdCB3YXJuSWZDb25maWdQcm92aWRlZCA9IChub2RlOiBhbnkpID0+IHtcbiAgaWYgKCdjb25maWcnIGluIG5vZGUpIHtcbiAgICBjb25zdCBwbHVnaW5zID0gT2JqZWN0LmtleXMobm9kZS5jb25maWcgfHwge30pO1xuICAgIGNvbnN0IGpvaW5lZFBsdWdpbnMgPSBwbHVnaW5zLmpvaW4oJywgJyk7XG4gICAgY29uc3QgaXNNb3JlID0gcGx1Z2lucy5sZW5ndGggPiAxO1xuXG4gICAgbG9nZ2VyLndhcm4oQ09ORklHX1dBUk4oam9pbmVkUGx1Z2lucywgaXNNb3JlKSk7XG4gIH1cbn07XG5cbi8qKlxuICogMS4gSWYgdGhlIG5vZGUgaGFzIGl0J3Mgb3duIHBpcGVsaW5lLCBkZWZhdWx0cyBvciBjb25maWcgdGhlbiB1c2UgdGhhdCxcbiAqICAgIG90aGVyd2lzZSB1c2Ugd2hhdGV2ZXIgaGFzIGJlZW4gcGFzc2VkIGRvd24gZnJvbSBmdXJ0aGVyIHVwIHRoZSB0cmVlLlxuICogMi4gSWYgaXQncyBhIGdyb3VwaW5nIG5vZGUsIHRoZW4gZmlyc3Qgb2YgYWxsIGNvbXB1dGVzIGFsbCBpdCdzIGNoaWxkcmVuLlxuICogICAgVGhpcyBpcyBkb2luZyBhIGRlcHRoIGZpcnN0IHRyYXZlcnNhbC5cbiAqIDMuIE90aGVyd2lzZSBtZXJnZXMgdGhlIGRlZmF1bHRzIGludG8gdGhlIGlucHV0cy5cbiAqIDQuIEl0ZXJhdGVzIG92ZXIgcGlwZWxpbmUgcGhhc2VzIChvYnNlcnZlLCByZWdyb3VwLCBjb21wdXRlKS5cbiAqIDUuIE9ic2VydmUgcGx1Z2lucyBhcmUgdXNlZCB0byBpbnNlcnQgaW5wdXQgdmFsdWVzXG4gKiAgICAoaXNvbGF0ZWQgZXhlY3V0aW9uIGNhbiBiZSBhY2hpdmVkIGJ5IHBhc3NpbmcgYC0tb2JzZXJ2ZWAgZmxhZyB0byBDTEkgY29tbWFuZCkuXG4gKiA2LiBSZWdyb3VwIHBsdWdpbiBpcyB1c2VkIHRvIGdyb3VwIGV4aXN0aW5nIGlucHV0cyBieSBjcml0ZXJpYVxuICogICAgKGlzb2xhdGVkIGV4ZWN1dGlvbiBjYW4gYmUgYWNoaXZlZCBieSBwYXNzaW5nIGAtLXJlZ3JvdXBgIGZsYWcgdG8gQ0xJIGNvbW1hbmQpLlxuICogICAgU2luY2UgaXQgY3JlYXRlcyBuZXcgY2hpbGRyZW4gZm9yIG5vZGUsIGV4aXN0aW5nIGlucHV0cyBhbmQgb3V0cHV0cyBhcmUgZHJvcHBlZCBhbmQgcmVjdXJzaXZlIHRyYXZlcnNhbCBpcyBjYWxsZWRcbiAqICAgIGZvciBuZXdib3JkIGNoaWxkIGNvbXBvbmVudC5cbiAqIDcuIENvbXB1dGUgcGx1Z2lucyBhcmUgdXNlZCB0byBkbyBkZXNpcmVkIGNvbXB1dGF0aW9ucyBhbmQgYXBwZW5kaW5nIHRoZSByZXN1bHQgdG8gb3V0cHV0c1xuICogICAgKGlzb2xhdGVkIGV4ZWN1dGlvbiBjYW4gYmUgYWNoaXZlZCBieSBwYXNzaW5nIGAtLWNvbXB1dGVgIGZsYWcgdG8gQ0xJIGNvbW1hbmQpLlxuICovXG5jb25zdCBjb21wdXRlTm9kZSA9IGFzeW5jIChub2RlOiBOb2RlLCBwYXJhbXM6IENvbXB1dGVQYXJhbXMpOiBQcm9taXNlPGFueT4gPT4ge1xuICBjb25zdCBwaXBlbGluZSA9IG5vZGUucGlwZWxpbmUgfHwgKHBhcmFtcy5waXBlbGluZSBhcyBQaGFzZWRQaXBlbGluZSk7XG4gIGNvbnN0IGNvbmZpZyA9IG5vZGUuY29uZmlnIHx8IHBhcmFtcy5jb25maWc7XG4gIGNvbnN0IGRlZmF1bHRzID0gbm9kZS5kZWZhdWx0cyB8fCBwYXJhbXMuZGVmYXVsdHM7XG4gIGNvbnN0IG5vRmxhZ3MgPSAhcGFyYW1zLm9ic2VydmUgJiYgIXBhcmFtcy5yZWdyb3VwICYmICFwYXJhbXMuY29tcHV0ZTtcblxuICBkZWJ1Z0xvZ2dlci5zZXRFeGVjdXRpbmdQbHVnaW5OYW1lKCk7XG4gIHdhcm5JZkNvbmZpZ1Byb3ZpZGVkKG5vZGUpO1xuXG4gIGlmIChub2RlLmNoaWxkcmVuKSB7XG4gICAgcmV0dXJuIHRyYXZlcnNlKG5vZGUuY2hpbGRyZW4sIHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHBpcGVsaW5lLFxuICAgICAgZGVmYXVsdHMsXG4gICAgICBjb25maWcsXG4gICAgfSk7XG4gIH1cblxuICBsZXQgaW5wdXRTdG9yYWdlID0gc3RydWN0dXJlZENsb25lKG5vZGUuaW5wdXRzKSBhcyBQbHVnaW5QYXJhbXNbXTtcbiAgaW5wdXRTdG9yYWdlID0gbWVyZ2VEZWZhdWx0cyhpbnB1dFN0b3JhZ2UsIGRlZmF1bHRzKTtcbiAgY29uc3QgcGlwZWxpbmVDb3B5ID0gc3RydWN0dXJlZENsb25lKHBpcGVsaW5lKSB8fCB7fTtcblxuICAvKiogQ2hlY2tzIGlmIHBpcGVsaW5lIGlzIG5vdCBhbiBhcnJheSBvciBlbXB0eSBvYmplY3QuICovXG4gIGlmIChcbiAgICBBcnJheS5pc0FycmF5KHBpcGVsaW5lQ29weSkgfHxcbiAgICAodHlwZW9mIHBpcGVsaW5lQ29weSA9PT0gJ29iamVjdCcgJiZcbiAgICAgIHBpcGVsaW5lQ29weSAhPT0gbnVsbCAmJlxuICAgICAgT2JqZWN0LmtleXMocGlwZWxpbmVDb3B5KS5sZW5ndGggPT09IDApXG4gICkge1xuICAgIGxvZ2dlci53YXJuKEVNUFRZX1BJUEVMSU5FKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiBpdGVyYXRpb24gaXMgb24gb2JzZXJ2ZSBwaXBlbGluZSwgdGhlbiBleGVjdXRlcyBvYnNlcnZlIHBsdWdpbnMgYW5kIHNldHMgdGhlIGlucHV0cyB2YWx1ZS5cbiAgICovXG4gIGlmICgobm9GbGFncyB8fCBwYXJhbXMub2JzZXJ2ZSkgJiYgcGlwZWxpbmVDb3B5Lm9ic2VydmUpIHtcbiAgICB3aGlsZSAocGlwZWxpbmVDb3B5Lm9ic2VydmUubGVuZ3RoICE9PSAwKSB7XG4gICAgICBjb25zdCBwbHVnaW5OYW1lID0gcGlwZWxpbmVDb3B5Lm9ic2VydmUuc2hpZnQoKSBhcyBzdHJpbmc7XG4gICAgICBjb25zb2xlLmRlYnVnKE9CU0VSVklORyhwbHVnaW5OYW1lKSk7XG4gICAgICBkZWJ1Z0xvZ2dlci5zZXRFeGVjdXRpbmdQbHVnaW5OYW1lKHBsdWdpbk5hbWUpO1xuXG4gICAgICBjb25zdCBwbHVnaW4gPSBwYXJhbXMucGx1Z2luU3RvcmFnZS5nZXQocGx1Z2luTmFtZSk7XG4gICAgICBjb25zdCBub2RlQ29uZmlnID0gY29uZmlnICYmIGNvbmZpZ1twbHVnaW5OYW1lXTtcblxuICAgICAgaW5wdXRTdG9yYWdlID0gYXdhaXQgcGx1Z2luLmV4ZWN1dGUoaW5wdXRTdG9yYWdlLCBub2RlQ29uZmlnKTtcbiAgICAgIG5vZGUuaW5wdXRzID0gaW5wdXRTdG9yYWdlO1xuXG4gICAgICBpZiAocGFyYW1zLmNvbnRleHQuZXhwbGFpbmVyKSB7XG4gICAgICAgIGFkZEV4cGxhaW5EYXRhKHtcbiAgICAgICAgICBwbHVnaW5OYW1lLFxuICAgICAgICAgIG1ldGFkYXRhOiBwbHVnaW4ubWV0YWRhdGEsXG4gICAgICAgICAgcGx1Z2luRGF0YTogcGFyYW1zLmNvbnRleHQuaW5pdGlhbGl6ZSEucGx1Z2luc1twbHVnaW5OYW1lXSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIElmIHJlZ3JvdXAgaXMgcmVxdWVzdGVkLCBleGVjdXRlIHJlZ3JvdXAgc3RyYXRlZ3ksIGRlbGV0ZSBjaGlsZCdzIGlucHV0cywgb3V0cHV0cyBhbmQgZW1wdHkgcmVncm91cCBhcnJheS5cbiAgICovXG4gIGlmICgobm9GbGFncyB8fCBwYXJhbXMucmVncm91cCkgJiYgcGlwZWxpbmVDb3B5LnJlZ3JvdXApIHtcbiAgICBjb25zdCBvcmlnaW5hbE91dHB1dHMgPSBwYXJhbXMuYXBwZW5kID8gbm9kZS5vdXRwdXRzIHx8IFtdIDogW107XG5cbiAgICBub2RlLmNoaWxkcmVuID0gUmVncm91cChcbiAgICAgIGlucHV0U3RvcmFnZSxcbiAgICAgIG9yaWdpbmFsT3V0cHV0cyxcbiAgICAgIHBpcGVsaW5lQ29weS5yZWdyb3VwXG4gICAgKTtcblxuICAgIGRlbGV0ZSBub2RlLmlucHV0cztcbiAgICBkZWxldGUgbm9kZS5vdXRwdXRzO1xuXG4gICAgZGVidWdMb2dnZXIuc2V0RXhlY3V0aW5nUGx1Z2luTmFtZSgpO1xuICAgIGNvbnNvbGUuZGVidWcoUkVHUk9VUElORyk7XG5cbiAgICByZXR1cm4gdHJhdmVyc2Uobm9kZS5jaGlsZHJlbiwge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgcGlwZWxpbmU6IHtcbiAgICAgICAgLi4ucGlwZWxpbmVDb3B5LFxuICAgICAgICByZWdyb3VwOiB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgICAgZGVmYXVsdHMsXG4gICAgICBjb25maWcsXG4gICAgfSk7XG4gIH1cblxuICBjb25zb2xlLmRlYnVnKCdcXG4nKTtcblxuICAvKipcbiAgICogSWYgaXRlcmF0aW9uIGlzIG9uIGNvbXB1dGUgcGx1Z2luLCB0aGVuIGV4ZWN1dGVzIGNvbXB1dGUgcGx1Z2lucyBhbmQgc2V0cyB0aGUgb3V0cHV0cyB2YWx1ZS5cbiAgICovXG4gIGlmICgobm9GbGFncyB8fCBwYXJhbXMuY29tcHV0ZSkgJiYgcGlwZWxpbmVDb3B5LmNvbXB1dGUpIHtcbiAgICBjb25zdCBvcmlnaW5hbE91dHB1dHMgPSBwYXJhbXMuYXBwZW5kID8gbm9kZS5vdXRwdXRzIHx8IFtdIDogW107XG5cbiAgICB3aGlsZSAocGlwZWxpbmVDb3B5LmNvbXB1dGUubGVuZ3RoICE9PSAwKSB7XG4gICAgICBjb25zdCBwbHVnaW5OYW1lID0gcGlwZWxpbmVDb3B5LmNvbXB1dGUuc2hpZnQoKSBhcyBzdHJpbmc7XG4gICAgICBjb25zdCBwbHVnaW4gPSBwYXJhbXMucGx1Z2luU3RvcmFnZS5nZXQocGx1Z2luTmFtZSk7XG4gICAgICBjb25zdCBub2RlQ29uZmlnID0gY29uZmlnICYmIGNvbmZpZ1twbHVnaW5OYW1lXTtcblxuICAgICAgY29uc29sZS5kZWJ1ZyhDT01QVVRJTkdfUElQRUxJTkVfRk9SX05PREUocGx1Z2luTmFtZSkpO1xuICAgICAgZGVidWdMb2dnZXIuc2V0RXhlY3V0aW5nUGx1Z2luTmFtZShwbHVnaW5OYW1lKTtcblxuICAgICAgaW5wdXRTdG9yYWdlID0gYXdhaXQgcGx1Z2luLmV4ZWN1dGUoaW5wdXRTdG9yYWdlLCBub2RlQ29uZmlnKTtcbiAgICAgIGRlYnVnTG9nZ2VyLnNldEV4ZWN1dGluZ1BsdWdpbk5hbWUoKTtcblxuICAgICAgbm9kZS5vdXRwdXRzID0gaW5wdXRTdG9yYWdlO1xuXG4gICAgICBpZiAocGFyYW1zLmNvbnRleHQuZXhwbGFpbmVyKSB7XG4gICAgICAgIGFkZEV4cGxhaW5EYXRhKHtcbiAgICAgICAgICBwbHVnaW5OYW1lLFxuICAgICAgICAgIG1ldGFkYXRhOiBwbHVnaW4ubWV0YWRhdGEsXG4gICAgICAgICAgcGx1Z2luRGF0YTogcGFyYW1zLmNvbnRleHQuaW5pdGlhbGl6ZSEucGx1Z2luc1twbHVnaW5OYW1lXSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtcy5hcHBlbmQpIHtcbiAgICAgIG5vZGUub3V0cHV0cyA9IG9yaWdpbmFsT3V0cHV0cy5jb25jYXQobm9kZS5vdXRwdXRzIHx8IFtdKTtcbiAgICB9XG4gIH1cblxuICBjb25zb2xlLmRlYnVnKCdcXG4nKTtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBjb3B5IG9mIGV4aXN0aW5nIHRyZWUsIHRoZW4gYXBwbGllcyBjb21wdXRpbmcgc3RyYXRlZ3kuXG4gKi9cbmV4cG9ydCBjb25zdCBjb21wdXRlID0gYXN5bmMgKHRyZWU6IGFueSwgcGFyYW1zOiBDb21wdXRlUGFyYW1zKSA9PiB7XG4gIGNvbnN0IGNvcHlPZlRyZWUgPSBzdHJ1Y3R1cmVkQ2xvbmUodHJlZSk7XG5cbiAgYXdhaXQgY29tcHV0ZU5vZGUoY29weU9mVHJlZSwgcGFyYW1zKTtcblxuICByZXR1cm4gY29weU9mVHJlZTtcbn07XG4iXX0=
162
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL2NvbXB1dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsdUNBQWtDO0FBQ2xDLHVDQUF5QztBQUV6QyxpRUFBMkQ7QUFDM0QscURBQWdEO0FBRWhELDZDQUE2QztBQUU3QywrQ0FBMEM7QUFJMUMsTUFBTSxFQUNKLGdDQUFnQyxFQUNoQyxjQUFjLEVBQ2QsV0FBVyxFQUNYLDJCQUEyQixFQUMzQiw0QkFBNEIsRUFDNUIsVUFBVSxFQUNWLFNBQVMsR0FDVixHQUFHLGlCQUFPLENBQUM7QUFFWjs7R0FFRztBQUNILE1BQU0sUUFBUSxHQUFHLEtBQUssRUFBRSxRQUFhLEVBQUUsTUFBcUIsRUFBRSxFQUFFO0lBQzlELEtBQUssTUFBTSxLQUFLLElBQUksUUFBUSxFQUFFO1FBQzVCLE9BQU8sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuRCxNQUFNLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDNUM7QUFDSCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sYUFBYSxHQUFHLENBQ3BCLE1BQXNCLEVBQ3RCLFFBQWtDLEVBQ2xDLEVBQUU7SUFDRixJQUFJLE1BQU0sRUFBRTtRQUNWLE1BQU0sUUFBUSxHQUFHLFFBQVE7WUFDdkIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFBLHNCQUFZLEVBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ3BELENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFWCxPQUFPLFFBQVEsQ0FBQztLQUNqQjtJQUVELE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0NBQWdDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFdEQsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLENB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S0FBSyxFQUFFLElBQVMsRUFBRSxNQUFxQixFQUFFLEVBQUU7SUFDaEUsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXpDLE1BQU0sV0FBVyxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUV0QyxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDLENBQUM7QUFOVyxRQUFBLE9BQU8sV0FNbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1BsdWdpblBhcmFtc30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3R5cGVzJztcblxuaW1wb3J0IHtSZWdyb3VwfSBmcm9tICcuL3JlZ3JvdXAnO1xuaW1wb3J0IHthZGRFeHBsYWluRGF0YX0gZnJvbSAnLi9leHBsYWluJztcblxuaW1wb3J0IHtkZWJ1Z0xvZ2dlcn0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvZGVidWctbG9nZ2VyJztcbmltcG9ydCB7bG9nZ2VyfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9sb2dnZXInO1xuXG5pbXBvcnQge21lcmdlT2JqZWN0c30gZnJvbSAnLi4vdXRpbC9oZWxwZXJzJztcblxuaW1wb3J0IHtTVFJJTkdTfSBmcm9tICcuLi9jb25maWcvc3RyaW5ncyc7XG5cbmltcG9ydCB7Q29tcHV0ZVBhcmFtcywgTm9kZSwgUGhhc2VkUGlwZWxpbmV9IGZyb20gJy4uL3R5cGVzL2NvbXB1dGUnO1xuXG5jb25zdCB7XG4gIE1FUkdJTkdfREVGQVVMVFNfV0lUSF9JTlBVVF9EQVRBLFxuICBFTVBUWV9QSVBFTElORSxcbiAgQ09ORklHX1dBUk4sXG4gIENPTVBVVElOR19QSVBFTElORV9GT1JfTk9ERSxcbiAgQ09NUFVUSU5HX0NPTVBPTkVOVF9QSVBFTElORSxcbiAgUkVHUk9VUElORyxcbiAgT0JTRVJWSU5HLFxufSA9IFNUUklOR1M7XG5cbi8qKlxuICogVHJhdmVyc2VzIGFsbCBjaGlsZCBub2RlcyBiYXNlZCBvbiBjaGlsZHJlbiBncm91cGluZy5cbiAqL1xuY29uc3QgdHJhdmVyc2UgPSBhc3luYyAoY2hpbGRyZW46IGFueSwgcGFyYW1zOiBDb21wdXRlUGFyYW1zKSA9PiB7XG4gIGZvciAoY29uc3QgY2hpbGQgaW4gY2hpbGRyZW4pIHtcbiAgICBjb25zb2xlLmRlYnVnKENPTVBVVElOR19DT01QT05FTlRfUElQRUxJTkUoY2hpbGQpKTtcbiAgICBhd2FpdCBjb21wdXRlTm9kZShjaGlsZHJlbltjaGlsZF0sIHBhcmFtcyk7XG4gIH1cbn07XG5cbi8qKlxuICogQXBwZW5kcyBgZGVmYXVsdGAgdmFsdWVzIHRvIGBpbnB1dHNgLlxuICovXG5jb25zdCBtZXJnZURlZmF1bHRzID0gKFxuICBpbnB1dHM6IFBsdWdpblBhcmFtc1tdLFxuICBkZWZhdWx0czogUGx1Z2luUGFyYW1zIHwgdW5kZWZpbmVkXG4pID0+IHtcbiAgaWYgKGlucHV0cykge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gZGVmYXVsdHNcbiAgICAgID8gaW5wdXRzLm1hcChpbnB1dCA9PiBtZXJnZU9iamVjdHMoZGVmYXVsdHMsIGlucHV0KSlcbiAgICAgIDogaW5wdXRzO1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlO1xuICB9XG5cbiAgY29uc29sZS5kZWJ1ZyhNRVJHSU5HX0RFRkFVTFRTX1dJVEhfSU5QVVRfREFUQSwgJ1xcbicpO1xuXG4gIHJldHVybiBkZWZhdWx0cyA/IFtkZWZhdWx0c10gOiBbXTtcbn07XG5cbi8qKlxuICogV2FybnMgaWYgdGhlIGBjb25maWdgIGlzIHByb3ZpZGVkIGluIHRoZSBtYW5pZmVzdC5cbiAqL1xuY29uc3Qgd2FybklmQ29uZmlnUHJvdmlkZWQgPSAobm9kZTogYW55KSA9PiB7XG4gIGlmICgnY29uZmlnJyBpbiBub2RlKSB7XG4gICAgY29uc3QgcGx1Z2lucyA9IE9iamVjdC5rZXlzKG5vZGUuY29uZmlnIHx8IHt9KTtcbiAgICBjb25zdCBqb2luZWRQbHVnaW5zID0gcGx1Z2lucy5qb2luKCcsICcpO1xuICAgIGNvbnN0IGlzTW9yZSA9IHBsdWdpbnMubGVuZ3RoID4gMTtcblxuICAgIGxvZ2dlci53YXJuKENPTkZJR19XQVJOKGpvaW5lZFBsdWdpbnMsIGlzTW9yZSkpO1xuICB9XG59O1xuXG4vKipcbiAqIDEuIElmIHRoZSBub2RlIGhhcyBpdCdzIG93biBwaXBlbGluZSwgZGVmYXVsdHMgb3IgY29uZmlnIHRoZW4gdXNlIHRoYXQsXG4gKiAgICBvdGhlcndpc2UgdXNlIHdoYXRldmVyIGhhcyBiZWVuIHBhc3NlZCBkb3duIGZyb20gZnVydGhlciB1cCB0aGUgdHJlZS5cbiAqIDIuIElmIGl0J3MgYSBncm91cGluZyBub2RlLCB0aGVuIGZpcnN0IG9mIGFsbCBjb21wdXRlcyBhbGwgaXQncyBjaGlsZHJlbi5cbiAqICAgIFRoaXMgaXMgZG9pbmcgYSBkZXB0aCBmaXJzdCB0cmF2ZXJzYWwuXG4gKiAzLiBPdGhlcndpc2UgbWVyZ2VzIHRoZSBkZWZhdWx0cyBpbnRvIHRoZSBpbnB1dHMuXG4gKiA0LiBJdGVyYXRlcyBvdmVyIHBpcGVsaW5lIHBoYXNlcyAob2JzZXJ2ZSwgcmVncm91cCwgY29tcHV0ZSkuXG4gKiA1LiBPYnNlcnZlIHBsdWdpbnMgYXJlIHVzZWQgdG8gaW5zZXJ0IGlucHV0IHZhbHVlc1xuICogICAgKGlzb2xhdGVkIGV4ZWN1dGlvbiBjYW4gYmUgYWNoaXZlZCBieSBwYXNzaW5nIGAtLW9ic2VydmVgIGZsYWcgdG8gQ0xJIGNvbW1hbmQpLlxuICogNi4gUmVncm91cCBwbHVnaW4gaXMgdXNlZCB0byBncm91cCBleGlzdGluZyBpbnB1dHMgYnkgY3JpdGVyaWFcbiAqICAgIChpc29sYXRlZCBleGVjdXRpb24gY2FuIGJlIGFjaGl2ZWQgYnkgcGFzc2luZyBgLS1yZWdyb3VwYCBmbGFnIHRvIENMSSBjb21tYW5kKS5cbiAqICAgIFNpbmNlIGl0IGNyZWF0ZXMgbmV3IGNoaWxkcmVuIGZvciBub2RlLCBleGlzdGluZyBpbnB1dHMgYW5kIG91dHB1dHMgYXJlIGRyb3BwZWQgYW5kIHJlY3Vyc2l2ZSB0cmF2ZXJzYWwgaXMgY2FsbGVkXG4gKiAgICBmb3IgbmV3Ym9yZCBjaGlsZCBjb21wb25lbnQuXG4gKiA3LiBDb21wdXRlIHBsdWdpbnMgYXJlIHVzZWQgdG8gZG8gZGVzaXJlZCBjb21wdXRhdGlvbnMgYW5kIGFwcGVuZGluZyB0aGUgcmVzdWx0IHRvIG91dHB1dHNcbiAqICAgIChpc29sYXRlZCBleGVjdXRpb24gY2FuIGJlIGFjaGl2ZWQgYnkgcGFzc2luZyBgLS1jb21wdXRlYCBmbGFnIHRvIENMSSBjb21tYW5kKS5cbiAqL1xuY29uc3QgY29tcHV0ZU5vZGUgPSBhc3luYyAobm9kZTogTm9kZSwgcGFyYW1zOiBDb21wdXRlUGFyYW1zKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgY29uc3QgcGlwZWxpbmUgPSBub2RlLnBpcGVsaW5lIHx8IChwYXJhbXMucGlwZWxpbmUgYXMgUGhhc2VkUGlwZWxpbmUpO1xuICBjb25zdCBjb25maWcgPSBub2RlLmNvbmZpZyB8fCBwYXJhbXMuY29uZmlnO1xuICBjb25zdCBkZWZhdWx0cyA9IG5vZGUuZGVmYXVsdHMgfHwgcGFyYW1zLmRlZmF1bHRzO1xuICBjb25zdCBub0ZsYWdzID0gIXBhcmFtcy5vYnNlcnZlICYmICFwYXJhbXMucmVncm91cCAmJiAhcGFyYW1zLmNvbXB1dGU7XG5cbiAgZGVidWdMb2dnZXIuc2V0RXhlY3V0aW5nUGx1Z2luTmFtZSgpO1xuICB3YXJuSWZDb25maWdQcm92aWRlZChub2RlKTtcblxuICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAgIHJldHVybiB0cmF2ZXJzZShub2RlLmNoaWxkcmVuLCB7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICBwaXBlbGluZSxcbiAgICAgIGRlZmF1bHRzLFxuICAgICAgY29uZmlnLFxuICAgIH0pO1xuICB9XG5cbiAgbGV0IG91dHB1dFN0b3JhZ2UgPSBzdHJ1Y3R1cmVkQ2xvbmUobm9kZS5pbnB1dHMpIGFzIFBsdWdpblBhcmFtc1tdO1xuICBvdXRwdXRTdG9yYWdlID0gbWVyZ2VEZWZhdWx0cyhvdXRwdXRTdG9yYWdlLCBkZWZhdWx0cyk7XG4gIGNvbnN0IHBpcGVsaW5lQ29weSA9IHN0cnVjdHVyZWRDbG9uZShwaXBlbGluZSkgfHwge307XG5cbiAgLyoqIENoZWNrcyBpZiBwaXBlbGluZSBpcyBub3QgYW4gYXJyYXkgb3IgZW1wdHkgb2JqZWN0LiAqL1xuICBpZiAoXG4gICAgQXJyYXkuaXNBcnJheShwaXBlbGluZUNvcHkpIHx8XG4gICAgKHR5cGVvZiBwaXBlbGluZUNvcHkgPT09ICdvYmplY3QnICYmXG4gICAgICBwaXBlbGluZUNvcHkgIT09IG51bGwgJiZcbiAgICAgIE9iamVjdC5rZXlzKHBpcGVsaW5lQ29weSkubGVuZ3RoID09PSAwKVxuICApIHtcbiAgICBsb2dnZXIud2FybihFTVBUWV9QSVBFTElORSk7XG4gIH1cblxuICAvKipcbiAgICogSWYgaXRlcmF0aW9uIGlzIG9uIG9ic2VydmUgcGlwZWxpbmUsIHRoZW4gZXhlY3V0ZXMgb2JzZXJ2ZSBwbHVnaW5zIGFuZCBzZXRzIHRoZSBpbnB1dHMgdmFsdWUuXG4gICAqL1xuICBpZiAoKG5vRmxhZ3MgfHwgcGFyYW1zLm9ic2VydmUpICYmIHBpcGVsaW5lQ29weS5vYnNlcnZlKSB7XG4gICAgd2hpbGUgKHBpcGVsaW5lQ29weS5vYnNlcnZlLmxlbmd0aCAhPT0gMCkge1xuICAgICAgY29uc3QgcGx1Z2luTmFtZSA9IHBpcGVsaW5lQ29weS5vYnNlcnZlLnNoaWZ0KCkgYXMgc3RyaW5nO1xuICAgICAgY29uc29sZS5kZWJ1ZyhPQlNFUlZJTkcocGx1Z2luTmFtZSkpO1xuICAgICAgZGVidWdMb2dnZXIuc2V0RXhlY3V0aW5nUGx1Z2luTmFtZShwbHVnaW5OYW1lKTtcblxuICAgICAgY29uc3QgcGx1Z2luID0gcGFyYW1zLnBsdWdpblN0b3JhZ2UuZ2V0KHBsdWdpbk5hbWUpO1xuICAgICAgY29uc3Qgbm9kZUNvbmZpZyA9IGNvbmZpZyAmJiBjb25maWdbcGx1Z2luTmFtZV07XG5cbiAgICAgIG91dHB1dFN0b3JhZ2UgPSBhd2FpdCBwbHVnaW4uZXhlY3V0ZShvdXRwdXRTdG9yYWdlLCBub2RlQ29uZmlnKTtcbiAgICAgIG5vZGUuaW5wdXRzID0gb3V0cHV0U3RvcmFnZTtcblxuICAgICAgaWYgKHBhcmFtcy5jb250ZXh0LmV4cGxhaW5lcikge1xuICAgICAgICBhZGRFeHBsYWluRGF0YSh7XG4gICAgICAgICAgcGx1Z2luTmFtZSxcbiAgICAgICAgICBtZXRhZGF0YTogcGx1Z2luLm1ldGFkYXRhLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSWYgcmVncm91cCBpcyByZXF1ZXN0ZWQsIGV4ZWN1dGUgcmVncm91cCBzdHJhdGVneSwgZGVsZXRlIGNoaWxkJ3MgaW5wdXRzLCBvdXRwdXRzIGFuZCBlbXB0eSByZWdyb3VwIGFycmF5LlxuICAgKi9cbiAgaWYgKChub0ZsYWdzIHx8IHBhcmFtcy5yZWdyb3VwKSAmJiBwaXBlbGluZUNvcHkucmVncm91cCkge1xuICAgIGNvbnN0IG9yaWdpbmFsT3V0cHV0cyA9IHBhcmFtcy5hcHBlbmQgPyBub2RlLm91dHB1dHMgfHwgW10gOiBbXTtcblxuICAgIG5vZGUuY2hpbGRyZW4gPSBSZWdyb3VwKFxuICAgICAgb3V0cHV0U3RvcmFnZSxcbiAgICAgIG9yaWdpbmFsT3V0cHV0cyxcbiAgICAgIHBpcGVsaW5lQ29weS5yZWdyb3VwXG4gICAgKTtcblxuICAgIGRlbGV0ZSBub2RlLmlucHV0cztcbiAgICBkZWxldGUgbm9kZS5vdXRwdXRzO1xuXG4gICAgZGVidWdMb2dnZXIuc2V0RXhlY3V0aW5nUGx1Z2luTmFtZSgpO1xuICAgIGNvbnNvbGUuZGVidWcoUkVHUk9VUElORyk7XG5cbiAgICByZXR1cm4gdHJhdmVyc2Uobm9kZS5jaGlsZHJlbiwge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgcGlwZWxpbmU6IHtcbiAgICAgICAgLi4ucGlwZWxpbmVDb3B5LFxuICAgICAgICByZWdyb3VwOiB1bmRlZmluZWQsXG4gICAgICB9LFxuICAgICAgZGVmYXVsdHMsXG4gICAgICBjb25maWcsXG4gICAgfSk7XG4gIH1cblxuICBjb25zb2xlLmRlYnVnKCdcXG4nKTtcblxuICAvKipcbiAgICogSWYgaXRlcmF0aW9uIGlzIG9uIGNvbXB1dGUgcGx1Z2luLCB0aGVuIGV4ZWN1dGVzIGNvbXB1dGUgcGx1Z2lucyBhbmQgc2V0cyB0aGUgb3V0cHV0cyB2YWx1ZS5cbiAgICovXG4gIGlmICgobm9GbGFncyB8fCBwYXJhbXMuY29tcHV0ZSkgJiYgcGlwZWxpbmVDb3B5LmNvbXB1dGUpIHtcbiAgICBjb25zdCBvcmlnaW5hbE91dHB1dHMgPSBwYXJhbXMuYXBwZW5kID8gbm9kZS5vdXRwdXRzIHx8IFtdIDogW107XG5cbiAgICB3aGlsZSAocGlwZWxpbmVDb3B5LmNvbXB1dGUubGVuZ3RoICE9PSAwKSB7XG4gICAgICBjb25zdCBwbHVnaW5OYW1lID0gcGlwZWxpbmVDb3B5LmNvbXB1dGUuc2hpZnQoKSBhcyBzdHJpbmc7XG4gICAgICBjb25zdCBwbHVnaW4gPSBwYXJhbXMucGx1Z2luU3RvcmFnZS5nZXQocGx1Z2luTmFtZSk7XG4gICAgICBjb25zdCBub2RlQ29uZmlnID0gY29uZmlnICYmIGNvbmZpZ1twbHVnaW5OYW1lXTtcblxuICAgICAgY29uc29sZS5kZWJ1ZyhDT01QVVRJTkdfUElQRUxJTkVfRk9SX05PREUocGx1Z2luTmFtZSkpO1xuICAgICAgZGVidWdMb2dnZXIuc2V0RXhlY3V0aW5nUGx1Z2luTmFtZShwbHVnaW5OYW1lKTtcblxuICAgICAgb3V0cHV0U3RvcmFnZSA9IGF3YWl0IHBsdWdpbi5leGVjdXRlKG91dHB1dFN0b3JhZ2UsIG5vZGVDb25maWcpO1xuXG4gICAgICBkZWJ1Z0xvZ2dlci5zZXRFeGVjdXRpbmdQbHVnaW5OYW1lKCk7XG5cbiAgICAgIG5vZGUub3V0cHV0cyA9IG91dHB1dFN0b3JhZ2U7XG5cbiAgICAgIGlmIChwYXJhbXMuY29udGV4dC5leHBsYWluZXIpIHtcbiAgICAgICAgYWRkRXhwbGFpbkRhdGEoe1xuICAgICAgICAgIHBsdWdpbk5hbWUsXG4gICAgICAgICAgbWV0YWRhdGE6IHBsdWdpbi5tZXRhZGF0YSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhcmFtcy5hcHBlbmQpIHtcbiAgICAgIG5vZGUub3V0cHV0cyA9IG9yaWdpbmFsT3V0cHV0cy5jb25jYXQobm9kZS5vdXRwdXRzIHx8IFtdKTtcbiAgICB9XG4gIH1cblxuICBjb25zb2xlLmRlYnVnKCdcXG4nKTtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBjb3B5IG9mIGV4aXN0aW5nIHRyZWUsIHRoZW4gYXBwbGllcyBjb21wdXRpbmcgc3RyYXRlZ3kuXG4gKi9cbmV4cG9ydCBjb25zdCBjb21wdXRlID0gYXN5bmMgKHRyZWU6IGFueSwgcGFyYW1zOiBDb21wdXRlUGFyYW1zKSA9PiB7XG4gIGNvbnN0IGNvcHlPZlRyZWUgPSBzdHJ1Y3R1cmVkQ2xvbmUodHJlZSk7XG5cbiAgYXdhaXQgY29tcHV0ZU5vZGUoY29weU9mVHJlZSwgcGFyYW1zKTtcblxuICByZXR1cm4gY29weU9mVHJlZTtcbn07XG4iXX0=
@@ -3,70 +3,95 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addExplainData = exports.explain = void 0;
4
4
  const utils_1 = require("@grnsft/if-core/utils");
5
5
  const config_1 = require("../../common/config");
6
+ const logger_1 = require("../../common/util/logger");
6
7
  const { ManifestValidationError } = utils_1.ERRORS;
7
- const { AGGREGATION_UNITS_NOT_MATCH, AGGREGATION_METHODS_NOT_MATCH } = config_1.STRINGS;
8
+ const { AGGREGATION_UNITS_NOT_MATCH, AGGREGATION_METHODS_NOT_MATCH, MISSING_INPUTS_PARAMETER, MISSING_OUTPUTS_PARAMETER, } = config_1.STRINGS;
8
9
  /**
9
10
  * Retrieves stored explain data.
10
11
  */
11
- const explain = () => storeExplainData.parameters;
12
+ const explain = () => storeExplainData.plugins;
12
13
  exports.explain = explain;
13
14
  /**
14
15
  * Manages the storage of explain data.
15
16
  */
16
17
  const storeExplainData = (() => {
17
- let parameter = {};
18
- const parameterManager = {
19
- get parameters() {
20
- return parameter;
18
+ let plugins = {};
19
+ const pluginManager = {
20
+ get plugins() {
21
+ return plugins;
21
22
  },
22
- set parameters(value) {
23
- parameter = value;
23
+ set plugins(value) {
24
+ plugins = value;
24
25
  },
25
26
  };
26
- return parameterManager;
27
+ return pluginManager;
27
28
  })();
28
29
  /**
29
30
  * Adds new explain data to the stored explain data.
30
31
  */
31
32
  const addExplainData = (params) => {
32
- const { pluginName, pluginData, metadata } = params;
33
- const parameterMetadata = pluginData?.['parameter-metadata'] || metadata;
34
- const parameters = storeExplainData.parameters;
35
- const allParameters = {
36
- ...parameterMetadata?.inputs,
37
- ...parameterMetadata?.outputs,
33
+ const { pluginName, metadata } = params;
34
+ const plugin = {
35
+ [pluginName]: {
36
+ inputs: metadata?.inputs ?? {},
37
+ outputs: metadata?.outputs ?? {},
38
+ },
38
39
  };
39
- Object.entries(allParameters).forEach(([name, meta]) => {
40
- const existingParameter = parameters[name];
41
- if (parameters[name]?.plugins?.includes(pluginName)) {
42
- return;
43
- }
44
- if (existingParameter) {
45
- if (meta.unit !== existingParameter.unit) {
46
- throw new ManifestValidationError(AGGREGATION_UNITS_NOT_MATCH(name));
47
- }
48
- if (meta['aggregation-method'].component !==
49
- existingParameter['aggregation-method'].component ||
50
- meta['aggregation-method'].time !==
51
- existingParameter['aggregation-method'].time) {
52
- throw new ManifestValidationError(AGGREGATION_METHODS_NOT_MATCH(name));
40
+ const isInputsMissing = !Object.keys(plugin[pluginName].inputs || {}).length;
41
+ const isOutputsMissing = !Object.keys(plugin[pluginName].outputs || {})
42
+ .length;
43
+ if (isInputsMissing) {
44
+ delete plugin[pluginName].inputs;
45
+ logger_1.logger.warn(MISSING_INPUTS_PARAMETER(pluginName));
46
+ }
47
+ if (isOutputsMissing) {
48
+ delete plugin[pluginName].outputs;
49
+ logger_1.logger.warn(MISSING_OUTPUTS_PARAMETER(pluginName));
50
+ }
51
+ checkMetadatas(metadata);
52
+ if (!isInputsMissing || !isOutputsMissing) {
53
+ storeExplainData.plugins = {
54
+ ...storeExplainData.plugins,
55
+ ...plugin,
56
+ };
57
+ }
58
+ };
59
+ exports.addExplainData = addExplainData;
60
+ /**
61
+ * Checks if the 'unit' and 'aggregation-method' of the parameter are the same throughout the manifest
62
+ */
63
+ const checkMetadatas = (metadata) => {
64
+ const inputsOutputsMetadata = { ...metadata?.inputs, ...metadata?.outputs };
65
+ const storedParameters = {};
66
+ // Populate stored parameters with metadata from each plugin
67
+ Object.values(storeExplainData.plugins).forEach(plugin => {
68
+ const storedInputOutputMetadata = { ...plugin.inputs, ...plugin.outputs };
69
+ Object.keys(storedInputOutputMetadata).forEach(parameter => {
70
+ if (!storedParameters[parameter]) {
71
+ storedParameters[parameter] = {
72
+ unit: storedInputOutputMetadata[parameter].unit,
73
+ 'aggregation-method': storedInputOutputMetadata[parameter]['aggregation-method'],
74
+ };
53
75
  }
54
- existingParameter.plugins.push(pluginName);
55
- existingParameter.description =
56
- meta.description || existingParameter.description;
76
+ });
77
+ });
78
+ // Validate input-output metadata against stored parameters
79
+ Object.keys(inputsOutputsMetadata).forEach(parameterName => {
80
+ const parameter = inputsOutputsMetadata[parameterName];
81
+ const storedParameter = storedParameters[parameterName];
82
+ if (parameter &&
83
+ Object.keys(storedParameters).includes(parameterName) &&
84
+ storedParameter.unit !== parameter.unit) {
85
+ throw new ManifestValidationError(AGGREGATION_UNITS_NOT_MATCH(parameterName));
57
86
  }
58
- else {
59
- parameters[name] = {
60
- plugins: [pluginName],
61
- unit: meta.unit,
62
- description: meta.description,
63
- 'aggregation-method': meta['aggregation-method'],
64
- };
87
+ // Check for aggregation-method mismatch
88
+ const inputAggregation = parameter['aggregation-method'];
89
+ if (storedParameter &&
90
+ (storedParameter['aggregation-method']?.component !==
91
+ inputAggregation?.component ||
92
+ storedParameter['aggregation-method']?.time !== inputAggregation?.time)) {
93
+ throw new ManifestValidationError(AGGREGATION_METHODS_NOT_MATCH(parameterName));
65
94
  }
66
95
  });
67
- storeExplainData.parameters = {
68
- ...parameters,
69
- };
70
96
  };
71
- exports.addExplainData = addExplainData;
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbGFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL2V4cGxhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQTZDO0FBRTdDLGdEQUE0QztBQUk1QyxNQUFNLEVBQUMsdUJBQXVCLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFDekMsTUFBTSxFQUFDLDJCQUEyQixFQUFFLDZCQUE2QixFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUU3RTs7R0FFRztBQUNJLE1BQU0sT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQztBQUE1QyxRQUFBLE9BQU8sV0FBcUM7QUFFekQ7O0dBRUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLENBQUMsR0FBRyxFQUFFO0lBQzdCLElBQUksU0FBUyxHQUF1QixFQUFFLENBQUM7SUFFdkMsTUFBTSxnQkFBZ0IsR0FBRztRQUN2QixJQUFJLFVBQVU7WUFDWixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsSUFBSSxVQUFVLENBQUMsS0FBeUI7WUFDdEMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUNwQixDQUFDO0tBQ0YsQ0FBQztJQUVGLE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUVMOztHQUVHO0FBQ0ksTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFxQixFQUFFLEVBQUU7SUFDdEQsTUFBTSxFQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFDLEdBQUcsTUFBTSxDQUFDO0lBQ2xELE1BQU0saUJBQWlCLEdBQUcsVUFBVSxFQUFFLENBQUMsb0JBQW9CLENBQUMsSUFBSSxRQUFRLENBQUM7SUFDekUsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxDQUFDO0lBQy9DLE1BQU0sYUFBYSxHQUFHO1FBQ3BCLEdBQUcsaUJBQWlCLEVBQUUsTUFBTTtRQUM1QixHQUFHLGlCQUFpQixFQUFFLE9BQU87S0FDUixDQUFDO0lBRXhCLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtRQUNyRCxNQUFNLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUzQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ25ELE9BQU87U0FDUjtRQUVELElBQUksaUJBQWlCLEVBQUU7WUFDckIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGlCQUFpQixDQUFDLElBQUksRUFBRTtnQkFDeEMsTUFBTSxJQUFJLHVCQUF1QixDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDdEU7WUFFRCxJQUNFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFNBQVM7Z0JBQ2xDLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLENBQUMsU0FBUztnQkFDbkQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsSUFBSTtvQkFDN0IsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLEVBQzlDO2dCQUNBLE1BQU0sSUFBSSx1QkFBdUIsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ3hFO1lBRUQsaUJBQWlCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMzQyxpQkFBaUIsQ0FBQyxXQUFXO2dCQUMzQixJQUFJLENBQUMsV0FBVyxJQUFJLGlCQUFpQixDQUFDLFdBQVcsQ0FBQztTQUNyRDthQUFNO1lBQ0wsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUNqQixPQUFPLEVBQUUsQ0FBQyxVQUFVLENBQUM7Z0JBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0JBQzdCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQzthQUNqRCxDQUFDO1NBQ0g7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILGdCQUFnQixDQUFDLFVBQVUsR0FBRztRQUM1QixHQUFHLFVBQVU7S0FDZCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBOUNXLFFBQUEsY0FBYyxrQkE4Q3pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFUlJPUlN9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS91dGlscyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vLi4vY29tbW9uL2NvbmZpZyc7XG5cbmltcG9ydCB7RXhwbGFpblBhcmFtcywgRXhwbGFpblN0b3JhZ2VUeXBlfSBmcm9tICcuLi90eXBlcy9leHBsYWluJztcblxuY29uc3Qge01hbmlmZXN0VmFsaWRhdGlvbkVycm9yfSA9IEVSUk9SUztcbmNvbnN0IHtBR0dSRUdBVElPTl9VTklUU19OT1RfTUFUQ0gsIEFHR1JFR0FUSU9OX01FVEhPRFNfTk9UX01BVENIfSA9IFNUUklOR1M7XG5cbi8qKlxuICogUmV0cmlldmVzIHN0b3JlZCBleHBsYWluIGRhdGEuXG4gKi9cbmV4cG9ydCBjb25zdCBleHBsYWluID0gKCkgPT4gc3RvcmVFeHBsYWluRGF0YS5wYXJhbWV0ZXJzO1xuXG4vKipcbiAqIE1hbmFnZXMgdGhlIHN0b3JhZ2Ugb2YgZXhwbGFpbiBkYXRhLlxuICovXG5jb25zdCBzdG9yZUV4cGxhaW5EYXRhID0gKCgpID0+IHtcbiAgbGV0IHBhcmFtZXRlcjogRXhwbGFpblN0b3JhZ2VUeXBlID0ge307XG5cbiAgY29uc3QgcGFyYW1ldGVyTWFuYWdlciA9IHtcbiAgICBnZXQgcGFyYW1ldGVycygpIHtcbiAgICAgIHJldHVybiBwYXJhbWV0ZXI7XG4gICAgfSxcbiAgICBzZXQgcGFyYW1ldGVycyh2YWx1ZTogRXhwbGFpblN0b3JhZ2VUeXBlKSB7XG4gICAgICBwYXJhbWV0ZXIgPSB2YWx1ZTtcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBwYXJhbWV0ZXJNYW5hZ2VyO1xufSkoKTtcblxuLyoqXG4gKiBBZGRzIG5ldyBleHBsYWluIGRhdGEgdG8gdGhlIHN0b3JlZCBleHBsYWluIGRhdGEuXG4gKi9cbmV4cG9ydCBjb25zdCBhZGRFeHBsYWluRGF0YSA9IChwYXJhbXM6IEV4cGxhaW5QYXJhbXMpID0+IHtcbiAgY29uc3Qge3BsdWdpbk5hbWUsIHBsdWdpbkRhdGEsIG1ldGFkYXRhfSA9IHBhcmFtcztcbiAgY29uc3QgcGFyYW1ldGVyTWV0YWRhdGEgPSBwbHVnaW5EYXRhPy5bJ3BhcmFtZXRlci1tZXRhZGF0YSddIHx8IG1ldGFkYXRhO1xuICBjb25zdCBwYXJhbWV0ZXJzID0gc3RvcmVFeHBsYWluRGF0YS5wYXJhbWV0ZXJzO1xuICBjb25zdCBhbGxQYXJhbWV0ZXJzID0ge1xuICAgIC4uLnBhcmFtZXRlck1ldGFkYXRhPy5pbnB1dHMsXG4gICAgLi4ucGFyYW1ldGVyTWV0YWRhdGE/Lm91dHB1dHMsXG4gIH0gYXMgRXhwbGFpblN0b3JhZ2VUeXBlO1xuXG4gIE9iamVjdC5lbnRyaWVzKGFsbFBhcmFtZXRlcnMpLmZvckVhY2goKFtuYW1lLCBtZXRhXSkgPT4ge1xuICAgIGNvbnN0IGV4aXN0aW5nUGFyYW1ldGVyID0gcGFyYW1ldGVyc1tuYW1lXTtcblxuICAgIGlmIChwYXJhbWV0ZXJzW25hbWVdPy5wbHVnaW5zPy5pbmNsdWRlcyhwbHVnaW5OYW1lKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChleGlzdGluZ1BhcmFtZXRlcikge1xuICAgICAgaWYgKG1ldGEudW5pdCAhPT0gZXhpc3RpbmdQYXJhbWV0ZXIudW5pdCkge1xuICAgICAgICB0aHJvdyBuZXcgTWFuaWZlc3RWYWxpZGF0aW9uRXJyb3IoQUdHUkVHQVRJT05fVU5JVFNfTk9UX01BVENIKG5hbWUpKTtcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICBtZXRhWydhZ2dyZWdhdGlvbi1tZXRob2QnXS5jb21wb25lbnQgIT09XG4gICAgICAgICAgZXhpc3RpbmdQYXJhbWV0ZXJbJ2FnZ3JlZ2F0aW9uLW1ldGhvZCddLmNvbXBvbmVudCB8fFxuICAgICAgICBtZXRhWydhZ2dyZWdhdGlvbi1tZXRob2QnXS50aW1lICE9PVxuICAgICAgICAgIGV4aXN0aW5nUGFyYW1ldGVyWydhZ2dyZWdhdGlvbi1tZXRob2QnXS50aW1lXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IE1hbmlmZXN0VmFsaWRhdGlvbkVycm9yKEFHR1JFR0FUSU9OX01FVEhPRFNfTk9UX01BVENIKG5hbWUpKTtcbiAgICAgIH1cblxuICAgICAgZXhpc3RpbmdQYXJhbWV0ZXIucGx1Z2lucy5wdXNoKHBsdWdpbk5hbWUpO1xuICAgICAgZXhpc3RpbmdQYXJhbWV0ZXIuZGVzY3JpcHRpb24gPVxuICAgICAgICBtZXRhLmRlc2NyaXB0aW9uIHx8IGV4aXN0aW5nUGFyYW1ldGVyLmRlc2NyaXB0aW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJhbWV0ZXJzW25hbWVdID0ge1xuICAgICAgICBwbHVnaW5zOiBbcGx1Z2luTmFtZV0sXG4gICAgICAgIHVuaXQ6IG1ldGEudW5pdCxcbiAgICAgICAgZGVzY3JpcHRpb246IG1ldGEuZGVzY3JpcHRpb24sXG4gICAgICAgICdhZ2dyZWdhdGlvbi1tZXRob2QnOiBtZXRhWydhZ2dyZWdhdGlvbi1tZXRob2QnXSxcbiAgICAgIH07XG4gICAgfVxuICB9KTtcblxuICBzdG9yZUV4cGxhaW5EYXRhLnBhcmFtZXRlcnMgPSB7XG4gICAgLi4ucGFyYW1ldGVycyxcbiAgfTtcbn07XG4iXX0=
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwbGFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL2V4cGxhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaURBQTZDO0FBRTdDLGdEQUE0QztBQUU1QyxxREFBZ0Q7QUFJaEQsTUFBTSxFQUFDLHVCQUF1QixFQUFDLEdBQUcsY0FBTSxDQUFDO0FBQ3pDLE1BQU0sRUFDSiwyQkFBMkIsRUFDM0IsNkJBQTZCLEVBQzdCLHdCQUF3QixFQUN4Qix5QkFBeUIsR0FDMUIsR0FBRyxnQkFBTyxDQUFDO0FBRVo7O0dBRUc7QUFDSSxNQUFNLE9BQU8sR0FBRyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7QUFBekMsUUFBQSxPQUFPLFdBQWtDO0FBRXREOztHQUVHO0FBQ0gsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEdBQUcsRUFBRTtJQUM3QixJQUFJLE9BQU8sR0FBdUIsRUFBRSxDQUFDO0lBRXJDLE1BQU0sYUFBYSxHQUFHO1FBQ3BCLElBQUksT0FBTztZQUNULE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUF5QjtZQUNuQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLENBQUM7S0FDRixDQUFDO0lBRUYsT0FBTyxhQUFhLENBQUM7QUFDdkIsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUVMOztHQUVHO0FBQ0ksTUFBTSxjQUFjLEdBQUcsQ0FBQyxNQUFxQixFQUFFLEVBQUU7SUFDdEQsTUFBTSxFQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUMsR0FBRyxNQUFNLENBQUM7SUFDdEMsTUFBTSxNQUFNLEdBQXVCO1FBQ2pDLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDWixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sSUFBSSxFQUFFO1lBQzlCLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxJQUFJLEVBQUU7U0FDakM7S0FDRixDQUFDO0lBRUYs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QUUsU0FBUztnQkFDL0MsZ0JBQWdCLEVBQUUsU0FBUztnQkFDM0IsZUFBZSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsSUFBSSxLQUFLLGdCQUFnQixFQUFFLElBQUksQ0FBQyxFQUN6RTtZQUNBLE1BQU0sSUFBSSx1QkFBdUIsQ0FDL0IsNkJBQTZCLENBQUMsYUFBYSxDQUFDLENBQzdDLENBQUM7U0FDSDtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtQYXJhbWV0ZXJNZXRhZGF0YX0gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3R5cGVzJztcbmltcG9ydCB7RVJST1JTfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdXRpbHMnO1xuXG5pbXBvcnQge1NUUklOR1N9IGZyb20gJy4uLy4uL2NvbW1vbi9jb25maWcnO1xuXG5pbXBvcnQge2xvZ2dlcn0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvbG9nZ2VyJztcblxuaW1wb3J0IHtFeHBsYWluUGFyYW1zLCBFeHBsYWluU3RvcmFnZVR5cGV9IGZyb20gJy4uL3R5cGVzL2V4cGxhaW4nO1xuXG5jb25zdCB7TWFuaWZlc3RWYWxpZGF0aW9uRXJyb3J9ID0gRVJST1JTO1xuY29uc3Qge1xuICBBR0dSRUdBVElPTl9VTklUU19OT1RfTUFUQ0gsXG4gIEFHR1JFR0FUSU9OX01FVEhPRFNfTk9UX01BVENILFxuICBNSVNTSU5HX0lOUFVUU19QQVJBTUVURVIsXG4gIE1JU1NJTkdfT1VUUFVUU19QQVJBTUVURVIsXG59ID0gU1RSSU5HUztcblxuLyoqXG4gKiBSZXRyaWV2ZXMgc3RvcmVkIGV4cGxhaW4gZGF0YS5cbiAqL1xuZXhwb3J0IGNvbnN0IGV4cGxhaW4gPSAoKSA9PiBzdG9yZUV4cGxhaW5EYXRhLnBsdWdpbnM7XG5cbi8qKlxuICogTWFuYWdlcyB0aGUgc3RvcmFnZSBvZiBleHBsYWluIGRhdGEuXG4gKi9cbmNvbnN0IHN0b3JlRXhwbGFpbkRhdGEgPSAoKCkgPT4ge1xuICBsZXQgcGx1Z2luczogRXhwbGFpblN0b3JhZ2VUeXBlID0ge307XG5cbiAgY29uc3QgcGx1Z2luTWFuYWdlciA9IHtcbiAgICBnZXQgcGx1Z2lucygpIHtcbiAgICAgIHJldHVybiBwbHVnaW5zO1xuICAgIH0sXG4gICAgc2V0IHBsdWdpbnModmFsdWU6IEV4cGxhaW5TdG9yYWdlVHlwZSkge1xuICAgICAgcGx1Z2lucyA9IHZhbHVlO1xuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIHBsdWdpbk1hbmFnZXI7XG59KSgpO1xuXG4vKipcbiAqIEFkZHMgbmV3IGV4cGxhaW4gZGF0YSB0byB0aGUgc3RvcmVkIGV4cGxhaW4gZGF0YS5cbiAqL1xuZXhwb3J0IGNvbnN0IGFkZEV4cGxhaW5EYXRhID0gKHBhcmFtczogRXhwbGFpblBhcmFtcykgPT4ge1xuICBjb25zdCB7cGx1Z2luTmFtZSwgbWV0YWRhdGF9ID0gcGFyYW1zO1xuICBjb25zdCBwbHVnaW46IEV4cGxhaW5TdG9yYWdlVHlwZSA9IHtcbiAgICBbcGx1Z2luTmFtZV06IHtcbiAgICAgIGlucHV0czogbWV0YWRhdGE/LmlucHV0cyA/PyB7fSxcbiAgICAgIG91dHB1dHM6IG1ldGFkYXRhPy5vdXRwdXRzID8/IHt9LFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3QgaXNJbnB1dHNNaXNzaW5nID0gIU9iamVjdC5rZXlzKHBsdWdpbltwbHVnaW5OYW1lXS5pbnB1dHMgfHwge30pLmxlbmd0aDtcbiAgY29uc3QgaXNPdXRwdXRzTWlzc2luZyA9ICFPYmplY3Qua2V5cyhwbHVnaW5bcGx1Z2luTmFtZV0ub3V0cHV0cyB8fCB7fSlcbiAgICAubGVuZ3RoO1xuXG4gIGlmIChpc0lucHV0c01pc3NpbmcpIHtcbiAgICBkZWxldGUgcGx1Z2luW3BsdWdpbk5hbWVdLmlucHV0cztcblxuICAgIGxvZ2dlci53YXJuKE1JU1NJTkdfSU5QVVRTX1BBUkFNRVRFUihwbHVnaW5OYW1lKSk7XG4gIH1cblxuICBpZiAoaXNPdXRwdXRzTWlzc2luZykge1xuICAgIGRlbGV0ZSBwbHVnaW5bcGx1Z2luTmFtZV0ub3V0cHV0cztcblxuICAgIGxvZ2dlci53YXJuKE1JU1NJTkdfT1VUUFVUU19QQVJBTUVURVIocGx1Z2luTmFtZSkpO1xuICB9XG5cbiAgY2hlY2tNZXRhZGF0YXMobWV0YWRhdGEpO1xuXG4gIGlmICghaXNJbnB1dHNNaXNzaW5nIHx8ICFpc091dHB1dHNNaXNzaW5nKSB7XG4gICAgc3RvcmVFeHBsYWluRGF0YS5wbHVnaW5zID0ge1xuICAgICAgLi4uc3RvcmVFeHBsYWluRGF0YS5wbHVnaW5zLFxuICAgICAgLi4ucGx1Z2luLFxuICAgIH07XG4gIH1cbn07XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSAndW5pdCcgYW5kICdhZ2dyZWdhdGlvbi1tZXRob2QnIG9mIHRoZSBwYXJhbWV0ZXIgYXJlIHRoZSBzYW1lIHRocm91Z2hvdXQgdGhlIG1hbmlmZXN0XG4gKi9cbmNvbnN0IGNoZWNrTWV0YWRhdGFzID0gKG1ldGFkYXRhOiB7XG4gIGlucHV0cz86IFBhcmFtZXRlck1ldGFkYXRhO1xuICBvdXRwdXRzPzogUGFyYW1ldGVyTWV0YWRhdGE7XG59KSA9PiB7XG4gIGNvbnN0IGlucHV0c091dHB1dHNNZXRhZGF0YSA9IHsuLi5tZXRhZGF0YT8uaW5wdXRzLCAuLi5tZXRhZGF0YT8ub3V0cHV0c307XG4gIGNvbnN0IHN0b3JlZFBhcmFtZXRlcnM6IGFueSA9IHt9O1xuXG4gIC8vIFBvcHVsYXRlIHN0b3JlZCBwYXJhbWV0ZXJzIHdpdGggbWV0YWRhdGEgZnJvbSBlYWNoIHBsdWdpblxuICBPYmplY3QudmFsdWVzKHN0b3JlRXhwbGFpbkRhdGEucGx1Z2lucykuZm9yRWFjaChwbHVnaW4gPT4ge1xuICAgIGNvbnN0IHN0b3JlZElucHV0T3V0cHV0TWV0YWRhdGEgPSB7Li4ucGx1Z2luLmlucHV0cywgLi4ucGx1Z2luLm91dHB1dHN9O1xuXG4gICAgT2JqZWN0LmtleXMoc3RvcmVkSW5wdXRPdXRwdXRNZXRhZGF0YSkuZm9yRWFjaChwYXJhbWV0ZXIgPT4ge1xuICAgICAgaWYgKCFzdG9yZWRQYXJhbWV0ZXJzW3BhcmFtZXRlcl0pIHtcbiAgICAgICAgc3RvcmVkUGFyYW1ldGVyc1twYXJhbWV0ZXJdID0ge1xuICAgICAgICAgIHVuaXQ6IHN0b3JlZElucHV0T3V0cHV0TWV0YWRhdGFbcGFyYW1ldGVyXS51bml0LFxuICAgICAgICAgICdhZ2dyZWdhdGlvbi1tZXRob2QnOlxuICAgICAgICAgICAgc3RvcmVkSW5wdXRPdXRwdXRNZXRhZGF0YVtwYXJhbWV0ZXJdWydhZ2dyZWdhdGlvbi1tZXRob2QnXSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG5cbiAgLy8gVmFsaWRhdGUgaW5wdXQtb3V0cHV0IG1ldGFkYXRhIGFnYWluc3Qgc3RvcmVkIHBhcmFtZXRlcnNcbiAgT2JqZWN0LmtleXMoaW5wdXRzT3V0cHV0c01ldGFkYXRhKS5mb3JFYWNoKHBhcmFtZXRlck5hbWUgPT4ge1xuICAgIGNvbnN0IHBhcmFtZXRlciA9IGlucHV0c091dHB1dHNNZXRhZGF0YVtwYXJhbWV0ZXJOYW1lXTtcbiAgICBjb25zdCBzdG9yZWRQYXJhbWV0ZXIgPSBzdG9yZWRQYXJhbWV0ZXJzW3BhcmFtZXRlck5hbWVdO1xuXG4gICAgaWYgKFxuICAgICAgcGFyYW1ldGVyICYmXG4gICAgICBPYmplY3Qua2V5cyhzdG9yZWRQYXJhbWV0ZXJzKS5pbmNsdWRlcyhwYXJhbWV0ZXJOYW1lKSAmJlxuICAgICAgc3RvcmVkUGFyYW1ldGVyLnVuaXQgIT09IHBhcmFtZXRlci51bml0XG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgTWFuaWZlc3RWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgIEFHR1JFR0FUSU9OX1VOSVRTX05PVF9NQVRDSChwYXJhbWV0ZXJOYW1lKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmb3IgYWdncmVnYXRpb24tbWV0aG9kIG1pc21hdGNoXG4gICAgY29uc3QgaW5wdXRBZ2dyZWdhdGlvbiA9IHBhcmFtZXRlclsnYWdncmVnYXRpb24tbWV0aG9kJ107XG5cbiAgICBpZiAoXG4gICAgICBzdG9yZWRQYXJhbWV0ZXIgJiZcbiAgICAgIChzdG9yZWRQYXJhbWV0ZXJbJ2FnZ3JlZ2F0aW9uLW1ldGhvZCddPy5jb21wb25lbnQgIT09XG4gICAgICAgIGlucHV0QWdncmVnYXRpb24/LmNvbXBvbmVudCB8fFxuICAgICAgICBzdG9yZWRQYXJhbWV0ZXJbJ2FnZ3JlZ2F0aW9uLW1ldGhvZCddPy50aW1lICE9PSBpbnB1dEFnZ3JlZ2F0aW9uPy50aW1lKVxuICAgICkge1xuICAgICAgdGhyb3cgbmV3IE1hbmlmZXN0VmFsaWRhdGlvbkVycm9yKFxuICAgICAgICBBR0dSRUdBVElPTl9NRVRIT0RTX05PVF9NQVRDSChwYXJhbWV0ZXJOYW1lKVxuICAgICAgKTtcbiAgICB9XG4gIH0pO1xufTtcbiJdfQ==
@@ -26,11 +26,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.initialize = void 0;
27
27
  const path = __importStar(require("node:path"));
28
28
  const utils_1 = require("@grnsft/if-core/utils");
29
+ const aggregate_1 = require("./aggregate");
29
30
  const logger_1 = require("../../common/util/logger");
30
31
  const log_memoize_1 = require("../util/log-memoize");
31
32
  const plugin_storage_1 = require("../util/plugin-storage");
32
33
  const config_1 = require("../config");
33
- const aggregate_1 = require("./aggregate");
34
34
  const { PluginInitializationError, MissingPluginMethodError, MissingPluginPathError, } = utils_1.ERRORS;
35
35
  const { GITHUB_PATH, NATIVE_PLUGIN } = config_1.CONFIG;
36
36
  const { MISSING_METHOD, MISSING_PATH, NOT_NATIVE_PLUGIN, INVALID_MODULE_PATH, LOADING_PLUGIN_FROM_PATH, INITIALIZING_PLUGIN, INITIALIZING_PLUGINS, } = config_1.STRINGS;
@@ -110,4 +110,4 @@ const initialize = async (context) => {
110
110
  return storage;
111
111
  };
112
112
  exports.initialize = initialize;
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL2luaXRpYWxpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBa0M7QUFFbEMsaURBQTZDO0FBRzdDLHFEQUFnRDtBQUNoRCxxREFBZ0Q7QUFDaEQsMkRBQXFEO0FBRXJELHNDQUEwQztBQUkxQywyQ0FBb0Q7QUFFcEQsTUFBTSxFQUNKLHlCQUF5QixFQUN6Qix3QkFBd0IsRUFDeEIsc0JBQXNCLEdBQ3ZCLEdBQUcsY0FBTSxDQUFDO0FBRVgsTUFBTSxFQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDNUMsTUFBTSxFQUNKLGNBQWMsRUFDZCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsbUJBQW1CLEVBQ25CLG9CQUFvQixHQUNyQixHQUFHLGdCQUFPLENBQUM7QUFFWjs7R0FFRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxFQUFFLElBQVksRUFBRSxFQUFFO0lBQzlDLE1BQU0sTUFBTSxHQUFHLE1BQU0sbUJBQU8sSUFBSSx3Q0FBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDOUMsTUFBTSxJQUFJLHlCQUF5QixDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLEtBQUssRUFBRSxNQUFjLEVBQUUsSUFBWSxFQUFFLEVBQUU7SUFDbkUsTUFBTSxZQUFZLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVsRCxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM5QixDQUFD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QUNqQztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQXZCVyxRQUFBLFVBQVUsY0F1QnJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdub2RlOnBhdGgnO1xuXG5pbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcbmltcG9ydCB7UGx1Z2luSW50ZXJmYWNlfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdHlwZXMnO1xuXG5pbXBvcnQge2xvZ2dlcn0gZnJvbSAnLi4vLi4vY29tbW9uL3V0aWwvbG9nZ2VyJztcbmltcG9ydCB7bWVtb2l6ZWRMb2d9IGZyb20gJy4uL3V0aWwvbG9nLW1lbW9pemUnO1xuaW1wb3J0IHtwbHVnaW5TdG9yYWdlfSBmcm9tICcuLi91dGlsL3BsdWdpbi1zdG9yYWdlJztcblxuaW1wb3J0IHtDT05GSUcsIFNUUklOR1N9IGZyb20gJy4uL2NvbmZpZyc7XG5cbmltcG9ydCB7Q29udGV4dCwgUGx1Z2luT3B0aW9uc30gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGVzL21hbmlmZXN0JztcbmltcG9ydCB7UGx1Z2luU3RvcmFnZUludGVyZmFjZX0gZnJvbSAnLi4vdHlwZXMvcGx1Z2luLXN0b3JhZ2UnO1xuaW1wb3J0IHtzdG9yZUFnZ3JlZ2F0aW9uTWV0cmljc30gZnJvbSAnLi9hZ2dyZWdhdGUnO1xuXG5jb25zdCB7XG4gIFBsdWdpbkluaXRpYWxpemF0aW9uRXJyb3IsXG4gIE1pc3NpbmdQbHVnaW5NZXRob2RFcnJvcixcbiAgTWlzc2luZ1BsdWdpblBhdGhFcnJvcixcbn0gPSBFUlJPUlM7XG5cbmNvbnN0IHtHSVRIVUJfUEFUSCwgTkFUSVZFX1BMVUdJTn0gPSBDT05GSUc7XG5jb25zdCB7XG4gIE1JU1NJTkdfTUVUSE9ELFxuICBNSVNTSU5HX1BBVEgsXG4gIE5PVF9OQVRJVkVfUExVR0lOLFxuICBJTlZBTElEX01PRFVMRV9QQVRILFxuICBMT0FESU5HX1BMVUdJTl9GUk9NX1BBVEgsXG4gIElOSVRJQUxJWklOR19QTFVHSU4sXG4gIElOSVRJQUxJWklOR19QTFVHSU5TLFxufSA9IFNUUklOR1M7XG5cbi8qKlxuICogSW1wb3J0cyBtb2R1bGUgYnkgZ2l2ZW4gYHBhdGhgLlxuICovXG5jb25zdCBpbXBvcnRNb2R1bGVGcm9tID0gYXN5bmMgKHBhdGg6IHN0cmluZykgPT4ge1xuICBjb25zdCBtb2R1bGUgPSBhd2FpdCBpbXBvcnQocGF0aCkuY2F0Y2goZXJyb3IgPT4ge1xuICAgIHRocm93IG5ldyBQbHVnaW5Jbml0aWFsaXphdGlvbkVycm9yKElOVkFMSURfTU9EVUxFX1BBVEgocGF0aCwgZXJyb3IpKTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1vZHVsZTtcbn07XG5cbi8qKlxuICogSW1wb3J0cyBgbW9kdWxlYCBmcm9tIGdpdmVuIGBwYXRoYCBhbmQgcmV0dXJucyByZXF1ZXN0ZWQgYG1ldGhvZGAuXG4gKi9cbmNvbnN0IGltcG9ydEFuZFZlcmlmeU1vZHVsZSA9IGFzeW5jIChtZXRob2Q6IHN0cmluZywgcGF0aDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHBsdWdpbk1vZHVsZSA9IGF3YWl0IGltcG9ydE1vZHVsZUZyb20ocGF0aCk7XG5cbiAgcmV0dXJuIHBsdWdpbk1vZHVsZVttZXRob2RdO1xufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgcGx1Z2luIGlzIG1pc3NpbmcgdGhlbiByZWplY3RzIHdpdGggZXJyb3IuXG4gKiBUaGVuIGNoZWNrcyBpZiBgcGF0aGAgaXMgc3RhcnRpbmcgd2l0aCBnaXRodWIsIHRoZW4gZ3JhYnMgdGhlIHJlcG9zaXRvcnkgbmFtZS5cbiAqIEltcG9ydHMgbW9kdWxlLCB0aGVuIGNoZWNrcyBpZiBpdCdzIGEgdmFsaWQgcGx1Z2luLlxuICovXG5jb25zdCBoYW5kTW9kdWxlID0gKG1ldGhvZDogc3RyaW5nLCBwbHVnaW5QYXRoOiBzdHJpbmcpID0+IHtcbiAgY29uc29sZS5kZWJ1ZyhMT0FESU5HX1BMVUdJTl9GUk9NX1BBVEgobWV0aG9kLCBwbHVnaW5QYXRoKSwgJ1xcbicpO1xuXG4gIGlmIChwbHVnaW5QYXRoID09PSAnYnVpbHRpbicpIHtcbiAgICBwbHVnaW5QYXRoID0gcGF0aC5ub3JtYWxpemUoYCR7X19kaXJuYW1lfS8uLi9idWlsdGluc2ApO1xuICB9IGVsc2Uge1xuICAgIGlmIChwbHVnaW5QYXRoPy5zdGFydHNXaXRoKEdJVEhVQl9QQVRIKSkge1xuICAgICAgY29uc3QgcGFydHMgPSBwbHVnaW5QYXRoLnNwbGl0KCcvJyk7XG4gICAgICBwbHVnaW5QYXRoID0gcGFydHNbcGFydHMubGVuZ3RoIC0gMV07XG4gICAgfVxuXG4gICAgaWYgKCFwbHVnaW5QYXRoLmluY2x1ZGVzKE5BVElWRV9QTFVHSU4pKSB7XG4gICAgICBtZW1vaXplZExvZyhsb2dnZXIud2FybiwgTk9UX05BVElWRV9QTFVHSU4ocGx1Z2luUGF0aCkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBpbXBvcnRBbmRWZXJpZnlNb2R1bGUobWV0aG9kLCBwbHVnaW5QYXRoKTtcbn07XG5cbi8qKlxuICogSW5pdGlhbGl6ZXMgcGx1Z2luIHdpdGggY29uZmlnLlxuICovXG5jb25zdCBpbml0UGx1Z2luID0gYXN5bmMgKFxuICBpbml0UGx1Z2luUGFyYW1zOiBQbHVnaW5PcHRpb25zXG4pOiBQcm9taXNlPFBsdWdpbkludGVyZmFjZT4gPT4ge1xuICBjb25zdCB7XG4gICAgbWV0aG9kLFxuICAgIHBhdGgsXG4gICAgbWFwcGluZyxcbiAgICBjb25maWcsXG4gICAgJ3BhcmFtZXRlci1tZXRhZGF0YSc6IHBhcmFtZXRlck1ldGFkYXRhLFxuICB9ID0gaW5pdFBsdWdpblBhcmFtcyE7XG5cbiAgaWYgKCFtZXRob2QpIHtcbiAgICB0aHJvdyBuZXcgTWlzc2luZ1BsdWdpbk1ldGhvZEVycm9yKE1JU1NJTkdfTUVUSE9EKTtcbiAgfVxuXG4gIGlmICghcGF0aCkge1xuICAgIHRocm93IG5ldyBNaXNzaW5nUGx1Z2luUGF0aEVycm9yKE1JU1NJTkdfUEFUSCk7XG4gIH1cblxuICBjb25zdCBwbHVnaW4gPSBhd2FpdCBoYW5kTW9kdWxlKG1ldGhvZCwgcGF0aCk7XG5cbiAgcmV0dXJuIHBsdWdpbihjb25maWcsIHBhcmFtZXRlck1ldGFkYXRhLCBtYXBwaW5nKTtcbn07XG5cbi8qKlxuICogUmVnaXN0ZXJzIGFsbCBwbHVnaW5zIGZyb20gYG1hbmlmZXN0YC5gaW5pdGlhbGl6ZWAgcHJvcGVydHkuXG4gKiAxLiBJbml0YWxpemVzIHBsdWdpbiBzdG9yYWdlLlxuICogMi4gSXRlcmF0ZXMgb3ZlciBwbHVnaW4gbmFtZXMgYXJyYXkuXG4gKiAzLiBXaGlsZSBpdGVyYXRpb24sIGluaXRhbGl6ZXMgY3VycmVudCBwbHVnaW4sIGdhdGhlcnMgaXQncyBwYXJhbWV0ZXJzIChpbnB1dC9vdXRwdXQpLlxuICogICAgVGhlbiBzdG9yZXMgdGhlIGFnZ3JlZ2F0aW9uIG1ldHJpY3MgZm9yIGVhY2ggcGFyYW1ldGVyIHRvIG92ZXJyaWRlIHN0dWIgdmFsdWVzLlxuICovXG5leHBvcnQgY29uc3QgaW5pdGlhbGl6ZSA9IGFzeW5jIChcbiAgY29udGV4dDogQ29udGV4dFxuKTogUHJvbWlzZTxQbHVnaW5TdG9yYWdlSW50ZXJmYWNlPiA9PiB7XG4gIGNvbnNvbGUuZGVidWcoSU5JVElBTElaSU5HX1BMVUdJTlMsICdcXG4nKTtcbiAgY29uc3Qge3BsdWdpbnN9ID0gY29udGV4dC5pbml0aWFsaXplO1xuICBjb25zdCBzdG9yYWdlID0gcGx1Z2luU3RvcmFnZSgpO1xuXG4gIGZvciBhd2FpdCAoY29uc3QgcGx1Z2luTmFtZSBvZiBPYmplY3Qua2V5cyhwbHVnaW5zKSkge1xuICAgIGNvbnNvbGUuZGVidWcoSU5JVElBTElaSU5HX1BMVUdJTihwbHVnaW5OYW1lKSk7XG5cbiAgICBjb25zdCBwbHVnaW4gPSBhd2FpdCBpbml0UGx1Z2luKHBsdWdpbnNbcGx1Z2luTmFtZV0pO1xuICAgIGNvbnN0IHBhcmFtZXRlcnMgPSB7Li4ucGx1Z2luLm1ldGFkYXRhLmlucHV0cywgLi4ucGx1Z2luLm1ldGFkYXRhLm91dHB1dHN9O1xuXG4gICAgT2JqZWN0LmtleXMocGFyYW1ldGVycykuZm9yRWFjaChjdXJyZW50ID0+IHtcbiAgICAgIHN0b3JlQWdncmVnYXRpb25NZXRyaWNzKHtcbiAgICAgICAgW2N1cnJlbnRdOiBwYXJhbWV0ZXJzW2N1cnJlbnRdWydhZ2dyZWdhdGlvbi1tZXRob2QnXSxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgc3RvcmFnZS5zZXQocGx1Z2luTmFtZSwgcGx1Z2luKTtcbiAgfVxuXG4gIHJldHVybiBzdG9yYWdlO1xufTtcbiJdfQ==
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbGl6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pZi1ydW4vbGliL2luaXRpYWxpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBa0M7QUFFbEMsaURBQTZDO0FBRzdDLDJDQUFvRDtBQUVwRCxxREFBZ0Q7QUFDaEQscURBQWdEO0FBQ2hELDJEQUFxRDtBQUVyRCxzQ0FBMEM7QUFLMUMsTUFBTSxFQUNKLHlCQUF5QixFQUN6Qix3QkFBd0IsRUFDeEIsc0JBQXNCLEdBQ3ZCLEdBQUcsY0FBTSxDQUFDO0FBRVgsTUFBTSxFQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDNUMsTUFBTSxFQUNKLGNBQWMsRUFDZCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsbUJBQW1CLEVBQ25CLG9CQUFvQixHQUNyQixHQUFHLGdCQUFPLENBQUM7QUFFWjs7R0FFRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxFQUFFLElBQVksRUFBRSxFQUFFO0lBQzlDLE1BQU0sTUFBTSxHQUFHLE1BQU0sbUJBQU8sSUFBSSx3Q0FBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDOUMsTUFBTSxJQUFJLHlCQUF5QixDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLEtBQUssRUFBRSxNQUFjLEVBQUUsSUFBWSxFQUFFLEVBQUU7SUFDbkUsTUFBTSxZQUFZLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVsRCxPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM5QixDQUFD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QUNqQztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQztBQXZCVyxRQUFBLFVBQVUsY0F1QnJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdub2RlOnBhdGgnO1xuXG5pbXBvcnQge0VSUk9SU30gZnJvbSAnQGdybnNmdC9pZi1jb3JlL3V0aWxzJztcbmltcG9ydCB7UGx1Z2luSW50ZXJmYWNlfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdHlwZXMnO1xuXG5pbXBvcnQge3N0b3JlQWdncmVnYXRpb25NZXRyaWNzfSBmcm9tICcuL2FnZ3JlZ2F0ZSc7XG5cbmltcG9ydCB7bG9nZ2VyfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbC9sb2dnZXInO1xuaW1wb3J0IHttZW1vaXplZExvZ30gZnJvbSAnLi4vdXRpbC9sb2ctbWVtb2l6ZSc7XG5pbXBvcnQge3BsdWdpblN0b3JhZ2V9IGZyb20gJy4uL3V0aWwvcGx1Z2luLXN0b3JhZ2UnO1xuXG5pbXBvcnQge0NPTkZJRywgU1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuaW1wb3J0IHtDb250ZXh0LCBQbHVnaW5PcHRpb25zfSBmcm9tICcuLi8uLi9jb21tb24vdHlwZXMvbWFuaWZlc3QnO1xuaW1wb3J0IHtQbHVnaW5TdG9yYWdlSW50ZXJmYWNlfSBmcm9tICcuLi90eXBlcy9wbHVnaW4tc3RvcmFnZSc7XG5cbmNvbnN0IHtcbiAgUGx1Z2luSW5pdGlhbGl6YXRpb25FcnJvcixcbiAgTWlzc2luZ1BsdWdpbk1ldGhvZEVycm9yLFxuICBNaXNzaW5nUGx1Z2luUGF0aEVycm9yLFxufSA9IEVSUk9SUztcblxuY29uc3Qge0dJVEhVQl9QQVRILCBOQVRJVkVfUExVR0lOfSA9IENPTkZJRztcbmNvbnN0IHtcbiAgTUlTU0lOR19NRVRIT0QsXG4gIE1JU1NJTkdfUEFUSCxcbiAgTk9UX05BVElWRV9QTFVHSU4sXG4gIElOVkFMSURfTU9EVUxFX1BBVEgsXG4gIExPQURJTkdfUExVR0lOX0ZST01fUEFUSCxcbiAgSU5JVElBTElaSU5HX1BMVUdJTixcbiAgSU5JVElBTElaSU5HX1BMVUdJTlMsXG59ID0gU1RSSU5HUztcblxuLyoqXG4gKiBJbXBvcnRzIG1vZHVsZSBieSBnaXZlbiBgcGF0aGAuXG4gKi9cbmNvbnN0IGltcG9ydE1vZHVsZUZyb20gPSBhc3luYyAocGF0aDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IG1vZHVsZSA9IGF3YWl0IGltcG9ydChwYXRoKS5jYXRjaChlcnJvciA9PiB7XG4gICAgdGhyb3cgbmV3IFBsdWdpbkluaXRpYWxpemF0aW9uRXJyb3IoSU5WQUxJRF9NT0RVTEVfUEFUSChwYXRoLCBlcnJvcikpO1xuICB9KTtcblxuICByZXR1cm4gbW9kdWxlO1xufTtcblxuLyoqXG4gKiBJbXBvcnRzIGBtb2R1bGVgIGZyb20gZ2l2ZW4gYHBhdGhgIGFuZCByZXR1cm5zIHJlcXVlc3RlZCBgbWV0aG9kYC5cbiAqL1xuY29uc3QgaW1wb3J0QW5kVmVyaWZ5TW9kdWxlID0gYXN5bmMgKG1ldGhvZDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcGx1Z2luTW9kdWxlID0gYXdhaXQgaW1wb3J0TW9kdWxlRnJvbShwYXRoKTtcblxuICByZXR1cm4gcGx1Z2luTW9kdWxlW21ldGhvZF07XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiBwbHVnaW4gaXMgbWlzc2luZyB0aGVuIHJlamVjdHMgd2l0aCBlcnJvci5cbiAqIFRoZW4gY2hlY2tzIGlmIGBwYXRoYCBpcyBzdGFydGluZyB3aXRoIGdpdGh1YiwgdGhlbiBncmFicyB0aGUgcmVwb3NpdG9yeSBuYW1lLlxuICogSW1wb3J0cyBtb2R1bGUsIHRoZW4gY2hlY2tzIGlmIGl0J3MgYSB2YWxpZCBwbHVnaW4uXG4gKi9cbmNvbnN0IGhhbmRNb2R1bGUgPSAobWV0aG9kOiBzdHJpbmcsIHBsdWdpblBhdGg6IHN0cmluZykgPT4ge1xuICBjb25zb2xlLmRlYnVnKExPQURJTkdfUExVR0lOX0ZST01fUEFUSChtZXRob2QsIHBsdWdpblBhdGgpLCAnXFxuJyk7XG5cbiAgaWYgKHBsdWdpblBhdGggPT09ICdidWlsdGluJykge1xuICAgIHBsdWdpblBhdGggPSBwYXRoLm5vcm1hbGl6ZShgJHtfX2Rpcm5hbWV9Ly4uL2J1aWx0aW5zYCk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKHBsdWdpblBhdGg/LnN0YXJ0c1dpdGgoR0lUSFVCX1BBVEgpKSB7XG4gICAgICBjb25zdCBwYXJ0cyA9IHBsdWdpblBhdGguc3BsaXQoJy8nKTtcbiAgICAgIHBsdWdpblBhdGggPSBwYXJ0c1twYXJ0cy5sZW5ndGggLSAxXTtcbiAgICB9XG5cbiAgICBpZiAoIXBsdWdpblBhdGguaW5jbHVkZXMoTkFUSVZFX1BMVUdJTikpIHtcbiAgICAgIG1lbW9pemVkTG9nKGxvZ2dlci53YXJuLCBOT1RfTkFUSVZFX1BMVUdJTihwbHVnaW5QYXRoKSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGltcG9ydEFuZFZlcmlmeU1vZHVsZShtZXRob2QsIHBsdWdpblBhdGgpO1xufTtcblxuLyoqXG4gKiBJbml0aWFsaXplcyBwbHVnaW4gd2l0aCBjb25maWcuXG4gKi9cbmNvbnN0IGluaXRQbHVnaW4gPSBhc3luYyAoXG4gIGluaXRQbHVnaW5QYXJhbXM6IFBsdWdpbk9wdGlvbnNcbik6IFByb21pc2U8UGx1Z2luSW50ZXJmYWNlPiA9PiB7XG4gIGNvbnN0IHtcbiAgICBtZXRob2QsXG4gICAgcGF0aCxcbiAgICBtYXBwaW5nLFxuICAgIGNvbmZpZyxcbiAgICAncGFyYW1ldGVyLW1ldGFkYXRhJzogcGFyYW1ldGVyTWV0YWRhdGEsXG4gIH0gPSBpbml0UGx1Z2luUGFyYW1zITtcblxuICBpZiAoIW1ldGhvZCkge1xuICAgIHRocm93IG5ldyBNaXNzaW5nUGx1Z2luTWV0aG9kRXJyb3IoTUlTU0lOR19NRVRIT0QpO1xuICB9XG5cbiAgaWYgKCFwYXRoKSB7XG4gICAgdGhyb3cgbmV3IE1pc3NpbmdQbHVnaW5QYXRoRXJyb3IoTUlTU0lOR19QQVRIKTtcbiAgfVxuXG4gIGNvbnN0IHBsdWdpbiA9IGF3YWl0IGhhbmRNb2R1bGUobWV0aG9kLCBwYXRoKTtcblxuICByZXR1cm4gcGx1Z2luKGNvbmZpZywgcGFyYW1ldGVyTWV0YWRhdGEsIG1hcHBpbmcpO1xufTtcblxuLyoqXG4gKiBSZWdpc3RlcnMgYWxsIHBsdWdpbnMgZnJvbSBgbWFuaWZlc3RgLmBpbml0aWFsaXplYCBwcm9wZXJ0eS5cbiAqIDEuIEluaXRhbGl6ZXMgcGx1Z2luIHN0b3JhZ2UuXG4gKiAyLiBJdGVyYXRlcyBvdmVyIHBsdWdpbiBuYW1lcyBhcnJheS5cbiAqIDMuIFdoaWxlIGl0ZXJhdGlvbiwgaW5pdGFsaXplcyBjdXJyZW50IHBsdWdpbiwgZ2F0aGVycyBpdCdzIHBhcmFtZXRlcnMgKGlucHV0L291dHB1dCkuXG4gKiAgICBUaGVuIHN0b3JlcyB0aGUgYWdncmVnYXRpb24gbWV0cmljcyBmb3IgZWFjaCBwYXJhbWV0ZXIgdG8gb3ZlcnJpZGUgc3R1YiB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBpbml0aWFsaXplID0gYXN5bmMgKFxuICBjb250ZXh0OiBDb250ZXh0XG4pOiBQcm9taXNlPFBsdWdpblN0b3JhZ2VJbnRlcmZhY2U+ID0+IHtcbiAgY29uc29sZS5kZWJ1ZyhJTklUSUFMSVpJTkdfUExVR0lOUywgJ1xcbicpO1xuICBjb25zdCB7cGx1Z2luc30gPSBjb250ZXh0LmluaXRpYWxpemU7XG4gIGNvbnN0IHN0b3JhZ2UgPSBwbHVnaW5TdG9yYWdlKCk7XG5cbiAgZm9yIGF3YWl0IChjb25zdCBwbHVnaW5OYW1lIG9mIE9iamVjdC5rZXlzKHBsdWdpbnMpKSB7XG4gICAgY29uc29sZS5kZWJ1ZyhJTklUSUFMSVpJTkdfUExVR0lOKHBsdWdpbk5hbWUpKTtcblxuICAgIGNvbnN0IHBsdWdpbiA9IGF3YWl0IGluaXRQbHVnaW4ocGx1Z2luc1twbHVnaW5OYW1lXSk7XG4gICAgY29uc3QgcGFyYW1ldGVycyA9IHsuLi5wbHVnaW4ubWV0YWRhdGEuaW5wdXRzLCAuLi5wbHVnaW4ubWV0YWRhdGEub3V0cHV0c307XG5cbiAgICBPYmplY3Qua2V5cyhwYXJhbWV0ZXJzKS5mb3JFYWNoKGN1cnJlbnQgPT4ge1xuICAgICAgc3RvcmVBZ2dyZWdhdGlvbk1ldHJpY3Moe1xuICAgICAgICBbY3VycmVudF06IHBhcmFtZXRlcnNbY3VycmVudF1bJ2FnZ3JlZ2F0aW9uLW1ldGhvZCddLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBzdG9yYWdlLnNldChwbHVnaW5OYW1lLCBwbHVnaW4pO1xuICB9XG5cbiAgcmV0dXJuIHN0b3JhZ2U7XG59O1xuIl19
@@ -1,5 +1,5 @@
1
1
  import { PluginParams } from '@grnsft/if-core/types';
2
2
  /**
3
- * Grouping strategy.
3
+ * Regroups inputs and outputs based on the given group keys.
4
4
  */
5
5
  export declare const Regroup: (inputs: PluginParams[], outputs: PluginParams[], groups: string[]) => any;