velocious 1.0.426 → 1.0.428

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 (28) hide show
  1. package/build/src/database/pool/async-tracked-multi-connection.d.ts +8 -6
  2. package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
  3. package/build/src/database/pool/async-tracked-multi-connection.js +30 -13
  4. package/build/src/database/pool/base.d.ts +2 -2
  5. package/build/src/database/pool/base.d.ts.map +1 -1
  6. package/build/src/database/pool/base.js +3 -3
  7. package/build/src/environment-handlers/node/cli/commands/cli-command-context.d.ts +32 -0
  8. package/build/src/environment-handlers/node/cli/commands/cli-command-context.d.ts.map +1 -0
  9. package/build/src/environment-handlers/node/cli/commands/cli-command-context.js +26 -0
  10. package/build/src/environment-handlers/node/cli/commands/console.d.ts.map +1 -1
  11. package/build/src/environment-handlers/node/cli/commands/console.js +3 -3
  12. package/build/src/environment-handlers/node/cli/commands/db/seed.d.ts +1 -18
  13. package/build/src/environment-handlers/node/cli/commands/db/seed.d.ts.map +1 -1
  14. package/build/src/environment-handlers/node/cli/commands/db/seed.js +5 -18
  15. package/build/src/environment-handlers/node/cli/commands/run-script.d.ts +1 -18
  16. package/build/src/environment-handlers/node/cli/commands/run-script.d.ts.map +1 -1
  17. package/build/src/environment-handlers/node/cli/commands/run-script.js +5 -18
  18. package/build/src/environment-handlers/node/cli/commands/runner.d.ts +2 -23
  19. package/build/src/environment-handlers/node/cli/commands/runner.d.ts.map +1 -1
  20. package/build/src/environment-handlers/node/cli/commands/runner.js +5 -18
  21. package/build/src/http-server/websocket-event-log-store.d.ts +2 -2
  22. package/build/src/http-server/websocket-event-log-store.d.ts.map +1 -1
  23. package/build/src/http-server/websocket-event-log-store.js +9 -4
  24. package/build/src/http-server/websocket-events-host.d.ts +19 -0
  25. package/build/src/http-server/websocket-events-host.d.ts.map +1 -1
  26. package/build/src/http-server/websocket-events-host.js +31 -19
  27. package/build/tsconfig.tsbuildinfo +1 -1
  28. package/package.json +1 -1
@@ -41,7 +41,7 @@ function stableStringify(value) {
41
41
  return JSON.stringify(value);
42
42
  }
43
43
  class VelociousDatabasePoolBase {
44
- /** @type {undefined | (<T>(callback: () => T) => T)} */
44
+ /** @type {undefined | ((callback: () => unknown) => unknown)} */
45
45
  _withoutCurrentConnectionContext = undefined;
46
46
  /**
47
47
  * @returns {VelociousDatabasePoolBase} - The current.
@@ -107,7 +107,7 @@ class VelociousDatabasePoolBase {
107
107
  */
108
108
  withoutCurrentConnectionContext(callback) {
109
109
  if (this._withoutCurrentConnectionContext)
110
- return this._withoutCurrentConnectionContext(callback);
110
+ return /** @type {T} */ (this._withoutCurrentConnectionContext(callback));
111
111
  return callback();
112
112
  }
113
113
  /**
@@ -291,4 +291,4 @@ class VelociousDatabasePoolBase {
291
291
  }
292
292
  baseMethodsForward(VelociousDatabasePoolBase);
293
293
  export default VelociousDatabasePoolBase;
294
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9wb29sL2Jhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sYUFBYSxNQUFNLHdCQUF3QixDQUFBO0FBQ2xELE9BQU8sTUFBTSxNQUFNLGlCQUFpQixDQUFBO0FBQ3BDLE9BQU8sa0JBQWtCLE1BQU0sMkJBQTJCLENBQUE7QUFFMUQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUE7QUFFN0U7OztHQUdHO0FBRUg7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCw4REFBOEQ7QUFDOUQsTUFBTSxNQUFNLEdBQUc7SUFDYixXQUFXLEVBQUUsSUFBSTtDQUNsQixDQUFBO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxlQUFlLENBQUMsS0FBSztJQUM1QixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUE7SUFDdEUsQ0FBQztJQUVELElBQUksS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLE1BQU07YUFDbkIsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDcEQsSUFBSSxFQUFFO2FBQ04sR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksZUFBZSxDQUFDLHNDQUFzQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7UUFFakgsT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQTtJQUNqQyxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQzlCLENBQUM7QUFFRCxNQUFNLHlCQUF5QjtJQUM3Qix3REFBd0Q7SUFDeEQsZ0NBQWdDLEdBQUcsU0FBUyxDQUFBO0lBRTVDOztPQUVHO0lBQ0gsTUFBTSxDQUFDLE9BQU87UUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVc7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUE7UUFFM0UsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFBO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsc0JBQXNCLEtBQUksQ0FBQztJQUVsQzs7OztPQUlHO0lBQ0gsWUFBWSxFQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLElBQUksYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBRTdELElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtRQUNsRSxJQUFJLENBQUMsVUFBVTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQTtRQUUzRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQTtRQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2hDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPLENBQUMsV0FBVztRQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUE7SUFDOUMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxRQUFRLENBQUMsUUFBUTtRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQTtJQUMvQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsb0JBQW9CO1FBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQTtJQUMzRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILDJCQUEyQjtRQUN6QixPQUFPLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFBO0lBQ3BDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsK0JBQStCLENBQUMsUUFBUTtRQUN0QyxJQUFJLElBQUksQ0FBQyxnQ0FBZ0M7WUFBRSxPQUFPLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUVqRyxPQUFPLFFBQVEsRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDekUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsd0JBQXdCO1FBQ3RCLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUE7UUFFckQsT0FBTyxlQUFlLENBQUM7WUFDckIsUUFBUSxFQUFFLHFCQUFxQixDQUFDLFFBQVE7WUFDeEMsSUFBSSxFQUFFLHFCQUFxQixDQUFDLElBQUk7WUFDaEMsSUFBSSxFQUFFLHFCQUFxQixDQUFDLElBQUk7WUFDaEMsSUFBSSxFQUFFLHFCQUFxQixDQUFDLElBQUk7WUFDaEMsTUFBTSxFQUFFLHFCQUFxQixDQUFDLE1BQU07WUFDcEMsV0FBVyxFQUFFLHFCQUFxQixDQUFDLFdBQVc7WUFDOUMsU0FBUyxFQUFFLHFCQUFxQixDQUFDLFNBQVM7WUFDMUMsSUFBSSxFQUFFLHFCQUFxQixDQUFDLElBQUk7WUFDaEMsV0FBVyxFQUFFLHFCQUFxQixDQUFDLFdBQVc7WUFDOUMsUUFBUSxFQUFFLHFCQUFxQixDQUFDLFFBQVE7U0FDekMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILHFDQUFxQyxDQUFDLFVBQVU7UUFDOUMsTUFBTSxxQkFBcUIsR0FBRyx5RkFBeUYsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBRXBJLE9BQU8scUJBQXFCLENBQUMsc0JBQXNCLENBQUMsS0FBSyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQTtJQUMxRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQjtRQUNkLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFBO0lBQy9ELENBQUM7SUFFRDs7O09BR0c7SUFDSCwyQkFBMkIsQ0FBQyxVQUFVO1FBQ3BDLFVBQVUsQ0FBQyxzQkFBc0IsRUFBRSxDQUFBO0lBQ3JDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjO1FBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFBO0lBQ3JELENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVU7UUFDUixNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQTtJQUMzQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjLENBQUMsV0FBVztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQTtJQUNoQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsZUFBZTtRQUNuQixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUU5QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxFQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLGNBQWMsRUFBQyxDQUFDLENBQUE7UUFFbkYsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0NBQWdDLENBQUMsY0FBYyxDQUFDLENBQUE7UUFFOUUsTUFBTSxxQkFBcUIsR0FBRyx5RkFBeUYsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ3BJLHFCQUFxQixDQUFDLHNCQUFzQixDQUFDLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUE7UUFDL0UsVUFBVSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsRUFBRTtZQUN4QyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtZQUN2QixJQUFJLENBQUMsYUFBYSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLENBQUE7UUFDbEYsQ0FBQyxDQUFDLENBQUE7UUFFRixPQUFPLFVBQVUsQ0FBQTtJQUNuQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLE1BQU07UUFDM0MsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFBO1FBRXJELElBQUksQ0FBQyxXQUFXO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx5REFBeUQsQ0FBQyxDQUFBO1FBRTVGLE1BQU0sVUFBVSxHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7UUFFOUQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDNUIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUN4RCxNQUFNLEtBQUssQ0FBQTtRQUNiLENBQUM7UUFFRCxPQUFPLFVBQVUsQ0FBQTtJQUNuQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLGlDQUFpQyxDQUFDLFVBQVU7UUFDaEQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUE7UUFDMUIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQywwREFBMEQsRUFBRSxFQUFDLEtBQUssRUFBQyxDQUFDLENBQUE7UUFDdkYsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxjQUFjLENBQUMsa0JBQWtCLEVBQUUsU0FBUztRQUMxQyxNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUE7SUFDckQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsc0JBQXNCO1FBQzFCLE9BQU8sTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDOUIsQ0FBQztJQUVELGdGQUFnRjtJQUNoRixnQkFBZ0I7UUFDZCxPQUFPO1lBQ0wsYUFBYSxFQUFFLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUNoRCxXQUFXLEVBQUUsRUFBRTtZQUNmLHVCQUF1QixFQUFFLENBQUM7WUFDMUIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFNBQVMsRUFBRSxDQUFDO1lBQ1osVUFBVSxFQUFFLENBQUM7WUFDYixvQkFBb0IsRUFBRSxDQUFDO1lBQ3ZCLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUk7U0FDakMsQ0FBQTtJQUNILENBQUM7SUFFRCxzRkFBc0Y7SUFDdEYsMEJBQTBCO1FBQ3hCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1FBQzlDLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUE7UUFFdEMsT0FBTztZQUNMLFFBQVEsRUFBRSxjQUFjLENBQUMsUUFBUTtZQUNqQyxNQUFNLEVBQUUsY0FBYyxDQUFDLE1BQU0sRUFBRSxJQUFJO1lBQ25DLElBQUksRUFBRSxjQUFjLENBQUMsSUFBSTtZQUN6QixVQUFVLEVBQUUsY0FBYyxDQUFDLFVBQVU7WUFDckMsSUFBSSxFQUFFLGNBQWMsQ0FBQyxJQUFJO1lBQ3pCLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUMsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDckcsSUFBSSxFQUFFLGNBQWMsQ0FBQyxJQUFJO1lBQ3pCLE1BQU0sRUFBRSxjQUFjLENBQUMsTUFBTTtZQUM3QixJQUFJLEVBQUUsY0FBYyxDQUFDLElBQUk7WUFDekIsV0FBVyxFQUFFLGNBQWMsQ0FBQyxXQUFXO1lBQ3ZDLFFBQVEsRUFBRSxjQUFjLENBQUMsUUFBUTtTQUNsQyxDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCx1QkFBdUIsQ0FBQyxVQUFVLEVBQUUsT0FBTyxHQUFHLEVBQUU7UUFDOUMsTUFBTSxxQkFBcUIsR0FBRyx5RkFBeUYsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBRXBJLE9BQU87WUFDTCxHQUFHLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRTtZQUNoQyxHQUFHLE9BQU87WUFDVixRQUFRLEVBQUUscUJBQXFCLENBQUMsc0JBQXNCLENBQUM7U0FDeEQsQ0FBQTtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsUUFBUSxLQUFJLENBQUM7Q0FDcEI7QUFFRCxrQkFBa0IsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFBO0FBRTdDLGVBQWUseUJBQXlCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IENvbmZpZ3VyYXRpb24gZnJvbSBcIi4uLy4uL2NvbmZpZ3VyYXRpb24uanNcIlxuaW1wb3J0IExvZ2dlciBmcm9tIFwiLi4vLi4vbG9nZ2VyLmpzXCJcbmltcG9ydCBiYXNlTWV0aG9kc0ZvcndhcmQgZnJvbSBcIi4vYmFzZS1tZXRob2RzLWZvcndhcmQuanNcIlxuXG5leHBvcnQgY29uc3QgUE9PTF9DT05GSUdVUkFUSU9OX0tFWSA9IFN5bWJvbChcInZlbG9jaW91c1Bvb2xDb25maWd1cmF0aW9uS2V5XCIpXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gQ29ubmVjdGlvbkNoZWNrb3V0T3B0aW9uc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFtuYW1lXSAtIEh1bWFuLXJlYWRhYmxlIG5hbWUgZm9yIHRoZSBjaGVja2VkLW91dCBjb25uZWN0aW9uLlxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gRGF0YWJhc2VQb29sRGVidWdTbmFwc2hvdFxuICogQHByb3BlcnR5IHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gY29uZmlndXJhdGlvbiAtIFNhbml0aXplZCByZXNvbHZlZCBkYXRhYmFzZSBjb25maWd1cmF0aW9uLlxuICogQHByb3BlcnR5IHtBcnJheTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj59IGNvbm5lY3Rpb25zIC0gTGl2ZSBjb25uZWN0aW9uIHNuYXBzaG90cy5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBjb25uZWN0aW9uc0JlaW5nU3Bhd25lZCAtIE51bWJlciBvZiBpbi1wcm9ncmVzcyBjb25uZWN0aW9uIHNwYXducy5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBpZGxlQ291bnQgLSBOdW1iZXIgb2YgaWRsZSBjb25uZWN0aW9ucy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBpZGVudGlmaWVyIC0gRGF0YWJhc2UgaWRlbnRpZmllci5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBpblVzZUNvdW50IC0gTnVtYmVyIG9mIGNoZWNrZWQtb3V0IGNvbm5lY3Rpb25zLlxuICogQHByb3BlcnR5IHtBcnJheTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj59IFtwZW5kaW5nQ2hlY2tvdXRzXSAtIFdhaXRpbmcgY2hlY2tvdXQgc25hcHNob3RzLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IHBlbmRpbmdDaGVja291dENvdW50IC0gTnVtYmVyIG9mIHF1ZXVlZCBjaGVja291dCByZXF1ZXN0cy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBwb29sQ2xhc3MgLSBQb29sIGNsYXNzIG5hbWUuXG4gKi9cblxuLyoqIEB0eXBlIHt7Y3VycmVudFBvb2w6IFZlbG9jaW91c0RhdGFiYXNlUG9vbEJhc2UgfCBudWxsfX0gKi9cbmNvbnN0IHNoYXJlZCA9IHtcbiAgY3VycmVudFBvb2w6IG51bGxcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3Vua25vd259IHZhbHVlIC0gVmFsdWUgdG8gc3RyaW5naWZ5LlxuICogQHJldHVybnMge3N0cmluZ30gLSBTdGFibGUgSlNPTiBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIHN0YWJsZVN0cmluZ2lmeSh2YWx1ZSkge1xuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gYFske3ZhbHVlLm1hcCgoZW50cnkpID0+IHN0YWJsZVN0cmluZ2lmeShlbnRyeSkpLmpvaW4oXCIsXCIpfV1gXG4gIH1cblxuICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiKSB7XG4gICAgY29uc3QgZW50cmllcyA9IE9iamVjdFxuICAgICAgLmtleXMoLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gKi8gKHZhbHVlKSlcbiAgICAgIC5zb3J0KClcbiAgICAgIC5tYXAoKGtleSkgPT4gYCR7SlNPTi5zdHJpbmdpZnkoa2V5KX06JHtzdGFibGVTdHJpbmdpZnkoLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gKi8gKHZhbHVlKVtrZXldKX1gKVxuXG4gICAgcmV0dXJuIGB7JHtlbnRyaWVzLmpvaW4oXCIsXCIpfX1gXG4gIH1cblxuICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUpXG59XG5cbmNsYXNzIFZlbG9jaW91c0RhdGFiYXNlUG9vbEJhc2Uge1xuICAvKiogQHR5cGUge3VuZGVmaW5lZCB8ICg8VD4oY2FsbGJhY2s6ICgpID0+IFQpID0+IFQpfSAqL1xuICBfd2l0aG91dEN1cnJlbnRDb25uZWN0aW9uQ29udGV4dCA9IHVuZGVmaW5lZFxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7VmVsb2Npb3VzRGF0YWJhc2VQb29sQmFzZX0gLSBUaGUgY3VycmVudC5cbiAgICovXG4gIHN0YXRpYyBjdXJyZW50KCkge1xuICAgIGlmICghc2hhcmVkLmN1cnJlbnRQb29sKSB0aHJvdyBuZXcgRXJyb3IoXCJBIGRhdGFiYXNlIHBvb2wgaGFzbid0IGJlZW4gc2V0XCIpXG5cbiAgICByZXR1cm4gc2hhcmVkLmN1cnJlbnRQb29sXG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIGFueSBnbG9iYWwgY29ubmVjdGlvbnMgZm9yIHRoZSBnaXZlbiBjb25maWd1cmF0aW9uLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBzdGF0aWMgY2xlYXJHbG9iYWxDb25uZWN0aW9ucygpIHt9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7Q29uZmlndXJhdGlvbn0gYXJncy5jb25maWd1cmF0aW9uIC0gQ29uZmlndXJhdGlvbiBpbnN0YW5jZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MuaWRlbnRpZmllciAtIElkZW50aWZpZXIuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7Y29uZmlndXJhdGlvbiwgaWRlbnRpZmllcn0pIHtcbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uIHx8IENvbmZpZ3VyYXRpb24uY3VycmVudCgpXG5cbiAgICBpZiAoIXRoaXMuY29uZmlndXJhdGlvbikgdGhyb3cgbmV3IEVycm9yKFwiTm8gY29uZmlndXJhdGlvbiBnaXZlblwiKVxuICAgIGlmICghaWRlbnRpZmllcikgdGhyb3cgbmV3IEVycm9yKFwiTm8gaWRlbnRpZmllciB3YXMgZ2l2ZW5cIilcblxuICAgIHRoaXMuaWRlbnRpZmllciA9IGlkZW50aWZpZXJcbiAgICB0aGlzLmxvZ2dlciA9IG5ldyBMb2dnZXIodGhpcylcbiAgfVxuXG4gIC8qKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdH0gX2Nvbm5lY3Rpb24gLSBDb25uZWN0aW9uLlxuICAgKi9cbiAgY2hlY2tpbihfY29ubmVjdGlvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihcIidjaGVja2luJyBub3QgaW1wbGVtZW50ZWRcIilcbiAgfVxuXG4gIC8qKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtDb25uZWN0aW9uQ2hlY2tvdXRPcHRpb25zfSBbX29wdGlvbnNdIC0gQ2hlY2tvdXQgb3B0aW9ucy5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQ+fSAtIFJlc29sdmVzIHdpdGggdGhlIGNoZWNrb3V0LlxuICAgKi9cbiAgY2hlY2tvdXQoX29wdGlvbnMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCInY2hlY2tvdXQnIG5vdCBpbXBsZW1lbnRlZFwiKVxuICB9XG5cbiAgLyoqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHR9IC0gVGhlIGN1cnJlbnQgY29ubmVjdGlvbi5cbiAgICovXG4gIGdldEN1cnJlbnRDb25uZWN0aW9uKCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIidnZXRDdXJyZW50Q29ubmVjdGlvbicgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY29ubmVjdGlvbiBwaW5uZWQgdG8gdGhlIGN1cnJlbnQgY29udGV4dCwgaWYgYW55LlxuICAgKiBEZWZhdWx0IGltcGxlbWVudGF0aW9uIGRlZmVycyB0byBgZ2V0Q3VycmVudENvbm5lY3Rpb25gLlxuICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQgfCB1bmRlZmluZWR9IC0gVGhlIGN1cnJlbnQgY29udGV4dCBjb25uZWN0aW9uLlxuICAgKi9cbiAgZ2V0Q3VycmVudENvbnRleHRDb25uZWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmdldEN1cnJlbnRDb25uZWN0aW9uKClcbiAgfVxuXG4gIC8qKlxuICAgKiBAdGVtcGxhdGUgVFxuICAgKiBAcGFyYW0geygpID0+IFR9IGNhbGxiYWNrIC0gQ2FsbGJhY2sgdG8gcnVuIHdpdGhvdXQgYW55IGN1cnJlbnQgY29ubmVjdGlvbiBjb250ZXh0LlxuICAgKiBAcmV0dXJucyB7VH0gLSBDYWxsYmFjayByZXN1bHQuXG4gICAqL1xuICB3aXRob3V0Q3VycmVudENvbm5lY3Rpb25Db250ZXh0KGNhbGxiYWNrKSB7XG4gICAgaWYgKHRoaXMuX3dpdGhvdXRDdXJyZW50Q29ubmVjdGlvbkNvbnRleHQpIHJldHVybiB0aGlzLl93aXRob3V0Q3VycmVudENvbm5lY3Rpb25Db250ZXh0KGNhbGxiYWNrKVxuXG4gICAgcmV0dXJuIGNhbGxiYWNrKClcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiLi4vLi4vY29uZmlndXJhdGlvbi10eXBlcy5qc1wiKS5EYXRhYmFzZUNvbmZpZ3VyYXRpb25UeXBlfSAtIFJlc29sdmVkIGRhdGFiYXNlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBwb29sIGlkZW50aWZpZXIuXG4gICAqL1xuICBnZXRDb25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ3VyYXRpb24ucmVzb2x2ZURhdGFiYXNlQ29uZmlndXJhdGlvbih0aGlzLmlkZW50aWZpZXIpXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZ30gLSBSZXVzZSBrZXkgZm9yIHRoZSBjdXJyZW50bHkgcmVzb2x2ZWQgZGF0YWJhc2UgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIGdldENvbmZpZ3VyYXRpb25SZXVzZUtleSgpIHtcbiAgICBjb25zdCBkYXRhYmFzZUNvbmZpZ3VyYXRpb24gPSB0aGlzLmdldENvbmZpZ3VyYXRpb24oKVxuXG4gICAgcmV0dXJuIHN0YWJsZVN0cmluZ2lmeSh7XG4gICAgICBkYXRhYmFzZTogZGF0YWJhc2VDb25maWd1cmF0aW9uLmRhdGFiYXNlLFxuICAgICAgaG9zdDogZGF0YWJhc2VDb25maWd1cmF0aW9uLmhvc3QsXG4gICAgICBuYW1lOiBkYXRhYmFzZUNvbmZpZ3VyYXRpb24ubmFtZSxcbiAgICAgIHBvcnQ6IGRhdGFiYXNlQ29uZmlndXJhdGlvbi5wb3J0LFxuICAgICAgc2NoZW1hOiBkYXRhYmFzZUNvbmZpZ3VyYXRpb24uc2NoZW1hLFxuICAgICAgc2NoZW1hQ2FjaGU6IGRhdGFiYXNlQ29uZmlndXJhdGlvbi5zY2hlbWFDYWNoZSxcbiAgICAgIHNxbENvbmZpZzogZGF0YWJhc2VDb25maWd1cmF0aW9uLnNxbENvbmZpZyxcbiAgICAgIHR5cGU6IGRhdGFiYXNlQ29uZmlndXJhdGlvbi50eXBlLFxuICAgICAgdXNlRGF0YWJhc2U6IGRhdGFiYXNlQ29uZmlndXJhdGlvbi51c2VEYXRhYmFzZSxcbiAgICAgIHVzZXJuYW1lOiBkYXRhYmFzZUNvbmZpZ3VyYXRpb24udXNlcm5hbWVcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHR9IGNvbm5lY3Rpb24gLSBDb25uZWN0aW9uLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIGNvbm5lY3Rpb24gbWF0Y2hlcyBjdXJyZW50IHJlc29sdmVkIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBjb25uZWN0aW9uTWF0Y2hlc0N1cnJlbnRDb25maWd1cmF0aW9uKGNvbm5lY3Rpb24pIHtcbiAgICBjb25zdCBjb25uZWN0aW9uV2l0aFBvb2xLZXkgPSAvKiogQHR5cGUge2ltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0ICYge1tQT09MX0NPTkZJR1VSQVRJT05fS0VZXT86IHN0cmluZ319ICovIChjb25uZWN0aW9uKVxuXG4gICAgcmV0dXJuIGNvbm5lY3Rpb25XaXRoUG9vbEtleVtQT09MX0NPTkZJR1VSQVRJT05fS0VZXSA9PT0gdGhpcy5nZXRDb25maWd1cmF0aW9uUmV1c2VLZXkoKVxuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyBzY2hlbWEgbWV0YWRhdGEgY2FjaGVkIGJ5IHRoaXMgcG9vbCdzIGN1cnJlbnQgY29ubmVjdGlvbi5cbiAgICogUG9vbHMgdGhhdCBrZWVwIG11bHRpcGxlIGNvbm5lY3Rpb25zIGFsaXZlIHNob3VsZCBvdmVycmlkZSB0aGlzIHRvIGNsZWFyIGV2ZXJ5IGxpdmUgY29ubmVjdGlvbi5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgY2xlYXJTY2hlbWFDYWNoZSgpIHtcbiAgICB0aGlzLl9jbGVhckNvbm5lY3Rpb25TY2hlbWFDYWNoZSh0aGlzLmdldEN1cnJlbnRDb25uZWN0aW9uKCkpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdH0gY29ubmVjdGlvbiAtIENvbm5lY3Rpb24gd2hvc2UgbG9jYWwgc2NoZW1hIGNhY2hlIHNob3VsZCBiZSBjbGVhcmVkLlxuICAgKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gICAqL1xuICBfY2xlYXJDb25uZWN0aW9uU2NoZW1hQ2FjaGUoY29ubmVjdGlvbikge1xuICAgIGNvbm5lY3Rpb24uX2NsZWFyTG9jYWxTY2hlbWFDYWNoZSgpXG4gIH1cblxuICAvKipcbiAgICogQGFic3RyYWN0XG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIHByaW1hcnkga2V5IHR5cGUuXG4gICAqL1xuICBwcmltYXJ5S2V5VHlwZSgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCIncHJpbWFyeUtleVR5cGUnIG5vdCBpbXBsZW1lbnRlZFwiKVxuICB9XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAgICovXG4gIHNldEN1cnJlbnQoKSB7XG4gICAgc2hhcmVkLmN1cnJlbnRQb29sID0gdGhpc1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7dHlwZW9mIGltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0fSBkcml2ZXJDbGFzcyAtIERyaXZlciBjbGFzcy5cbiAgICovXG4gIHNldERyaXZlckNsYXNzKGRyaXZlckNsYXNzKSB7XG4gICAgdGhpcy5kcml2ZXJDbGFzcyA9IGRyaXZlckNsYXNzXG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQ+fSAtIFJlc29sdmVzIHdpdGggdGhlIHNwYXduIGNvbm5lY3Rpb24uXG4gICAqL1xuICBhc3luYyBzcGF3bkNvbm5lY3Rpb24oKSB7XG4gICAgY29uc3QgZGF0YWJhc2VDb25maWcgPSB0aGlzLmdldENvbmZpZ3VyYXRpb24oKVxuXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJzcGF3bkNvbm5lY3Rpb25cIiwge2lkZW50aWZpZXI6IHRoaXMuaWRlbnRpZmllciwgZGF0YWJhc2VDb25maWd9KVxuXG4gICAgY29uc3QgY29ubmVjdGlvbiA9IGF3YWl0IHRoaXMuc3Bhd25Db25uZWN0aW9uV2l0aENvbmZpZ3VyYXRpb24oZGF0YWJhc2VDb25maWcpXG5cbiAgICBjb25zdCBjb25uZWN0aW9uV2l0aFBvb2xLZXkgPSAvKiogQHR5cGUge2ltcG9ydChcIi4uL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0ICYge1tQT09MX0NPTkZJR1VSQVRJT05fS0VZXT86IHN0cmluZ319ICovIChjb25uZWN0aW9uKVxuICAgIGNvbm5lY3Rpb25XaXRoUG9vbEtleVtQT09MX0NPTkZJR1VSQVRJT05fS0VZXSA9IHRoaXMuZ2V0Q29uZmlndXJhdGlvblJldXNlS2V5KClcbiAgICBjb25uZWN0aW9uLnNldFNjaGVtYUNhY2hlSW52YWxpZGF0b3IoKCkgPT4ge1xuICAgICAgdGhpcy5jbGVhclNjaGVtYUNhY2hlKClcbiAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5jbGVhclNjaGVtYUNhY2hlc0ZvclJldXNlS2V5KHRoaXMuZ2V0Q29uZmlndXJhdGlvblJldXNlS2V5KCkpXG4gICAgfSlcblxuICAgIHJldHVybiBjb25uZWN0aW9uXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi8uLi9jb25maWd1cmF0aW9uLXR5cGVzLmpzXCIpLkRhdGFiYXNlQ29uZmlndXJhdGlvblR5cGV9IGNvbmZpZyAtIENvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdD59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgc3Bhd24gY29ubmVjdGlvbiB3aXRoIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBhc3luYyBzcGF3bkNvbm5lY3Rpb25XaXRoQ29uZmlndXJhdGlvbihjb25maWcpIHtcbiAgICBjb25zdCBEcml2ZXJDbGFzcyA9IGNvbmZpZy5kcml2ZXIgfHwgdGhpcy5kcml2ZXJDbGFzc1xuXG4gICAgaWYgKCFEcml2ZXJDbGFzcykgdGhyb3cgbmV3IEVycm9yKFwiTm8gZHJpdmVyIGNsYXNzIHNldCBpbiBkYXRhYmFzZSBwb29sIG9yIGluIGdpdmVuIGNvbmZpZ1wiKVxuXG4gICAgY29uc3QgY29ubmVjdGlvbiA9IG5ldyBEcml2ZXJDbGFzcyhjb25maWcsIHRoaXMuY29uZmlndXJhdGlvbilcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBjb25uZWN0aW9uLmNvbm5lY3QoKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBhd2FpdCB0aGlzLmNsb3NlQ29ubmVjdGlvbkFmdGVyRmFpbGVkQ29ubmVjdChjb25uZWN0aW9uKVxuICAgICAgdGhyb3cgZXJyb3JcbiAgICB9XG5cbiAgICByZXR1cm4gY29ubmVjdGlvblxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHR9IGNvbm5lY3Rpb24gLSBDb25uZWN0aW9uIHRvIGNsb3NlLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNsZWFudXAgaGFzIGJlZW4gYXR0ZW1wdGVkLlxuICAgKi9cbiAgYXN5bmMgY2xvc2VDb25uZWN0aW9uQWZ0ZXJGYWlsZWRDb25uZWN0KGNvbm5lY3Rpb24pIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgY29ubmVjdGlvbi5jbG9zZSgpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMubG9nZ2VyLndhcm4oXCJGYWlsZWQgdG8gY2xvc2UgZGF0YWJhc2UgY29ubmVjdGlvbiBhZnRlciBjb25uZWN0IGZhaWxlZFwiLCB7ZXJyb3J9KVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAdGVtcGxhdGUgVFxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtDb25uZWN0aW9uQ2hlY2tvdXRPcHRpb25zIHwgZnVuY3Rpb24oaW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQpIDogUHJvbWlzZTxUPn0gX29wdGlvbnNPckNhbGxiYWNrIC0gQ2hlY2tvdXQgb3B0aW9ucyBvciBjYWxsYmFjayBmdW5jdGlvbi5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdCkgOiBQcm9taXNlPFQ+fSBbX2NhbGxiYWNrXSAtIENhbGxiYWNrIGZ1bmN0aW9uLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxUPn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBjYWxsYmFjayByZXN1bHQuXG4gICAqL1xuICB3aXRoQ29ubmVjdGlvbihfb3B0aW9uc09yQ2FsbGJhY2ssIF9jYWxsYmFjaykge1xuICAgIHRocm93IG5ldyBFcnJvcihcIid3aXRoQ29ubmVjdGlvbicgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogRW5zdXJlcyBhIHJldXNhYmxlIGNvbm5lY3Rpb24gZXhpc3RzIGZvciBjb250ZXh0cyB3aGVyZSBBc3luY0xvY2FsU3RvcmFnZSBpc24ndCBzZXQuXG4gICAqIERlZmF1bHQgaW1wbGVtZW50YXRpb24ganVzdCBjaGVja3Mgb3V0IGEgY29ubmVjdGlvbi5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQ+fSAtIFJlc29sdmVzIHdpdGggdGhlIGdsb2JhbCBjb25uZWN0aW9uLlxuICAgKi9cbiAgYXN5bmMgZW5zdXJlR2xvYmFsQ29ubmVjdGlvbigpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jaGVja291dCgpXG4gIH1cblxuICAvKiogQHJldHVybnMge0RhdGFiYXNlUG9vbERlYnVnU25hcHNob3R9IC0gRGlhZ25vc3RpYyBzbmFwc2hvdCBmb3IgdGhpcyBwb29sLiAqL1xuICBnZXREZWJ1Z1NuYXBzaG90KCkge1xuICAgIHJldHVybiB7XG4gICAgICBjb25maWd1cmF0aW9uOiB0aGlzLmRlYnVnQ29uZmlndXJhdGlvblNuYXBzaG90KCksXG4gICAgICBjb25uZWN0aW9uczogW10sXG4gICAgICBjb25uZWN0aW9uc0JlaW5nU3Bhd25lZDogMCxcbiAgICAgIGlkZW50aWZpZXI6IHRoaXMuaWRlbnRpZmllcixcbiAgICAgIGlkbGVDb3VudDogMCxcbiAgICAgIGluVXNlQ291bnQ6IDAsXG4gICAgICBwZW5kaW5nQ2hlY2tvdXRDb3VudDogMCxcbiAgICAgIHBvb2xDbGFzczogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lXG4gICAgfVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gLSBTYW5pdGl6ZWQgcmVzb2x2ZWQgZGF0YWJhc2UgY29uZmlndXJhdGlvbi4gKi9cbiAgZGVidWdDb25maWd1cmF0aW9uU25hcHNob3QoKSB7XG4gICAgY29uc3QgZGF0YWJhc2VDb25maWcgPSB0aGlzLmdldENvbmZpZ3VyYXRpb24oKVxuICAgIGNvbnN0IHBvb2xDb25maWcgPSBkYXRhYmFzZUNvbmZpZy5wb29sXG5cbiAgICByZXR1cm4ge1xuICAgICAgZGF0YWJhc2U6IGRhdGFiYXNlQ29uZmlnLmRhdGFiYXNlLFxuICAgICAgZHJpdmVyOiBkYXRhYmFzZUNvbmZpZy5kcml2ZXI/Lm5hbWUsXG4gICAgICBob3N0OiBkYXRhYmFzZUNvbmZpZy5ob3N0LFxuICAgICAgbWlncmF0aW9uczogZGF0YWJhc2VDb25maWcubWlncmF0aW9ucyxcbiAgICAgIG5hbWU6IGRhdGFiYXNlQ29uZmlnLm5hbWUsXG4gICAgICBwb29sOiBwb29sQ29uZmlnID8ge2lkbGVUaW1lb3V0TWlsbGlzOiBwb29sQ29uZmlnLmlkbGVUaW1lb3V0TWlsbGlzLCBtYXg6IHBvb2xDb25maWcubWF4fSA6IHVuZGVmaW5lZCxcbiAgICAgIHBvcnQ6IGRhdGFiYXNlQ29uZmlnLnBvcnQsXG4gICAgICBzY2hlbWE6IGRhdGFiYXNlQ29uZmlnLnNjaGVtYSxcbiAgICAgIHR5cGU6IGRhdGFiYXNlQ29uZmlnLnR5cGUsXG4gICAgICB1c2VEYXRhYmFzZTogZGF0YWJhc2VDb25maWcudXNlRGF0YWJhc2UsXG4gICAgICB1c2VybmFtZTogZGF0YWJhc2VDb25maWcudXNlcm5hbWVcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdH0gY29ubmVjdGlvbiAtIERhdGFiYXNlIGNvbm5lY3Rpb24uXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59IGRldGFpbHMgLSBFeHRyYSBkaWFnbm9zdGljIGZpZWxkcy5cbiAgICogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIHVua25vd24+fSAtIENvbm5lY3Rpb24gZGlhZ25vc3RpYyBzbmFwc2hvdC5cbiAgICovXG4gIGRlYnVnQ29ubmVjdGlvblNuYXBzaG90KGNvbm5lY3Rpb24sIGRldGFpbHMgPSB7fSkge1xuICAgIGNvbnN0IGNvbm5lY3Rpb25XaXRoUG9vbEtleSA9IC8qKiBAdHlwZSB7aW1wb3J0KFwiLi4vZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQgJiB7W1BPT0xfQ09ORklHVVJBVElPTl9LRVldPzogc3RyaW5nfX0gKi8gKGNvbm5lY3Rpb24pXG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uY29ubmVjdGlvbi5nZXREZWJ1Z1NuYXBzaG90KCksXG4gICAgICAuLi5kZXRhaWxzLFxuICAgICAgcmV1c2VLZXk6IGNvbm5lY3Rpb25XaXRoUG9vbEtleVtQT09MX0NPTkZJR1VSQVRJT05fS0VZXVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgYWxsIGNvbm5lY3Rpb25zIGZvciB0aGlzIHBvb2wuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuXG4gICAqL1xuICBhc3luYyBjbG9zZUFsbCgpIHt9XG59XG5cbmJhc2VNZXRob2RzRm9yd2FyZChWZWxvY2lvdXNEYXRhYmFzZVBvb2xCYXNlKVxuXG5leHBvcnQgZGVmYXVsdCBWZWxvY2lvdXNEYXRhYmFzZVBvb2xCYXNlXG4iXX0=
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,CAsB7B;CACF;iCAhIa;IAAC,WAAW,EAAE,OAAO,4BAA4B,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,OAAO,8BAA8B,EAAE,OAAO,CAAA;CAAC;wBAJhH,iCAAiC"}
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":"AA2BA,2EAA2E;AAC3E;IACE,4EAA4E;IAC5E,WADc,OAAO,CAAC,OAAO,CAAC,CAe7B;IAED,mFAAmF;IACnF,qBADc,OAAO,CAAC,IAAI,CAAC,CAS1B;IAED,2DAA2D;IAC3D,gBADc,MAAM,CAGnB;IAED,gFAAgF;IAChF,sBADc,aAAa,CAc1B;CACF;;;;;mBAvEa,OAAO,iCAAiC,EAAE,OAAO;;;;QACjD,OAAO,yCAAyC,EAAE,OAAO,GAAG,SAAS;;;;SACrE,MAAM,CAAC,MAAM,EAAE,OAAO,yCAAyC,EAAE,OAAO,CAAC;;;;UACzE,MAAM,EAAE;;wBATE,oCAAoC"}
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 {object} RunnerContext
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
- const configuration = this.getConfiguration();
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9lbnZpcm9ubWVudC1oYW5kbGVycy9ub2RlL2NsaS9jb21tYW5kcy9kYi9zZWVkLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sV0FBVyxNQUFNLG9DQUFvQyxDQUFBO0FBQzVELE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQTtBQUM1QixPQUFPLGlCQUFpQixNQUFNLDZDQUE2QyxDQUFBO0FBRTNFOzs7Ozs7R0FNRztBQUVIOzs7R0FHRztBQUNILEtBQUssVUFBVSxvQkFBb0IsQ0FBQyxRQUFRO0lBQzFDLE1BQU0sWUFBWSxHQUFHLE1BQU0sTUFBTSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7SUFDOUQsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQTtJQUUzQyxJQUFJLE9BQU8sY0FBYyxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELFFBQVEsRUFBRSxDQUFDLENBQUE7SUFDN0UsQ0FBQztJQUVELE9BQU8sY0FBYyxDQUFBO0FBQ3ZCLENBQUM7QUFFRCwyRUFBMkU7QUFDM0UsTUFBTSxDQUFDLE9BQU8sT0FBTyxNQUFPLFNBQVEsV0FBVztJQUM3Qyw0RUFBNEU7SUFDNUUsS0FBSyxDQUFDLE9BQU87UUFDWCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUU3QyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO1FBQzlCLE1BQU0sYUFBYSxDQUFDLHVCQUF1QixFQUFFLENBQUE7UUFFN0MsSUFBSSxDQUFDO1lBQ0gsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO1lBQ3BDLE1BQU0sY0FBYyxHQUFHLE1BQU0sb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUE7WUFFM0QsT0FBTyxNQUFNLGNBQWMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFBO1FBQ3hELENBQUM7Z0JBQVMsQ0FBQztZQUNULE1BQU0sYUFBYSxDQUFDLHdCQUF3QixFQUFFLENBQUE7UUFDaEQsQ0FBQztJQUNILENBQUM7SUFFRCxtRkFBbUY7SUFDbkYsS0FBSyxDQUFDLGlCQUFpQjtRQUNyQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUU3QyxNQUFNLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtRQUVqRCxJQUFJLENBQUMsYUFBYSxDQUFDLHlCQUF5QixFQUFFLEVBQUUsQ0FBQztZQUMvQyxhQUFhLENBQUMsc0JBQXNCLEVBQUUsQ0FBQTtRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVELDJEQUEyRDtJQUMzRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQzVELENBQUM7SUFFRCxnRkFBZ0Y7SUFDaEYsa0JBQWtCO1FBQ2hCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1FBQzdDLE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFBO1FBQ2pELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDcEMsdUJBQXVCO1FBQ3ZCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFBO1FBRTFDLE9BQU87WUFDTCxhQUFhO1lBQ2IsRUFBRSxFQUFFLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDN0UsR0FBRztZQUNILElBQUksRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMzQixDQUFBO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VDb21tYW5kIGZyb20gXCIuLi8uLi8uLi8uLi8uLi9jbGkvYmFzZS1jb21tYW5kLmpzXCJcbmltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIlxuaW1wb3J0IHRvSW1wb3J0U3BlY2lmaWVyIGZyb20gXCIuLi8uLi8uLi8uLi8uLi91dGlscy90by1pbXBvcnQtc3BlY2lmaWVyLmpzXCJcblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBSdW5uZXJDb250ZXh0XG4gKiBAcHJvcGVydHkge2ltcG9ydChcIi4uLy4uLy4uLy4uLy4uL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0gY29uZmlndXJhdGlvbiAtIENvbmZpZ3VyYXRpb24gaW5zdGFuY2UuXG4gKiBAcHJvcGVydHkge2ltcG9ydChcIi4uLy4uLy4uLy4uLy4uL2RhdGFiYXNlL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0IHwgdW5kZWZpbmVkfSBkYiAtIERlZmF1bHQgZGF0YWJhc2UgY29ubmVjdGlvbi5cbiAqIEBwcm9wZXJ0eSB7UmVjb3JkPHN0cmluZywgaW1wb3J0KFwiLi4vLi4vLi4vLi4vLi4vZGF0YWJhc2UvZHJpdmVycy9iYXNlLmpzXCIpLmRlZmF1bHQ+fSBkYnMgLSBEYXRhYmFzZSBjb25uZWN0aW9ucyBrZXllZCBieSBpZGVudGlmaWVyLlxuICogQHByb3BlcnR5IHtzdHJpbmdbXX0gYXJncyAtIENMSSBhcmdzIGFmdGVyIHRoZSBjb21tYW5kIG5hbWUuXG4gKi9cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gZmlsZVBhdGggLSBBYnNvbHV0ZSBwYXRoIHRvIHNjcmlwdCBmaWxlLlxuICogQHJldHVybnMge1Byb21pc2U8KGNvbnRleHQ6IFJ1bm5lckNvbnRleHQpID0+IFByb21pc2U8dW5rbm93bj4+fSAtIFRoZSBkZWZhdWx0LWV4cG9ydGVkIGFzeW5jIGZ1bmN0aW9uLlxuICovXG5hc3luYyBmdW5jdGlvbiBpbXBvcnRSdW5uZXJGdW5jdGlvbihmaWxlUGF0aCkge1xuICBjb25zdCBydW5uZXJJbXBvcnQgPSBhd2FpdCBpbXBvcnQodG9JbXBvcnRTcGVjaWZpZXIoZmlsZVBhdGgpKVxuICBjb25zdCBydW5uZXJGdW5jdGlvbiA9IHJ1bm5lckltcG9ydC5kZWZhdWx0XG5cbiAgaWYgKHR5cGVvZiBydW5uZXJGdW5jdGlvbiAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBkZWZhdWx0IGV4cG9ydCB0byBiZSBhIGZ1bmN0aW9uIGluOiAke2ZpbGVQYXRofWApXG4gIH1cblxuICByZXR1cm4gcnVubmVyRnVuY3Rpb25cbn1cblxuLyoqIE5vZGUgY29tbWFuZCBmb3IgcnVubmluZyBwcm9qZWN0IGRhdGFiYXNlIHNlZWRzIGZyb20gc3JjL2RiL3NlZWQuanMuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEYlNlZWQgZXh0ZW5kcyBCYXNlQ29tbWFuZCB7XG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBzZWVkIGZ1bmN0aW9uIHJlc3VsdC4gKi9cbiAgYXN5bmMgZXhlY3V0ZSgpIHtcbiAgICBjb25zdCBjb25maWd1cmF0aW9uID0gdGhpcy5nZXRDb25maWd1cmF0aW9uKClcblxuICAgIGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVJ1bnRpbWUoKVxuICAgIGF3YWl0IGNvbmZpZ3VyYXRpb24uZW5zdXJlR2xvYmFsQ29ubmVjdGlvbnMoKVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHNlZWRQYXRoID0gdGhpcy5zZWVkRmlsZVBhdGgoKVxuICAgICAgY29uc3QgcnVubmVyRnVuY3Rpb24gPSBhd2FpdCBpbXBvcnRSdW5uZXJGdW5jdGlvbihzZWVkUGF0aClcblxuICAgICAgcmV0dXJuIGF3YWl0IHJ1bm5lckZ1bmN0aW9uKHRoaXMuYnVpbGRSdW5uZXJDb250ZXh0KCkpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IGNvbmZpZ3VyYXRpb24uY2xvc2VEYXRhYmFzZUNvbm5lY3Rpb25zKClcbiAgICB9XG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBydW50aW1lIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlLiAqL1xuICBhc3luYyBpbml0aWFsaXplUnVudGltZSgpIHtcbiAgICBjb25zdCBjb25maWd1cmF0aW9uID0gdGhpcy5nZXRDb25maWd1cmF0aW9uKClcblxuICAgIGF3YWl0IGNvbmZpZ3VyYXRpb24uaW5pdGlhbGl6ZSh7dHlwZTogXCJkYi1zZWVkXCJ9KVxuXG4gICAgaWYgKCFjb25maWd1cmF0aW9uLmlzRGF0YWJhc2VQb29sSW5pdGlhbGl6ZWQoKSkge1xuICAgICAgY29uZmlndXJhdGlvbi5pbml0aWFsaXplRGF0YWJhc2VQb29sKClcbiAgICB9XG4gIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZ30gLSBBYnNvbHV0ZSBwYXRoIHRvIHNyYy9kYi9zZWVkLmpzLiAqL1xuICBzZWVkRmlsZVBhdGgoKSB7XG4gICAgcmV0dXJuIHBhdGguam9pbih0aGlzLmRpcmVjdG9yeSgpLCBcInNyY1wiLCBcImRiXCIsIFwic2VlZC5qc1wiKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtSdW5uZXJDb250ZXh0fSAtIFJ1bnRpbWUgY29udGV4dCBwYXNzZWQgdG8gdGhlIHNjcmlwdCBmdW5jdGlvbi4gKi9cbiAgYnVpbGRSdW5uZXJDb250ZXh0KCkge1xuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSB0aGlzLmdldENvbmZpZ3VyYXRpb24oKVxuICAgIGNvbnN0IGRicyA9IGNvbmZpZ3VyYXRpb24uZ2V0Q3VycmVudENvbm5lY3Rpb25zKClcbiAgICBjb25zdCBpZGVudGlmaWVycyA9IE9iamVjdC5rZXlzKGRicylcbiAgICAvKiogQHR5cGUge3N0cmluZ1tdfSAqL1xuICAgIGNvbnN0IHByb2Nlc3NBcmdzID0gdGhpcy5wcm9jZXNzQXJncyB8fCBbXVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbmZpZ3VyYXRpb24sXG4gICAgICBkYjogZGJzLmRlZmF1bHQgfHwgKGlkZW50aWZpZXJzLmxlbmd0aCA+IDAgPyBkYnNbaWRlbnRpZmllcnNbMF1dIDogdW5kZWZpbmVkKSxcbiAgICAgIGRicyxcbiAgICAgIGFyZ3M6IHByb2Nlc3NBcmdzLnNsaWNlKDEpXG4gICAgfVxuICB9XG59XG4iXX0=
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":"AA2BA,mFAAmF;AACnF;IACE,8EAA8E;IAC9E,WADc,OAAO,CAAC,OAAO,CAAC,CAe7B;IAED,mFAAmF;IACnF,qBADc,OAAO,CAAC,IAAI,CAAC,CAS1B;IAED,0EAA0E;IAC1E,kBADc,MAAM,CASnB;IAED,mFAAmF;IACnF,yBADc,gBAAgB,CAc7B;CACF;;;;;mBA7Ea,OAAO,8BAA8B,EAAE,OAAO;;;;QAC9C,OAAO,sCAAsC,EAAE,OAAO,GAAG,SAAS;;;;SAClE,MAAM,CAAC,MAAM,EAAE,OAAO,sCAAsC,EAAE,OAAO,CAAC;;;;UACtE,MAAM,EAAE;;wBATE,iCAAiC"}
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 {object} RunScriptContext
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
- const configuration = this.getConfiguration();
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9lbnZpcm9ubWVudC1oYW5kbGVycy9ub2RlL2NsaS9jb21tYW5kcy9ydW4tc2NyaXB0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sV0FBVyxNQUFNLGlDQUFpQyxDQUFBO0FBQ3pELE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQTtBQUM1QixPQUFPLGlCQUFpQixNQUFNLDBDQUEwQyxDQUFBO0FBRXhFOzs7Ozs7R0FNRztBQUVIOzs7R0FHRztBQUNILEtBQUssVUFBVSx1QkFBdUIsQ0FBQyxRQUFRO0lBQzdDLE1BQU0sWUFBWSxHQUFHLE1BQU0sTUFBTSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUE7SUFDOUQsTUFBTSxpQkFBaUIsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFBO0lBRTlDLElBQUksT0FBTyxpQkFBaUIsS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUM1QyxNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxRQUFRLEVBQUUsQ0FBQyxDQUFBO0lBQzdFLENBQUM7SUFFRCxPQUFPLGlCQUFpQixDQUFBO0FBQzFCLENBQUM7QUFFRCxtRkFBbUY7QUFDbkYsTUFBTSxDQUFDLE9BQU8sT0FBTyxnQkFBaUIsU0FBUSxXQUFXO0lBQ3ZELDhFQUE4RTtJQUM5RSxLQUFLLENBQUMsT0FBTztRQUNYLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1FBQzdDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUV4QyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO1FBQzlCLE1BQU0sYUFBYSxDQUFDLHVCQUF1QixFQUFFLENBQUE7UUFFN0MsSUFBSSxDQUFDO1lBQ0gsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxDQUFBO1lBRW5FLE9BQU8sTUFBTSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFBO1FBQzlELENBQUM7Z0JBQVMsQ0FBQztZQUNULE1BQU0sYUFBYSxDQUFDLHdCQUF3QixFQUFFLENBQUE7UUFDaEQsQ0FBQztJQUNILENBQUM7SUFFRCxtRkFBbUY7SUFDbkYsS0FBSyxDQUFDLGlCQUFpQjtRQUNyQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUU3QyxNQUFNLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBQyxJQUFJLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQTtRQUVwRCxJQUFJLENBQUMsYUFBYSxDQUFDLHlCQUF5QixFQUFFLEVBQUUsQ0FBQztZQUMvQyxhQUFhLENBQUMsc0JBQXNCLEVBQUUsQ0FBQTtRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVELDBFQUEwRTtJQUMxRSxjQUFjO1FBQ1osTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRXRDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMseUVBQXlFLENBQUMsQ0FBQTtRQUM1RixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUNqRCxDQUFDO0lBRUQsbUZBQW1GO0lBQ25GLHFCQUFxQjtRQUNuQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUM3QyxNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtRQUNqRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ3BDLHVCQUF1QjtRQUN2QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQTtRQUUxQyxPQUFPO1lBQ0wsYUFBYTtZQUNiLEVBQUUsRUFBRSxHQUFHLENBQUMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzdFLEdBQUc7WUFDSCxJQUFJLEVBQUUsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDM0IsQ0FBQTtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29tbWFuZCBmcm9tIFwiLi4vLi4vLi4vLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiXG5pbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCJcbmltcG9ydCB0b0ltcG9ydFNwZWNpZmllciBmcm9tIFwiLi4vLi4vLi4vLi4vdXRpbHMvdG8taW1wb3J0LXNwZWNpZmllci5qc1wiXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gUnVuU2NyaXB0Q29udGV4dFxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuLi8uLi8uLi8uLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IGNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuLi8uLi8uLi8uLi9kYXRhYmFzZS9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdCB8IHVuZGVmaW5lZH0gZGIgLSBEZWZhdWx0IGRhdGFiYXNlIGNvbm5lY3Rpb24uXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsIGltcG9ydChcIi4uLy4uLy4uLy4uL2RhdGFiYXNlL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0Pn0gZGJzIC0gRGF0YWJhc2UgY29ubmVjdGlvbnMga2V5ZWQgYnkgaWRlbnRpZmllci5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IGFyZ3MgLSBDTEkgYXJncyBhZnRlciB0aGUgc2NyaXB0IHBhdGguXG4gKi9cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gZmlsZVBhdGggLSBBYnNvbHV0ZSBwYXRoIHRvIHNjcmlwdCBmaWxlLlxuICogQHJldHVybnMge1Byb21pc2U8KGNvbnRleHQ6IFJ1blNjcmlwdENvbnRleHQpID0+IFByb21pc2U8dW5rbm93bj4+fSAtIFRoZSBkZWZhdWx0LWV4cG9ydGVkIGFzeW5jIGZ1bmN0aW9uLlxuICovXG5hc3luYyBmdW5jdGlvbiBpbXBvcnRSdW5TY3JpcHRGdW5jdGlvbihmaWxlUGF0aCkge1xuICBjb25zdCBzY3JpcHRJbXBvcnQgPSBhd2FpdCBpbXBvcnQodG9JbXBvcnRTcGVjaWZpZXIoZmlsZVBhdGgpKVxuICBjb25zdCBydW5TY3JpcHRGdW5jdGlvbiA9IHNjcmlwdEltcG9ydC5kZWZhdWx0XG5cbiAgaWYgKHR5cGVvZiBydW5TY3JpcHRGdW5jdGlvbiAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBkZWZhdWx0IGV4cG9ydCB0byBiZSBhIGZ1bmN0aW9uIGluOiAke2ZpbGVQYXRofWApXG4gIH1cblxuICByZXR1cm4gcnVuU2NyaXB0RnVuY3Rpb25cbn1cblxuLyoqIE5vZGUgY29tbWFuZCBmb3IgcnVubmluZyBhIGN1c3RvbSBzY3JpcHQgZmlsZSBpbiBpbml0aWFsaXplZCBhcHAvREIgY29udGV4dC4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJ1blNjcmlwdENvbW1hbmQgZXh0ZW5kcyBCYXNlQ29tbWFuZCB7XG4gIC8qKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBzY3JpcHQgZnVuY3Rpb24gcmVzdWx0LiAqL1xuICBhc3luYyBleGVjdXRlKCkge1xuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSB0aGlzLmdldENvbmZpZ3VyYXRpb24oKVxuICAgIGNvbnN0IHNjcmlwdFBhdGggPSB0aGlzLnNjcmlwdEZpbGVQYXRoKClcblxuICAgIGF3YWl0IHRoaXMuaW5pdGlhbGl6ZVJ1bnRpbWUoKVxuICAgIGF3YWl0IGNvbmZpZ3VyYXRpb24uZW5zdXJlR2xvYmFsQ29ubmVjdGlvbnMoKVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJ1blNjcmlwdEZ1bmN0aW9uID0gYXdhaXQgaW1wb3J0UnVuU2NyaXB0RnVuY3Rpb24oc2NyaXB0UGF0aClcblxuICAgICAgcmV0dXJuIGF3YWl0IHJ1blNjcmlwdEZ1bmN0aW9uKHRoaXMuYnVpbGRSdW5TY3JpcHRDb250ZXh0KCkpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IGNvbmZpZ3VyYXRpb24uY2xvc2VEYXRhYmFzZUNvbm5lY3Rpb25zKClcbiAgICB9XG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBydW50aW1lIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlLiAqL1xuICBhc3luYyBpbml0aWFsaXplUnVudGltZSgpIHtcbiAgICBjb25zdCBjb25maWd1cmF0aW9uID0gdGhpcy5nZXRDb25maWd1cmF0aW9uKClcblxuICAgIGF3YWl0IGNvbmZpZ3VyYXRpb24uaW5pdGlhbGl6ZSh7dHlwZTogXCJydW4tc2NyaXB0XCJ9KVxuXG4gICAgaWYgKCFjb25maWd1cmF0aW9uLmlzRGF0YWJhc2VQb29sSW5pdGlhbGl6ZWQoKSkge1xuICAgICAgY29uZmlndXJhdGlvbi5pbml0aWFsaXplRGF0YWJhc2VQb29sKClcbiAgICB9XG4gIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZ30gLSBBYnNvbHV0ZSBwYXRoIHRvIHRoZSB1c2VyLXByb3ZpZGVkIHNjcmlwdCBmaWxlLiAqL1xuICBzY3JpcHRGaWxlUGF0aCgpIHtcbiAgICBjb25zdCBmaWxlUGF0aCA9IHRoaXMucHJvY2Vzc0FyZ3M/LlsxXVxuXG4gICAgaWYgKCFmaWxlUGF0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBmaWxlIHBhdGggYXJndW1lbnQuIFVzYWdlOiBucHggdmVsb2Npb3VzIHJ1bi1zY3JpcHQgW2ZpbGUtcGF0aF1cIilcbiAgICB9XG5cbiAgICByZXR1cm4gcGF0aC5yZXNvbHZlKHRoaXMuZGlyZWN0b3J5KCksIGZpbGVQYXRoKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtSdW5TY3JpcHRDb250ZXh0fSAtIFJ1bnRpbWUgY29udGV4dCBwYXNzZWQgdG8gdGhlIHNjcmlwdCBmdW5jdGlvbi4gKi9cbiAgYnVpbGRSdW5TY3JpcHRDb250ZXh0KCkge1xuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSB0aGlzLmdldENvbmZpZ3VyYXRpb24oKVxuICAgIGNvbnN0IGRicyA9IGNvbmZpZ3VyYXRpb24uZ2V0Q3VycmVudENvbm5lY3Rpb25zKClcbiAgICBjb25zdCBpZGVudGlmaWVycyA9IE9iamVjdC5rZXlzKGRicylcbiAgICAvKiogQHR5cGUge3N0cmluZ1tdfSAqL1xuICAgIGNvbnN0IHByb2Nlc3NBcmdzID0gdGhpcy5wcm9jZXNzQXJncyB8fCBbXVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbmZpZ3VyYXRpb24sXG4gICAgICBkYjogZGJzLmRlZmF1bHQgfHwgKGlkZW50aWZpZXJzLmxlbmd0aCA+IDAgPyBkYnNbaWRlbnRpZmllcnNbMF1dIDogdW5kZWZpbmVkKSxcbiAgICAgIGRicyxcbiAgICAgIGFyZ3M6IHByb2Nlc3NBcmdzLnNsaWNlKDIpXG4gICAgfVxuICB9XG59XG4iXX0=
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLXNjcmlwdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9lbnZpcm9ubWVudC1oYW5kbGVycy9ub2RlL2NsaS9jb21tYW5kcy9ydW4tc2NyaXB0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sV0FBVyxNQUFNLGlDQUFpQyxDQUFBO0FBQ3pELE9BQU8sc0JBQXNCLE1BQU0sMEJBQTBCLENBQUE7QUFDN0QsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFBO0FBQzVCLE9BQU8saUJBQWlCLE1BQU0sMENBQTBDLENBQUE7QUFFeEU7O0dBRUc7QUFFSDs7O0dBR0c7QUFDSCxLQUFLLFVBQVUsdUJBQXVCLENBQUMsUUFBUTtJQUM3QyxNQUFNLFlBQVksR0FBRyxNQUFNLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO0lBQzlELE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQTtJQUU5QyxJQUFJLE9BQU8saUJBQWlCLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDNUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsUUFBUSxFQUFFLENBQUMsQ0FBQTtJQUM3RSxDQUFDO0lBRUQsT0FBTyxpQkFBaUIsQ0FBQTtBQUMxQixDQUFDO0FBRUQsbUZBQW1GO0FBQ25GLE1BQU0sQ0FBQyxPQUFPLE9BQU8sZ0JBQWlCLFNBQVEsV0FBVztJQUN2RCw4RUFBOEU7SUFDOUUsS0FBSyxDQUFDLE9BQU87UUFDWCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUM3QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUE7UUFFeEMsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtRQUU5QixJQUFJLENBQUM7WUFDSCxNQUFNLGFBQWEsQ0FBQyx1QkFBdUIsRUFBRSxDQUFBO1lBRTdDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUVuRSxPQUFPLE1BQU0saUJBQWlCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQTtRQUM5RCxDQUFDO2dCQUFTLENBQUM7WUFDVCxNQUFNLGFBQWEsQ0FBQyx3QkFBd0IsRUFBRSxDQUFBO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBRUQsbUZBQW1GO0lBQ25GLEtBQUssQ0FBQyxpQkFBaUI7UUFDckIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUE7UUFFN0MsTUFBTSxhQUFhLENBQUMsVUFBVSxDQUFDLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBQyxDQUFDLENBQUE7UUFFcEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyx5QkFBeUIsRUFBRSxFQUFFLENBQUM7WUFDL0MsYUFBYSxDQUFDLHNCQUFzQixFQUFFLENBQUE7UUFDeEMsQ0FBQztJQUNILENBQUM7SUFFRCwwRUFBMEU7SUFDMUUsY0FBYztRQUNaLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUV0QyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLHlFQUF5RSxDQUFDLENBQUE7UUFDNUYsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDakQsQ0FBQztJQUVELG1GQUFtRjtJQUNuRixxQkFBcUI7UUFDbkIsT0FBTyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDeEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VDb21tYW5kIGZyb20gXCIuLi8uLi8uLi8uLi9jbGkvYmFzZS1jb21tYW5kLmpzXCJcbmltcG9ydCBidWlsZENsaUNvbW1hbmRDb250ZXh0IGZyb20gXCIuL2NsaS1jb21tYW5kLWNvbnRleHQuanNcIlxuaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiXG5pbXBvcnQgdG9JbXBvcnRTcGVjaWZpZXIgZnJvbSBcIi4uLy4uLy4uLy4uL3V0aWxzL3RvLWltcG9ydC1zcGVjaWZpZXIuanNcIlxuXG4vKipcbiAqIEB0eXBlZGVmIHtpbXBvcnQoXCIuL2NsaS1jb21tYW5kLWNvbnRleHQuanNcIikuQ2xpQ29tbWFuZENvbnRleHR9IFJ1blNjcmlwdENvbnRleHRcbiAqL1xuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlUGF0aCAtIEFic29sdXRlIHBhdGggdG8gc2NyaXB0IGZpbGUuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTwoY29udGV4dDogUnVuU2NyaXB0Q29udGV4dCkgPT4gUHJvbWlzZTx1bmtub3duPj59IC0gVGhlIGRlZmF1bHQtZXhwb3J0ZWQgYXN5bmMgZnVuY3Rpb24uXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGltcG9ydFJ1blNjcmlwdEZ1bmN0aW9uKGZpbGVQYXRoKSB7XG4gIGNvbnN0IHNjcmlwdEltcG9ydCA9IGF3YWl0IGltcG9ydCh0b0ltcG9ydFNwZWNpZmllcihmaWxlUGF0aCkpXG4gIGNvbnN0IHJ1blNjcmlwdEZ1bmN0aW9uID0gc2NyaXB0SW1wb3J0LmRlZmF1bHRcblxuICBpZiAodHlwZW9mIHJ1blNjcmlwdEZ1bmN0aW9uICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIGRlZmF1bHQgZXhwb3J0IHRvIGJlIGEgZnVuY3Rpb24gaW46ICR7ZmlsZVBhdGh9YClcbiAgfVxuXG4gIHJldHVybiBydW5TY3JpcHRGdW5jdGlvblxufVxuXG4vKiogTm9kZSBjb21tYW5kIGZvciBydW5uaW5nIGEgY3VzdG9tIHNjcmlwdCBmaWxlIGluIGluaXRpYWxpemVkIGFwcC9EQiBjb250ZXh0LiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUnVuU2NyaXB0Q29tbWFuZCBleHRlbmRzIEJhc2VDb21tYW5kIHtcbiAgLyoqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fSAtIFJlc29sdmVzIHdpdGggdGhlIHNjcmlwdCBmdW5jdGlvbiByZXN1bHQuICovXG4gIGFzeW5jIGV4ZWN1dGUoKSB7XG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpXG4gICAgY29uc3Qgc2NyaXB0UGF0aCA9IHRoaXMuc2NyaXB0RmlsZVBhdGgoKVxuXG4gICAgYXdhaXQgdGhpcy5pbml0aWFsaXplUnVudGltZSgpXG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgY29uZmlndXJhdGlvbi5lbnN1cmVHbG9iYWxDb25uZWN0aW9ucygpXG5cbiAgICAgIGNvbnN0IHJ1blNjcmlwdEZ1bmN0aW9uID0gYXdhaXQgaW1wb3J0UnVuU2NyaXB0RnVuY3Rpb24oc2NyaXB0UGF0aClcblxuICAgICAgcmV0dXJuIGF3YWl0IHJ1blNjcmlwdEZ1bmN0aW9uKHRoaXMuYnVpbGRSdW5TY3JpcHRDb250ZXh0KCkpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IGNvbmZpZ3VyYXRpb24uY2xvc2VEYXRhYmFzZUNvbm5lY3Rpb25zKClcbiAgICB9XG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBydW50aW1lIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlLiAqL1xuICBhc3luYyBpbml0aWFsaXplUnVudGltZSgpIHtcbiAgICBjb25zdCBjb25maWd1cmF0aW9uID0gdGhpcy5nZXRDb25maWd1cmF0aW9uKClcblxuICAgIGF3YWl0IGNvbmZpZ3VyYXRpb24uaW5pdGlhbGl6ZSh7dHlwZTogXCJydW4tc2NyaXB0XCJ9KVxuXG4gICAgaWYgKCFjb25maWd1cmF0aW9uLmlzRGF0YWJhc2VQb29sSW5pdGlhbGl6ZWQoKSkge1xuICAgICAgY29uZmlndXJhdGlvbi5pbml0aWFsaXplRGF0YWJhc2VQb29sKClcbiAgICB9XG4gIH1cblxuICAvKiogQHJldHVybnMge3N0cmluZ30gLSBBYnNvbHV0ZSBwYXRoIHRvIHRoZSB1c2VyLXByb3ZpZGVkIHNjcmlwdCBmaWxlLiAqL1xuICBzY3JpcHRGaWxlUGF0aCgpIHtcbiAgICBjb25zdCBmaWxlUGF0aCA9IHRoaXMucHJvY2Vzc0FyZ3M/LlsxXVxuXG4gICAgaWYgKCFmaWxlUGF0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBmaWxlIHBhdGggYXJndW1lbnQuIFVzYWdlOiBucHggdmVsb2Npb3VzIHJ1bi1zY3JpcHQgW2ZpbGUtcGF0aF1cIilcbiAgICB9XG5cbiAgICByZXR1cm4gcGF0aC5yZXNvbHZlKHRoaXMuZGlyZWN0b3J5KCksIGZpbGVQYXRoKVxuICB9XG5cbiAgLyoqIEByZXR1cm5zIHtSdW5TY3JpcHRDb250ZXh0fSAtIFJ1bnRpbWUgY29udGV4dCBwYXNzZWQgdG8gdGhlIHNjcmlwdCBmdW5jdGlvbi4gKi9cbiAgYnVpbGRSdW5TY3JpcHRDb250ZXh0KCkge1xuICAgIHJldHVybiBidWlsZENsaUNvbW1hbmRDb250ZXh0KHRoaXMsIDIpXG4gIH1cbn1cbiJdfQ==
@@ -1,9 +1,5 @@
1
1
  /**
2
- * @typedef {object} RunnerContext
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":"AAEA;;;;;;GAMG;AAEH,mFAAmF;AACnF;IACE,6EAA6E;IAC7E,WADc,OAAO,CAAC,OAAO,CAAC,CAa7B;IAED,mFAAmF;IACnF,qBADc,OAAO,CAAC,IAAI,CAAC,CAS1B;IAED,8DAA8D;IAC9D,cADc,MAAM,CASnB;IAED,2EAA2E;IAC3E,sBADc,aAAa,CAc1B;IAED;;;OAGG;IACH,mBAHW,MAAM,GACJ,OAAO,CAAC,OAAO,CAAC,CAc5B;CACF;;;;;mBA9Ea,OAAO,8BAA8B,EAAE,OAAO;;;;QAC9C,OAAO,sCAAsC,EAAE,OAAO,GAAG,SAAS;;;;SAClE,MAAM,CAAC,MAAM,EAAE,OAAO,sCAAsC,EAAE,OAAO,CAAC;;;;UACtE,MAAM,EAAE;;wBAPE,iCAAiC"}
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 {object} RunnerContext
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
- const configuration = this.getConfiguration();
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2Vudmlyb25tZW50LWhhbmRsZXJzL25vZGUvY2xpL2NvbW1hbmRzL3J1bm5lci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFdBQVcsTUFBTSxpQ0FBaUMsQ0FBQTtBQUV6RDs7Ozs7O0dBTUc7QUFFSCxtRkFBbUY7QUFDbkYsTUFBTSxDQUFDLE9BQU8sT0FBTyxhQUFjLFNBQVEsV0FBVztJQUNwRCw2RUFBNkU7SUFDN0UsS0FBSyxDQUFDLE9BQU87UUFDWCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUM3QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7UUFFOUIsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtRQUM5QixNQUFNLGFBQWEsQ0FBQyx1QkFBdUIsRUFBRSxDQUFBO1FBRTdDLElBQUksQ0FBQztZQUNILE9BQU8sTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3RDLENBQUM7Z0JBQVMsQ0FBQztZQUNULE1BQU0sYUFBYSxDQUFDLHdCQUF3QixFQUFFLENBQUE7UUFDaEQsQ0FBQztJQUNILENBQUM7SUFFRCxtRkFBbUY7SUFDbkYsS0FBSyxDQUFDLGlCQUFpQjtRQUNyQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtRQUU3QyxNQUFNLGFBQWEsQ0FBQyxVQUFVLENBQUMsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQTtRQUVoRCxJQUFJLENBQUMsYUFBYSxDQUFDLHlCQUF5QixFQUFFLEVBQUUsQ0FBQztZQUMvQyxhQUFhLENBQUMsc0JBQXNCLEVBQUUsQ0FBQTtRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVELDhEQUE4RDtJQUM5RCxVQUFVO1FBQ1IsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7UUFFL0QsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FBQywwRUFBMEUsQ0FBQyxDQUFBO1FBQzdGLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFFRCwyRUFBMkU7SUFDM0Usa0JBQWtCO1FBQ2hCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFBO1FBQzdDLE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFBO1FBQ2pELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDcEMsdUJBQXVCO1FBQ3ZCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFBO1FBRTFDLE9BQU87WUFDTCxhQUFhO1lBQ2IsRUFBRSxFQUFFLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDN0UsR0FBRztZQUNILElBQUksRUFBRSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMzQixDQUFBO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSTtRQUNyQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtRQUN6QyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssZUFBYyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUE7UUFDN0UsTUFBTSxXQUFXLEdBQUcsSUFBSSxhQUFhLENBQ25DLGVBQWUsRUFDZixJQUFJLEVBQ0osS0FBSyxFQUNMLE1BQU0sRUFDTixJQUFJLENBQ0wsQ0FBQTtRQUVELE9BQU8sTUFBTSxXQUFXLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3hGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29tbWFuZCBmcm9tIFwiLi4vLi4vLi4vLi4vY2xpL2Jhc2UtY29tbWFuZC5qc1wiXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gUnVubmVyQ29udGV4dFxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuLi8uLi8uLi8uLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IGNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICogQHByb3BlcnR5IHtpbXBvcnQoXCIuLi8uLi8uLi8uLi9kYXRhYmFzZS9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdCB8IHVuZGVmaW5lZH0gZGIgLSBEZWZhdWx0IGRhdGFiYXNlIGNvbm5lY3Rpb24uXG4gKiBAcHJvcGVydHkge1JlY29yZDxzdHJpbmcsIGltcG9ydChcIi4uLy4uLy4uLy4uL2RhdGFiYXNlL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0Pn0gZGJzIC0gRGF0YWJhc2UgY29ubmVjdGlvbnMga2V5ZWQgYnkgaWRlbnRpZmllci5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IGFyZ3MgLSBDTEkgYXJncyBhZnRlciB0aGUgY29kZSBleHByZXNzaW9uLlxuICovXG5cbi8qKiBOb2RlIGNvbW1hbmQgZm9yIGV2YWx1YXRpbmcgaW5saW5lIEphdmFTY3JpcHQgaW4gaW5pdGlhbGl6ZWQgYXBwL0RCIGNvbnRleHQuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSdW5uZXJDb21tYW5kIGV4dGVuZHMgQmFzZUNvbW1hbmQge1xuICAvKiogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59IC0gUmVzb2x2ZXMgd2l0aCB0aGUgZXZhbHVhdGVkIGNvZGUgcmVzdWx0LiAqL1xuICBhc3luYyBleGVjdXRlKCkge1xuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSB0aGlzLmdldENvbmZpZ3VyYXRpb24oKVxuICAgIGNvbnN0IGNvZGUgPSB0aGlzLnJ1bm5lckNvZGUoKVxuXG4gICAgYXdhaXQgdGhpcy5pbml0aWFsaXplUnVudGltZSgpXG4gICAgYXdhaXQgY29uZmlndXJhdGlvbi5lbnN1cmVHbG9iYWxDb25uZWN0aW9ucygpXG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuZXZhbHVhdGVDb2RlKGNvZGUpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IGNvbmZpZ3VyYXRpb24uY2xvc2VEYXRhYmFzZUNvbm5lY3Rpb25zKClcbiAgICB9XG4gIH1cblxuICAvKiogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBydW50aW1lIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlLiAqL1xuICBhc3luYyBpbml0aWFsaXplUnVudGltZSgpIHtcbiAgICBjb25zdCBjb25maWd1cmF0aW9uID0gdGhpcy5nZXRDb25maWd1cmF0aW9uKClcblxuICAgIGF3YWl0IGNvbmZpZ3VyYXRpb24uaW5pdGlhbGl6ZSh7dHlwZTogXCJydW5uZXJcIn0pXG5cbiAgICBpZiAoIWNvbmZpZ3VyYXRpb24uaXNEYXRhYmFzZVBvb2xJbml0aWFsaXplZCgpKSB7XG4gICAgICBjb25maWd1cmF0aW9uLmluaXRpYWxpemVEYXRhYmFzZVBvb2woKVxuICAgIH1cbiAgfVxuXG4gIC8qKiBAcmV0dXJucyB7c3RyaW5nfSAtIElubGluZSBKYXZhU2NyaXB0IGNvZGUgdG8gZXZhbHVhdGUuICovXG4gIHJ1bm5lckNvZGUoKSB7XG4gICAgY29uc3QgY29kZSA9ICh0aGlzLnByb2Nlc3NBcmdzIHx8IFtdKS5zbGljZSgxKS5qb2luKFwiIFwiKS50cmltKClcblxuICAgIGlmICghY29kZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBjb2RlIGFyZ3VtZW50LiBVc2FnZTogbnB4IHZlbG9jaW91cyBydW5uZXIgXFxcIjxqYXZhc2NyaXB0LWNvZGU+XFxcIlwiKVxuICAgIH1cblxuICAgIHJldHVybiBjb2RlXG4gIH1cblxuICAvKiogQHJldHVybnMge1J1bm5lckNvbnRleHR9IC0gUnVudGltZSBjb250ZXh0IHBhc3NlZCB0byBldmFsdWF0ZWQgY29kZS4gKi9cbiAgYnVpbGRSdW5uZXJDb250ZXh0KCkge1xuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSB0aGlzLmdldENvbmZpZ3VyYXRpb24oKVxuICAgIGNvbnN0IGRicyA9IGNvbmZpZ3VyYXRpb24uZ2V0Q3VycmVudENvbm5lY3Rpb25zKClcbiAgICBjb25zdCBpZGVudGlmaWVycyA9IE9iamVjdC5rZXlzKGRicylcbiAgICAvKiogQHR5cGUge3N0cmluZ1tdfSAqL1xuICAgIGNvbnN0IHByb2Nlc3NBcmdzID0gdGhpcy5wcm9jZXNzQXJncyB8fCBbXVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbmZpZ3VyYXRpb24sXG4gICAgICBkYjogZGJzLmRlZmF1bHQgfHwgKGlkZW50aWZpZXJzLmxlbmd0aCA+IDAgPyBkYnNbaWRlbnRpZmllcnNbMF1dIDogdW5kZWZpbmVkKSxcbiAgICAgIGRicyxcbiAgICAgIGFyZ3M6IHByb2Nlc3NBcmdzLnNsaWNlKDIpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb2RlIC0gSmF2YVNjcmlwdCBjb2RlIHRvIGV2YWx1YXRlLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn0gLSBFdmFsdWF0ZWQgY29kZSByZXN1bHQuXG4gICAqL1xuICBhc3luYyBldmFsdWF0ZUNvZGUoY29kZSkge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmJ1aWxkUnVubmVyQ29udGV4dCgpXG4gICAgY29uc3QgQXN5bmNGdW5jdGlvbiA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihhc3luYyBmdW5jdGlvbiAoKSB7fSkuY29uc3RydWN0b3JcbiAgICBjb25zdCBydW5GdW5jdGlvbiA9IG5ldyBBc3luY0Z1bmN0aW9uKFxuICAgICAgXCJjb25maWd1cmF0aW9uXCIsXG4gICAgICBcImRiXCIsXG4gICAgICBcImRic1wiLFxuICAgICAgXCJhcmdzXCIsXG4gICAgICBjb2RlXG4gICAgKVxuXG4gICAgcmV0dXJuIGF3YWl0IHJ1bkZ1bmN0aW9uKGNvbnRleHQuY29uZmlndXJhdGlvbiwgY29udGV4dC5kYiwgY29udGV4dC5kYnMsIGNvbnRleHQuYXJncylcbiAgfVxufVxuIl19
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 {Set<string>} */
37
- _interestedChannels: Set<string>;
36
+ /** @type {Map<string, number>} */
37
+ _interestedChannels: Map<string, number>;
38
38
  /**
39
39
  * @returns {Promise<void>} - Resolves when ready.
40
40
  */