velocious 1.0.425 → 1.0.427
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/src/configuration.d.ts +6 -0
- package/build/src/configuration.d.ts.map +1 -1
- package/build/src/configuration.js +23 -6
- package/build/src/database/pool/async-tracked-multi-connection.d.ts +13 -0
- package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
- package/build/src/database/pool/async-tracked-multi-connection.js +37 -5
- package/build/src/database/pool/base.d.ts +8 -0
- package/build/src/database/pool/base.d.ts.map +1 -1
- package/build/src/database/pool/base.js +13 -1
- package/build/src/environment-handlers/node/cli/commands/cli-command-context.d.ts +32 -0
- package/build/src/environment-handlers/node/cli/commands/cli-command-context.d.ts.map +1 -0
- package/build/src/environment-handlers/node/cli/commands/cli-command-context.js +26 -0
- package/build/src/environment-handlers/node/cli/commands/console.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/console.js +3 -3
- package/build/src/environment-handlers/node/cli/commands/db/seed.d.ts +1 -18
- package/build/src/environment-handlers/node/cli/commands/db/seed.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/db/seed.js +5 -18
- package/build/src/environment-handlers/node/cli/commands/run-script.d.ts +1 -18
- package/build/src/environment-handlers/node/cli/commands/run-script.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/run-script.js +5 -18
- package/build/src/environment-handlers/node/cli/commands/runner.d.ts +2 -23
- package/build/src/environment-handlers/node/cli/commands/runner.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/runner.js +5 -18
- package/build/src/http-server/websocket-event-log-store.d.ts +2 -2
- package/build/src/http-server/websocket-event-log-store.d.ts.map +1 -1
- package/build/src/http-server/websocket-event-log-store.js +9 -4
- package/build/src/http-server/websocket-events-host.d.ts +19 -0
- package/build/src/http-server/websocket-events-host.d.ts.map +1 -1
- package/build/src/http-server/websocket-events-host.js +31 -19
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -41,6 +41,8 @@ function stableStringify(value) {
|
|
|
41
41
|
return JSON.stringify(value);
|
|
42
42
|
}
|
|
43
43
|
class VelociousDatabasePoolBase {
|
|
44
|
+
/** @type {undefined | ((callback: () => unknown) => unknown)} */
|
|
45
|
+
_withoutCurrentConnectionContext = undefined;
|
|
44
46
|
/**
|
|
45
47
|
* @returns {VelociousDatabasePoolBase} - The current.
|
|
46
48
|
*/
|
|
@@ -98,6 +100,16 @@ class VelociousDatabasePoolBase {
|
|
|
98
100
|
getCurrentContextConnection() {
|
|
99
101
|
return this.getCurrentConnection();
|
|
100
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* @template T
|
|
105
|
+
* @param {() => T} callback - Callback to run without any current connection context.
|
|
106
|
+
* @returns {T} - Callback result.
|
|
107
|
+
*/
|
|
108
|
+
withoutCurrentConnectionContext(callback) {
|
|
109
|
+
if (this._withoutCurrentConnectionContext)
|
|
110
|
+
return /** @type {T} */ (this._withoutCurrentConnectionContext(callback));
|
|
111
|
+
return callback();
|
|
112
|
+
}
|
|
101
113
|
/**
|
|
102
114
|
* @returns {import("../../configuration-types.js").DatabaseConfigurationType} - Resolved database configuration for the pool identifier.
|
|
103
115
|
*/
|
|
@@ -279,4 +291,4 @@ class VelociousDatabasePoolBase {
|
|
|
279
291
|
}
|
|
280
292
|
baseMethodsForward(VelociousDatabasePoolBase);
|
|
281
293
|
export default VelociousDatabasePoolBase;
|
|
282
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9wb29sL2Jhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sYUFBYSxNQUFNLHdCQUF3QixDQUFBO0FBQ2xELE9BQU8sTUFBTSxNQUFNLGlCQUFpQixDQUFBO0FBQ3BDLE9BQU8sa0JBQWtCLE1BQU0sMkJBQTJCLENBQUE7QUFFMUQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUE7QUFFN0U7OztHQUdHO0FBRUg7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCw4REFBOEQ7QUFDOUQsTUFBTSxNQUFNLEdBQUc7SUFDYixXQUFXLEVBQUUsSUFBSTtDQUNsQixDQUFBO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxlQUFlLENBQUMsS0FBSztJQUM1QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUE7SUFDdEUsQ0FBQztJQUVELElBQUksS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLE1BQU07YUFDbkIsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDcEQsSUFBSSxFQUFFO2FBQ04sR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksZUFBZSxDQUFDLHNDQUFzQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7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Q0wsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLEVBQUU7WUFDaEMsR0FBRyxPQUFPO1lBQ1YsUUFBUSxFQUFFLHFCQUFxQixDQUFDLHNCQUFzQixDQUFDO1NBQ3hELENBQUE7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFFBQVEsS0FBSSxDQUFDO0NBQ3BCO0FBRUQsa0JBQWtCLENBQUMseUJBQXlCLENBQUMsQ0FBQTtBQUU3QyxlQUFlLHlCQUF5QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBDb25maWd1cmF0aW9uIGZyb20gXCIuLi8uLi9jb25maWd1cmF0aW9uLmpzXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4uLy4uL2xvZ2dlci5qc1wiXG5pbXBvcnQgYmFzZU1ldGhvZHNGb3J3YXJkIGZyb20gXCIuL2Jhc2UtbWV0aG9kcy1mb3J3YXJkLmpzXCJcblxuZXhwb3J0IGNvbnN0IFBPT0xfQ09ORklHVVJBVElPTl9LRVkgPSBTeW1ib2woXCJ2ZWxvY2lvdXNQb29sQ29uZmlndXJhdGlvbktleVwiKVxuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IENvbm5lY3Rpb25DaGVja291dE9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbbmFtZV0gLSBIdW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgY2hlY2tlZC1vdXQgY29ubmVjdGlvbi5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IERhdGFiYXNlUG9vbERlYnVnU25hcHNob3RcbiAqIEBwcm9wZXJ0eSB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59IGNvbmZpZ3VyYXRpb24gLSBTYW5pdGl6ZWQgcmVzb2x2ZWQgZGF0YWJhc2UgY29uZmlndXJhdGlvbi5cbiAqIEBwcm9wZXJ0eSB7QXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+fSBjb25uZWN0aW9ucyAtIExpdmUgY29ubmVjdGlvbiBzbmFwc2hvdHMuXG4gKiBAcHJvcGVydHkge251bWJlcn0gY29ubmVjdGlvbnNCZWluZ1NwYXduZWQgLSBOdW1iZXIgb2YgaW4tcHJvZ3Jlc3MgY29ubmVjdGlvbiBzcGF3bnMuXG4gKiBAcHJvcGVydHkge251bWJlcn0gaWRsZUNvdW50IC0gTnVtYmVyIG9mIGlkbGUgY29ubmVjdGlvbnMuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gaWRlbnRpZmllciAtIERhdGFiYXNlIGlkZW50aWZpZXIuXG4gKiBAcHJvcGVydHkge251bWJlcn0gaW5Vc2VDb3VudCAtIE51bWJlciBvZiBjaGVja2VkLW91dCBjb25uZWN0aW9ucy5cbiAqIEBwcm9wZXJ0eSB7QXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+fSBbcGVuZGluZ0NoZWNrb3V0c10gLSBXYWl0aW5nIGNoZWNrb3V0IHNuYXBzaG90cy5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBwZW5kaW5nQ2hlY2tvdXRDb3VudCAtIE51bWJlciBvZiBxdWV1ZWQgY2hlY2tvdXQgcmVxdWVzdHMuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gcG9vbENsYXNzIC0gUG9vbCBjbGFzcyBuYW1lLlxuICovXG5cbi8qKiBAdHlwZSB7e2N1cnJlbnRQb29sOiBWZWxvY2lvdXNEYXRhYmFzZVBvb2xCYXNlIHwgbnVsbH19ICovXG5jb25zdCBzaGFyZWQgPSB7XG4gIGN1cnJlbnRQb29sOiBudWxsXG59XG5cbi8qKlxuICogQHBhcmFtIHt1bmtub3dufSB2YWx1ZSAtIFZhbHVlIHRvIHN0cmluZ2lmeS5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gU3RhYmxlIEpTT04gc3RyaW5nLlxuICovXG5mdW5jdGlvbiBzdGFibGVTdHJpbmdpZnkodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIGBbJHt2YWx1ZS5tYXAoKGVudHJ5KSA9PiBzdGFibGVTdHJpbmdpZnkoZW50cnkpKS5qb2luKFwiLFwiKX1dYFxuICB9XG5cbiAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIikge1xuICAgIGNvbnN0IGVudHJpZXMgPSBPYmplY3RcbiAgICAgIC5rZXlzKC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59ICovICh2YWx1ZSkpXG4gICAgICAuc29ydCgpXG4gICAgICAubWFwKChrZXkpID0+IGAke0pTT04uc3RyaW5naWZ5KGtleSl9OiR7c3RhYmxlU3RyaW5naWZ5KC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59ICovICh2YWx1ZSlba2V5XSl9YClcblxuICAgIHJldHVybiBgeyR7ZW50cmllcy5qb2luKFwiLFwiKX19YFxuICB9XG5cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlKVxufVxuXG5jbGFzcyBWZWxvY2lvdXNEYXRhYmFzZVBvb2xCYXNlIHtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtWZWxvY2lvdXNEYXRhYmFzZVBvb2xCYXNlfSAtIFRoZSBjdXJyZW50LlxuICAgKi9cbiAgc3RhdGljIGN1cnJlbnQoKSB7XG4gICAgaWYgKCFzaGFyZWQuY3VycmVudFBvb2wpIHRocm93IG5ldyBFcnJvcihcIkEgZGF0YWJhc2UgcG9vbCBoYXNuJ3QgYmVlbiBzZXRcIilcblxuICAgIHJldHVybiBzaGFyZWQuY3VycmVudFBvb2xcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhcnMgYW55IGdsb2JhbCBjb25uZWN0aW9ucyBmb3IgdGhlIGdpdmVuIGNvbmZpZ3VyYXRpb24uXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHN0YXRpYyBjbGVhckdsb2JhbENvbm5lY3Rpb25zKCkge31cblxuICAvKipcbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAgICogQHBhcmFtIHtDb25maWd1cmF0aW9ufSBhcmdzLmNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5pZGVudGlmaWVyIC0gSWRlbnRpZmllci5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtjb25maWd1cmF0aW9uLCBpZGVudGlmaWVyfSkge1xuICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb24gfHwgQ29uZmlndXJhdGlvbi5jdXJyZW50KClcblxuICAgIGlmICghdGhpcy5jb25maWd1cmF0aW9uKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBjb25maWd1cmF0aW9uIGdpdmVuXCIpXG4gICAgaWYgKCFpZGVudGlmaWVyKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBpZGVudGlmaWVyIHdhcyBnaXZlblwiKVxuXG4gICAgdGhpcy5pZGVudGlmaWVyID0gaWRlbnRpZmllclxuICAgIHRoaXMubG9nZ2VyID0gbmV3IExvZ2dlcih0aGlzKVxuICB9XG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0fSBfY29ubmVjdGlvbiAtIENvbm5lY3Rpb24uXG4gICAqL1xuICBjaGVja2luKF9jb25uZWN0aW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiJ2NoZWNraW4nIG5vdCBpbXBsZW1lbnRlZFwiKVxuICB9XG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcGFyYW0ge0Nvbm5lY3Rpb25DaGVja291dE9wdGlvbnN9IFtfb3B0aW9uc10gLSBDaGVja291dCBvcHRpb25zLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdD59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgY2hlY2tvdXQuXG4gICAqL1xuICBjaGVja291dChfb3B0aW9ucykge1xuICAgIHRocm93IG5ldyBFcnJvcihcIidjaGVja291dCcgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEByZXR1cm5zIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdH0gLSBUaGUgY3VycmVudCBjb25uZWN0aW9uLlxuICAgKi9cbiAgZ2V0Q3VycmVudENvbm5lY3Rpb24oKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiJ2dldEN1cnJlbnRDb25uZWN0aW9uJyBub3QgaW1wbGVtZW50ZWRcIilcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjb25uZWN0aW9uIHBpbm5lZCB0byB0aGUgY3VycmVudCBjb250ZXh0LCBpZiBhbnkuXG4gICAqIERlZmF1bHQgaW1wbGVtZW50YXRpb24gZGVmZXJzIHRvIGBnZXRDdXJyZW50Q29ubmVjdGlvbmAuXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdCB8IHVuZGVmaW5lZH0gLSBUaGUgY3VycmVudCBjb250ZXh0IGNvbm5lY3Rpb24uXG4gICAqL1xuICBnZXRDdXJyZW50Q29udGV4dENvbm5lY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q3VycmVudENvbm5lY3Rpb24oKVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoXCIuLi8uLi9jb25maWd1cmF0aW9uLXR5cGVzLmpzXCIpLkRhdGFiYXNlQ29uZmlndXJhdGlvblR5cGV9IC0gUmVzb2x2ZWQgZGF0YWJhc2UgY29uZmlndXJhdGlvbiBmb3IgdGhlIHBvb2wgaWRlbnRpZmllci5cbiAgICovXG4gIGdldENvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbi5yZXNvbHZlRGF0YWJhc2VDb25maWd1cmF0aW9uKHRoaXMuaWRlbnRpZmllcilcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIFJldXNlIGtleSBmb3IgdGhlIGN1cnJlbnRseSByZXNvbHZlZCBkYXRhYmFzZSBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgZ2V0Q29uZmlndXJhdGlvblJldXNlS2V5KCkge1xuICAgIGNvbnN0IGRhdGFiYXNlQ29uZmlndXJhdGlvbiA9IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpXG5cbiAgICByZXR1cm4gc3RhYmxlU3RyaW5naWZ5KHtcbiAgICAgIGRhdGFiYXNlOiBkYXRhYmFzZUNvbmZpZ3VyYXRpb24uZGF0YWJhc2UsXG4gICAgICBob3N0OiBkYXRhYmFzZUNvbmZpZ3VyYXRpb24uaG9zdCxcbiAgICAgIG5hbWU6IGRhdGFiYXNlQ29uZmlndXJhdGlvbi5uYW1lLFxuICAgICAgcG9ydDogZGF0YWJhc2VDb25maWd1cmF0aW9uLnBvcnQsXG4gICAgICBzY2hlbWE6IGRhdGFiYXNlQ29uZmlndXJhdGlvbi5zY2hlbWEsXG4gICAgICBzY2hlbWFDYWNoZTogZGF0YWJhc2VDb25maWd1cmF0aW9uLnNjaGVtYUNhY2hlLFxuICAgICAgc3FsQ29uZmlnOiBkYXRhYmFzZUNvbmZpZ3VyYXRpb24uc3FsQ29uZmlnLFxuICAgICAgdHlwZTogZGF0YWJhc2VDb25maWd1cmF0aW9uLnR5cGUsXG4gICAgICB1c2VEYXRhYmFzZTogZGF0YWJhc2VDb25maWd1cmF0aW9uLnVzZURhdGFiYXNlLFxuICAgICAgdXNlcm5hbWU6IGRhdGFiYXNlQ29uZmlndXJhdGlvbi51c2VybmFtZVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdH0gY29ubmVjdGlvbiAtIENvbm5lY3Rpb24uXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIFdoZXRoZXIgY29ubmVjdGlvbiBtYXRjaGVzIGN1cnJlbnQgcmVzb2x2ZWQgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIGNvbm5lY3Rpb25NYXRjaGVzQ3VycmVudENvbmZpZ3VyYXRpb24oY29ubmVjdGlvbikge1xuICAgIGNvbnN0IGNvbm5lY3Rpb25XaXRoUG9vbEtleSA9IC8qKiBAdHlwZSB7aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQgJiB7W1BPT0xfQ09ORklHVVJBVElPTl9LRVldPzogc3RyaW5nfX0gKi8gKGNvbm5lY3Rpb24pXG5cbiAgICByZXR1cm4gY29ubmVjdGlvbldpdGhQb29sS2V5W1BPT0xfQ09ORklHVVJBVElPTl9LRVldID09PSB0aGlzLmdldENvbmZpZ3VyYXRpb25SZXVzZUtleSgpXG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHNjaGVtYSBtZXRhZGF0YSBjYWNoZWQgYnkgdGhpcyBwb29sJ3MgY3VycmVudCBjb25uZWN0aW9uLlxuICAgKiBQb29scyB0aGF0IGtlZXAgbXVsdGlwbGUgY29ubmVjdGlvbnMgYWxpdmUgc2hvdWxkIG92ZXJyaWRlIHRoaXMgdG8gY2xlYXIgZXZlcnkgbGl2ZSBjb25uZWN0aW9uLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBjbGVhclNjaGVtYUNhY2hlKCkge1xuICAgIHRoaXMuX2NsZWFyQ29ubmVjdGlvblNjaGVtYUNhY2hlKHRoaXMuZ2V0Q3VycmVudENvbm5lY3Rpb24oKSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0fSBjb25uZWN0aW9uIC0gQ29ubmVjdGlvbiB3aG9zZSBsb2NhbCBzY2hlbWEgY2FjaGUgc2hvdWxkIGJlIGNsZWFyZWQuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIF9jbGVhckNvbm5lY3Rpb25TY2hlbWFDYWNoZShjb25uZWN0aW9uKSB7XG4gICAgY29ubmVjdGlvbi5fY2xlYXJMb2NhbFNjaGVtYUNhY2hlKClcbiAgfVxuXG4gIC8qKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgcHJpbWFyeSBrZXkgdHlwZS5cbiAgICovXG4gIHByaW1hcnlLZXlUeXBlKCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIidwcmltYXJ5S2V5VHlwZScgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgc2V0Q3VycmVudCgpIHtcbiAgICBzaGFyZWQuY3VycmVudFBvb2wgPSB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHR9IGRyaXZlckNsYXNzIC0gRHJpdmVyIGNsYXNzLlxuICAgKi9cbiAgc2V0RHJpdmVyQ2xhc3MoZHJpdmVyQ2xhc3MpIHtcbiAgICB0aGlzLmRyaXZlckNsYXNzID0gZHJpdmVyQ2xhc3NcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdD59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgc3Bhd24gY29ubmVjdGlvbi5cbiAgICovXG4gIGFzeW5jIHNwYXduQ29ubmVjdGlvbigpIHtcbiAgICBjb25zdCBkYXRhYmFzZUNvbmZpZyA9IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpXG5cbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcInNwYXduQ29ubmVjdGlvblwiLCB7aWRlbnRpZmllcjogdGhpcy5pZGVudGlmaWVyLCBkYXRhYmFzZUNvbmZpZ30pXG5cbiAgICBjb25zdCBjb25uZWN0aW9uID0gYXdhaXQgdGhpcy5zcGF3bkNvbm5lY3Rpb25XaXRoQ29uZmlndXJhdGlvbihkYXRhYmFzZUNvbmZpZylcblxuICAgIGNvbnN0IGNvbm5lY3Rpb25XaXRoUG9vbEtleSA9IC8qKiBAdHlwZSB7aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQgJiB7W1BPT0xfQ09ORklHVVJBVElPTl9LRVldPzogc3RyaW5nfX0gKi8gKGNvbm5lY3Rpb24pXG4gICAgY29ubmVjdGlvbldpdGhQb29sS2V5W1BPT0xfQ09ORklHVVJBVElPTl9LRVldID0gdGhpcy5nZXRDb25maWd1cmF0aW9uUmV1c2VLZXkoKVxuICAgIGNvbm5lY3Rpb24uc2V0U2NoZW1hQ2FjaGVJbnZhbGlkYXRvcigoKSA9PiB7XG4gICAgICB0aGlzLmNsZWFyU2NoZW1hQ2FjaGUoKVxuICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmNsZWFyU2NoZW1hQ2FjaGVzRm9yUmV1c2VLZXkodGhpcy5nZXRDb25maWd1cmF0aW9uUmV1c2VLZXkoKSlcbiAgICB9KVxuXG4gICAgcmV0dXJuIGNvbm5lY3Rpb25cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uLy4uL2NvbmZpZ3VyYXRpb24tdHlwZXMuanNcIikuRGF0YWJhc2VDb25maWd1cmF0aW9uVHlwZX0gY29uZmlnIC0gQ29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0Pn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBzcGF3biBjb25uZWN0aW9uIHdpdGggY29uZmlndXJhdGlvbi5cbiAgICovXG4gIGFzeW5jIHNwYXduQ29ubmVjdGlvbldpdGhDb25maWd1cmF0aW9uKGNvbmZpZykge1xuICAgIGNvbnN0IERyaXZlckNsYXNzID0gY29uZmlnLmRyaXZlciB8fCB0aGlzLmRyaXZlckNsYXNzXG5cbiAgICBpZiAoIURyaXZlckNsYXNzKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBkcml2ZXIgY2xhc3Mgc2V0IGluIGRhdGFiYXNlIHBvb2wgb3IgaW4gZ2l2ZW4gY29uZmlnXCIpXG5cbiAgICBjb25zdCBjb25uZWN0aW9uID0gbmV3IERyaXZlckNsYXNzKGNvbmZpZywgdGhpcy5jb25maWd1cmF0aW9uKVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGNvbm5lY3Rpb24uY29ubmVjdCgpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGF3YWl0IHRoaXMuY2xvc2VDb25uZWN0aW9uQWZ0ZXJGYWlsZWRDb25uZWN0KGNvbm5lY3Rpb24pXG4gICAgICB0aHJvdyBlcnJvclxuICAgIH1cblxuICAgIHJldHVybiBjb25uZWN0aW9uXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdH0gY29ubmVjdGlvbiAtIENvbm5lY3Rpb24gdG8gY2xvc2UuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY2xlYW51cCBoYXMgYmVlbiBhdHRlbXB0ZWQuXG4gICAqL1xuICBhc3luYyBjbG9zZUNvbm5lY3Rpb25BZnRlckZhaWxlZENvbm5lY3QoY29ubmVjdGlvbikge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBjb25uZWN0aW9uLmNsb3NlKClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5sb2dnZXIud2FybihcIkZhaWxlZCB0byBjbG9zZSBkYXRhYmFzZSBjb25uZWN0aW9uIGFmdGVyIGNvbm5lY3QgZmFpbGVkXCIsIHtlcnJvcn0pXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEB0ZW1wbGF0ZSBUXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcGFyYW0ge0Nvbm5lY3Rpb25DaGVja291dE9wdGlvbnMgfCBmdW5jdGlvbihpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdCkgOiBQcm9taXNlPFQ+fSBfb3B0aW9uc09yQ2FsbGJhY2sgLSBDaGVja291dCBvcHRpb25zIG9yIGNhbGxiYWNrIGZ1bmN0aW9uLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKGltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0KSA6IFByb21pc2U8VD59IFtfY2FsbGJhY2tdIC0gQ2FsbGJhY2sgZnVuY3Rpb24uXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFQ+fSAtIFJlc29sdmVzIHdpdGggdGhlIGNhbGxiYWNrIHJlc3VsdC5cbiAgICovXG4gIHdpdGhDb25uZWN0aW9uKF9vcHRpb25zT3JDYWxsYmFjaywgX2NhbGxiYWNrKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiJ3dpdGhDb25uZWN0aW9uJyBub3QgaW1wbGVtZW50ZWRcIilcbiAgfVxuXG4gIC8qKlxuICAgKiBFbnN1cmVzIGEgcmV1c2FibGUgY29ubmVjdGlvbiBleGlzdHMgZm9yIGNvbnRleHRzIHdoZXJlIEFzeW5jTG9jYWxTdG9yYWdlIGlzbid0IHNldC5cbiAgICogRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBqdXN0IGNoZWNrcyBvdXQgYSBjb25uZWN0aW9uLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdD59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgZ2xvYmFsIGNvbm5lY3Rpb24uXG4gICAqL1xuICBhc3luYyBlbnN1cmVHbG9iYWxDb25uZWN0aW9uKCkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmNoZWNrb3V0KClcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7RGF0YWJhc2VQb29sRGVidWdTbmFwc2hvdH0gLSBEaWFnbm9zdGljIHNuYXBzaG90IGZvciB0aGlzIHBvb2wuICovXG4gIGdldERlYnVnU25hcHNob3QoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbmZpZ3VyYXRpb246IHRoaXMuZGVidWdDb25maWd1cmF0aW9uU25hcHNob3QoKSxcbiAgICAgIGNvbm5lY3Rpb25zOiBbXSxcbiAgICAgIGNvbm5lY3Rpb25zQmVpbmdTcGF3bmVkOiAwLFxuICAgICAgaWRlbnRpZmllcjogdGhpcy5pZGVudGlmaWVyLFxuICAgICAgaWRsZUNvdW50OiAwLFxuICAgICAgaW5Vc2VDb3VudDogMCxcbiAgICAgIHBlbmRpbmdDaGVja291dENvdW50OiAwLFxuICAgICAgcG9vbENsYXNzOiB0aGlzLmNvbnN0cnVjdG9yLm5hbWVcbiAgICB9XG4gIH1cblxuICAvKiogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIHVua25vd24+fSAtIFNhbml0aXplZCByZXNvbHZlZCBkYXRhYmFzZSBjb25maWd1cmF0aW9uLiAqL1xuICBkZWJ1Z0NvbmZpZ3VyYXRpb25TbmFwc2hvdCgpIHtcbiAgICBjb25zdCBkYXRhYmFzZUNvbmZpZyA9IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpXG4gICAgY29uc3QgcG9vbENvbmZpZyA9IGRhdGFiYXNlQ29uZmlnLnBvb2xcblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhYmFzZTogZGF0YWJhc2VDb25maWcuZGF0YWJhc2UsXG4gICAgICBkcml2ZXI6IGRhdGFiYXNlQ29uZmlnLmRyaXZlcj8ubmFtZSxcbiAgICAgIGhvc3Q6IGRhdGFiYXNlQ29uZmlnLmhvc3QsXG4gICAgICBtaWdyYXRpb25zOiBkYXRhYmFzZUNvbmZpZy5taWdyYXRpb25zLFxuICAgICAgbmFtZTogZGF0YWJhc2VDb25maWcubmFtZSxcbiAgICAgIHBvb2w6IHBvb2xDb25maWcgPyB7aWRsZVRpbWVvdXRNaWxsaXM6IHBvb2xDb25maWcuaWRsZVRpbWVvdXRNaWxsaXMsIG1heDogcG9vbENvbmZpZy5tYXh9IDogdW5kZWZpbmVkLFxuICAgICAgcG9ydDogZGF0YWJhc2VDb25maWcucG9ydCxcbiAgICAgIHNjaGVtYTogZGF0YWJhc2VDb25maWcuc2NoZW1hLFxuICAgICAgdHlwZTogZGF0YWJhc2VDb25maWcudHlwZSxcbiAgICAgIHVzZURhdGFiYXNlOiBkYXRhYmFzZUNvbmZpZy51c2VEYXRhYmFzZSxcbiAgICAgIHVzZXJuYW1lOiBkYXRhYmFzZUNvbmZpZy51c2VybmFtZVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0fSBjb25uZWN0aW9uIC0gRGF0YWJhc2UgY29ubmVjdGlvbi5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gZGV0YWlscyAtIEV4dHJhIGRpYWdub3N0aWMgZmllbGRzLlxuICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59IC0gQ29ubmVjdGlvbiBkaWFnbm9zdGljIHNuYXBzaG90LlxuICAgKi9cbiAgZGVidWdDb25uZWN0aW9uU25hcHNob3QoY29ubmVjdGlvbiwgZGV0YWlscyA9IHt9KSB7XG4gICAgY29uc3QgY29ubmVjdGlvbldpdGhQb29sS2V5ID0gLyoqIEB0eXBlIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdCAmIHtbUE9PTF9DT05GSUdVUkFUSU9OX0tFWV0/OiBzdHJpbmd9fSAqLyAoY29ubmVjdGlvbilcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5jb25uZWN0aW9uLmdldERlYnVnU25hcHNob3QoKSxcbiAgICAgIC4uLmRldGFpbHMsXG4gICAgICByZXVzZUtleTogY29ubmVjdGlvbldpdGhQb29sS2V5W1BPT0xfQ09ORklHVVJBVElPTl9LRVldXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyBhbGwgY29ubmVjdGlvbnMgZm9yIHRoaXMgcG9vbC5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIGNsb3NlQWxsKCkge31cbn1cblxuYmFzZU1ldGhvZHNGb3J3YXJkKFZlbG9jaW91c0RhdGFiYXNlUG9vbEJhc2UpXG5cbmV4cG9ydCBkZWZhdWx0IFZlbG9jaW91c0RhdGFiYXNlUG9vbEJhc2VcbiJdfQ==
|
|
294
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9wb29sL2Jhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sYUFBYSxNQUFNLHdCQUF3QixDQUFBO0FBQ2xELE9BQU8sTUFBTSxNQUFNLGlCQUFpQixDQUFBO0FBQ3BDLE9BQU8sa0JBQWtCLE1BQU0sMkJBQTJCLENBQUE7QUFFMUQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUE7QUFFN0U7OztHQUdHO0FBRUg7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCw4REFBOEQ7QUFDOUQsTUFBTSxNQUFNLEdBQUc7SUFDYixXQUFXLEVBQUUsSUFBSTtDQUNsQixDQUFBO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxlQUFlLENBQUMsS0FBSztJQUM1QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUE7SUFDdEUsQ0FBQztJQUVELElBQUksS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLE1BQU07YUFDbkIsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDcEQsSUFBSSxFQUFFO2FBQ04sR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksZUFBZSxDQUFDLHNDQUFzQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7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QUFJO1lBQ3pCLFdBQVcsRUFBRSxjQUFjLENBQUMsV0FBVztZQUN2QyxRQUFRLEVBQUUsY0FBYyxDQUFDLFFBQVE7U0FDbEMsQ0FBQTtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsdUJBQXVCLENBQUMsVUFBVSxFQUFFLE9BQU8sR0FBRyxFQUFFO1FBQzlDLE1BQU0scUJBQXFCLEdBQUcseUZBQXlGLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUVwSSxPQUFPO1lBQ0wsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLEVBQUU7WUFDaEMsR0FBRyxPQUFPO1lBQ1YsUUFBUSxFQUFFLHFCQUFxQixDQUFDLHNCQUFzQixDQUFDO1NBQ3hELENBQUE7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFFBQVEsS0FBSSxDQUFDO0NBQ3BCO0FBRUQsa0JBQWtCLENBQUMseUJBQXlCLENBQUMsQ0FBQTtBQUU3QyxlQUFlLHlCQUF5QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBDb25maWd1cmF0aW9uIGZyb20gXCIuLi8uLi9jb25maWd1cmF0aW9uLmpzXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4uLy4uL2xvZ2dlci5qc1wiXG5pbXBvcnQgYmFzZU1ldGhvZHNGb3J3YXJkIGZyb20gXCIuL2Jhc2UtbWV0aG9kcy1mb3J3YXJkLmpzXCJcblxuZXhwb3J0IGNvbnN0IFBPT0xfQ09ORklHVVJBVElPTl9LRVkgPSBTeW1ib2woXCJ2ZWxvY2lvdXNQb29sQ29uZmlndXJhdGlvbktleVwiKVxuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IENvbm5lY3Rpb25DaGVja291dE9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbbmFtZV0gLSBIdW1hbi1yZWFkYWJsZSBuYW1lIGZvciB0aGUgY2hlY2tlZC1vdXQgY29ubmVjdGlvbi5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IERhdGFiYXNlUG9vbERlYnVnU25hcHNob3RcbiAqIEBwcm9wZXJ0eSB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59IGNvbmZpZ3VyYXRpb24gLSBTYW5pdGl6ZWQgcmVzb2x2ZWQgZGF0YWJhc2UgY29uZmlndXJhdGlvbi5cbiAqIEBwcm9wZXJ0eSB7QXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+fSBjb25uZWN0aW9ucyAtIExpdmUgY29ubmVjdGlvbiBzbmFwc2hvdHMuXG4gKiBAcHJvcGVydHkge251bWJlcn0gY29ubmVjdGlvbnNCZWluZ1NwYXduZWQgLSBOdW1iZXIgb2YgaW4tcHJvZ3Jlc3MgY29ubmVjdGlvbiBzcGF3bnMuXG4gKiBAcHJvcGVydHkge251bWJlcn0gaWRsZUNvdW50IC0gTnVtYmVyIG9mIGlkbGUgY29ubmVjdGlvbnMuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gaWRlbnRpZmllciAtIERhdGFiYXNlIGlkZW50aWZpZXIuXG4gKiBAcHJvcGVydHkge251bWJlcn0gaW5Vc2VDb3VudCAtIE51bWJlciBvZiBjaGVja2VkLW91dCBjb25uZWN0aW9ucy5cbiAqIEBwcm9wZXJ0eSB7QXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+fSBbcGVuZGluZ0NoZWNrb3V0c10gLSBXYWl0aW5nIGNoZWNrb3V0IHNuYXBzaG90cy5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBwZW5kaW5nQ2hlY2tvdXRDb3VudCAtIE51bWJlciBvZiBxdWV1ZWQgY2hlY2tvdXQgcmVxdWVzdHMuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gcG9vbENsYXNzIC0gUG9vbCBjbGFzcyBuYW1lLlxuICovXG5cbi8qKiBAdHlwZSB7e2N1cnJlbnRQb29sOiBWZWxvY2lvdXNEYXRhYmFzZVBvb2xCYXNlIHwgbnVsbH19ICovXG5jb25zdCBzaGFyZWQgPSB7XG4gIGN1cnJlbnRQb29sOiBudWxsXG59XG5cbi8qKlxuICogQHBhcmFtIHt1bmtub3dufSB2YWx1ZSAtIFZhbHVlIHRvIHN0cmluZ2lmeS5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gU3RhYmxlIEpTT04gc3RyaW5nLlxuICovXG5mdW5jdGlvbiBzdGFibGVTdHJpbmdpZnkodmFsdWUpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIGBbJHt2YWx1ZS5tYXAoKGVudHJ5KSA9PiBzdGFibGVTdHJpbmdpZnkoZW50cnkpKS5qb2luKFwiLFwiKX1dYFxuICB9XG5cbiAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIikge1xuICAgIGNvbnN0IGVudHJpZXMgPSBPYmplY3RcbiAgICAgIC5rZXlzKC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59ICovICh2YWx1ZSkpXG4gICAgICAuc29ydCgpXG4gICAgICAubWFwKChrZXkpID0+IGAke0pTT04uc3RyaW5naWZ5KGtleSl9OiR7c3RhYmxlU3RyaW5naWZ5KC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59ICovICh2YWx1ZSlba2V5XSl9YClcblxuICAgIHJldHVybiBgeyR7ZW50cmllcy5qb2luKFwiLFwiKX19YFxuICB9XG5cbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlKVxufVxuXG5jbGFzcyBWZWxvY2lvdXNEYXRhYmFzZVBvb2xCYXNlIHtcbiAgLyoqIEB0eXBlIHt1bmRlZmluZWQgfCAoKGNhbGxiYWNrOiAoKSA9PiB1bmtub3duKSA9PiB1bmtub3duKX0gKi9cbiAgX3dpdGhvdXRDdXJyZW50Q29ubmVjdGlvbkNvbnRleHQgPSB1bmRlZmluZWRcblxuICAvKipcbiAgICogQHJldHVybnMge1ZlbG9jaW91c0RhdGFiYXNlUG9vbEJhc2V9IC0gVGhlIGN1cnJlbnQuXG4gICAqL1xuICBzdGF0aWMgY3VycmVudCgpIHtcbiAgICBpZiAoIXNoYXJlZC5jdXJyZW50UG9vbCkgdGhyb3cgbmV3IEVycm9yKFwiQSBkYXRhYmFzZSBwb29sIGhhc24ndCBiZWVuIHNldFwiKVxuXG4gICAgcmV0dXJuIHNoYXJlZC5jdXJyZW50UG9vbFxuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyBhbnkgZ2xvYmFsIGNvbm5lY3Rpb25zIGZvciB0aGUgZ2l2ZW4gY29uZmlndXJhdGlvbi5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgc3RhdGljIGNsZWFyR2xvYmFsQ29ubmVjdGlvbnMoKSB7fVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge0NvbmZpZ3VyYXRpb259IGFyZ3MuY29uZmlndXJhdGlvbiAtIENvbmZpZ3VyYXRpb24gaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLmlkZW50aWZpZXIgLSBJZGVudGlmaWVyLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NvbmZpZ3VyYXRpb24sIGlkZW50aWZpZXJ9KSB7XG4gICAgdGhpcy5jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbiB8fCBDb25maWd1cmF0aW9uLmN1cnJlbnQoKVxuXG4gICAgaWYgKCF0aGlzLmNvbmZpZ3VyYXRpb24pIHRocm93IG5ldyBFcnJvcihcIk5vIGNvbmZpZ3VyYXRpb24gZ2l2ZW5cIilcbiAgICBpZiAoIWlkZW50aWZpZXIpIHRocm93IG5ldyBFcnJvcihcIk5vIGlkZW50aWZpZXIgd2FzIGdpdmVuXCIpXG5cbiAgICB0aGlzLmlkZW50aWZpZXIgPSBpZGVudGlmaWVyXG4gICAgdGhpcy5sb2dnZXIgPSBuZXcgTG9nZ2VyKHRoaXMpXG4gIH1cblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHR9IF9jb25uZWN0aW9uIC0gQ29ubmVjdGlvbi5cbiAgICovXG4gIGNoZWNraW4oX2Nvbm5lY3Rpb24pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCInY2hlY2tpbicgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEBwYXJhbSB7Q29ubmVjdGlvbkNoZWNrb3V0T3B0aW9uc30gW19vcHRpb25zXSAtIENoZWNrb3V0IG9wdGlvbnMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0Pn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBjaGVja291dC5cbiAgICovXG4gIGNoZWNrb3V0KF9vcHRpb25zKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiJ2NoZWNrb3V0JyBub3QgaW1wbGVtZW50ZWRcIilcbiAgfVxuXG4gIC8qKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHJldHVybnMge2ltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0fSAtIFRoZSBjdXJyZW50IGNvbm5lY3Rpb24uXG4gICAqL1xuICBnZXRDdXJyZW50Q29ubmVjdGlvbigpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCInZ2V0Q3VycmVudENvbm5lY3Rpb24nIG5vdCBpbXBsZW1lbnRlZFwiKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGNvbm5lY3Rpb24gcGlubmVkIHRvIHRoZSBjdXJyZW50IGNvbnRleHQsIGlmIGFueS5cbiAgICogRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBkZWZlcnMgdG8gYGdldEN1cnJlbnRDb25uZWN0aW9uYC5cbiAgICogQHJldHVybnMge2ltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0IHwgdW5kZWZpbmVkfSAtIFRoZSBjdXJyZW50IGNvbnRleHQgY29ubmVjdGlvbi5cbiAgICovXG4gIGdldEN1cnJlbnRDb250ZXh0Q29ubmVjdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDdXJyZW50Q29ubmVjdGlvbigpXG4gIH1cblxuICAvKipcbiAgICogQHRlbXBsYXRlIFRcbiAgICogQHBhcmFtIHsoKSA9PiBUfSBjYWxsYmFjayAtIENhbGxiYWNrIHRvIHJ1biB3aXRob3V0IGFueSBjdXJyZW50IGNvbm5lY3Rpb24gY29udGV4dC5cbiAgICogQHJldHVybnMge1R9IC0gQ2FsbGJhY2sgcmVzdWx0LlxuICAgKi9cbiAgd2l0aG91dEN1cnJlbnRDb25uZWN0aW9uQ29udGV4dChjYWxsYmFjaykge1xuICAgIGlmICh0aGlzLl93aXRob3V0Q3VycmVudENvbm5lY3Rpb25Db250ZXh0KSByZXR1cm4gLyoqIEB0eXBlIHtUfSAqLyAodGhpcy5fd2l0aG91dEN1cnJlbnRDb25uZWN0aW9uQ29udGV4dChjYWxsYmFjaykpXG5cbiAgICByZXR1cm4gY2FsbGJhY2soKVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoXCIuLi8uLi9jb25maWd1cmF0aW9uLXR5cGVzLmpzXCIpLkRhdGFiYXNlQ29uZmlndXJhdGlvblR5cGV9IC0gUmVzb2x2ZWQgZGF0YWJhc2UgY29uZmlndXJhdGlvbiBmb3IgdGhlIHBvb2wgaWRlbnRpZmllci5cbiAgICovXG4gIGdldENvbmZpZ3VyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlndXJhdGlvbi5yZXNvbHZlRGF0YWJhc2VDb25maWd1cmF0aW9uKHRoaXMuaWRlbnRpZmllcilcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIFJldXNlIGtleSBmb3IgdGhlIGN1cnJlbnRseSByZXNvbHZlZCBkYXRhYmFzZSBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgZ2V0Q29uZmlndXJhdGlvblJldXNlS2V5KCkge1xuICAgIGNvbnN0IGRhdGFiYXNlQ29uZmlndXJhdGlvbiA9IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpXG5cbiAgICByZXR1cm4gc3RhYmxlU3RyaW5naWZ5KHtcbiAgICAgIGRhdGFiYXNlOiBkYXRhYmFzZUNvbmZpZ3VyYXRpb24uZGF0YWJhc2UsXG4gICAgICBob3N0OiBkYXRhYmFzZUNvbmZpZ3VyYXRpb24uaG9zdCxcbiAgICAgIG5hbWU6IGRhdGFiYXNlQ29uZmlndXJhdGlvbi5uYW1lLFxuICAgICAgcG9ydDogZGF0YWJhc2VDb25maWd1cmF0aW9uLnBvcnQsXG4gICAgICBzY2hlbWE6IGRhdGFiYXNlQ29uZmlndXJhdGlvbi5zY2hlbWEsXG4gICAgICBzY2hlbWFDYWNoZTogZGF0YWJhc2VDb25maWd1cmF0aW9uLnNjaGVtYUNhY2hlLFxuICAgICAgc3FsQ29uZmlnOiBkYXRhYmFzZUNvbmZpZ3VyYXRpb24uc3FsQ29uZmlnLFxuICAgICAgdHlwZTogZGF0YWJhc2VDb25maWd1cmF0aW9uLnR5cGUsXG4gICAgICB1c2VEYXRhYmFzZTogZGF0YWJhc2VDb25maWd1cmF0aW9uLnVzZURhdGFiYXNlLFxuICAgICAgdXNlcm5hbWU6IGRhdGFiYXNlQ29uZmlndXJhdGlvbi51c2VybmFtZVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdH0gY29ubmVjdGlvbiAtIENvbm5lY3Rpb24uXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIFdoZXRoZXIgY29ubmVjdGlvbiBtYXRjaGVzIGN1cnJlbnQgcmVzb2x2ZWQgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIGNvbm5lY3Rpb25NYXRjaGVzQ3VycmVudENvbmZpZ3VyYXRpb24oY29ubmVjdGlvbikge1xuICAgIGNvbnN0IGNvbm5lY3Rpb25XaXRoUG9vbEtleSA9IC8qKiBAdHlwZSB7aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQgJiB7W1BPT0xfQ09ORklHVVJBVElPTl9LRVldPzogc3RyaW5nfX0gKi8gKGNvbm5lY3Rpb24pXG5cbiAgICByZXR1cm4gY29ubmVjdGlvbldpdGhQb29sS2V5W1BPT0xfQ09ORklHVVJBVElPTl9LRVldID09PSB0aGlzLmdldENvbmZpZ3VyYXRpb25SZXVzZUtleSgpXG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHNjaGVtYSBtZXRhZGF0YSBjYWNoZWQgYnkgdGhpcyBwb29sJ3MgY3VycmVudCBjb25uZWN0aW9uLlxuICAgKiBQb29scyB0aGF0IGtlZXAgbXVsdGlwbGUgY29ubmVjdGlvbnMgYWxpdmUgc2hvdWxkIG92ZXJyaWRlIHRoaXMgdG8gY2xlYXIgZXZlcnkgbGl2ZSBjb25uZWN0aW9uLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBjbGVhclNjaGVtYUNhY2hlKCkge1xuICAgIHRoaXMuX2NsZWFyQ29ubmVjdGlvblNjaGVtYUNhY2hlKHRoaXMuZ2V0Q3VycmVudENvbm5lY3Rpb24oKSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0fSBjb25uZWN0aW9uIC0gQ29ubmVjdGlvbiB3aG9zZSBsb2NhbCBzY2hlbWEgY2FjaGUgc2hvdWxkIGJlIGNsZWFyZWQuXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIF9jbGVhckNvbm5lY3Rpb25TY2hlbWFDYWNoZShjb25uZWN0aW9uKSB7XG4gICAgY29ubmVjdGlvbi5fY2xlYXJMb2NhbFNjaGVtYUNhY2hlKClcbiAgfVxuXG4gIC8qKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgcHJpbWFyeSBrZXkgdHlwZS5cbiAgICovXG4gIHByaW1hcnlLZXlUeXBlKCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIidwcmltYXJ5S2V5VHlwZScgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgc2V0Q3VycmVudCgpIHtcbiAgICBzaGFyZWQuY3VycmVudFBvb2wgPSB0aGlzXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHt0eXBlb2YgaW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHR9IGRyaXZlckNsYXNzIC0gRHJpdmVyIGNsYXNzLlxuICAgKi9cbiAgc2V0RHJpdmVyQ2xhc3MoZHJpdmVyQ2xhc3MpIHtcbiAgICB0aGlzLmRyaXZlckNsYXNzID0gZHJpdmVyQ2xhc3NcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdD59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgc3Bhd24gY29ubmVjdGlvbi5cbiAgICovXG4gIGFzeW5jIHNwYXduQ29ubmVjdGlvbigpIHtcbiAgICBjb25zdCBkYXRhYmFzZUNvbmZpZyA9IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpXG5cbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcInNwYXduQ29ubmVjdGlvblwiLCB7aWRlbnRpZmllcjogdGhpcy5pZGVudGlmaWVyLCBkYXRhYmFzZUNvbmZpZ30pXG5cbiAgICBjb25zdCBjb25uZWN0aW9uID0gYXdhaXQgdGhpcy5zcGF3bkNvbm5lY3Rpb25XaXRoQ29uZmlndXJhdGlvbihkYXRhYmFzZUNvbmZpZylcblxuICAgIGNvbnN0IGNvbm5lY3Rpb25XaXRoUG9vbEtleSA9IC8qKiBAdHlwZSB7aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQgJiB7W1BPT0xfQ09ORklHVVJBVElPTl9LRVldPzogc3RyaW5nfX0gKi8gKGNvbm5lY3Rpb24pXG4gICAgY29ubmVjdGlvbldpdGhQb29sS2V5W1BPT0xfQ09ORklHVVJBVElPTl9LRVldID0gdGhpcy5nZXRDb25maWd1cmF0aW9uUmV1c2VLZXkoKVxuICAgIGNvbm5lY3Rpb24uc2V0U2NoZW1hQ2FjaGVJbnZhbGlkYXRvcigoKSA9PiB7XG4gICAgICB0aGlzLmNsZWFyU2NoZW1hQ2FjaGUoKVxuICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmNsZWFyU2NoZW1hQ2FjaGVzRm9yUmV1c2VLZXkodGhpcy5nZXRDb25maWd1cmF0aW9uUmV1c2VLZXkoKSlcbiAgICB9KVxuXG4gICAgcmV0dXJuIGNvbm5lY3Rpb25cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uLy4uL2NvbmZpZ3VyYXRpb24tdHlwZXMuanNcIikuRGF0YWJhc2VDb25maWd1cmF0aW9uVHlwZX0gY29uZmlnIC0gQ29uZmlndXJhdGlvbiBvYmplY3QuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0Pn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBzcGF3biBjb25uZWN0aW9uIHdpdGggY29uZmlndXJhdGlvbi5cbiAgICovXG4gIGFzeW5jIHNwYXduQ29ubmVjdGlvbldpdGhDb25maWd1cmF0aW9uKGNvbmZpZykge1xuICAgIGNvbnN0IERyaXZlckNsYXNzID0gY29uZmlnLmRyaXZlciB8fCB0aGlzLmRyaXZlckNsYXNzXG5cbiAgICBpZiAoIURyaXZlckNsYXNzKSB0aHJvdyBuZXcgRXJyb3IoXCJObyBkcml2ZXIgY2xhc3Mgc2V0IGluIGRhdGFiYXNlIHBvb2wgb3IgaW4gZ2l2ZW4gY29uZmlnXCIpXG5cbiAgICBjb25zdCBjb25uZWN0aW9uID0gbmV3IERyaXZlckNsYXNzKGNvbmZpZywgdGhpcy5jb25maWd1cmF0aW9uKVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGNvbm5lY3Rpb24uY29ubmVjdCgpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGF3YWl0IHRoaXMuY2xvc2VDb25uZWN0aW9uQWZ0ZXJGYWlsZWRDb25uZWN0KGNvbm5lY3Rpb24pXG4gICAgICB0aHJvdyBlcnJvclxuICAgIH1cblxuICAgIHJldHVybiBjb25uZWN0aW9uXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdH0gY29ubmVjdGlvbiAtIENvbm5lY3Rpb24gdG8gY2xvc2UuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY2xlYW51cCBoYXMgYmVlbiBhdHRlbXB0ZWQuXG4gICAqL1xuICBhc3luYyBjbG9zZUNvbm5lY3Rpb25BZnRlckZhaWxlZENvbm5lY3QoY29ubmVjdGlvbikge1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBjb25uZWN0aW9uLmNsb3NlKClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5sb2dnZXIud2FybihcIkZhaWxlZCB0byBjbG9zZSBkYXRhYmFzZSBjb25uZWN0aW9uIGFmdGVyIGNvbm5lY3QgZmFpbGVkXCIsIHtlcnJvcn0pXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEB0ZW1wbGF0ZSBUXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcGFyYW0ge0Nvbm5lY3Rpb25DaGVja291dE9wdGlvbnMgfCBmdW5jdGlvbihpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdCkgOiBQcm9taXNlPFQ+fSBfb3B0aW9uc09yQ2FsbGJhY2sgLSBDaGVja291dCBvcHRpb25zIG9yIGNhbGxiYWNrIGZ1bmN0aW9uLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKGltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0KSA6IFByb21pc2U8VD59IFtfY2FsbGJhY2tdIC0gQ2FsbGJhY2sgZnVuY3Rpb24uXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFQ+fSAtIFJlc29sdmVzIHdpdGggdGhlIGNhbGxiYWNrIHJlc3VsdC5cbiAgICovXG4gIHdpdGhDb25uZWN0aW9uKF9vcHRpb25zT3JDYWxsYmFjaywgX2NhbGxiYWNrKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiJ3dpdGhDb25uZWN0aW9uJyBub3QgaW1wbGVtZW50ZWRcIilcbiAgfVxuXG4gIC8qKlxuICAgKiBFbnN1cmVzIGEgcmV1c2FibGUgY29ubmVjdGlvbiBleGlzdHMgZm9yIGNvbnRleHRzIHdoZXJlIEFzeW5jTG9jYWxTdG9yYWdlIGlzbid0IHNldC5cbiAgICogRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBqdXN0IGNoZWNrcyBvdXQgYSBjb25uZWN0aW9uLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdD59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgZ2xvYmFsIGNvbm5lY3Rpb24uXG4gICAqL1xuICBhc3luYyBlbnN1cmVHbG9iYWxDb25uZWN0aW9uKCkge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmNoZWNrb3V0KClcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7RGF0YWJhc2VQb29sRGVidWdTbmFwc2hvdH0gLSBEaWFnbm9zdGljIHNuYXBzaG90IGZvciB0aGlzIHBvb2wuICovXG4gIGdldERlYnVnU25hcHNob3QoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbmZpZ3VyYXRpb246IHRoaXMuZGVidWdDb25maWd1cmF0aW9uU25hcHNob3QoKSxcbiAgICAgIGNvbm5lY3Rpb25zOiBbXSxcbiAgICAgIGNvbm5lY3Rpb25zQmVpbmdTcGF3bmVkOiAwLFxuICAgICAgaWRlbnRpZmllcjogdGhpcy5pZGVudGlmaWVyLFxuICAgICAgaWRsZUNvdW50OiAwLFxuICAgICAgaW5Vc2VDb3VudDogMCxcbiAgICAgIHBlbmRpbmdDaGVja291dENvdW50OiAwLFxuICAgICAgcG9vbENsYXNzOiB0aGlzLmNvbnN0cnVjdG9yLm5hbWVcbiAgICB9XG4gIH1cblxuICAvKiogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIHVua25vd24+fSAtIFNhbml0aXplZCByZXNvbHZlZCBkYXRhYmFzZSBjb25maWd1cmF0aW9uLiAqL1xuICBkZWJ1Z0NvbmZpZ3VyYXRpb25TbmFwc2hvdCgpIHtcbiAgICBjb25zdCBkYXRhYmFzZUNvbmZpZyA9IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpXG4gICAgY29uc3QgcG9vbENvbmZpZyA9IGRhdGFiYXNlQ29uZmlnLnBvb2xcblxuICAgIHJldHVybiB7XG4gICAgICBkYXRhYmFzZTogZGF0YWJhc2VDb25maWcuZGF0YWJhc2UsXG4gICAgICBkcml2ZXI6IGRhdGFiYXNlQ29uZmlnLmRyaXZlcj8ubmFtZSxcbiAgICAgIGhvc3Q6IGRhdGFiYXNlQ29uZmlnLmhvc3QsXG4gICAgICBtaWdyYXRpb25zOiBkYXRhYmFzZUNvbmZpZy5taWdyYXRpb25zLFxuICAgICAgbmFtZTogZGF0YWJhc2VDb25maWcubmFtZSxcbiAgICAgIHBvb2w6IHBvb2xDb25maWcgPyB7aWRsZVRpbWVvdXRNaWxsaXM6IHBvb2xDb25maWcuaWRsZVRpbWVvdXRNaWxsaXMsIG1heDogcG9vbENvbmZpZy5tYXh9IDogdW5kZWZpbmVkLFxuICAgICAgcG9ydDogZGF0YWJhc2VDb25maWcucG9ydCxcbiAgICAgIHNjaGVtYTogZGF0YWJhc2VDb25maWcuc2NoZW1hLFxuICAgICAgdHlwZTogZGF0YWJhc2VDb25maWcudHlwZSxcbiAgICAgIHVzZURhdGFiYXNlOiBkYXRhYmFzZUNvbmZpZy51c2VEYXRhYmFzZSxcbiAgICAgIHVzZXJuYW1lOiBkYXRhYmFzZUNvbmZpZy51c2VybmFtZVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0fSBjb25uZWN0aW9uIC0gRGF0YWJhc2UgY29ubmVjdGlvbi5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gZGV0YWlscyAtIEV4dHJhIGRpYWdub3N0aWMgZmllbGRzLlxuICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59IC0gQ29ubmVjdGlvbiBkaWFnbm9zdGljIHNuYXBzaG90LlxuICAgKi9cbiAgZGVidWdDb25uZWN0aW9uU25hcHNob3QoY29ubmVjdGlvbiwgZGV0YWlscyA9IHt9KSB7XG4gICAgY29uc3QgY29ubmVjdGlvbldpdGhQb29sS2V5ID0gLyoqIEB0eXBlIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdCAmIHtbUE9PTF9DT05GSUdVUkFUSU9OX0tFWV0/OiBzdHJpbmd9fSAqLyAoY29ubmVjdGlvbilcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5jb25uZWN0aW9uLmdldERlYnVnU25hcHNob3QoKSxcbiAgICAgIC4uLmRldGFpbHMsXG4gICAgICByZXVzZUtleTogY29ubmVjdGlvbldpdGhQb29sS2V5W1BPT0xfQ09ORklHVVJBVElPTl9LRVldXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyBhbGwgY29ubmVjdGlvbnMgZm9yIHRoaXMgcG9vbC5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIGNsb3NlQWxsKCkge31cbn1cblxuYmFzZU1ldGhvZHNGb3J3YXJkKFZlbG9jaW91c0RhdGFiYXNlUG9vbEJhc2UpXG5cbmV4cG9ydCBkZWZhdWx0IFZlbG9jaW91c0RhdGFiYXNlUG9vbEJhc2VcbiJdfQ==
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {object} CliCommandContext
|
|
3
|
+
* @property {import("../../../../configuration.js").default} configuration - Configuration instance.
|
|
4
|
+
* @property {import("../../../../database/drivers/base.js").default | undefined} db - Default database connection.
|
|
5
|
+
* @property {Record<string, import("../../../../database/drivers/base.js").default>} dbs - Database connections keyed by identifier.
|
|
6
|
+
* @property {string[]} args - CLI args after command-specific leading arguments.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* @param {import("../../../../cli/base-command.js").default} command - Command building the context.
|
|
10
|
+
* @param {number} argsOffset - Number of process args to omit.
|
|
11
|
+
* @returns {CliCommandContext} - Runtime context passed to CLI command scripts.
|
|
12
|
+
*/
|
|
13
|
+
export default function buildCliCommandContext(command: import("../../../../cli/base-command.js").default, argsOffset: number): CliCommandContext;
|
|
14
|
+
export type CliCommandContext = {
|
|
15
|
+
/**
|
|
16
|
+
* - Configuration instance.
|
|
17
|
+
*/
|
|
18
|
+
configuration: import("../../../../configuration.js").default;
|
|
19
|
+
/**
|
|
20
|
+
* - Default database connection.
|
|
21
|
+
*/
|
|
22
|
+
db: import("../../../../database/drivers/base.js").default | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* - Database connections keyed by identifier.
|
|
25
|
+
*/
|
|
26
|
+
dbs: Record<string, import("../../../../database/drivers/base.js").default>;
|
|
27
|
+
/**
|
|
28
|
+
* - CLI args after command-specific leading arguments.
|
|
29
|
+
*/
|
|
30
|
+
args: string[];
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=cli-command-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli-command-context.d.ts","sourceRoot":"","sources":["../../../../../../src/environment-handlers/node/cli/commands/cli-command-context.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;GAIG;AACH,wDAJW,OAAO,iCAAiC,EAAE,OAAO,cACjD,MAAM,GACJ,iBAAiB,CAe7B;;;;;mBAxBa,OAAO,8BAA8B,EAAE,OAAO;;;;QAC9C,OAAO,sCAAsC,EAAE,OAAO,GAAG,SAAS;;;;SAClE,MAAM,CAAC,MAAM,EAAE,OAAO,sCAAsC,EAAE,OAAO,CAAC;;;;UACtE,MAAM,EAAE"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @typedef {object} CliCommandContext
|
|
3
|
+
* @property {import("../../../../configuration.js").default} configuration - Configuration instance.
|
|
4
|
+
* @property {import("../../../../database/drivers/base.js").default | undefined} db - Default database connection.
|
|
5
|
+
* @property {Record<string, import("../../../../database/drivers/base.js").default>} dbs - Database connections keyed by identifier.
|
|
6
|
+
* @property {string[]} args - CLI args after command-specific leading arguments.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* @param {import("../../../../cli/base-command.js").default} command - Command building the context.
|
|
10
|
+
* @param {number} argsOffset - Number of process args to omit.
|
|
11
|
+
* @returns {CliCommandContext} - Runtime context passed to CLI command scripts.
|
|
12
|
+
*/
|
|
13
|
+
export default function buildCliCommandContext(command, argsOffset) {
|
|
14
|
+
const configuration = command.getConfiguration();
|
|
15
|
+
const dbs = configuration.getCurrentConnections();
|
|
16
|
+
const identifiers = Object.keys(dbs);
|
|
17
|
+
/** @type {string[]} */
|
|
18
|
+
const processArgs = command.processArgs || [];
|
|
19
|
+
return {
|
|
20
|
+
configuration,
|
|
21
|
+
db: dbs.default || (identifiers.length > 0 ? dbs[identifiers[0]] : undefined),
|
|
22
|
+
dbs,
|
|
23
|
+
args: processArgs.slice(argsOffset)
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLWNvbW1hbmQtY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9lbnZpcm9ubWVudC1oYW5kbGVycy9ub2RlL2NsaS9jb21tYW5kcy9jbGktY29tbWFuZC1jb250ZXh0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVIOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsT0FBTyxVQUFVLHNCQUFzQixDQUFDLE9BQU8sRUFBRSxVQUFVO0lBQ2hFLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO0lBQ2hELE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFBO0lBQ2pELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDcEMsdUJBQXVCO0lBQ3ZCLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFBO0lBRTdDLE9BQU87UUFDTCxhQUFhO1FBQ2IsRUFBRSxFQUFFLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDN0UsR0FBRztRQUNILElBQUksRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQztLQUNwQyxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gQ2xpQ29tbWFuZENvbnRleHRcbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KFwiLi4vLi4vLi4vLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBjb25maWd1cmF0aW9uIC0gQ29uZmlndXJhdGlvbiBpbnN0YW5jZS5cbiAqIEBwcm9wZXJ0eSB7aW1wb3J0KFwiLi4vLi4vLi4vLi4vZGF0YWJhc2UvZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWR9IGRiIC0gRGVmYXVsdCBkYXRhYmFzZSBjb25uZWN0aW9uLlxuICogQHByb3BlcnR5IHtSZWNvcmQ8c3RyaW5nLCBpbXBvcnQoXCIuLi8uLi8uLi8uLi9kYXRhYmFzZS9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdD59IGRicyAtIERhdGFiYXNlIGNvbm5lY3Rpb25zIGtleWVkIGJ5IGlkZW50aWZpZXIuXG4gKiBAcHJvcGVydHkge3N0cmluZ1tdfSBhcmdzIC0gQ0xJIGFyZ3MgYWZ0ZXIgY29tbWFuZC1zcGVjaWZpYyBsZWFkaW5nIGFyZ3VtZW50cy5cbiAqL1xuXG4vKipcbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vLi4vLi4vLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiKS5kZWZhdWx0fSBjb21tYW5kIC0gQ29tbWFuZCBidWlsZGluZyB0aGUgY29udGV4dC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBhcmdzT2Zmc2V0IC0gTnVtYmVyIG9mIHByb2Nlc3MgYXJncyB0byBvbWl0LlxuICogQHJldHVybnMge0NsaUNvbW1hbmRDb250ZXh0fSAtIFJ1bnRpbWUgY29udGV4dCBwYXNzZWQgdG8gQ0xJIGNvbW1hbmQgc2NyaXB0cy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYnVpbGRDbGlDb21tYW5kQ29udGV4dChjb21tYW5kLCBhcmdzT2Zmc2V0KSB7XG4gIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSBjb21tYW5kLmdldENvbmZpZ3VyYXRpb24oKVxuICBjb25zdCBkYnMgPSBjb25maWd1cmF0aW9uLmdldEN1cnJlbnRDb25uZWN0aW9ucygpXG4gIGNvbnN0IGlkZW50aWZpZXJzID0gT2JqZWN0LmtleXMoZGJzKVxuICAvKiogQHR5cGUge3N0cmluZ1tdfSAqL1xuICBjb25zdCBwcm9jZXNzQXJncyA9IGNvbW1hbmQucHJvY2Vzc0FyZ3MgfHwgW11cblxuICByZXR1cm4ge1xuICAgIGNvbmZpZ3VyYXRpb24sXG4gICAgZGI6IGRicy5kZWZhdWx0IHx8IChpZGVudGlmaWVycy5sZW5ndGggPiAwID8gZGJzW2lkZW50aWZpZXJzWzBdXSA6IHVuZGVmaW5lZCksXG4gICAgZGJzLFxuICAgIGFyZ3M6IHByb2Nlc3NBcmdzLnNsaWNlKGFyZ3NPZmZzZXQpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../../../../../src/environment-handlers/node/cli/commands/console.js"],"names":[],"mappings":"AA4GA,iCAAiC;AACjC;IACE,sEAAsE;IACtE,WADc,OAAO,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"console.d.ts","sourceRoot":"","sources":["../../../../../../src/environment-handlers/node/cli/commands/console.js"],"names":[],"mappings":"AA4GA,iCAAiC;AACjC;IACE,sEAAsE;IACtE,WADc,OAAO,CAAC,OAAO,CAAC,CAuB7B;CACF;iCAjIa;IAAC,WAAW,EAAE,OAAO,4BAA4B,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,8BAA8B,EAAE,OAAO,CAAA;CAAC;wBAJhH,iCAAiC"}
|
|
@@ -98,9 +98,9 @@ export default class VelociousCliCommandsConsole extends BaseCommand {
|
|
|
98
98
|
type: "console"
|
|
99
99
|
});
|
|
100
100
|
await application.initialize();
|
|
101
|
-
await configuration.ensureGlobalConnections();
|
|
102
|
-
const context = buildConsoleContext({ application, configuration });
|
|
103
101
|
try {
|
|
102
|
+
await configuration.ensureGlobalConnections();
|
|
103
|
+
const context = buildConsoleContext({ application, configuration });
|
|
104
104
|
if (this.cli.getTesting()) {
|
|
105
105
|
return { modelNames: Object.keys(context.models || {}) };
|
|
106
106
|
}
|
|
@@ -111,4 +111,4 @@ export default class VelociousCliCommandsConsole extends BaseCommand {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc29sZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9lbnZpcm9ubWVudC1oYW5kbGVycy9ub2RlL2NsaS9jb21tYW5kcy9jb25zb2xlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sV0FBVyxNQUFNLDRCQUE0QixDQUFBO0FBQ3BELE9BQU8sV0FBVyxNQUFNLGlDQUFpQyxDQUFBO0FBQ3pELE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQTtBQUM1QixPQUFPLElBQUksTUFBTSxXQUFXLENBQUE7QUFFNUIsK0pBQStKO0FBRS9KOzs7R0FHRztBQUNILFNBQVMsbUJBQW1CLENBQUMsRUFBQyxXQUFXLEVBQUUsYUFBYSxFQUFDO0lBQ3ZELHFGQUFxRjtJQUNyRixNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtJQUVqRCxLQUFLLE1BQU0sVUFBVSxJQUFJLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLENBQUM7UUFDaEUsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDO1lBQUUsU0FBUTtRQUU3QixNQUFNLElBQUksR0FBRyxhQUFhLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ3RELE1BQU0sY0FBYyxHQUFHLCtHQUErRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDN0ksTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFBO1FBRS9ELElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNyQixHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsZ0JBQWdCLENBQUE7WUFDbEMsU0FBUTtRQUNWLENBQUM7UUFFRCxJQUFJLENBQUM7WUFDSCxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUE7UUFDL0MsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLGFBQWEsQ0FB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RSxzRUFBc0U7SUFDdEUsS0FBSyxDQUFDLE9BQU87UUFDWCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUM3QyxNQUFNLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQztZQUNsQyxhQUFhO1lBQ2IsSUFBSSxFQUFFLFNBQVM7U0FDaEIsQ0FBQyxDQUFBO1FBRUYsTUFBTSxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUE7UUFDOUIsTUFBTSxhQUFhLENBQUMsdUJBQXVCLEVBQUUsQ0FBQTtRQUU3QyxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxFQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUMsQ0FBQyxDQUFBO1FBRWpFLElBQUksQ0FBQztZQUNILElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO2dCQUMxQixPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsRUFBQyxDQUFBO1lBQ3hELENBQUM7WUFFRCxPQUFPLE1BQU0sZ0JBQWdCLENBQUMsRUFBQyxhQUFhLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQTtRQUN6RCxDQUFDO2dCQUFTLENBQUM7WUFDVCxNQUFNLGFBQWEsQ0FBQyx3QkFBd0IsRUFBRSxDQUFBO1FBQ2hELENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQXBwbGljYXRpb24gZnJvbSBcIi4uLy4uLy4uLy4uL2FwcGxpY2F0aW9uLmpzXCJcbmltcG9ydCBCYXNlQ29tbWFuZCBmcm9tIFwiLi4vLi4vLi4vLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiXG5pbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCJcbmltcG9ydCByZXBsIGZyb20gXCJub2RlOnJlcGxcIlxuXG4vKiogQHR5cGVkZWYge3thcHBsaWNhdGlvbjogaW1wb3J0KFwiLi4vLi4vLi4vLi4vYXBwbGljYXRpb24uanNcIikuZGVmYXVsdCwgY29uZmlndXJhdGlvbjogaW1wb3J0KFwiLi4vLi4vLi4vLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fX0gQ29uc29sZUNvbnRleHRBcmdzICovXG5cbi8qKlxuICogQHBhcmFtIHtDb25zb2xlQ29udGV4dEFyZ3N9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gLSBUaGUgY29uc29sZSBjb250ZXh0LlxuICovXG5mdW5jdGlvbiBidWlsZENvbnNvbGVDb250ZXh0KHthcHBsaWNhdGlvbiwgY29uZmlndXJhdGlvbn0pIHtcbiAgLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBpbXBvcnQoXCIuLi8uLi8uLi8uLi9kYXRhYmFzZS9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdD59ICovXG4gIGNvbnN0IGRicyA9IGNvbmZpZ3VyYXRpb24uZ2V0Q3VycmVudENvbm5lY3Rpb25zKClcblxuICBmb3IgKGNvbnN0IGlkZW50aWZpZXIgb2YgY29uZmlndXJhdGlvbi5nZXREYXRhYmFzZUlkZW50aWZpZXJzKCkpIHtcbiAgICBpZiAoZGJzW2lkZW50aWZpZXJdKSBjb250aW51ZVxuXG4gICAgY29uc3QgcG9vbCA9IGNvbmZpZ3VyYXRpb24uZ2V0RGF0YWJhc2VQb29sKGlkZW50aWZpZXIpXG4gICAgY29uc3QgcG9vbFdpdGhHbG9iYWwgPSAvKiogQHR5cGUge3tnZXRHbG9iYWxDb25uZWN0aW9uPzogKCkgPT4gaW1wb3J0KFwiLi4vLi4vLi4vLi4vZGF0YWJhc2UvZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWR9fSAqLyAocG9vbClcbiAgICBjb25zdCBnbG9iYWxDb25uZWN0aW9uID0gcG9vbFdpdGhHbG9iYWwuZ2V0R2xvYmFsQ29ubmVjdGlvbj8uKClcblxuICAgIGlmIChnbG9iYWxDb25uZWN0aW9uKSB7XG4gICAgICBkYnNbaWRlbnRpZmllcl0gPSBnbG9iYWxDb25uZWN0aW9uXG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBkYnNbaWRlbnRpZmllcl0gPSBwb29sLmdldEN1cnJlbnRDb25uZWN0aW9uKClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKGNvbmZpZ3VyYXRpb24uaXNNaXNzaW5nQ3VycmVudENvbm5lY3Rpb25FcnJvcihlcnJvcikpIHtcbiAgICAgICAgLy8gSWdub3JlIG1pc3NpbmcgY29ubmVjdGlvbnMgaGVyZTsgdGhleSBjYW4gYmUgZXN0YWJsaXNoZWQgbGF6aWx5LlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgZXJyb3JcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBkYklkZW50aWZpZXJzID0gT2JqZWN0LmtleXMoZGJzKVxuXG4gIHJldHVybiB7XG4gICAgYXBwOiBhcHBsaWNhdGlvbixcbiAgICBhcHBsaWNhdGlvbixcbiAgICBjb25maWd1cmF0aW9uLFxuICAgIGRiOiBkYnMuZGVmYXVsdCB8fCAoZGJJZGVudGlmaWVycy5sZW5ndGggPiAwID8gZGJzW2RiSWRlbnRpZmllcnNbMF1dIDogdW5kZWZpbmVkKSxcbiAgICBkYnMsXG4gICAgbW9kZWxzOiB7Li4uY29uZmlndXJhdGlvbi5tb2RlbENsYXNzZXN9XG4gIH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gYXJncy5jb250ZXh0IC0gVGhlIGJhc2UgY29udGV4dC5cbiAqIEBwYXJhbSB7aW1wb3J0KFwibm9kZTpyZXBsXCIpLlJFUExTZXJ2ZXJ9IGFyZ3MucmVwbFNlcnZlciAtIFRoZSBSRVBMIHNlcnZlci5cbiAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gYXNzaWduQ29uc29sZUNvbnRleHQoe2NvbnRleHQsIHJlcGxTZXJ2ZXJ9KSB7XG4gIE9iamVjdC5hc3NpZ24ocmVwbFNlcnZlci5jb250ZXh0LCBjb250ZXh0KVxuXG4gIGNvbnN0IG1vZGVsQ2xhc3NlcyA9IC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgdHlwZW9mIGltcG9ydChcIi4uLy4uLy4uLy4uL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0Pn0gKi8gKFxuICAgIGNvbnRleHQubW9kZWxzIHx8IHt9XG4gIClcblxuICBmb3IgKGNvbnN0IFtuYW1lLCBtb2RlbENsYXNzXSBvZiBPYmplY3QuZW50cmllcyhtb2RlbENsYXNzZXMpKSB7XG4gICAgcmVwbFNlcnZlci5jb250ZXh0W25hbWVdID0gbW9kZWxDbGFzc1xuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vLi4vLi4vLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBhcmdzLmNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gYXJncy5jb250ZXh0IC0gUkVQTCBjb250ZXh0LlxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiB0aGUgY29uc29sZSBleGl0cy5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gc3RhcnRDb25zb2xlUmVwbCh7Y29uZmlndXJhdGlvbiwgY29udGV4dH0pIHtcbiAgY29uc3QgZW52aXJvbm1lbnQgPSBjb25maWd1cmF0aW9uLmdldEVudmlyb25tZW50KClcblxuICBjb25zb2xlLmxvZyhgTG9hZGluZyAke2Vudmlyb25tZW50fSBlbnZpcm9ubWVudCAoVmVsb2Npb3VzIGNvbnNvbGUpYClcblxuICBjb25zdCByZXBsU2VydmVyID0gcmVwbC5zdGFydCh7XG4gICAgcHJvbXB0OiBcInZlbG9jaW91cz4gXCJcbiAgfSlcblxuICBhc3NpZ25Db25zb2xlQ29udGV4dCh7Y29udGV4dCwgcmVwbFNlcnZlcn0pXG4gIHJlcGxTZXJ2ZXIub24oXCJyZXNldFwiLCAoKSA9PiB7XG4gICAgYXNzaWduQ29uc29sZUNvbnRleHQoe2NvbnRleHQsIHJlcGxTZXJ2ZXJ9KVxuICB9KVxuXG4gIGNvbnN0IGhpc3RvcnlQYXRoID0gcGF0aC5qb2luKGNvbmZpZ3VyYXRpb24uZ2V0RGlyZWN0b3J5KCksIFwiLnZlbG9jaW91cy1jb25zb2xlLWhpc3RvcnlcIilcblxuICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgcmVwbFNlcnZlci5zZXR1cEhpc3RvcnkoaGlzdG9yeVBhdGgsIChlcnJvcikgPT4ge1xuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHJlamVjdChlcnJvcilcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc29sdmUodW5kZWZpbmVkKVxuICAgICAgfVxuICAgIH0pXG4gIH0pXG5cbiAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICByZXBsU2VydmVyLm9uKFwiZXhpdFwiLCAoKSA9PiB7XG4gICAgICByZXNvbHZlKHVuZGVmaW5lZClcbiAgICB9KVxuICB9KVxuXG59XG5cbi8qKiBWZWxvY2lvdXMgY29uc29sZSBjb21tYW5kLiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzQ2xpQ29tbWFuZHNDb25zb2xlIGV4dGVuZHMgQmFzZUNvbW1hbmR7XG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBjb21tYW5kIHJlc3VsdC4gKi9cbiAgYXN5bmMgZXhlY3V0ZSgpIHtcbiAgICBjb25zdCBjb25maWd1cmF0aW9uID0gdGhpcy5nZXRDb25maWd1cmF0aW9uKClcbiAgICBjb25zdCBhcHBsaWNhdGlvbiA9IG5ldyBBcHBsaWNhdGlvbih7XG4gICAgICBjb25maWd1cmF0aW9uLFxuICAgICAgdHlwZTogXCJjb25zb2xlXCJcbiAgICB9KVxuXG4gICAgYXdhaXQgYXBwbGljYXRpb24uaW5pdGlhbGl6ZSgpXG4gICAgYXdhaXQgY29uZmlndXJhdGlvbi5lbnN1cmVHbG9iYWxDb25uZWN0aW9ucygpXG5cbiAgICBjb25zdCBjb250ZXh0ID0gYnVpbGRDb25zb2xlQ29udGV4dCh7YXBwbGljYXRpb24sIGNvbmZpZ3VyYXRpb259KVxuXG4gICAgdHJ5IHtcbiAgICAgIGlmICh0aGlzLmNsaS5nZXRUZXN0aW5nKCkpIHtcbiAgICAgICAgcmV0dXJuIHttb2RlbE5hbWVzOiBPYmplY3Qua2V5cyhjb250ZXh0Lm1vZGVscyB8fCB7fSl9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhd2FpdCBzdGFydENvbnNvbGVSZXBsKHtjb25maWd1cmF0aW9uLCBjb250ZXh0fSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgY29uZmlndXJhdGlvbi5jbG9zZURhdGFiYXNlQ29ubmVjdGlvbnMoKVxuICAgIH1cbiAgfVxufVxuIl19
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc29sZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9lbnZpcm9ubWVudC1oYW5kbGVycy9ub2RlL2NsaS9jb21tYW5kcy9jb25zb2xlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sV0FBVyxNQUFNLDRCQUE0QixDQUFBO0FBQ3BELE9BQU8sV0FBVyxNQUFNLGlDQUFpQyxDQUFBO0FBQ3pELE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQTtBQUM1QixPQUFPLElBQUksTUFBTSxXQUFXLENBQUE7QUFFNUIsK0pBQStKO0FBRS9KOzs7R0FHRztBQUNILFNBQVMsbUJBQW1CLENBQUMsRUFBQyxXQUFXLEVBQUUsYUFBYSxFQUFDO0lBQ3ZELHFGQUFxRjtJQUNyRixNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtJQUVqRCxLQUFLLE1BQU0sVUFBVSxJQUFJLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLENBQUM7UUFDaEUsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDO1lBQUUsU0FBUTtRQUU3QixNQUFNLElBQUksR0FBRyxhQUFhLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ3RELE1BQU0sY0FBYyxHQUFHLCtHQUErRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDN0ksTUFBTSxnQkFBZ0IsR0FBRyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFBO1FBRS9ELElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNyQixHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsZ0JBQWdCLENBQUE7WUFDbEMsU0FBUTtRQUNWLENBQUM7UUFFRCxJQUFJLENBQUM7WUFDSCxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUE7UUFDL0MsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLGFBQWEsQ0FB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RSxzRUFBc0U7SUFDdEUsS0FBSyxDQUFDLE9BQU87UUFDWCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUM3QyxNQUFNLFdBQVcsR0FBRyxJQUFJLFdBQVcsQ0FBQztZQUNsQyxhQUFhO1lBQ2IsSUFBSSxFQUFFLFNBQVM7U0FDaEIsQ0FBQyxDQUFBO1FBRUYsTUFBTSxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUE7UUFFOUIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxhQUFhLENBQUMsdUJBQXVCLEVBQUUsQ0FBQTtZQUU3QyxNQUFNLE9BQU8sR0FBRyxtQkFBbUIsQ0FBQyxFQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUMsQ0FBQyxDQUFBO1lBRWpFLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO2dCQUMxQixPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsRUFBQyxDQUFBO1lBQ3hELENBQUM7WUFFRCxPQUFPLE1BQU0sZ0JBQWdCLENBQUMsRUFBQyxhQUFhLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQTtRQUN6RCxDQUFDO2dCQUFTLENBQUM7WUFDVCxNQUFNLGFBQWEsQ0FBQyx3QkFBd0IsRUFBRSxDQUFBO1FBQ2hELENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQXBwbGljYXRpb24gZnJvbSBcIi4uLy4uLy4uLy4uL2FwcGxpY2F0aW9uLmpzXCJcbmltcG9ydCBCYXNlQ29tbWFuZCBmcm9tIFwiLi4vLi4vLi4vLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiXG5pbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCJcbmltcG9ydCByZXBsIGZyb20gXCJub2RlOnJlcGxcIlxuXG4vKiogQHR5cGVkZWYge3thcHBsaWNhdGlvbjogaW1wb3J0KFwiLi4vLi4vLi4vLi4vYXBwbGljYXRpb24uanNcIikuZGVmYXVsdCwgY29uZmlndXJhdGlvbjogaW1wb3J0KFwiLi4vLi4vLi4vLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fX0gQ29uc29sZUNvbnRleHRBcmdzICovXG5cbi8qKlxuICogQHBhcmFtIHtDb25zb2xlQ29udGV4dEFyZ3N9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gLSBUaGUgY29uc29sZSBjb250ZXh0LlxuICovXG5mdW5jdGlvbiBidWlsZENvbnNvbGVDb250ZXh0KHthcHBsaWNhdGlvbiwgY29uZmlndXJhdGlvbn0pIHtcbiAgLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBpbXBvcnQoXCIuLi8uLi8uLi8uLi9kYXRhYmFzZS9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdD59ICovXG4gIGNvbnN0IGRicyA9IGNvbmZpZ3VyYXRpb24uZ2V0Q3VycmVudENvbm5lY3Rpb25zKClcblxuICBmb3IgKGNvbnN0IGlkZW50aWZpZXIgb2YgY29uZmlndXJhdGlvbi5nZXREYXRhYmFzZUlkZW50aWZpZXJzKCkpIHtcbiAgICBpZiAoZGJzW2lkZW50aWZpZXJdKSBjb250aW51ZVxuXG4gICAgY29uc3QgcG9vbCA9IGNvbmZpZ3VyYXRpb24uZ2V0RGF0YWJhc2VQb29sKGlkZW50aWZpZXIpXG4gICAgY29uc3QgcG9vbFdpdGhHbG9iYWwgPSAvKiogQHR5cGUge3tnZXRHbG9iYWxDb25uZWN0aW9uPzogKCkgPT4gaW1wb3J0KFwiLi4vLi4vLi4vLi4vZGF0YWJhc2UvZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWR9fSAqLyAocG9vbClcbiAgICBjb25zdCBnbG9iYWxDb25uZWN0aW9uID0gcG9vbFdpdGhHbG9iYWwuZ2V0R2xvYmFsQ29ubmVjdGlvbj8uKClcblxuICAgIGlmIChnbG9iYWxDb25uZWN0aW9uKSB7XG4gICAgICBkYnNbaWRlbnRpZmllcl0gPSBnbG9iYWxDb25uZWN0aW9uXG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBkYnNbaWRlbnRpZmllcl0gPSBwb29sLmdldEN1cnJlbnRDb25uZWN0aW9uKClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKGNvbmZpZ3VyYXRpb24uaXNNaXNzaW5nQ3VycmVudENvbm5lY3Rpb25FcnJvcihlcnJvcikpIHtcbiAgICAgICAgLy8gSWdub3JlIG1pc3NpbmcgY29ubmVjdGlvbnMgaGVyZTsgdGhleSBjYW4gYmUgZXN0YWJsaXNoZWQgbGF6aWx5LlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgZXJyb3JcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBkYklkZW50aWZpZXJzID0gT2JqZWN0LmtleXMoZGJzKVxuXG4gIHJldHVybiB7XG4gICAgYXBwOiBhcHBsaWNhdGlvbixcbiAgICBhcHBsaWNhdGlvbixcbiAgICBjb25maWd1cmF0aW9uLFxuICAgIGRiOiBkYnMuZGVmYXVsdCB8fCAoZGJJZGVudGlmaWVycy5sZW5ndGggPiAwID8gZGJzW2RiSWRlbnRpZmllcnNbMF1dIDogdW5kZWZpbmVkKSxcbiAgICBkYnMsXG4gICAgbW9kZWxzOiB7Li4uY29uZmlndXJhdGlvbi5tb2RlbENsYXNzZXN9XG4gIH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gYXJncy5jb250ZXh0IC0gVGhlIGJhc2UgY29udGV4dC5cbiAqIEBwYXJhbSB7aW1wb3J0KFwibm9kZTpyZXBsXCIpLlJFUExTZXJ2ZXJ9IGFyZ3MucmVwbFNlcnZlciAtIFRoZSBSRVBMIHNlcnZlci5cbiAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gYXNzaWduQ29uc29sZUNvbnRleHQoe2NvbnRleHQsIHJlcGxTZXJ2ZXJ9KSB7XG4gIE9iamVjdC5hc3NpZ24ocmVwbFNlcnZlci5jb250ZXh0LCBjb250ZXh0KVxuXG4gIGNvbnN0IG1vZGVsQ2xhc3NlcyA9IC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgdHlwZW9mIGltcG9ydChcIi4uLy4uLy4uLy4uL2RhdGFiYXNlL3JlY29yZC9pbmRleC5qc1wiKS5kZWZhdWx0Pn0gKi8gKFxuICAgIGNvbnRleHQubW9kZWxzIHx8IHt9XG4gIClcblxuICBmb3IgKGNvbnN0IFtuYW1lLCBtb2RlbENsYXNzXSBvZiBPYmplY3QuZW50cmllcyhtb2RlbENsYXNzZXMpKSB7XG4gICAgcmVwbFNlcnZlci5jb250ZXh0W25hbWVdID0gbW9kZWxDbGFzc1xuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zIG9iamVjdC5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vLi4vLi4vLi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBhcmdzLmNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gYXJncy5jb250ZXh0IC0gUkVQTCBjb250ZXh0LlxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiB0aGUgY29uc29sZSBleGl0cy5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gc3RhcnRDb25zb2xlUmVwbCh7Y29uZmlndXJhdGlvbiwgY29udGV4dH0pIHtcbiAgY29uc3QgZW52aXJvbm1lbnQgPSBjb25maWd1cmF0aW9uLmdldEVudmlyb25tZW50KClcblxuICBjb25zb2xlLmxvZyhgTG9hZGluZyAke2Vudmlyb25tZW50fSBlbnZpcm9ubWVudCAoVmVsb2Npb3VzIGNvbnNvbGUpYClcblxuICBjb25zdCByZXBsU2VydmVyID0gcmVwbC5zdGFydCh7XG4gICAgcHJvbXB0OiBcInZlbG9jaW91cz4gXCJcbiAgfSlcblxuICBhc3NpZ25Db25zb2xlQ29udGV4dCh7Y29udGV4dCwgcmVwbFNlcnZlcn0pXG4gIHJlcGxTZXJ2ZXIub24oXCJyZXNldFwiLCAoKSA9PiB7XG4gICAgYXNzaWduQ29uc29sZUNvbnRleHQoe2NvbnRleHQsIHJlcGxTZXJ2ZXJ9KVxuICB9KVxuXG4gIGNvbnN0IGhpc3RvcnlQYXRoID0gcGF0aC5qb2luKGNvbmZpZ3VyYXRpb24uZ2V0RGlyZWN0b3J5KCksIFwiLnZlbG9jaW91cy1jb25zb2xlLWhpc3RvcnlcIilcblxuICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgcmVwbFNlcnZlci5zZXR1cEhpc3RvcnkoaGlzdG9yeVBhdGgsIChlcnJvcikgPT4ge1xuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHJlamVjdChlcnJvcilcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc29sdmUodW5kZWZpbmVkKVxuICAgICAgfVxuICAgIH0pXG4gIH0pXG5cbiAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICByZXBsU2VydmVyLm9uKFwiZXhpdFwiLCAoKSA9PiB7XG4gICAgICByZXNvbHZlKHVuZGVmaW5lZClcbiAgICB9KVxuICB9KVxuXG59XG5cbi8qKiBWZWxvY2lvdXMgY29uc29sZSBjb21tYW5kLiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmVsb2Npb3VzQ2xpQ29tbWFuZHNDb25zb2xlIGV4dGVuZHMgQmFzZUNvbW1hbmR7XG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBjb21tYW5kIHJlc3VsdC4gKi9cbiAgYXN5bmMgZXhlY3V0ZSgpIHtcbiAgICBjb25zdCBjb25maWd1cmF0aW9uID0gdGhpcy5nZXRDb25maWd1cmF0aW9uKClcbiAgICBjb25zdCBhcHBsaWNhdGlvbiA9IG5ldyBBcHBsaWNhdGlvbih7XG4gICAgICBjb25maWd1cmF0aW9uLFxuICAgICAgdHlwZTogXCJjb25zb2xlXCJcbiAgICB9KVxuXG4gICAgYXdhaXQgYXBwbGljYXRpb24uaW5pdGlhbGl6ZSgpXG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgY29uZmlndXJhdGlvbi5lbnN1cmVHbG9iYWxDb25uZWN0aW9ucygpXG5cbiAgICAgIGNvbnN0IGNvbnRleHQgPSBidWlsZENvbnNvbGVDb250ZXh0KHthcHBsaWNhdGlvbiwgY29uZmlndXJhdGlvbn0pXG5cbiAgICAgIGlmICh0aGlzLmNsaS5nZXRUZXN0aW5nKCkpIHtcbiAgICAgICAgcmV0dXJuIHttb2RlbE5hbWVzOiBPYmplY3Qua2V5cyhjb250ZXh0Lm1vZGVscyB8fCB7fSl9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhd2FpdCBzdGFydENvbnNvbGVSZXBsKHtjb25maWd1cmF0aW9uLCBjb250ZXh0fSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgY29uZmlndXJhdGlvbi5jbG9zZURhdGFiYXNlQ29ubmVjdGlvbnMoKVxuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -9,23 +9,6 @@ export default class DbSeed extends BaseCommand {
|
|
|
9
9
|
/** @returns {RunnerContext} - Runtime context passed to the script function. */
|
|
10
10
|
buildRunnerContext(): RunnerContext;
|
|
11
11
|
}
|
|
12
|
-
export type RunnerContext =
|
|
13
|
-
/**
|
|
14
|
-
* - Configuration instance.
|
|
15
|
-
*/
|
|
16
|
-
configuration: import("../../../../../configuration.js").default;
|
|
17
|
-
/**
|
|
18
|
-
* - Default database connection.
|
|
19
|
-
*/
|
|
20
|
-
db: import("../../../../../database/drivers/base.js").default | undefined;
|
|
21
|
-
/**
|
|
22
|
-
* - Database connections keyed by identifier.
|
|
23
|
-
*/
|
|
24
|
-
dbs: Record<string, import("../../../../../database/drivers/base.js").default>;
|
|
25
|
-
/**
|
|
26
|
-
* - CLI args after the command name.
|
|
27
|
-
*/
|
|
28
|
-
args: string[];
|
|
29
|
-
};
|
|
12
|
+
export type RunnerContext = import("../cli-command-context.js").CliCommandContext;
|
|
30
13
|
import BaseCommand from "../../../../../cli/base-command.js";
|
|
31
14
|
//# sourceMappingURL=seed.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../../../../../../src/environment-handlers/node/cli/commands/db/seed.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"seed.d.ts","sourceRoot":"","sources":["../../../../../../../src/environment-handlers/node/cli/commands/db/seed.js"],"names":[],"mappings":"AAwBA,2EAA2E;AAC3E;IACE,4EAA4E;IAC5E,WADc,OAAO,CAAC,OAAO,CAAC,CAgB7B;IAED,mFAAmF;IACnF,qBADc,OAAO,CAAC,IAAI,CAAC,CAS1B;IAED,2DAA2D;IAC3D,gBADc,MAAM,CAGnB;IAED,gFAAgF;IAChF,sBADc,aAAa,CAG1B;CACF;4BA1DY,OAAO,2BAA2B,EAAE,iBAAiB;wBAN1C,oCAAoC"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import BaseCommand from "../../../../../cli/base-command.js";
|
|
2
|
+
import buildCliCommandContext from "../cli-command-context.js";
|
|
2
3
|
import path from "node:path";
|
|
3
4
|
import toImportSpecifier from "../../../../../utils/to-import-specifier.js";
|
|
4
5
|
/**
|
|
5
|
-
* @typedef {
|
|
6
|
-
* @property {import("../../../../../configuration.js").default} configuration - Configuration instance.
|
|
7
|
-
* @property {import("../../../../../database/drivers/base.js").default | undefined} db - Default database connection.
|
|
8
|
-
* @property {Record<string, import("../../../../../database/drivers/base.js").default>} dbs - Database connections keyed by identifier.
|
|
9
|
-
* @property {string[]} args - CLI args after the command name.
|
|
6
|
+
* @typedef {import("../cli-command-context.js").CliCommandContext} RunnerContext
|
|
10
7
|
*/
|
|
11
8
|
/**
|
|
12
9
|
* @param {string} filePath - Absolute path to script file.
|
|
@@ -26,8 +23,8 @@ export default class DbSeed extends BaseCommand {
|
|
|
26
23
|
async execute() {
|
|
27
24
|
const configuration = this.getConfiguration();
|
|
28
25
|
await this.initializeRuntime();
|
|
29
|
-
await configuration.ensureGlobalConnections();
|
|
30
26
|
try {
|
|
27
|
+
await configuration.ensureGlobalConnections();
|
|
31
28
|
const seedPath = this.seedFilePath();
|
|
32
29
|
const runnerFunction = await importRunnerFunction(seedPath);
|
|
33
30
|
return await runnerFunction(this.buildRunnerContext());
|
|
@@ -50,17 +47,7 @@ export default class DbSeed extends BaseCommand {
|
|
|
50
47
|
}
|
|
51
48
|
/** @returns {RunnerContext} - Runtime context passed to the script function. */
|
|
52
49
|
buildRunnerContext() {
|
|
53
|
-
|
|
54
|
-
const dbs = configuration.getCurrentConnections();
|
|
55
|
-
const identifiers = Object.keys(dbs);
|
|
56
|
-
/** @type {string[]} */
|
|
57
|
-
const processArgs = this.processArgs || [];
|
|
58
|
-
return {
|
|
59
|
-
configuration,
|
|
60
|
-
db: dbs.default || (identifiers.length > 0 ? dbs[identifiers[0]] : undefined),
|
|
61
|
-
dbs,
|
|
62
|
-
args: processArgs.slice(1)
|
|
63
|
-
};
|
|
50
|
+
return buildCliCommandContext(this, 1);
|
|
64
51
|
}
|
|
65
52
|
}
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9lbnZpcm9ubWVudC1oYW5kbGVycy9ub2RlL2NsaS9jb21tYW5kcy9kYi9zZWVkLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sV0FBVyxNQUFNLG9DQUFvQyxDQUFBO0FBQzVELE9BQU8sc0JBQXNCLE1BQU0sMkJBQTJCLENBQUE7QUFDOUQsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFBO0FBQzVCLE9BQU8saUJBQWlCLE1BQU0sNkNBQTZDLENBQUE7QUFFM0U7O0dBRUc7QUFFSDs7O0dBR0c7QUFDSCxLQUFLLFVBQVUsb0JBQW9CLENBQUMsUUFBUTtJQUMxQyxNQUFNLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO0lBQzlELE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUE7SUFFM0MsSUFBSSxPQUFPLGNBQWMsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxRQUFRLEVBQUUsQ0FBQyxDQUFBO0lBQzdFLENBQUM7SUFFRCxPQUFPLGNBQWMsQ0FBQTtBQUN2QixDQUFDO0FBRUQsMkVBQTJFO0FBQzNFLE1BQU0sQ0FBQyxPQUFPLE9BQU8sTUFBTyxTQUFRLFdBQVc7SUFDN0MsNEVBQTRFO0lBQzVFLEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUE7UUFFN0MsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtRQUU5QixJQUFJLENBQUM7WUFDSCxNQUFNLGFBQWEsQ0FBQyx1QkFBdUIsRUFBRSxDQUFBO1lBRTdDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQTtZQUNwQyxNQUFNLGNBQWMsR0FBRyxNQUFNLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBRTNELE9BQU8sTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQTtRQUN4RCxDQUFDO2dCQUFTLENBQUM7WUFDVCxNQUFNLGFBQWEsQ0FBQyx3QkFBd0IsRUFBRSxDQUFBO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBRUQsbUZBQW1GO0lBQ25GLEtBQUssQ0FBQyxpQkFBaUI7UUFDckIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUE7UUFFN0MsTUFBTSxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUMsSUFBSSxFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUE7UUFFakQsSUFBSSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLENBQUM7WUFDL0MsYUFBYSxDQUFDLHNCQUFzQixFQUFFLENBQUE7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFFRCwyREFBMkQ7SUFDM0QsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUM1RCxDQUFDO0lBRUQsZ0ZBQWdGO0lBQ2hGLGtCQUFrQjtRQUNoQixPQUFPLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUNvbW1hbmQgZnJvbSBcIi4uLy4uLy4uLy4uLy4uL2NsaS9iYXNlLWNvbW1hbmQuanNcIlxuaW1wb3J0IGJ1aWxkQ2xpQ29tbWFuZENvbnRleHQgZnJvbSBcIi4uL2NsaS1jb21tYW5kLWNvbnRleHQuanNcIlxuaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiXG5pbXBvcnQgdG9JbXBvcnRTcGVjaWZpZXIgZnJvbSBcIi4uLy4uLy4uLy4uLy4uL3V0aWxzL3RvLWltcG9ydC1zcGVjaWZpZXIuanNcIlxuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoXCIuLi9jbGktY29tbWFuZC1jb250ZXh0LmpzXCIpLkNsaUNvbW1hbmRDb250ZXh0fSBSdW5uZXJDb250ZXh0XG4gKi9cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gZmlsZVBhdGggLSBBYnNvbHV0ZSBwYXRoIHRvIHNjcmlwdCBmaWxlLlxuICogQHJldHVybnMge1Byb21pc2U8KGNvbnRleHQ6IFJ1bm5lckNvbnRleHQpID0+IFByb21pc2U8dW5rbm93bj4+fSAtIFRoZSBkZWZhdWx0LWV4cG9ydGVkIGFzeW5jIGZ1bmN0aW9uLlxuICovXG5hc3luYyBmdW5jdGlvbiBpbXBvcnRSdW5uZXJGdW5jdGlvbihmaWxlUGF0aCkge1xuICBjb25zdCBydW5uZXJJbXBvcnQgPSBhd2FpdCBpbXBvcnQodG9JbXBvcnRTcGVjaWZpZXIoZmlsZVBhdGgpKVxuICBjb25zdCBydW5uZXJGdW5jdGlvbiA9IHJ1bm5lckltcG9ydC5kZWZhdWx0XG5cbiAgaWYgKHR5cGVvZiBydW5uZXJGdW5jdGlvbiAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBkZWZhdWx0IGV4cG9ydCB0byBiZSBhIGZ1bmN0aW9uIGluOiAke2ZpbGVQYXRofWApXG4gIH1cblxuICByZXR1cm4gcnVubmVyRnVuY3Rpb25cbn1cblxuLyoqIE5vZGUgY29tbWFuZCBmb3IgcnVubmluZyBwcm9qZWN0IGRhdGFiYXNlIHNlZWRzIGZyb20gc3JjL2RiL3NlZWQuanMuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEYlNlZWQgZXh0ZW5kcyBCYXNlQ29tbWFuZCB7XG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBzZWVkIGZ1bmN0aW9uIHJlc3VsdC4gKi9cbiAgYXN5bmMgZXhlY3V0ZSgpIHtcbiAgICBjb25zdCBjb25maWd1cmF0aW9uID0gdGhpcy5nZXRDb25maWd1cmF0aW9uKClcblxuICAgIGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVJ1bnRpbWUoKVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGNvbmZpZ3VyYXRpb24uZW5zdXJlR2xvYmFsQ29ubmVjdGlvbnMoKVxuXG4gICAgICBjb25zdCBzZWVkUGF0aCA9IHRoaXMuc2VlZEZpbGVQYXRoKClcbiAgICAgIGNvbnN0IHJ1bm5lckZ1bmN0aW9uID0gYXdhaXQgaW1wb3J0UnVubmVyRnVuY3Rpb24oc2VlZFBhdGgpXG5cbiAgICAgIHJldHVybiBhd2FpdCBydW5uZXJGdW5jdGlvbih0aGlzLmJ1aWxkUnVubmVyQ29udGV4dCgpKVxuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBjb25maWd1cmF0aW9uLmNsb3NlRGF0YWJhc2VDb25uZWN0aW9ucygpXG4gICAgfVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gcnVudGltZSBpbml0aWFsaXphdGlvbiBpcyBjb21wbGV0ZS4gKi9cbiAgYXN5bmMgaW5pdGlhbGl6ZVJ1bnRpbWUoKSB7XG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpXG5cbiAgICBhd2FpdCBjb25maWd1cmF0aW9uLmluaXRpYWxpemUoe3R5cGU6IFwiZGItc2VlZFwifSlcblxuICAgIGlmICghY29uZmlndXJhdGlvbi5pc0RhdGFiYXNlUG9vbEluaXRpYWxpemVkKCkpIHtcbiAgICAgIGNvbmZpZ3VyYXRpb24uaW5pdGlhbGl6ZURhdGFiYXNlUG9vbCgpXG4gICAgfVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtzdHJpbmd9IC0gQWJzb2x1dGUgcGF0aCB0byBzcmMvZGIvc2VlZC5qcy4gKi9cbiAgc2VlZEZpbGVQYXRoKCkge1xuICAgIHJldHVybiBwYXRoLmpvaW4odGhpcy5kaXJlY3RvcnkoKSwgXCJzcmNcIiwgXCJkYlwiLCBcInNlZWQuanNcIilcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UnVubmVyQ29udGV4dH0gLSBSdW50aW1lIGNvbnRleHQgcGFzc2VkIHRvIHRoZSBzY3JpcHQgZnVuY3Rpb24uICovXG4gIGJ1aWxkUnVubmVyQ29udGV4dCgpIHtcbiAgICByZXR1cm4gYnVpbGRDbGlDb21tYW5kQ29udGV4dCh0aGlzLCAxKVxuICB9XG59XG4iXX0=
|
|
@@ -9,23 +9,6 @@ export default class RunScriptCommand extends BaseCommand {
|
|
|
9
9
|
/** @returns {RunScriptContext} - Runtime context passed to the script function. */
|
|
10
10
|
buildRunScriptContext(): RunScriptContext;
|
|
11
11
|
}
|
|
12
|
-
export type RunScriptContext =
|
|
13
|
-
/**
|
|
14
|
-
* - Configuration instance.
|
|
15
|
-
*/
|
|
16
|
-
configuration: import("../../../../configuration.js").default;
|
|
17
|
-
/**
|
|
18
|
-
* - Default database connection.
|
|
19
|
-
*/
|
|
20
|
-
db: import("../../../../database/drivers/base.js").default | undefined;
|
|
21
|
-
/**
|
|
22
|
-
* - Database connections keyed by identifier.
|
|
23
|
-
*/
|
|
24
|
-
dbs: Record<string, import("../../../../database/drivers/base.js").default>;
|
|
25
|
-
/**
|
|
26
|
-
* - CLI args after the script path.
|
|
27
|
-
*/
|
|
28
|
-
args: string[];
|
|
29
|
-
};
|
|
12
|
+
export type RunScriptContext = import("./cli-command-context.js").CliCommandContext;
|
|
30
13
|
import BaseCommand from "../../../../cli/base-command.js";
|
|
31
14
|
//# sourceMappingURL=run-script.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-script.d.ts","sourceRoot":"","sources":["../../../../../../src/environment-handlers/node/cli/commands/run-script.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-script.d.ts","sourceRoot":"","sources":["../../../../../../src/environment-handlers/node/cli/commands/run-script.js"],"names":[],"mappings":"AAwBA,mFAAmF;AACnF;IACE,8EAA8E;IAC9E,WADc,OAAO,CAAC,OAAO,CAAC,CAgB7B;IAED,mFAAmF;IACnF,qBADc,OAAO,CAAC,IAAI,CAAC,CAS1B;IAED,0EAA0E;IAC1E,kBADc,MAAM,CASnB;IAED,mFAAmF;IACnF,yBADc,gBAAgB,CAG7B;CACF;+BAhEY,OAAO,0BAA0B,EAAE,iBAAiB;wBANzC,iCAAiC"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import BaseCommand from "../../../../cli/base-command.js";
|
|
2
|
+
import buildCliCommandContext from "./cli-command-context.js";
|
|
2
3
|
import path from "node:path";
|
|
3
4
|
import toImportSpecifier from "../../../../utils/to-import-specifier.js";
|
|
4
5
|
/**
|
|
5
|
-
* @typedef {
|
|
6
|
-
* @property {import("../../../../configuration.js").default} configuration - Configuration instance.
|
|
7
|
-
* @property {import("../../../../database/drivers/base.js").default | undefined} db - Default database connection.
|
|
8
|
-
* @property {Record<string, import("../../../../database/drivers/base.js").default>} dbs - Database connections keyed by identifier.
|
|
9
|
-
* @property {string[]} args - CLI args after the script path.
|
|
6
|
+
* @typedef {import("./cli-command-context.js").CliCommandContext} RunScriptContext
|
|
10
7
|
*/
|
|
11
8
|
/**
|
|
12
9
|
* @param {string} filePath - Absolute path to script file.
|
|
@@ -27,8 +24,8 @@ export default class RunScriptCommand extends BaseCommand {
|
|
|
27
24
|
const configuration = this.getConfiguration();
|
|
28
25
|
const scriptPath = this.scriptFilePath();
|
|
29
26
|
await this.initializeRuntime();
|
|
30
|
-
await configuration.ensureGlobalConnections();
|
|
31
27
|
try {
|
|
28
|
+
await configuration.ensureGlobalConnections();
|
|
32
29
|
const runScriptFunction = await importRunScriptFunction(scriptPath);
|
|
33
30
|
return await runScriptFunction(this.buildRunScriptContext());
|
|
34
31
|
}
|
|
@@ -54,17 +51,7 @@ export default class RunScriptCommand extends BaseCommand {
|
|
|
54
51
|
}
|
|
55
52
|
/** @returns {RunScriptContext} - Runtime context passed to the script function. */
|
|
56
53
|
buildRunScriptContext() {
|
|
57
|
-
|
|
58
|
-
const dbs = configuration.getCurrentConnections();
|
|
59
|
-
const identifiers = Object.keys(dbs);
|
|
60
|
-
/** @type {string[]} */
|
|
61
|
-
const processArgs = this.processArgs || [];
|
|
62
|
-
return {
|
|
63
|
-
configuration,
|
|
64
|
-
db: dbs.default || (identifiers.length > 0 ? dbs[identifiers[0]] : undefined),
|
|
65
|
-
dbs,
|
|
66
|
-
args: processArgs.slice(2)
|
|
67
|
-
};
|
|
54
|
+
return buildCliCommandContext(this, 2);
|
|
68
55
|
}
|
|
69
56
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9lbnZpcm9ubWVudC1oYW5kbGVycy9ub2RlL2NsaS9jb21tYW5kcy9ydW4tc2NyaXB0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sV0FBVyxNQUFNLGlDQUFpQyxDQUFBO0FBQ3pELE9BQU8sc0JBQXNCLE1BQU0sMEJBQTBCLENBQUE7QUFDN0QsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFBO0FBQzVCLE9BQU8saUJBQWlCLE1BQU0sMENBQTBDLENBQUE7QUFFeEU7O0dBRUc7QUFFSDs7O0dBR0c7QUFDSCxLQUFLLFVBQVUsdUJBQXVCLENBQUMsUUFBUTtJQUM3QyxNQUFNLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO0lBQzlELE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQTtJQUU5QyxJQUFJLE9BQU8saUJBQWlCLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDNUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUM3RSxDQUFDO0lBRUQsT0FBTyxpQkFBaUIsQ0FBQTtBQUMxQixDQUFDO0FBRUQsbUZBQW1GO0FBQ25GLE1BQU0sQ0FBQyxPQUFPLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQUN2RCw4RUFBOEU7SUFDOUUsS0FBSyxDQUFDLE9BQU87UUFDWCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUM3QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUE7UUFFeEMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtRQUU5QixJQUFJLENBQUM7WUFDSCxNQUFNLGFBQWEsQ0FBQyx1QkFBdUIsRUFBRSxDQUFBO1lBRTdDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUVuRSxPQUFPLE1BQU0saUJBQWlCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQTtRQUM5RCxDQUFDO2dCQUFTLENBQUM7WUFDVCxNQUFNLGFBQWEsQ0FBQyx3QkFBd0IsRUFBRSxDQUFBO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBRUQsbUZBQW1GO0lBQ25GLEtBQUssQ0FBQyxpQkFBaUI7UUFDckIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUE7UUFFN0MsTUFBTSxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBQyxDQUFDLENBQUE7UUFFcEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLENBQUM7WUFDL0MsYUFBYSxDQUFDLHNCQUFzQixFQUFFLENBQUE7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFFRCwwRUFBMEU7SUFDMUUsY0FBYztRQUNaLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUV0QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLHlFQUF5RSxDQUFDLENBQUE7UUFDNUYsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDakQsQ0FBQztJQUVELG1GQUFtRjtJQUNuRixxQkFBcUI7UUFDbkIsT0FBTyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDeEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VDb21tYW5kIGZyb20gXCIuLi8uLi8uLi8uLi9jbGkvYmFzZS1jb21tYW5kLmpzXCJcbmltcG9ydCBidWlsZENsaUNvbW1hbmRDb250ZXh0IGZyb20gXCIuL2NsaS1jb21tYW5kLWNvbnRleHQuanNcIlxuaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiXG5pbXBvcnQgdG9JbXBvcnRTcGVjaWZpZXIgZnJvbSBcIi4uLy4uLy4uLy4uL3V0aWxzL3RvLWltcG9ydC1zcGVjaWZpZXIuanNcIlxuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoXCIuL2NsaS1jb21tYW5kLWNvbnRleHQuanNcIikuQ2xpQ29tbWFuZENvbnRleHR9IFJ1blNjcmlwdENvbnRleHRcbiAqL1xuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlUGF0aCAtIEFic29sdXRlIHBhdGggdG8gc2NyaXB0IGZpbGUuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTwoY29udGV4dDogUnVuU2NyaXB0Q29udGV4dCkgPT4gUHJvbWlzZTx1bmtub3duPj59IC0gVGhlIGRlZmF1bHQtZXhwb3J0ZWQgYXN5bmMgZnVuY3Rpb24uXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGltcG9ydFJ1blNjcmlwdEZ1bmN0aW9uKGZpbGVQYXRoKSB7XG4gIGNvbnN0IHNjcmlwdEltcG9ydCA9IGF3YWl0IGltcG9ydCh0b0ltcG9ydFNwZWNpZmllcihmaWxlUGF0aCkpXG4gIGNvbnN0IHJ1blNjcmlwdEZ1bmN0aW9uID0gc2NyaXB0SW1wb3J0LmRlZmF1bHRcblxuICBpZiAodHlwZW9mIHJ1blNjcmlwdEZ1bmN0aW9uICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIGRlZmF1bHQgZXhwb3J0IHRvIGJlIGEgZnVuY3Rpb24gaW46ICR7ZmlsZVBhdGh9YClcbiAgfVxuXG4gIHJldHVybiBydW5TY3JpcHRGdW5jdGlvblxufVxuXG4vKiogTm9kZSBjb21tYW5kIGZvciBydW5uaW5nIGEgY3VzdG9tIHNjcmlwdCBmaWxlIGluIGluaXRpYWxpemVkIGFwcC9EQiBjb250ZXh0LiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUnVuU2NyaXB0Q29tbWFuZCBleHRlbmRzIEJhc2VDb21tYW5kIHtcbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fSAtIFJlc29sdmVzIHdpdGggdGhlIHNjcmlwdCBmdW5jdGlvbiByZXN1bHQuICovXG4gIGFzeW5jIGV4ZWN1dGUoKSB7XG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpXG4gICAgY29uc3Qgc2NyaXB0UGF0aCA9IHRoaXMuc2NyaXB0RmlsZVBhdGgoKVxuXG4gICAgYXdhaXQgdGhpcy5pbml0aWFsaXplUnVudGltZSgpXG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgY29uZmlndXJhdGlvbi5lbnN1cmVHbG9iYWxDb25uZWN0aW9ucygpXG5cbiAgICAgIGNvbnN0IHJ1blNjcmlwdEZ1bmN0aW9uID0gYXdhaXQgaW1wb3J0UnVuU2NyaXB0RnVuY3Rpb24oc2NyaXB0UGF0aClcblxuICAgICAgcmV0dXJuIGF3YWl0IHJ1blNjcmlwdEZ1bmN0aW9uKHRoaXMuYnVpbGRSdW5TY3JpcHRDb250ZXh0KCkpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IGNvbmZpZ3VyYXRpb24uY2xvc2VEYXRhYmFzZUNvbm5lY3Rpb25zKClcbiAgICB9XG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBydW50aW1lIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlLiAqL1xuICBhc3luYyBpbml0aWFsaXplUnVudGltZSgpIHtcbiAgICBjb25zdCBjb25maWd1cmF0aW9uID0gdGhpcy5nZXRDb25maWd1cmF0aW9uKClcblxuICAgIGF3YWl0IGNvbmZpZ3VyYXRpb24uaW5pdGlhbGl6ZSh7dHlwZTogXCJydW4tc2NyaXB0XCJ9KVxuXG4gICAgaWYgKCFjb25maWd1cmF0aW9uLmlzRGF0YWJhc2VQb29sSW5pdGlhbGl6ZWQoKSkge1xuICAgICAgY29uZmlndXJhdGlvbi5pbml0aWFsaXplRGF0YWJhc2VQb29sKClcbiAgICB9XG4gIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZ30gLSBBYnNvbHV0ZSBwYXRoIHRvIHRoZSB1c2VyLXByb3ZpZGVkIHNjcmlwdCBmaWxlLiAqL1xuICBzY3JpcHRGaWxlUGF0aCgpIHtcbiAgICBjb25zdCBmaWxlUGF0aCA9IHRoaXMucHJvY2Vzc0FyZ3M/LlsxXVxuXG4gICAgaWYgKCFmaWxlUGF0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBmaWxlIHBhdGggYXJndW1lbnQuIFVzYWdlOiBucHggdmVsb2Npb3VzIHJ1bi1zY3JpcHQgW2ZpbGUtcGF0aF1cIilcbiAgICB9XG5cbiAgICByZXR1cm4gcGF0aC5yZXNvbHZlKHRoaXMuZGlyZWN0b3J5KCksIGZpbGVQYXRoKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtSdW5TY3JpcHRDb250ZXh0fSAtIFJ1bnRpbWUgY29udGV4dCBwYXNzZWQgdG8gdGhlIHNjcmlwdCBmdW5jdGlvbi4gKi9cbiAgYnVpbGRSdW5TY3JpcHRDb250ZXh0KCkge1xuICAgIHJldHVybiBidWlsZENsaUNvbW1hbmRDb250ZXh0KHRoaXMsIDIpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @typedef {
|
|
3
|
-
* @property {import("../../../../configuration.js").default} configuration - Configuration instance.
|
|
4
|
-
* @property {import("../../../../database/drivers/base.js").default | undefined} db - Default database connection.
|
|
5
|
-
* @property {Record<string, import("../../../../database/drivers/base.js").default>} dbs - Database connections keyed by identifier.
|
|
6
|
-
* @property {string[]} args - CLI args after the code expression.
|
|
2
|
+
* @typedef {import("./cli-command-context.js").CliCommandContext} RunnerContext
|
|
7
3
|
*/
|
|
8
4
|
/** Node command for evaluating inline JavaScript in initialized app/DB context. */
|
|
9
5
|
export default class RunnerCommand extends BaseCommand {
|
|
@@ -21,23 +17,6 @@ export default class RunnerCommand extends BaseCommand {
|
|
|
21
17
|
*/
|
|
22
18
|
evaluateCode(code: string): Promise<unknown>;
|
|
23
19
|
}
|
|
24
|
-
export type RunnerContext =
|
|
25
|
-
/**
|
|
26
|
-
* - Configuration instance.
|
|
27
|
-
*/
|
|
28
|
-
configuration: import("../../../../configuration.js").default;
|
|
29
|
-
/**
|
|
30
|
-
* - Default database connection.
|
|
31
|
-
*/
|
|
32
|
-
db: import("../../../../database/drivers/base.js").default | undefined;
|
|
33
|
-
/**
|
|
34
|
-
* - Database connections keyed by identifier.
|
|
35
|
-
*/
|
|
36
|
-
dbs: Record<string, import("../../../../database/drivers/base.js").default>;
|
|
37
|
-
/**
|
|
38
|
-
* - CLI args after the code expression.
|
|
39
|
-
*/
|
|
40
|
-
args: string[];
|
|
41
|
-
};
|
|
20
|
+
export type RunnerContext = import("./cli-command-context.js").CliCommandContext;
|
|
42
21
|
import BaseCommand from "../../../../cli/base-command.js";
|
|
43
22
|
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../../../src/environment-handlers/node/cli/commands/runner.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../../../src/environment-handlers/node/cli/commands/runner.js"],"names":[],"mappings":"AAGA;;GAEG;AAEH,mFAAmF;AACnF;IACE,6EAA6E;IAC7E,WADc,OAAO,CAAC,OAAO,CAAC,CAc7B;IAED,mFAAmF;IACnF,qBADc,OAAO,CAAC,IAAI,CAAC,CAS1B;IAED,8DAA8D;IAC9D,cADc,MAAM,CASnB;IAED,2EAA2E;IAC3E,sBADc,aAAa,CAG1B;IAED;;;OAGG;IACH,mBAHW,MAAM,GACJ,OAAO,CAAC,OAAO,CAAC,CAc5B;CACF;4BAjEY,OAAO,0BAA0B,EAAE,iBAAiB;wBAJzC,iCAAiC"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import BaseCommand from "../../../../cli/base-command.js";
|
|
2
|
+
import buildCliCommandContext from "./cli-command-context.js";
|
|
2
3
|
/**
|
|
3
|
-
* @typedef {
|
|
4
|
-
* @property {import("../../../../configuration.js").default} configuration - Configuration instance.
|
|
5
|
-
* @property {import("../../../../database/drivers/base.js").default | undefined} db - Default database connection.
|
|
6
|
-
* @property {Record<string, import("../../../../database/drivers/base.js").default>} dbs - Database connections keyed by identifier.
|
|
7
|
-
* @property {string[]} args - CLI args after the code expression.
|
|
4
|
+
* @typedef {import("./cli-command-context.js").CliCommandContext} RunnerContext
|
|
8
5
|
*/
|
|
9
6
|
/** Node command for evaluating inline JavaScript in initialized app/DB context. */
|
|
10
7
|
export default class RunnerCommand extends BaseCommand {
|
|
@@ -13,8 +10,8 @@ export default class RunnerCommand extends BaseCommand {
|
|
|
13
10
|
const configuration = this.getConfiguration();
|
|
14
11
|
const code = this.runnerCode();
|
|
15
12
|
await this.initializeRuntime();
|
|
16
|
-
await configuration.ensureGlobalConnections();
|
|
17
13
|
try {
|
|
14
|
+
await configuration.ensureGlobalConnections();
|
|
18
15
|
return await this.evaluateCode(code);
|
|
19
16
|
}
|
|
20
17
|
finally {
|
|
@@ -39,17 +36,7 @@ export default class RunnerCommand extends BaseCommand {
|
|
|
39
36
|
}
|
|
40
37
|
/** @returns {RunnerContext} - Runtime context passed to evaluated code. */
|
|
41
38
|
buildRunnerContext() {
|
|
42
|
-
|
|
43
|
-
const dbs = configuration.getCurrentConnections();
|
|
44
|
-
const identifiers = Object.keys(dbs);
|
|
45
|
-
/** @type {string[]} */
|
|
46
|
-
const processArgs = this.processArgs || [];
|
|
47
|
-
return {
|
|
48
|
-
configuration,
|
|
49
|
-
db: dbs.default || (identifiers.length > 0 ? dbs[identifiers[0]] : undefined),
|
|
50
|
-
dbs,
|
|
51
|
-
args: processArgs.slice(2)
|
|
52
|
-
};
|
|
39
|
+
return buildCliCommandContext(this, 2);
|
|
53
40
|
}
|
|
54
41
|
/**
|
|
55
42
|
* @param {string} code - JavaScript code to evaluate.
|
|
@@ -62,4 +49,4 @@ export default class RunnerCommand extends BaseCommand {
|
|
|
62
49
|
return await runFunction(context.configuration, context.db, context.dbs, context.args);
|
|
63
50
|
}
|
|
64
51
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Vudmlyb25tZW50LWhhbmRsZXJzL25vZGUvY2xpL2NvbW1hbmRzL3J1bm5lci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFdBQVcsTUFBTSxpQ0FBaUMsQ0FBQTtBQUN6RCxPQUFPLHNCQUFzQixNQUFNLDBCQUEwQixDQUFBO0FBRTdEOztHQUVHO0FBRUgsbUZBQW1GO0FBQ25GLE1BQU0sQ0FBQyxPQUFPLE9BQU8sYUFBYyxTQUFRLFdBQVc7SUFDcEQsNkVBQTZFO0lBQzdFLEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUE7UUFDN0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBO1FBRTlCLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUE7UUFFOUIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxhQUFhLENBQUMsdUJBQXVCLEVBQUUsQ0FBQTtZQUU3QyxPQUFPLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUN0QyxDQUFDO2dCQUFTLENBQUM7WUFDVCxNQUFNLGFBQWEsQ0FBQyx3QkFBd0IsRUFBRSxDQUFBO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBRUQsbUZBQW1GO0lBQ25GLEtBQUssQ0FBQyxpQkFBaUI7UUFDckIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUE7UUFFN0MsTUFBTSxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUMsSUFBSSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUE7UUFFaEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLENBQUM7WUFDL0MsYUFBYSxDQUFDLHNCQUFzQixFQUFFLENBQUE7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFFRCw4REFBOEQ7SUFDOUQsVUFBVTtRQUNSLE1BQU0sSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO1FBRS9ELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsMEVBQTBFLENBQUMsQ0FBQTtRQUM3RixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQsMkVBQTJFO0lBQzNFLGtCQUFrQjtRQUNoQixPQUFPLHNCQUFzQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJO1FBQ3JCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFBO1FBQ3pDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxlQUFjLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQTtRQUM3RSxNQUFNLFdBQVcsR0FBRyxJQUFJLGFBQWEsQ0FDbkMsZUFBZSxFQUNmLElBQUksRUFDSixLQUFLLEVBQ0wsTUFBTSxFQUNOLElBQUksQ0FDTCxDQUFBO1FBRUQsT0FBTyxNQUFNLFdBQVcsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDeEYsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VDb21tYW5kIGZyb20gXCIuLi8uLi8uLi8uLi9jbGkvYmFzZS1jb21tYW5kLmpzXCJcbmltcG9ydCBidWlsZENsaUNvbW1hbmRDb250ZXh0IGZyb20gXCIuL2NsaS1jb21tYW5kLWNvbnRleHQuanNcIlxuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoXCIuL2NsaS1jb21tYW5kLWNvbnRleHQuanNcIikuQ2xpQ29tbWFuZENvbnRleHR9IFJ1bm5lckNvbnRleHRcbiAqL1xuXG4vKiogTm9kZSBjb21tYW5kIGZvciBldmFsdWF0aW5nIGlubGluZSBKYXZhU2NyaXB0IGluIGluaXRpYWxpemVkIGFwcC9EQiBjb250ZXh0LiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUnVubmVyQ29tbWFuZCBleHRlbmRzIEJhc2VDb21tYW5kIHtcbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fSAtIFJlc29sdmVzIHdpdGggdGhlIGV2YWx1YXRlZCBjb2RlIHJlc3VsdC4gKi9cbiAgYXN5bmMgZXhlY3V0ZSgpIHtcbiAgICBjb25zdCBjb25maWd1cmF0aW9uID0gdGhpcy5nZXRDb25maWd1cmF0aW9uKClcbiAgICBjb25zdCBjb2RlID0gdGhpcy5ydW5uZXJDb2RlKClcblxuICAgIGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVJ1bnRpbWUoKVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGNvbmZpZ3VyYXRpb24uZW5zdXJlR2xvYmFsQ29ubmVjdGlvbnMoKVxuXG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5ldmFsdWF0ZUNvZGUoY29kZSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgY29uZmlndXJhdGlvbi5jbG9zZURhdGFiYXNlQ29ubmVjdGlvbnMoKVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIHJ1bnRpbWUgaW5pdGlhbGl6YXRpb24gaXMgY29tcGxldGUuICovXG4gIGFzeW5jIGluaXRpYWxpemVSdW50aW1lKCkge1xuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSB0aGlzLmdldENvbmZpZ3VyYXRpb24oKVxuXG4gICAgYXdhaXQgY29uZmlndXJhdGlvbi5pbml0aWFsaXplKHt0eXBlOiBcInJ1bm5lclwifSlcblxuICAgIGlmICghY29uZmlndXJhdGlvbi5pc0RhdGFiYXNlUG9vbEluaXRpYWxpemVkKCkpIHtcbiAgICAgIGNvbmZpZ3VyYXRpb24uaW5pdGlhbGl6ZURhdGFiYXNlUG9vbCgpXG4gICAgfVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtzdHJpbmd9IC0gSW5saW5lIEphdmFTY3JpcHQgY29kZSB0byBldmFsdWF0ZS4gKi9cbiAgcnVubmVyQ29kZSgpIHtcbiAgICBjb25zdCBjb2RlID0gKHRoaXMucHJvY2Vzc0FyZ3MgfHwgW10pLnNsaWNlKDEpLmpvaW4oXCIgXCIpLnRyaW0oKVxuXG4gICAgaWYgKCFjb2RlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNaXNzaW5nIGNvZGUgYXJndW1lbnQuIFVzYWdlOiBucHggdmVsb2Npb3VzIHJ1bm5lciBcXFwiPGphdmFzY3JpcHQtY29kZT5cXFwiXCIpXG4gICAgfVxuXG4gICAgcmV0dXJuIGNvZGVcbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7UnVubmVyQ29udGV4dH0gLSBSdW50aW1lIGNvbnRleHQgcGFzc2VkIHRvIGV2YWx1YXRlZCBjb2RlLiAqL1xuICBidWlsZFJ1bm5lckNvbnRleHQoKSB7XG4gICAgcmV0dXJuIGJ1aWxkQ2xpQ29tbWFuZENvbnRleHQodGhpcywgMilcbiAgfVxuXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29kZSAtIEphdmFTY3JpcHQgY29kZSB0byBldmFsdWF0ZS5cbiAgICogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59IC0gRXZhbHVhdGVkIGNvZGUgcmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgZXZhbHVhdGVDb2RlKGNvZGUpIHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5idWlsZFJ1bm5lckNvbnRleHQoKVxuICAgIGNvbnN0IEFzeW5jRnVuY3Rpb24gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoYXN5bmMgZnVuY3Rpb24gKCkge30pLmNvbnN0cnVjdG9yXG4gICAgY29uc3QgcnVuRnVuY3Rpb24gPSBuZXcgQXN5bmNGdW5jdGlvbihcbiAgICAgIFwiY29uZmlndXJhdGlvblwiLFxuICAgICAgXCJkYlwiLFxuICAgICAgXCJkYnNcIixcbiAgICAgIFwiYXJnc1wiLFxuICAgICAgY29kZVxuICAgIClcblxuICAgIHJldHVybiBhd2FpdCBydW5GdW5jdGlvbihjb250ZXh0LmNvbmZpZ3VyYXRpb24sIGNvbnRleHQuZGIsIGNvbnRleHQuZGJzLCBjb250ZXh0LmFyZ3MpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -33,8 +33,8 @@ export default class VelociousHttpServerWebsocketEventLogStore {
|
|
|
33
33
|
logger: Logger;
|
|
34
34
|
_isReady: boolean;
|
|
35
35
|
_readyPromise: Promise<void> | null;
|
|
36
|
-
/** @type {
|
|
37
|
-
_interestedChannels:
|
|
36
|
+
/** @type {Map<string, number>} */
|
|
37
|
+
_interestedChannels: Map<string, number>;
|
|
38
38
|
/**
|
|
39
39
|
* @returns {Promise<void>} - Resolves when ready.
|
|
40
40
|
*/
|