@asenajs/asena 0.2.0 → 0.3.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/dist/lib/adapter/AsenaAdapter.d.ts +18 -15
- package/dist/lib/adapter/AsenaAdapter.js +9 -19
- package/dist/lib/adapter/AsenaAdapter.js.map +1 -1
- package/dist/lib/adapter/AsenaContext.d.ts +1 -1
- package/dist/lib/adapter/AsenaWebsocketAdapter.d.ts +10 -27
- package/dist/lib/adapter/AsenaWebsocketAdapter.js +4 -25
- package/dist/lib/adapter/AsenaWebsocketAdapter.js.map +1 -1
- package/dist/lib/adapter/types/ApiParams.d.ts +3 -3
- package/dist/lib/adapter/types/BaseStaticServeParams.d.ts +12 -0
- package/dist/lib/adapter/types/BaseStaticServeParams.js +2 -0
- package/dist/lib/adapter/types/BaseStaticServeParams.js.map +1 -0
- package/dist/lib/adapter/types/RouteParams.d.ts +11 -4
- package/dist/lib/adapter/types/WebSocketRegistry.d.ts +1 -7
- package/dist/lib/adapter/types/index.d.ts +1 -1
- package/dist/lib/adapter/types/index.js +1 -1
- package/dist/lib/adapter/types/index.js.map +1 -1
- package/dist/lib/ioc/Container.js +10 -4
- package/dist/lib/ioc/Container.js.map +1 -1
- package/dist/lib/ioc/IocEngine.js +1 -1
- package/dist/lib/ioc/IocEngine.js.map +1 -1
- package/dist/lib/ioc/component/Scope.js.map +1 -0
- package/dist/lib/ioc/component/componentUtils.js +2 -1
- package/dist/lib/ioc/component/componentUtils.js.map +1 -1
- package/dist/lib/ioc/component/decorators/Inject.js +3 -2
- package/dist/lib/ioc/component/decorators/Inject.js.map +1 -1
- package/dist/lib/ioc/component/decorators/Strategy.js +2 -2
- package/dist/lib/ioc/component/decorators/Strategy.js.map +1 -1
- package/dist/lib/ioc/component/index.d.ts +1 -0
- package/dist/lib/ioc/component/index.js +1 -0
- package/dist/lib/ioc/component/index.js.map +1 -1
- package/dist/lib/ioc/constants/ComponentConstants.d.ts +2 -1
- package/dist/lib/ioc/constants/ComponentConstants.js +1 -0
- package/dist/lib/ioc/constants/ComponentConstants.js.map +1 -1
- package/dist/lib/ioc/helper/iocHelper.d.ts +1 -5
- package/dist/lib/ioc/helper/iocHelper.js.map +1 -1
- package/dist/lib/ioc/types/decorators/ComponentParams.d.ts +1 -1
- package/dist/lib/ioc/types/index.d.ts +0 -1
- package/dist/lib/ioc/types/index.js +0 -1
- package/dist/lib/ioc/types/index.js.map +1 -1
- package/dist/lib/logger/defaults.d.ts +4 -0
- package/dist/lib/logger/defaults.js +5 -0
- package/dist/lib/logger/defaults.js.map +1 -0
- package/dist/lib/logger/index.d.ts +1 -1
- package/dist/lib/logger/index.js +1 -1
- package/dist/lib/logger/index.js.map +1 -1
- package/dist/lib/server/AsenaServer.d.ts +9 -4
- package/dist/lib/server/AsenaServer.js +42 -91
- package/dist/lib/server/AsenaServer.js.map +1 -1
- package/dist/lib/server/decorators/Override.js +2 -2
- package/dist/lib/server/decorators/Override.js.map +1 -1
- package/dist/lib/server/decorators/components/Middleware.js +2 -5
- package/dist/lib/server/decorators/components/Middleware.js.map +1 -1
- package/dist/lib/server/decorators/components/StaticServe.d.ts +17 -0
- package/dist/lib/server/decorators/components/StaticServe.js +27 -0
- package/dist/lib/server/decorators/components/StaticServe.js.map +1 -0
- package/dist/lib/server/decorators/components/WebSocket.js +4 -0
- package/dist/lib/server/decorators/components/WebSocket.js.map +1 -1
- package/dist/lib/server/decorators/components/index.d.ts +1 -0
- package/dist/lib/server/decorators/components/index.js +1 -0
- package/dist/lib/server/decorators/components/index.js.map +1 -1
- package/dist/lib/server/src/PrepareService.d.ts +8 -0
- package/dist/lib/server/src/PrepareService.js +9 -0
- package/dist/lib/server/src/PrepareService.js.map +1 -0
- package/dist/lib/server/src/services/PrepareConfigService.d.ts +8 -0
- package/dist/lib/server/src/services/PrepareConfigService.js +32 -0
- package/dist/lib/server/src/services/PrepareConfigService.js.map +1 -0
- package/dist/lib/server/src/services/PrepareMiddlewareService.d.ts +14 -0
- package/dist/lib/server/src/services/PrepareMiddlewareService.js +33 -0
- package/dist/lib/server/src/services/PrepareMiddlewareService.js.map +1 -0
- package/dist/lib/server/src/services/PrepareStaticServeConfigService.d.ts +9 -0
- package/dist/lib/server/src/services/PrepareStaticServeConfigService.js +50 -0
- package/dist/lib/server/src/services/PrepareStaticServeConfigService.js.map +1 -0
- package/dist/lib/server/src/services/PrepareValidatorService.d.ts +9 -0
- package/dist/lib/server/src/services/PrepareValidatorService.js +32 -0
- package/dist/lib/server/src/services/PrepareValidatorService.js.map +1 -0
- package/dist/lib/server/src/services/PrepareWebsocketService.d.ts +8 -0
- package/dist/lib/server/src/services/PrepareWebsocketService.js +31 -0
- package/dist/lib/server/src/services/PrepareWebsocketService.js.map +1 -0
- package/dist/lib/server/types/index.d.ts +1 -2
- package/dist/lib/server/types/index.js +1 -2
- package/dist/lib/server/types/index.js.map +1 -1
- package/dist/lib/server/web/decorators/http.base.js +1 -1
- package/dist/lib/server/web/decorators/http.base.js.map +1 -1
- package/dist/lib/server/web/helper/middlewareHelper.d.ts +1 -1
- package/dist/lib/server/web/helper/middlewareHelper.js +1 -1
- package/dist/lib/server/web/helper/middlewareHelper.js.map +1 -1
- package/dist/lib/server/web/middleware/AsenaStaticServeService.d.ts +57 -0
- package/dist/lib/server/web/middleware/AsenaStaticServeService.js +20 -0
- package/dist/lib/server/web/middleware/AsenaStaticServeService.js.map +1 -0
- package/dist/lib/server/web/middleware/index.d.ts +1 -0
- package/dist/lib/server/web/middleware/index.js +1 -0
- package/dist/lib/server/web/middleware/index.js.map +1 -1
- package/package.json +31 -35
- package/dist/lib/adapter/types/WebsocketAdapterParams.d.ts +0 -11
- package/dist/lib/adapter/types/WebsocketAdapterParams.js +0 -2
- package/dist/lib/adapter/types/WebsocketAdapterParams.js.map +0 -1
- package/dist/lib/ioc/types/Scope.js.map +0 -1
- package/dist/lib/logger/DefaultLogger.d.ts +0 -15
- package/dist/lib/logger/DefaultLogger.js +0 -31
- package/dist/lib/logger/DefaultLogger.js.map +0 -1
- /package/dist/lib/ioc/{types → component}/Scope.d.ts +0 -0
- /package/dist/lib/ioc/{types → component}/Scope.js +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AsenaServeOptions, BaseMiddleware, ErrorHandler, RouteParams } from './types';
|
|
1
|
+
import type { AsenaServeOptions, BaseMiddleware, ErrorHandler, RouteParams, WebsocketRouteParams } from './types';
|
|
2
2
|
import type { Server } from 'bun';
|
|
3
3
|
import type { AsenaWebsocketAdapter } from './AsenaWebsocketAdapter';
|
|
4
4
|
import type { ServerLogger } from '../logger';
|
|
@@ -7,25 +7,14 @@ import type { AsenaContext } from './AsenaContext';
|
|
|
7
7
|
* Abstract class representing an adapter for the Asena framework.
|
|
8
8
|
* This adapter serves as a base interface between the framework and different server implementations.
|
|
9
9
|
*
|
|
10
|
-
* @template
|
|
11
|
-
* @template R - Type for the request object
|
|
12
|
-
* @template S - Type for the response object
|
|
10
|
+
* @template C - Type for the context object
|
|
13
11
|
* @template VS - Type for the validator schema
|
|
14
|
-
* @template WSA - Type for the WebSocket adapter implementation
|
|
15
12
|
*/
|
|
16
|
-
export declare abstract class AsenaAdapter<
|
|
13
|
+
export declare abstract class AsenaAdapter<C extends AsenaContext<any, any>, VS> {
|
|
17
14
|
/**
|
|
18
15
|
* The name identifier of the adapter
|
|
19
16
|
*/
|
|
20
17
|
readonly name: string;
|
|
21
|
-
/**
|
|
22
|
-
* The main application instance
|
|
23
|
-
*/
|
|
24
|
-
app: A;
|
|
25
|
-
/**
|
|
26
|
-
* WebSocket adapter instance for handling real-time communications
|
|
27
|
-
*/
|
|
28
|
-
websocketAdapter: WSA;
|
|
29
18
|
/**
|
|
30
19
|
* Server port number
|
|
31
20
|
*/
|
|
@@ -34,12 +23,16 @@ export declare abstract class AsenaAdapter<A, C extends AsenaContext<any, any>,
|
|
|
34
23
|
* Logger instance for server operations
|
|
35
24
|
*/
|
|
36
25
|
protected logger: ServerLogger;
|
|
26
|
+
/**
|
|
27
|
+
* WebSocket adapter instance for handling real-time communications
|
|
28
|
+
*/
|
|
29
|
+
protected websocketAdapter: AsenaWebsocketAdapter;
|
|
37
30
|
/**
|
|
38
31
|
* Creates a new adapter instance
|
|
39
32
|
* @param websocketAdapter - WebSocket adapter implementation
|
|
40
33
|
* @param logger - Optional custom logger implementation
|
|
41
34
|
*/
|
|
42
|
-
protected constructor(
|
|
35
|
+
protected constructor(logger: ServerLogger, websocketAdapter?: AsenaWebsocketAdapter);
|
|
43
36
|
/**
|
|
44
37
|
* Configures the server port
|
|
45
38
|
* @param port - Port number to listen on
|
|
@@ -56,6 +49,16 @@ export declare abstract class AsenaAdapter<A, C extends AsenaContext<any, any>,
|
|
|
56
49
|
* @param params - Route configuration parameters
|
|
57
50
|
*/
|
|
58
51
|
abstract registerRoute(params: RouteParams<C, VS>): Promise<void> | void;
|
|
52
|
+
/**
|
|
53
|
+
* Registers a WebSocket route with the application. This method establishes the connection
|
|
54
|
+
* between HTTP routes and WebSocket handlers, allowing the adapter to properly route
|
|
55
|
+
* WebSocket connection requests to the appropriate handlers.
|
|
56
|
+
*
|
|
57
|
+
* @param {WebsocketRouteParams<C>} params - Configuration parameters for the WebSocket route,
|
|
58
|
+
* including path, handlers, and middleware
|
|
59
|
+
* @returns {Promise<void> | void} - Promise that resolves when registration is complete
|
|
60
|
+
*/
|
|
61
|
+
abstract registerWebsocketRoute(params: WebsocketRouteParams<C>): Promise<void> | void;
|
|
59
62
|
/**
|
|
60
63
|
* Initializes and starts the server
|
|
61
64
|
* @returns Server instance
|
|
@@ -2,25 +2,14 @@
|
|
|
2
2
|
* Abstract class representing an adapter for the Asena framework.
|
|
3
3
|
* This adapter serves as a base interface between the framework and different server implementations.
|
|
4
4
|
*
|
|
5
|
-
* @template
|
|
6
|
-
* @template R - Type for the request object
|
|
7
|
-
* @template S - Type for the response object
|
|
5
|
+
* @template C - Type for the context object
|
|
8
6
|
* @template VS - Type for the validator schema
|
|
9
|
-
* @template WSA - Type for the WebSocket adapter implementation
|
|
10
7
|
*/
|
|
11
8
|
export class AsenaAdapter {
|
|
12
9
|
/**
|
|
13
10
|
* The name identifier of the adapter
|
|
14
11
|
*/
|
|
15
12
|
name;
|
|
16
|
-
/**
|
|
17
|
-
* The main application instance
|
|
18
|
-
*/
|
|
19
|
-
app;
|
|
20
|
-
/**
|
|
21
|
-
* WebSocket adapter instance for handling real-time communications
|
|
22
|
-
*/
|
|
23
|
-
websocketAdapter;
|
|
24
13
|
/**
|
|
25
14
|
* Server port number
|
|
26
15
|
*/
|
|
@@ -29,18 +18,19 @@ export class AsenaAdapter {
|
|
|
29
18
|
* Logger instance for server operations
|
|
30
19
|
*/
|
|
31
20
|
logger = console;
|
|
21
|
+
/**
|
|
22
|
+
* WebSocket adapter instance for handling real-time communications
|
|
23
|
+
*/
|
|
24
|
+
websocketAdapter;
|
|
32
25
|
/**
|
|
33
26
|
* Creates a new adapter instance
|
|
34
27
|
* @param websocketAdapter - WebSocket adapter implementation
|
|
35
28
|
* @param logger - Optional custom logger implementation
|
|
36
29
|
*/
|
|
37
|
-
constructor(
|
|
38
|
-
this.
|
|
39
|
-
if (
|
|
40
|
-
this.
|
|
41
|
-
if (!this.websocketAdapter.logger) {
|
|
42
|
-
this.websocketAdapter.logger = logger;
|
|
43
|
-
}
|
|
30
|
+
constructor(logger, websocketAdapter) {
|
|
31
|
+
this.logger = logger;
|
|
32
|
+
if (websocketAdapter) {
|
|
33
|
+
this.websocketAdapter = websocketAdapter;
|
|
44
34
|
}
|
|
45
35
|
}
|
|
46
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsenaAdapter.js","sourceRoot":"","sources":["../../../lib/adapter/AsenaAdapter.ts"],"names":[],"mappings":"AAMA
|
|
1
|
+
{"version":3,"file":"AsenaAdapter.js","sourceRoot":"","sources":["../../../lib/adapter/AsenaAdapter.ts"],"names":[],"mappings":"AAMA;;;;;;GAMG;AACH,MAAM,OAAgB,YAAY;IAEhC;;OAEG;IACa,IAAI,CAAS;IAE7B;;OAEG;IACO,IAAI,CAAS;IAEvB;;OAEG;IACO,MAAM,GAAiB,OAAO,CAAC;IAEzC;;OAEG;IACO,gBAAgB,CAAwB;IAElD;;;;OAIG;IACH,YAAsB,MAAoB,EAAE,gBAAwC;QAClF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,gBAAgB,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC3C,CAAC;IACH,CAAC;CAwDF"}
|
|
@@ -6,7 +6,7 @@ import type { CookieExtra, SendOptions } from './types';
|
|
|
6
6
|
* @template R - Type parameter for the underlying request object
|
|
7
7
|
* @template S - Type parameter for the underlying response object
|
|
8
8
|
*/
|
|
9
|
-
export interface AsenaContext<R, S> {
|
|
9
|
+
export interface AsenaContext<R, S extends Response> {
|
|
10
10
|
/** The original request object */
|
|
11
11
|
req: R;
|
|
12
12
|
/** The original response object */
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import type { AsenaWebSocketService, WSOptions } from '../server/web/websocket';
|
|
2
2
|
import type { WebSocketHandler } from 'bun';
|
|
3
|
-
import type {
|
|
3
|
+
import type { WebSocketRegistry } from './types';
|
|
4
4
|
import type { ServerLogger } from '../logger';
|
|
5
|
-
import type { AsenaContext } from './AsenaContext';
|
|
6
5
|
/**
|
|
7
6
|
* Abstract class that provides a base implementation for WebSocket adapters.
|
|
8
7
|
* Handles WebSocket connections, registration, and management.
|
|
9
8
|
*
|
|
10
|
-
* @template A - Type of the
|
|
11
|
-
* @template R - Type of the request object
|
|
12
|
-
* @template S - Type of the response object
|
|
9
|
+
* @template A - Type of the Adapter object
|
|
13
10
|
*/
|
|
14
|
-
export declare abstract class AsenaWebsocketAdapter
|
|
11
|
+
export declare abstract class AsenaWebsocketAdapter {
|
|
15
12
|
readonly name: string;
|
|
16
13
|
/**
|
|
17
14
|
* Registry containing WebSocket services and their configurations
|
|
@@ -22,12 +19,7 @@ export declare abstract class AsenaWebsocketAdapter<A, C extends AsenaContext<an
|
|
|
22
19
|
* - middlewares: Array of middleware functions
|
|
23
20
|
* @protected
|
|
24
21
|
*/
|
|
25
|
-
protected _websockets: WebSocketRegistry
|
|
26
|
-
/**
|
|
27
|
-
* Reference to the main application instance
|
|
28
|
-
* @private
|
|
29
|
-
*/
|
|
30
|
-
private _app;
|
|
22
|
+
protected _websockets: WebSocketRegistry;
|
|
31
23
|
/**
|
|
32
24
|
* WebSocket handler instance for managing connections
|
|
33
25
|
* @private
|
|
@@ -40,41 +32,32 @@ export declare abstract class AsenaWebsocketAdapter<A, C extends AsenaContext<an
|
|
|
40
32
|
private _logger;
|
|
41
33
|
/**
|
|
42
34
|
* Initializes a new WebSocket adapter instance
|
|
43
|
-
* @param
|
|
35
|
+
* @param logger - Logger instance for WebSocket-related logging
|
|
44
36
|
*/
|
|
45
|
-
protected constructor(
|
|
37
|
+
protected constructor(logger: ServerLogger);
|
|
46
38
|
/**
|
|
47
39
|
* Registers a new WebSocket service with associated middlewares
|
|
48
40
|
* @param websocket - WebSocket service instance to register
|
|
49
|
-
* @param middlewares - Array of middleware functions to be executed during connection upgrade
|
|
50
41
|
*/
|
|
51
|
-
abstract registerWebSocket(websocket: AsenaWebSocketService<any
|
|
42
|
+
abstract registerWebSocket(websocket: AsenaWebSocketService<any>): Promise<void> | void;
|
|
52
43
|
/**
|
|
53
44
|
* Configures and initializes the WebSocket server with provided options
|
|
54
45
|
* @param wsOptions - Configuration options for the WebSocket server
|
|
55
46
|
*/
|
|
56
|
-
abstract
|
|
47
|
+
abstract prepareWebSocket(wsOptions?: WSOptions): Promise<void> | void;
|
|
57
48
|
/**
|
|
58
49
|
* Starts the WebSocket server on the provided HTTP/S server instance
|
|
59
50
|
* @param server - HTTP/S server instance to attach the WebSocket server to
|
|
60
51
|
*/
|
|
61
52
|
abstract startWebsocket(server: any): Promise<void> | void;
|
|
62
|
-
/**
|
|
63
|
-
* Gets the application instance
|
|
64
|
-
*/
|
|
65
|
-
get app(): A;
|
|
66
|
-
/**
|
|
67
|
-
* Sets the application instance
|
|
68
|
-
*/
|
|
69
|
-
set app(value: A);
|
|
70
53
|
/**
|
|
71
54
|
* Gets the WebSocket registry
|
|
72
55
|
*/
|
|
73
|
-
protected get websockets(): WebSocketRegistry
|
|
56
|
+
protected get websockets(): WebSocketRegistry;
|
|
74
57
|
/**
|
|
75
58
|
* Sets the WebSocket registry
|
|
76
59
|
*/
|
|
77
|
-
protected set websockets(value: WebSocketRegistry
|
|
60
|
+
protected set websockets(value: WebSocketRegistry);
|
|
78
61
|
/**
|
|
79
62
|
* Gets the WebSocket handler
|
|
80
63
|
*/
|
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
* Abstract class that provides a base implementation for WebSocket adapters.
|
|
3
3
|
* Handles WebSocket connections, registration, and management.
|
|
4
4
|
*
|
|
5
|
-
* @template A - Type of the
|
|
6
|
-
* @template R - Type of the request object
|
|
7
|
-
* @template S - Type of the response object
|
|
5
|
+
* @template A - Type of the Adapter object
|
|
8
6
|
*/
|
|
9
7
|
export class AsenaWebsocketAdapter {
|
|
10
8
|
name;
|
|
@@ -18,11 +16,6 @@ export class AsenaWebsocketAdapter {
|
|
|
18
16
|
* @protected
|
|
19
17
|
*/
|
|
20
18
|
_websockets;
|
|
21
|
-
/**
|
|
22
|
-
* Reference to the main application instance
|
|
23
|
-
* @private
|
|
24
|
-
*/
|
|
25
|
-
_app;
|
|
26
19
|
/**
|
|
27
20
|
* WebSocket handler instance for managing connections
|
|
28
21
|
* @private
|
|
@@ -35,24 +28,10 @@ export class AsenaWebsocketAdapter {
|
|
|
35
28
|
_logger = console;
|
|
36
29
|
/**
|
|
37
30
|
* Initializes a new WebSocket adapter instance
|
|
38
|
-
* @param
|
|
39
|
-
*/
|
|
40
|
-
constructor(params) {
|
|
41
|
-
this._app = params?.app;
|
|
42
|
-
this._logger = params?.logger;
|
|
43
|
-
}
|
|
44
|
-
// Getters and Setters with improved documentation
|
|
45
|
-
/**
|
|
46
|
-
* Gets the application instance
|
|
47
|
-
*/
|
|
48
|
-
get app() {
|
|
49
|
-
return this._app;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Sets the application instance
|
|
31
|
+
* @param logger - Logger instance for WebSocket-related logging
|
|
53
32
|
*/
|
|
54
|
-
|
|
55
|
-
this.
|
|
33
|
+
constructor(logger) {
|
|
34
|
+
this._logger = logger;
|
|
56
35
|
}
|
|
57
36
|
/**
|
|
58
37
|
* Gets the WebSocket registry
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsenaWebsocketAdapter.js","sourceRoot":"","sources":["../../../lib/adapter/AsenaWebsocketAdapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AsenaWebsocketAdapter.js","sourceRoot":"","sources":["../../../lib/adapter/AsenaWebsocketAdapter.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,MAAM,OAAgB,qBAAqB;IAEzB,IAAI,CAAS;IAE7B;;;;;;;;OAQG;IACO,WAAW,CAAoB;IAEzC;;;OAGG;IACK,UAAU,CAAmB;IAErC;;;OAGG;IACK,OAAO,GAAiB,OAAO,CAAC;IAExC;;;OAGG;IACH,YAAsB,MAAoB;QACxC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAoBD;;OAEG;IACH,IAAc,UAAU;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAc,UAAU,CAAC,KAAwB;QAC/C,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAW,SAAS,CAAC,KAAuB;QAC1C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAW,MAAM,CAAC,KAAmB;QACnC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;CAEF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { HttpMethod } from '../../server/web/types';
|
|
2
2
|
import type { AsenaContext } from '../index';
|
|
3
|
-
import type { MiddlewareClass, ValidatorClass } from
|
|
3
|
+
import type { MiddlewareClass, StaticServeClass, ValidatorClass } from '../../server/web/middleware';
|
|
4
4
|
/**
|
|
5
5
|
* Interface representing a route configuration.
|
|
6
6
|
*
|
|
@@ -30,7 +30,7 @@ export interface ApiParams<C extends AsenaContext<any, any> = any, SH = unknown>
|
|
|
30
30
|
/** An array of middleware classes to be applied to the route. */
|
|
31
31
|
middlewares: MiddlewareClass<C>[];
|
|
32
32
|
/** A flag indicating whether to serve static files. */
|
|
33
|
-
staticServe:
|
|
33
|
+
staticServe: StaticServeClass;
|
|
34
34
|
/** The validator class for request validation. */
|
|
35
35
|
validator: ValidatorClass<SH>;
|
|
36
36
|
}
|
|
@@ -65,7 +65,7 @@ export interface ControllerDecoratorParams<C extends AsenaContext<any, any> = an
|
|
|
65
65
|
/**
|
|
66
66
|
* Optional flag to serve static files.
|
|
67
67
|
*/
|
|
68
|
-
staticServe?:
|
|
68
|
+
staticServe?: StaticServeClass;
|
|
69
69
|
/**
|
|
70
70
|
* Optional validator class for request validation.
|
|
71
71
|
*/
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AsenaContext } from '../AsenaContext';
|
|
2
|
+
export interface BaseStaticServeParams<C extends AsenaContext<any, any> = any, E = any> {
|
|
3
|
+
extra: E;
|
|
4
|
+
root: string;
|
|
5
|
+
rewriteRequestPath: (path: string) => string;
|
|
6
|
+
onFound: AsenaStaticServeHandler<C>;
|
|
7
|
+
onNotFound: AsenaStaticServeHandler<C>;
|
|
8
|
+
}
|
|
9
|
+
export interface AsenaStaticServeHandler<C extends AsenaContext<any, any>> {
|
|
10
|
+
handler: (path: string, c: C) => Promise<void> | void;
|
|
11
|
+
override: boolean;
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseStaticServeParams.js","sourceRoot":"","sources":["../../../../lib/adapter/types/BaseStaticServeParams.ts"],"names":[],"mappings":""}
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
import type { HttpMethod } from '../../server/web/types';
|
|
2
2
|
import type { AsenaHandler } from './AsenaHandler';
|
|
3
3
|
import type { AsenaContext } from '../AsenaContext';
|
|
4
|
-
import type { BaseMiddleware, BaseValidator } from
|
|
5
|
-
|
|
4
|
+
import type { BaseMiddleware, BaseValidator } from './BaseMiddleware';
|
|
5
|
+
import type { AsenaWebSocketService } from '../../server/web/websocket';
|
|
6
|
+
import type { BaseStaticServeParams } from './BaseStaticServeParams';
|
|
7
|
+
export interface RouteParams<C extends AsenaContext<any, any>, VS, E = any> {
|
|
6
8
|
method: HttpMethod;
|
|
7
9
|
path: string;
|
|
8
|
-
|
|
10
|
+
middlewares: BaseMiddleware<C>[];
|
|
9
11
|
handler: AsenaHandler<C>;
|
|
10
|
-
staticServe:
|
|
12
|
+
staticServe: BaseStaticServeParams<C, E>;
|
|
11
13
|
validator: BaseValidator<VS>;
|
|
12
14
|
}
|
|
15
|
+
export interface WebsocketRouteParams<C extends AsenaContext<any, any>> {
|
|
16
|
+
path: string;
|
|
17
|
+
middlewares: BaseMiddleware<C>[];
|
|
18
|
+
websocketService: AsenaWebSocketService<any>;
|
|
19
|
+
}
|
|
@@ -1,8 +1,2 @@
|
|
|
1
1
|
import type { AsenaWebSocketService } from '../../server/web/websocket';
|
|
2
|
-
|
|
3
|
-
import type { BaseMiddleware } from "./BaseMiddleware";
|
|
4
|
-
export interface WebsocketServiceRegistry<C extends AsenaContext<any, any>> {
|
|
5
|
-
socket: AsenaWebSocketService<any>;
|
|
6
|
-
middlewares: BaseMiddleware<C>[];
|
|
7
|
-
}
|
|
8
|
-
export type WebSocketRegistry<C extends AsenaContext<any, any> = any> = Map<string, WebsocketServiceRegistry<C>>;
|
|
2
|
+
export type WebSocketRegistry = Map<string, AsenaWebSocketService<any>>;
|
|
@@ -3,9 +3,9 @@ export * from './CookieExtra';
|
|
|
3
3
|
export * from './ErrorHandler';
|
|
4
4
|
export * from './RouteParams';
|
|
5
5
|
export * from './SendOptions';
|
|
6
|
-
export * from './WebsocketAdapterParams';
|
|
7
6
|
export * from './WebSocketRegistry';
|
|
8
7
|
export * from './ServeOptions';
|
|
9
8
|
export * from "./BaseMiddleware";
|
|
10
9
|
export * from "./ApiParams";
|
|
11
10
|
export * from "./AsenaHandler";
|
|
11
|
+
export * from "./BaseStaticServeParams";
|
|
@@ -3,10 +3,10 @@ export * from './CookieExtra';
|
|
|
3
3
|
export * from './ErrorHandler';
|
|
4
4
|
export * from './RouteParams';
|
|
5
5
|
export * from './SendOptions';
|
|
6
|
-
export * from './WebsocketAdapterParams';
|
|
7
6
|
export * from './WebSocketRegistry';
|
|
8
7
|
export * from './ServeOptions';
|
|
9
8
|
export * from "./BaseMiddleware";
|
|
10
9
|
export * from "./ApiParams";
|
|
11
10
|
export * from "./AsenaHandler";
|
|
11
|
+
export * from "./BaseStaticServeParams";
|
|
12
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/adapter/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/adapter/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,yBAAyB,CAAA"}
|
|
@@ -92,7 +92,15 @@ export class Container {
|
|
|
92
92
|
continue;
|
|
93
93
|
}
|
|
94
94
|
for (const postConstruct of postConstructs) {
|
|
95
|
-
|
|
95
|
+
try {
|
|
96
|
+
await newInstance[postConstruct]();
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
console.log('Error in post construct, exiting process');
|
|
100
|
+
console.error(error);
|
|
101
|
+
// then exit the process
|
|
102
|
+
process.exit(1);
|
|
103
|
+
}
|
|
96
104
|
}
|
|
97
105
|
}
|
|
98
106
|
}
|
|
@@ -153,9 +161,7 @@ export class Container {
|
|
|
153
161
|
getPrototypeChain(Class) {
|
|
154
162
|
const chain = [];
|
|
155
163
|
let currentClass = Class;
|
|
156
|
-
while (currentClass &&
|
|
157
|
-
currentClass !== Object.prototype &&
|
|
158
|
-
!currentClass.toString().includes('[native code]')) {
|
|
164
|
+
while (currentClass && currentClass !== Object.prototype && !currentClass.toString().includes('[native code]')) {
|
|
159
165
|
chain.push(currentClass);
|
|
160
166
|
currentClass = Object.getPrototypeOf(currentClass);
|
|
161
167
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../lib/ioc/Container.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Container.js","sourceRoot":"","sources":["../../../lib/ioc/Container.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Scope } from './types';
|
|
2
1
|
import { Container } from './Container';
|
|
3
2
|
import { getAllFiles } from './helper/fileHelper';
|
|
4
3
|
import * as path from 'node:path';
|
|
@@ -7,6 +6,7 @@ import * as process from 'node:process';
|
|
|
7
6
|
import * as console from 'node:console';
|
|
8
7
|
import { getStrategyClass } from './helper/iocHelper';
|
|
9
8
|
import { getOwnTypedMetadata, getTypedMetadata } from '../utils/typedMetadata';
|
|
9
|
+
import { Scope } from './component';
|
|
10
10
|
export class IocEngine {
|
|
11
11
|
_container;
|
|
12
12
|
injectables = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IocEngine.js","sourceRoot":"","sources":["../../../lib/ioc/IocEngine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"IocEngine.js","sourceRoot":"","sources":["../../../lib/ioc/IocEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Scope.js","sourceRoot":"","sources":["../../../../lib/ioc/component/Scope.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,KAGX;AAHD,WAAY,KAAK;IACf,2CAAS,CAAA;IACT,2CAAS,CAAA;AACX,CAAC,EAHW,KAAK,KAAL,KAAK,QAGhB"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { ComponentType
|
|
1
|
+
import { ComponentType } from '../types';
|
|
2
2
|
import { ComponentConstants } from '../constants';
|
|
3
3
|
import { defineTypedMetadata, getOwnTypedMetadata } from '../../utils/typedMetadata';
|
|
4
|
+
import { Scope } from './Scope';
|
|
4
5
|
export const defineComponent = (componentType, params, extra) => {
|
|
5
6
|
return (target) => {
|
|
6
7
|
const { scope = Scope.SINGLETON, name = target.name } = paramsGenerator(params, componentType);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentUtils.js","sourceRoot":"","sources":["../../../../lib/ioc/component/componentUtils.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"componentUtils.js","sourceRoot":"","sources":["../../../../lib/ioc/component/componentUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,aAAa,EAA0D,MAAM,UAAU,CAAC;AACvH,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,CACtB,MAAgC,EAChC,aAA4B,EACK,EAAE;IACnC,MAAM,YAAY,GAAoC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAE5F,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,CAAC,aAAa,KAAK,aAAa,CAAC,UAAU,IAAI,aAAa,KAAK,aAAa,CAAC,SAAS,CAAC,EACzF,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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ComponentConstants } from '../../constants';
|
|
2
|
-
import { defineTypedMetadata, getOwnTypedMetadata } from '../../../utils/typedMetadata';
|
|
2
|
+
import { defineTypedMetadata, getOwnTypedMetadata, getTypedMetadata } from '../../../utils/typedMetadata';
|
|
3
3
|
/**
|
|
4
4
|
* Property decorator to inject a dependency.
|
|
5
5
|
*
|
|
@@ -11,7 +11,8 @@ export const Inject = (Injection, expression) => {
|
|
|
11
11
|
return (target, propertyKey) => {
|
|
12
12
|
const dependencies = getOwnTypedMetadata(ComponentConstants.DependencyKey, target.constructor) || {};
|
|
13
13
|
if (!dependencies[propertyKey]) {
|
|
14
|
-
dependencies[propertyKey] =
|
|
14
|
+
dependencies[propertyKey] =
|
|
15
|
+
typeof Injection === 'string' ? Injection : getTypedMetadata(ComponentConstants.NameKey, Injection);
|
|
15
16
|
}
|
|
16
17
|
defineTypedMetadata(ComponentConstants.DependencyKey, dependencies, target.constructor);
|
|
17
18
|
if (expression) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Inject.js","sourceRoot":"","sources":["../../../../../lib/ioc/component/decorators/Inject.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"Inject.js","sourceRoot":"","sources":["../../../../../lib/ioc/component/decorators/Inject.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAE1G;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,SAAyB,EAAE,UAAwC,EAAqB,EAAE;IAC/G,OAAO,CAAC,MAAc,EAAE,WAAmB,EAAQ,EAAE;QACnD,MAAM,YAAY,GAChB,mBAAmB,CAAe,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAEhG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/B,YAAY,CAAC,WAAW,CAAC;gBACvB,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAS,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChH,CAAC;QAED,mBAAmB,CAAe,kBAAkB,CAAC,aAAa,EAAE,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAEtG,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,WAAW,GACf,mBAAmB,CAAc,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAE/F,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9B,WAAW,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;YACxC,CAAC;YAED,mBAAmB,CAAc,kBAAkB,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACtG,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ComponentConstants } from '../../constants';
|
|
2
|
-
import { defineTypedMetadata, getOwnTypedMetadata } from '../../../utils/typedMetadata';
|
|
2
|
+
import { defineTypedMetadata, getOwnTypedMetadata, getTypedMetadata } from '../../../utils/typedMetadata';
|
|
3
3
|
/**
|
|
4
4
|
* Property decorator to define a strategy.
|
|
5
5
|
*
|
|
@@ -11,7 +11,7 @@ export const Strategy = (Injection, expression) => {
|
|
|
11
11
|
return (target, propertyKey) => {
|
|
12
12
|
const strategies = getOwnTypedMetadata(ComponentConstants.StrategyKey, target.constructor) || {};
|
|
13
13
|
defineTypedMetadata('design:type', Injection, target.constructor, propertyKey);
|
|
14
|
-
const injectionName = typeof Injection === 'string' ? Injection : Injection
|
|
14
|
+
const injectionName = typeof Injection === 'string' ? Injection : getTypedMetadata(ComponentConstants.NameKey, Injection);
|
|
15
15
|
if (!strategies[propertyKey]) {
|
|
16
16
|
strategies[propertyKey] = injectionName;
|
|
17
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Strategy.js","sourceRoot":"","sources":["../../../../../lib/ioc/component/decorators/Strategy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"Strategy.js","sourceRoot":"","sources":["../../../../../lib/ioc/component/decorators/Strategy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAE1G;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,SAAyB,EAAE,UAAmC,EAAqB,EAAE;IAC5G,OAAO,CAAC,MAAc,EAAE,WAAmB,EAAE,EAAE;QAC7C,MAAM,UAAU,GACd,mBAAmB,CAAa,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAE5F,mBAAmB,CAAiB,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAE/F,MAAM,aAAa,GACjB,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAS,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAE9G,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,UAAU,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC;QAC1C,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,WAAW,GACf,mBAAmB,CAAc,kBAAkB,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAE/F,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC9B,WAAW,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC;YACxC,CAAC;YAED,mBAAmB,CAAc,kBAAkB,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACtG,CAAC;QAED,mBAAmB,CAAa,kBAAkB,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAClG,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/ioc/component/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/ioc/component/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAA"}
|
|
@@ -18,5 +18,6 @@ export var ComponentConstants;
|
|
|
18
18
|
ComponentConstants["OverrideKey"] = "_IOverride";
|
|
19
19
|
ComponentConstants["ExpressionKey"] = "_IExpression";
|
|
20
20
|
ComponentConstants["ValidatorKey"] = "_IValidator";
|
|
21
|
+
ComponentConstants["StaticServeRootKey"] = "_IStaticServeRoot";
|
|
21
22
|
})(ComponentConstants || (ComponentConstants = {}));
|
|
22
23
|
//# sourceMappingURL=ComponentConstants.js.map
|