@asenajs/asena 0.5.0 → 0.6.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/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/adapter/AsenaAdapter.js.map +1 -1
- package/dist/lib/adapter/AsenaWebsocketAdapter.js.map +1 -1
- package/dist/lib/ioc/CircularDependencyDetector.js.map +1 -1
- package/dist/lib/ioc/Container.js +4 -4
- package/dist/lib/ioc/Container.js.map +1 -1
- package/dist/lib/ioc/CoreContainer.js +7 -0
- package/dist/lib/ioc/CoreContainer.js.map +1 -1
- package/dist/lib/ioc/IocEngine.js +0 -2
- package/dist/lib/ioc/IocEngine.js.map +1 -1
- package/dist/lib/ioc/component/componentUtils.js.map +1 -1
- package/dist/lib/ioc/constants/ComponentConstants.d.ts +2 -0
- package/dist/lib/ioc/constants/ComponentConstants.js +3 -0
- package/dist/lib/ioc/constants/ComponentConstants.js.map +1 -1
- package/dist/lib/ioc/types/ICoreServiceNamesType.d.ts +3 -0
- package/dist/lib/ioc/types/ICoreServiceNamesType.js +4 -0
- package/dist/lib/ioc/types/ICoreServiceNamesType.js.map +1 -1
- package/dist/lib/ioc/types/decorators/ComponentType.d.ts +2 -1
- package/dist/lib/ioc/types/decorators/ComponentType.js +1 -0
- package/dist/lib/ioc/types/decorators/ComponentType.js.map +1 -1
- package/dist/lib/server/AsenaServer.d.ts +1 -0
- package/dist/lib/server/AsenaServer.js +7 -1
- package/dist/lib/server/AsenaServer.js.map +1 -1
- package/dist/lib/server/AsenaServerFactory.js.map +1 -1
- package/dist/lib/server/decorators/components/Controller.js.map +1 -1
- package/dist/lib/server/decorators/components/EventService.d.ts +37 -0
- package/dist/lib/server/decorators/components/EventService.js +47 -0
- package/dist/lib/server/decorators/components/EventService.js.map +1 -0
- package/dist/lib/server/decorators/components/Schedule.js.map +1 -1
- package/dist/lib/server/decorators/components/StaticServe.js +1 -1
- package/dist/lib/server/decorators/components/StaticServe.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/decorators/index.d.ts +1 -0
- package/dist/lib/server/decorators/index.js +1 -0
- package/dist/lib/server/decorators/index.js.map +1 -1
- package/dist/lib/server/event/EventDispatchService.d.ts +104 -0
- package/dist/lib/server/event/EventDispatchService.js +203 -0
- package/dist/lib/server/event/EventDispatchService.js.map +1 -0
- package/dist/lib/server/event/EventEmitter.d.ts +67 -0
- package/dist/lib/server/event/EventEmitter.js +88 -0
- package/dist/lib/server/event/EventEmitter.js.map +1 -0
- package/dist/lib/server/event/EventService.d.ts +5 -0
- package/dist/lib/server/event/EventService.js +6 -0
- package/dist/lib/server/event/EventService.js.map +1 -0
- package/dist/lib/server/event/decorators/On.d.ts +38 -0
- package/dist/lib/server/event/decorators/On.js +56 -0
- package/dist/lib/server/event/decorators/On.js.map +1 -0
- package/dist/lib/server/event/decorators/index.d.ts +1 -0
- package/dist/lib/server/event/decorators/index.js +2 -0
- package/dist/lib/server/event/decorators/index.js.map +1 -0
- package/dist/lib/server/event/emitter.d.ts +21 -0
- package/dist/lib/server/event/emitter.js +25 -0
- package/dist/lib/server/event/emitter.js.map +1 -0
- package/dist/lib/server/event/eventPatternMatcher.d.ts +24 -0
- package/dist/lib/server/event/eventPatternMatcher.js +112 -0
- package/dist/lib/server/event/eventPatternMatcher.js.map +1 -0
- package/dist/lib/server/event/index.d.ts +6 -0
- package/dist/lib/server/event/index.js +12 -0
- package/dist/lib/server/event/index.js.map +1 -0
- package/dist/lib/server/event/types.d.ts +70 -0
- package/dist/lib/server/event/types.js +2 -0
- package/dist/lib/server/event/types.js.map +1 -0
- package/dist/lib/server/index.d.ts +0 -2
- package/dist/lib/server/index.js +0 -3
- package/dist/lib/server/index.js.map +1 -1
- package/dist/lib/server/messaging/Ulak.js.map +1 -1
- package/dist/lib/server/messaging/types.js.map +1 -1
- package/dist/lib/server/src/services/PrepareConfigService.js.map +1 -1
- package/dist/lib/server/src/services/PrepareEventService.d.ts +40 -0
- package/dist/lib/server/src/services/PrepareEventService.js +103 -0
- package/dist/lib/server/src/services/PrepareEventService.js.map +1 -0
- package/dist/lib/server/src/services/PrepareMiddlewareService.js.map +1 -1
- package/dist/lib/server/src/services/PrepareStaticServeConfigService.js +3 -3
- package/dist/lib/server/src/services/PrepareStaticServeConfigService.js.map +1 -1
- package/dist/lib/server/src/services/PrepareValidatorService.js.map +1 -1
- package/dist/lib/server/src/services/PrepareWebsocketService.d.ts +1 -1
- package/dist/lib/server/src/services/PrepareWebsocketService.js +2 -2
- package/dist/lib/server/src/services/PrepareWebsocketService.js.map +1 -1
- package/dist/lib/server/web/decorators/http.base.d.ts +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/AsenaMiddlewareService.js.map +1 -1
- package/dist/lib/server/web/middleware/AsenaStaticServeService.d.ts +1 -1
- package/dist/lib/server/web/middleware/AsenaStaticServeService.js.map +1 -1
- package/dist/lib/server/web/websocket/AsenaSocket.d.ts +237 -4
- package/dist/lib/server/web/websocket/AsenaSocket.js +234 -32
- package/dist/lib/server/web/websocket/AsenaSocket.js.map +1 -1
- package/dist/lib/server/web/websocket/AsenaWebSocketServer.js.map +1 -1
- package/dist/lib/server/web/websocket/AsenaWebSocketService.d.ts +0 -13
- package/dist/lib/server/web/websocket/AsenaWebSocketService.js +1 -21
- package/dist/lib/server/web/websocket/AsenaWebSocketService.js.map +1 -1
- package/dist/lib/utils/index.d.ts +2 -0
- package/dist/lib/utils/index.js +3 -0
- package/dist/lib/utils/index.js.map +1 -0
- package/dist/lib/utils/typedMetadata.js +0 -1
- package/dist/lib/utils/typedMetadata.js.map +1 -1
- package/package.json +25 -14
|
@@ -14,10 +14,6 @@ export declare class AsenaWebSocketService<T> {
|
|
|
14
14
|
* A map to store the WebSocket connections.
|
|
15
15
|
*/
|
|
16
16
|
private _sockets;
|
|
17
|
-
/**
|
|
18
|
-
* A map to store the rooms.
|
|
19
|
-
*/
|
|
20
|
-
private _rooms;
|
|
21
17
|
/**
|
|
22
18
|
* The namespace for the WebSocket connection.
|
|
23
19
|
*/
|
|
@@ -34,13 +30,6 @@ export declare class AsenaWebSocketService<T> {
|
|
|
34
30
|
* @param {any} [data] - The data to send.
|
|
35
31
|
*/
|
|
36
32
|
to(nameSpace: string, data?: any): void;
|
|
37
|
-
/**
|
|
38
|
-
* Retrieves the sockets associated with a specific room.
|
|
39
|
-
*
|
|
40
|
-
* @param {string} room - The name of the room.
|
|
41
|
-
* @returns {Socket<T>[]} - An array of sockets in the specified room.
|
|
42
|
-
*/
|
|
43
|
-
getSocketsByRoom(room: string): Socket<T>[];
|
|
44
33
|
/**
|
|
45
34
|
* Handles incoming messages from the WebSocket connection.
|
|
46
35
|
*
|
|
@@ -94,6 +83,4 @@ export declare class AsenaWebSocketService<T> {
|
|
|
94
83
|
set sockets(sockets: Map<string, Socket<T>>);
|
|
95
84
|
get namespace(): string;
|
|
96
85
|
set namespace(value: string);
|
|
97
|
-
get rooms(): Map<string, Socket<T>[]>;
|
|
98
|
-
set rooms(value: Map<string, Socket<T>[]>);
|
|
99
86
|
}
|
|
@@ -12,10 +12,6 @@ export class AsenaWebSocketService {
|
|
|
12
12
|
* A map to store the WebSocket connections.
|
|
13
13
|
*/
|
|
14
14
|
_sockets = new Map();
|
|
15
|
-
/**
|
|
16
|
-
* A map to store the rooms.
|
|
17
|
-
*/
|
|
18
|
-
_rooms = new Map();
|
|
19
15
|
/**
|
|
20
16
|
* The namespace for the WebSocket connection.
|
|
21
17
|
*/
|
|
@@ -38,18 +34,9 @@ export class AsenaWebSocketService {
|
|
|
38
34
|
if (typeof nameSpace !== 'string' && nameSpace) {
|
|
39
35
|
throw new Error('Namespace must be a string');
|
|
40
36
|
}
|
|
41
|
-
|
|
37
|
+
const _nameSpace = nameSpace ? `${this.namespace}.${nameSpace}` : this.namespace;
|
|
42
38
|
this.server.to(_nameSpace, data);
|
|
43
39
|
}
|
|
44
|
-
/**
|
|
45
|
-
* Retrieves the sockets associated with a specific room.
|
|
46
|
-
*
|
|
47
|
-
* @param {string} room - The name of the room.
|
|
48
|
-
* @returns {Socket<T>[]} - An array of sockets in the specified room.
|
|
49
|
-
*/
|
|
50
|
-
getSocketsByRoom(room) {
|
|
51
|
-
return this.rooms.get(room);
|
|
52
|
-
}
|
|
53
40
|
async onOpenInternal(ws) {
|
|
54
41
|
this.sockets.set(ws.id, ws);
|
|
55
42
|
ws.subscribe('__');
|
|
@@ -59,7 +46,6 @@ export class AsenaWebSocketService {
|
|
|
59
46
|
}
|
|
60
47
|
}
|
|
61
48
|
async onCloseInternal(ws, _code, _reason) {
|
|
62
|
-
ws.cleanup();
|
|
63
49
|
ws.unsubscribe(`__`);
|
|
64
50
|
ws.unsubscribe(`${ws.data.id}`);
|
|
65
51
|
this.sockets.delete(ws.id);
|
|
@@ -79,11 +65,5 @@ export class AsenaWebSocketService {
|
|
|
79
65
|
set namespace(value) {
|
|
80
66
|
this._namespace = value;
|
|
81
67
|
}
|
|
82
|
-
get rooms() {
|
|
83
|
-
return this._rooms;
|
|
84
|
-
}
|
|
85
|
-
set rooms(value) {
|
|
86
|
-
this._rooms = value;
|
|
87
|
-
}
|
|
88
68
|
}
|
|
89
69
|
//# sourceMappingURL=AsenaWebSocketService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsenaWebSocketService.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/AsenaWebSocketService.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,OAAO,qBAAqB;
|
|
1
|
+
{"version":3,"file":"AsenaWebSocketService.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/AsenaWebSocketService.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,OAAO,qBAAqB;IAChC;;OAEG;IACI,MAAM,GAAyB,IAAI,CAAC;IAE3C;;OAEG;IACK,QAAQ,GAA2B,IAAI,GAAG,EAAqB,CAAC;IAExE;;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,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QAEjF,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACnC,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,WAAW,CAAC,IAAI,CAAC,CAAC;QAErB,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAEhC,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;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -5,7 +5,6 @@ export const getTypedMetadata = (key, target) => {
|
|
|
5
5
|
export const getOwnTypedMetadata = (key, target) => {
|
|
6
6
|
return getOwnMetadata(key, target);
|
|
7
7
|
};
|
|
8
|
-
// eslint-disable-next-line max-params
|
|
9
8
|
export const defineTypedMetadata = (key, value, target, sym) => {
|
|
10
9
|
if (sym === undefined) {
|
|
11
10
|
defineMetadata(key, value, target);
|
|
@@ -1 +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,GAAoB,EAAE,MAAW,EAAiB,EAAE;IACtF,OAAO,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAI,GAAoB,EAAE,MAAW,EAAiB,EAAE;IACzF,OAAO,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,
|
|
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,GAAoB,EAAE,MAAW,EAAiB,EAAE;IACtF,OAAO,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAI,GAAoB,EAAE,MAAW,EAAiB,EAAE;IACzF,OAAO,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAI,GAAoB,EAAE,KAAQ,EAAE,MAAW,EAAE,GAAqB,EAAQ,EAAE;IACjH,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.6.0",
|
|
4
4
|
"author": "LibirSoft",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -14,17 +14,13 @@
|
|
|
14
14
|
"devDependencies": {
|
|
15
15
|
"@changesets/cli": "^2.29.7",
|
|
16
16
|
"@types/bun": "latest",
|
|
17
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
18
|
-
"eslint": "^8.
|
|
19
|
-
"eslint
|
|
17
|
+
"@typescript-eslint/eslint-plugin": "^8.46.2",
|
|
18
|
+
"@typescript-eslint/parser": "^8.46.2",
|
|
19
|
+
"eslint": "^9.39.0",
|
|
20
20
|
"eslint-config-prettier": "^9.1.2",
|
|
21
|
-
"eslint-plugin-alloy": "^1.2.1",
|
|
22
|
-
"eslint-plugin-import": "^2.32.0",
|
|
23
|
-
"eslint-plugin-n": "^16.6.2",
|
|
24
|
-
"eslint-plugin-prettier": "^5.5.4",
|
|
25
|
-
"eslint-plugin-promise": "^6.6.0",
|
|
26
21
|
"prettier": "^3.6.2",
|
|
27
|
-
"typescript": "^5.9.3"
|
|
22
|
+
"typescript": "^5.9.3",
|
|
23
|
+
"typescript-eslint": "^8.46.2"
|
|
28
24
|
},
|
|
29
25
|
"exports": {
|
|
30
26
|
".": {
|
|
@@ -63,6 +59,10 @@
|
|
|
63
59
|
"import": "./dist/lib/ioc/component/index.js",
|
|
64
60
|
"types": "./dist/lib/ioc/component/index.d.ts"
|
|
65
61
|
},
|
|
62
|
+
"./ioc/system": {
|
|
63
|
+
"import": "./dist/lib/server/web/websocket/index.js",
|
|
64
|
+
"types": "./dist/lib/server/web/websocket/index.d.ts"
|
|
65
|
+
},
|
|
66
66
|
"./http-status": {
|
|
67
67
|
"import": "./dist/lib/server/web/http/HttpStatus.js",
|
|
68
68
|
"types": "./dist/lib/server/web/http/HttpStatus.d.ts"
|
|
@@ -79,9 +79,13 @@
|
|
|
79
79
|
"import": "./dist/lib/server/messaging/index.js",
|
|
80
80
|
"types": "./dist/lib/server/messaging/index.d.ts"
|
|
81
81
|
},
|
|
82
|
-
"./
|
|
83
|
-
"import": "./dist/lib/
|
|
84
|
-
"types": "./dist/lib/
|
|
82
|
+
"./event": {
|
|
83
|
+
"import": "./dist/lib/server/event/index.js",
|
|
84
|
+
"types": "./dist/lib/server/event/index.d.ts"
|
|
85
|
+
},
|
|
86
|
+
"./utlis": {
|
|
87
|
+
"import": "./dist/lib/utils/index.js",
|
|
88
|
+
"types": "./dist/lib/utils/index.d.ts"
|
|
85
89
|
}
|
|
86
90
|
},
|
|
87
91
|
"description": "Asena is a spring like framework for building web applications built with bun",
|
|
@@ -106,10 +110,17 @@
|
|
|
106
110
|
"scripts": {
|
|
107
111
|
"test": "bun test",
|
|
108
112
|
"test:watch": "bun test --watch",
|
|
113
|
+
"test:fail": "bun test --only-failures",
|
|
109
114
|
"test:coverage": "bun test --coverage",
|
|
110
115
|
"build": "bun run clean && tsc",
|
|
111
116
|
"clean": "rm -rf dist",
|
|
112
|
-
"pre-release": "bun update && bun run build"
|
|
117
|
+
"pre-release": "bun update && bun run build",
|
|
118
|
+
"lint": "eslint .",
|
|
119
|
+
"lint:fix": "eslint . --fix",
|
|
120
|
+
"format": "prettier --write .",
|
|
121
|
+
"format:check": "prettier --check .",
|
|
122
|
+
"check": "bun run lint && bun run format:check",
|
|
123
|
+
"check:fix": "bun run lint:fix && bun run format"
|
|
113
124
|
},
|
|
114
125
|
"types": "dist/index.d.ts"
|
|
115
126
|
}
|