@spinajs/http 2.0.486 → 2.0.487
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +370 -5
- package/lib/cjs/base-controller.d.ts +35 -0
- package/lib/cjs/base-controller.d.ts.map +1 -0
- package/lib/cjs/base-controller.js +100 -0
- package/lib/cjs/base-controller.js.map +1 -0
- package/lib/cjs/cache.d.ts +25 -3
- package/lib/cjs/cache.d.ts.map +1 -1
- package/lib/cjs/cache.js +26 -9
- package/lib/cjs/cache.js.map +1 -1
- package/lib/cjs/cli/GenerateControllerCache.d.ts +13 -4
- package/lib/cjs/cli/GenerateControllerCache.d.ts.map +1 -1
- package/lib/cjs/cli/GenerateControllerCache.js +37 -10
- package/lib/cjs/cli/GenerateControllerCache.js.map +1 -1
- package/lib/cjs/controller-sources.d.ts +36 -0
- package/lib/cjs/controller-sources.d.ts.map +1 -0
- package/lib/cjs/controller-sources.js +73 -0
- package/lib/cjs/controller-sources.js.map +1 -0
- package/lib/cjs/controllers.d.ts +19 -36
- package/lib/cjs/controllers.d.ts.map +1 -1
- package/lib/cjs/controllers.js +98 -302
- package/lib/cjs/controllers.js.map +1 -1
- package/lib/cjs/exceptions.d.ts +12 -0
- package/lib/cjs/exceptions.d.ts.map +1 -1
- package/lib/cjs/exceptions.js +15 -1
- package/lib/cjs/exceptions.js.map +1 -1
- package/lib/cjs/index.d.ts +4 -0
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js +4 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/middlewares/RequestId.d.ts.map +1 -1
- package/lib/cjs/middlewares/RequestId.js +4 -0
- package/lib/cjs/middlewares/RequestId.js.map +1 -1
- package/lib/cjs/route-builder.d.ts +61 -0
- package/lib/cjs/route-builder.d.ts.map +1 -0
- package/lib/cjs/route-builder.js +228 -0
- package/lib/cjs/route-builder.js.map +1 -0
- package/lib/mjs/base-controller.d.ts +35 -0
- package/lib/mjs/base-controller.d.ts.map +1 -0
- package/lib/mjs/base-controller.js +93 -0
- package/lib/mjs/base-controller.js.map +1 -0
- package/lib/mjs/cache.d.ts +25 -3
- package/lib/mjs/cache.d.ts.map +1 -1
- package/lib/mjs/cache.js +25 -10
- package/lib/mjs/cache.js.map +1 -1
- package/lib/mjs/cli/GenerateControllerCache.d.ts +13 -4
- package/lib/mjs/cli/GenerateControllerCache.d.ts.map +1 -1
- package/lib/mjs/cli/GenerateControllerCache.js +39 -12
- package/lib/mjs/cli/GenerateControllerCache.js.map +1 -1
- package/lib/mjs/controller-sources.d.ts +36 -0
- package/lib/mjs/controller-sources.d.ts.map +1 -0
- package/lib/mjs/controller-sources.js +69 -0
- package/lib/mjs/controller-sources.js.map +1 -0
- package/lib/mjs/controllers.d.ts +19 -36
- package/lib/mjs/controllers.d.ts.map +1 -1
- package/lib/mjs/controllers.js +95 -298
- package/lib/mjs/controllers.js.map +1 -1
- package/lib/mjs/exceptions.d.ts +12 -0
- package/lib/mjs/exceptions.d.ts.map +1 -1
- package/lib/mjs/exceptions.js +12 -0
- package/lib/mjs/exceptions.js.map +1 -1
- package/lib/mjs/index.d.ts +4 -0
- package/lib/mjs/index.d.ts.map +1 -1
- package/lib/mjs/index.js +4 -0
- package/lib/mjs/index.js.map +1 -1
- package/lib/mjs/middlewares/RequestId.d.ts.map +1 -1
- package/lib/mjs/middlewares/RequestId.js +4 -0
- package/lib/mjs/middlewares/RequestId.js.map +1 -1
- package/lib/mjs/route-builder.d.ts +61 -0
- package/lib/mjs/route-builder.d.ts.map +1 -0
- package/lib/mjs/route-builder.js +216 -0
- package/lib/mjs/route-builder.js.map +1 -0
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +11 -11
package/lib/mjs/controllers.js
CHANGED
|
@@ -7,268 +7,61 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
-
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
11
|
-
import { isPromise } from '@spinajs/util';
|
|
12
10
|
import Express from 'express';
|
|
13
|
-
import _ from 'lodash';
|
|
14
11
|
import { AsyncService, Autoinject, DI, ClassInfo, Container } from '@spinajs/di';
|
|
15
|
-
import { UnexpectedServerError } from '@spinajs/exceptions';
|
|
16
|
-
import { ListFromFiles } from '@spinajs/reflection';
|
|
17
12
|
import { Logger, Log } from '@spinajs/log';
|
|
18
|
-
import { DataValidator } from '@spinajs/validation';
|
|
19
|
-
import { Configuration } from '@spinajs/configuration';
|
|
20
13
|
import { HttpServer } from './server.js';
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
|
|
27
|
-
|
|
14
|
+
import { uniqueBy } from '@spinajs/util';
|
|
15
|
+
import { DefaultControllerCache, parseFnParamNames, isOnDiskSource } from './cache.js';
|
|
16
|
+
import { BaseController } from './base-controller.js';
|
|
17
|
+
import { ControllerSource } from './controller-sources.js';
|
|
18
|
+
import { ControllerRegistrationException, RouteRegistrationException } from './exceptions.js';
|
|
19
|
+
export class Controllers extends AsyncService {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments);
|
|
22
|
+
/**
|
|
23
|
+
* Tracks which controller types have already been route-registered so
|
|
24
|
+
* {@link add} is idempotent.
|
|
25
|
+
*/
|
|
26
|
+
this.RegisteredTypes = new Set();
|
|
27
|
+
}
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
29
|
+
* Merged, deduped controller list from all registered
|
|
30
|
+
* {@link ControllerSource} services (no instances until `resolve()` patches
|
|
31
|
+
* them in). Kept as a public accessor for API compatibility — http-swagger
|
|
32
|
+
* and app code read it to enumerate controllers.
|
|
30
33
|
*/
|
|
31
|
-
get
|
|
32
|
-
return this.
|
|
34
|
+
get Controllers() {
|
|
35
|
+
return (this._listed ??= this.listControllers());
|
|
33
36
|
}
|
|
34
37
|
/**
|
|
35
|
-
*
|
|
38
|
+
* Resolves all registered controller discovery services. Override point
|
|
39
|
+
* for tests and for apps that want full control over discovery.
|
|
36
40
|
*/
|
|
37
|
-
|
|
38
|
-
return
|
|
41
|
+
async getSources() {
|
|
42
|
+
return (await DI.resolve(Array.ofType(ControllerSource)));
|
|
39
43
|
}
|
|
40
44
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
45
|
+
* Gathers controllers from every source and dedupes them: for the same
|
|
46
|
+
* type an entry with a real on-disk file wins over a `<di>` / `<dynamic>`
|
|
47
|
+
* sentinel (the file path feeds ControllersCache source parsing).
|
|
44
48
|
*/
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
this._router = Express.Router();
|
|
56
|
-
for (const [, route] of this.Descriptor.Routes) {
|
|
57
|
-
const handlers = [];
|
|
58
|
-
let path = '';
|
|
59
|
-
if (route.Path) {
|
|
60
|
-
if (route.Path === '/') {
|
|
61
|
-
path = `/${this.BasePath}`;
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
if (this.BasePath === '/') {
|
|
65
|
-
path = `/${route.Path}`;
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
path = `/${this.BasePath}/${route.Path}`;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
path = `/${this.BasePath}/${String(route.Method)}`;
|
|
49
|
+
async listControllers() {
|
|
50
|
+
const sources = await this.getSources();
|
|
51
|
+
const lists = await Promise.all(sources.map((s) => s.getControllers()));
|
|
52
|
+
const byType = new Map();
|
|
53
|
+
const untyped = [];
|
|
54
|
+
for (const ci of lists.flat()) {
|
|
55
|
+
if (!ci.type) {
|
|
56
|
+
untyped.push(ci);
|
|
57
|
+
continue;
|
|
74
58
|
}
|
|
75
|
-
|
|
76
|
-
if (
|
|
77
|
-
|
|
59
|
+
const existing = byType.get(ci.type);
|
|
60
|
+
if (!existing || (!isOnDiskSource(existing.file) && isOnDiskSource(ci.file))) {
|
|
61
|
+
byType.set(ci.type, ci);
|
|
78
62
|
}
|
|
79
|
-
const middlewares = await Promise.all(this.Descriptor.Middlewares.concat(route.Middlewares || []).map((m) => {
|
|
80
|
-
return self._container.resolve(m.Type, m.Options);
|
|
81
|
-
}));
|
|
82
|
-
const policies = await Promise.all(this.Descriptor.Policies.concat(route.Policies || [])
|
|
83
|
-
.map((m) => {
|
|
84
|
-
if (_.isString(m.Type)) {
|
|
85
|
-
const policyType = this._cfg.get(m.Type);
|
|
86
|
-
if (!DI.checkType(BasePolicy, policyType)) {
|
|
87
|
-
self._log.warn(`No policy named ${policyType} is registered ( check your configuration at ${m.Type})`);
|
|
88
|
-
return null;
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
self._log.trace(`Policy ${policyType} is used in controller ${self.constructor.name}::${String(route.Method)} at path ${path}`);
|
|
92
|
-
return self._container.resolve(policyType, m.Options);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
self._log.trace(`Policy ${m.Type.name} is used in controller ${self.constructor.name}::${String(route.Method)} at path ${path}`);
|
|
97
|
-
return self._container.resolve(m.Type, m.Options);
|
|
98
|
-
}
|
|
99
|
-
})
|
|
100
|
-
.filter((x) => x !== null));
|
|
101
|
-
const enabledMiddlewares = middlewares.filter((m) => m.isEnabled(route, this));
|
|
102
|
-
this._log.trace(`Registering route ${route.Type.toUpperCase()} ${this.constructor.name}::${String(route.Method)} at ${path}`);
|
|
103
|
-
// Execute all policies for route
|
|
104
|
-
// If at least ONE policy returns no error allow route to execute
|
|
105
|
-
// It allows to use multiple access to resource eg. token access & session
|
|
106
|
-
handlers.push((req, _res, next) => {
|
|
107
|
-
// Only policies enabled for this concrete route participate in the gate.
|
|
108
|
-
// A route whose policies are ALL disabled has no active authorization
|
|
109
|
-
// check, so it is allowed through — same semantics as having no policies
|
|
110
|
-
// at all. Computing this up front is what prevents the request from
|
|
111
|
-
// hanging: `Promise.allSettled([])` resolves to `[]`, which matches
|
|
112
|
-
// neither the fulfilled nor the rejected branch below, so `next` would
|
|
113
|
-
// never be called.
|
|
114
|
-
const enabledPolicies = policies.filter((p) => p.isEnabled(route, this));
|
|
115
|
-
if (enabledPolicies.length === 0) {
|
|
116
|
-
next();
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
Promise.allSettled(enabledPolicies
|
|
120
|
-
.map((p) => {
|
|
121
|
-
return p
|
|
122
|
-
.execute(req, route, this)
|
|
123
|
-
.then(() => {
|
|
124
|
-
this._log.trace(`Policy succeded for route ${self.constructor.name}:${String(route.Method)} ${self.BasePath}/${String(route.Path || route.Method)}, policy: ${p.constructor.name}`);
|
|
125
|
-
})
|
|
126
|
-
.catch((err) => {
|
|
127
|
-
this._log.trace(`Policy failed for route ${self.constructor.name}:${String(route.Method)} ${self.BasePath}/${String(route.Path || route.Method)} error ${err}, policy: ${p.constructor.name}`);
|
|
128
|
-
throw err;
|
|
129
|
-
});
|
|
130
|
-
})).then((results) => {
|
|
131
|
-
const fullfilled = results.find(r => r.status === 'fulfilled');
|
|
132
|
-
if (fullfilled) {
|
|
133
|
-
this._log.trace(`Policy for route ${self.constructor.name}:${String(route.Method)} ${self.BasePath}/${String(route.Path || route.Method)} succeded, continue execution`);
|
|
134
|
-
next();
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
// Every policy rejected — forward the first failure to the express
|
|
138
|
-
// error handler. Use next(err) directly (not `throw next(...)`,
|
|
139
|
-
// which would reject this .then() with `undefined` as an unhandled
|
|
140
|
-
// rejection while the error was already forwarded).
|
|
141
|
-
const failed = results.find(r => r.status === 'rejected');
|
|
142
|
-
next(failed ? failed.reason : new UnexpectedServerError('Policy evaluation produced no result'));
|
|
143
|
-
})
|
|
144
|
-
// Guard against unexpected throws in the settle/handler chain so the
|
|
145
|
-
// request can never stall without a response.
|
|
146
|
-
.catch((err) => next(err));
|
|
147
|
-
});
|
|
148
|
-
handlers.push(...enabledMiddlewares.map((m) => _invokeAction(m, m.onBefore.bind(m), route)));
|
|
149
|
-
const acionWrapper = async (req, res, next) => {
|
|
150
|
-
try {
|
|
151
|
-
await this._actionLocalStorage.run(req.storage, async () => {
|
|
152
|
-
const args = (await _extractRouteArgs(route, req, res)).concat([req, res, next]);
|
|
153
|
-
try {
|
|
154
|
-
const result = this[route.Method].call(this, ...args);
|
|
155
|
-
if (isPromise(result)) {
|
|
156
|
-
result
|
|
157
|
-
.then((r) => {
|
|
158
|
-
if (r instanceof Response) {
|
|
159
|
-
enabledMiddlewares.forEach((x) => x.onResponse(r, route, this));
|
|
160
|
-
}
|
|
161
|
-
res.locals.response = r;
|
|
162
|
-
next();
|
|
163
|
-
})
|
|
164
|
-
.catch((err) => {
|
|
165
|
-
next(err);
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
if (result instanceof Response) {
|
|
170
|
-
enabledMiddlewares.forEach((x) => x.onResponse(result, route, this));
|
|
171
|
-
}
|
|
172
|
-
res.locals.response = result;
|
|
173
|
-
next();
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
catch (err) {
|
|
177
|
-
next(err);
|
|
178
|
-
}
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
catch (err) {
|
|
182
|
-
next(err);
|
|
183
|
-
}
|
|
184
|
-
};
|
|
185
|
-
Object.defineProperty(acionWrapper, 'name', {
|
|
186
|
-
value: this.constructor.name,
|
|
187
|
-
writable: true,
|
|
188
|
-
});
|
|
189
|
-
handlers.push(acionWrapper);
|
|
190
|
-
handlers.push(...enabledMiddlewares.map((m) => _invokeAction(m, m.onAfter.bind(m), route)));
|
|
191
|
-
// register to express router
|
|
192
|
-
if (route.InternalType === 'unknown') {
|
|
193
|
-
this._log.warn(`Unknown route type for ${this.constructor.name}::${String(route.Method)} at path ${path}`);
|
|
194
|
-
return;
|
|
195
|
-
}
|
|
196
|
-
handlers.push(__handle_response__());
|
|
197
|
-
handlers.push(__handle_error__());
|
|
198
|
-
this._router[route.InternalType](path, handlers);
|
|
199
|
-
}
|
|
200
|
-
function _invokeAction(source, action, route) {
|
|
201
|
-
const wrapper = (req, res, next) => {
|
|
202
|
-
action(req, res, route, self)
|
|
203
|
-
.then(() => {
|
|
204
|
-
next();
|
|
205
|
-
})
|
|
206
|
-
.catch((err) => {
|
|
207
|
-
next(err);
|
|
208
|
-
});
|
|
209
|
-
};
|
|
210
|
-
Object.defineProperty(wrapper, 'name', {
|
|
211
|
-
value: source.constructor.name,
|
|
212
|
-
writable: true,
|
|
213
|
-
});
|
|
214
|
-
return wrapper;
|
|
215
|
-
}
|
|
216
|
-
async function _extractRouteArgs(route, req, res) {
|
|
217
|
-
const callArgs = new Array(route.Parameters.size);
|
|
218
|
-
const argsCache = new Map();
|
|
219
|
-
let callData = {
|
|
220
|
-
Payload: {},
|
|
221
|
-
};
|
|
222
|
-
// Sort parameters by priority (higher priority first)
|
|
223
|
-
// Get all parameters as array, resolve their handlers to check priority, then sort
|
|
224
|
-
const paramsWithPriority = await Promise.all(Array.from(route.Parameters.values()).map(async (param) => {
|
|
225
|
-
const handler = await tryGetHash(argsCache, param.Type, () => DI.resolve(param.Type));
|
|
226
|
-
return { param, handler, priority: handler?.Priority ?? 0 };
|
|
227
|
-
}));
|
|
228
|
-
// Sort by priority descending (higher priority first)
|
|
229
|
-
const sortedParams = paramsWithPriority.sort((a, b) => (b.priority ?? 0) - (a.priority ?? 0));
|
|
230
|
-
for (const { param, handler: routeArgsHandler } of sortedParams) {
|
|
231
|
-
if (!routeArgsHandler) {
|
|
232
|
-
throw new UnexpectedServerError(`Route parameter not registered for parameter: ${param.Name},
|
|
233
|
-
in method: ${String(route.Method)},
|
|
234
|
-
in controller: ${self.constructor.name}. Check if you have registered it in DI container.`);
|
|
235
|
-
}
|
|
236
|
-
const { Args, CallData } = await routeArgsHandler.extract(callData, callArgs, param, req, res, route);
|
|
237
|
-
callData = CallData;
|
|
238
|
-
callArgs[param.Index] = Args;
|
|
239
|
-
}
|
|
240
|
-
return callArgs;
|
|
241
63
|
}
|
|
242
|
-
|
|
243
|
-
}
|
|
244
|
-
__decorate([
|
|
245
|
-
Autoinject(Container),
|
|
246
|
-
__metadata("design:type", Object)
|
|
247
|
-
], BaseController.prototype, "_container", void 0);
|
|
248
|
-
__decorate([
|
|
249
|
-
Autoinject(),
|
|
250
|
-
__metadata("design:type", DataValidator)
|
|
251
|
-
], BaseController.prototype, "_validator", void 0);
|
|
252
|
-
__decorate([
|
|
253
|
-
Logger('http'),
|
|
254
|
-
__metadata("design:type", Log)
|
|
255
|
-
], BaseController.prototype, "_log", void 0);
|
|
256
|
-
__decorate([
|
|
257
|
-
Autoinject(),
|
|
258
|
-
__metadata("design:type", AsyncLocalStorage)
|
|
259
|
-
], BaseController.prototype, "_actionLocalStorage", void 0);
|
|
260
|
-
__decorate([
|
|
261
|
-
Autoinject(Configuration),
|
|
262
|
-
__metadata("design:type", Configuration)
|
|
263
|
-
], BaseController.prototype, "_cfg", void 0);
|
|
264
|
-
export class Controllers extends AsyncService {
|
|
265
|
-
constructor() {
|
|
266
|
-
super(...arguments);
|
|
267
|
-
/**
|
|
268
|
-
* Tracks which controller types have already been route-registered so
|
|
269
|
-
* {@link add} is idempotent.
|
|
270
|
-
*/
|
|
271
|
-
this.RegisteredTypes = new Set();
|
|
64
|
+
return [...byType.values(), ...untyped];
|
|
272
65
|
}
|
|
273
66
|
/**
|
|
274
67
|
* Dynamically register a controller after startup. Equivalent to having
|
|
@@ -289,15 +82,25 @@ export class Controllers extends AsyncService {
|
|
|
289
82
|
return;
|
|
290
83
|
}
|
|
291
84
|
DI.register(type).as(BaseController);
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
85
|
+
try {
|
|
86
|
+
const instance = (await DI.resolve(type));
|
|
87
|
+
const ci = new ClassInfo();
|
|
88
|
+
ci.name = type.name;
|
|
89
|
+
ci.type = type;
|
|
90
|
+
ci.instance = instance;
|
|
91
|
+
// Source file was captured at decoration time by the route decorators.
|
|
92
|
+
// Sentinel only if nothing was captured (no route decorators ran).
|
|
93
|
+
ci.file = instance.Descriptor?.SourceFile ?? '<dynamic>';
|
|
94
|
+
await this.register(ci);
|
|
95
|
+
}
|
|
96
|
+
catch (err) {
|
|
97
|
+
// Roll back so the broken type is not silently mounted by a later
|
|
98
|
+
// Array.ofType(BaseController) resolve, and so a fixed retry can
|
|
99
|
+
// register cleanly.
|
|
100
|
+
DI.unregister(type);
|
|
101
|
+
DI.uncache(BaseController);
|
|
102
|
+
throw err;
|
|
103
|
+
}
|
|
301
104
|
}
|
|
302
105
|
async register(controller) {
|
|
303
106
|
this.Log.trace(`Loading controller: ${controller.name}`);
|
|
@@ -305,32 +108,35 @@ export class Controllers extends AsyncService {
|
|
|
305
108
|
this.Log.trace(`Controller ${controller.name} already registered, skipping`);
|
|
306
109
|
return;
|
|
307
110
|
}
|
|
308
|
-
const parameters = await this.ControllersCache.getCache(controller);
|
|
309
111
|
if (!controller.instance) {
|
|
310
|
-
|
|
311
|
-
return;
|
|
112
|
+
throw new ControllerRegistrationException(`Controller ${controller.name} in file ${controller.file} is not resolved. Make sure it is decorated with @injectable and has a public constructor without required parameters`);
|
|
312
113
|
}
|
|
114
|
+
const parameters = await this.ControllersCache.getCache(controller);
|
|
313
115
|
if (!controller.instance.Descriptor) {
|
|
314
116
|
this.Log.warn(`Controller ${controller.name} in file ${controller.file} dont have descriptor or routes defined`);
|
|
315
117
|
}
|
|
316
118
|
else {
|
|
317
119
|
for (const [name, route] of controller.instance.Descriptor.Routes) {
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
rParam.Name = pName;
|
|
324
|
-
}
|
|
120
|
+
let member = parameters[name];
|
|
121
|
+
if (!member) {
|
|
122
|
+
const action = controller.instance[name];
|
|
123
|
+
if (typeof action !== 'function') {
|
|
124
|
+
throw new RouteRegistrationException(`Controller ${controller.name} does not have member ${String(name)} for route ${route.Path}`);
|
|
325
125
|
}
|
|
126
|
+
// Route inherited from a base class declared in another source file
|
|
127
|
+
// — the parsed source of THIS class has no such member. Extract
|
|
128
|
+
// parameter names from the runtime function instead.
|
|
129
|
+
member = parseFnParamNames(action);
|
|
326
130
|
}
|
|
327
|
-
|
|
328
|
-
|
|
131
|
+
for (const [index, rParam] of route.Parameters) {
|
|
132
|
+
const pName = member[index];
|
|
133
|
+
if (pName) {
|
|
134
|
+
rParam.Name = pName;
|
|
135
|
+
}
|
|
329
136
|
}
|
|
330
137
|
}
|
|
331
138
|
if (!controller.instance.Router) {
|
|
332
|
-
|
|
333
|
-
return;
|
|
139
|
+
throw new ControllerRegistrationException(`Controller ${controller.name} in file ${controller.file} has no router instance. Check if it extends BaseController and super.resolve() is called in resolve method`);
|
|
334
140
|
}
|
|
335
141
|
this.ControllersRouter.use(controller.instance.Router);
|
|
336
142
|
if (controller.type) {
|
|
@@ -344,29 +150,23 @@ export class Controllers extends AsyncService {
|
|
|
344
150
|
// one mounts onto Express exactly once. Dynamic adds land here too,
|
|
345
151
|
// which is how `add()` avoids the old Express-stack juggling.
|
|
346
152
|
this.ControllersRouter = Express.Router();
|
|
347
|
-
//
|
|
348
|
-
//
|
|
349
|
-
//
|
|
350
|
-
//
|
|
351
|
-
//
|
|
352
|
-
//
|
|
353
|
-
//
|
|
354
|
-
// collection by the time we get here.
|
|
355
|
-
// Resolving `Array.ofType(BaseController)` then instantiates everything
|
|
356
|
-
// in a single pass — file-scanned + bootstrap-registered, with class
|
|
357
|
-
// identity dedupe (multiple `as(BaseController)` calls for the same type
|
|
358
|
-
// resolve to one singleton).
|
|
153
|
+
// Discovery is delegated to ControllerSource services (filesystem scan,
|
|
154
|
+
// DI registry, custom app sources). All lists are merged and deduped in
|
|
155
|
+
// listControllers(); each discovered type is registered as
|
|
156
|
+
// `BaseController` below, then resolving `Array.ofType(BaseController)`
|
|
157
|
+
// instantiates everything in a single pass with class-identity dedupe
|
|
158
|
+
// (multiple `as(BaseController)` calls for the same type resolve to one
|
|
159
|
+
// singleton).
|
|
359
160
|
const listed = await this.Controllers;
|
|
360
161
|
// Remember the original file path per type so the second loop can preserve
|
|
361
162
|
// it. Without this every controller would end up tagged `<di>`, breaking
|
|
362
163
|
// ControllersCache.getCache() which expects a real on-disk source file.
|
|
363
164
|
const fileByType = new Map();
|
|
364
|
-
for (const ci of uniqueBy(listed, c => c.name)) {
|
|
165
|
+
for (const ci of uniqueBy(listed, (c) => c.name)) {
|
|
365
166
|
if (!ci.type) {
|
|
366
167
|
this.Log.warn(`Controller ${ci.name} in file ${ci.file} has no type. Make sure it is decorated with @injectable and has a public constructor without required parameters`);
|
|
367
168
|
continue;
|
|
368
169
|
}
|
|
369
|
-
;
|
|
370
170
|
fileByType.set(ci.type, ci);
|
|
371
171
|
DI.register(ci.type).as(BaseController);
|
|
372
172
|
this.Log.trace(`Controller ${ci.name} from ${ci.file} registered as BaseController`);
|
|
@@ -399,16 +199,17 @@ export class Controllers extends AsyncService {
|
|
|
399
199
|
for (const instance of instances) {
|
|
400
200
|
const type = instance.constructor;
|
|
401
201
|
const originalCi = fileByType.get(type);
|
|
402
|
-
const ci = originalCi ??
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
202
|
+
const ci = originalCi ??
|
|
203
|
+
Object.assign(new ClassInfo(), {
|
|
204
|
+
name: type.name,
|
|
205
|
+
type,
|
|
206
|
+
instance,
|
|
207
|
+
// For DI-registered controllers without a file scan entry, fall back
|
|
208
|
+
// to the source file captured at decoration time by `Controller()`.
|
|
209
|
+
// Only sentinel '<di>' if nothing was captured (abstract base, or no
|
|
210
|
+
// route decorators ran).
|
|
211
|
+
file: instance.Descriptor?.SourceFile ?? '<di>',
|
|
212
|
+
});
|
|
412
213
|
// The file-scanned entry has no instance (List, not Resolve) — patch it.
|
|
413
214
|
if (!ci.instance)
|
|
414
215
|
ci.instance = instance;
|
|
@@ -423,10 +224,6 @@ export class Controllers extends AsyncService {
|
|
|
423
224
|
this.Server.use(this.ControllersRouter);
|
|
424
225
|
}
|
|
425
226
|
}
|
|
426
|
-
__decorate([
|
|
427
|
-
ListFromFiles('/**/!(*.d).{ts,js}', 'system.dirs.controllers'),
|
|
428
|
-
__metadata("design:type", Promise)
|
|
429
|
-
], Controllers.prototype, "Controllers", void 0);
|
|
430
227
|
__decorate([
|
|
431
228
|
Logger('http'),
|
|
432
229
|
__metadata("design:type", Log)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../src/controllers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../src/controllers.ts"],"names":[],"mappings":"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"}
|
package/lib/mjs/exceptions.d.ts
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
import { Exception } from '@spinajs/exceptions';
|
|
2
2
|
export declare class EntityTooLargeException extends Exception {
|
|
3
3
|
}
|
|
4
|
+
/**
|
|
5
|
+
* Controller-level registration failure (unresolved instance, missing router).
|
|
6
|
+
* Thrown during startup — fail fast, do not start with broken controllers.
|
|
7
|
+
*/
|
|
8
|
+
export declare class ControllerRegistrationException extends Exception {
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Route-level registration failure (unknown route type, unresolvable policy,
|
|
12
|
+
* missing route member). Thrown during startup — fail fast.
|
|
13
|
+
*/
|
|
14
|
+
export declare class RouteRegistrationException extends Exception {
|
|
15
|
+
}
|
|
4
16
|
//# sourceMappingURL=exceptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exceptions.d.ts","sourceRoot":"","sources":["../../src/exceptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,qBAAa,uBAAwB,SAAQ,SAAS;CAAG"}
|
|
1
|
+
{"version":3,"file":"exceptions.d.ts","sourceRoot":"","sources":["../../src/exceptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,qBAAa,uBAAwB,SAAQ,SAAS;CAAG;AAEzD;;;GAGG;AACH,qBAAa,+BAAgC,SAAQ,SAAS;CAAG;AAEjE;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,SAAS;CAAG"}
|
package/lib/mjs/exceptions.js
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
import { Exception } from '@spinajs/exceptions';
|
|
2
2
|
export class EntityTooLargeException extends Exception {
|
|
3
3
|
}
|
|
4
|
+
/**
|
|
5
|
+
* Controller-level registration failure (unresolved instance, missing router).
|
|
6
|
+
* Thrown during startup — fail fast, do not start with broken controllers.
|
|
7
|
+
*/
|
|
8
|
+
export class ControllerRegistrationException extends Exception {
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Route-level registration failure (unknown route type, unresolvable policy,
|
|
12
|
+
* missing route member). Thrown during startup — fail fast.
|
|
13
|
+
*/
|
|
14
|
+
export class RouteRegistrationException extends Exception {
|
|
15
|
+
}
|
|
4
16
|
//# sourceMappingURL=exceptions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../../src/exceptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,OAAO,uBAAwB,SAAQ,SAAS;CAAG"}
|
|
1
|
+
{"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../../src/exceptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,OAAO,uBAAwB,SAAQ,SAAS;CAAG;AAEzD;;;GAGG;AACH,MAAM,OAAO,+BAAgC,SAAQ,SAAS;CAAG;AAEjE;;;GAGG;AACH,MAAM,OAAO,0BAA2B,SAAQ,SAAS;CAAG"}
|
package/lib/mjs/index.d.ts
CHANGED
|
@@ -3,6 +3,10 @@ export * from './response-methods/index.js';
|
|
|
3
3
|
export * from './decorators.js';
|
|
4
4
|
export * from './responses.js';
|
|
5
5
|
export * from './route-args/index.js';
|
|
6
|
+
export * from './exceptions.js';
|
|
7
|
+
export * from './base-controller.js';
|
|
8
|
+
export * from './controller-sources.js';
|
|
9
|
+
export * from './route-builder.js';
|
|
6
10
|
export * from './controllers.js';
|
|
7
11
|
export * from './server.js';
|
|
8
12
|
export * from './transformers/index.js';
|
package/lib/mjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC"}
|
package/lib/mjs/index.js
CHANGED
|
@@ -3,6 +3,10 @@ export * from './response-methods/index.js';
|
|
|
3
3
|
export * from './decorators.js';
|
|
4
4
|
export * from './responses.js';
|
|
5
5
|
export * from './route-args/index.js';
|
|
6
|
+
export * from './exceptions.js';
|
|
7
|
+
export * from './base-controller.js';
|
|
8
|
+
export * from './controller-sources.js';
|
|
9
|
+
export * from './route-builder.js';
|
|
6
10
|
export * from './controllers.js';
|
|
7
11
|
export * from './server.js';
|
|
8
12
|
export * from './transformers/index.js';
|
package/lib/mjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestId.d.ts","sourceRoot":"","sources":["../../../src/middlewares/RequestId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAMzE,qBACa,SAAU,SAAQ,gBAAgB;;IAMtC,KAAK,IAAI,IAAI;IAQb,MAAM,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI;
|
|
1
|
+
{"version":3,"file":"RequestId.d.ts","sourceRoot":"","sources":["../../../src/middlewares/RequestId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAMzE,qBACa,SAAU,SAAQ,gBAAgB;;IAMtC,KAAK,IAAI,IAAI;IAQb,MAAM,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,KAAK,IAAI;CA0BtG"}
|
|
@@ -26,6 +26,10 @@ let RequestId = class RequestId extends ServerMiddleware {
|
|
|
26
26
|
before() {
|
|
27
27
|
return (req, res, next) => {
|
|
28
28
|
req.storage.requestId = uuidv4();
|
|
29
|
+
// Emitted here, not in after(): ServerMiddleware after() handlers never
|
|
30
|
+
// run for matched controller routes ( response is flushed inside the
|
|
31
|
+
// controllers router without calling next() ).
|
|
32
|
+
res.header('x-request-id', req.storage.requestId);
|
|
29
33
|
// Continue an inbound W3C traceparent ( or start a new trace ) and seed
|
|
30
34
|
// traceId / spanId onto req.storage so the ambient log context merges them
|
|
31
35
|
// into every log line — trace ids are shared across services.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestId.js","sourceRoot":"","sources":["../../../src/middlewares/RequestId.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,gBAAgB,EAAuB,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAiB,MAAM,cAAc,CAAC;AAG1E,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,gBAAgB;IAC7C;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;IAEM,KAAK;QACV,uEAAuE;QACvE,0EAA0E;QAC1E,uEAAuE;QACvE,yEAAyE;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,CAAC,GAAa,EAAE,GAAqB,EAAE,IAA0B,EAAE,EAAE;YAC1E,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,EAAE,CAAC;YAEjC,wEAAwE;YACxE,2EAA2E;YAC3E,8DAA8D;YAC9D,MAAM,EAAE,GAAkB,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAuB,CAAC,CAAC;YAC5F,GAAG,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;YACjC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;YAE/B,oEAAoE;YACpE,0EAA0E;YAC1E,yEAAyE;YACzE,2EAA2E;YAC3E,sDAAsD;YACtD,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;YAEjD,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;
|
|
1
|
+
{"version":3,"file":"RequestId.js","sourceRoot":"","sources":["../../../src/middlewares/RequestId.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,gBAAgB,EAAuB,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAiB,MAAM,cAAc,CAAC;AAG1E,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,gBAAgB;IAC7C;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;IAEM,KAAK;QACV,uEAAuE;QACvE,0EAA0E;QAC1E,uEAAuE;QACvE,yEAAyE;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,MAAM;QACX,OAAO,CAAC,GAAa,EAAE,GAAqB,EAAE,IAA0B,EAAE,EAAE;YAC1E,GAAG,CAAC,OAAO,CAAC,SAAS,GAAG,MAAM,EAAE,CAAC;YAEjC,wEAAwE;YACxE,qEAAqE;YACrE,+CAA+C;YAC/C,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAElD,wEAAwE;YACxE,2EAA2E;YAC3E,8DAA8D;YAC9D,MAAM,EAAE,GAAkB,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAuB,CAAC,CAAC;YAC5F,GAAG,CAAC,OAAO,CAAC,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC;YACjC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;YAE/B,oEAAoE;YACpE,0EAA0E;YAC1E,yEAAyE;YACzE,2EAA2E;YAC3E,sDAAsD;YACtD,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;YAEjD,IAAI,EAAE,CAAC;QACT,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AAxCY,SAAS;IADrB,UAAU,CAAC,gBAAgB,CAAC;;GAChB,SAAS,CAwCrB"}
|