@asenajs/asena 0.3.3 → 0.5.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 +165 -140
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/adapter/AsenaAdapter.d.ts +19 -3
- package/dist/lib/adapter/AsenaAdapter.js.map +1 -1
- package/dist/lib/adapter/AsenaWebsocketAdapter.d.ts +2 -2
- package/dist/lib/adapter/AsenaWebsocketAdapter.js.map +1 -1
- package/dist/lib/adapter/types/RouteParams.d.ts +3 -0
- package/dist/lib/adapter/types/ServeOptions.d.ts +2 -2
- package/dist/lib/adapter/types/index.d.ts +4 -4
- package/dist/lib/adapter/types/index.js +4 -4
- package/dist/lib/adapter/types/index.js.map +1 -1
- package/dist/lib/ioc/CircularDependencyDetector.d.ts +49 -0
- package/dist/lib/ioc/CircularDependencyDetector.js +69 -0
- package/dist/lib/ioc/CircularDependencyDetector.js.map +1 -0
- package/dist/lib/ioc/Container.d.ts +16 -0
- package/dist/lib/ioc/Container.js +61 -11
- package/dist/lib/ioc/Container.js.map +1 -1
- package/dist/lib/ioc/CoreContainer.d.ts +78 -0
- package/dist/lib/ioc/CoreContainer.js +139 -0
- package/dist/lib/ioc/CoreContainer.js.map +1 -0
- package/dist/lib/ioc/IocEngine.d.ts +16 -6
- package/dist/lib/ioc/IocEngine.js +35 -7
- package/dist/lib/ioc/IocEngine.js.map +1 -1
- package/dist/lib/ioc/component/decorators/Inject.d.ts +24 -4
- package/dist/lib/ioc/component/decorators/Inject.js +44 -7
- package/dist/lib/ioc/component/decorators/Inject.js.map +1 -1
- package/dist/lib/ioc/component/index.d.ts +1 -1
- package/dist/lib/ioc/component/index.js +1 -1
- package/dist/lib/ioc/component/index.js.map +1 -1
- package/dist/lib/ioc/constants/ComponentConstants.d.ts +27 -18
- package/dist/lib/ioc/constants/ComponentConstants.js +34 -20
- package/dist/lib/ioc/constants/ComponentConstants.js.map +1 -1
- package/dist/lib/ioc/decorators/CoreService.d.ts +8 -0
- package/dist/lib/ioc/decorators/CoreService.js +27 -0
- package/dist/lib/ioc/decorators/CoreService.js.map +1 -0
- package/dist/lib/ioc/decorators/index.d.ts +1 -0
- package/dist/lib/ioc/decorators/index.js +2 -0
- package/dist/lib/ioc/decorators/index.js.map +1 -0
- package/dist/lib/ioc/index.d.ts +5 -0
- package/dist/lib/ioc/index.js +5 -0
- package/dist/lib/ioc/index.js.map +1 -1
- package/dist/lib/ioc/types/CoreBootstrapPhase.d.ts +15 -0
- package/dist/lib/ioc/types/CoreBootstrapPhase.js +17 -0
- package/dist/lib/ioc/types/CoreBootstrapPhase.js.map +1 -0
- package/dist/lib/ioc/types/ICoreService.d.ts +9 -0
- package/dist/lib/ioc/types/ICoreService.js +2 -0
- package/dist/lib/ioc/types/ICoreService.js.map +1 -0
- package/dist/lib/ioc/types/ICoreServiceNamesType.d.ts +19 -0
- package/dist/lib/ioc/types/ICoreServiceNamesType.js +25 -0
- package/dist/lib/ioc/types/ICoreServiceNamesType.js.map +1 -0
- package/dist/lib/ioc/types/decorators/ControllerParams.d.ts +1 -1
- package/dist/lib/ioc/types/index.d.ts +3 -0
- package/dist/lib/ioc/types/index.js +3 -0
- package/dist/lib/ioc/types/index.js.map +1 -1
- package/dist/lib/server/AsenaServer.d.ts +85 -14
- package/dist/lib/server/AsenaServer.js +176 -68
- package/dist/lib/server/AsenaServer.js.map +1 -1
- package/dist/lib/server/AsenaServerFactory.d.ts +26 -0
- package/dist/lib/server/AsenaServerFactory.js +66 -0
- package/dist/lib/server/AsenaServerFactory.js.map +1 -0
- package/dist/lib/server/config/AsenaConfig.d.ts +91 -18
- package/dist/lib/server/decorators/Override.js +1 -1
- package/dist/lib/server/decorators/Override.js.map +1 -1
- package/dist/lib/server/decorators/components/Config.d.ts +1 -1
- package/dist/lib/server/decorators/components/Config.js +1 -1
- package/dist/lib/server/decorators/components/Config.js.map +1 -1
- package/dist/lib/server/decorators/components/Controller.d.ts +1 -1
- package/dist/lib/server/decorators/components/Controller.js +1 -2
- package/dist/lib/server/decorators/components/Controller.js.map +1 -1
- package/dist/lib/server/decorators/components/Middleware.js +1 -2
- package/dist/lib/server/decorators/components/Middleware.js.map +1 -1
- package/dist/lib/server/decorators/components/Schedule.d.ts +1 -1
- package/dist/lib/server/decorators/components/Schedule.js +1 -2
- package/dist/lib/server/decorators/components/Schedule.js.map +1 -1
- package/dist/lib/server/decorators/components/WebSocket.d.ts +1 -1
- package/dist/lib/server/decorators/components/WebSocket.js +1 -2
- package/dist/lib/server/decorators/components/WebSocket.js.map +1 -1
- package/dist/lib/server/decorators/index.d.ts +2 -0
- package/dist/lib/server/decorators/index.js +2 -0
- package/dist/lib/server/decorators/index.js.map +1 -1
- package/dist/lib/server/index.d.ts +3 -0
- package/dist/lib/server/index.js +4 -0
- package/dist/lib/server/index.js.map +1 -1
- package/dist/lib/server/messaging/Ulak.d.ts +224 -0
- package/dist/lib/server/messaging/Ulak.js +351 -0
- package/dist/lib/server/messaging/Ulak.js.map +1 -0
- package/dist/lib/server/messaging/index.d.ts +8 -0
- package/dist/lib/server/messaging/index.js +9 -0
- package/dist/lib/server/messaging/index.js.map +1 -0
- package/dist/lib/server/messaging/types.d.ts +73 -0
- package/dist/lib/server/messaging/types.js +35 -0
- package/dist/lib/server/messaging/types.js.map +1 -0
- package/dist/lib/server/src/services/PrepareConfigService.d.ts +9 -5
- package/dist/lib/server/src/services/PrepareConfigService.js +32 -7
- package/dist/lib/server/src/services/PrepareConfigService.js.map +1 -1
- package/dist/lib/server/src/services/PrepareMiddlewareService.d.ts +8 -5
- package/dist/lib/server/src/services/PrepareMiddlewareService.js +27 -7
- package/dist/lib/server/src/services/PrepareMiddlewareService.js.map +1 -1
- package/dist/lib/server/src/services/PrepareStaticServeConfigService.d.ts +8 -5
- package/dist/lib/server/src/services/PrepareStaticServeConfigService.js +27 -6
- package/dist/lib/server/src/services/PrepareStaticServeConfigService.js.map +1 -1
- package/dist/lib/server/src/services/PrepareValidatorService.d.ts +8 -5
- package/dist/lib/server/src/services/PrepareValidatorService.js +27 -6
- package/dist/lib/server/src/services/PrepareValidatorService.js.map +1 -1
- package/dist/lib/server/src/services/PrepareWebsocketService.d.ts +9 -5
- package/dist/lib/server/src/services/PrepareWebsocketService.js +35 -9
- 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.map +1 -1
- package/dist/lib/server/web/decorators/methods/Connect.d.ts +1 -1
- package/dist/lib/server/web/decorators/methods/Delete.d.ts +1 -1
- package/dist/lib/server/web/decorators/methods/Get.d.ts +1 -1
- package/dist/lib/server/web/decorators/methods/Head.d.ts +1 -1
- package/dist/lib/server/web/decorators/methods/Options.d.ts +1 -1
- package/dist/lib/server/web/decorators/methods/Patch.d.ts +1 -1
- package/dist/lib/server/web/decorators/methods/Post.d.ts +1 -1
- package/dist/lib/server/web/decorators/methods/Put.d.ts +1 -1
- package/dist/lib/server/web/decorators/methods/Trace.d.ts +1 -1
- package/dist/lib/server/web/websocket/AsenaSocket.js.map +1 -1
- package/dist/lib/server/web/websocket/AsenaWebSocketServer.d.ts +3 -16
- package/dist/lib/server/web/websocket/AsenaWebSocketServer.js +3 -20
- package/dist/lib/server/web/websocket/AsenaWebSocketServer.js.map +1 -1
- package/dist/lib/server/web/websocket/index.d.ts +1 -1
- package/dist/lib/server/web/websocket/index.js +1 -1
- package/dist/lib/server/web/websocket/index.js.map +1 -1
- package/dist/lib/utils/patternMatcher.d.ts +41 -0
- package/dist/lib/utils/patternMatcher.js +99 -0
- package/dist/lib/utils/patternMatcher.js.map +1 -0
- package/dist/lib/utils/typedMetadata.d.ts +3 -3
- package/dist/lib/utils/typedMetadata.js.map +1 -1
- package/package.json +19 -8
- package/dist/lib/server/src/PrepareService.d.ts +0 -8
- package/dist/lib/server/src/PrepareService.js +0 -9
- package/dist/lib/server/src/PrepareService.js.map +0 -1
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { PrepareService } from '../PrepareService';
|
|
2
1
|
import type { StaticServeClass } from '../../web/middleware';
|
|
3
2
|
import type { BaseStaticServeParams } from '../../../adapter';
|
|
4
|
-
import type
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
import { type ICoreService } from '../../../ioc';
|
|
4
|
+
/**
|
|
5
|
+
* @description Core service for preparing static serve configuration
|
|
6
|
+
* Handles static serve service resolution and configuration
|
|
7
|
+
*/
|
|
8
|
+
export declare class PrepareStaticServeConfigService implements ICoreService {
|
|
9
|
+
serviceName: string;
|
|
10
|
+
private container;
|
|
8
11
|
prepare(staticServeClass: StaticServeClass): Promise<BaseStaticServeParams>;
|
|
9
12
|
}
|
|
@@ -1,10 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
2
10
|
import { getOwnTypedMetadata, getTypedMetadata } from '../../../utils/typedMetadata';
|
|
3
11
|
import { ComponentConstants } from '../../../ioc/constants';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
12
|
+
import { CoreService, ICoreServiceNames } from '../../../ioc';
|
|
13
|
+
import { Inject } from '../../../ioc/component';
|
|
14
|
+
/**
|
|
15
|
+
* @description Core service for preparing static serve configuration
|
|
16
|
+
* Handles static serve service resolution and configuration
|
|
17
|
+
*/
|
|
18
|
+
let PrepareStaticServeConfigService = class PrepareStaticServeConfigService {
|
|
19
|
+
serviceName = 'PrepareStaticServeConfigService';
|
|
20
|
+
container;
|
|
8
21
|
async prepare(staticServeClass) {
|
|
9
22
|
if (!staticServeClass) {
|
|
10
23
|
return;
|
|
@@ -46,5 +59,13 @@ export class PrepareStaticServeConfigService extends PrepareService {
|
|
|
46
59
|
}
|
|
47
60
|
return baseStaticServeParams;
|
|
48
61
|
}
|
|
49
|
-
}
|
|
62
|
+
};
|
|
63
|
+
__decorate([
|
|
64
|
+
Inject(ICoreServiceNames.CONTAINER),
|
|
65
|
+
__metadata("design:type", Function)
|
|
66
|
+
], PrepareStaticServeConfigService.prototype, "container", void 0);
|
|
67
|
+
PrepareStaticServeConfigService = __decorate([
|
|
68
|
+
CoreService(ICoreServiceNames.PREPARE_STATIC_SERVE_CONFIG_SERVICE)
|
|
69
|
+
], PrepareStaticServeConfigService);
|
|
70
|
+
export { PrepareStaticServeConfigService };
|
|
50
71
|
//# sourceMappingURL=PrepareStaticServeConfigService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrepareStaticServeConfigService.js","sourceRoot":"","sources":["../../../../../lib/server/src/services/PrepareStaticServeConfigService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"PrepareStaticServeConfigService.js","sourceRoot":"","sources":["../../../../../lib/server/src/services/PrepareStaticServeConfigService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAkB,WAAW,EAAqB,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD;;;GAGG;AAEI,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAEnC,WAAW,GAAG,iCAAiC,CAAC;IAG/C,SAAS,CAAY;IAEtB,KAAK,CAAC,OAAO,CAAC,gBAAkC;QACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,mBAAmB,CAAS,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACvF,MAAM,IAAI,GAAG,mBAAmB,CAAS,kBAAkB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QAElG,MAAM,0BAA0B,GAC9B,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAA+B,IAAI,CAAC,CAAC;QAEnE,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,aAAa,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,SAAS,GAAa,gBAAgB,CAAW,kBAAkB,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC;QAEnH,MAAM,qBAAqB,GAA0B;YACnD,KAAK,EAAE,SAAS;YAChB,IAAI;YACJ,kBAAkB,EAAE,SAAS;YAC7B,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,SAAS;SACtB,CAAC;QAEF,IAAI,0BAA0B,CAAC,KAAK,EAAE,CAAC;YACrC,qBAAqB,CAAC,KAAK,GAAG,0BAA0B,CAAC,KAAK,CAAC;QACjE,CAAC;QAED,IAAI,0BAA0B,CAAC,kBAAkB,EAAE,CAAC;YAClD,qBAAqB,CAAC,kBAAkB,GAAG,0BAA0B,CAAC,kBAAkB,CAAC;QAC3F,CAAC;QAED,IAAI,0BAA0B,CAAC,OAAO,EAAE,CAAC;YACvC,qBAAqB,CAAC,OAAO,GAAG;gBAC9B,OAAO,EAAE,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC;gBAC5E,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;aACzC,CAAC;QACJ,CAAC;QAED,IAAI,0BAA0B,CAAC,UAAU,EAAE,CAAC;YAC1C,qBAAqB,CAAC,UAAU,GAAG;gBACjC,OAAO,EAAE,0BAA0B,CAAC,UAAU,CAAC,IAAI,CAAC,0BAA0B,CAAC;gBAC/E,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC;aAC5C,CAAC;QACJ,CAAC;QAED,OAAO,qBAAqB,CAAC;IAC/B,CAAC;CAEF,CAAA;AAxDS;IADP,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC;;kEACP;AALlB,+BAA+B;IAD3C,WAAW,CAAC,iBAAiB,CAAC,mCAAmC,CAAC;GACtD,+BAA+B,CA6D3C"}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import { PrepareService } from '../PrepareService';
|
|
2
1
|
import type { ValidatorClass } from '../../web/middleware';
|
|
3
2
|
import { type BaseValidator } from '../../../adapter';
|
|
4
|
-
import type
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
import { type ICoreService } from '../../../ioc';
|
|
4
|
+
/**
|
|
5
|
+
* @description Core service for preparing validator instances
|
|
6
|
+
* Handles validator resolution and method binding
|
|
7
|
+
*/
|
|
8
|
+
export declare class PrepareValidatorService implements ICoreService {
|
|
9
|
+
serviceName: string;
|
|
10
|
+
private container;
|
|
8
11
|
prepare(Validator: ValidatorClass<any>): Promise<BaseValidator>;
|
|
9
12
|
}
|
|
@@ -1,11 +1,24 @@
|
|
|
1
|
-
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
2
10
|
import { getTypedMetadata } from '../../../utils/typedMetadata';
|
|
3
11
|
import { ComponentConstants } from '../../../ioc/constants';
|
|
4
12
|
import { VALIDATOR_METHODS } from '../../../adapter';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
13
|
+
import { CoreService, ICoreServiceNames } from '../../../ioc';
|
|
14
|
+
import { Inject } from '../../../ioc/component';
|
|
15
|
+
/**
|
|
16
|
+
* @description Core service for preparing validator instances
|
|
17
|
+
* Handles validator resolution and method binding
|
|
18
|
+
*/
|
|
19
|
+
let PrepareValidatorService = class PrepareValidatorService {
|
|
20
|
+
serviceName = 'PrepareValidatorService';
|
|
21
|
+
container;
|
|
9
22
|
async prepare(Validator) {
|
|
10
23
|
if (!Validator) {
|
|
11
24
|
return;
|
|
@@ -28,5 +41,13 @@ export class PrepareValidatorService extends PrepareService {
|
|
|
28
41
|
});
|
|
29
42
|
return baseValidatorMiddleware;
|
|
30
43
|
}
|
|
31
|
-
}
|
|
44
|
+
};
|
|
45
|
+
__decorate([
|
|
46
|
+
Inject(ICoreServiceNames.CONTAINER),
|
|
47
|
+
__metadata("design:type", Function)
|
|
48
|
+
], PrepareValidatorService.prototype, "container", void 0);
|
|
49
|
+
PrepareValidatorService = __decorate([
|
|
50
|
+
CoreService(ICoreServiceNames.PREPARE_VALIDATOR_SERVICE)
|
|
51
|
+
], PrepareValidatorService);
|
|
52
|
+
export { PrepareValidatorService };
|
|
32
53
|
//# sourceMappingURL=PrepareValidatorService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrepareValidatorService.js","sourceRoot":"","sources":["../../../../../lib/server/src/services/PrepareValidatorService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"PrepareValidatorService.js","sourceRoot":"","sources":["../../../../../lib/server/src/services/PrepareValidatorService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAsB,iBAAiB,EAAyB,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAkB,WAAW,EAAqB,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD;;;GAGG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAE3B,WAAW,GAAG,yBAAyB,CAAC;IAGvC,SAAS,CAAY;IAEtB,KAAK,CAAC,OAAO,CAAC,SAA8B;QACjD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,gBAAgB,CAAS,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAE7E,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAA8B,IAAI,CAAC,CAAC;QAElF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,SAAS,GAAa,gBAAgB,CAAW,kBAAkB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAElG,MAAM,uBAAuB,GAAkB,EAAE,CAAC;QAElD,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACtF,uBAAuB,CAAC,GAAG,CAAC,GAAG;gBAC7B,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;gBACtC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK;aACjB,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,OAAO,uBAAuB,CAAC;IACjC,CAAC;CAEF,CAAA;AAjCS;IADP,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC;;0DACP;AALlB,uBAAuB;IADnC,WAAW,CAAC,iBAAiB,CAAC,yBAAyB,CAAC;GAC5C,uBAAuB,CAsCnC"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { ICoreService } from '../../../ioc';
|
|
2
2
|
import type { AsenaWebSocketService, WebSocketData } from '../../web/websocket';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
/**
|
|
4
|
+
* @description Core service for preparing WebSocket services
|
|
5
|
+
* Handles WebSocket resolution, path registration, and Ulak integration
|
|
6
|
+
*/
|
|
7
|
+
export declare class PrepareWebsocketService implements ICoreService {
|
|
8
|
+
serviceName: string;
|
|
9
|
+
private container;
|
|
10
|
+
private ulak;
|
|
7
11
|
prepare(): Promise<AsenaWebSocketService<WebSocketData<any>>[]>;
|
|
8
12
|
}
|
|
@@ -1,15 +1,26 @@
|
|
|
1
|
-
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
2
10
|
import { getOwnTypedMetadata } from '../../../utils/typedMetadata';
|
|
3
|
-
import { ComponentConstants } from '../../../ioc
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
11
|
+
import { ComponentConstants, ComponentType, CoreService, ICoreServiceNames } from '../../../ioc';
|
|
12
|
+
import { Inject } from '../../../ioc/component';
|
|
13
|
+
/**
|
|
14
|
+
* @description Core service for preparing WebSocket services
|
|
15
|
+
* Handles WebSocket resolution, path registration, and Ulak integration
|
|
16
|
+
*/
|
|
17
|
+
let PrepareWebsocketService = class PrepareWebsocketService {
|
|
18
|
+
serviceName = 'PrepareWebsocketService';
|
|
19
|
+
container;
|
|
20
|
+
ulak;
|
|
9
21
|
async prepare() {
|
|
10
22
|
const webSockets = await this.container.resolveAll(ComponentType.WEBSOCKET);
|
|
11
23
|
if (!webSockets?.length) {
|
|
12
|
-
this.logger.info('No websockets found');
|
|
13
24
|
return;
|
|
14
25
|
}
|
|
15
26
|
// flat the array
|
|
@@ -23,9 +34,24 @@ export class PrepareWebsocketService extends PrepareService {
|
|
|
23
34
|
}
|
|
24
35
|
registeredPaths.add(path);
|
|
25
36
|
webSocket.namespace = path;
|
|
37
|
+
// Register with Ulak messaging system
|
|
38
|
+
// Note: WebSocket decorator removes leading '/', but Ulak uses it for consistency
|
|
39
|
+
this.ulak.registerNamespace(`/${path}`, webSocket);
|
|
26
40
|
preparedWebsockets.push(webSocket);
|
|
27
41
|
}
|
|
28
42
|
return preparedWebsockets;
|
|
29
43
|
}
|
|
30
|
-
}
|
|
44
|
+
};
|
|
45
|
+
__decorate([
|
|
46
|
+
Inject(ICoreServiceNames.CONTAINER),
|
|
47
|
+
__metadata("design:type", Function)
|
|
48
|
+
], PrepareWebsocketService.prototype, "container", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
Inject(ICoreServiceNames.__ULAK__),
|
|
51
|
+
__metadata("design:type", Function)
|
|
52
|
+
], PrepareWebsocketService.prototype, "ulak", void 0);
|
|
53
|
+
PrepareWebsocketService = __decorate([
|
|
54
|
+
CoreService(ICoreServiceNames.PREPARE_WEBSOCKET_SERVICE)
|
|
55
|
+
], PrepareWebsocketService);
|
|
56
|
+
export { PrepareWebsocketService };
|
|
31
57
|
//# sourceMappingURL=PrepareWebsocketService.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PrepareWebsocketService.js","sourceRoot":"","sources":["../../../../../lib/server/src/services/PrepareWebsocketService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"PrepareWebsocketService.js","sourceRoot":"","sources":["../../../../../lib/server/src/services/PrepareWebsocketService.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjG,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAGhD;;;GAGG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAE3B,WAAW,GAAG,yBAAyB,CAAC;IAGvC,SAAS,CAAY;IAGrB,IAAI,CAAO;IAEZ,KAAK,CAAC,OAAO;QAClB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAuC,aAAa,CAAC,SAAS,CAAC,CAAC;QAElH,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QAED,iBAAiB;QACjB,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;QACzC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAE1C,MAAM,kBAAkB,GAAgD,EAAE,CAAC;QAE3E,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,mBAAmB,CAAS,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;YAE5F,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;YAC7D,CAAC;YAED,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1B,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC;YAE3B,sCAAsC;YACtC,kFAAkF;YAClF,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;YAEnD,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC5B,CAAC;CAEF,CAAA;AAtCS;IADP,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC;;0DACP;AAGrB;IADP,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC;;qDAChB;AARR,uBAAuB;IADnC,WAAW,CAAC,iBAAiB,CAAC,yBAAyB,CAAC;GAC5C,uBAAuB,CA2CnC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ApiParams, ControllerDecoratorParams, ControllerHandler } from
|
|
1
|
+
import type { ApiParams, ControllerDecoratorParams, ControllerHandler } from '../../../adapter';
|
|
2
2
|
export declare function genericHandler({ method, path, description, middlewares, staticServe, validator }: ApiParams): (route: Object, propertyKey: string, _descriptor: TypedPropertyDescriptor<ControllerHandler>) => void;
|
|
3
3
|
export declare const DEFAULT_PARAMS: ControllerDecoratorParams;
|
|
4
4
|
export declare const generateHandlerParams: (params: ControllerDecoratorParams | string) => ControllerDecoratorParams;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.base.js","sourceRoot":"","sources":["../../../../../lib/server/web/decorators/http.base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"http.base.js","sourceRoot":"","sources":["../../../../../lib/server/web/decorators/http.base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGxF,MAAM,UAAU,cAAc,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAa;IAC1G,OAAO,UAAU,KAAa,EAAE,WAAmB,EAAE,WAAuD;QAC1G,MAAM,MAAM,GAAG,mBAAmB,CAAQ,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAEhG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QAC3F,CAAC;QAED,mBAAmB,CAAQ,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAEnF,gBAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAA8B;IACvD,IAAI,EAAE,EAAE;IACR,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,SAAS;IACtB,SAAS,EAAE,SAAS;CACrB,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAA0C,EAA6B,EAAE;IAC7G,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO;YACL,GAAG,cAAc;YACjB,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAG,cAAc;QACjB,GAAG,MAAM;QACT,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC;KACvC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ControllerDecoratorParams } from
|
|
1
|
+
import type { ControllerDecoratorParams } from '../../../../adapter';
|
|
2
2
|
/**
|
|
3
3
|
* Decorator for handling HTTP CONNECT requests.
|
|
4
4
|
* @param {ControllerDecoratorParams | string} params - The parameters for the CONNECT request.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ControllerDecoratorParams } from
|
|
1
|
+
import type { ControllerDecoratorParams } from '../../../../adapter';
|
|
2
2
|
/**
|
|
3
3
|
* Decorator for handling HTTP DELETE requests.
|
|
4
4
|
* @param {ControllerDecoratorParams | string} params - The parameters for the DELETE request.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ControllerDecoratorParams } from
|
|
1
|
+
import type { ControllerDecoratorParams } from '../../../../adapter';
|
|
2
2
|
/**
|
|
3
3
|
* Decorator for handling HTTP GET requests.
|
|
4
4
|
* @param {ControllerDecoratorParams | string} params - The parameters for the GET request.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ControllerDecoratorParams } from
|
|
1
|
+
import type { ControllerDecoratorParams } from '../../../../adapter';
|
|
2
2
|
/**
|
|
3
3
|
* Decorator for handling HTTP HEAD requests.
|
|
4
4
|
* @param {ControllerDecoratorParams | string} params - The parameters for the HEAD request.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ControllerDecoratorParams } from
|
|
1
|
+
import type { ControllerDecoratorParams } from '../../../../adapter';
|
|
2
2
|
/**
|
|
3
3
|
* Decorator for handling HTTP OPTIONS requests.
|
|
4
4
|
* @param {ControllerDecoratorParams | string} params - The parameters for the OPTIONS request.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ControllerDecoratorParams } from
|
|
1
|
+
import type { ControllerDecoratorParams } from '../../../../adapter';
|
|
2
2
|
/**
|
|
3
3
|
* Decorator for handling HTTP PATCH requests.
|
|
4
4
|
* @param {ControllerDecoratorParams | string} params - The parameters for the PATCH request.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ControllerDecoratorParams } from
|
|
1
|
+
import type { ControllerDecoratorParams } from '../../../../adapter';
|
|
2
2
|
/**
|
|
3
3
|
* Decorator for handling HTTP POST requests.
|
|
4
4
|
* @param {ControllerDecoratorParams | string} params - The parameters for the POST request.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ControllerDecoratorParams } from
|
|
1
|
+
import type { ControllerDecoratorParams } from '../../../../adapter';
|
|
2
2
|
/**
|
|
3
3
|
* Decorator for handling HTTP PUT requests.
|
|
4
4
|
* @param {ControllerDecoratorParams | string} params - The parameters for the PUT request.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ControllerDecoratorParams } from
|
|
1
|
+
import type { ControllerDecoratorParams } from '../../../../adapter';
|
|
2
2
|
/**
|
|
3
3
|
* Decorator for handling HTTP TRACE requests.
|
|
4
4
|
* @param {ControllerDecoratorParams | string} params - The parameters for the TRACE request.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsenaSocket.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/AsenaSocket.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,WAAW;IAEd,EAAE,CAAoC;IAEtC,cAAc,CAAS;IAEvB,WAAW,CAAsB;IAEjC,WAAW,CAA+C;IAE1D,KAAK,CAAmB;IAExB,GAAG,CAAS;IAEZ,iBAAiB,CAA6B;IAEtD,YAAmB,EAAqC,EAAE,gBAA4C;QACpG,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,aAAa,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,UAAU,CAAC;QACjC,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,CAAC;IAEM,IAAI,CAAC,IAAyC,EAAE,QAAkB;QACvE,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IAEM,QAAQ,CAAC,IAAY,EAAE,QAAkB;QAC9C,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAEM,UAAU,CAAC,IAAgC,EAAE,QAAkB;QACpE,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAEM,KAAK,CAAC,IAAa,EAAE,MAAe;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9B,CAAC;IAEM,SAAS;QACd,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC;IACtB,CAAC;IAEM,IAAI,CAAC,IAA0C;QACpD,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEM,IAAI,CAAC,IAA0C;QACpD,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEM,OAAO,CACZ,KAAa,EACb,IAAyC,EACzC,QAAkB;QAElB,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClE,CAAC;IAEM,WAAW,CAAC,KAAa,EAAE,IAAY,EAAE,QAAkB;QAChE,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtE,CAAC;IAEM,aAAa,CAAC,KAAa,EAAE,IAAgC,EAAE,QAAkB;QACtF,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC;IAEM,SAAS,CAAC,KAAa;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEM,WAAW,CAAC,KAAa;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAErD,IAAI,IAAI,EAAE,CAAC;YACT,6DAA6D;YAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;YAE1D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7C,CAAC;iBAAM,IAAI,YAAY,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC/C,+CAA+C;gBAC/C,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAC;IAEM,OAAO;QACZ,qEAAqE;QACrE,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"AsenaSocket.js","sourceRoot":"","sources":["../../../../../lib/server/web/websocket/AsenaSocket.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,8 @@ import type { Server } from 'bun';
|
|
|
2
2
|
/**
|
|
3
3
|
* AsenaWebSocketServer class handles WebSocket server operations and message broadcasting
|
|
4
4
|
*
|
|
5
|
-
* This class provides a wrapper around Bun's WebSocket Server implementation
|
|
6
|
-
*
|
|
5
|
+
* This class provides a thin wrapper around Bun's WebSocket Server implementation.
|
|
6
|
+
* All WebSocket services share a single instance of this wrapper for efficiency.
|
|
7
7
|
*/
|
|
8
8
|
export declare class AsenaWebSocketServer {
|
|
9
9
|
/**
|
|
@@ -11,19 +11,12 @@ export declare class AsenaWebSocketServer {
|
|
|
11
11
|
* @private
|
|
12
12
|
*/
|
|
13
13
|
private server;
|
|
14
|
-
/**
|
|
15
|
-
* The topic identifier for this WebSocket server
|
|
16
|
-
* @private
|
|
17
|
-
* @readonly
|
|
18
|
-
*/
|
|
19
|
-
private readonly topic;
|
|
20
14
|
/**
|
|
21
15
|
* Creates a new instance of AsenaWebSocketServer
|
|
22
16
|
*
|
|
23
17
|
* @param server - The Bun Server instance to use
|
|
24
|
-
* @param topic - The topic identifier for this WebSocket server
|
|
25
18
|
*/
|
|
26
|
-
constructor(server: Server
|
|
19
|
+
constructor(server: Server<any>);
|
|
27
20
|
/**
|
|
28
21
|
* Publishes data to a specific namespace
|
|
29
22
|
*
|
|
@@ -39,10 +32,4 @@ export declare class AsenaWebSocketServer {
|
|
|
39
32
|
* @param data - The data to publish
|
|
40
33
|
*/
|
|
41
34
|
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
|
-
*/
|
|
47
|
-
get websocketCount(): number;
|
|
48
35
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
// TODO: this section needs to rework
|
|
2
1
|
/**
|
|
3
2
|
* AsenaWebSocketServer class handles WebSocket server operations and message broadcasting
|
|
4
3
|
*
|
|
5
|
-
* This class provides a wrapper around Bun's WebSocket Server implementation
|
|
6
|
-
*
|
|
4
|
+
* This class provides a thin wrapper around Bun's WebSocket Server implementation.
|
|
5
|
+
* All WebSocket services share a single instance of this wrapper for efficiency.
|
|
7
6
|
*/
|
|
8
7
|
export class AsenaWebSocketServer {
|
|
9
8
|
/**
|
|
@@ -11,21 +10,13 @@ export class AsenaWebSocketServer {
|
|
|
11
10
|
* @private
|
|
12
11
|
*/
|
|
13
12
|
server;
|
|
14
|
-
/**
|
|
15
|
-
* The topic identifier for this WebSocket server
|
|
16
|
-
* @private
|
|
17
|
-
* @readonly
|
|
18
|
-
*/
|
|
19
|
-
topic;
|
|
20
13
|
/**
|
|
21
14
|
* Creates a new instance of AsenaWebSocketServer
|
|
22
15
|
*
|
|
23
16
|
* @param server - The Bun Server instance to use
|
|
24
|
-
* @param topic - The topic identifier for this WebSocket server
|
|
25
17
|
*/
|
|
26
|
-
constructor(server
|
|
18
|
+
constructor(server) {
|
|
27
19
|
this.server = server;
|
|
28
|
-
this.topic = topic;
|
|
29
20
|
}
|
|
30
21
|
/**
|
|
31
22
|
* Publishes data to a specific namespace
|
|
@@ -55,13 +46,5 @@ export class AsenaWebSocketServer {
|
|
|
55
46
|
in(nameSpace, data) {
|
|
56
47
|
this.to(nameSpace, data);
|
|
57
48
|
}
|
|
58
|
-
/**
|
|
59
|
-
* Gets the current number of WebSocket subscribers for this server's topic
|
|
60
|
-
*
|
|
61
|
-
* @returns The number of active WebSocket connections
|
|
62
|
-
*/
|
|
63
|
-
get websocketCount() {
|
|
64
|
-
return this.server.subscriberCount(this.topic);
|
|
65
|
-
}
|
|
66
49
|
}
|
|
67
50
|
//# sourceMappingURL=AsenaWebSocketServer.js.map
|
|
@@ -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":"AAEA;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IAE/B;;;OAGG;IACK,MAAM,CAAc;IAE5B;;;;OAIG;IACH,YAAmB,MAAmB;QACpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,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;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;AAC9B,cAAc,wBAAwB,
|
|
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,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern matching utility for global middleware routing
|
|
3
|
+
*
|
|
4
|
+
* Supports:
|
|
5
|
+
* - Exact match: '/users'
|
|
6
|
+
* - Wildcard: '/api/*'
|
|
7
|
+
* - Parameters: '/users/:id'
|
|
8
|
+
* - Multiple patterns: ['/api/*', '/admin/*']
|
|
9
|
+
*/
|
|
10
|
+
import type { GlobalMiddlewareRouteConfig } from '../server/config';
|
|
11
|
+
/**
|
|
12
|
+
* Checks if a path matches a pattern
|
|
13
|
+
*
|
|
14
|
+
* @param path - Request path to test (e.g., '/api/users/123')
|
|
15
|
+
* @param pattern - Pattern to match against (e.g., '/api/*', '/users/:id')
|
|
16
|
+
* @returns true if path matches pattern
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* matchesPattern('/api/users', '/api/*') // => true
|
|
20
|
+
* matchesPattern('/api/users/123', '/api/users/:id') // => true
|
|
21
|
+
* matchesPattern('/health', '/api/*') // => false
|
|
22
|
+
*/
|
|
23
|
+
export declare function matchesPattern(path: string, pattern: string): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Checks if a path should have middleware applied based on include/exclude rules
|
|
26
|
+
*
|
|
27
|
+
* Rules:
|
|
28
|
+
* 1. If no include patterns, default to ['*'] (all routes)
|
|
29
|
+
* 2. Path must match at least one include pattern
|
|
30
|
+
* 3. Exclude patterns take precedence (if matched, return false)
|
|
31
|
+
*
|
|
32
|
+
* @param path - Request path to test
|
|
33
|
+
* @param config - Route configuration with include/exclude patterns
|
|
34
|
+
* @returns true if middleware should be applied to this path
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* shouldApplyMiddleware('/api/users', { include: ['/api/*'] }) // => true
|
|
38
|
+
* shouldApplyMiddleware('/health', { exclude: ['/health'] }) // => false
|
|
39
|
+
* shouldApplyMiddleware('/api/health', { include: ['/api/*'], exclude: ['/api/health'] }) // => false
|
|
40
|
+
*/
|
|
41
|
+
export declare function shouldApplyMiddleware(path: string, config?: GlobalMiddlewareRouteConfig): boolean;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern matching utility for global middleware routing
|
|
3
|
+
*
|
|
4
|
+
* Supports:
|
|
5
|
+
* - Exact match: '/users'
|
|
6
|
+
* - Wildcard: '/api/*'
|
|
7
|
+
* - Parameters: '/users/:id'
|
|
8
|
+
* - Multiple patterns: ['/api/*', '/admin/*']
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Checks if a path matches a pattern
|
|
12
|
+
*
|
|
13
|
+
* @param path - Request path to test (e.g., '/api/users/123')
|
|
14
|
+
* @param pattern - Pattern to match against (e.g., '/api/*', '/users/:id')
|
|
15
|
+
* @returns true if path matches pattern
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* matchesPattern('/api/users', '/api/*') // => true
|
|
19
|
+
* matchesPattern('/api/users/123', '/api/users/:id') // => true
|
|
20
|
+
* matchesPattern('/health', '/api/*') // => false
|
|
21
|
+
*/
|
|
22
|
+
export function matchesPattern(path, pattern) {
|
|
23
|
+
// Exact match
|
|
24
|
+
if (path === pattern) {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
// Wildcard pattern: /api/* matches /api/users, /api/users/123, etc.
|
|
28
|
+
if (pattern.includes('*')) {
|
|
29
|
+
const regexPattern = pattern
|
|
30
|
+
.split('/')
|
|
31
|
+
.map((segment) => {
|
|
32
|
+
if (segment === '*') {
|
|
33
|
+
return '.*'; // Match any characters
|
|
34
|
+
}
|
|
35
|
+
if (segment.includes('*')) {
|
|
36
|
+
return segment.replace(/\*/g, '.*'); // Partial wildcard
|
|
37
|
+
}
|
|
38
|
+
return segment.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // Escape special chars
|
|
39
|
+
})
|
|
40
|
+
.join('\\/');
|
|
41
|
+
const regex = new RegExp(`^${regexPattern}$`);
|
|
42
|
+
return regex.test(path);
|
|
43
|
+
}
|
|
44
|
+
// Parameter pattern: /users/:id matches /users/123, /users/abc, etc.
|
|
45
|
+
if (pattern.includes(':')) {
|
|
46
|
+
const regexPattern = pattern
|
|
47
|
+
.split('/')
|
|
48
|
+
.map((segment) => {
|
|
49
|
+
if (segment.startsWith(':')) {
|
|
50
|
+
return '[^/]+'; // Match any non-slash characters
|
|
51
|
+
}
|
|
52
|
+
return segment.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // Escape special chars
|
|
53
|
+
})
|
|
54
|
+
.join('\\/');
|
|
55
|
+
const regex = new RegExp(`^${regexPattern}$`);
|
|
56
|
+
return regex.test(path);
|
|
57
|
+
}
|
|
58
|
+
// No match
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Checks if a path should have middleware applied based on include/exclude rules
|
|
63
|
+
*
|
|
64
|
+
* Rules:
|
|
65
|
+
* 1. If no include patterns, default to ['*'] (all routes)
|
|
66
|
+
* 2. Path must match at least one include pattern
|
|
67
|
+
* 3. Exclude patterns take precedence (if matched, return false)
|
|
68
|
+
*
|
|
69
|
+
* @param path - Request path to test
|
|
70
|
+
* @param config - Route configuration with include/exclude patterns
|
|
71
|
+
* @returns true if middleware should be applied to this path
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* shouldApplyMiddleware('/api/users', { include: ['/api/*'] }) // => true
|
|
75
|
+
* shouldApplyMiddleware('/health', { exclude: ['/health'] }) // => false
|
|
76
|
+
* shouldApplyMiddleware('/api/health', { include: ['/api/*'], exclude: ['/api/health'] }) // => false
|
|
77
|
+
*/
|
|
78
|
+
export function shouldApplyMiddleware(path, config) {
|
|
79
|
+
// No config means apply to all routes
|
|
80
|
+
if (!config) {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
const { include = ['*'], exclude = [] } = config;
|
|
84
|
+
// Check exclusions first (they take precedence)
|
|
85
|
+
for (const excludePattern of exclude) {
|
|
86
|
+
if (matchesPattern(path, excludePattern)) {
|
|
87
|
+
return false; // Excluded, don't apply
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// Check inclusions
|
|
91
|
+
for (const includePattern of include) {
|
|
92
|
+
if (matchesPattern(path, includePattern)) {
|
|
93
|
+
return true; // Included and not excluded, apply
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
// Not included, don't apply
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=patternMatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patternMatcher.js","sourceRoot":"","sources":["../../../lib/utils/patternMatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,OAAe;IAC1D,cAAc;IACd,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oEAAoE;IACpE,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,OAAO;aACzB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACf,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,CAAC,uBAAuB;YACtC,CAAC;YAED,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,mBAAmB;YAC1D,CAAC;YAED,OAAO,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,uBAAuB;QAChF,CAAC,CAAC;aACD,IAAI,CAAC,KAAK,CAAC,CAAC;QAEf,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC;QAE9C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,qEAAqE;IACrE,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,YAAY,GAAG,OAAO;aACzB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACf,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,OAAO,CAAC,CAAC,iCAAiC;YACnD,CAAC;YAED,OAAO,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,uBAAuB;QAChF,CAAC,CAAC;aACD,IAAI,CAAC,KAAK,CAAC,CAAC;QAEf,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC;QAE9C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,WAAW;IACX,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY,EAAE,MAAoC;IACtF,sCAAsC;IACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC;IAEjD,gDAAgD;IAChD,KAAK,MAAM,cAAc,IAAI,OAAO,EAAE,CAAC;QACrC,IAAI,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC;YACzC,OAAO,KAAK,CAAC,CAAC,wBAAwB;QACxC,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,KAAK,MAAM,cAAc,IAAI,OAAO,EAAE,CAAC;QACrC,IAAI,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC,CAAC,mCAAmC;QAClD,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,OAAO,KAAK,CAAC;AACf,CAAC"}
|