@asenajs/asena 0.2.1 → 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 (80) 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 +2 -4
  18. package/dist/lib/ioc/Container.js.map +1 -1
  19. package/dist/lib/ioc/constants/ComponentConstants.d.ts +2 -1
  20. package/dist/lib/ioc/constants/ComponentConstants.js +1 -0
  21. package/dist/lib/ioc/constants/ComponentConstants.js.map +1 -1
  22. package/dist/lib/ioc/helper/iocHelper.d.ts +1 -5
  23. package/dist/lib/ioc/helper/iocHelper.js.map +1 -1
  24. package/dist/lib/logger/defaults.d.ts +4 -0
  25. package/dist/lib/logger/defaults.js +5 -0
  26. package/dist/lib/logger/defaults.js.map +1 -0
  27. package/dist/lib/logger/index.d.ts +1 -1
  28. package/dist/lib/logger/index.js +1 -1
  29. package/dist/lib/logger/index.js.map +1 -1
  30. package/dist/lib/server/AsenaServer.d.ts +9 -4
  31. package/dist/lib/server/AsenaServer.js +42 -91
  32. package/dist/lib/server/AsenaServer.js.map +1 -1
  33. package/dist/lib/server/decorators/Override.js +2 -2
  34. package/dist/lib/server/decorators/Override.js.map +1 -1
  35. package/dist/lib/server/decorators/components/Middleware.js +2 -5
  36. package/dist/lib/server/decorators/components/Middleware.js.map +1 -1
  37. package/dist/lib/server/decorators/components/StaticServe.d.ts +17 -0
  38. package/dist/lib/server/decorators/components/StaticServe.js +27 -0
  39. package/dist/lib/server/decorators/components/StaticServe.js.map +1 -0
  40. package/dist/lib/server/decorators/components/WebSocket.js +4 -0
  41. package/dist/lib/server/decorators/components/WebSocket.js.map +1 -1
  42. package/dist/lib/server/decorators/components/index.d.ts +1 -0
  43. package/dist/lib/server/decorators/components/index.js +1 -0
  44. package/dist/lib/server/decorators/components/index.js.map +1 -1
  45. package/dist/lib/server/src/PrepareService.d.ts +8 -0
  46. package/dist/lib/server/src/PrepareService.js +9 -0
  47. package/dist/lib/server/src/PrepareService.js.map +1 -0
  48. package/dist/lib/server/src/services/PrepareConfigService.d.ts +8 -0
  49. package/dist/lib/server/src/services/PrepareConfigService.js +32 -0
  50. package/dist/lib/server/src/services/PrepareConfigService.js.map +1 -0
  51. package/dist/lib/server/src/services/PrepareMiddlewareService.d.ts +14 -0
  52. package/dist/lib/server/src/services/PrepareMiddlewareService.js +33 -0
  53. package/dist/lib/server/src/services/PrepareMiddlewareService.js.map +1 -0
  54. package/dist/lib/server/src/services/PrepareStaticServeConfigService.d.ts +9 -0
  55. package/dist/lib/server/src/services/PrepareStaticServeConfigService.js +50 -0
  56. package/dist/lib/server/src/services/PrepareStaticServeConfigService.js.map +1 -0
  57. package/dist/lib/server/src/services/PrepareValidatorService.d.ts +9 -0
  58. package/dist/lib/server/src/services/PrepareValidatorService.js +32 -0
  59. package/dist/lib/server/src/services/PrepareValidatorService.js.map +1 -0
  60. package/dist/lib/server/src/services/PrepareWebsocketService.d.ts +8 -0
  61. package/dist/lib/server/src/services/PrepareWebsocketService.js +31 -0
  62. package/dist/lib/server/src/services/PrepareWebsocketService.js.map +1 -0
  63. package/dist/lib/server/types/index.d.ts +1 -2
  64. package/dist/lib/server/types/index.js +1 -2
  65. package/dist/lib/server/types/index.js.map +1 -1
  66. package/dist/lib/server/web/decorators/http.base.js +1 -1
  67. package/dist/lib/server/web/decorators/http.base.js.map +1 -1
  68. package/dist/lib/server/web/middleware/AsenaStaticServeService.d.ts +57 -0
  69. package/dist/lib/server/web/middleware/AsenaStaticServeService.js +20 -0
  70. package/dist/lib/server/web/middleware/AsenaStaticServeService.js.map +1 -0
  71. package/dist/lib/server/web/middleware/index.d.ts +1 -0
  72. package/dist/lib/server/web/middleware/index.js +1 -0
  73. package/dist/lib/server/web/middleware/index.js.map +1 -1
  74. package/package.json +29 -33
  75. package/dist/lib/adapter/types/WebsocketAdapterParams.d.ts +0 -11
  76. package/dist/lib/adapter/types/WebsocketAdapterParams.js +0 -2
  77. package/dist/lib/adapter/types/WebsocketAdapterParams.js.map +0 -1
  78. package/dist/lib/logger/DefaultLogger.d.ts +0 -15
  79. package/dist/lib/logger/DefaultLogger.js +0 -31
  80. package/dist/lib/logger/DefaultLogger.js.map +0 -1
@@ -1,12 +1,16 @@
1
1
  import { IocEngine } from '../ioc';
2
2
  import { readConfigFile } from '../ioc/helper/fileHelper';
3
3
  import { ComponentType } from '../ioc/types';
4
- import { VALIDATOR_METHODS, } from '../adapter';
5
4
  import * as path from 'node:path';
6
5
  import { ComponentConstants } from '../ioc/constants';
7
6
  import * as bun from 'bun';
8
7
  import { green, yellow } from '../logger';
9
8
  import { getOwnTypedMetadata, getTypedMetadata } from '../utils/typedMetadata';
9
+ import { PrepareMiddlewareService } from './src/services/PrepareMiddlewareService';
10
+ import { PrepareConfigService } from './src/services/PrepareConfigService';
11
+ import { PrepareWebsocketService } from './src/services/PrepareWebsocketService';
12
+ import { PrepareValidatorService } from './src/services/PrepareValidatorService';
13
+ import { PrepareStaticServeConfigService } from './src/services/PrepareStaticServeConfigService';
10
14
  export class AsenaServer {
11
15
  _port;
12
16
  controllers = [];
@@ -14,14 +18,21 @@ export class AsenaServer {
14
18
  _ioc;
15
19
  _logger;
16
20
  _adapter;
21
+ prepareMiddleware;
22
+ prepareConfigService;
23
+ prepareWebsocketService;
24
+ prepareValidatorService;
25
+ prepareStaticServeConfigService;
17
26
  constructor(adapter, logger) {
27
+ this._adapter = adapter;
18
28
  this._logger = logger;
19
- if (!logger) {
20
- this.prepareLogger();
21
- }
22
- if (adapter) {
23
- this._adapter = adapter;
24
- }
29
+ this._logger.info(`
30
+ ___ _____ ______ _ __ ___
31
+ / | / ___/ / ____// | / // |
32
+ / /| | \\__ \\ / __/ / |/ // /| |
33
+ / ___ | ___/ // /___ / /| // ___ |
34
+ /_/ |_|/____//_____//_/ |_//_/ |_|
35
+ `);
25
36
  }
26
37
  async initialize() {
27
38
  const config = await readConfigFile();
@@ -30,16 +41,14 @@ export class AsenaServer {
30
41
  }
31
42
  this._ioc = new IocEngine(config);
32
43
  await this._ioc.searchAndRegister(this._components);
44
+ this.prepareMiddleware = new PrepareMiddlewareService(this._ioc.container, this._logger);
45
+ this.prepareConfigService = new PrepareConfigService(this._ioc.container, this._logger);
46
+ this.prepareWebsocketService = new PrepareWebsocketService(this._ioc.container, this._logger);
47
+ this.prepareValidatorService = new PrepareValidatorService(this._ioc.container, this._logger);
48
+ this.prepareStaticServeConfigService = new PrepareStaticServeConfigService(this._ioc.container, this._logger);
33
49
  return this._ioc.container;
34
50
  }
35
51
  async start(gc = false) {
36
- this._logger.info(`
37
- ___ _____ ______ _ __ ___
38
- / | / ___/ / ____// | / // |
39
- / /| | \\__ \\ / __/ / |/ // /| |
40
- / ___ | ___/ // /___ / /| // ___ |
41
- /_/ |_|/____//_____//_/ |_//_/ |_|
42
- `);
43
52
  await this.initialize();
44
53
  this._logger.info(`Adapter: ${green(this._adapter.name)} implemented`);
45
54
  this._adapter.setPort(this._port);
@@ -88,9 +97,9 @@ export class AsenaServer {
88
97
  await this._adapter.registerRoute({
89
98
  method: params.method,
90
99
  path: lastPath,
91
- middleware: middlewares,
100
+ middlewares: middlewares,
92
101
  handler: controller[name].bind(controller),
93
- staticServe: params.staticServe,
102
+ staticServe: await this.prepareStaticServeConfig(params.staticServe),
94
103
  validator: validatorInstance,
95
104
  });
96
105
  }
@@ -107,6 +116,9 @@ export class AsenaServer {
107
116
  this.controllers = controllers;
108
117
  }
109
118
  }
119
+ async prepareStaticServeConfig(staticServeClass) {
120
+ return await this.prepareStaticServeConfigService.prepare(staticServeClass);
121
+ }
110
122
  async prepareTopMiddlewares({ controller, routePath }, websocket = false) {
111
123
  const topMiddlewares = getTypedMetadata(ComponentConstants.MiddlewaresKey, controller.constructor) || [];
112
124
  const middlewares = await this.prepareMiddlewares(topMiddlewares);
@@ -118,90 +130,33 @@ export class AsenaServer {
118
130
  }
119
131
  }
120
132
  async prepareValidator(Validator) {
121
- if (!Validator) {
122
- return;
123
- }
124
- const name = getTypedMetadata(ComponentConstants.NameKey, Validator);
125
- const validator = await this._ioc.container.resolve(name);
126
- if (!validator) {
127
- throw new Error('Validator not found:' + name);
128
- }
129
- if (Array.isArray(validator)) {
130
- throw new Error('Validator cannot be array');
131
- }
132
- const overrides = getTypedMetadata(ComponentConstants.OverrideKey, validator.constructor);
133
- const baseValidatorMiddleware = {};
134
- VALIDATOR_METHODS.filter((key) => typeof validator[key] === 'function').forEach((key) => {
135
- baseValidatorMiddleware[key] = {
136
- handle: validator[key].bind(validator),
137
- override: overrides?.includes(key) || false,
138
- };
139
- });
140
- return baseValidatorMiddleware;
133
+ return await this.prepareValidatorService.prepare(Validator);
141
134
  }
142
135
  async prepareRouteMiddleware(middlewareParams) {
143
136
  const routeMiddlewares = middlewareParams?.middlewares || [];
144
137
  return this.prepareMiddlewares(routeMiddlewares);
145
138
  }
146
139
  async prepareMiddlewares(middlewares) {
147
- const preparedMiddlewares = [];
148
- for (const middleware of middlewares) {
149
- const name = getTypedMetadata(ComponentConstants.NameKey, middleware);
150
- const override = getTypedMetadata(ComponentConstants.OverrideKey, middleware);
151
- const isOverride = override ? override.includes('handle') : false;
152
- const instances = await this._ioc.container.resolve(name);
153
- if (!instances)
154
- continue;
155
- const normalizedInstances = Array.isArray(instances) ? instances : [instances];
156
- for (const instance of normalizedInstances) {
157
- preparedMiddlewares.push({
158
- handle: instance.handle.bind(instance),
159
- override: isOverride,
160
- });
161
- }
162
- }
163
- return preparedMiddlewares;
140
+ return this.prepareMiddleware.prepare(middlewares);
164
141
  }
165
142
  async prepareWebSocket() {
166
- const webSockets = await this._ioc.container.resolveAll(ComponentType.WEBSOCKET);
167
- if (!webSockets?.length) {
168
- this._logger.info('No websockets found');
143
+ const websockets = await this.prepareWebsocketService.prepare();
144
+ if (!websockets) {
169
145
  return;
170
146
  }
171
- // flat the array
172
- const flatWebSockets = webSockets.flat();
173
- const registeredPaths = new Set();
174
- for (const webSocket of flatWebSockets) {
175
- const path = getTypedMetadata(ComponentConstants.PathKey, webSocket.constructor);
176
- if (!path) {
177
- throw new Error('Path not found in WebSocket');
178
- }
179
- if (registeredPaths.has(path)) {
180
- throw new Error(`Duplicate WebSocket path found: ${path}`);
181
- }
182
- registeredPaths.add(path);
183
- webSocket.namespace = path;
184
- const middlewares = await this.prepareTopMiddlewares({ controller: webSocket }, true);
185
- await this._adapter.websocketAdapter.registerWebSocket(webSocket, middlewares);
147
+ for (const websocket of websockets) {
148
+ const path = getTypedMetadata(ComponentConstants.PathKey, websocket.constructor);
149
+ const middlewares = await this.prepareTopMiddlewares({ controller: websocket }, true);
150
+ await this._adapter.registerWebsocketRoute({
151
+ path: path,
152
+ middlewares: middlewares,
153
+ websocketService: websocket,
154
+ });
186
155
  }
187
156
  }
188
157
  async prepareConfigs() {
189
- const config = await this._ioc.container.resolveAll(ComponentType.CONFIG);
190
- if (!config?.length) {
191
- this._logger.info('No configs found');
192
- return;
193
- }
194
- if (config.length > 1) {
195
- throw new Error('Only one config is allowed');
196
- }
197
- if (Array.isArray(config[0])) {
198
- throw new Error('Config cannot be array');
199
- }
200
- const name = getTypedMetadata(ComponentConstants.NameKey, config[0].constructor);
201
- this._logger.info(`Config found ${yellow(name)}`);
202
- const configInstance = config[0];
158
+ const configInstance = await this.prepareConfigService.prepare();
203
159
  if (!configInstance) {
204
- this._logger.info('Config instance not found');
205
160
  return;
206
161
  }
207
162
  if (typeof configInstance.serveOptions === 'function') {
@@ -217,12 +172,8 @@ export class AsenaServer {
217
172
  await this._adapter.use(middleware);
218
173
  }
219
174
  }
175
+ const name = getTypedMetadata(ComponentConstants.NameKey, configInstance);
220
176
  this._logger.info(`Config ${yellow(name)} applied`);
221
177
  }
222
- prepareLogger() {
223
- if (!this._logger) {
224
- this._logger = console;
225
- }
226
- }
227
178
  }
228
179
  //# sourceMappingURL=AsenaServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AsenaServer.js","sourceRoot":"","sources":["../../../lib/server/AsenaServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AsenaServer.js","sourceRoot":"","sources":["../../../lib/server/AsenaServer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ComponentConstants } from '../../ioc/constants';
2
- import { defineTypedMetadata, getTypedMetadata } from '../../utils/typedMetadata';
2
+ import { defineTypedMetadata, getOwnTypedMetadata } from '../../utils/typedMetadata';
3
3
  /**
4
4
  * Decorator for marking a property as an override.
5
5
  *
@@ -11,7 +11,7 @@ import { defineTypedMetadata, getTypedMetadata } from '../../utils/typedMetadata
11
11
  */
12
12
  export const Override = () => {
13
13
  return (target, propertyKey) => {
14
- const overrides = getTypedMetadata(ComponentConstants.OverrideKey, target) || [];
14
+ const overrides = getOwnTypedMetadata(ComponentConstants.OverrideKey, target) || [];
15
15
  if (!overrides.includes(propertyKey)) {
16
16
  overrides.push(propertyKey);
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Override.js","sourceRoot":"","sources":["../../../../lib/server/decorators/Override.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAsB,EAAE;IAC9C,OAAO,CAAC,MAAc,EAAE,WAAmB,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAa,gBAAgB,CAAW,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAErG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;QAED,mBAAmB,CAAW,kBAAkB,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACnF,CAAC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Override.js","sourceRoot":"","sources":["../../../../lib/server/decorators/Override.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAsB,EAAE;IAC9C,OAAO,CAAC,MAAc,EAAE,WAAmB,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAa,mBAAmB,CAAW,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;QAExG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;QAED,mBAAmB,CAAW,kBAAkB,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACnF,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { defineComponent } from '../../../ioc/component';
2
2
  import { ComponentType } from '../../../ioc/types';
3
3
  import { ComponentConstants } from '../../../ioc/constants';
4
- import { defineTypedMetadata, getTypedMetadata } from '../../../utils/typedMetadata';
5
- import { VALIDATOR_METHODS } from "../../../adapter";
4
+ import { defineTypedMetadata } from '../../../utils/typedMetadata';
5
+ import { VALIDATOR_METHODS } from '../../../adapter';
6
6
  /**
7
7
  * Decorator for defining a Middleware component.
8
8
  *
@@ -11,9 +11,6 @@ import { VALIDATOR_METHODS } from "../../../adapter";
11
11
  */
12
12
  export const Middleware = (params) => {
13
13
  return defineComponent(ComponentType.MIDDLEWARE, params, (target) => {
14
- const overrides = getTypedMetadata(ComponentConstants.OverrideKey, target);
15
- defineTypedMetadata(ComponentConstants.OverrideKey, overrides, target);
16
- // defineMetadata(ComponentConstants.OverrideKey, overdrive || params?.override || false, target);
17
14
  defineTypedMetadata(ComponentConstants.ValidatorKey, params?.validator || false, target);
18
15
  if (params?.validator) {
19
16
  const hasValidatorMethod = VALIDATOR_METHODS.some((method) => typeof target.prototype[method] === 'function');
@@ -1 +1 @@
1
- {"version":3,"file":"Middleware.js","sourceRoot":"","sources":["../../../../../lib/server/decorators/components/Middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAyB,EAAkB,EAAE;IACtE,OAAO,eAAe,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QAClE,MAAM,SAAS,GAAG,gBAAgB,CAAW,kBAAkB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAErF,mBAAmB,CAAW,kBAAkB,CAAC,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QACjF,kGAAkG;QAElG,mBAAmB,CAAU,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC;QAElG,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;YACtB,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,CAAC;YAE9G,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,CACX,SAAS,MAAM,CAAC,IAAI,0DAA0D,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9G,CAAC;gBACF,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACzD,OAAO,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,IAAI,mDAAmD,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"Middleware.js","sourceRoot":"","sources":["../../../../../lib/server/decorators/components/Middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAyB,EAAkB,EAAE;IACtE,OAAO,eAAe,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QAClE,mBAAmB,CAAU,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,IAAI,KAAK,EAAE,MAAM,CAAC,CAAC;QAElG,IAAI,MAAM,EAAE,SAAS,EAAE,CAAC;YACtB,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC,CAAC;YAE9G,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,CACX,SAAS,MAAM,CAAC,IAAI,0DAA0D,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9G,CAAC;gBACF,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACzD,OAAO,CAAC,KAAK,CAAC,SAAS,MAAM,CAAC,IAAI,mDAAmD,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { StaticServeParams } from '../../web/middleware';
2
+ /**
3
+ * Decorator for registering static file serving middleware in Asena controllers.
4
+ * Sets the root directory path for serving static files.
5
+ *
6
+ * @param {string | StaticServeParams} name - The root directory path or configuration parameters
7
+ * @returns {ClassDecorator} A class decorator function
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * @StaticServe("TestStaticMiddleware")
12
+ * export class StaticMiddleware extends StaticServeService {
13
+ * // ...implementation
14
+ * }
15
+ * ```
16
+ */
17
+ export declare const StaticServe: (name?: string | StaticServeParams) => ClassDecorator;
@@ -0,0 +1,27 @@
1
+ import { defineTypedMetadata } from '../../../utils/typedMetadata';
2
+ import { ComponentConstants } from '../../../ioc/constants';
3
+ import { defineComponent } from '../../../ioc/component';
4
+ import { ComponentType } from '../../../ioc/types';
5
+ /**
6
+ * Decorator for registering static file serving middleware in Asena controllers.
7
+ * Sets the root directory path for serving static files.
8
+ *
9
+ * @param {string | StaticServeParams} name - The root directory path or configuration parameters
10
+ * @returns {ClassDecorator} A class decorator function
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * @StaticServe("TestStaticMiddleware")
15
+ * export class StaticMiddleware extends StaticServeService {
16
+ * // ...implementation
17
+ * }
18
+ * ```
19
+ */
20
+ export const StaticServe = (name) => {
21
+ return defineComponent(ComponentType.MIDDLEWARE, name, (target) => {
22
+ if (typeof name !== 'string' && name !== null && name.root) {
23
+ defineTypedMetadata(ComponentConstants.StaticServeRootKey, name.root, target);
24
+ }
25
+ });
26
+ };
27
+ //# sourceMappingURL=StaticServe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticServe.js","sourceRoot":"","sources":["../../../../../lib/server/decorators/components/StaticServe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAiC,EAAkB,EAAE;IAC/E,OAAO,eAAe,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;QAChE,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC3D,mBAAmB,CAAS,kBAAkB,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxF,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -12,6 +12,10 @@ import { defineTypedMetadata } from '../../../utils/typedMetadata';
12
12
  export const WebSocket = (params) => {
13
13
  return defineComponent(ComponentType.WEBSOCKET, params, (target) => {
14
14
  let path = typeof params === 'string' ? params : params.path;
15
+ if (!path) {
16
+ console.error('path parameter is required');
17
+ process.exit();
18
+ }
15
19
  path = path.replace(/^\/+/, '');
16
20
  defineTypedMetadata(ComponentConstants.PathKey, path, target);
17
21
  defineMiddleware(target, params.middlewares || []);
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocket.js","sourceRoot":"","sources":["../../../../../lib/server/decorators/components/WebSocket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAyB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAInE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAiC,EAAkB,EAAE;IAC7E,OAAO,eAAe,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjE,IAAI,IAAI,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAE7D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEhC,mBAAmB,CAAS,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEtE,gBAAgB,CAAC,MAAM,EAAG,MAA2B,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAEzE,mBAAmB,CACjB,kBAAkB,CAAC,cAAc,EAChC,MAA2B,CAAC,WAAW,IAAI,EAAE,EAC9C,MAAM,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"WebSocket.js","sourceRoot":"","sources":["../../../../../lib/server/decorators/components/WebSocket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAyB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAInE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAiC,EAAkB,EAAE;IAC7E,OAAO,eAAe,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjE,IAAI,IAAI,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;QAE7D,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;QAED,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAEhC,mBAAmB,CAAS,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEtE,gBAAgB,CAAC,MAAM,EAAG,MAA2B,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAEzE,mBAAmB,CACjB,kBAAkB,CAAC,cAAc,EAChC,MAA2B,CAAC,WAAW,IAAI,EAAE,EAC9C,MAAM,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -4,3 +4,4 @@ export * from './Middleware';
4
4
  export * from './Schedule';
5
5
  export * from './Service';
6
6
  export * from './WebSocket';
7
+ export * from './StaticServe';
@@ -4,4 +4,5 @@ export * from './Middleware';
4
4
  export * from './Schedule';
5
5
  export * from './Service';
6
6
  export * from './WebSocket';
7
+ export * from './StaticServe';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/server/decorators/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAC;AAC5D,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../lib/server/decorators/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,6CAA6C,CAAC;AAC5D,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { Container } from '../../ioc';
2
+ import type { ServerLogger } from '../../logger';
3
+ export declare abstract class PrepareService {
4
+ protected container: Container;
5
+ protected logger: ServerLogger;
6
+ constructor(container: Container, logger: ServerLogger);
7
+ abstract prepare(...args: any[]): Promise<any> | any;
8
+ }
@@ -0,0 +1,9 @@
1
+ export class PrepareService {
2
+ container;
3
+ logger;
4
+ constructor(container, logger) {
5
+ this.container = container;
6
+ this.logger = logger;
7
+ }
8
+ }
9
+ //# sourceMappingURL=PrepareService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrepareService.js","sourceRoot":"","sources":["../../../../lib/server/src/PrepareService.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,cAAc;IAExB,SAAS,CAAY;IAErB,MAAM,CAAe;IAE/B,YAAmB,SAAoB,EAAE,MAAoB;QAC3D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CAIF"}
@@ -0,0 +1,8 @@
1
+ import { PrepareService } from '../PrepareService';
2
+ import type { AsenaConfig } from '../../config';
3
+ import { type ServerLogger } from '../../../logger';
4
+ import type { Container } from '../../../ioc';
5
+ export declare class PrepareConfigService extends PrepareService {
6
+ constructor(container: Container, logger: ServerLogger);
7
+ prepare(): Promise<AsenaConfig>;
8
+ }
@@ -0,0 +1,32 @@
1
+ import { PrepareService } from '../PrepareService';
2
+ import { ComponentType } from '../../../ioc/types';
3
+ import { getTypedMetadata } from '../../../utils/typedMetadata';
4
+ import { ComponentConstants } from '../../../ioc/constants';
5
+ import { yellow } from '../../../logger';
6
+ export class PrepareConfigService extends PrepareService {
7
+ constructor(container, logger) {
8
+ super(container, logger);
9
+ }
10
+ async prepare() {
11
+ const config = await this.container.resolveAll(ComponentType.CONFIG);
12
+ if (!config?.length) {
13
+ this.logger.info('No configs found');
14
+ return;
15
+ }
16
+ if (config.length > 1) {
17
+ throw new Error('Only one config is allowed');
18
+ }
19
+ if (Array.isArray(config[0])) {
20
+ throw new Error('Config cannot be array');
21
+ }
22
+ const configInstance = config[0];
23
+ if (!configInstance) {
24
+ this.logger.info('Config instance not found');
25
+ return;
26
+ }
27
+ const name = getTypedMetadata(ComponentConstants.NameKey, config[0].constructor);
28
+ this.logger.info(`Config found ${yellow(name)}`);
29
+ return configInstance;
30
+ }
31
+ }
32
+ //# sourceMappingURL=PrepareConfigService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrepareConfigService.js","sourceRoot":"","sources":["../../../../../lib/server/src/services/PrepareConfigService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAqB,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAG5D,MAAM,OAAO,oBAAqB,SAAQ,cAAc;IAEtD,YAAmB,SAAoB,EAAE,MAAoB;QAC3D,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAc,aAAa,CAAC,MAAM,CAAC,CAAC;QAElF,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAEjC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,gBAAgB,CAAS,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAEzF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEjD,OAAO,cAAc,CAAC;IACxB,CAAC;CAEF"}
@@ -0,0 +1,14 @@
1
+ import { PrepareService } from '../PrepareService';
2
+ import type { MiddlewareClass } from '../../web/middleware';
3
+ import type { BaseMiddleware } from '../../../adapter';
4
+ import type { ServerLogger } from '../../../logger';
5
+ import type { Container } from '../../../ioc';
6
+ export declare class PrepareMiddlewareService extends PrepareService {
7
+ constructor(container: Container, logger: ServerLogger);
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
+ prepare(middlewares: MiddlewareClass[]): Promise<BaseMiddleware[]>;
14
+ }
@@ -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
+ }