@asenajs/asena 0.1.17 → 0.1.19
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 +171 -41
- package/dist/index.d.ts +1 -10
- package/dist/index.js +1 -10
- package/dist/index.js.map +1 -1
- package/dist/lib/adapter/AsenaAdapter.d.ts +46 -53
- package/dist/lib/adapter/AsenaAdapter.js +22 -11
- package/dist/lib/adapter/AsenaAdapter.js.map +1 -1
- package/dist/lib/adapter/AsenaContext.d.ts +70 -62
- package/dist/lib/adapter/AsenaWebsocketAdapter.d.ts +58 -34
- package/dist/lib/adapter/AsenaWebsocketAdapter.js +43 -12
- package/dist/lib/adapter/AsenaWebsocketAdapter.js.map +1 -1
- package/dist/lib/adapter/hono/HonoAdapter.d.ts +28 -0
- package/dist/lib/adapter/{defaultAdapter/DefaultAdapter.js → hono/HonoAdapter.js} +57 -35
- package/dist/lib/adapter/hono/HonoAdapter.js.map +1 -0
- package/dist/lib/adapter/{defaultAdapter/DefaultContextWrapper.d.ts → hono/HonoContextWrapper.d.ts} +4 -4
- package/dist/lib/adapter/{defaultAdapter/DefaultContextWrapper.js → hono/HonoContextWrapper.js} +6 -6
- package/dist/lib/adapter/hono/HonoContextWrapper.js.map +1 -0
- package/dist/lib/adapter/{defaultAdapter/DefaultWebsocketAdapter.d.ts → hono/HonoWebsocketAdapter.d.ts} +9 -5
- package/dist/lib/adapter/{defaultAdapter/DefaultWebsocketAdapter.js → hono/HonoWebsocketAdapter.js} +34 -24
- package/dist/lib/adapter/hono/HonoWebsocketAdapter.js.map +1 -0
- package/dist/lib/adapter/hono/defaults/ConfigService.d.ts +4 -0
- package/dist/lib/adapter/hono/defaults/ConfigService.js +3 -0
- package/dist/lib/adapter/hono/defaults/ConfigService.js.map +1 -0
- package/dist/lib/adapter/hono/defaults/Context.js +2 -0
- package/dist/lib/adapter/hono/defaults/Context.js.map +1 -0
- package/dist/lib/adapter/hono/defaults/MiddlewareService.d.ts +5 -0
- package/dist/lib/adapter/hono/defaults/MiddlewareService.js +4 -0
- package/dist/lib/adapter/hono/defaults/MiddlewareService.js.map +1 -0
- package/dist/lib/adapter/hono/defaults/ValidationService.d.ts +10 -0
- package/dist/lib/adapter/hono/defaults/ValidationService.js +3 -0
- package/dist/lib/adapter/hono/defaults/ValidationService.js.map +1 -0
- package/dist/lib/adapter/hono/defaults/index.d.ts +4 -0
- package/dist/lib/adapter/hono/defaults/index.js +5 -0
- package/dist/lib/adapter/hono/defaults/index.js.map +1 -0
- package/dist/lib/adapter/hono/index.d.ts +6 -0
- package/dist/lib/adapter/hono/index.js +7 -0
- package/dist/lib/adapter/hono/index.js.map +1 -0
- package/dist/lib/adapter/hono/types/HonoHandler.d.ts +5 -0
- package/dist/lib/adapter/hono/types/HonoHandler.js +2 -0
- package/dist/lib/adapter/hono/types/HonoHandler.js.map +1 -0
- package/dist/lib/adapter/hono/types/index.d.ts +2 -0
- package/dist/lib/adapter/hono/types/index.js +3 -0
- package/dist/lib/adapter/hono/types/index.js.map +1 -0
- package/dist/lib/adapter/hono/utils/createHonoAdapter.d.ts +3 -0
- package/dist/lib/adapter/hono/utils/createHonoAdapter.js +6 -0
- package/dist/lib/adapter/hono/utils/createHonoAdapter.js.map +1 -0
- package/dist/lib/adapter/hono/utils/middlewareParser.d.ts +4 -0
- package/dist/lib/adapter/hono/utils/middlewareParser.js +15 -0
- package/dist/lib/adapter/hono/utils/middlewareParser.js.map +1 -0
- package/dist/lib/adapter/index.d.ts +1 -0
- package/dist/lib/adapter/index.js +1 -0
- package/dist/lib/adapter/index.js.map +1 -1
- package/dist/lib/adapter/types/AsenaHandler.d.ts +2 -0
- package/dist/lib/adapter/types/AsenaHandler.js +2 -0
- package/dist/lib/adapter/types/AsenaHandler.js.map +1 -0
- package/dist/lib/adapter/types/AsenaMiddlewareHandler.d.ts +2 -0
- package/dist/lib/adapter/types/AsenaMiddlewareHandler.js +2 -0
- package/dist/lib/adapter/types/AsenaMiddlewareHandler.js.map +1 -0
- package/dist/lib/adapter/types/ErrorHandler.d.ts +2 -0
- package/dist/lib/adapter/types/ErrorHandler.js +2 -0
- package/dist/lib/adapter/types/ErrorHandler.js.map +1 -0
- package/dist/lib/adapter/types/RouteParams.d.ts +7 -4
- package/dist/lib/adapter/types/ServeOptions.d.ts +7 -0
- package/dist/lib/adapter/types/ServeOptions.js +2 -0
- package/dist/lib/adapter/types/ServeOptions.js.map +1 -0
- package/dist/lib/adapter/types/WebSocketRegistry.d.ts +5 -4
- package/dist/lib/adapter/types/WebsocketAdapterParams.d.ts +1 -1
- package/dist/lib/adapter/types/index.d.ts +3 -0
- package/dist/lib/adapter/types/index.js +3 -0
- package/dist/lib/adapter/types/index.js.map +1 -1
- package/dist/lib/ioc/Container.d.ts +7 -3
- package/dist/lib/ioc/Container.js +69 -87
- package/dist/lib/ioc/Container.js.map +1 -1
- package/dist/lib/ioc/IocEngine.d.ts +2 -2
- package/dist/lib/ioc/IocEngine.js +27 -15
- package/dist/lib/ioc/IocEngine.js.map +1 -1
- package/dist/lib/ioc/component/componentUtils.d.ts +1 -1
- package/dist/lib/ioc/component/componentUtils.js +16 -12
- package/dist/lib/ioc/component/componentUtils.js.map +1 -1
- package/dist/lib/{server/decorators/components → ioc/component/decorators}/Component.d.ts +1 -1
- package/dist/lib/{server/decorators/components → ioc/component/decorators}/Component.js +2 -2
- package/dist/lib/ioc/component/decorators/Component.js.map +1 -0
- package/dist/lib/ioc/component/decorators/Implements.js +2 -2
- package/dist/lib/ioc/component/decorators/Implements.js.map +1 -1
- package/dist/lib/ioc/component/decorators/Inject.d.ts +1 -1
- package/dist/lib/ioc/component/decorators/Inject.js +6 -7
- package/dist/lib/ioc/component/decorators/Inject.js.map +1 -1
- package/dist/lib/ioc/component/decorators/PostConstruct.d.ts +6 -0
- package/dist/lib/ioc/component/decorators/PostConstruct.js +17 -0
- package/dist/lib/ioc/component/decorators/PostConstruct.js.map +1 -0
- package/dist/lib/ioc/component/decorators/Strategy.js +6 -6
- package/dist/lib/ioc/component/decorators/Strategy.js.map +1 -1
- package/dist/lib/ioc/component/decorators/index.d.ts +1 -0
- package/dist/lib/ioc/component/decorators/index.js +1 -0
- package/dist/lib/ioc/component/decorators/index.js.map +1 -1
- package/dist/lib/ioc/component/index.d.ts +1 -0
- package/dist/lib/ioc/component/index.js +2 -0
- package/dist/lib/ioc/component/index.js.map +1 -0
- package/dist/lib/ioc/constants/ComponentConstants.d.ts +4 -2
- package/dist/lib/ioc/constants/ComponentConstants.js +3 -1
- package/dist/lib/ioc/constants/ComponentConstants.js.map +1 -1
- package/dist/lib/ioc/helper/fileHelper.d.ts +1 -1
- package/dist/lib/ioc/helper/fileHelper.js +9 -3
- package/dist/lib/ioc/helper/fileHelper.js.map +1 -1
- package/dist/lib/ioc/helper/iocHelper.d.ts +2 -3
- package/dist/lib/ioc/helper/iocHelper.js +4 -2
- package/dist/lib/ioc/helper/iocHelper.js.map +1 -1
- package/dist/lib/ioc/types/{Component.d.ts → InjectableComponent.d.ts} +4 -4
- package/dist/lib/ioc/types/InjectableComponent.js +2 -0
- package/dist/lib/ioc/types/InjectableComponent.js.map +1 -0
- package/dist/lib/ioc/types/IocConfig.d.ts +1 -0
- package/dist/lib/ioc/types/decorators/ComponentParams.d.ts +1 -1
- package/dist/lib/ioc/types/decorators/ComponentType.d.ts +2 -2
- package/dist/lib/ioc/types/decorators/ComponentType.js +1 -1
- package/dist/lib/ioc/types/decorators/ComponentType.js.map +1 -1
- package/dist/lib/ioc/types/decorators/ControllerParams.d.ts +4 -3
- package/dist/lib/ioc/types/decorators/MiddlewareParams.d.ts +1 -1
- package/dist/lib/ioc/types/index.d.ts +1 -1
- package/dist/lib/ioc/types/index.js +1 -1
- package/dist/lib/ioc/types/index.js.map +1 -1
- package/dist/lib/{services/logger → logger}/DefaultLogger.d.ts +1 -1
- package/dist/lib/logger/DefaultLogger.js.map +1 -0
- package/dist/lib/{services/types → logger}/Logger.js.map +1 -1
- package/dist/lib/logger/index.d.ts +2 -0
- package/dist/lib/logger/index.js +3 -0
- package/dist/lib/logger/index.js.map +1 -0
- package/dist/lib/server/AsenaServer.d.ts +15 -14
- package/dist/lib/server/AsenaServer.js +125 -113
- package/dist/lib/server/AsenaServer.js.map +1 -1
- package/dist/lib/server/config/AsenaConfig.d.ts +43 -0
- package/dist/lib/server/config/AsenaConfig.js +2 -0
- package/dist/lib/server/config/AsenaConfig.js.map +1 -0
- package/dist/lib/server/decorators/Override.d.ts +4 -4
- package/dist/lib/server/decorators/Override.js +11 -7
- package/dist/lib/server/decorators/Override.js.map +1 -1
- package/dist/lib/server/decorators/components/Config.d.ts +10 -0
- package/dist/lib/server/decorators/components/Config.js +14 -0
- package/dist/lib/server/decorators/components/Config.js.map +1 -0
- package/dist/lib/server/decorators/components/Controller.js +4 -4
- package/dist/lib/server/decorators/components/Controller.js.map +1 -1
- package/dist/lib/server/decorators/components/Middleware.d.ts +1 -1
- package/dist/lib/server/decorators/components/Middleware.js +19 -9
- package/dist/lib/server/decorators/components/Middleware.js.map +1 -1
- package/dist/lib/server/decorators/components/Schedule.d.ts +2 -2
- package/dist/lib/server/decorators/components/Schedule.js +7 -7
- package/dist/lib/server/decorators/components/Schedule.js.map +1 -1
- package/dist/lib/server/decorators/components/Service.d.ts +1 -1
- package/dist/lib/server/decorators/components/Service.js +2 -2
- package/dist/lib/server/decorators/components/Service.js.map +1 -1
- package/dist/lib/server/decorators/components/WebSocket.js +4 -4
- package/dist/lib/server/decorators/components/WebSocket.js.map +1 -1
- package/dist/lib/server/decorators/components/index.d.ts +1 -2
- package/dist/lib/server/decorators/components/index.js +1 -2
- package/dist/lib/server/decorators/components/index.js.map +1 -1
- package/dist/lib/server/decorators/index.d.ts +2 -1
- package/dist/lib/server/decorators/index.js +2 -1
- package/dist/lib/server/decorators/index.js.map +1 -1
- package/dist/lib/server/index.d.ts +1 -0
- package/dist/lib/server/index.js +1 -0
- package/dist/lib/server/index.js.map +1 -1
- package/dist/lib/server/types/Class.d.ts +0 -3
- package/dist/lib/server/web/decorators/http.base.d.ts +4 -0
- package/dist/lib/server/web/decorators/http.base.js +35 -0
- package/dist/lib/server/web/decorators/http.base.js.map +1 -0
- package/dist/lib/server/web/decorators/index.d.ts +4 -0
- package/dist/lib/server/web/decorators/index.js +5 -0
- package/dist/lib/server/web/decorators/index.js.map +1 -0
- package/dist/lib/server/web/decorators/methods/Connect.d.ts +7 -0
- package/dist/lib/server/web/decorators/methods/Connect.js +12 -0
- package/dist/lib/server/web/decorators/methods/Connect.js.map +1 -0
- package/dist/lib/server/web/decorators/methods/Delete.d.ts +7 -0
- package/dist/lib/server/web/decorators/methods/Delete.js +12 -0
- package/dist/lib/server/web/decorators/methods/Delete.js.map +1 -0
- package/dist/lib/server/web/decorators/methods/Get.d.ts +7 -0
- package/dist/lib/server/web/decorators/methods/Get.js +12 -0
- package/dist/lib/server/web/decorators/methods/Get.js.map +1 -0
- package/dist/lib/server/web/decorators/methods/Head.d.ts +7 -0
- package/dist/lib/server/web/decorators/methods/Head.js +12 -0
- package/dist/lib/server/web/decorators/methods/Head.js.map +1 -0
- package/dist/lib/server/web/decorators/methods/Options.d.ts +7 -0
- package/dist/lib/server/web/decorators/methods/Options.js +12 -0
- package/dist/lib/server/web/decorators/methods/Options.js.map +1 -0
- package/dist/lib/server/web/decorators/methods/Patch.d.ts +7 -0
- package/dist/lib/server/web/decorators/methods/Patch.js +12 -0
- package/dist/lib/server/web/decorators/methods/Patch.js.map +1 -0
- package/dist/lib/server/web/decorators/methods/Post.d.ts +7 -0
- package/dist/lib/server/web/decorators/methods/Post.js +12 -0
- package/dist/lib/server/web/decorators/methods/Post.js.map +1 -0
- package/dist/lib/server/web/decorators/methods/Put.d.ts +7 -0
- package/dist/lib/server/web/decorators/methods/Put.js +12 -0
- package/dist/lib/server/web/decorators/methods/Put.js.map +1 -0
- package/dist/lib/server/web/decorators/methods/Trace.d.ts +7 -0
- package/dist/lib/server/web/decorators/methods/Trace.js +12 -0
- package/dist/lib/server/web/decorators/methods/Trace.js.map +1 -0
- package/dist/lib/server/web/decorators/methods/index.d.ts +9 -0
- package/dist/lib/server/web/decorators/methods/index.js +10 -0
- package/dist/lib/server/web/decorators/methods/index.js.map +1 -0
- package/dist/lib/server/web/helper/middlewareHelper.d.ts +7 -1
- package/dist/lib/server/web/helper/middlewareHelper.js +11 -5
- package/dist/lib/server/web/helper/middlewareHelper.js.map +1 -1
- package/dist/lib/server/web/http/HttpStatus.d.ts +69 -67
- package/dist/lib/server/web/http/HttpStatus.js +69 -68
- package/dist/lib/server/web/http/HttpStatus.js.map +1 -1
- package/dist/lib/server/web/middleware/AsenaMiddlewareService.d.ts +8 -10
- package/dist/lib/server/web/middleware/AsenaMiddlewareService.js +1 -4
- package/dist/lib/server/web/middleware/AsenaMiddlewareService.js.map +1 -1
- package/dist/lib/server/web/middleware/AsenaValidationService.d.ts +15 -16
- package/dist/lib/server/web/middleware/AsenaValidationService.js +1 -8
- package/dist/lib/server/web/middleware/AsenaValidationService.js.map +1 -1
- package/dist/lib/server/web/types/ApiParams.d.ts +73 -0
- package/dist/lib/server/web/types/ApiParams.js +2 -0
- package/dist/lib/server/web/types/ApiParams.js.map +1 -0
- package/dist/lib/server/web/types/BaseMiddleware.d.ts +50 -5
- package/dist/lib/server/web/types/BaseMiddleware.js +1 -1
- package/dist/lib/server/web/types/BaseMiddleware.js.map +1 -1
- package/dist/lib/server/web/types/index.d.ts +1 -1
- package/dist/lib/server/web/types/index.js +1 -1
- package/dist/lib/server/web/types/index.js.map +1 -1
- package/dist/lib/server/web/websocket/AsenaSocket.js +1 -0
- package/dist/lib/server/web/websocket/AsenaSocket.js.map +1 -1
- package/dist/lib/server/web/websocket/AsenaWebSocketServer.d.ts +39 -0
- package/dist/lib/server/web/websocket/AsenaWebSocketServer.js +40 -0
- package/dist/lib/server/web/websocket/AsenaWebSocketServer.js.map +1 -1
- package/dist/lib/server/web/websocket/AsenaWebSocketService.js +4 -4
- package/dist/lib/server/web/websocket/AsenaWebSocketService.js.map +1 -1
- package/dist/lib/utils/typedMetadata.d.ts +2 -0
- package/dist/lib/utils/typedMetadata.js +13 -0
- package/dist/lib/utils/typedMetadata.js.map +1 -0
- package/package.json +53 -5
- package/dist/lib/adapter/defaultAdapter/DefaultAdapter.d.ts +0 -26
- package/dist/lib/adapter/defaultAdapter/DefaultAdapter.js.map +0 -1
- package/dist/lib/adapter/defaultAdapter/DefaultContextWrapper.js.map +0 -1
- package/dist/lib/adapter/defaultAdapter/DefaultWebsocketAdapter.js.map +0 -1
- package/dist/lib/adapter/defaultAdapter/index.d.ts +0 -3
- package/dist/lib/adapter/defaultAdapter/index.js +0 -4
- package/dist/lib/adapter/defaultAdapter/index.js.map +0 -1
- package/dist/lib/adapter/defaultAdapter/types/Defaultcontext.js +0 -2
- package/dist/lib/adapter/defaultAdapter/types/Defaultcontext.js.map +0 -1
- package/dist/lib/adapter/defaultAdapter/types/Handler.d.ts +0 -4
- package/dist/lib/adapter/defaultAdapter/types/Handler.js +0 -2
- package/dist/lib/adapter/defaultAdapter/types/Handler.js.map +0 -1
- package/dist/lib/adapter/defaultAdapter/types/index.d.ts +0 -2
- package/dist/lib/adapter/defaultAdapter/types/index.js +0 -3
- package/dist/lib/adapter/defaultAdapter/types/index.js.map +0 -1
- package/dist/lib/ioc/types/Component.js +0 -2
- package/dist/lib/ioc/types/Component.js.map +0 -1
- package/dist/lib/server/decorators/components/Component.js.map +0 -1
- package/dist/lib/server/decorators/components/ServerService.d.ts +0 -9
- package/dist/lib/server/decorators/components/ServerService.js +0 -13
- package/dist/lib/server/decorators/components/ServerService.js.map +0 -1
- package/dist/lib/server/web/api/apiHandler.d.ts +0 -55
- package/dist/lib/server/web/api/apiHandler.js +0 -107
- package/dist/lib/server/web/api/apiHandler.js.map +0 -1
- package/dist/lib/server/web/api/index.d.ts +0 -1
- package/dist/lib/server/web/api/index.js +0 -2
- package/dist/lib/server/web/api/index.js.map +0 -1
- package/dist/lib/server/web/types/ApiHandler.d.ts +0 -23
- package/dist/lib/server/web/types/ApiHandler.js +0 -2
- package/dist/lib/server/web/types/ApiHandler.js.map +0 -1
- package/dist/lib/services/index.d.ts +0 -3
- package/dist/lib/services/index.js +0 -4
- package/dist/lib/services/index.js.map +0 -1
- package/dist/lib/services/logger/DefaultLogger.js.map +0 -1
- package/dist/lib/services/serverService/AsenaService.d.ts +0 -7
- package/dist/lib/services/serverService/AsenaService.js +0 -7
- package/dist/lib/services/serverService/AsenaService.js.map +0 -1
- package/dist/lib/services/types/index.d.ts +0 -2
- package/dist/lib/services/types/index.js +0 -3
- package/dist/lib/services/types/index.js.map +0 -1
- /package/dist/lib/adapter/{defaultAdapter/types/Defaultcontext.d.ts → hono/defaults/Context.d.ts} +0 -0
- /package/dist/lib/{services/logger → logger}/DefaultLogger.js +0 -0
- /package/dist/lib/{services/types → logger}/Logger.d.ts +0 -0
- /package/dist/lib/{services/types → logger}/Logger.js +0 -0
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { IocEngine } from '../ioc';
|
|
2
2
|
import { readConfigFile } from '../ioc/helper/fileHelper';
|
|
3
3
|
import { ComponentType } from '../ioc/types';
|
|
4
|
-
import {
|
|
4
|
+
import { VALIDATOR_METHODS, } from './web/types';
|
|
5
5
|
import * as path from 'node:path';
|
|
6
|
-
import { green } from '../services';
|
|
7
|
-
import { DefaultAdapter } from '../adapter/defaultAdapter';
|
|
8
6
|
import { ComponentConstants } from '../ioc/constants';
|
|
9
|
-
import { DefaultWebsocketAdapter } from '../adapter/defaultAdapter/DefaultWebsocketAdapter';
|
|
10
7
|
import * as bun from 'bun';
|
|
8
|
+
import { green, yellow } from '../logger';
|
|
9
|
+
import { getTypedMetadata } from '../utils/typedMetadata';
|
|
11
10
|
export class AsenaServer {
|
|
12
11
|
_port;
|
|
13
12
|
controllers = [];
|
|
@@ -15,25 +14,25 @@ export class AsenaServer {
|
|
|
15
14
|
_ioc;
|
|
16
15
|
_logger;
|
|
17
16
|
_adapter;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
if (!config) {
|
|
23
|
-
this._logger.error('Config file not found');
|
|
17
|
+
constructor(adapter, logger) {
|
|
18
|
+
this._logger = logger;
|
|
19
|
+
if (!logger) {
|
|
20
|
+
this.prepareLogger();
|
|
24
21
|
}
|
|
25
|
-
this._ioc = new IocEngine(config);
|
|
26
22
|
if (adapter) {
|
|
27
23
|
this._adapter = adapter;
|
|
28
24
|
}
|
|
29
25
|
}
|
|
30
|
-
async
|
|
31
|
-
|
|
32
|
-
if (!
|
|
33
|
-
this.
|
|
34
|
-
this._adapter.setPort(this._port);
|
|
26
|
+
async initialize() {
|
|
27
|
+
const config = await readConfigFile();
|
|
28
|
+
if (!config) {
|
|
29
|
+
this._logger.warn('Config file not found');
|
|
35
30
|
}
|
|
31
|
+
this._ioc = new IocEngine(config);
|
|
36
32
|
await this._ioc.searchAndRegister(this._components);
|
|
33
|
+
return this._ioc.container;
|
|
34
|
+
}
|
|
35
|
+
async start(gc = false) {
|
|
37
36
|
this._logger.info(`
|
|
38
37
|
___ _____ ______ _ __ ___
|
|
39
38
|
/ | / ___/ / ____// | / // |
|
|
@@ -41,11 +40,13 @@ export class AsenaServer {
|
|
|
41
40
|
/ ___ | ___/ // /___ / /| // ___ |
|
|
42
41
|
/_/ |_|/____//_____//_/ |_//_/ |_|
|
|
43
42
|
`);
|
|
44
|
-
this.
|
|
45
|
-
|
|
46
|
-
this.
|
|
47
|
-
this.
|
|
48
|
-
this.
|
|
43
|
+
await this.initialize();
|
|
44
|
+
this._logger.info(`Adapter: ${green(this._adapter.name)} implemented`);
|
|
45
|
+
this._adapter.setPort(this._port);
|
|
46
|
+
this._logger.info('All components registered and ready to use');
|
|
47
|
+
await this.prepareConfigs();
|
|
48
|
+
await this.initializeControllers();
|
|
49
|
+
await this.prepareWebSocket();
|
|
49
50
|
this._logger.info('Server started on port ' + this._port);
|
|
50
51
|
await this._adapter.start();
|
|
51
52
|
// TODO: this is wierd but when we call gc asena uses less memory rest of the time
|
|
@@ -55,7 +56,7 @@ export class AsenaServer {
|
|
|
55
56
|
}
|
|
56
57
|
components(components) {
|
|
57
58
|
this._components = components.map((_component) => {
|
|
58
|
-
const face =
|
|
59
|
+
const face = getTypedMetadata(ComponentConstants.InterfaceKey, _component);
|
|
59
60
|
const component = {
|
|
60
61
|
Class: _component,
|
|
61
62
|
interface: face,
|
|
@@ -72,83 +73,97 @@ export class AsenaServer {
|
|
|
72
73
|
this._logger = value;
|
|
73
74
|
return this;
|
|
74
75
|
}
|
|
75
|
-
|
|
76
|
-
this.
|
|
77
|
-
return this;
|
|
78
|
-
}
|
|
79
|
-
initializeControllers() {
|
|
80
|
-
const controllers = this._ioc.container.getAll(ComponentType.CONTROLLER);
|
|
81
|
-
if (controllers !== null) {
|
|
82
|
-
// check if any controller is array or not
|
|
83
|
-
if (controllers.find((controller) => Array.isArray(controller))) {
|
|
84
|
-
throw new Error('Controller cannot be array');
|
|
85
|
-
}
|
|
86
|
-
this.controllers = controllers;
|
|
87
|
-
for (const controller of this.controllers) {
|
|
88
|
-
this._logger.info(`Controller: ${green(controller.constructor.name)} found`);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
76
|
+
async initializeControllers() {
|
|
77
|
+
await this.validateAndSetControllers();
|
|
91
78
|
for (const controller of this.controllers) {
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
79
|
+
const name = getTypedMetadata(ComponentConstants.NameKey, controller.constructor);
|
|
80
|
+
this._logger.info(`Controller: ${green(name)} found:`);
|
|
81
|
+
const routes = getTypedMetadata(ComponentConstants.RouteKey, controller) || {};
|
|
82
|
+
const routePath = getTypedMetadata(ComponentConstants.PathKey, controller.constructor) || '';
|
|
83
|
+
await this.prepareTopMiddlewares({ controller, routePath });
|
|
95
84
|
for (const [name, params] of Object.entries(routes)) {
|
|
96
85
|
const lastPath = path.join(`${routePath}/`, params.path);
|
|
97
|
-
const middlewares = this.
|
|
98
|
-
this.
|
|
86
|
+
const middlewares = await this.prepareRouteMiddleware(params);
|
|
87
|
+
const validatorInstance = await this.prepareValidator(params.validator);
|
|
88
|
+
await this._adapter.registerRoute({
|
|
99
89
|
method: params.method,
|
|
100
90
|
path: lastPath,
|
|
101
|
-
middleware:
|
|
102
|
-
handler:
|
|
91
|
+
middleware: middlewares,
|
|
92
|
+
handler: controller[name].bind(controller),
|
|
103
93
|
staticServe: params.staticServe,
|
|
104
|
-
validator:
|
|
94
|
+
validator: validatorInstance,
|
|
105
95
|
});
|
|
106
96
|
}
|
|
97
|
+
this._logger.info(`Controller: ${green(name)} successfully registered.`);
|
|
107
98
|
}
|
|
108
99
|
}
|
|
109
|
-
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
if (!instances)
|
|
116
|
-
continue;
|
|
117
|
-
const normalizedInstances = Array.isArray(instances) ? instances : [instances];
|
|
118
|
-
for (const instance of normalizedInstances) {
|
|
119
|
-
const override = getMetadata(ComponentConstants.OverrideKey, instance);
|
|
120
|
-
const middlewareConfig = { middlewareService: instance, override };
|
|
121
|
-
if (websocket) {
|
|
122
|
-
middlewareInstances.push(middlewareConfig);
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
this._adapter.use(middlewareConfig, routePath);
|
|
126
|
-
}
|
|
100
|
+
async validateAndSetControllers() {
|
|
101
|
+
const controllers = await this._ioc.container.resolveAll(ComponentType.CONTROLLER);
|
|
102
|
+
if (controllers !== null) {
|
|
103
|
+
// check if any controller is array or not
|
|
104
|
+
if (controllers.find((controller) => Array.isArray(controller))) {
|
|
105
|
+
throw new Error('Controller cannot be array');
|
|
127
106
|
}
|
|
107
|
+
this.controllers = controllers;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
async prepareTopMiddlewares({ controller, routePath }, websocket = false) {
|
|
111
|
+
const topMiddlewares = getTypedMetadata(ComponentConstants.MiddlewaresKey, controller.constructor) || [];
|
|
112
|
+
const middlewares = await this.prepareMiddlewares(topMiddlewares);
|
|
113
|
+
if (websocket) {
|
|
114
|
+
return middlewares;
|
|
115
|
+
}
|
|
116
|
+
for (const middleware of middlewares) {
|
|
117
|
+
await this._adapter.use(middleware, routePath);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
async prepareValidator(Validator) {
|
|
121
|
+
if (!Validator) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
const name = getTypedMetadata(ComponentConstants.NameKey, Validator);
|
|
125
|
+
const validator = await this._ioc.container.resolve(name);
|
|
126
|
+
if (!validator) {
|
|
127
|
+
throw new Error('Validator not found:' + name);
|
|
128
128
|
}
|
|
129
|
-
|
|
129
|
+
if (Array.isArray(validator)) {
|
|
130
|
+
throw new Error('Validator cannot be array');
|
|
131
|
+
}
|
|
132
|
+
const overrides = getTypedMetadata(ComponentConstants.OverrideKey, validator.constructor);
|
|
133
|
+
const baseValidatorMiddleware = {};
|
|
134
|
+
VALIDATOR_METHODS.filter((key) => typeof validator[key] === 'function').forEach((key) => {
|
|
135
|
+
baseValidatorMiddleware[key] = {
|
|
136
|
+
handle: validator[key].bind(validator),
|
|
137
|
+
override: overrides?.includes(key) || false,
|
|
138
|
+
};
|
|
139
|
+
});
|
|
140
|
+
return baseValidatorMiddleware;
|
|
130
141
|
}
|
|
131
|
-
|
|
132
|
-
const middlewares = [];
|
|
142
|
+
async prepareRouteMiddleware(middlewareParams) {
|
|
133
143
|
const routeMiddlewares = middlewareParams?.middlewares || [];
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
144
|
+
return this.prepareMiddlewares(routeMiddlewares);
|
|
145
|
+
}
|
|
146
|
+
async prepareMiddlewares(middlewares) {
|
|
147
|
+
const preparedMiddlewares = [];
|
|
148
|
+
for (const middleware of middlewares) {
|
|
149
|
+
const name = getTypedMetadata(ComponentConstants.NameKey, middleware);
|
|
150
|
+
const override = getTypedMetadata(ComponentConstants.OverrideKey, middleware);
|
|
151
|
+
const isOverride = override ? override.includes('handle') : false;
|
|
152
|
+
const instances = await this._ioc.container.resolve(name);
|
|
138
153
|
if (!instances)
|
|
139
154
|
continue;
|
|
140
155
|
const normalizedInstances = Array.isArray(instances) ? instances : [instances];
|
|
141
156
|
for (const instance of normalizedInstances) {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
override,
|
|
157
|
+
preparedMiddlewares.push({
|
|
158
|
+
handle: instance.handle.bind(instance),
|
|
159
|
+
override: isOverride,
|
|
145
160
|
});
|
|
146
161
|
}
|
|
147
162
|
}
|
|
148
|
-
return
|
|
163
|
+
return preparedMiddlewares;
|
|
149
164
|
}
|
|
150
|
-
prepareWebSocket() {
|
|
151
|
-
const webSockets = this._ioc.container.
|
|
165
|
+
async prepareWebSocket() {
|
|
166
|
+
const webSockets = await this._ioc.container.resolveAll(ComponentType.WEBSOCKET);
|
|
152
167
|
if (!webSockets?.length) {
|
|
153
168
|
this._logger.info('No websockets found');
|
|
154
169
|
return;
|
|
@@ -157,7 +172,7 @@ export class AsenaServer {
|
|
|
157
172
|
const flatWebSockets = webSockets.flat();
|
|
158
173
|
const registeredPaths = new Set();
|
|
159
174
|
for (const webSocket of flatWebSockets) {
|
|
160
|
-
const path =
|
|
175
|
+
const path = getTypedMetadata(ComponentConstants.PathKey, webSocket.constructor);
|
|
161
176
|
if (!path) {
|
|
162
177
|
throw new Error('Path not found in WebSocket');
|
|
163
178
|
}
|
|
@@ -165,47 +180,44 @@ export class AsenaServer {
|
|
|
165
180
|
throw new Error(`Duplicate WebSocket path found: ${path}`);
|
|
166
181
|
}
|
|
167
182
|
registeredPaths.add(path);
|
|
168
|
-
|
|
169
|
-
this.
|
|
170
|
-
|
|
171
|
-
if (flatWebSockets.length > 0) {
|
|
172
|
-
this._adapter.websocketAdapter.prepareWebSocket(this._wsOptions);
|
|
183
|
+
webSocket.namespace = path;
|
|
184
|
+
const middlewares = await this.prepareTopMiddlewares({ controller: webSocket }, true);
|
|
185
|
+
await this._adapter.websocketAdapter.registerWebSocket(webSocket, middlewares);
|
|
173
186
|
}
|
|
174
187
|
}
|
|
175
|
-
async
|
|
176
|
-
const
|
|
177
|
-
if (!
|
|
178
|
-
this._logger.info('No
|
|
188
|
+
async prepareConfigs() {
|
|
189
|
+
const config = await this._ioc.container.resolveAll(ComponentType.CONFIG);
|
|
190
|
+
if (!config?.length) {
|
|
191
|
+
this._logger.info('No configs found');
|
|
179
192
|
return;
|
|
180
193
|
}
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
194
|
+
if (config.length > 1) {
|
|
195
|
+
throw new Error('Only one config is allowed');
|
|
196
|
+
}
|
|
197
|
+
if (Array.isArray(config[0])) {
|
|
198
|
+
throw new Error('Config cannot be array');
|
|
199
|
+
}
|
|
200
|
+
const name = getTypedMetadata(ComponentConstants.NameKey, config[0].constructor);
|
|
201
|
+
this._logger.info(`Config found ${yellow(name)}`);
|
|
202
|
+
const configInstance = config[0];
|
|
203
|
+
if (!configInstance) {
|
|
204
|
+
this._logger.info('Config instance not found');
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
if (typeof configInstance.serveOptions === 'function') {
|
|
208
|
+
await this._adapter.serveOptions(configInstance.serveOptions.bind(configInstance));
|
|
209
|
+
}
|
|
210
|
+
if (typeof configInstance.onError === 'function') {
|
|
211
|
+
await this._adapter.onError(configInstance.onError.bind(configInstance));
|
|
212
|
+
}
|
|
213
|
+
if (typeof configInstance.globalMiddlewares === 'function') {
|
|
214
|
+
const middlewares = await configInstance.globalMiddlewares();
|
|
215
|
+
const preparedMiddlewares = await this.prepareMiddlewares(middlewares);
|
|
216
|
+
for (const middleware of preparedMiddlewares) {
|
|
217
|
+
await this._adapter.use(middleware);
|
|
196
218
|
}
|
|
197
219
|
}
|
|
198
|
-
|
|
199
|
-
// todo: this implementation still under development
|
|
200
|
-
configureErrorHandling() {
|
|
201
|
-
// this._adapter.app.onError((err: Error | HTTPResponseError, c: Context) => {
|
|
202
|
-
// if (err instanceof HTTPException) {
|
|
203
|
-
// // Get the custom response
|
|
204
|
-
// return err.getResponse();
|
|
205
|
-
// }
|
|
206
|
-
//
|
|
207
|
-
// return c.json({ message: 'Internal server error' }, ServerErrorStatusCode.INTERNAL_SERVER_ERROR);
|
|
208
|
-
// });
|
|
220
|
+
this._logger.info(`Config ${yellow(name)} applied`);
|
|
209
221
|
}
|
|
210
222
|
prepareLogger() {
|
|
211
223
|
if (!this._logger) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsenaServer.js","sourceRoot":"","sources":["../../../lib/server/AsenaServer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AsenaServer.js","sourceRoot":"","sources":["../../../lib/server/AsenaServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { AsenaContext, AsenaServeOptions } from '../../adapter';
|
|
2
|
+
import type { MiddlewareClass } from "../web/middleware";
|
|
3
|
+
/**
|
|
4
|
+
* Configuration interface for Asena framework
|
|
5
|
+
* @template C - Extends AsenaContext type with generic parameters
|
|
6
|
+
*/
|
|
7
|
+
export interface AsenaConfig<C extends AsenaContext<any, any> = AsenaContext<any, any>> {
|
|
8
|
+
/**
|
|
9
|
+
* Error handler function for the application
|
|
10
|
+
* @param error - The error object that was thrown
|
|
11
|
+
* @param context - The current Asena context
|
|
12
|
+
* @returns Response object or a Promise that resolves to a Response
|
|
13
|
+
*/
|
|
14
|
+
onError?(error: Error, context: C): Response | Promise<Response>;
|
|
15
|
+
/**
|
|
16
|
+
* Configuration options for the server
|
|
17
|
+
* @returns AsenaServeOptions object containing server configuration
|
|
18
|
+
*/
|
|
19
|
+
serveOptions?(): AsenaServeOptions;
|
|
20
|
+
/**
|
|
21
|
+
* Global middleware configuration for applying middleware across all routes.
|
|
22
|
+
* Similar to Hono's global middleware usage:
|
|
23
|
+
* @example
|
|
24
|
+
* // Hono usage:
|
|
25
|
+
* const app = new Hono()
|
|
26
|
+
* app.use(middleware1)
|
|
27
|
+
* app.use(middleware2)
|
|
28
|
+
*
|
|
29
|
+
* // Equivalent in Asena:
|
|
30
|
+
* class Config implements AsenaConfig {
|
|
31
|
+
* globalMiddlewares() {
|
|
32
|
+
* return [
|
|
33
|
+
* MiddlewareService1,
|
|
34
|
+
* MiddlewareService2
|
|
35
|
+
* ]
|
|
36
|
+
* }
|
|
37
|
+
* }
|
|
38
|
+
*
|
|
39
|
+
* @returns Array of middleware services to be applied globally
|
|
40
|
+
*/
|
|
41
|
+
globalMiddlewares?(): Promise<MiddlewareClass[]> | MiddlewareClass[];
|
|
42
|
+
}
|
|
43
|
+
export type AsenaConfigFunctions = 'onError' | 'serveOptions' | 'globalMiddlewares';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AsenaConfig.js","sourceRoot":"","sources":["../../../../lib/server/config/AsenaConfig.ts"],"names":[],"mappings":""}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Decorator for marking a
|
|
2
|
+
* Decorator for marking a property as an override.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Override properties allow a middleware to work directly without any Asena wrapper.
|
|
5
5
|
*
|
|
6
6
|
* For now, it's only using in middleware.
|
|
7
7
|
*
|
|
8
|
-
* @returns {ClassDecorator} - The
|
|
8
|
+
* @returns {ClassDecorator} - The property decorator for the override.
|
|
9
9
|
*/
|
|
10
|
-
export declare const Override: () =>
|
|
10
|
+
export declare const Override: () => PropertyDecorator;
|
|
@@ -1,17 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ComponentConstants } from '../../ioc/constants';
|
|
2
|
+
import { defineTypedMetadata, getTypedMetadata } from '../../utils/typedMetadata';
|
|
3
3
|
/**
|
|
4
|
-
* Decorator for marking a
|
|
4
|
+
* Decorator for marking a property as an override.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
6
|
+
* Override properties allow a middleware to work directly without any Asena wrapper.
|
|
7
7
|
*
|
|
8
8
|
* For now, it's only using in middleware.
|
|
9
9
|
*
|
|
10
|
-
* @returns {ClassDecorator} - The
|
|
10
|
+
* @returns {ClassDecorator} - The property decorator for the override.
|
|
11
11
|
*/
|
|
12
12
|
export const Override = () => {
|
|
13
|
-
return (target) => {
|
|
14
|
-
|
|
13
|
+
return (target, propertyKey) => {
|
|
14
|
+
const overrides = getTypedMetadata(ComponentConstants.OverrideKey, target.constructor) || [];
|
|
15
|
+
if (!overrides.includes(propertyKey)) {
|
|
16
|
+
overrides.push(propertyKey);
|
|
17
|
+
}
|
|
18
|
+
defineTypedMetadata(ComponentConstants.OverrideKey, overrides, target.constructor);
|
|
15
19
|
};
|
|
16
20
|
};
|
|
17
21
|
//# sourceMappingURL=Override.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Override.js","sourceRoot":"","sources":["../../../../lib/server/decorators/Override.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Override.js","sourceRoot":"","sources":["../../../../lib/server/decorators/Override.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAsB,EAAE;IAC9C,OAAO,CAAC,MAAc,EAAE,WAAmB,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAa,gBAAgB,CAAW,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAEjH,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;QAED,mBAAmB,CAAW,kBAAkB,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAC/F,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type ComponentParams } from '../../../ioc/types';
|
|
2
|
+
/**
|
|
3
|
+
* Decorator that marks a class as a configuration component.
|
|
4
|
+
* Used to define configuration classes that can be injected into other components.
|
|
5
|
+
*
|
|
6
|
+
* @param {ComponentParams | string} params - Component parameters or component name
|
|
7
|
+
* @returns {ClassDecorator} A class decorator that registers the class as a config component
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
export declare const Config: (params?: ComponentParams | string) => ClassDecorator;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ComponentType } from '../../../ioc/types';
|
|
2
|
+
import { defineComponent } from '../../../ioc/component';
|
|
3
|
+
/**
|
|
4
|
+
* Decorator that marks a class as a configuration component.
|
|
5
|
+
* Used to define configuration classes that can be injected into other components.
|
|
6
|
+
*
|
|
7
|
+
* @param {ComponentParams | string} params - Component parameters or component name
|
|
8
|
+
* @returns {ClassDecorator} A class decorator that registers the class as a config component
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
export const Config = (params) => {
|
|
12
|
+
return defineComponent(ComponentType.CONFIG, params);
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=Config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../../../lib/server/decorators/components/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAiC,EAAkB,EAAE;IAC1E,OAAO,eAAe,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ComponentType } from '../../../ioc/types';
|
|
2
|
-
import { defineComponent } from '../../../ioc/component
|
|
3
|
-
import { defineMetadata } from 'reflect-metadata/no-conflict';
|
|
2
|
+
import { defineComponent } from '../../../ioc/component';
|
|
4
3
|
import { ComponentConstants } from '../../../ioc/constants';
|
|
5
4
|
import { defineMiddleware } from '../../web/helper';
|
|
5
|
+
import { defineTypedMetadata } from '../../../utils/typedMetadata';
|
|
6
6
|
/**
|
|
7
7
|
* Decorator for defining a Controller component. String is used for defining the path.
|
|
8
8
|
*
|
|
@@ -12,9 +12,9 @@ import { defineMiddleware } from '../../web/helper';
|
|
|
12
12
|
export const Controller = (params) => {
|
|
13
13
|
const _params = typeof params === 'string' ? { path: params, name: undefined } : params || { path: '', name: undefined };
|
|
14
14
|
return defineComponent(ComponentType.CONTROLLER, _params, (target) => {
|
|
15
|
-
|
|
15
|
+
defineTypedMetadata(ComponentConstants.PathKey, _params.path.replace(/^\/+/, '/') || '/', target);
|
|
16
16
|
defineMiddleware(target, _params.middlewares || []);
|
|
17
|
-
|
|
17
|
+
defineTypedMetadata(ComponentConstants.MiddlewaresKey, _params.middlewares || [], target);
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
20
|
//# sourceMappingURL=Controller.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Controller.js","sourceRoot":"","sources":["../../../../../lib/server/decorators/components/Controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAyB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Controller.js","sourceRoot":"","sources":["../../../../../lib/server/decorators/components/Controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAyB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAInE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAkC,EAAkB,EAAE;IAC/E,MAAM,OAAO,GACX,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAE3G,OAAO,eAAe,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QACnE,mBAAmB,CACjB,kBAAkB,CAAC,OAAO,EACzB,OAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,GAAG,EAC9D,MAAM,CACP,CAAC;QAEF,gBAAgB,CAAC,MAAM,EAAG,OAA4B,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAE1E,mBAAmB,CACjB,kBAAkB,CAAC,cAAc,EAChC,OAA4B,CAAC,WAAW,IAAK,EAAwB,EACtE,MAAM,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { defineComponent } from
|
|
2
|
-
import { ComponentType } from
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { defineComponent } from '../../../ioc/component';
|
|
2
|
+
import { ComponentType } from '../../../ioc/types';
|
|
3
|
+
import { ComponentConstants } from '../../../ioc/constants';
|
|
4
|
+
import { VALIDATOR_METHODS } from '../../web/types';
|
|
5
|
+
import { defineTypedMetadata, getTypedMetadata } from '../../../utils/typedMetadata';
|
|
5
6
|
/**
|
|
6
7
|
* Decorator for defining a Middleware component.
|
|
7
8
|
*
|
|
@@ -10,11 +11,20 @@ import { ComponentConstants } from "../../../ioc/constants";
|
|
|
10
11
|
*/
|
|
11
12
|
export const Middleware = (params) => {
|
|
12
13
|
return defineComponent(ComponentType.MIDDLEWARE, params, (target) => {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
defineMetadata(ComponentConstants.OverrideKey, overdrive || params?.override || false, target);
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
const overrides = getTypedMetadata(ComponentConstants.OverrideKey, target);
|
|
15
|
+
defineTypedMetadata(ComponentConstants.OverrideKey, overrides, target);
|
|
16
|
+
// defineMetadata(ComponentConstants.OverrideKey, overdrive || params?.override || false, target);
|
|
17
|
+
defineTypedMetadata(ComponentConstants.ValidatorKey, params?.validator || false, target);
|
|
18
|
+
if (params?.validator) {
|
|
19
|
+
const hasValidatorMethod = VALIDATOR_METHODS.some((method) => typeof target.prototype[method] === 'function');
|
|
20
|
+
if (!hasValidatorMethod) {
|
|
21
|
+
console.error(`Class ${target.name} must implement at least one of the validator methods: ${VALIDATOR_METHODS.join(', ')}.`);
|
|
22
|
+
process.exit();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
else if (typeof target.prototype.handle !== 'function') {
|
|
26
|
+
console.error(`Class ${target.name} must implement a 'handle(context, next)' method.`);
|
|
27
|
+
process.exit();
|
|
18
28
|
}
|
|
19
29
|
});
|
|
20
30
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Middleware.js","sourceRoot":"","sources":["../../../../../lib/server/decorators/components/Middleware.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"Middleware.js","sourceRoot":"","sources":["../../../../../lib/server/decorators/components/Middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAyB,EAAkB,EAAE;IACtE,OAAO,eAAe,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QAClE,MAAM,SAAS,GAAG,gBAAgB,CAAW,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAErF,mBAAmB,CAAW,kBAAkB,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACjF,kGAAkG;QAElG,mBAAmB,CAAU,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC;QAElG,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;YACtB,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,CAAC;YAE9G,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,CACX,SAAS,MAAM,CAAC,IAAI,0DAA0D,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9G,CAAC;gBACF,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACzD,OAAO,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,IAAI,mDAAmD,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
|