@asenajs/asena 0.6.3 → 0.7.0
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 +2 -2
- package/dist/lib/adapter/AsenaAdapter.d.ts +17 -0
- package/dist/lib/adapter/AsenaAdapter.js +6 -0
- package/dist/lib/adapter/AsenaAdapter.js.map +1 -1
- package/dist/lib/adapter/AsenaContext.d.ts +81 -8
- package/dist/lib/adapter/AsenaWebsocketAdapter.d.ts +41 -2
- package/dist/lib/adapter/AsenaWebsocketAdapter.js +74 -0
- package/dist/lib/adapter/AsenaWebsocketAdapter.js.map +1 -1
- package/dist/lib/adapter/types/ApiParams.d.ts +6 -0
- package/dist/lib/adapter/types/Streaming.d.ts +42 -0
- package/dist/lib/adapter/types/Streaming.js +2 -0
- package/dist/lib/adapter/types/Streaming.js.map +1 -0
- package/dist/lib/adapter/types/index.d.ts +1 -0
- package/dist/lib/adapter/types/index.js +1 -0
- package/dist/lib/adapter/types/index.js.map +1 -1
- package/dist/lib/ioc/Container.d.ts +8 -1
- package/dist/lib/ioc/Container.js +16 -2
- package/dist/lib/ioc/Container.js.map +1 -1
- package/dist/lib/ioc/CoreContainer.js +10 -3
- package/dist/lib/ioc/CoreContainer.js.map +1 -1
- package/dist/lib/ioc/IocEngine.d.ts +7 -0
- package/dist/lib/ioc/IocEngine.js +85 -3
- package/dist/lib/ioc/IocEngine.js.map +1 -1
- package/dist/lib/ioc/component/componentUtils.js +3 -1
- package/dist/lib/ioc/component/componentUtils.js.map +1 -1
- package/dist/lib/ioc/constants/ComponentConstants.d.ts +2 -0
- package/dist/lib/ioc/constants/ComponentConstants.js +3 -0
- package/dist/lib/ioc/constants/ComponentConstants.js.map +1 -1
- package/dist/lib/ioc/helper/cronParser.d.ts +3 -0
- package/dist/lib/ioc/helper/cronParser.js +3 -1
- package/dist/lib/ioc/helper/cronParser.js.map +1 -1
- package/dist/lib/ioc/types/ComponentPostProcessor.d.ts +30 -0
- package/dist/lib/ioc/types/ComponentPostProcessor.js +2 -0
- package/dist/lib/ioc/types/ComponentPostProcessor.js.map +1 -0
- package/dist/lib/ioc/types/ICoreServiceNamesType.d.ts +3 -0
- package/dist/lib/ioc/types/ICoreServiceNamesType.js +4 -0
- package/dist/lib/ioc/types/ICoreServiceNamesType.js.map +1 -1
- package/dist/lib/ioc/types/decorators/ComponentType.d.ts +3 -1
- package/dist/lib/ioc/types/decorators/ComponentType.js +2 -0
- package/dist/lib/ioc/types/decorators/ComponentType.js.map +1 -1
- package/dist/lib/ioc/types/decorators/ControllerParams.d.ts +1 -0
- package/dist/lib/ioc/types/index.d.ts +1 -0
- package/dist/lib/ioc/types/index.js +1 -0
- package/dist/lib/ioc/types/index.js.map +1 -1
- package/dist/lib/server/AsenaServer.d.ts +18 -0
- package/dist/lib/server/AsenaServer.js +85 -1
- package/dist/lib/server/AsenaServer.js.map +1 -1
- package/dist/lib/server/config/AsenaConfig.d.ts +16 -1
- package/dist/lib/server/decorators/components/Controller.js +3 -0
- package/dist/lib/server/decorators/components/Controller.js.map +1 -1
- package/dist/lib/server/decorators/components/FrontendController.d.ts +15 -0
- package/dist/lib/server/decorators/components/FrontendController.js +20 -0
- package/dist/lib/server/decorators/components/FrontendController.js.map +1 -0
- package/dist/lib/server/decorators/components/PostProcessor.d.ts +25 -0
- package/dist/lib/server/decorators/components/PostProcessor.js +29 -0
- package/dist/lib/server/decorators/components/PostProcessor.js.map +1 -0
- package/dist/lib/server/decorators/components/Schedule.d.ts +15 -3
- package/dist/lib/server/decorators/components/Schedule.js +24 -6
- package/dist/lib/server/decorators/components/Schedule.js.map +1 -1
- package/dist/lib/server/decorators/components/index.d.ts +2 -0
- package/dist/lib/server/decorators/components/index.js +2 -0
- package/dist/lib/server/decorators/components/index.js.map +1 -1
- package/dist/lib/server/decorators/index.d.ts +0 -3
- package/dist/lib/server/decorators/index.js +0 -3
- package/dist/lib/server/decorators/index.js.map +1 -1
- package/dist/lib/server/messaging/Ulak.js +8 -5
- package/dist/lib/server/messaging/Ulak.js.map +1 -1
- package/dist/lib/server/schedule/AsenaSchedule.d.ts +21 -0
- package/dist/lib/server/schedule/AsenaSchedule.js +2 -0
- package/dist/lib/server/schedule/AsenaSchedule.js.map +1 -0
- package/dist/lib/server/schedule/CronRunner.d.ts +54 -0
- package/dist/lib/server/schedule/CronRunner.js +130 -0
- package/dist/lib/server/schedule/CronRunner.js.map +1 -0
- package/dist/lib/server/schedule/index.d.ts +2 -0
- package/dist/lib/server/schedule/index.js +2 -0
- package/dist/lib/server/schedule/index.js.map +1 -0
- package/dist/lib/server/src/services/PrepareFrontendControllerService.d.ts +17 -0
- package/dist/lib/server/src/services/PrepareFrontendControllerService.js +63 -0
- package/dist/lib/server/src/services/PrepareFrontendControllerService.js.map +1 -0
- package/dist/lib/server/src/services/PrepareScheduleService.d.ts +21 -0
- package/dist/lib/server/src/services/PrepareScheduleService.js +69 -0
- package/dist/lib/server/src/services/PrepareScheduleService.js.map +1 -0
- package/dist/lib/server/web/decorators/Page.d.ts +13 -0
- package/dist/lib/server/web/decorators/Page.js +17 -0
- package/dist/lib/server/web/decorators/Page.js.map +1 -0
- package/dist/lib/server/web/decorators/http.base.d.ts +1 -1
- package/dist/lib/server/web/decorators/http.base.js +3 -2
- package/dist/lib/server/web/decorators/http.base.js.map +1 -1
- package/dist/lib/server/web/decorators/index.d.ts +1 -0
- package/dist/lib/server/web/decorators/index.js +1 -0
- package/dist/lib/server/web/decorators/index.js.map +1 -1
- package/dist/lib/server/web/decorators/methods/All.d.ts +7 -0
- package/dist/lib/server/web/decorators/methods/All.js +12 -0
- package/dist/lib/server/web/decorators/methods/All.js.map +1 -0
- package/dist/lib/server/web/decorators/methods/Connect.js +2 -2
- package/dist/lib/server/web/decorators/methods/Connect.js.map +1 -1
- package/dist/lib/server/web/decorators/methods/Delete.js +2 -2
- package/dist/lib/server/web/decorators/methods/Delete.js.map +1 -1
- package/dist/lib/server/web/decorators/methods/Get.js +2 -2
- package/dist/lib/server/web/decorators/methods/Get.js.map +1 -1
- package/dist/lib/server/web/decorators/methods/Head.js +2 -2
- package/dist/lib/server/web/decorators/methods/Head.js.map +1 -1
- package/dist/lib/server/web/decorators/methods/Options.js +2 -2
- package/dist/lib/server/web/decorators/methods/Options.js.map +1 -1
- package/dist/lib/server/web/decorators/methods/Patch.js +2 -2
- package/dist/lib/server/web/decorators/methods/Patch.js.map +1 -1
- package/dist/lib/server/web/decorators/methods/Post.js +2 -2
- package/dist/lib/server/web/decorators/methods/Post.js.map +1 -1
- package/dist/lib/server/web/decorators/methods/Put.js +2 -2
- package/dist/lib/server/web/decorators/methods/Put.js.map +1 -1
- package/dist/lib/server/web/decorators/methods/Route.d.ts +21 -0
- package/dist/lib/server/web/decorators/methods/Route.js +33 -0
- package/dist/lib/server/web/decorators/methods/Route.js.map +1 -0
- package/dist/lib/server/web/decorators/methods/Trace.js +2 -2
- package/dist/lib/server/web/decorators/methods/Trace.js.map +1 -1
- package/dist/lib/server/web/decorators/methods/index.d.ts +2 -0
- package/dist/lib/server/web/decorators/methods/index.js +2 -0
- package/dist/lib/server/web/decorators/methods/index.js.map +1 -1
- package/dist/lib/server/web/middleware/AsenaValidationService.d.ts +32 -0
- package/dist/lib/server/web/types/HttpMethod.d.ts +2 -1
- package/dist/lib/server/web/types/HttpMethod.js +1 -0
- package/dist/lib/server/web/types/HttpMethod.js.map +1 -1
- package/dist/lib/server/web/websocket/AsenaSocket.d.ts +16 -8
- package/dist/lib/server/web/websocket/AsenaSocket.js +30 -7
- package/dist/lib/server/web/websocket/AsenaSocket.js.map +1 -1
- package/dist/lib/server/web/websocket/AsenaWebSocketServer.d.ts +6 -7
- package/dist/lib/server/web/websocket/AsenaWebSocketServer.js +10 -11
- package/dist/lib/server/web/websocket/AsenaWebSocketServer.js.map +1 -1
- package/dist/lib/server/web/websocket/BunLocalTransport.d.ts +16 -0
- package/dist/lib/server/web/websocket/BunLocalTransport.js +18 -0
- package/dist/lib/server/web/websocket/BunLocalTransport.js.map +1 -0
- package/dist/lib/server/web/websocket/WebSocketTransport.d.ts +76 -0
- package/dist/lib/server/web/websocket/WebSocketTransport.js +2 -0
- package/dist/lib/server/web/websocket/WebSocketTransport.js.map +1 -0
- package/dist/lib/server/web/websocket/index.d.ts +2 -0
- package/dist/lib/server/web/websocket/index.js +2 -0
- package/dist/lib/server/web/websocket/index.js.map +1 -1
- package/dist/lib/server/web/websocket/types.d.ts +24 -0
- package/dist/lib/utils/index.d.ts +2 -0
- package/dist/lib/utils/index.js +1 -0
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/metadataExtractor.d.ts +88 -0
- package/dist/lib/utils/metadataExtractor.js +105 -0
- package/dist/lib/utils/metadataExtractor.js.map +1 -0
- package/dist/lib/utils/patternMatcher.js +5 -2
- package/dist/lib/utils/patternMatcher.js.map +1 -1
- package/package.json +23 -15
|
@@ -7,14 +7,14 @@ 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 { ICoreServiceNames, } from './types';
|
|
10
|
+
import { ComponentType, ICoreServiceNames, } from './types';
|
|
11
11
|
import { getAllFiles } from './helper/fileHelper';
|
|
12
12
|
import * as path from 'node:path';
|
|
13
13
|
import { ComponentConstants } from './constants';
|
|
14
14
|
import * as process from 'node:process';
|
|
15
15
|
import * as console from 'node:console';
|
|
16
16
|
import { getStrategyClass } from './helper/iocHelper';
|
|
17
|
-
import { getOwnTypedMetadata, getTypedMetadata } from '../utils
|
|
17
|
+
import { getOwnTypedMetadata, getTypedMetadata } from '../utils';
|
|
18
18
|
import { Inject, Scope } from './component';
|
|
19
19
|
import { CoreService } from './decorators';
|
|
20
20
|
import { CircularDependencyError } from './CircularDependencyDetector';
|
|
@@ -25,6 +25,7 @@ import { CircularDependencyError } from './CircularDependencyDetector';
|
|
|
25
25
|
let IocEngine = class IocEngine {
|
|
26
26
|
serviceName = 'IocEngine';
|
|
27
27
|
_container;
|
|
28
|
+
logger;
|
|
28
29
|
injectables = [];
|
|
29
30
|
config;
|
|
30
31
|
/**
|
|
@@ -39,7 +40,25 @@ let IocEngine = class IocEngine {
|
|
|
39
40
|
// load components
|
|
40
41
|
await this.loadComponents(components);
|
|
41
42
|
const injectableClasses = this.injectables.map((c) => c.Class);
|
|
42
|
-
|
|
43
|
+
// Two-phase registration for PostProcessor support
|
|
44
|
+
const { postProcessorClasses, remainingClasses } = this.separatePostProcessors(injectableClasses);
|
|
45
|
+
// Phase A: Register PostProcessors and their dependencies first (without post-processing)
|
|
46
|
+
if (postProcessorClasses.length > 0) {
|
|
47
|
+
await this.validateAndRegisterComponents(postProcessorClasses);
|
|
48
|
+
// Resolve only actual PostProcessor instances (not their dependencies) and activate them
|
|
49
|
+
for (const cls of postProcessorClasses) {
|
|
50
|
+
const isPostProcessor = getTypedMetadata(ComponentType.POST_PROCESSOR, cls);
|
|
51
|
+
if (isPostProcessor) {
|
|
52
|
+
const name = getTypedMetadata(ComponentConstants.NameKey, cls) || cls.name;
|
|
53
|
+
const instance = await this._container.resolve(name);
|
|
54
|
+
this._container.registerPostProcessor(instance);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Phase B: Register remaining components (post-processing is now active)
|
|
59
|
+
if (remainingClasses.length > 0) {
|
|
60
|
+
await this.validateAndRegisterComponents(remainingClasses);
|
|
61
|
+
}
|
|
43
62
|
}
|
|
44
63
|
async loadComponents(components) {
|
|
45
64
|
if (components?.length) {
|
|
@@ -202,6 +221,65 @@ let IocEngine = class IocEngine {
|
|
|
202
221
|
}
|
|
203
222
|
return cycle.reverse();
|
|
204
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* @description Separates PostProcessor classes and their transitive dependencies from other components.
|
|
226
|
+
* PostProcessors and their deps are registered in Phase A (before post-processing is active).
|
|
227
|
+
* Non-PostProcessor dependencies pulled into Phase A will NOT be post-processed (by design).
|
|
228
|
+
*/
|
|
229
|
+
separatePostProcessors(classes) {
|
|
230
|
+
// Find all PostProcessor classes
|
|
231
|
+
const postProcessorSet = new Set();
|
|
232
|
+
const nameToClass = new Map();
|
|
233
|
+
for (const cls of classes) {
|
|
234
|
+
const name = getTypedMetadata(ComponentConstants.NameKey, cls) || cls.name;
|
|
235
|
+
nameToClass.set(name, cls);
|
|
236
|
+
}
|
|
237
|
+
// Identify PostProcessor classes
|
|
238
|
+
for (const cls of classes) {
|
|
239
|
+
if (getTypedMetadata(ComponentType.POST_PROCESSOR, cls)) {
|
|
240
|
+
postProcessorSet.add(cls);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
if (postProcessorSet.size === 0) {
|
|
244
|
+
return { postProcessorClasses: [], remainingClasses: classes };
|
|
245
|
+
}
|
|
246
|
+
// Compute transitive dependency closure for all PostProcessors
|
|
247
|
+
const closureSet = new Set(postProcessorSet);
|
|
248
|
+
const addDependencyClosure = (cls) => {
|
|
249
|
+
const deps = [
|
|
250
|
+
...this.getDependencies(cls),
|
|
251
|
+
...this.getStrategyDependencies(cls, this.injectables),
|
|
252
|
+
];
|
|
253
|
+
for (const depName of deps) {
|
|
254
|
+
const depClass = nameToClass.get(depName);
|
|
255
|
+
if (depClass && !closureSet.has(depClass)) {
|
|
256
|
+
closureSet.add(depClass);
|
|
257
|
+
// Log warning for non-PostProcessor dependencies pulled into Phase A
|
|
258
|
+
if (!getTypedMetadata(ComponentType.POST_PROCESSOR, depClass)) {
|
|
259
|
+
const ppName = getTypedMetadata(ComponentConstants.NameKey, cls) || cls.name;
|
|
260
|
+
this.logger.warn(`[IocEngine] PostProcessor '${ppName}' depends on '${depName}'. ${depName} will not be post-processed.`);
|
|
261
|
+
}
|
|
262
|
+
// Recurse into this dependency's own dependencies
|
|
263
|
+
addDependencyClosure(depClass);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
for (const ppClass of postProcessorSet) {
|
|
268
|
+
addDependencyClosure(ppClass);
|
|
269
|
+
}
|
|
270
|
+
// Split into two groups
|
|
271
|
+
const postProcessorClasses = [];
|
|
272
|
+
const remainingClasses = [];
|
|
273
|
+
for (const cls of classes) {
|
|
274
|
+
if (closureSet.has(cls)) {
|
|
275
|
+
postProcessorClasses.push(cls);
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
remainingClasses.push(cls);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
return { postProcessorClasses, remainingClasses };
|
|
282
|
+
}
|
|
205
283
|
getDependencies(component) {
|
|
206
284
|
try {
|
|
207
285
|
const directDependencies = Object.values(getOwnTypedMetadata(ComponentConstants.DependencyKey, component) || {});
|
|
@@ -251,6 +329,10 @@ __decorate([
|
|
|
251
329
|
Inject('Container'),
|
|
252
330
|
__metadata("design:type", Function)
|
|
253
331
|
], IocEngine.prototype, "_container", void 0);
|
|
332
|
+
__decorate([
|
|
333
|
+
Inject(ICoreServiceNames.SERVER_LOGGER),
|
|
334
|
+
__metadata("design:type", Object)
|
|
335
|
+
], IocEngine.prototype, "logger", void 0);
|
|
254
336
|
IocEngine = __decorate([
|
|
255
337
|
CoreService(ICoreServiceNames.IOC_ENGINE)
|
|
256
338
|
], IocEngine);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IocEngine.js","sourceRoot":"","sources":["../../../lib/ioc/IocEngine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IocEngine.js","sourceRoot":"","sources":["../../../lib/ioc/IocEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,9 @@ export const defineComponent = (componentType, params, extra) => {
|
|
|
23
23
|
const paramsGenerator = (params, componentType) => {
|
|
24
24
|
const defaultParam = { name: undefined, scope: undefined };
|
|
25
25
|
if (typeof params === 'string' &&
|
|
26
|
-
(componentType === ComponentType.CONTROLLER ||
|
|
26
|
+
(componentType === ComponentType.CONTROLLER ||
|
|
27
|
+
componentType === ComponentType.WEBSOCKET ||
|
|
28
|
+
componentType === ComponentType.FRONTEND_CONTROLLER)) {
|
|
27
29
|
return defaultParam;
|
|
28
30
|
}
|
|
29
31
|
return typeof params === 'string' ? { name: params } : params || defaultParam;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentUtils.js","sourceRoot":"","sources":["../../../../lib/ioc/component/componentUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAAsC,MAAM,UAAU,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,aAA4B,EAC5B,MAAkB,EAClB,KAAkC,EAClB,EAAE;IAClB,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAE/F,mBAAmB,CAAU,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE1D,mBAAmB,CAAU,kBAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE5E,mBAAmB,CAAQ,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAEvE,mBAAmB,CAAS,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEtE,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,MAAM,CAAC,CAAC;QAChB,CAAC;QAED,IAAI,mBAAmB,CAAe,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9F,mBAAmB,CAAe,kBAAkB,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,mBAAmB,CAAa,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YAC1F,mBAAmB,CAAa,kBAAkB,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAgC,EAAE,aAA4B,EAAmB,EAAE;IAC1G,MAAM,YAAY,GAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAE5E,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,CAAC,aAAa,KAAK,aAAa,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"componentUtils.js","sourceRoot":"","sources":["../../../../lib/ioc/component/componentUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAAsC,MAAM,UAAU,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,aAA4B,EAC5B,MAAkB,EAClB,KAAkC,EAClB,EAAE;IAClB,OAAO,CAAC,MAAgB,EAAE,EAAE;QAC1B,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAE/F,mBAAmB,CAAU,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE1D,mBAAmB,CAAU,kBAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE5E,mBAAmB,CAAQ,kBAAkB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAEvE,mBAAmB,CAAS,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEtE,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,MAAM,CAAC,CAAC;QAChB,CAAC;QAED,IAAI,mBAAmB,CAAe,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YAC9F,mBAAmB,CAAe,kBAAkB,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,mBAAmB,CAAa,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YAC1F,mBAAmB,CAAa,kBAAkB,CAAC,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAgC,EAAE,aAA4B,EAAmB,EAAE;IAC1G,MAAM,YAAY,GAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAE5E,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,CAAC,aAAa,KAAK,aAAa,CAAC,UAAU;YACzC,aAAa,KAAK,aAAa,CAAC,SAAS;YACzC,aAAa,KAAK,aAAa,CAAC,mBAAmB,CAAC,EACtD,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,YAAY,CAAC;AAChF,CAAC,CAAC"}
|
|
@@ -17,6 +17,7 @@ export declare class ComponentConstants {
|
|
|
17
17
|
static readonly IOCObjectKey: unique symbol;
|
|
18
18
|
static readonly CronKey: unique symbol;
|
|
19
19
|
static readonly ControllerConfigKey: unique symbol;
|
|
20
|
+
static readonly ControllerDescriptionKey: unique symbol;
|
|
20
21
|
static readonly RouteKey: unique symbol;
|
|
21
22
|
static readonly MiddlewaresKey: unique symbol;
|
|
22
23
|
static readonly ValidatorKey: unique symbol;
|
|
@@ -27,6 +28,7 @@ export declare class ComponentConstants {
|
|
|
27
28
|
static readonly WebSocketPathKey: unique symbol;
|
|
28
29
|
static readonly WebSocketMiddlewaresKey: unique symbol;
|
|
29
30
|
static readonly StaticServeRootKey: unique symbol;
|
|
31
|
+
static readonly PageRoutesKey: unique symbol;
|
|
30
32
|
static readonly EventHandlersKey: unique symbol;
|
|
31
33
|
static readonly EventPrefixKey: unique symbol;
|
|
32
34
|
}
|
|
@@ -19,6 +19,7 @@ export class ComponentConstants {
|
|
|
19
19
|
static CronKey = Symbol('component:cron');
|
|
20
20
|
// Controller specific
|
|
21
21
|
static ControllerConfigKey = Symbol('controller:config');
|
|
22
|
+
static ControllerDescriptionKey = Symbol('controller:description');
|
|
22
23
|
static RouteKey = Symbol('controller:route');
|
|
23
24
|
// Middleware specific
|
|
24
25
|
static MiddlewaresKey = Symbol('middleware:middlewares');
|
|
@@ -33,6 +34,8 @@ export class ComponentConstants {
|
|
|
33
34
|
static WebSocketMiddlewaresKey = Symbol('websocket:middlewares');
|
|
34
35
|
// Static Serve specific
|
|
35
36
|
static StaticServeRootKey = Symbol('staticServe:root');
|
|
37
|
+
// FrontendController specific
|
|
38
|
+
static PageRoutesKey = Symbol('frontendController:pageRoutes');
|
|
36
39
|
// Event specific
|
|
37
40
|
static EventHandlersKey = Symbol('event:handlers');
|
|
38
41
|
static EventPrefixKey = Symbol('event:prefix');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentConstants.js","sourceRoot":"","sources":["../../../../lib/ioc/constants/ComponentConstants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAC7B,wDAAwD;IACjD,MAAM,CAAU,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEnD,MAAM,CAAU,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEnD,MAAM,CAAU,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAErD,MAAM,CAAU,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEnD,MAAM,CAAU,YAAY,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAE7D,MAAM,CAAU,aAAa,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAE/D,MAAM,CAAU,iBAAiB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAEvE,MAAM,CAAU,WAAW,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAE3D,MAAM,CAAU,aAAa,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAE/D,MAAM,CAAU,gBAAgB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAErE,MAAM,CAAU,WAAW,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAE3D,MAAM,CAAU,YAAY,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAE7D,MAAM,CAAU,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE1D,sBAAsB;IACf,MAAM,CAAU,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAElE,MAAM,CAAU,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE7D,sBAAsB;IACf,MAAM,CAAU,cAAc,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAElE,MAAM,CAAU,YAAY,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAErE,iBAAiB;IACV,MAAM,CAAU,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAEnD,MAAM,CAAU,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAEpD,MAAM,CAAU,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAElE,MAAM,CAAU,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAErE,qBAAqB;IACd,MAAM,CAAU,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE5D,MAAM,CAAU,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAEjF,wBAAwB;IACjB,MAAM,CAAU,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAEvE,iBAAiB;IACV,MAAM,CAAU,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE5D,MAAM,CAAU,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"ComponentConstants.js","sourceRoot":"","sources":["../../../../lib/ioc/constants/ComponentConstants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IAC7B,wDAAwD;IACjD,MAAM,CAAU,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEnD,MAAM,CAAU,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEnD,MAAM,CAAU,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAErD,MAAM,CAAU,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEnD,MAAM,CAAU,YAAY,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAE7D,MAAM,CAAU,aAAa,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAE/D,MAAM,CAAU,iBAAiB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAEvE,MAAM,CAAU,WAAW,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAE3D,MAAM,CAAU,aAAa,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAE/D,MAAM,CAAU,gBAAgB,GAAG,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAErE,MAAM,CAAU,WAAW,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAE3D,MAAM,CAAU,YAAY,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAE7D,MAAM,CAAU,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE1D,sBAAsB;IACf,MAAM,CAAU,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAElE,MAAM,CAAU,wBAAwB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAE5E,MAAM,CAAU,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE7D,sBAAsB;IACf,MAAM,CAAU,cAAc,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAElE,MAAM,CAAU,YAAY,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAErE,iBAAiB;IACV,MAAM,CAAU,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAEnD,MAAM,CAAU,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAEpD,MAAM,CAAU,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAElE,MAAM,CAAU,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAErE,qBAAqB;IACd,MAAM,CAAU,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE5D,MAAM,CAAU,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAEjF,wBAAwB;IACjB,MAAM,CAAU,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAEvE,8BAA8B;IACvB,MAAM,CAAU,aAAa,GAAG,MAAM,CAAC,+BAA+B,CAAC,CAAC;IAE/E,iBAAiB;IACV,MAAM,CAAU,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAE5D,MAAM,CAAU,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated Use Bun.cron.parse() instead. This parser is replaced by Bun's native cron API.
|
|
3
|
+
*/
|
|
2
4
|
export const parseCron = (cronString) => {
|
|
3
5
|
const cronParts = cronString.trim().split(/\s+/);
|
|
4
6
|
if (cronParts.length < 5 || cronParts.length > 6) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cronParser.js","sourceRoot":"","sources":["../../../../lib/ioc/helper/cronParser.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cronParser.js","sourceRoot":"","sources":["../../../../lib/ioc/helper/cronParser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,UAAkB,EAAc,EAAE;IAC1D,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEjD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,GAC9D,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE3D,OAAO;QACL,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,OAAO,EAAE,EAAE;QAC/D,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,OAAO,EAAE,EAAE;QAC/D,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,KAAK,EAAE,EAAE;QACvD,WAAW,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,WAAW,EAAE,EAAE;QACjF,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,MAAM,EAAE,EAAE;QAC3D,UAAU,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,iBAAiB,UAAU,EAAE,EAAE;KAC9E,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface for post-processing component instances after creation.
|
|
3
|
+
*
|
|
4
|
+
* PostProcessors run once at startup during component creation (NOT on every method call).
|
|
5
|
+
* They are registered in FIFO order and executed sequentially.
|
|
6
|
+
*
|
|
7
|
+
* Two usage modes:
|
|
8
|
+
* - **Mode 1 (Instance Transformation):** Return a modified instance (e.g., Proxy wrapper for tracing)
|
|
9
|
+
* - **Mode 2 (Metadata Collection):** Read metadata and return the original instance unchanged
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* @PostProcessor()
|
|
14
|
+
* class TracingPostProcessor implements ComponentPostProcessor {
|
|
15
|
+
* postProcess<T>(instance: T, Class: any): T {
|
|
16
|
+
* return new Proxy(instance, { ... }); // Mode 1: wrap with Proxy
|
|
17
|
+
* }
|
|
18
|
+
* }
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export interface ComponentPostProcessor {
|
|
22
|
+
/**
|
|
23
|
+
* Process a component instance after creation and dependency injection.
|
|
24
|
+
*
|
|
25
|
+
* @param instance - The fully initialized component instance (after DI + PostConstruct)
|
|
26
|
+
* @param Class - The original class constructor (for metadata reading)
|
|
27
|
+
* @returns The processed instance (same or modified). Return null/undefined to keep original.
|
|
28
|
+
*/
|
|
29
|
+
postProcess<T>(instance: T, Class: any): T | Promise<T>;
|
|
30
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComponentPostProcessor.js","sourceRoot":"","sources":["../../../../lib/ioc/types/ComponentPostProcessor.ts"],"names":[],"mappings":""}
|
|
@@ -17,6 +17,9 @@ export declare enum ICoreServiceNames {
|
|
|
17
17
|
PREPARE_VALIDATOR_SERVICE = "PrepareValidatorService",
|
|
18
18
|
PREPARE_STATIC_SERVE_CONFIG_SERVICE = "PrepareStaticServeConfigService",
|
|
19
19
|
PREPARE_EVENT_SERVICE = "PrepareEventService",
|
|
20
|
+
PREPARE_SCHEDULE_SERVICE = "PrepareScheduleService",
|
|
21
|
+
PREPARE_FRONTEND_CONTROLLER_SERVICE = "PrepareFrontendControllerService",
|
|
22
|
+
CRON_RUNNER = "CronRunner",
|
|
20
23
|
CORE_CONTAINER = "CoreContainer",
|
|
21
24
|
ASENA_SERVER = "AsenaServer"
|
|
22
25
|
}
|
|
@@ -22,6 +22,10 @@ export var ICoreServiceNames;
|
|
|
22
22
|
ICoreServiceNames["PREPARE_VALIDATOR_SERVICE"] = "PrepareValidatorService";
|
|
23
23
|
ICoreServiceNames["PREPARE_STATIC_SERVE_CONFIG_SERVICE"] = "PrepareStaticServeConfigService";
|
|
24
24
|
ICoreServiceNames["PREPARE_EVENT_SERVICE"] = "PrepareEventService";
|
|
25
|
+
ICoreServiceNames["PREPARE_SCHEDULE_SERVICE"] = "PrepareScheduleService";
|
|
26
|
+
ICoreServiceNames["PREPARE_FRONTEND_CONTROLLER_SERVICE"] = "PrepareFrontendControllerService";
|
|
27
|
+
// Schedule Services (Phase 5)
|
|
28
|
+
ICoreServiceNames["CRON_RUNNER"] = "CronRunner";
|
|
25
29
|
// Factory Services (Phase 6+)
|
|
26
30
|
ICoreServiceNames["CORE_CONTAINER"] = "CoreContainer";
|
|
27
31
|
ICoreServiceNames["ASENA_SERVER"] = "AsenaServer";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ICoreServiceNamesType.js","sourceRoot":"","sources":["../../../../lib/ioc/types/ICoreServiceNamesType.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"ICoreServiceNamesType.js","sourceRoot":"","sources":["../../../../lib/ioc/types/ICoreServiceNamesType.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAN,IAAY,iBA8BX;AA9BD,WAAY,iBAAiB;IAC3B,2CAA2C;IAC3C,4CAAuB,CAAA;IACvB,mDAA8B,CAAA;IAC9B,6CAAwB,CAAA;IACxB,mDAA8B,CAAA;IAE9B,wCAAwC;IACxC,0CAAqB,CAAA;IAErB,2BAA2B;IAC3B,mDAA8B,CAAA;IAC9B,oEAA+C,CAAA;IAE/C,6BAA6B;IAC7B,4EAAuD,CAAA;IACvD,oEAA+C,CAAA;IAC/C,0EAAqD,CAAA;IACrD,0EAAqD,CAAA;IACrD,4FAAuE,CAAA;IACvE,kEAA6C,CAAA;IAC7C,wEAAmD,CAAA;IACnD,6FAAwE,CAAA;IAExE,8BAA8B;IAC9B,+CAA0B,CAAA;IAE1B,8BAA8B;IAC9B,qDAAgC,CAAA;IAChC,iDAA4B,CAAA;AAC9B,CAAC,EA9BW,iBAAiB,KAAjB,iBAAiB,QA8B5B"}
|
|
@@ -2,9 +2,11 @@ export declare enum ComponentType {
|
|
|
2
2
|
COMPONENT = "COMPONENT",
|
|
3
3
|
SERVICE = "SERVICE",
|
|
4
4
|
CONTROLLER = "CONTROLLER",
|
|
5
|
+
FRONTEND_CONTROLLER = "FRONTEND_CONTROLLER",
|
|
5
6
|
SCHEDULE = "SCHEDULE",
|
|
6
7
|
MIDDLEWARE = "MIDDLEWARE",
|
|
7
8
|
WEBSOCKET = "WEBSOCKET",
|
|
8
9
|
CONFIG = "CONFIG",
|
|
9
|
-
EVENT = "EVENT"
|
|
10
|
+
EVENT = "EVENT",
|
|
11
|
+
POST_PROCESSOR = "POST_PROCESSOR"
|
|
10
12
|
}
|
|
@@ -3,10 +3,12 @@ export var ComponentType;
|
|
|
3
3
|
ComponentType["COMPONENT"] = "COMPONENT";
|
|
4
4
|
ComponentType["SERVICE"] = "SERVICE";
|
|
5
5
|
ComponentType["CONTROLLER"] = "CONTROLLER";
|
|
6
|
+
ComponentType["FRONTEND_CONTROLLER"] = "FRONTEND_CONTROLLER";
|
|
6
7
|
ComponentType["SCHEDULE"] = "SCHEDULE";
|
|
7
8
|
ComponentType["MIDDLEWARE"] = "MIDDLEWARE";
|
|
8
9
|
ComponentType["WEBSOCKET"] = "WEBSOCKET";
|
|
9
10
|
ComponentType["CONFIG"] = "CONFIG";
|
|
10
11
|
ComponentType["EVENT"] = "EVENT";
|
|
12
|
+
ComponentType["POST_PROCESSOR"] = "POST_PROCESSOR";
|
|
11
13
|
})(ComponentType || (ComponentType = {}));
|
|
12
14
|
//# sourceMappingURL=ComponentType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentType.js","sourceRoot":"","sources":["../../../../../lib/ioc/types/decorators/ComponentType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"ComponentType.js","sourceRoot":"","sources":["../../../../../lib/ioc/types/decorators/ComponentType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAWX;AAXD,WAAY,aAAa;IACvB,wCAAuB,CAAA;IACvB,oCAAmB,CAAA;IACnB,0CAAyB,CAAA;IACzB,4DAA2C,CAAA;IAC3C,sCAAqB,CAAA;IACrB,0CAAyB,CAAA;IACzB,wCAAuB,CAAA;IACvB,kCAAiB,CAAA;IACjB,gCAAe,CAAA;IACf,kDAAiC,CAAA;AACnC,CAAC,EAXW,aAAa,KAAb,aAAa,QAWxB"}
|
|
@@ -8,5 +8,6 @@ export * from './InjectableComponent';
|
|
|
8
8
|
export * from './ContainerService';
|
|
9
9
|
export * from './ICoreService';
|
|
10
10
|
export * from './CoreBootstrapPhase';
|
|
11
|
+
export * from './ComponentPostProcessor';
|
|
11
12
|
export { ICoreServiceNames } from './ICoreServiceNamesType';
|
|
12
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/ioc/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/ioc/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -15,6 +15,9 @@ export declare class AsenaServer<A extends AsenaAdapter<any, any>> implements IC
|
|
|
15
15
|
private prepareValidatorService;
|
|
16
16
|
private prepareStaticServeConfigService;
|
|
17
17
|
private prepareEventService;
|
|
18
|
+
private prepareScheduleService;
|
|
19
|
+
private prepareFrontendControllerService;
|
|
20
|
+
private cronRunner;
|
|
18
21
|
private _port;
|
|
19
22
|
private _gc;
|
|
20
23
|
private controllers;
|
|
@@ -29,6 +32,12 @@ export declare class AsenaServer<A extends AsenaAdapter<any, any>> implements IC
|
|
|
29
32
|
* @returns {Promise<void>}
|
|
30
33
|
*/
|
|
31
34
|
start(): Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* @description Stop the server and release resources
|
|
37
|
+
* @param {boolean} closeActiveConnections - Whether to close active connections immediately
|
|
38
|
+
* @returns {Promise<void>}
|
|
39
|
+
*/
|
|
40
|
+
stop(closeActiveConnections?: boolean): Promise<void>;
|
|
32
41
|
/**
|
|
33
42
|
* @description Configure server port
|
|
34
43
|
* Builder pattern for API compatibility
|
|
@@ -46,6 +55,10 @@ export declare class AsenaServer<A extends AsenaAdapter<any, any>> implements IC
|
|
|
46
55
|
* @returns {Promise<void>}
|
|
47
56
|
*/
|
|
48
57
|
private initializeControllers;
|
|
58
|
+
/**
|
|
59
|
+
* @description Check for duplicate route registration and throw if found
|
|
60
|
+
*/
|
|
61
|
+
private checkDuplicateRoute;
|
|
49
62
|
/**
|
|
50
63
|
* @description Validate and set controllers from container
|
|
51
64
|
* @returns {Promise<void>}
|
|
@@ -82,6 +95,11 @@ export declare class AsenaServer<A extends AsenaAdapter<any, any>> implements IC
|
|
|
82
95
|
* @returns {Promise<BaseMiddleware[]>}
|
|
83
96
|
*/
|
|
84
97
|
private prepareMiddlewares;
|
|
98
|
+
/**
|
|
99
|
+
* @description Prepare and register FrontendController HTML routes
|
|
100
|
+
* @returns {Promise<void>}
|
|
101
|
+
*/
|
|
102
|
+
private prepareFrontendControllers;
|
|
85
103
|
/**
|
|
86
104
|
* @description Prepare and register WebSocket routes
|
|
87
105
|
* @returns {Promise<void>}
|
|
@@ -29,6 +29,9 @@ let AsenaServer = class AsenaServer {
|
|
|
29
29
|
prepareValidatorService;
|
|
30
30
|
prepareStaticServeConfigService;
|
|
31
31
|
prepareEventService;
|
|
32
|
+
prepareScheduleService;
|
|
33
|
+
prepareFrontendControllerService;
|
|
34
|
+
cronRunner;
|
|
32
35
|
// Instance state
|
|
33
36
|
_port;
|
|
34
37
|
_gc = false;
|
|
@@ -53,15 +56,28 @@ let AsenaServer = class AsenaServer {
|
|
|
53
56
|
this._coreContainer.setPhase(CoreBootstrapPhase.APPLICATION_SETUP);
|
|
54
57
|
await this.prepareConfigs();
|
|
55
58
|
await this.prepareEventService.prepare();
|
|
59
|
+
await this.prepareScheduleService.prepare();
|
|
56
60
|
await this.initializeControllers();
|
|
61
|
+
await this.prepareFrontendControllers();
|
|
57
62
|
await this.prepareWebSocket();
|
|
58
63
|
// Phase 8: Server ready
|
|
59
64
|
this._coreContainer.setPhase(CoreBootstrapPhase.SERVER_READY);
|
|
60
65
|
await this._adapter.start();
|
|
66
|
+
// Start scheduled jobs after server is ready
|
|
67
|
+
this.cronRunner.startAll();
|
|
61
68
|
if (this._gc) {
|
|
62
69
|
bun.gc(true);
|
|
63
70
|
}
|
|
64
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* @description Stop the server and release resources
|
|
74
|
+
* @param {boolean} closeActiveConnections - Whether to close active connections immediately
|
|
75
|
+
* @returns {Promise<void>}
|
|
76
|
+
*/
|
|
77
|
+
async stop(closeActiveConnections = true) {
|
|
78
|
+
this.cronRunner.stopAll();
|
|
79
|
+
await this._adapter.stop(closeActiveConnections);
|
|
80
|
+
}
|
|
65
81
|
/**
|
|
66
82
|
* @description Configure server port
|
|
67
83
|
* Builder pattern for API compatibility
|
|
@@ -85,12 +101,15 @@ let AsenaServer = class AsenaServer {
|
|
|
85
101
|
*/
|
|
86
102
|
async initializeControllers() {
|
|
87
103
|
await this.validateAndSetControllers();
|
|
104
|
+
const registeredRoutes = new Map();
|
|
88
105
|
for (const controller of this.controllers) {
|
|
89
106
|
const routes = getOwnTypedMetadata(ComponentConstants.RouteKey, controller.constructor) || {};
|
|
90
107
|
const routePath = getOwnTypedMetadata(ComponentConstants.PathKey, controller.constructor) || '';
|
|
91
108
|
await this.prepareTopMiddlewares({ controller, routePath });
|
|
92
109
|
for (const [name, params] of Object.entries(routes)) {
|
|
93
110
|
const lastPath = path.join(`${routePath}/`, params.path).replace(/\\/g, '/');
|
|
111
|
+
const controllerName = getTypedMetadata(ComponentConstants.NameKey, controller.constructor) || 'Unknown';
|
|
112
|
+
this.checkDuplicateRoute(registeredRoutes, params.method, lastPath, controllerName, name);
|
|
94
113
|
const middlewares = await this.prepareRouteMiddleware(params);
|
|
95
114
|
const validatorInstance = await this.prepareValidator(params.validator);
|
|
96
115
|
await this._adapter.registerRoute({
|
|
@@ -100,12 +119,44 @@ let AsenaServer = class AsenaServer {
|
|
|
100
119
|
handler: controller[name].bind(controller),
|
|
101
120
|
staticServe: await this.prepareStaticServeConfig(params.staticServe),
|
|
102
121
|
validator: validatorInstance,
|
|
103
|
-
controllerName
|
|
122
|
+
controllerName,
|
|
104
123
|
controllerBasePath: routePath,
|
|
105
124
|
});
|
|
106
125
|
}
|
|
107
126
|
}
|
|
108
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* @description Check for duplicate route registration and throw if found
|
|
130
|
+
*/
|
|
131
|
+
checkDuplicateRoute(registeredRoutes, method, fullPath, controllerName, handlerName) {
|
|
132
|
+
const routeKey = `${method.toUpperCase()} ${fullPath}`;
|
|
133
|
+
// Check for exact duplicate (same method + path)
|
|
134
|
+
const existing = registeredRoutes.get(routeKey);
|
|
135
|
+
if (existing) {
|
|
136
|
+
throw new Error(`Duplicate route detected: ${routeKey} — ` +
|
|
137
|
+
`already registered by ${existing.controllerName}.${existing.handlerName}(), ` +
|
|
138
|
+
`conflicts with ${controllerName}.${handlerName}()`);
|
|
139
|
+
}
|
|
140
|
+
// Check ALL conflicts: if new route is ALL, check if any method already registered for this path
|
|
141
|
+
if (method.toUpperCase() === 'ALL') {
|
|
142
|
+
for (const [key, entry] of registeredRoutes) {
|
|
143
|
+
if (key.endsWith(` ${fullPath}`)) {
|
|
144
|
+
throw new Error(`Duplicate route detected: ALL ${fullPath} conflicts with ${key} — ` +
|
|
145
|
+
`already registered by ${entry.controllerName}.${entry.handlerName}(), ` +
|
|
146
|
+
`conflicts with ${controllerName}.${handlerName}()`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// Check if ALL already registered for this path and new route conflicts
|
|
151
|
+
const allKey = `ALL ${fullPath}`;
|
|
152
|
+
const allEntry = registeredRoutes.get(allKey);
|
|
153
|
+
if (allEntry && method.toUpperCase() !== 'ALL') {
|
|
154
|
+
throw new Error(`Duplicate route detected: ${routeKey} conflicts with ALL ${fullPath} — ` +
|
|
155
|
+
`already registered by ${allEntry.controllerName}.${allEntry.handlerName}(), ` +
|
|
156
|
+
`conflicts with ${controllerName}.${handlerName}()`);
|
|
157
|
+
}
|
|
158
|
+
registeredRoutes.set(routeKey, { controllerName, handlerName });
|
|
159
|
+
}
|
|
109
160
|
/**
|
|
110
161
|
* @description Validate and set controllers from container
|
|
111
162
|
* @returns {Promise<void>}
|
|
@@ -172,6 +223,19 @@ let AsenaServer = class AsenaServer {
|
|
|
172
223
|
async prepareMiddlewares(middlewares) {
|
|
173
224
|
return this.prepareMiddleware.prepare(middlewares);
|
|
174
225
|
}
|
|
226
|
+
/**
|
|
227
|
+
* @description Prepare and register FrontendController HTML routes
|
|
228
|
+
* @returns {Promise<void>}
|
|
229
|
+
*/
|
|
230
|
+
async prepareFrontendControllers() {
|
|
231
|
+
const htmlRoutes = await this.prepareFrontendControllerService.prepare();
|
|
232
|
+
if (!htmlRoutes.length) {
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
for (const route of htmlRoutes) {
|
|
236
|
+
this._adapter.registerHTMLRoute(route.path, route.htmlBundle);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
175
239
|
/**
|
|
176
240
|
* @description Prepare and register WebSocket routes
|
|
177
241
|
* @returns {Promise<void>}
|
|
@@ -240,6 +304,14 @@ let AsenaServer = class AsenaServer {
|
|
|
240
304
|
}
|
|
241
305
|
}
|
|
242
306
|
}
|
|
307
|
+
// WebSocket transport configuration
|
|
308
|
+
if (typeof configInstance.transport === 'function') {
|
|
309
|
+
const transport = await configInstance.transport();
|
|
310
|
+
const wsAdapter = this._adapter.getWebsocketAdapter();
|
|
311
|
+
if (wsAdapter) {
|
|
312
|
+
wsAdapter.transport = transport;
|
|
313
|
+
}
|
|
314
|
+
}
|
|
243
315
|
const name = getOwnTypedMetadata(ComponentConstants.NameKey, configInstance.constructor);
|
|
244
316
|
this._logger.info(`Config ${yellow(name)} applied`);
|
|
245
317
|
}
|
|
@@ -280,6 +352,18 @@ __decorate([
|
|
|
280
352
|
Inject(ICoreServiceNames.PREPARE_EVENT_SERVICE),
|
|
281
353
|
__metadata("design:type", Function)
|
|
282
354
|
], AsenaServer.prototype, "prepareEventService", void 0);
|
|
355
|
+
__decorate([
|
|
356
|
+
Inject(ICoreServiceNames.PREPARE_SCHEDULE_SERVICE),
|
|
357
|
+
__metadata("design:type", Function)
|
|
358
|
+
], AsenaServer.prototype, "prepareScheduleService", void 0);
|
|
359
|
+
__decorate([
|
|
360
|
+
Inject(ICoreServiceNames.PREPARE_FRONTEND_CONTROLLER_SERVICE),
|
|
361
|
+
__metadata("design:type", Function)
|
|
362
|
+
], AsenaServer.prototype, "prepareFrontendControllerService", void 0);
|
|
363
|
+
__decorate([
|
|
364
|
+
Inject(ICoreServiceNames.CRON_RUNNER),
|
|
365
|
+
__metadata("design:type", Function)
|
|
366
|
+
], AsenaServer.prototype, "cronRunner", void 0);
|
|
283
367
|
__decorate([
|
|
284
368
|
PostConstruct(),
|
|
285
369
|
__metadata("design:type", Function),
|