@creator.co/wapi 1.6.1 → 1.7.1-alpha1

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 (127) hide show
  1. package/.eslintignore +2 -1
  2. package/.github/workflows/npmpublish.yml +1 -1
  3. package/.github/workflows/prs.yml +1 -1
  4. package/dist/index.js +45 -31
  5. package/dist/index.js.map +1 -1
  6. package/dist/package-lock.json +11786 -0
  7. package/dist/package.json +24 -22
  8. package/dist/src/API/Request.js +53 -59
  9. package/dist/src/API/Request.js.map +1 -1
  10. package/dist/src/API/Response.js +81 -156
  11. package/dist/src/API/Response.js.map +1 -1
  12. package/dist/src/BaseEvent/EventProcessor.js +54 -132
  13. package/dist/src/BaseEvent/EventProcessor.js.map +1 -1
  14. package/dist/src/BaseEvent/Process.js +40 -98
  15. package/dist/src/BaseEvent/Process.js.map +1 -1
  16. package/dist/src/BaseEvent/Transaction.js +122 -310
  17. package/dist/src/BaseEvent/Transaction.js.map +1 -1
  18. package/dist/src/Cache/Redis.js +55 -119
  19. package/dist/src/Cache/Redis.js.map +1 -1
  20. package/dist/src/Cache/types.js +1 -2
  21. package/dist/src/Config/Configuration.js +46 -86
  22. package/dist/src/Config/Configuration.js.map +1 -1
  23. package/dist/src/Config/EnvironmentVar.js +57 -119
  24. package/dist/src/Config/EnvironmentVar.js.map +1 -1
  25. package/dist/src/Crypto/Crypto.js +35 -82
  26. package/dist/src/Crypto/Crypto.js.map +1 -1
  27. package/dist/src/Crypto/JWT.d.ts +1 -1
  28. package/dist/src/Crypto/JWT.js +12 -27
  29. package/dist/src/Crypto/JWT.js.map +1 -1
  30. package/dist/src/Database/Database.js +3 -8
  31. package/dist/src/Database/Database.js.map +1 -1
  32. package/dist/src/Database/DatabaseManager.js +23 -28
  33. package/dist/src/Database/DatabaseManager.js.map +1 -1
  34. package/dist/src/Database/DatabaseTransaction.js +50 -166
  35. package/dist/src/Database/DatabaseTransaction.js.map +1 -1
  36. package/dist/src/Database/index.js +11 -15
  37. package/dist/src/Database/index.js.map +1 -1
  38. package/dist/src/Database/integrations/knex/KnexDatabase.js +22 -76
  39. package/dist/src/Database/integrations/knex/KnexDatabase.js.map +1 -1
  40. package/dist/src/Database/integrations/knex/KnexTransaction.js +19 -85
  41. package/dist/src/Database/integrations/knex/KnexTransaction.js.map +1 -1
  42. package/dist/src/Database/integrations/kysely/KyselyDatabase.js +37 -88
  43. package/dist/src/Database/integrations/kysely/KyselyDatabase.js.map +1 -1
  44. package/dist/src/Database/integrations/kysely/KyselyTransaction.js +46 -114
  45. package/dist/src/Database/integrations/kysely/KyselyTransaction.js.map +1 -1
  46. package/dist/src/Database/integrations/pgsql/PostgresDatabase.d.ts +3 -3
  47. package/dist/src/Database/integrations/pgsql/PostgresDatabase.js +20 -71
  48. package/dist/src/Database/integrations/pgsql/PostgresDatabase.js.map +1 -1
  49. package/dist/src/Database/integrations/pgsql/PostgresTransaction.d.ts +9 -9
  50. package/dist/src/Database/integrations/pgsql/PostgresTransaction.js +19 -85
  51. package/dist/src/Database/integrations/pgsql/PostgresTransaction.js.map +1 -1
  52. package/dist/src/Database/types.js +1 -2
  53. package/dist/src/Globals.js +93 -98
  54. package/dist/src/Globals.js.map +1 -1
  55. package/dist/src/Logger/Logger.js +88 -222
  56. package/dist/src/Logger/Logger.js.map +1 -1
  57. package/dist/src/Mailer/Mailer.d.ts +1 -1
  58. package/dist/src/Mailer/Mailer.js +83 -204
  59. package/dist/src/Mailer/Mailer.js.map +1 -1
  60. package/dist/src/Publisher/Publisher.js +43 -107
  61. package/dist/src/Publisher/Publisher.js.map +1 -1
  62. package/dist/src/Server/RouteResolver.js +22 -49
  63. package/dist/src/Server/RouteResolver.js.map +1 -1
  64. package/dist/src/Server/Router.d.ts +1 -1
  65. package/dist/src/Server/Router.js +12 -16
  66. package/dist/src/Server/Router.js.map +1 -1
  67. package/dist/src/Server/lib/ContainerServer.js +21 -83
  68. package/dist/src/Server/lib/ContainerServer.js.map +1 -1
  69. package/dist/src/Server/lib/Server.js +50 -99
  70. package/dist/src/Server/lib/Server.js.map +1 -1
  71. package/dist/src/Server/lib/container/GenericHandler.js +32 -107
  72. package/dist/src/Server/lib/container/GenericHandler.js.map +1 -1
  73. package/dist/src/Server/lib/container/GenericHandlerEvent.js +37 -81
  74. package/dist/src/Server/lib/container/GenericHandlerEvent.js.map +1 -1
  75. package/dist/src/Server/lib/container/HealthHandler.js +3 -35
  76. package/dist/src/Server/lib/container/HealthHandler.js.map +1 -1
  77. package/dist/src/Server/lib/container/Proxy.js +66 -127
  78. package/dist/src/Server/lib/container/Proxy.js.map +1 -1
  79. package/dist/src/Server/lib/container/Utils.js +12 -55
  80. package/dist/src/Server/lib/container/Utils.js.map +1 -1
  81. package/dist/src/Util/AsyncSingleton.js +40 -164
  82. package/dist/src/Util/AsyncSingleton.js.map +1 -1
  83. package/dist/src/Util/Utils.js +18 -24
  84. package/dist/src/Util/Utils.js.map +1 -1
  85. package/dist/src/Validation/Validator.js +10 -16
  86. package/dist/src/Validation/Validator.js.map +1 -1
  87. package/jest.config.ts +1 -0
  88. package/jest.smoke.config.ts +35 -0
  89. package/package.json +24 -22
  90. package/src/Config/Configuration.ts +2 -2
  91. package/src/Crypto/JWT.ts +1 -1
  92. package/src/Database/DatabaseManager.ts +1 -1
  93. package/src/Database/integrations/knex/KnexDatabase.ts +1 -1
  94. package/src/Database/integrations/kysely/KyselyDatabase.ts +2 -2
  95. package/src/Database/integrations/pgsql/PostgresDatabase.ts +4 -4
  96. package/src/Database/integrations/pgsql/PostgresTransaction.ts +8 -8
  97. package/src/Globals.ts +1 -1
  98. package/src/Logger/Logger.ts +3 -3
  99. package/src/Mailer/Mailer.ts +3 -3
  100. package/src/Publisher/Publisher.ts +1 -1
  101. package/src/Server/Router.ts +1 -1
  102. package/src/Server/lib/container/GenericHandlerEvent.ts +1 -1
  103. package/src/Server/lib/container/Proxy.ts +6 -3
  104. package/tests/API/Response.test.ts +1 -0
  105. package/tests/BaseEvent/Transaction.test.ts +1 -0
  106. package/tests/Cache/Redis-client.test.ts +2 -0
  107. package/tests/Cache/Redis-cluster.test.ts +2 -0
  108. package/tests/Database/DatabaseManager.test.ts +4 -3
  109. package/tests/Database/integrations/knex/KnexDatabase.test.ts +1 -0
  110. package/tests/Database/integrations/knex/KnexTransaction.test.ts +1 -0
  111. package/tests/Database/integrations/kysely/KyselyDatabase.test.ts +4 -3
  112. package/tests/Database/integrations/kysely/KyselyTransaction.test.ts +2 -1
  113. package/tests/Database/integrations/pg/PostgresDatabase.test.ts +3 -2
  114. package/tests/Database/integrations/pg/PostgresTransaction.test.ts +4 -3
  115. package/tests/Logger/Logger.test.ts +6 -3
  116. package/tests/Server/Router.test.ts +1 -0
  117. package/tests/Server/lib/ContainerServer.test.ts +2 -1
  118. package/tests/Server/lib/container/GenericHandler.test.ts +1 -0
  119. package/tests/Server/lib/container/HealthHandler.test.ts +1 -0
  120. package/tests/Server/lib/container/Proxy.test.ts +2 -1
  121. package/tests/Test.utils.ts +2 -1
  122. package/tsconfig.json +6 -2
  123. package/tsconfig.smoke.json +26 -0
  124. package/dist/jest.config.d.ts +0 -3
  125. package/dist/jest.config.js +0 -34
  126. package/dist/jest.config.js.map +0 -1
  127. package/tests/main.test.ts +0 -15
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,65 +7,39 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
8
  });
10
9
  };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- var http_1 = require("http");
40
- var cors = require("cors");
41
- var express = require("express");
42
- var GenericHandler_1 = require("./GenericHandler");
43
- var HealthHandler_1 = require("./HealthHandler");
44
- var package_json_1 = require("../../../../package.json");
45
- var Globals_1 = require("../../../Globals");
46
- var Utils_1 = require("../../../Util/Utils");
10
+ import fs from 'fs';
11
+ import { createServer } from 'http';
12
+ import cors from 'cors';
13
+ import express from 'express';
14
+ import GenericHandler from './GenericHandler';
15
+ import HealthHandler from './HealthHandler';
16
+ import Globals from '../../../Globals';
17
+ import Utils from '../../../Util/Utils';
18
+ /* Get package.json version from Wapi on ESM */
19
+ const { version: appVersion } = JSON.parse(fs.readFileSync('package.json').toString());
47
20
  /**
48
21
  * Represents a Proxy class that handles routing and server functionality.
49
22
  */
50
- var Proxy = /** @class */ (function () {
23
+ export default class Proxy {
51
24
  /**
52
25
  * Constructs a new instance of the Router class.
53
26
  * @param {RouterConfig} config - The configuration object for the router.
54
27
  * @param {Server['handleServerlessEvent']} serverlessHandler - The handler function for serverless events.
55
28
  * @returns None
56
29
  */
57
- function Proxy(config, serverlessHandler) {
30
+ constructor(config, serverlessHandler) {
58
31
  this.stopping = false;
59
32
  this.config = config;
60
33
  this.serverlessHandler = serverlessHandler;
61
34
  this.app = express();
62
35
  /* Opinionated Express configs */
63
36
  this.app.use(express.json({
64
- verify: function (req, res, buf) {
37
+ verify(req, res, buf) {
65
38
  req['rawBody'] = buf;
66
39
  },
67
40
  }));
68
41
  // apply cors config
69
- var corsConfig = this.config.cors || Utils_1.default.parseObjectNullIfEmpty(process.env.CORS);
42
+ const corsConfig = this.config.cors || Utils.parseObjectNullIfEmpty(process.env.CORS);
70
43
  this.app.use(cors(corsConfig
71
44
  ? {
72
45
  origin: corsConfig.origin,
@@ -86,119 +59,85 @@ var Proxy = /** @class */ (function () {
86
59
  * Loads the necessary components and initializes the application.
87
60
  * @returns None
88
61
  */
89
- Proxy.prototype.load = function () {
90
- return __awaiter(this, void 0, void 0, function () {
91
- return __generator(this, function (_a) {
92
- switch (_a.label) {
93
- case 0: return [4 /*yield*/, this.startListeners()];
94
- case 1:
95
- _a.sent();
96
- this.installRoutes();
97
- return [2 /*return*/];
98
- }
99
- });
62
+ load() {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ yield this.startListeners();
65
+ this.installRoutes();
100
66
  });
101
- };
67
+ }
102
68
  /**
103
69
  * Unloads the current module, stopping any active listeners.
104
70
  * @param {any} [err] - Optional error object to pass to the stopListeners method.
105
71
  * @returns {Promise<void>} - A promise that resolves once the listeners have been stopped.
106
72
  */
107
- Proxy.prototype.unload = function (err) {
108
- return __awaiter(this, void 0, void 0, function () {
109
- return __generator(this, function (_a) {
110
- switch (_a.label) {
111
- case 0: return [4 /*yield*/, this.stopListeners(err)];
112
- case 1:
113
- _a.sent();
114
- return [2 /*return*/];
115
- }
116
- });
73
+ unload(err) {
74
+ return __awaiter(this, void 0, void 0, function* () {
75
+ yield this.stopListeners(err);
117
76
  });
118
- };
77
+ }
119
78
  /**
120
79
  * Starts the listeners for the proxy server.
121
80
  * @returns {Promise<void>} A promise that resolves when the listeners have started.
122
81
  */
123
- Proxy.prototype.startListeners = function () {
124
- return __awaiter(this, void 0, void 0, function () {
125
- var _this = this;
126
- return __generator(this, function (_a) {
127
- // eslint-disable-next-line no-async-promise-executor
128
- return [2 /*return*/, new Promise(function (resolve) { return __awaiter(_this, void 0, void 0, function () {
129
- var port;
130
- return __generator(this, function (_a) {
131
- switch (_a.label) {
132
- case 0:
133
- port = this.config.port || Globals_1.default.Listener_HTTP_DefaultPort;
134
- console.log("[Proxy] - [STARTING] - v.".concat(package_json_1.version, " - :").concat(port));
135
- // Create Server
136
- this.listener = (0, http_1.createServer)(this.app);
137
- // Set defaults
138
- this.listener.setTimeout(this.config.timeout || Globals_1.default.Listener_HTTP_DefaultTimeout);
139
- if (!this.config.containerSetupHook) return [3 /*break*/, 2];
140
- return [4 /*yield*/, this.config.containerSetupHook(this.listener, this.app)
141
- // Start Server
142
- ];
143
- case 1:
144
- _a.sent();
145
- _a.label = 2;
146
- case 2:
147
- // Start Server
148
- this.listener.listen(port, function () {
149
- console.log("[Proxy] - [STARTED]");
150
- resolve();
151
- });
152
- return [2 /*return*/];
153
- }
154
- });
155
- }); })];
156
- });
82
+ startListeners() {
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ // eslint-disable-next-line no-async-promise-executor
85
+ return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
86
+ const port = this.config.port || Globals.Listener_HTTP_DefaultPort;
87
+ console.log(`[Proxy] - [STARTING] - v.${appVersion} - :${port}`);
88
+ // Create Server
89
+ this.listener = createServer(this.app);
90
+ // Set defaults
91
+ this.listener.setTimeout(this.config.timeout || Globals.Listener_HTTP_DefaultTimeout);
92
+ // Call hook if available
93
+ if (this.config.containerSetupHook)
94
+ yield this.config.containerSetupHook(this.listener, this.app);
95
+ // Start Server
96
+ this.listener.listen(port, () => {
97
+ console.log(`[Proxy] - [STARTED]`);
98
+ resolve();
99
+ });
100
+ }));
157
101
  });
158
- };
102
+ }
159
103
  /**
160
104
  * Stops the listeners and exits the process.
161
105
  * @param {any} [err] - Optional error object.
162
106
  * @returns {Promise<void>} - A promise that resolves when the listeners are stopped and the process is exited.
163
107
  */
164
- Proxy.prototype.stopListeners = function (err) {
165
- return __awaiter(this, void 0, void 0, function () {
166
- var _this = this;
167
- return __generator(this, function (_a) {
168
- if (this.stopping)
169
- return [2 /*return*/];
170
- this.stopping = true;
171
- console.debug('[Proxy] - [STOPPING]');
172
- return [2 /*return*/, new Promise(function (resolve) {
173
- _this.listener.close(function (_err) {
174
- var err2 = err || _err;
175
- if (err2)
176
- console.log('[Proxy] - exit output:', err2);
177
- console.log('[Proxy] - [STOPPED]');
178
- process.exit(err2 ? 1 : 0);
179
- resolve(null);
180
- });
181
- })];
108
+ stopListeners(err) {
109
+ return __awaiter(this, void 0, void 0, function* () {
110
+ if (this.stopping)
111
+ return;
112
+ this.stopping = true;
113
+ console.debug('[Proxy] - [STOPPING]');
114
+ return new Promise(resolve => {
115
+ this.listener.close(_err => {
116
+ const err2 = err || _err;
117
+ if (err2)
118
+ console.log('[Proxy] - exit output:', err2);
119
+ console.log('[Proxy] - [STOPPED]');
120
+ process.exit(err2 ? 1 : 0);
121
+ resolve(null);
122
+ });
182
123
  });
183
124
  });
184
- };
125
+ }
185
126
  /**
186
127
  * Installs the routes for the proxy server.
187
128
  * @returns None
188
129
  */
189
- Proxy.prototype.installRoutes = function () {
130
+ installRoutes() {
190
131
  //Health check route -- This is a bypass route to only check if
191
132
  //runtime proxy is working and responding to calls.
192
- console.log("[Proxy] - [HEALTH-ROUTE] - ".concat(this.config.healthCheckRoute || Globals_1.default.Listener_HTTP_DefaultHealthCheckRoute));
133
+ console.log(`[Proxy] - [HEALTH-ROUTE] - ${this.config.healthCheckRoute || Globals.Listener_HTTP_DefaultHealthCheckRoute}`);
193
134
  this.app
194
- .route(this.config.healthCheckRoute || Globals_1.default.Listener_HTTP_DefaultHealthCheckRoute)
195
- .get(HealthHandler_1.default);
135
+ .route(this.config.healthCheckRoute || Globals.Listener_HTTP_DefaultHealthCheckRoute)
136
+ .get(HealthHandler);
196
137
  //Main route -- We use a wildcard route because is not the job of the runtime and neither
197
138
  //the task to deny/constrain routes that invoked this task; all the job is done by the
198
139
  //load balancer and we just foward everything we have to the function.
199
- this.app.route(Globals_1.default.Listener_HTTP_ProxyRoute).all((0, GenericHandler_1.default)(this.serverlessHandler));
200
- };
201
- return Proxy;
202
- }());
203
- exports.default = Proxy;
140
+ this.app.route(Globals.Listener_HTTP_ProxyRoute).all(GenericHandler(this.serverlessHandler));
141
+ }
142
+ }
204
143
  //# sourceMappingURL=Proxy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Proxy.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/Proxy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6BAAyD;AAEzD,2BAA4B;AAC5B,iCAAkC;AAGlC,mDAA6C;AAC7C,iDAA2C;AAC3C,yDAAgE;AAChE,4CAAsC;AACtC,6CAAuC;AAGvC;;GAEG;AACH;IA4BE;;;;;OAKG;IACH,eAAY,MAAoB,EAAE,iBAAkD;QAClF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,CAAA;QACpB,iCAAiC;QACjC,IAAI,CAAC,GAAG,CAAC,GAAG,CACV,OAAO,CAAC,IAAI,CAAC;YACX,MAAM,YAAC,GAAG,EAAE,GAAG,EAAE,GAAG;gBAClB,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAA;YACtB,CAAC;SACF,CAAC,CACH,CAAA;QACD,oBAAoB;QACpB,IAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,eAAK,CAAC,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACrF,IAAI,CAAC,GAAG,CAAC,GAAG,CACV,IAAI,CACF,UAAU;YACR,CAAC,CAAC;gBACE,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,cAAc,EAAE,UAAU,CAAC,OAAO;gBAClC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,gBAAgB;aAC3C;YACH,CAAC,CAAC,EAAE,CACP,CACF,CAAA;QAED,6EAA6E;QAC7E,iFAAiF;QACjF,gFAAgF;QAChF,mFAAmF;QACnF,mBAAmB;QACnB,kDAAkD;QAClD,gDAAgD;IAClD,CAAC;IAED;;;OAGG;IACG,oBAAI,GAAV;;;;4BACE,qBAAM,IAAI,CAAC,cAAc,EAAE,EAAA;;wBAA3B,SAA2B,CAAA;wBAC3B,IAAI,CAAC,aAAa,EAAE,CAAA;;;;;KACrB;IAED;;;;OAIG;IACG,sBAAM,GAAZ,UAAa,GAAS;;;;4BACpB,qBAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAA;;wBAA7B,SAA6B,CAAA;;;;;KAC9B;IAED;;;OAGG;IACW,8BAAc,GAA5B;;;;gBACE,qDAAqD;gBACrD,sBAAO,IAAI,OAAO,CAAC,UAAM,OAAO;;;;;oCACxB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,iBAAO,CAAC,yBAAyB,CAAA;oCAClE,OAAO,CAAC,GAAG,CAAC,mCAA4B,sBAAU,iBAAO,IAAI,CAAE,CAAC,CAAA;oCAChE,gBAAgB;oCAChB,IAAI,CAAC,QAAQ,GAAG,IAAA,mBAAY,EAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oCACtC,eAAe;oCACf,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,iBAAO,CAAC,4BAA4B,CAAC,CAAA;yCAEjF,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAA9B,wBAA8B;oCAChC,qBAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC;wCAC/D,eAAe;sCADgD;;oCAA7D,SAA6D,CAAA;;;oCAC/D,eAAe;oCACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE;wCACzB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;wCAClC,OAAO,EAAE,CAAA;oCACX,CAAC,CAAC,CAAA;;;;yBACH,CAAC,EAAA;;;KACH;IAED;;;;OAIG;IACW,6BAAa,GAA3B,UAA4B,GAAS;;;;gBACnC,IAAI,IAAI,CAAC,QAAQ;oBAAE,sBAAM;gBACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;gBACpB,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBACrC,sBAAO,IAAI,OAAO,CAAC,UAAA,OAAO;wBACxB,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAA,IAAI;4BACtB,IAAM,IAAI,GAAG,GAAG,IAAI,IAAI,CAAA;4BACxB,IAAI,IAAI;gCAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAA;4BACrD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;4BAClC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;4BAC1B,OAAO,CAAC,IAAI,CAAC,CAAA;wBACf,CAAC,CAAC,CAAA;oBACJ,CAAC,CAAC,EAAA;;;KACH;IAED;;;OAGG;IACK,6BAAa,GAArB;QACE,+DAA+D;QAC/D,mDAAmD;QACnD,OAAO,CAAC,GAAG,CACT,qCACE,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,iBAAO,CAAC,qCAAqC,CAC7E,CACH,CAAA;QACD,IAAI,CAAC,GAAG;aACL,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,IAAI,iBAAO,CAAC,qCAAqC,CAAC;aACpF,GAAG,CAAC,uBAAa,CAAC,CAAA;QACrB,yFAAyF;QACzF,sFAAsF;QACtF,sEAAsE;QACtE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAO,CAAC,wBAAwB,CAAC,CAAC,GAAG,CAAC,IAAA,wBAAc,EAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAC9F,CAAC;IACH,YAAC;AAAD,CAAC,AAxJD,IAwJC"}
1
+ {"version":3,"file":"Proxy.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/Proxy.ts"],"names":[],"mappings":"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"}
@@ -1,80 +1,37 @@
1
- "use strict";
2
- var __values = (this && this.__values) || function(o) {
3
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
- if (m) return m.call(o);
5
- if (o && typeof o.length === "number") return {
6
- next: function () {
7
- if (o && i >= o.length) o = void 0;
8
- return { value: o && o[i++], done: !o };
9
- }
10
- };
11
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
- };
13
- var __read = (this && this.__read) || function (o, n) {
14
- var m = typeof Symbol === "function" && o[Symbol.iterator];
15
- if (!m) return o;
16
- var i = m.call(o), r, ar = [], e;
17
- try {
18
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
- }
20
- catch (error) { e = { error: error }; }
21
- finally {
22
- try {
23
- if (r && !r.done && (m = i["return"])) m.call(i);
24
- }
25
- finally { if (e) throw e.error; }
26
- }
27
- return ar;
28
- };
29
- Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.parseQueryStringParameters = exports.parseMultiValueQueryStringParameters = void 0;
31
1
  /**
32
2
  * Parses the multi-value query string parameters from the given URL.
33
3
  * @param {string} url - The URL containing the query string parameters.
34
4
  * @returns {Object} - An object representing the parsed query string parameters.
35
5
  */
36
- function parseMultiValueQueryStringParameters(url) {
37
- var e_1, _a;
6
+ export function parseMultiValueQueryStringParameters(url) {
38
7
  // dummy placeholder url for the WHATWG URL constructor
39
8
  // https://github.com/nodejs/node/issues/12682
40
- var searchParams = new URL(url, 'http://example').searchParams;
9
+ const { searchParams } = new URL(url, 'http://example');
41
10
  //
42
11
  if (Array.from(searchParams).length === 0)
43
12
  return {};
44
- var map = new Map();
45
- try {
46
- // eslint-disable-next-line no-restricted-syntax
47
- for (var searchParams_1 = __values(searchParams), searchParams_1_1 = searchParams_1.next(); !searchParams_1_1.done; searchParams_1_1 = searchParams_1.next()) {
48
- var _b = __read(searchParams_1_1.value, 2), key = _b[0], value = _b[1];
49
- var item = map.get(key);
50
- if (item)
51
- item.push(value);
52
- else
53
- map.set(key, [value]);
54
- }
55
- }
56
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
57
- finally {
58
- try {
59
- if (searchParams_1_1 && !searchParams_1_1.done && (_a = searchParams_1.return)) _a.call(searchParams_1);
60
- }
61
- finally { if (e_1) throw e_1.error; }
13
+ const map = new Map();
14
+ // eslint-disable-next-line no-restricted-syntax
15
+ for (const [key, value] of searchParams) {
16
+ const item = map.get(key);
17
+ if (item)
18
+ item.push(value);
19
+ else
20
+ map.set(key, [value]);
62
21
  }
63
22
  return Object.fromEntries(map);
64
23
  }
65
- exports.parseMultiValueQueryStringParameters = parseMultiValueQueryStringParameters;
66
24
  /**
67
25
  * Parses the query string parameters from a given URL.
68
26
  * @param {string} url - The URL to parse the query string parameters from.
69
27
  * @returns {object | null} - An object containing the parsed query string parameters, or null if there are no parameters.
70
28
  */
71
- function parseQueryStringParameters(url) {
29
+ export function parseQueryStringParameters(url) {
72
30
  // dummy placeholder url for the WHATWG URL constructor
73
31
  // https://github.com/nodejs/node/issues/12682
74
- var searchParams = new URL(url, 'http://example').searchParams;
32
+ const { searchParams } = new URL(url, 'http://example');
75
33
  if (Array.from(searchParams).length === 0)
76
34
  return {};
77
35
  return Object.fromEntries(searchParams);
78
36
  }
79
- exports.parseQueryStringParameters = parseQueryStringParameters;
80
37
  //# sourceMappingURL=Utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/Utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,SAAgB,oCAAoC,CAAC,GAAW;;IAC9D,uDAAuD;IACvD,8CAA8C;IACtC,IAAA,YAAY,GAAK,IAAI,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,aAAnC,CAAmC;IACvD,EAAE;IACF,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACpD,IAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAA;;QACrB,gDAAgD;QAChD,KAA2B,IAAA,iBAAA,SAAA,YAAY,CAAA,0CAAA,oEAAE,CAAC;YAA/B,IAAA,KAAA,iCAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;YACpB,IAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACzB,IAAI,IAAI;gBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;;gBACrB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;QAC5B,CAAC;;;;;;;;;IACD,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;AAChC,CAAC;AAdD,oFAcC;AAED;;;;GAIG;AACH,SAAgB,0BAA0B,CAAC,GAAG;IAC5C,uDAAuD;IACvD,8CAA8C;IACtC,IAAA,YAAY,GAAK,IAAI,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,aAAnC,CAAmC;IACvD,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACpD,OAAO,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;AACzC,CAAC;AAND,gEAMC"}
1
+ {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/Utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,oCAAoC,CAAC,GAAW;IAC9D,uDAAuD;IACvD,8CAA8C;IAC9C,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;IACvD,EAAE;IACF,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACpD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAA;IACrB,gDAAgD;IAChD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACzB,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;;YACrB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,GAAG;IAC5C,uDAAuD;IACvD,8CAA8C;IAC9C,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;IACvD,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACpD,OAAO,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;AACzC,CAAC"}
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,75 +7,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
8
  });
10
9
  };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __values = (this && this.__values) || function(o) {
39
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
40
- if (m) return m.call(o);
41
- if (o && typeof o.length === "number") return {
42
- next: function () {
43
- if (o && i >= o.length) o = void 0;
44
- return { value: o && o[i++], done: !o };
45
- }
46
- };
47
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
48
- };
49
- var __read = (this && this.__read) || function (o, n) {
50
- var m = typeof Symbol === "function" && o[Symbol.iterator];
51
- if (!m) return o;
52
- var i = m.call(o), r, ar = [], e;
53
- try {
54
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
55
- }
56
- catch (error) { e = { error: error }; }
57
- finally {
58
- try {
59
- if (r && !r.done && (m = i["return"])) m.call(i);
60
- }
61
- finally { if (e) throw e.error; }
62
- }
63
- return ar;
64
- };
65
- Object.defineProperty(exports, "__esModule", { value: true });
66
10
  /**
67
11
  * Represents a class that can be used to create a singleton instance of a class that is created asynchronously.
68
12
  */
69
- var AsyncSingleton = /** @class */ (function () {
13
+ export default class AsyncSingleton {
70
14
  /**
71
15
  * Creates a new instance of the AsyncSingleton class.
72
16
  * @param factory The factory function that creates the instance.
73
17
  * @param checker The function that checks if the instance is valid.
74
18
  */
75
- function AsyncSingleton(factory, checker) {
76
- if (checker === void 0) { checker = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
77
- return [2 /*return*/, true];
78
- }); }); }; }
79
- var _this = this;
19
+ constructor(factory, checker = () => __awaiter(this, void 0, void 0, function* () { return true; })) {
80
20
  this.queue = [];
81
21
  this.instantiating = false;
82
22
  this.factory = factory;
@@ -86,122 +26,58 @@ var AsyncSingleton = /** @class */ (function () {
86
26
  * Gets the instance of the class.
87
27
  * @param r The configuration object for creating the instance.
88
28
  */
89
- AsyncSingleton.prototype.instance = function (r) {
90
- return __awaiter(this, void 0, void 0, function () {
91
- var _a;
92
- return __generator(this, function (_b) {
93
- switch (_b.label) {
94
- case 0:
95
- _a = this.value;
96
- if (!_a) return [3 /*break*/, 2];
97
- return [4 /*yield*/, this.checker(this.value)];
98
- case 1:
99
- _a = (_b.sent());
100
- _b.label = 2;
101
- case 2:
102
- if (_a)
103
- return [2 /*return*/, this.value];
104
- if (!this.instantiating) return [3 /*break*/, 4];
105
- return [4 /*yield*/, this.awaitOtherInit()];
106
- case 3: return [2 /*return*/, _b.sent()];
107
- case 4: return [4 /*yield*/, this.initHere(r)];
108
- case 5: return [2 /*return*/, _b.sent()];
109
- }
110
- });
29
+ instance(r) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ if (this.value && (yield this.checker(this.value)))
32
+ return this.value;
33
+ if (this.instantiating) {
34
+ return yield this.awaitOtherInit();
35
+ }
36
+ return yield this.initHere(r);
111
37
  });
112
- };
38
+ }
113
39
  /**
114
40
  * Gets the current value, may be undefined or invalid.
115
41
  */
116
- AsyncSingleton.prototype.getValue = function () {
42
+ getValue() {
117
43
  return this.value;
118
- };
44
+ }
119
45
  /**
120
46
  * Clears the current value and rejects all pending promises.
121
47
  */
122
- AsyncSingleton.prototype.clear = function () {
123
- var e_1, _a;
48
+ clear() {
124
49
  this.value = undefined;
125
- try {
126
- for (var _b = __values(this.queue), _c = _b.next(); !_c.done; _c = _b.next()) {
127
- var _d = __read(_c.value, 2), rej = _d[1];
128
- rej();
129
- }
50
+ for (const [, rej] of this.queue) {
51
+ rej();
130
52
  }
131
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
132
- finally {
53
+ this.queue = [];
54
+ }
55
+ initHere(r) {
56
+ return __awaiter(this, void 0, void 0, function* () {
133
57
  try {
134
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
58
+ this.instantiating = true;
59
+ this.value = yield this.factory(r);
60
+ for (const [res] of this.queue) {
61
+ res();
62
+ }
63
+ this.queue = [];
64
+ return this.value;
135
65
  }
136
- finally { if (e_1) throw e_1.error; }
137
- }
138
- this.queue = [];
139
- };
140
- AsyncSingleton.prototype.initHere = function (r) {
141
- return __awaiter(this, void 0, void 0, function () {
142
- var _a, _b, _c, _d, res, _e, _f, _g, rej;
143
- var e_2, _h, e_3, _j;
144
- return __generator(this, function (_k) {
145
- switch (_k.label) {
146
- case 0:
147
- _k.trys.push([0, , 2, 3]);
148
- this.instantiating = true;
149
- _a = this;
150
- return [4 /*yield*/, this.factory(r)];
151
- case 1:
152
- _a.value = _k.sent();
153
- try {
154
- for (_b = __values(this.queue), _c = _b.next(); !_c.done; _c = _b.next()) {
155
- _d = __read(_c.value, 1), res = _d[0];
156
- res();
157
- }
158
- }
159
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
160
- finally {
161
- try {
162
- if (_c && !_c.done && (_h = _b.return)) _h.call(_b);
163
- }
164
- finally { if (e_2) throw e_2.error; }
165
- }
166
- this.queue = [];
167
- return [2 /*return*/, this.value];
168
- case 2:
169
- try {
170
- for (_e = __values(this.queue), _f = _e.next(); !_f.done; _f = _e.next()) {
171
- _g = __read(_f.value, 2), rej = _g[1];
172
- rej();
173
- }
174
- }
175
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
176
- finally {
177
- try {
178
- if (_f && !_f.done && (_j = _e.return)) _j.call(_e);
179
- }
180
- finally { if (e_3) throw e_3.error; }
181
- }
182
- this.instantiating = false;
183
- return [7 /*endfinally*/];
184
- case 3: return [2 /*return*/];
66
+ finally {
67
+ for (const [, rej] of this.queue) {
68
+ rej();
185
69
  }
186
- });
70
+ this.instantiating = false;
71
+ }
187
72
  });
188
- };
189
- AsyncSingleton.prototype.awaitOtherInit = function () {
190
- return __awaiter(this, void 0, void 0, function () {
191
- var _this = this;
192
- return __generator(this, function (_a) {
193
- switch (_a.label) {
194
- case 0: return [4 /*yield*/, new Promise(function (res, rej) {
195
- _this.queue.push([res, rej]);
196
- })];
197
- case 1:
198
- _a.sent();
199
- return [2 /*return*/, this.value];
200
- }
73
+ }
74
+ awaitOtherInit() {
75
+ return __awaiter(this, void 0, void 0, function* () {
76
+ yield new Promise((res, rej) => {
77
+ this.queue.push([res, rej]);
201
78
  });
79
+ return this.value;
202
80
  });
203
- };
204
- return AsyncSingleton;
205
- }());
206
- exports.default = AsyncSingleton;
81
+ }
82
+ }
207
83
  //# sourceMappingURL=AsyncSingleton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AsyncSingleton.js","sourceRoot":"","sources":["../../../src/Util/AsyncSingleton.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;;GAEG;AACH;IASE;;;;OAIG;IACH,wBACE,OAA6B,EAC7B,OAA0D;QAA1D,wBAAA,EAAA;YAAsD,sBAAA,IAAI,EAAA;iBAAA;QAF5D,iBAMC;QAhBO,UAAK,GAAoB,EAAE,CAAA;QAC3B,kBAAa,GAAY,KAAK,CAAA;QAapC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED;;;OAGG;IACU,iCAAQ,GAArB,UAAsB,CAAI;;;;;;wBACpB,KAAA,IAAI,CAAC,KAAK,CAAA;iCAAV,wBAAU;wBAAK,qBAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAA;;wBAA/B,KAAA,CAAC,SAA8B,CAAC,CAAA;;;wBAAlD;4BAAoD,sBAAO,IAAI,CAAC,KAAK,EAAA;6BAEjE,IAAI,CAAC,aAAa,EAAlB,wBAAkB;wBACb,qBAAM,IAAI,CAAC,cAAc,EAAE,EAAA;4BAAlC,sBAAO,SAA2B,EAAA;4BAG7B,qBAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAA;4BAA7B,sBAAO,SAAsB,EAAA;;;;KAC9B;IAED;;OAEG;IACI,iCAAQ,GAAf;QACE,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED;;OAEG;IACI,8BAAK,GAAZ;;QACE,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;;YACtB,KAAsB,IAAA,KAAA,SAAA,IAAI,CAAC,KAAK,CAAA,gBAAA,4BAAE,CAAC;gBAAxB,IAAA,KAAA,mBAAO,EAAJ,GAAG,QAAA;gBACf,GAAG,EAAE,CAAA;YACP,CAAC;;;;;;;;;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;IACjB,CAAC;IAEa,iCAAQ,GAAtB,UAAuB,CAAI;;;;;;;;wBAEvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;wBACzB,KAAA,IAAI,CAAA;wBAAS,qBAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAA;;wBAAlC,GAAK,KAAK,GAAG,SAAqB,CAAA;;4BAElC,KAAoB,KAAA,SAAA,IAAI,CAAC,KAAK,CAAA,4CAAE,CAAC;gCAAtB,KAAA,mBAAK,EAAJ,GAAG,QAAA;gCACb,GAAG,EAAE,CAAA;4BACP,CAAC;;;;;;;;;wBAED,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;wBAEf,sBAAO,IAAI,CAAC,KAAK,EAAA;;;4BAEjB,KAAsB,KAAA,SAAA,IAAI,CAAC,KAAK,CAAA,4CAAE,CAAC;gCAAxB,KAAA,mBAAO,EAAJ,GAAG,QAAA;gCACf,GAAG,EAAE,CAAA;4BACP,CAAC;;;;;;;;;wBACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;;;;;;KAE7B;IAEa,uCAAc,GAA5B;;;;;4BACE,qBAAM,IAAI,OAAO,CAAO,UAAC,GAAG,EAAE,GAAG;4BAC/B,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;wBAC7B,CAAC,CAAC,EAAA;;wBAFF,SAEE,CAAA;wBACF,sBAAO,IAAI,CAAC,KAAM,EAAA;;;;KACnB;IACH,qBAAC;AAAD,CAAC,AAhFD,IAgFC"}
1
+ {"version":3,"file":"AsyncSingleton.js","sourceRoot":"","sources":["../../../src/Util/AsyncSingleton.ts"],"names":[],"mappings":";;;;;;;;;AAEA;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IASjC;;;;OAIG;IACH,YACE,OAA6B,EAC7B,UAA0C,GAAS,EAAE,gDAAC,OAAA,IAAI,CAAA,GAAA;QAZpD,UAAK,GAAoB,EAAE,CAAA;QAC3B,kBAAa,GAAY,KAAK,CAAA;QAapC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED;;;OAGG;IACU,QAAQ,CAAC,CAAI;;YACxB,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAA;YAErE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,OAAO,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;YACpC,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC/B,CAAC;KAAA;IAED;;OAEG;IACI,QAAQ;QACb,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,KAAK,GAAG,SAAS,CAAA;QACtB,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACjC,GAAG,EAAE,CAAA;QACP,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;IACjB,CAAC;IAEa,QAAQ,CAAC,CAAI;;YACzB,IAAI,CAAC;gBACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAA;gBACzB,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;gBAElC,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC/B,GAAG,EAAE,CAAA;gBACP,CAAC;gBAED,IAAI,CAAC,KAAK,GAAG,EAAE,CAAA;gBAEf,OAAO,IAAI,CAAC,KAAK,CAAA;YACnB,CAAC;oBAAS,CAAC;gBACT,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACjC,GAAG,EAAE,CAAA;gBACP,CAAC;gBACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA;YAC5B,CAAC;QACH,CAAC;KAAA;IAEa,cAAc;;YAC1B,MAAM,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;YAC7B,CAAC,CAAC,CAAA;YACF,OAAO,IAAI,CAAC,KAAM,CAAA;QACpB,CAAC;KAAA;CACF"}