@asenajs/asena 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/dist/lib/adapter/AsenaAdapter.d.ts +18 -15
  2. package/dist/lib/adapter/AsenaAdapter.js +9 -19
  3. package/dist/lib/adapter/AsenaAdapter.js.map +1 -1
  4. package/dist/lib/adapter/AsenaContext.d.ts +1 -1
  5. package/dist/lib/adapter/AsenaWebsocketAdapter.d.ts +10 -27
  6. package/dist/lib/adapter/AsenaWebsocketAdapter.js +4 -25
  7. package/dist/lib/adapter/AsenaWebsocketAdapter.js.map +1 -1
  8. package/dist/lib/adapter/types/ApiParams.d.ts +3 -3
  9. package/dist/lib/adapter/types/BaseStaticServeParams.d.ts +12 -0
  10. package/dist/lib/adapter/types/BaseStaticServeParams.js +2 -0
  11. package/dist/lib/adapter/types/BaseStaticServeParams.js.map +1 -0
  12. package/dist/lib/adapter/types/RouteParams.d.ts +11 -4
  13. package/dist/lib/adapter/types/WebSocketRegistry.d.ts +1 -7
  14. package/dist/lib/adapter/types/index.d.ts +1 -1
  15. package/dist/lib/adapter/types/index.js +1 -1
  16. package/dist/lib/adapter/types/index.js.map +1 -1
  17. package/dist/lib/ioc/Container.js +10 -4
  18. package/dist/lib/ioc/Container.js.map +1 -1
  19. package/dist/lib/ioc/IocEngine.js +1 -1
  20. package/dist/lib/ioc/IocEngine.js.map +1 -1
  21. package/dist/lib/ioc/component/Scope.js.map +1 -0
  22. package/dist/lib/ioc/component/componentUtils.js +2 -1
  23. package/dist/lib/ioc/component/componentUtils.js.map +1 -1
  24. package/dist/lib/ioc/component/decorators/Inject.js +3 -2
  25. package/dist/lib/ioc/component/decorators/Inject.js.map +1 -1
  26. package/dist/lib/ioc/component/decorators/Strategy.js +2 -2
  27. package/dist/lib/ioc/component/decorators/Strategy.js.map +1 -1
  28. package/dist/lib/ioc/component/index.d.ts +1 -0
  29. package/dist/lib/ioc/component/index.js +1 -0
  30. package/dist/lib/ioc/component/index.js.map +1 -1
  31. package/dist/lib/ioc/constants/ComponentConstants.d.ts +2 -1
  32. package/dist/lib/ioc/constants/ComponentConstants.js +1 -0
  33. package/dist/lib/ioc/constants/ComponentConstants.js.map +1 -1
  34. package/dist/lib/ioc/helper/iocHelper.d.ts +1 -5
  35. package/dist/lib/ioc/helper/iocHelper.js.map +1 -1
  36. package/dist/lib/ioc/types/decorators/ComponentParams.d.ts +1 -1
  37. package/dist/lib/ioc/types/index.d.ts +0 -1
  38. package/dist/lib/ioc/types/index.js +0 -1
  39. package/dist/lib/ioc/types/index.js.map +1 -1
  40. package/dist/lib/logger/defaults.d.ts +4 -0
  41. package/dist/lib/logger/defaults.js +5 -0
  42. package/dist/lib/logger/defaults.js.map +1 -0
  43. package/dist/lib/logger/index.d.ts +1 -1
  44. package/dist/lib/logger/index.js +1 -1
  45. package/dist/lib/logger/index.js.map +1 -1
  46. package/dist/lib/server/AsenaServer.d.ts +9 -4
  47. package/dist/lib/server/AsenaServer.js +42 -91
  48. package/dist/lib/server/AsenaServer.js.map +1 -1
  49. package/dist/lib/server/decorators/Override.js +2 -2
  50. package/dist/lib/server/decorators/Override.js.map +1 -1
  51. package/dist/lib/server/decorators/components/Middleware.js +2 -5
  52. package/dist/lib/server/decorators/components/Middleware.js.map +1 -1
  53. package/dist/lib/server/decorators/components/StaticServe.d.ts +17 -0
  54. package/dist/lib/server/decorators/components/StaticServe.js +27 -0
  55. package/dist/lib/server/decorators/components/StaticServe.js.map +1 -0
  56. package/dist/lib/server/decorators/components/WebSocket.js +4 -0
  57. package/dist/lib/server/decorators/components/WebSocket.js.map +1 -1
  58. package/dist/lib/server/decorators/components/index.d.ts +1 -0
  59. package/dist/lib/server/decorators/components/index.js +1 -0
  60. package/dist/lib/server/decorators/components/index.js.map +1 -1
  61. package/dist/lib/server/src/PrepareService.d.ts +8 -0
  62. package/dist/lib/server/src/PrepareService.js +9 -0
  63. package/dist/lib/server/src/PrepareService.js.map +1 -0
  64. package/dist/lib/server/src/services/PrepareConfigService.d.ts +8 -0
  65. package/dist/lib/server/src/services/PrepareConfigService.js +32 -0
  66. package/dist/lib/server/src/services/PrepareConfigService.js.map +1 -0
  67. package/dist/lib/server/src/services/PrepareMiddlewareService.d.ts +14 -0
  68. package/dist/lib/server/src/services/PrepareMiddlewareService.js +33 -0
  69. package/dist/lib/server/src/services/PrepareMiddlewareService.js.map +1 -0
  70. package/dist/lib/server/src/services/PrepareStaticServeConfigService.d.ts +9 -0
  71. package/dist/lib/server/src/services/PrepareStaticServeConfigService.js +50 -0
  72. package/dist/lib/server/src/services/PrepareStaticServeConfigService.js.map +1 -0
  73. package/dist/lib/server/src/services/PrepareValidatorService.d.ts +9 -0
  74. package/dist/lib/server/src/services/PrepareValidatorService.js +32 -0
  75. package/dist/lib/server/src/services/PrepareValidatorService.js.map +1 -0
  76. package/dist/lib/server/src/services/PrepareWebsocketService.d.ts +8 -0
  77. package/dist/lib/server/src/services/PrepareWebsocketService.js +31 -0
  78. package/dist/lib/server/src/services/PrepareWebsocketService.js.map +1 -0
  79. package/dist/lib/server/types/index.d.ts +1 -2
  80. package/dist/lib/server/types/index.js +1 -2
  81. package/dist/lib/server/types/index.js.map +1 -1
  82. package/dist/lib/server/web/decorators/http.base.js +1 -1
  83. package/dist/lib/server/web/decorators/http.base.js.map +1 -1
  84. package/dist/lib/server/web/helper/middlewareHelper.d.ts +1 -1
  85. package/dist/lib/server/web/helper/middlewareHelper.js +1 -1
  86. package/dist/lib/server/web/helper/middlewareHelper.js.map +1 -1
  87. package/dist/lib/server/web/middleware/AsenaStaticServeService.d.ts +57 -0
  88. package/dist/lib/server/web/middleware/AsenaStaticServeService.js +20 -0
  89. package/dist/lib/server/web/middleware/AsenaStaticServeService.js.map +1 -0
  90. package/dist/lib/server/web/middleware/index.d.ts +1 -0
  91. package/dist/lib/server/web/middleware/index.js +1 -0
  92. package/dist/lib/server/web/middleware/index.js.map +1 -1
  93. package/package.json +31 -35
  94. package/dist/lib/adapter/types/WebsocketAdapterParams.d.ts +0 -11
  95. package/dist/lib/adapter/types/WebsocketAdapterParams.js +0 -2
  96. package/dist/lib/adapter/types/WebsocketAdapterParams.js.map +0 -1
  97. package/dist/lib/ioc/types/Scope.js.map +0 -1
  98. package/dist/lib/logger/DefaultLogger.d.ts +0 -15
  99. package/dist/lib/logger/DefaultLogger.js +0 -31
  100. package/dist/lib/logger/DefaultLogger.js.map +0 -1
  101. /package/dist/lib/ioc/{types → component}/Scope.d.ts +0 -0
  102. /package/dist/lib/ioc/{types → component}/Scope.js +0 -0
@@ -0,0 +1,33 @@
1
+ import { PrepareService } from '../PrepareService';
2
+ import { getTypedMetadata } from '../../../utils/typedMetadata';
3
+ import { ComponentConstants } from '../../../ioc/constants';
4
+ export class PrepareMiddlewareService extends PrepareService {
5
+ constructor(container, logger) {
6
+ super(container, logger);
7
+ }
8
+ /**
9
+ * @description Prepares middleware instances from middleware classes
10
+ * @param {MiddlewareClass[]} middlewares - Middleware classes to prepare
11
+ * @returns {Promise<BaseMiddleware[]>} Prepared middleware instances
12
+ */
13
+ async prepare(middlewares) {
14
+ const preparedMiddlewares = [];
15
+ for (const middleware of middlewares) {
16
+ const name = getTypedMetadata(ComponentConstants.NameKey, middleware);
17
+ const override = getTypedMetadata(ComponentConstants.OverrideKey, middleware);
18
+ const isOverride = override ? override.includes('handle') : false;
19
+ const instances = await this.container.resolve(name);
20
+ if (!instances)
21
+ continue;
22
+ const normalizedInstances = Array.isArray(instances) ? instances : [instances];
23
+ for (const instance of normalizedInstances) {
24
+ preparedMiddlewares.push({
25
+ handle: instance.handle.bind(instance),
26
+ override: isOverride,
27
+ });
28
+ }
29
+ }
30
+ return preparedMiddlewares;
31
+ }
32
+ }
33
+ //# sourceMappingURL=PrepareMiddlewareService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrepareMiddlewareService.js","sourceRoot":"","sources":["../../../../../lib/server/src/services/PrepareMiddlewareService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI5D,MAAM,OAAO,wBAAyB,SAAQ,cAAc;IAE1D,YAAmB,SAAoB,EAAE,MAAoB;QAC3D,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO,CAAC,WAA8B;QACjD,MAAM,mBAAmB,GAAqB,EAAE,CAAC;QAEjD,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,gBAAgB,CAAS,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC9E,MAAM,QAAQ,GAAG,gBAAgB,CAAW,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACxF,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAElE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAyB,IAAI,CAAC,CAAC;YAE7E,IAAI,CAAC,SAAS;gBAAE,SAAS;YAEzB,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAE/E,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE,CAAC;gBAC3C,mBAAmB,CAAC,IAAI,CAAC;oBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;oBACtC,QAAQ,EAAE,UAAU;iBACrB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,mBAAmB,CAAC;IAC7B,CAAC;CAEF"}
@@ -0,0 +1,9 @@
1
+ import { PrepareService } from '../PrepareService';
2
+ import type { StaticServeClass } from '../../web/middleware';
3
+ import type { BaseStaticServeParams } from '../../../adapter';
4
+ import type { Container } from '../../../ioc';
5
+ import type { ServerLogger } from '../../../logger';
6
+ export declare class PrepareStaticServeConfigService extends PrepareService {
7
+ constructor(container: Container, logger: ServerLogger);
8
+ prepare(staticServeClass: StaticServeClass): Promise<BaseStaticServeParams>;
9
+ }
@@ -0,0 +1,50 @@
1
+ import { PrepareService } from '../PrepareService';
2
+ import { getTypedMetadata } from '../../../utils/typedMetadata';
3
+ import { ComponentConstants } from '../../../ioc/constants';
4
+ export class PrepareStaticServeConfigService extends PrepareService {
5
+ constructor(container, logger) {
6
+ super(container, logger);
7
+ }
8
+ async prepare(staticServeClass) {
9
+ if (!staticServeClass) {
10
+ return;
11
+ }
12
+ const name = getTypedMetadata(ComponentConstants.NameKey, staticServeClass);
13
+ const root = getTypedMetadata(ComponentConstants.StaticServeRootKey, staticServeClass);
14
+ const staticServeService = await this.container.resolve(name);
15
+ if (!staticServeService) {
16
+ throw new Error(`Static Serve service ${name} not found.`);
17
+ }
18
+ if (Array.isArray(staticServeService)) {
19
+ throw new Error('Static serve service cannot be array');
20
+ }
21
+ const overrides = getTypedMetadata(ComponentConstants.OverrideKey, staticServeService);
22
+ const baseStaticServeParams = {
23
+ extra: undefined,
24
+ root,
25
+ rewriteRequestPath: undefined,
26
+ onFound: undefined,
27
+ onNotFound: undefined,
28
+ };
29
+ if (staticServeService.extra) {
30
+ baseStaticServeParams.extra = staticServeService.extra;
31
+ }
32
+ if (staticServeService.rewriteRequestPath) {
33
+ baseStaticServeParams.rewriteRequestPath = staticServeService.rewriteRequestPath;
34
+ }
35
+ if (staticServeService.onFound) {
36
+ baseStaticServeParams.onFound = {
37
+ handler: staticServeService.onFound.bind(staticServeService),
38
+ override: overrides?.includes('onFound'),
39
+ };
40
+ }
41
+ if (staticServeService.onNotFound) {
42
+ baseStaticServeParams.onNotFound = {
43
+ handler: staticServeService.onNotFound.bind(staticServeService),
44
+ override: overrides?.includes('onNotFound'),
45
+ };
46
+ }
47
+ return baseStaticServeParams;
48
+ }
49
+ }
50
+ //# sourceMappingURL=PrepareStaticServeConfigService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrepareStaticServeConfigService.js","sourceRoot":"","sources":["../../../../../lib/server/src/services/PrepareStaticServeConfigService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAM5D,MAAM,OAAO,+BAAgC,SAAQ,cAAc;IAEjE,YAAmB,SAAoB,EAAE,MAAoB;QAC3D,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,gBAAkC;QACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,gBAAgB,CAAS,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QACpF,MAAM,IAAI,GAAG,gBAAgB,CAAS,kBAAkB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;QAE/F,MAAM,kBAAkB,GACtB,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAA+B,IAAI,CAAC,CAAC;QAEnE,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,aAAa,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,SAAS,GAAa,gBAAgB,CAAW,kBAAkB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAE3G,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,kBAAkB,CAAC,KAAK,EAAE,CAAC;YAC7B,qBAAqB,CAAC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC;QACzD,CAAC;QAED,IAAI,kBAAkB,CAAC,kBAAkB,EAAE,CAAC;YAC1C,qBAAqB,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,kBAAkB,CAAC;QACnF,CAAC;QAED,IAAI,kBAAkB,CAAC,OAAO,EAAE,CAAC;YAC/B,qBAAqB,CAAC,OAAO,GAAG;gBAC9B,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBAC5D,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC;aACzC,CAAC;QACJ,CAAC;QAED,IAAI,kBAAkB,CAAC,UAAU,EAAE,CAAC;YAClC,qBAAqB,CAAC,UAAU,GAAG;gBACjC,OAAO,EAAE,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC;gBAC/D,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC;aAC5C,CAAC;QACJ,CAAC;QAED,OAAO,qBAAqB,CAAC;IAC/B,CAAC;CAEF"}
@@ -0,0 +1,9 @@
1
+ import { PrepareService } from '../PrepareService';
2
+ import type { ValidatorClass } from '../../web/middleware';
3
+ import { type BaseValidator } from '../../../adapter';
4
+ import type { Container } from '../../../ioc';
5
+ import type { ServerLogger } from '../../../logger';
6
+ export declare class PrepareValidatorService extends PrepareService {
7
+ constructor(container: Container, logger: ServerLogger);
8
+ prepare(Validator: ValidatorClass<any>): Promise<BaseValidator>;
9
+ }
@@ -0,0 +1,32 @@
1
+ import { PrepareService } from '../PrepareService';
2
+ import { getTypedMetadata } from '../../../utils/typedMetadata';
3
+ import { ComponentConstants } from '../../../ioc/constants';
4
+ import { VALIDATOR_METHODS } from '../../../adapter';
5
+ export class PrepareValidatorService extends PrepareService {
6
+ constructor(container, logger) {
7
+ super(container, logger);
8
+ }
9
+ async prepare(Validator) {
10
+ if (!Validator) {
11
+ return;
12
+ }
13
+ const name = getTypedMetadata(ComponentConstants.NameKey, Validator);
14
+ const validator = await this.container.resolve(name);
15
+ if (!validator) {
16
+ throw new Error('Validator not found:' + name);
17
+ }
18
+ if (Array.isArray(validator)) {
19
+ throw new Error('Validator cannot be array');
20
+ }
21
+ const overrides = getTypedMetadata(ComponentConstants.OverrideKey, validator);
22
+ const baseValidatorMiddleware = {};
23
+ VALIDATOR_METHODS.filter((key) => typeof validator[key] === 'function').forEach((key) => {
24
+ baseValidatorMiddleware[key] = {
25
+ handle: validator[key].bind(validator),
26
+ override: overrides?.includes(key) || false,
27
+ };
28
+ });
29
+ return baseValidatorMiddleware;
30
+ }
31
+ }
32
+ //# sourceMappingURL=PrepareValidatorService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrepareValidatorService.js","sourceRoot":"","sources":["../../../../../lib/server/src/services/PrepareValidatorService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAsB,iBAAiB,EAAyB,MAAM,kBAAkB,CAAC;AAIhG,MAAM,OAAO,uBAAwB,SAAQ,cAAc;IAEzD,YAAmB,SAAoB,EAAE,MAAoB;QAC3D,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;IAEM,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"}
@@ -0,0 +1,8 @@
1
+ import { PrepareService } from '../PrepareService';
2
+ import type { AsenaWebSocketService, WebSocketData } from '../../web/websocket';
3
+ import type { Container } from '../../../ioc';
4
+ import type { ServerLogger } from '../../../logger';
5
+ export declare class PrepareWebsocketService extends PrepareService {
6
+ constructor(container: Container, logger: ServerLogger);
7
+ prepare(): Promise<AsenaWebSocketService<WebSocketData<any>>[]>;
8
+ }
@@ -0,0 +1,31 @@
1
+ import { PrepareService } from '../PrepareService';
2
+ import { getOwnTypedMetadata } from '../../../utils/typedMetadata';
3
+ import { ComponentConstants } from '../../../ioc/constants';
4
+ import { ComponentType } from '../../../ioc/types';
5
+ export class PrepareWebsocketService extends PrepareService {
6
+ constructor(container, logger) {
7
+ super(container, logger);
8
+ }
9
+ async prepare() {
10
+ const webSockets = await this.container.resolveAll(ComponentType.WEBSOCKET);
11
+ if (!webSockets?.length) {
12
+ this.logger.info('No websockets found');
13
+ return;
14
+ }
15
+ // flat the array
16
+ const flatWebSockets = webSockets.flat();
17
+ const registeredPaths = new Set();
18
+ const preparedWebsockets = [];
19
+ for (const webSocket of flatWebSockets) {
20
+ const path = getOwnTypedMetadata(ComponentConstants.PathKey, webSocket.constructor);
21
+ if (registeredPaths.has(path)) {
22
+ throw new Error(`Duplicate WebSocket path found: ${path}`);
23
+ }
24
+ registeredPaths.add(path);
25
+ webSocket.namespace = path;
26
+ preparedWebsockets.push(webSocket);
27
+ }
28
+ return preparedWebsockets;
29
+ }
30
+ }
31
+ //# sourceMappingURL=PrepareWebsocketService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrepareWebsocketService.js","sourceRoot":"","sources":["../../../../../lib/server/src/services/PrepareWebsocketService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,MAAM,OAAO,uBAAwB,SAAQ,cAAc;IAEzD,YAAmB,SAAoB,EAAE,MAAoB;QAC3D,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;IAEM,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,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACxC,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,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC5B,CAAC;CAEF"}
@@ -1,3 +1,2 @@
1
- export * from '../web/types/HttpMethod';
2
1
  export * from './Class';
3
- export * from '../web/types/HttpStatus';
2
+ export * from '../web/middleware/AsenaStaticServeService';
@@ -1,4 +1,3 @@
1
- export * from '../web/types/HttpMethod';
2
1
  export * from './Class';
3
- export * from '../web/types/HttpStatus';
2
+ export * from '../web/middleware/AsenaStaticServeService';
4
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/server/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC;AACxB,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/server/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,2CAA2C,CAAC"}
@@ -15,7 +15,7 @@ export const DEFAULT_PARAMS = {
15
15
  path: '',
16
16
  middlewares: [],
17
17
  description: '',
18
- staticServe: false,
18
+ staticServe: undefined,
19
19
  validator: undefined,
20
20
  };
21
21
  export const generateHandlerParams = (params) => {
@@ -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;AAQxF,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,KAAK;IAClB,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
+ {"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;AAQxF,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 { MiddlewareClass } from "../middleware";
1
+ import type { MiddlewareClass } from '../middleware';
2
2
  /**
3
3
  * Defines middlewares for target class.
4
4
  *
@@ -10,7 +10,7 @@ export const defineMiddleware = (target, middlewares) => {
10
10
  const deps = getOwnTypedMetadata(ComponentConstants.SoftDependencyKey, target.constructor) || {};
11
11
  for (const middleware of middlewares) {
12
12
  const keys = Object.keys(deps);
13
- const name = getTypedMetadata(ComponentConstants.NameKey, middleware);
13
+ const name = getTypedMetadata(ComponentConstants.NameKey, middleware) || middleware.name;
14
14
  if (!keys.includes(name)) {
15
15
  deps[name] = name;
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"middlewareHelper.js","sourceRoot":"","sources":["../../../../../lib/server/web/helper/middlewareHelper.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,kBAAkB,EAAC,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAC,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAGxG;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,WAA8B,EAAQ,EAAE;IACvF,MAAM,IAAI,GAAiB,mBAAmB,CAAe,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAE7H,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/B,MAAM,IAAI,GAAG,gBAAgB,CAAS,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE9E,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,mBAAmB,CAAe,kBAAkB,CAAC,iBAAiB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACxF,CAAC,CAAA"}
1
+ {"version":3,"file":"middlewareHelper.js","sourceRoot":"","sources":["../../../../../lib/server/web/helper/middlewareHelper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAG1G;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,WAA8B,EAAQ,EAAE;IACvF,MAAM,IAAI,GACR,mBAAmB,CAAe,kBAAkB,CAAC,iBAAiB,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAEpG,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/B,MAAM,IAAI,GAAG,gBAAgB,CAAS,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC;QAEjG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,mBAAmB,CAAe,kBAAkB,CAAC,iBAAiB,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AACxF,CAAC,CAAC"}
@@ -0,0 +1,57 @@
1
+ import type { AsenaContext } from '../../../adapter';
2
+ import type { ComponentParams } from '../../../ioc/types';
3
+ import type { Class } from '../../types';
4
+ /**
5
+ * Abstract configuration class for serving static files in Asena applications.
6
+ * Provides customization options for handling static file requests.
7
+ *
8
+ * @template C - Type extending AsenaContext for request/response handling
9
+ * @template E - Type for additional configuration options
10
+ */
11
+ export declare abstract class AsenaStaticServeService<C extends AsenaContext<any, any>, E = any> {
12
+ /**
13
+ * Additional configuration options specific to the implementation
14
+ * @protected
15
+ */
16
+ extra?: E;
17
+ /**
18
+ * Root directory path from which to serve static files
19
+ * @protected
20
+ */
21
+ protected root?: string;
22
+ /**
23
+ * Function to rewrite incoming request paths before serving files
24
+ * @param {string} path - The original request path
25
+ * @returns {string} The rewritten path to use for file lookup
26
+ * @protected
27
+ */
28
+ abstract rewriteRequestPath?(path: string): string;
29
+ /**
30
+ * Callback triggered when a requested static file is successfully found
31
+ * @param {string} path - The path of the found file
32
+ * @param {C} c - The request context
33
+ * @returns {void | Promise<void>} Optional Promise for asynchronous operations
34
+ * @abstract
35
+ */
36
+ abstract onFound?(path: string, c: C): void | Promise<void>;
37
+ /**
38
+ * Callback triggered when a requested static file cannot be found
39
+ * @param {string} path - The path of the file that was not found
40
+ * @param {C} c - The request context
41
+ * @returns {void | Promise<void>} Optional Promise for asynchronous operations
42
+ * @abstract
43
+ */
44
+ abstract onNotFound?(path: string, c: C): void | Promise<void>;
45
+ }
46
+ /**
47
+ * Interface defining parameters for static file serving configuration.
48
+ * Used to configure path resolution and request processing for static assets.
49
+ */
50
+ export interface StaticServeParams extends ComponentParams {
51
+ /**
52
+ * Root directory path from which to serve static files.
53
+ * This path serves as the base directory for all static assets.
54
+ */
55
+ root?: string;
56
+ }
57
+ export type StaticServeClass = Class<AsenaStaticServeService<AsenaContext<any, any>>>;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Abstract configuration class for serving static files in Asena applications.
3
+ * Provides customization options for handling static file requests.
4
+ *
5
+ * @template C - Type extending AsenaContext for request/response handling
6
+ * @template E - Type for additional configuration options
7
+ */
8
+ export class AsenaStaticServeService {
9
+ /**
10
+ * Additional configuration options specific to the implementation
11
+ * @protected
12
+ */
13
+ extra;
14
+ /**
15
+ * Root directory path from which to serve static files
16
+ * @protected
17
+ */
18
+ root;
19
+ }
20
+ //# sourceMappingURL=AsenaStaticServeService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsenaStaticServeService.js","sourceRoot":"","sources":["../../../../../lib/server/web/middleware/AsenaStaticServeService.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,MAAM,OAAgB,uBAAuB;IAE3C;;;OAGG;IACI,KAAK,CAAK;IAEjB;;;OAGG;IACO,IAAI,CAAU;CA4BzB"}
@@ -1,2 +1,3 @@
1
1
  export * from './AsenaMiddlewareService';
2
2
  export * from './AsenaValidationService';
3
+ export * from './AsenaStaticServeService';
@@ -1,3 +1,4 @@
1
1
  export * from './AsenaMiddlewareService';
2
2
  export * from './AsenaValidationService';
3
+ export * from './AsenaStaticServeService';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/server/web/middleware/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/server/web/middleware/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC"}
package/package.json CHANGED
@@ -1,20 +1,29 @@
1
1
  {
2
2
  "name": "@asenajs/asena",
3
- "version": "0.2.0",
4
- "description": "Asena is a spring like framework for building web applications built with hono and bun",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "files": [
8
- "dist"
9
- ],
3
+ "version": "0.3.0",
4
+ "author": "LibirSoft",
10
5
  "repository": {
11
6
  "type": "git",
12
7
  "url": "https://github.com/AsenaJs/Asena.git"
13
8
  },
14
- "scripts": {
15
- "test": "echo \"Error: no test specified\" && exit 1",
16
- "build": "bun run clean && tsc",
17
- "clean": "rm -rf dist"
9
+ "main": "dist/index.js",
10
+ "dependencies": {
11
+ "reflect-metadata": "^0.2.2"
12
+ },
13
+ "devDependencies": {
14
+ "@changesets/cli": "^2.29.3",
15
+ "@types/bun": "latest",
16
+ "@typescript-eslint/eslint-plugin": "^6.21.0",
17
+ "eslint": "^8.57.1",
18
+ "eslint-config-alloy": "^5.1.2",
19
+ "eslint-config-prettier": "^9.1.0",
20
+ "eslint-plugin-alloy": "^1.2.1",
21
+ "eslint-plugin-import": "^2.31.0",
22
+ "eslint-plugin-n": "^16.6.2",
23
+ "eslint-plugin-prettier": "^5.4.0",
24
+ "eslint-plugin-promise": "^6.6.0",
25
+ "prettier": "^3.5.3",
26
+ "typescript": "^5.8.3"
18
27
  },
19
28
  "exports": {
20
29
  ".": {
@@ -50,8 +59,8 @@
50
59
  "types": "./dist/lib/server/config/index.d.ts"
51
60
  },
52
61
  "./ioc": {
53
- "import": "./dist/lib/ioc/component/decorators/index.js",
54
- "types": "./dist/lib/ioc/component/decorators/index.d.ts"
62
+ "import": "./dist/lib/ioc/component/index.js",
63
+ "types": "./dist/lib/ioc/component/index.d.ts"
55
64
  },
56
65
  "./http-status": {
57
66
  "import": "./dist/lib/server/web/http/HttpStatus.js",
@@ -66,6 +75,10 @@
66
75
  "types": "./dist/lib/ioc/Container.d.ts"
67
76
  }
68
77
  },
78
+ "description": "Asena is a spring like framework for building web applications built with bun",
79
+ "files": [
80
+ "dist"
81
+ ],
69
82
  "keywords": [
70
83
  "asena",
71
84
  "framework",
@@ -80,28 +93,11 @@
80
93
  "app",
81
94
  "api"
82
95
  ],
83
- "author": "LibirSoft",
84
96
  "license": "MIT",
85
- "dependencies": {
86
- "reflect-metadata": "^0.2.2"
87
- },
88
- "devDependencies": {
89
- "@changesets/cli": "^2.28.1",
90
- "@types/bun": "latest",
91
- "@typescript-eslint/eslint-plugin": "^6.21.0",
92
- "eslint": "^8.57.1",
93
- "eslint-config-alloy": "^5.1.2",
94
- "eslint-config-prettier": "^9.1.0",
95
- "eslint-plugin-alloy": "^1.2.1",
96
- "eslint-plugin-import": "^2.31.0",
97
- "eslint-plugin-n": "^16.6.2",
98
- "eslint-plugin-prettier": "^5.2.5",
99
- "eslint-plugin-promise": "^6.6.0",
100
- "prettier": "^3.5.3",
101
- "typescript": "^5.8.2",
102
- "winston": "^3.17.0"
97
+ "scripts": {
98
+ "test": "echo \"Error: no test specified\" && exit 1",
99
+ "build": "bun run clean && tsc",
100
+ "clean": "rm -rf dist"
103
101
  },
104
- "peerDependencies": {
105
- "winston": "^3.13.0"
106
- }
102
+ "types": "dist/index.d.ts"
107
103
  }
@@ -1,11 +0,0 @@
1
- import type { ServerLogger } from '../../logger';
2
- export interface WebsocketAdapterParams<A> {
3
- /**
4
- * An optional logger instance for logging purposes.
5
- */
6
- logger?: ServerLogger;
7
- /**
8
- * The application instance.
9
- */
10
- app?: A;
11
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=WebsocketAdapterParams.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebsocketAdapterParams.js","sourceRoot":"","sources":["../../../../lib/adapter/types/WebsocketAdapterParams.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Scope.js","sourceRoot":"","sources":["../../../../lib/ioc/types/Scope.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,KAGX;AAHD,WAAY,KAAK;IACf,2CAAS,CAAA;IACT,2CAAS,CAAA;AACX,CAAC,EAHW,KAAK,KAAL,KAAK,QAGhB"}
@@ -1,15 +0,0 @@
1
- import type { Logger } from 'winston';
2
- import winston from 'winston';
3
- import type { ServerLogger } from './Logger';
4
- export declare const defaultFormat: winston.Logform.Format;
5
- export declare const green: (message: string) => string;
6
- export declare const red: (message: string) => string;
7
- export declare const yellow: (message: string) => string;
8
- export declare class DefaultLogger implements ServerLogger {
9
- logger: Logger;
10
- constructor();
11
- info(message: string, meta?: any): void;
12
- warn(message: string, meta?: any): void;
13
- error(message: string, meta?: any): void;
14
- profile(message: string): void;
15
- }
@@ -1,31 +0,0 @@
1
- import winston from 'winston';
2
- export const defaultFormat = winston.format.combine(winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), winston.format.colorize(), winston.format.align(), winston.format.printf((info) => {
3
- const { timestamp, level, message, ...extra } = info;
4
- return `${timestamp} [${level}]: ${message} ${Object.keys(extra).length ? JSON.stringify(extra, null, 2) : ''}`;
5
- }));
6
- export const green = (message) => `\x1b[32m${message}\x1b[0m`;
7
- export const red = (message) => `\x1b[31m${message}\x1b[0m`;
8
- export const yellow = (message) => `\x1b[33m${message}\x1b[0m`;
9
- export class DefaultLogger {
10
- logger;
11
- constructor() {
12
- this.logger = winston.createLogger({
13
- level: 'info',
14
- format: winston.format.json(),
15
- transports: [new winston.transports.Console({ format: defaultFormat })],
16
- });
17
- }
18
- info(message, meta) {
19
- this.logger.info(message, meta);
20
- }
21
- warn(message, meta) {
22
- this.logger.warn(message, meta);
23
- }
24
- error(message, meta) {
25
- this.logger.error(message, meta);
26
- }
27
- profile(message) {
28
- this.logger.profile(message);
29
- }
30
- }
31
- //# sourceMappingURL=DefaultLogger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultLogger.js","sourceRoot":"","sources":["../../../lib/logger/DefaultLogger.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CACjD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,EAC3D,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EACzB,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EACtB,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;IAC7B,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC;IAErD,OAAO,GAAG,SAAS,KAAK,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAClH,CAAC,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,WAAW,OAAO,SAAS,CAAC;AAEtE,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,WAAW,OAAO,SAAS,CAAC;AAEpE,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,WAAW,OAAO,SAAS,CAAC;AAEvE,MAAM,OAAO,aAAa;IAEjB,MAAM,CAAS;IAEtB;QACE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;YACjC,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;YAC7B,UAAU,EAAE,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,aAAa,EAAS,CAAC,CAAC;SAC/E,CAAC,CAAC;IACL,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,IAAU;QACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,IAAU;QACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,IAAU;QACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAEM,OAAO,CAAC,OAAe;QAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;CAEF"}
File without changes
File without changes