@asenajs/asena 0.1.18 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +90 -147
- package/dist/index.d.ts +0 -9
- package/dist/index.js +0 -9
- package/dist/index.js.map +1 -1
- package/dist/lib/adapter/AsenaAdapter.d.ts +46 -54
- package/dist/lib/adapter/AsenaAdapter.js +22 -11
- package/dist/lib/adapter/AsenaAdapter.js.map +1 -1
- package/dist/lib/adapter/AsenaContext.d.ts +67 -57
- package/dist/lib/adapter/AsenaWebsocketAdapter.d.ts +57 -34
- package/dist/lib/adapter/AsenaWebsocketAdapter.js +43 -12
- package/dist/lib/adapter/AsenaWebsocketAdapter.js.map +1 -1
- 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/ApiParams.d.ts +73 -0
- package/dist/lib/adapter/types/ApiParams.js +2 -0
- package/dist/lib/adapter/types/ApiParams.js.map +1 -0
- 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/BaseMiddleware.d.ts +57 -0
- package/dist/lib/adapter/types/BaseMiddleware.js +2 -0
- package/dist/lib/adapter/types/BaseMiddleware.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 +8 -5
- 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 +6 -0
- package/dist/lib/adapter/types/index.js +6 -0
- package/dist/lib/adapter/types/index.js.map +1 -1
- package/dist/lib/ioc/Container.d.ts +8 -3
- package/dist/lib/ioc/Container.js +100 -76
- package/dist/lib/ioc/Container.js.map +1 -1
- package/dist/lib/ioc/IocEngine.d.ts +2 -2
- package/dist/lib/ioc/IocEngine.js +28 -16
- 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/config/index.d.ts +1 -0
- package/dist/lib/server/config/index.js +2 -0
- package/dist/lib/server/config/index.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/types/Class.d.ts +0 -3
- package/dist/lib/server/types/index.d.ts +2 -2
- package/dist/lib/server/types/index.js +2 -2
- package/dist/lib/server/types/index.js.map +1 -1
- 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 +8 -2
- 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/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/HttpMethod.js.map +1 -0
- package/dist/lib/server/web/types/HttpStatus.d.ts +79 -0
- package/dist/lib/server/web/types/HttpStatus.js +85 -0
- package/dist/lib/server/web/types/HttpStatus.js.map +1 -0
- package/dist/lib/server/web/types/index.d.ts +2 -2
- package/dist/lib/server/web/types/index.js +2 -2
- package/dist/lib/server/web/types/index.js.map +1 -1
- package/dist/lib/server/web/websocket/AsenaSocket.d.ts +1 -0
- package/dist/lib/server/web/websocket/AsenaSocket.js +4 -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 +41 -1
- 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/server/web/websocket/index.d.ts +1 -0
- package/dist/lib/server/web/websocket/index.js +1 -0
- package/dist/lib/server/web/websocket/index.js.map +1 -1
- package/dist/lib/utils/typedMetadata.d.ts +3 -0
- package/dist/lib/utils/typedMetadata.js +16 -0
- package/dist/lib/utils/typedMetadata.js.map +1 -0
- package/package.json +55 -6
- package/dist/lib/adapter/defaultAdapter/DefaultAdapter.d.ts +0 -26
- package/dist/lib/adapter/defaultAdapter/DefaultAdapter.js +0 -92
- package/dist/lib/adapter/defaultAdapter/DefaultAdapter.js.map +0 -1
- package/dist/lib/adapter/defaultAdapter/DefaultContextWrapper.d.ts +0 -32
- package/dist/lib/adapter/defaultAdapter/DefaultContextWrapper.js +0 -97
- package/dist/lib/adapter/defaultAdapter/DefaultContextWrapper.js.map +0 -1
- package/dist/lib/adapter/defaultAdapter/DefaultWebsocketAdapter.d.ts +0 -15
- package/dist/lib/adapter/defaultAdapter/DefaultWebsocketAdapter.js +0 -77
- 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.d.ts +0 -3
- 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/http/HttpMethod.js.map +0 -1
- package/dist/lib/server/web/http/HttpStatus.d.ts +0 -77
- package/dist/lib/server/web/http/HttpStatus.js +0 -84
- package/dist/lib/server/web/http/HttpStatus.js.map +0 -1
- package/dist/lib/server/web/http/index.d.ts +0 -2
- package/dist/lib/server/web/http/index.js +0 -3
- package/dist/lib/server/web/http/index.js.map +0 -1
- package/dist/lib/server/web/types/ApiHandler.d.ts +0 -22
- package/dist/lib/server/web/types/ApiHandler.js +0 -2
- package/dist/lib/server/web/types/ApiHandler.js.map +0 -1
- package/dist/lib/server/web/types/BaseMiddleware.d.ts +0 -12
- package/dist/lib/server/web/types/BaseMiddleware.js +0 -2
- package/dist/lib/server/web/types/BaseMiddleware.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/{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
- /package/dist/lib/server/web/{http → types}/HttpMethod.d.ts +0 -0
- /package/dist/lib/server/web/{http → types}/HttpMethod.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsenaMiddlewareService.js","sourceRoot":"","sources":["../../../../../lib/server/web/middleware/AsenaMiddlewareService.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"AsenaMiddlewareService.js","sourceRoot":"","sources":["../../../../../lib/server/web/middleware/AsenaMiddlewareService.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,OAAgB,sBAAsB;CAW3C"}
|
|
@@ -1,34 +1,33 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Class } from '../../types';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* @template
|
|
3
|
+
* Interface representing a validation service.
|
|
4
|
+
* @template S - Schema type.
|
|
5
5
|
*/
|
|
6
|
-
export
|
|
6
|
+
export interface AsenaValidationService<S> {
|
|
7
7
|
/**
|
|
8
8
|
* Validates JSON data.
|
|
9
|
-
* @returns {
|
|
9
|
+
* @returns {Promise<S> | S} The handler for JSON validation.
|
|
10
10
|
*/
|
|
11
|
-
|
|
11
|
+
json?(): Promise<S> | S;
|
|
12
12
|
/**
|
|
13
13
|
* Validates form data.
|
|
14
|
-
* @returns {
|
|
14
|
+
* @returns {Promise<S> | S} The handler for form validation.
|
|
15
15
|
*/
|
|
16
|
-
|
|
16
|
+
form?(): Promise<S> | S;
|
|
17
17
|
/**
|
|
18
18
|
* Validates query parameters.
|
|
19
|
-
* @returns {
|
|
19
|
+
* @returns {Promise<S> | S} The handler for query validation.
|
|
20
20
|
*/
|
|
21
|
-
|
|
21
|
+
query?(): Promise<S> | S;
|
|
22
22
|
/**
|
|
23
23
|
* Validates route parameters.
|
|
24
|
-
* @returns {
|
|
24
|
+
* @returns {Promise<S> | S} The handler for parameter validation.
|
|
25
25
|
*/
|
|
26
|
-
|
|
26
|
+
param?(): Promise<S> | S;
|
|
27
27
|
/**
|
|
28
28
|
* Validates headers.
|
|
29
|
-
* @returns {
|
|
29
|
+
* @returns {Promise<S> | S} The handler for header validation.
|
|
30
30
|
*/
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
export declare abstract class ValidationService<H = MiddlewareHandler> extends AsenaValidationService<H> {
|
|
31
|
+
header?(): Promise<S> | S;
|
|
34
32
|
}
|
|
33
|
+
export type ValidatorClass<S = unknown> = Class<AsenaValidationService<S>>;
|
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* Abstract class representing a validation service.
|
|
3
|
-
* @template H - The handler type of each validator controller.
|
|
4
|
-
*/
|
|
5
|
-
export class AsenaValidationService {
|
|
6
|
-
}
|
|
7
|
-
export class ValidationService extends AsenaValidationService {
|
|
8
|
-
}
|
|
1
|
+
export {};
|
|
9
2
|
//# sourceMappingURL=AsenaValidationService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsenaValidationService.js","sourceRoot":"","sources":["../../../../../lib/server/web/middleware/AsenaValidationService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AsenaValidationService.js","sourceRoot":"","sources":["../../../../../lib/server/web/middleware/AsenaValidationService.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpMethod.js","sourceRoot":"","sources":["../../../../../lib/server/web/types/HttpMethod.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAUX;AAVD,WAAY,UAAU;IACpB,yBAAW,CAAA;IACX,2BAAa,CAAA;IACb,yBAAW,CAAA;IACX,+BAAiB,CAAA;IACjB,6BAAe,CAAA;IACf,iCAAmB,CAAA;IACnB,2BAAa,CAAA;IACb,iCAAmB,CAAA;IACnB,6BAAe,CAAA;AACjB,CAAC,EAVW,UAAU,KAAV,UAAU,QAUrB"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export declare enum InfoStatusCode {
|
|
2
|
+
Continue = 100,
|
|
3
|
+
SwitchingProtocols = 101,
|
|
4
|
+
Processing = 102,
|
|
5
|
+
EarlyHints = 103
|
|
6
|
+
}
|
|
7
|
+
export declare enum SuccessStatusCode {
|
|
8
|
+
Ok = 200,
|
|
9
|
+
Created = 201,
|
|
10
|
+
Accepted = 202,
|
|
11
|
+
NonAuthoritativeInformation = 203,
|
|
12
|
+
NoContent = 204,
|
|
13
|
+
ResetContent = 205,
|
|
14
|
+
PartialContent = 206,
|
|
15
|
+
MultiStatus = 207,
|
|
16
|
+
AlreadyReported = 208,
|
|
17
|
+
ImUsed = 226
|
|
18
|
+
}
|
|
19
|
+
export declare enum RedirectStatusCode {
|
|
20
|
+
MultipleChoices = 300,
|
|
21
|
+
MovedPermanently = 301,
|
|
22
|
+
Found = 302,
|
|
23
|
+
SeeOther = 303,
|
|
24
|
+
NotModified = 304,
|
|
25
|
+
UseProxy = 305,
|
|
26
|
+
TemporaryRedirect = 307,
|
|
27
|
+
PermanentRedirect = 308
|
|
28
|
+
}
|
|
29
|
+
export declare enum ClientErrorStatusCode {
|
|
30
|
+
BadRequest = 400,
|
|
31
|
+
Unauthorized = 401,
|
|
32
|
+
PaymentRequired = 402,
|
|
33
|
+
Forbidden = 403,
|
|
34
|
+
NotFound = 404,
|
|
35
|
+
MethodNotAllowed = 405,
|
|
36
|
+
NotAcceptable = 406,
|
|
37
|
+
ProxyAuthenticationRequired = 407,
|
|
38
|
+
RequestTimeout = 408,
|
|
39
|
+
Conflict = 409,
|
|
40
|
+
Gone = 410,
|
|
41
|
+
LengthRequired = 411,
|
|
42
|
+
PreconditionFailed = 412,
|
|
43
|
+
PayloadTooLarge = 413,
|
|
44
|
+
UriTooLong = 414,
|
|
45
|
+
UnsupportedMediaType = 415,
|
|
46
|
+
RangeNotSatisfiable = 416,
|
|
47
|
+
ExpectationFailed = 417,
|
|
48
|
+
ImATeapot = 418,
|
|
49
|
+
MisdirectedRequest = 421,
|
|
50
|
+
UnprocessableEntity = 422,
|
|
51
|
+
Locked = 423,
|
|
52
|
+
FailedDependency = 424,
|
|
53
|
+
TooEarly = 425,
|
|
54
|
+
UpgradeRequired = 426,
|
|
55
|
+
PreconditionRequired = 428,
|
|
56
|
+
TooManyRequests = 429,
|
|
57
|
+
RequestHeaderFieldsTooLarge = 431,
|
|
58
|
+
UnavailableForLegalReasons = 451
|
|
59
|
+
}
|
|
60
|
+
export declare enum ServerErrorStatusCode {
|
|
61
|
+
InternalServerError = 500,
|
|
62
|
+
NotImplemented = 501,
|
|
63
|
+
BadGateway = 502,
|
|
64
|
+
ServiceUnavailable = 503,
|
|
65
|
+
GatewayTimeout = 504,
|
|
66
|
+
HttpVersionNotSupported = 505,
|
|
67
|
+
VariantAlsoNegotiates = 506,
|
|
68
|
+
InsufficientStorage = 507,
|
|
69
|
+
LoopDetected = 508,
|
|
70
|
+
NotExtended = 510,
|
|
71
|
+
NetworkAuthenticationRequired = 511
|
|
72
|
+
}
|
|
73
|
+
export type HttpStatusCode = InfoStatusCode | SuccessStatusCode | RedirectStatusCode | ClientErrorStatusCode | ServerErrorStatusCode;
|
|
74
|
+
export declare const isInformational: (status: number) => status is InfoStatusCode;
|
|
75
|
+
export declare const isSuccess: (status: number) => status is SuccessStatusCode;
|
|
76
|
+
export declare const isRedirection: (status: number) => status is RedirectStatusCode;
|
|
77
|
+
export declare const isClientError: (status: number) => status is ClientErrorStatusCode;
|
|
78
|
+
export declare const isServerError: (status: number) => status is ServerErrorStatusCode;
|
|
79
|
+
export declare const isError: (status: number) => status is ClientErrorStatusCode | ServerErrorStatusCode;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export var InfoStatusCode;
|
|
2
|
+
(function (InfoStatusCode) {
|
|
3
|
+
InfoStatusCode[InfoStatusCode["Continue"] = 100] = "Continue";
|
|
4
|
+
InfoStatusCode[InfoStatusCode["SwitchingProtocols"] = 101] = "SwitchingProtocols";
|
|
5
|
+
InfoStatusCode[InfoStatusCode["Processing"] = 102] = "Processing";
|
|
6
|
+
InfoStatusCode[InfoStatusCode["EarlyHints"] = 103] = "EarlyHints";
|
|
7
|
+
})(InfoStatusCode || (InfoStatusCode = {}));
|
|
8
|
+
export var SuccessStatusCode;
|
|
9
|
+
(function (SuccessStatusCode) {
|
|
10
|
+
SuccessStatusCode[SuccessStatusCode["Ok"] = 200] = "Ok";
|
|
11
|
+
SuccessStatusCode[SuccessStatusCode["Created"] = 201] = "Created";
|
|
12
|
+
SuccessStatusCode[SuccessStatusCode["Accepted"] = 202] = "Accepted";
|
|
13
|
+
SuccessStatusCode[SuccessStatusCode["NonAuthoritativeInformation"] = 203] = "NonAuthoritativeInformation";
|
|
14
|
+
SuccessStatusCode[SuccessStatusCode["NoContent"] = 204] = "NoContent";
|
|
15
|
+
SuccessStatusCode[SuccessStatusCode["ResetContent"] = 205] = "ResetContent";
|
|
16
|
+
SuccessStatusCode[SuccessStatusCode["PartialContent"] = 206] = "PartialContent";
|
|
17
|
+
SuccessStatusCode[SuccessStatusCode["MultiStatus"] = 207] = "MultiStatus";
|
|
18
|
+
SuccessStatusCode[SuccessStatusCode["AlreadyReported"] = 208] = "AlreadyReported";
|
|
19
|
+
SuccessStatusCode[SuccessStatusCode["ImUsed"] = 226] = "ImUsed";
|
|
20
|
+
})(SuccessStatusCode || (SuccessStatusCode = {}));
|
|
21
|
+
export var RedirectStatusCode;
|
|
22
|
+
(function (RedirectStatusCode) {
|
|
23
|
+
RedirectStatusCode[RedirectStatusCode["MultipleChoices"] = 300] = "MultipleChoices";
|
|
24
|
+
RedirectStatusCode[RedirectStatusCode["MovedPermanently"] = 301] = "MovedPermanently";
|
|
25
|
+
RedirectStatusCode[RedirectStatusCode["Found"] = 302] = "Found";
|
|
26
|
+
RedirectStatusCode[RedirectStatusCode["SeeOther"] = 303] = "SeeOther";
|
|
27
|
+
RedirectStatusCode[RedirectStatusCode["NotModified"] = 304] = "NotModified";
|
|
28
|
+
RedirectStatusCode[RedirectStatusCode["UseProxy"] = 305] = "UseProxy";
|
|
29
|
+
RedirectStatusCode[RedirectStatusCode["TemporaryRedirect"] = 307] = "TemporaryRedirect";
|
|
30
|
+
RedirectStatusCode[RedirectStatusCode["PermanentRedirect"] = 308] = "PermanentRedirect";
|
|
31
|
+
})(RedirectStatusCode || (RedirectStatusCode = {}));
|
|
32
|
+
export var ClientErrorStatusCode;
|
|
33
|
+
(function (ClientErrorStatusCode) {
|
|
34
|
+
ClientErrorStatusCode[ClientErrorStatusCode["BadRequest"] = 400] = "BadRequest";
|
|
35
|
+
ClientErrorStatusCode[ClientErrorStatusCode["Unauthorized"] = 401] = "Unauthorized";
|
|
36
|
+
ClientErrorStatusCode[ClientErrorStatusCode["PaymentRequired"] = 402] = "PaymentRequired";
|
|
37
|
+
ClientErrorStatusCode[ClientErrorStatusCode["Forbidden"] = 403] = "Forbidden";
|
|
38
|
+
ClientErrorStatusCode[ClientErrorStatusCode["NotFound"] = 404] = "NotFound";
|
|
39
|
+
ClientErrorStatusCode[ClientErrorStatusCode["MethodNotAllowed"] = 405] = "MethodNotAllowed";
|
|
40
|
+
ClientErrorStatusCode[ClientErrorStatusCode["NotAcceptable"] = 406] = "NotAcceptable";
|
|
41
|
+
ClientErrorStatusCode[ClientErrorStatusCode["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired";
|
|
42
|
+
ClientErrorStatusCode[ClientErrorStatusCode["RequestTimeout"] = 408] = "RequestTimeout";
|
|
43
|
+
ClientErrorStatusCode[ClientErrorStatusCode["Conflict"] = 409] = "Conflict";
|
|
44
|
+
ClientErrorStatusCode[ClientErrorStatusCode["Gone"] = 410] = "Gone";
|
|
45
|
+
ClientErrorStatusCode[ClientErrorStatusCode["LengthRequired"] = 411] = "LengthRequired";
|
|
46
|
+
ClientErrorStatusCode[ClientErrorStatusCode["PreconditionFailed"] = 412] = "PreconditionFailed";
|
|
47
|
+
ClientErrorStatusCode[ClientErrorStatusCode["PayloadTooLarge"] = 413] = "PayloadTooLarge";
|
|
48
|
+
ClientErrorStatusCode[ClientErrorStatusCode["UriTooLong"] = 414] = "UriTooLong";
|
|
49
|
+
ClientErrorStatusCode[ClientErrorStatusCode["UnsupportedMediaType"] = 415] = "UnsupportedMediaType";
|
|
50
|
+
ClientErrorStatusCode[ClientErrorStatusCode["RangeNotSatisfiable"] = 416] = "RangeNotSatisfiable";
|
|
51
|
+
ClientErrorStatusCode[ClientErrorStatusCode["ExpectationFailed"] = 417] = "ExpectationFailed";
|
|
52
|
+
ClientErrorStatusCode[ClientErrorStatusCode["ImATeapot"] = 418] = "ImATeapot";
|
|
53
|
+
ClientErrorStatusCode[ClientErrorStatusCode["MisdirectedRequest"] = 421] = "MisdirectedRequest";
|
|
54
|
+
ClientErrorStatusCode[ClientErrorStatusCode["UnprocessableEntity"] = 422] = "UnprocessableEntity";
|
|
55
|
+
ClientErrorStatusCode[ClientErrorStatusCode["Locked"] = 423] = "Locked";
|
|
56
|
+
ClientErrorStatusCode[ClientErrorStatusCode["FailedDependency"] = 424] = "FailedDependency";
|
|
57
|
+
ClientErrorStatusCode[ClientErrorStatusCode["TooEarly"] = 425] = "TooEarly";
|
|
58
|
+
ClientErrorStatusCode[ClientErrorStatusCode["UpgradeRequired"] = 426] = "UpgradeRequired";
|
|
59
|
+
ClientErrorStatusCode[ClientErrorStatusCode["PreconditionRequired"] = 428] = "PreconditionRequired";
|
|
60
|
+
ClientErrorStatusCode[ClientErrorStatusCode["TooManyRequests"] = 429] = "TooManyRequests";
|
|
61
|
+
ClientErrorStatusCode[ClientErrorStatusCode["RequestHeaderFieldsTooLarge"] = 431] = "RequestHeaderFieldsTooLarge";
|
|
62
|
+
ClientErrorStatusCode[ClientErrorStatusCode["UnavailableForLegalReasons"] = 451] = "UnavailableForLegalReasons";
|
|
63
|
+
})(ClientErrorStatusCode || (ClientErrorStatusCode = {}));
|
|
64
|
+
export var ServerErrorStatusCode;
|
|
65
|
+
(function (ServerErrorStatusCode) {
|
|
66
|
+
ServerErrorStatusCode[ServerErrorStatusCode["InternalServerError"] = 500] = "InternalServerError";
|
|
67
|
+
ServerErrorStatusCode[ServerErrorStatusCode["NotImplemented"] = 501] = "NotImplemented";
|
|
68
|
+
ServerErrorStatusCode[ServerErrorStatusCode["BadGateway"] = 502] = "BadGateway";
|
|
69
|
+
ServerErrorStatusCode[ServerErrorStatusCode["ServiceUnavailable"] = 503] = "ServiceUnavailable";
|
|
70
|
+
ServerErrorStatusCode[ServerErrorStatusCode["GatewayTimeout"] = 504] = "GatewayTimeout";
|
|
71
|
+
ServerErrorStatusCode[ServerErrorStatusCode["HttpVersionNotSupported"] = 505] = "HttpVersionNotSupported";
|
|
72
|
+
ServerErrorStatusCode[ServerErrorStatusCode["VariantAlsoNegotiates"] = 506] = "VariantAlsoNegotiates";
|
|
73
|
+
ServerErrorStatusCode[ServerErrorStatusCode["InsufficientStorage"] = 507] = "InsufficientStorage";
|
|
74
|
+
ServerErrorStatusCode[ServerErrorStatusCode["LoopDetected"] = 508] = "LoopDetected";
|
|
75
|
+
ServerErrorStatusCode[ServerErrorStatusCode["NotExtended"] = 510] = "NotExtended";
|
|
76
|
+
ServerErrorStatusCode[ServerErrorStatusCode["NetworkAuthenticationRequired"] = 511] = "NetworkAuthenticationRequired";
|
|
77
|
+
})(ServerErrorStatusCode || (ServerErrorStatusCode = {}));
|
|
78
|
+
// Type-safe status code helpers
|
|
79
|
+
export const isInformational = (status) => status >= 100 && status < 200;
|
|
80
|
+
export const isSuccess = (status) => status >= 200 && status < 300;
|
|
81
|
+
export const isRedirection = (status) => status >= 300 && status < 400;
|
|
82
|
+
export const isClientError = (status) => status >= 400 && status < 500;
|
|
83
|
+
export const isServerError = (status) => status >= 500 && status < 600;
|
|
84
|
+
export const isError = (status) => status >= 400 && status < 600;
|
|
85
|
+
//# sourceMappingURL=HttpStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpStatus.js","sourceRoot":"","sources":["../../../../../lib/server/web/types/HttpStatus.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './
|
|
1
|
+
export * from './HttpMethod';
|
|
2
|
+
export * from './HttpStatus';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './
|
|
1
|
+
export * from './HttpMethod';
|
|
2
|
+
export * from './HttpStatus';
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/server/web/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/server/web/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC"}
|
|
@@ -36,6 +36,7 @@ export declare class AsenaSocket<T> implements ServerWebSocket<WebSocketData<T>>
|
|
|
36
36
|
get namespace(): string;
|
|
37
37
|
get id(): string;
|
|
38
38
|
set id(value: string);
|
|
39
|
+
getBufferedAmount(): number;
|
|
39
40
|
private createTopic;
|
|
40
41
|
}
|
|
41
42
|
export type Socket<T = any> = AsenaSocket<T>;
|
|
@@ -29,6 +29,7 @@ export class AsenaSocket {
|
|
|
29
29
|
this.ws.close(code, reason);
|
|
30
30
|
}
|
|
31
31
|
terminate() {
|
|
32
|
+
this.cleanup();
|
|
32
33
|
this.ws.terminate();
|
|
33
34
|
}
|
|
34
35
|
ping(data) {
|
|
@@ -113,6 +114,9 @@ export class AsenaSocket {
|
|
|
113
114
|
set id(value) {
|
|
114
115
|
this._id = value;
|
|
115
116
|
}
|
|
117
|
+
getBufferedAmount() {
|
|
118
|
+
return this.ws.getBufferedAmount();
|
|
119
|
+
}
|
|
116
120
|
createTopic(topic) {
|
|
117
121
|
return `${this.namespace}.${topic}`;
|
|
118
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsenaSocket.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/AsenaSocket.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AsenaSocket.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/AsenaSocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,48 @@
|
|
|
1
1
|
import type { Server } from 'bun';
|
|
2
|
+
/**
|
|
3
|
+
* AsenaWebSocketServer class handles WebSocket server operations and message broadcasting
|
|
4
|
+
*
|
|
5
|
+
* This class provides a wrapper around Bun's WebSocket Server implementation with additional
|
|
6
|
+
* functionality for managing topics and message publishing.
|
|
7
|
+
*/
|
|
2
8
|
export declare class AsenaWebSocketServer {
|
|
9
|
+
/**
|
|
10
|
+
* The underlying Bun WebSocket server instance
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
3
13
|
private server;
|
|
14
|
+
/**
|
|
15
|
+
* The topic identifier for this WebSocket server
|
|
16
|
+
* @private
|
|
17
|
+
* @readonly
|
|
18
|
+
*/
|
|
4
19
|
private readonly topic;
|
|
20
|
+
/**
|
|
21
|
+
* Creates a new instance of AsenaWebSocketServer
|
|
22
|
+
*
|
|
23
|
+
* @param server - The Bun Server instance to use
|
|
24
|
+
* @param topic - The topic identifier for this WebSocket server
|
|
25
|
+
*/
|
|
5
26
|
constructor(server: Server, topic: string);
|
|
27
|
+
/**
|
|
28
|
+
* Publishes data to a specific namespace
|
|
29
|
+
*
|
|
30
|
+
* @param nameSpace - The target namespace to publish to
|
|
31
|
+
* @param data - The data to publish. Supports ArrayBuffer, objects, strings, and numbers
|
|
32
|
+
* @returns void
|
|
33
|
+
*/
|
|
6
34
|
to(nameSpace: string, data?: any): void;
|
|
35
|
+
/**
|
|
36
|
+
* Alias for the 'to' method
|
|
37
|
+
*
|
|
38
|
+
* @param nameSpace - The target namespace to publish to
|
|
39
|
+
* @param data - The data to publish
|
|
40
|
+
*/
|
|
7
41
|
in(nameSpace: string, data?: any): void;
|
|
42
|
+
/**
|
|
43
|
+
* Gets the current number of WebSocket subscribers for this server's topic
|
|
44
|
+
*
|
|
45
|
+
* @returns The number of active WebSocket connections
|
|
46
|
+
*/
|
|
8
47
|
get websocketCount(): number;
|
|
9
48
|
}
|
|
@@ -1,12 +1,41 @@
|
|
|
1
|
+
// TODO: this section needs to rework
|
|
2
|
+
/**
|
|
3
|
+
* AsenaWebSocketServer class handles WebSocket server operations and message broadcasting
|
|
4
|
+
*
|
|
5
|
+
* This class provides a wrapper around Bun's WebSocket Server implementation with additional
|
|
6
|
+
* functionality for managing topics and message publishing.
|
|
7
|
+
*/
|
|
1
8
|
export class AsenaWebSocketServer {
|
|
9
|
+
/**
|
|
10
|
+
* The underlying Bun WebSocket server instance
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
2
13
|
server;
|
|
14
|
+
/**
|
|
15
|
+
* The topic identifier for this WebSocket server
|
|
16
|
+
* @private
|
|
17
|
+
* @readonly
|
|
18
|
+
*/
|
|
3
19
|
topic;
|
|
20
|
+
/**
|
|
21
|
+
* Creates a new instance of AsenaWebSocketServer
|
|
22
|
+
*
|
|
23
|
+
* @param server - The Bun Server instance to use
|
|
24
|
+
* @param topic - The topic identifier for this WebSocket server
|
|
25
|
+
*/
|
|
4
26
|
constructor(server, topic) {
|
|
5
27
|
this.server = server;
|
|
6
28
|
this.topic = topic;
|
|
7
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Publishes data to a specific namespace
|
|
32
|
+
*
|
|
33
|
+
* @param nameSpace - The target namespace to publish to
|
|
34
|
+
* @param data - The data to publish. Supports ArrayBuffer, objects, strings, and numbers
|
|
35
|
+
* @returns void
|
|
36
|
+
*/
|
|
8
37
|
to(nameSpace, data) {
|
|
9
|
-
if (data instanceof ArrayBuffer ||
|
|
38
|
+
if (data instanceof ArrayBuffer || data instanceof DataView || data instanceof SharedArrayBuffer) {
|
|
10
39
|
this.server.publish(nameSpace, data);
|
|
11
40
|
return;
|
|
12
41
|
}
|
|
@@ -17,9 +46,20 @@ export class AsenaWebSocketServer {
|
|
|
17
46
|
this.server.publish(nameSpace, String(data));
|
|
18
47
|
}
|
|
19
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Alias for the 'to' method
|
|
51
|
+
*
|
|
52
|
+
* @param nameSpace - The target namespace to publish to
|
|
53
|
+
* @param data - The data to publish
|
|
54
|
+
*/
|
|
20
55
|
in(nameSpace, data) {
|
|
21
56
|
this.to(nameSpace, data);
|
|
22
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Gets the current number of WebSocket subscribers for this server's topic
|
|
60
|
+
*
|
|
61
|
+
* @returns The number of active WebSocket connections
|
|
62
|
+
*/
|
|
23
63
|
get websocketCount() {
|
|
24
64
|
return this.server.subscriberCount(this.topic);
|
|
25
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsenaWebSocketServer.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/AsenaWebSocketServer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AsenaWebSocketServer.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/AsenaWebSocketServer.ts"],"names":[],"mappings":"AACA,qCAAqC;AACrC;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IAE/B;;;OAGG;IACK,MAAM,CAAS;IAEvB;;;;OAIG;IACc,KAAK,CAAS;IAE/B;;;;;OAKG;IACH,YAAmB,MAAc,EAAE,KAAa;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACI,EAAE,CAAC,SAAiB,EAAE,IAAU;QACrC,IAAI,IAAI,YAAY,WAAW,IAAI,IAAI,YAAY,QAAQ,IAAI,IAAI,YAAY,iBAAiB,EAAE,CAAC;YACjG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC5E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC3E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,EAAE,CAAC,SAAiB,EAAE,IAAU;QACrC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,IAAW,cAAc;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;CAEF"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// TODO: server needs to be a generic , also write default implementation for server object it needs to have sockets
|
|
2
1
|
/**
|
|
3
2
|
* A service class for handling WebSocket connections.
|
|
4
3
|
*
|
|
@@ -26,7 +25,8 @@ export class AsenaWebSocketService {
|
|
|
26
25
|
* @param {any} [data] - The data to send.
|
|
27
26
|
*/
|
|
28
27
|
in(data) {
|
|
29
|
-
|
|
28
|
+
// __ is a reserved namespace for broadcasting to all connected clients
|
|
29
|
+
this.to('__', data);
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
32
|
* Sends data to a specific namespace.
|
|
@@ -52,7 +52,7 @@ export class AsenaWebSocketService {
|
|
|
52
52
|
}
|
|
53
53
|
async onOpenInternal(ws) {
|
|
54
54
|
this.sockets.set(ws.id, ws);
|
|
55
|
-
ws.subscribe('');
|
|
55
|
+
ws.subscribe('__');
|
|
56
56
|
ws.subscribe(`${ws.data.id}`);
|
|
57
57
|
if (this.onOpen) {
|
|
58
58
|
await this.onOpen(ws);
|
|
@@ -60,7 +60,7 @@ export class AsenaWebSocketService {
|
|
|
60
60
|
}
|
|
61
61
|
async onCloseInternal(ws, _code, _reason) {
|
|
62
62
|
ws.cleanup();
|
|
63
|
-
ws.unsubscribe(
|
|
63
|
+
ws.unsubscribe(`__`);
|
|
64
64
|
ws.unsubscribe(`.${ws.data.id}`);
|
|
65
65
|
this.sockets.delete(ws.id);
|
|
66
66
|
if (this.onClose) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsenaWebSocketService.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/AsenaWebSocketService.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"AsenaWebSocketService.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/AsenaWebSocketService.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,OAAO,qBAAqB;IAEhC;;OAEG;IACI,MAAM,GAAyB,IAAI,CAAC;IAE3C;;OAEG;IACK,QAAQ,GAA2B,IAAI,GAAG,EAAqB,CAAC;IAExE;;OAEG;IACK,MAAM,GAA6B,IAAI,GAAG,EAAuB,CAAC;IAE1E;;OAEG;IACK,UAAU,CAAS;IAE3B;;;OAGG;IAEI,EAAE,CAAC,IAAU;QAClB,uEAAuE;QACvE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACI,EAAE,CAAC,SAAiB,EAAE,IAAU;QACrC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAE/E,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACI,gBAAgB,CAAC,IAAY;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAuDS,KAAK,CAAC,cAAc,CAAC,EAAa;QAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAE5B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAEnB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAE9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,EAAa,EAAE,KAAa,EAAE,OAAe;QAC3E,EAAE,CAAC,OAAO,EAAE,CAAC;QAEb,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAErB,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAW,OAAO,CAAC,OAA+B;QAChD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAW,SAAS,CAAC,KAAa;QAChC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAW,KAAK,CAAC,KAA+B;QAC9C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;CAEF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAA"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const getTypedMetadata: <T>(key: string, target: any) => T | undefined;
|
|
2
|
+
export declare const getOwnTypedMetadata: <T>(key: string, target: any) => T | undefined;
|
|
3
|
+
export declare const defineTypedMetadata: <T>(key: string, value: T, target: any, sym?: string | symbol) => void;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { defineMetadata, getMetadata, getOwnMetadata } from 'reflect-metadata/no-conflict';
|
|
2
|
+
export const getTypedMetadata = (key, target) => {
|
|
3
|
+
return getMetadata(key, target);
|
|
4
|
+
};
|
|
5
|
+
export const getOwnTypedMetadata = (key, target) => {
|
|
6
|
+
return getOwnMetadata(key, target);
|
|
7
|
+
};
|
|
8
|
+
// eslint-disable-next-line max-params
|
|
9
|
+
export const defineTypedMetadata = (key, value, target, sym) => {
|
|
10
|
+
if (sym === undefined) {
|
|
11
|
+
defineMetadata(key, value, target);
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
defineMetadata(key, value, target, sym);
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=typedMetadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typedMetadata.js","sourceRoot":"","sources":["../../../lib/utils/typedMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE3F,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAI,GAAW,EAAE,MAAW,EAAiB,EAAE;IAC7E,OAAO,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAI,GAAW,EAAE,MAAW,EAAiB,EAAE;IAChF,OAAO,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,sCAAsC;AACtC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAI,GAAW,EAAE,KAAQ,EAAE,MAAW,EAAE,GAAqB,EAAQ,EAAE;IACxG,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IAED,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1C,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@asenajs/asena",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Asena is a spring like framework for building web applications built with hono and bun",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -16,6 +16,56 @@
|
|
|
16
16
|
"build": "bun run clean && tsc",
|
|
17
17
|
"clean": "rm -rf dist"
|
|
18
18
|
},
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"import": "./dist/index.js",
|
|
22
|
+
"types": "./dist/index.d.ts"
|
|
23
|
+
},
|
|
24
|
+
"./adapter": {
|
|
25
|
+
"import": "./dist/lib/adapter/index.js",
|
|
26
|
+
"types": "./dist/lib/adapter/index.d.ts"
|
|
27
|
+
},
|
|
28
|
+
"./logger": {
|
|
29
|
+
"import": "./dist/lib/logger/index.js",
|
|
30
|
+
"types": "./dist/lib/logger/index.d.ts"
|
|
31
|
+
},
|
|
32
|
+
"./web-socket": {
|
|
33
|
+
"import": "./dist/lib/server/web/websocket/index.js",
|
|
34
|
+
"types": "./dist/lib/server/web/websocket/index.d.ts"
|
|
35
|
+
},
|
|
36
|
+
"./web": {
|
|
37
|
+
"import": "./dist/lib/server/web/decorators/index.js",
|
|
38
|
+
"types": "./dist/lib/server/web/decorators/index.d.ts"
|
|
39
|
+
},
|
|
40
|
+
"./web-types": {
|
|
41
|
+
"import": "./dist/lib/server/web/types/index.js",
|
|
42
|
+
"types": "./dist/lib/server/web/types/index.d.ts"
|
|
43
|
+
},
|
|
44
|
+
"./server": {
|
|
45
|
+
"import": "./dist/lib/server/decorators/index.js",
|
|
46
|
+
"types": "./dist/lib/server/decorators/index.d.ts"
|
|
47
|
+
},
|
|
48
|
+
"./server/config": {
|
|
49
|
+
"import": "./dist/lib/server/config/index.js",
|
|
50
|
+
"types": "./dist/lib/server/config/index.d.ts"
|
|
51
|
+
},
|
|
52
|
+
"./ioc": {
|
|
53
|
+
"import": "./dist/lib/ioc/component/decorators/index.js",
|
|
54
|
+
"types": "./dist/lib/ioc/component/decorators/index.d.ts"
|
|
55
|
+
},
|
|
56
|
+
"./http-status": {
|
|
57
|
+
"import": "./dist/lib/server/web/http/HttpStatus.js",
|
|
58
|
+
"types": "./dist/lib/server/web/http/HttpStatus.d.ts"
|
|
59
|
+
},
|
|
60
|
+
"./middleware": {
|
|
61
|
+
"import": "./dist/lib/server/web/middleware/index.js",
|
|
62
|
+
"types": "./dist/lib/server/web/middleware/index.d.ts"
|
|
63
|
+
},
|
|
64
|
+
"./container": {
|
|
65
|
+
"import": "./dist/lib/ioc/Container.js",
|
|
66
|
+
"types": "./dist/lib/ioc/Container.d.ts"
|
|
67
|
+
}
|
|
68
|
+
},
|
|
19
69
|
"keywords": [
|
|
20
70
|
"asena",
|
|
21
71
|
"framework",
|
|
@@ -36,6 +86,7 @@
|
|
|
36
86
|
"reflect-metadata": "^0.2.2"
|
|
37
87
|
},
|
|
38
88
|
"devDependencies": {
|
|
89
|
+
"@changesets/cli": "^2.28.1",
|
|
39
90
|
"@types/bun": "latest",
|
|
40
91
|
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
|
41
92
|
"eslint": "^8.57.1",
|
|
@@ -44,15 +95,13 @@
|
|
|
44
95
|
"eslint-plugin-alloy": "^1.2.1",
|
|
45
96
|
"eslint-plugin-import": "^2.31.0",
|
|
46
97
|
"eslint-plugin-n": "^16.6.2",
|
|
47
|
-
"eslint-plugin-prettier": "^5.2.
|
|
98
|
+
"eslint-plugin-prettier": "^5.2.5",
|
|
48
99
|
"eslint-plugin-promise": "^6.6.0",
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"typescript": "^5.6.3",
|
|
100
|
+
"prettier": "^3.5.3",
|
|
101
|
+
"typescript": "^5.8.2",
|
|
52
102
|
"winston": "^3.17.0"
|
|
53
103
|
},
|
|
54
104
|
"peerDependencies": {
|
|
55
|
-
"hono": "^4.5.9",
|
|
56
105
|
"winston": "^3.13.0"
|
|
57
106
|
}
|
|
58
107
|
}
|