@asenajs/asena 0.2.1 → 0.3.1
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 +28 -32
- 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 +2 -4
- package/dist/lib/ioc/Container.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/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 +43 -92
- 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 +35 -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/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 +30 -33
- 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/logger/DefaultLogger.d.ts +0 -15
- package/dist/lib/logger/DefaultLogger.js +0 -31
- package/dist/lib/logger/DefaultLogger.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# Asena
|
|
2
2
|
|
|
3
|
-
Asena is a NestJS-like IoC web framework built on top of
|
|
3
|
+
Asena is a NestJS-like IoC web framework built on top of Bun. It combines the power of dependency injection
|
|
4
4
|
with the performance of Bun runtime and the flexibility of Adapter design system.
|
|
5
5
|
|
|
6
6
|
## Documentation
|
|
7
7
|
|
|
8
|
-
For detailed documentation, please visit [not ready yet](https://asena.sh). Documentation is still in progress, but updates are being made regularly.
|
|
8
|
+
For detailed documentation, please visit [not ready yet](https://asena.sh). Documentation is still in progress, but updates are being made regularly. You can check this project [AsenaExample](https://github.com/LibirSoft/AsenaExample). I am always updating it to latest usages.
|
|
9
9
|
|
|
10
10
|
## Key Features
|
|
11
11
|
|
|
@@ -19,12 +19,6 @@ For detailed documentation, please visit [not ready yet](https://asena.sh). Docu
|
|
|
19
19
|
- **TypeScript Support**: Full TypeScript support with strict mode
|
|
20
20
|
- **Modular Architecture**: Easy to extend and customize
|
|
21
21
|
|
|
22
|
-
## Installation
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
bun add @asenajs/asena
|
|
26
|
-
```
|
|
27
|
-
|
|
28
22
|
## Quick Start
|
|
29
23
|
|
|
30
24
|
The easiest way to create a new Asena project is using the CLI:
|
|
@@ -36,6 +30,7 @@ asena create
|
|
|
36
30
|
```
|
|
37
31
|
|
|
38
32
|
This will create a new project with the following structure:
|
|
33
|
+
|
|
39
34
|
```
|
|
40
35
|
├── src/
|
|
41
36
|
│ ├── controllers/
|
|
@@ -47,6 +42,8 @@ This will create a new project with the following structure:
|
|
|
47
42
|
├── .eslintignore
|
|
48
43
|
└── .prettierrc.js
|
|
49
44
|
```
|
|
45
|
+
## Alternative start
|
|
46
|
+
|
|
50
47
|
|
|
51
48
|
Alternatively, you can create a project manually:
|
|
52
49
|
|
|
@@ -89,24 +86,26 @@ For decorators working properly, you need to add some settings to your tsconfig.
|
|
|
89
86
|
}
|
|
90
87
|
}
|
|
91
88
|
```
|
|
92
|
-
|
|
93
|
-
Then, install
|
|
94
|
-
|
|
89
|
+
After that you need to make sure to edit your tsConfig.json it should look like this
|
|
90
|
+
Then, install these packages:
|
|
91
|
+
* `@asenajs/asena`: Base package
|
|
92
|
+
* `@asenajs/hono-adapter`: For web-server. Asena currently only support hono adapter.
|
|
93
|
+
* `@asenajs/asena-logger`: For better logs
|
|
95
94
|
```bash
|
|
96
|
-
bun
|
|
95
|
+
bun install @asenajs/asena @asenajs/hono-adapter @asenajs/asena-logger
|
|
97
96
|
```
|
|
98
97
|
|
|
99
|
-
|
|
98
|
+
* `@asenajs/asena-cli`: This package provides a CLI for creating and managing Asena projects.
|
|
100
99
|
|
|
101
100
|
```bash
|
|
102
|
-
bun
|
|
101
|
+
bun install -D @asenajs/asena-cli
|
|
103
102
|
```
|
|
104
|
-
|
|
105
|
-
Then, create a new asena-config.ts file using the CLI:
|
|
103
|
+
After installation, you need to create asena-config.ts file you can create it with asena-cli
|
|
106
104
|
|
|
107
105
|
```bash
|
|
108
106
|
asena init
|
|
109
107
|
```
|
|
108
|
+
this will create you asena-config file.
|
|
110
109
|
|
|
111
110
|
`Note`: Built options directly copy of bun options, you can check bun documentation for more
|
|
112
111
|
options. [Bun Documentation](https://bun.sh/docs/bundler#reference)
|
|
@@ -115,15 +114,14 @@ Create index.ts file under your src folder:
|
|
|
115
114
|
|
|
116
115
|
```typescript
|
|
117
116
|
// src/index.ts
|
|
118
|
-
import {
|
|
119
|
-
import {
|
|
120
|
-
import {
|
|
121
|
-
|
|
122
|
-
const [
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
.start(true);
|
|
117
|
+
import {AsenaServer} from '@asenajs/asena';
|
|
118
|
+
import {createHonoAdapter} from '@asenajs/hono-adapter';
|
|
119
|
+
import {logger} from './logger/logger';
|
|
120
|
+
|
|
121
|
+
const [honoAdapter,asenaLogger] = createHonoAdapter(logger);
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
await new AsenaServer(honoAdapter, asenaLogger).port(3000).start();
|
|
127
125
|
```
|
|
128
126
|
|
|
129
127
|
To run asena you need at least one controller. Create a new controller:
|
|
@@ -136,10 +134,10 @@ import { Get } from '@asenajs/asena/web';
|
|
|
136
134
|
|
|
137
135
|
@Controller('/hello')
|
|
138
136
|
export class TestController {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
137
|
+
@Get('/world')
|
|
138
|
+
public async getHello(context: Context) {
|
|
139
|
+
return context.send('Hello World');
|
|
140
|
+
}
|
|
143
141
|
}
|
|
144
142
|
```
|
|
145
143
|
|
|
@@ -160,8 +158,7 @@ bun index.asena.js
|
|
|
160
158
|
## CLI Commands
|
|
161
159
|
|
|
162
160
|
For more information about CLI commands and usage, please visit:
|
|
163
|
-
[Asena CLI Documentation](https://
|
|
164
|
-
|
|
161
|
+
[Asena CLI Documentation](https://asena.sh/docs/cli/overview.html)
|
|
165
162
|
|
|
166
163
|
## Project Structure
|
|
167
164
|
|
|
@@ -172,7 +169,6 @@ lib/
|
|
|
172
169
|
├── ioc/ # Dependency injection container
|
|
173
170
|
├── utils/ # Utility functions
|
|
174
171
|
├── test/ # Test utilities
|
|
175
|
-
└── logger/ # Logging system
|
|
176
172
|
```
|
|
177
173
|
|
|
178
174
|
## Core Concepts
|
|
@@ -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"}
|
|
@@ -96,7 +96,7 @@ export class Container {
|
|
|
96
96
|
await newInstance[postConstruct]();
|
|
97
97
|
}
|
|
98
98
|
catch (error) {
|
|
99
|
-
console.log(
|
|
99
|
+
console.log('Error in post construct, exiting process');
|
|
100
100
|
console.error(error);
|
|
101
101
|
// then exit the process
|
|
102
102
|
process.exit(1);
|
|
@@ -161,9 +161,7 @@ export class Container {
|
|
|
161
161
|
getPrototypeChain(Class) {
|
|
162
162
|
const chain = [];
|
|
163
163
|
let currentClass = Class;
|
|
164
|
-
while (currentClass &&
|
|
165
|
-
currentClass !== Object.prototype &&
|
|
166
|
-
!currentClass.toString().includes('[native code]')) {
|
|
164
|
+
while (currentClass && currentClass !== Object.prototype && !currentClass.toString().includes('[native code]')) {
|
|
167
165
|
chain.push(currentClass);
|
|
168
166
|
currentClass = Object.getPrototypeOf(currentClass);
|
|
169
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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"}
|
|
@@ -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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentConstants.js","sourceRoot":"","sources":["../../../../lib/ioc/constants/ComponentConstants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"ComponentConstants.js","sourceRoot":"","sources":["../../../../lib/ioc/constants/ComponentConstants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,kBAiBX;AAjBD,WAAY,kBAAkB;IAC5B,4CAAsB,CAAA;IACtB,sDAAgC,CAAA;IAChC,8DAAwC,CAAA;IACxC,0DAAoC,CAAA;IACpC,0CAAoB,CAAA;IACpB,wCAAkB,CAAA;IAClB,gDAA0B,CAAA;IAC1B,iDAA2B,CAAA;IAC3B,wCAAkB,CAAA;IAClB,sDAAgC,CAAA;IAChC,wCAAkB,CAAA;IAClB,kDAA4B,CAAA;IAC5B,gDAA0B,CAAA;IAC1B,oDAA8B,CAAA;IAC9B,kDAA4B,CAAA;IAC5B,8DAAwC,CAAA;AAC1C,CAAC,EAjBW,kBAAkB,KAAlB,kBAAkB,QAiB7B"}
|
|
@@ -1,6 +1,2 @@
|
|
|
1
1
|
import type { InjectableComponent } from '../types';
|
|
2
|
-
|
|
3
|
-
[key: string]: string;
|
|
4
|
-
}
|
|
5
|
-
export declare const getStrategyClass: (interfaceNames: StringMap, injectables: InjectableComponent[]) => string[];
|
|
6
|
-
export {};
|
|
2
|
+
export declare const getStrategyClass: (interfaceNames: Record<string, string>, injectables: InjectableComponent[]) => string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iocHelper.js","sourceRoot":"","sources":["../../../../lib/ioc/helper/iocHelper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"iocHelper.js","sourceRoot":"","sources":["../../../../lib/ioc/helper/iocHelper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,uBAAuB;AACvB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,cAAsC,EACtC,WAAkC,EACxB,EAAE;IACZ,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAE/B,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAEjD,OAAO,WAAW;SACf,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;SACjE,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAAS,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AACjG,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const green = (message) => `\x1b[32m${message}\x1b[0m`;
|
|
2
|
+
export const red = (message) => `\x1b[31m${message}\x1b[0m`;
|
|
3
|
+
export const yellow = (message) => `\x1b[33m${message}\x1b[0m`;
|
|
4
|
+
export const blue = (message) => `\x1b[34m${message}\x1b[0m`;
|
|
5
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../lib/logger/defaults.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,WAAW,OAAO,SAAS,CAAC;AAEtE,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,WAAW,OAAO,SAAS,CAAC;AAEpE,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,WAAW,OAAO,SAAS,CAAC;AAEvE,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,WAAW,OAAO,SAAS,CAAC"}
|