@nestia/core 8.0.8 → 9.0.0-dev.20251107

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 (75) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +93 -93
  3. package/package.json +7 -8
  4. package/src/adaptors/WebSocketAdaptor.ts +429 -429
  5. package/src/decorators/DynamicModule.ts +44 -44
  6. package/src/decorators/EncryptedBody.ts +97 -97
  7. package/src/decorators/EncryptedController.ts +40 -40
  8. package/src/decorators/EncryptedModule.ts +98 -98
  9. package/src/decorators/EncryptedRoute.ts +213 -213
  10. package/src/decorators/HumanRoute.ts +22 -22
  11. package/src/decorators/NoTransformConfigurationError.ts +34 -34
  12. package/src/decorators/PlainBody.ts +76 -76
  13. package/src/decorators/SwaggerCustomizer.ts +97 -97
  14. package/src/decorators/SwaggerExample.ts +100 -100
  15. package/src/decorators/TypedBody.ts +57 -57
  16. package/src/decorators/TypedException.ts +147 -147
  17. package/src/decorators/TypedFormData.ts +195 -195
  18. package/src/decorators/TypedHeaders.ts +66 -66
  19. package/src/decorators/TypedParam.ts +77 -77
  20. package/src/decorators/TypedQuery.ts +234 -234
  21. package/src/decorators/TypedRoute.ts +196 -196
  22. package/src/decorators/WebSocketRoute.ts +242 -242
  23. package/src/decorators/internal/EncryptedConstant.ts +2 -2
  24. package/src/decorators/internal/IWebSocketRouteReflect.ts +23 -23
  25. package/src/decorators/internal/NoTransformConfigureError.ts +2 -2
  26. package/src/decorators/internal/get_path_and_querify.ts +94 -94
  27. package/src/decorators/internal/get_path_and_stringify.ts +110 -110
  28. package/src/decorators/internal/get_text_body.ts +16 -16
  29. package/src/decorators/internal/headers_to_object.ts +11 -11
  30. package/src/decorators/internal/is_request_body_undefined.ts +12 -12
  31. package/src/decorators/internal/load_controller.ts +45 -45
  32. package/src/decorators/internal/route_error.ts +43 -43
  33. package/src/decorators/internal/validate_request_body.ts +64 -64
  34. package/src/decorators/internal/validate_request_form_data.ts +67 -67
  35. package/src/decorators/internal/validate_request_headers.ts +76 -76
  36. package/src/decorators/internal/validate_request_query.ts +64 -64
  37. package/src/index.ts +5 -5
  38. package/src/module.ts +22 -22
  39. package/src/options/INestiaTransformOptions.ts +38 -38
  40. package/src/options/INestiaTransformProject.ts +8 -8
  41. package/src/options/IRequestBodyValidator.ts +20 -20
  42. package/src/options/IRequestFormDataProps.ts +27 -27
  43. package/src/options/IRequestHeadersValidator.ts +22 -22
  44. package/src/options/IRequestQueryValidator.ts +20 -20
  45. package/src/options/IResponseBodyQuerifier.ts +25 -25
  46. package/src/options/IResponseBodyStringifier.ts +30 -30
  47. package/src/programmers/PlainBodyProgrammer.ts +70 -70
  48. package/src/programmers/TypedBodyProgrammer.ts +142 -142
  49. package/src/programmers/TypedFormDataBodyProgrammer.ts +118 -118
  50. package/src/programmers/TypedHeadersProgrammer.ts +63 -63
  51. package/src/programmers/TypedParamProgrammer.ts +33 -33
  52. package/src/programmers/TypedQueryBodyProgrammer.ts +112 -112
  53. package/src/programmers/TypedQueryProgrammer.ts +114 -114
  54. package/src/programmers/TypedQueryRouteProgrammer.ts +105 -105
  55. package/src/programmers/TypedRouteProgrammer.ts +94 -94
  56. package/src/programmers/http/HttpAssertQuerifyProgrammer.ts +72 -72
  57. package/src/programmers/http/HttpIsQuerifyProgrammer.ts +75 -75
  58. package/src/programmers/http/HttpQuerifyProgrammer.ts +108 -108
  59. package/src/programmers/http/HttpValidateQuerifyProgrammer.ts +76 -76
  60. package/src/programmers/internal/CoreMetadataUtil.ts +21 -21
  61. package/src/transform.ts +35 -35
  62. package/src/transformers/FileTransformer.ts +110 -110
  63. package/src/transformers/MethodTransformer.ts +103 -103
  64. package/src/transformers/NodeTransformer.ts +23 -23
  65. package/src/transformers/ParameterDecoratorTransformer.ts +143 -143
  66. package/src/transformers/ParameterTransformer.ts +57 -57
  67. package/src/transformers/TypedRouteTransformer.ts +85 -85
  68. package/src/transformers/WebSocketRouteTransformer.ts +120 -120
  69. package/src/typings/Creator.ts +3 -3
  70. package/src/typings/get-function-location.d.ts +7 -7
  71. package/src/utils/ArrayUtil.ts +7 -7
  72. package/src/utils/ExceptionManager.ts +115 -115
  73. package/src/utils/Singleton.ts +16 -16
  74. package/src/utils/SourceFinder.ts +54 -54
  75. package/src/utils/VersioningStrategy.ts +27 -27
@@ -1,242 +1,242 @@
1
- import { IRequestBodyValidator } from "../options/IRequestBodyValidator";
2
- import { IRequestQueryValidator } from "../options/IRequestQueryValidator";
3
- import { NoTransformConfigurationError } from "./NoTransformConfigurationError";
4
- import { IWebSocketRouteReflect } from "./internal/IWebSocketRouteReflect";
5
- import { validate_request_body } from "./internal/validate_request_body";
6
- import { validate_request_query } from "./internal/validate_request_query";
7
-
8
- /**
9
- * WebSocket route decorator.
10
- *
11
- * `@WebSocketRoute()` is a route decorator function for WebSocket routes. If
12
- * you want to define a WebSocket route with this `@WebSocketRoute` decorator,
13
- * please don't forget to call the {@link WebSocketAdaptor.upgrade} function to
14
- * the {@link INestApplication} instance.
15
- *
16
- * Also, `WebSocketRoute` is a module containing parameter decorator functions
17
- * of below for the `@WebSocketRoute` decorated method, at the same time. Note
18
- * that, every parameters must be decorated by one of the parameter decorators
19
- * in the `WebSocketRoute` module. One thing more important is,
20
- * {@link WebSocketRoute.Acceptor} decorated parameter must be defined in the
21
- * method. If not, it would be both compilation/runtime error.
22
- *
23
- * - {@link WebSocketRoute.Acceptor}
24
- * - {@link WebSocketRoute.Driver}
25
- * - {@link WebSocketRoute.Header}
26
- * - {@link WebSocketRoute.Param}
27
- * - {@link WebSocketRoute.Query}
28
- *
29
- * For reference, key difference between `@WebSocketGateway()` of NestJS and
30
- * `@WebSocketRoute()` of Nestia is, `@WebSocketRoute()` can make multiple
31
- * WebSocket routes by configuring _paths_, besides `@WebSocketGateway()` can't
32
- * do it.
33
- *
34
- * Furthermore, if you build SDK (Software Development Kit) library through
35
- * `@nestia/sdk`, you can make safe WebSocket client taking advantages of
36
- * TypeScript type hints and checks.
37
- *
38
- * @author Jeongho Nam - https://github.com/samchon
39
- * @param path Path(s) of the WebSocket request
40
- * @returns Method decorator
41
- */
42
- export function WebSocketRoute(
43
- path?: undefined | string | string[],
44
- ): MethodDecorator {
45
- return function WebSocketRoute(
46
- _target: Object,
47
- _propertyKey: string | symbol,
48
- descriptor: TypedPropertyDescriptor<any>,
49
- ): TypedPropertyDescriptor<any> {
50
- Reflect.defineMetadata(
51
- "nestia/WebSocketRoute",
52
- {
53
- paths: path === undefined ? [] : Array.isArray(path) ? path : [path],
54
- } satisfies IWebSocketRouteReflect,
55
- descriptor.value,
56
- );
57
- return descriptor;
58
- };
59
- }
60
- export namespace WebSocketRoute {
61
- /**
62
- * Acceptor parameter decorator.
63
- *
64
- * `@WebSocketRoute.Acceptor()` is a parameter decorator function for the
65
- * `WebSocketAcceptor<Header, Provider, Listener>` (of `tgrid`) typed
66
- * parameter.
67
- *
68
- * In the controller method decorated by `@WebSocketRoute()` and
69
- * `@WebSocketRoute.Acceptor()`, call {@link WebSocketAcceptor.accept} function
70
- * with `Provider` instance when you want to accept the WebSocket client
71
- * connection. Otherwise you want to reject the connection, call
72
- * {@link WebSocketAcceptor.rejcet} function instead.
73
- *
74
- * For reference, this `@WebSocketRoute.Acceptor()` parameter decorator is
75
- * essential for the method decorated by `@WebSocketRoute()` decorator. If you
76
- * forget it, it would be both compilation/runtime error.
77
- */
78
- export function Acceptor(): ParameterDecorator {
79
- return function WebSocketAcceptor(
80
- target: Object,
81
- propertyKey: string | symbol | undefined,
82
- parameterIndex: number,
83
- ) {
84
- emplace(target, propertyKey ?? "", {
85
- category: "acceptor",
86
- index: parameterIndex,
87
- });
88
- };
89
- }
90
-
91
- /**
92
- * Driver parameter decorator.
93
- *
94
- * `@WebSocketRoute.Driver()` is a parameter decorator function for the
95
- * `Driver<Listener>` (of `tgrid`) typed parameter.
96
- *
97
- * With the `@WebSocketRoute.Driver()` decorated parameter, you can call
98
- * function of `Listener` typed instance provided by remote WebSocket client
99
- * by calling the `Driver<Listener>` instance.
100
- *
101
- * For reference, this `@WebSocketRoute.Driver()` decorator is optional, and
102
- * can be substituted by `@WebSocketRoute.Acceptor()` decorated parameter by
103
- * calling the {@link WebSocketAcceptor.getDriver} function.
104
- */
105
- export function Driver(): ParameterDecorator {
106
- return function WebSocketDriver(
107
- target: Object,
108
- propertyKey: string | symbol | undefined,
109
- parameterIndex: number,
110
- ) {
111
- emplace(target, propertyKey ?? "", {
112
- category: "driver",
113
- index: parameterIndex,
114
- });
115
- };
116
- }
117
-
118
- /**
119
- * Header decorator.
120
- *
121
- * `@WebSocketRoute.Header()` is a parameter decorator function for the
122
- * WebSocket header with type casting and assertion.
123
- *
124
- * For reference, `@WebSocketRoute.Header()` is different with HTTP headers.
125
- * It's for WebSocket protocol, especially for TGrid's
126
- * {@link WebSocketConnector} and {@link WebSocketAcceptor}'s special header.
127
- *
128
- * Also, this `@WebSocketRoute.Header()` decorator is optional, and can be
129
- * substituted by `@WebSocketRoute.Acceptor()` decorated parameter by
130
- * accessting to the {@link WebSocketAcceptor.header} property.
131
- */
132
- export function Header<T>(
133
- validator?: IRequestBodyValidator<T>,
134
- ): ParameterDecorator {
135
- const validate = validate_request_body("WebSocketRoute.Header")(validator);
136
- return function WebSocketHeader(
137
- target: Object,
138
- propertyKey: string | symbol | undefined,
139
- parameterIndex: number,
140
- ) {
141
- emplace(target, propertyKey ?? "", {
142
- category: "header",
143
- index: parameterIndex,
144
- validate,
145
- });
146
- };
147
- }
148
-
149
- /**
150
- * URL parameter decorator.
151
- *
152
- * `@WebSocketRoute.Param()` is a parameter decorator function for the URL
153
- * parameter with type casting and assertion.
154
- *
155
- * It's almost same with the {@link TypedParam}, but `@WebSocketRoute.Param()`
156
- * is only for WebSocket protocol router function decorated by
157
- * {@link WebSocketRoute}.
158
- *
159
- * @param field URL parameter field name
160
- */
161
- export function Param<T extends boolean | bigint | number | string | null>(
162
- field: string,
163
- assert?: (value: string) => T,
164
- ): ParameterDecorator {
165
- if (assert === undefined) {
166
- NoTransformConfigurationError("WebSocketRoute.Param");
167
- assert = (value) => value as T;
168
- }
169
- return function WebSocketParam(
170
- target: Object,
171
- propertyKey: string | symbol | undefined,
172
- parameterIndex: number,
173
- ) {
174
- emplace(target, propertyKey ?? "", {
175
- category: "param",
176
- index: parameterIndex,
177
- field,
178
- assert,
179
- });
180
- };
181
- }
182
-
183
- /**
184
- * URL query decorator.
185
- *
186
- * `@WebSocketRoute.Query()` is a parameter decorator function for the URL
187
- * query string with type casting and assertion.
188
- *
189
- * It is almost same with {@link TypedQuery}, but `@WebSocketRoute.Query()` is
190
- * only for WebSocket protocol router function decorated by
191
- * {@link WebSocketRoute}.
192
- *
193
- * For reference, as same with {@link TypedQuery}, `@WebSocketRoute.Query()`
194
- * has same restriction for the target type `T`. If actual URL query parameter
195
- * values are different with their promised type `T`, it would be runtime
196
- * error.
197
- *
198
- * 1. Type `T` must be an object type
199
- * 2. Do not allow dynamic property
200
- * 3. Only `boolean`, `bigint`, `number`, `string` or their array types are
201
- * allowed
202
- * 4. By the way, union type never be not allowed
203
- */
204
- export function Query<T extends object>(
205
- validator?: IRequestQueryValidator<T>,
206
- ): ParameterDecorator {
207
- const validate = validate_request_query("WebSocketRoute.Query")(validator);
208
- return function WebSocketQuery(
209
- target: Object,
210
- propertyKey: string | symbol | undefined,
211
- parameterIndex: number,
212
- ) {
213
- emplace(target, propertyKey ?? "", {
214
- category: "query",
215
- index: parameterIndex,
216
- validate,
217
- });
218
- };
219
- }
220
-
221
- /** @internal */
222
- const emplace = (
223
- target: Object,
224
- propertyKey: string | symbol,
225
- value: IWebSocketRouteReflect.IArgument,
226
- ) => {
227
- const array: IWebSocketRouteReflect.IArgument[] | undefined =
228
- Reflect.getMetadata(
229
- "nestia/WebSocketRoute/Parameters",
230
- target,
231
- propertyKey,
232
- );
233
- if (array !== undefined) array.push(value);
234
- else
235
- Reflect.defineMetadata(
236
- "nestia/WebSocketRoute/Parameters",
237
- [value],
238
- target,
239
- propertyKey,
240
- );
241
- };
242
- }
1
+ import { IRequestBodyValidator } from "../options/IRequestBodyValidator";
2
+ import { IRequestQueryValidator } from "../options/IRequestQueryValidator";
3
+ import { NoTransformConfigurationError } from "./NoTransformConfigurationError";
4
+ import { IWebSocketRouteReflect } from "./internal/IWebSocketRouteReflect";
5
+ import { validate_request_body } from "./internal/validate_request_body";
6
+ import { validate_request_query } from "./internal/validate_request_query";
7
+
8
+ /**
9
+ * WebSocket route decorator.
10
+ *
11
+ * `@WebSocketRoute()` is a route decorator function for WebSocket routes. If
12
+ * you want to define a WebSocket route with this `@WebSocketRoute` decorator,
13
+ * please don't forget to call the {@link WebSocketAdaptor.upgrade} function to
14
+ * the {@link INestApplication} instance.
15
+ *
16
+ * Also, `WebSocketRoute` is a module containing parameter decorator functions
17
+ * of below for the `@WebSocketRoute` decorated method, at the same time. Note
18
+ * that, every parameters must be decorated by one of the parameter decorators
19
+ * in the `WebSocketRoute` module. One thing more important is,
20
+ * {@link WebSocketRoute.Acceptor} decorated parameter must be defined in the
21
+ * method. If not, it would be both compilation/runtime error.
22
+ *
23
+ * - {@link WebSocketRoute.Acceptor}
24
+ * - {@link WebSocketRoute.Driver}
25
+ * - {@link WebSocketRoute.Header}
26
+ * - {@link WebSocketRoute.Param}
27
+ * - {@link WebSocketRoute.Query}
28
+ *
29
+ * For reference, key difference between `@WebSocketGateway()` of NestJS and
30
+ * `@WebSocketRoute()` of Nestia is, `@WebSocketRoute()` can make multiple
31
+ * WebSocket routes by configuring _paths_, besides `@WebSocketGateway()` can't
32
+ * do it.
33
+ *
34
+ * Furthermore, if you build SDK (Software Development Kit) library through
35
+ * `@nestia/sdk`, you can make safe WebSocket client taking advantages of
36
+ * TypeScript type hints and checks.
37
+ *
38
+ * @author Jeongho Nam - https://github.com/samchon
39
+ * @param path Path(s) of the WebSocket request
40
+ * @returns Method decorator
41
+ */
42
+ export function WebSocketRoute(
43
+ path?: undefined | string | string[],
44
+ ): MethodDecorator {
45
+ return function WebSocketRoute(
46
+ _target: Object,
47
+ _propertyKey: string | symbol,
48
+ descriptor: TypedPropertyDescriptor<any>,
49
+ ): TypedPropertyDescriptor<any> {
50
+ Reflect.defineMetadata(
51
+ "nestia/WebSocketRoute",
52
+ {
53
+ paths: path === undefined ? [] : Array.isArray(path) ? path : [path],
54
+ } satisfies IWebSocketRouteReflect,
55
+ descriptor.value,
56
+ );
57
+ return descriptor;
58
+ };
59
+ }
60
+ export namespace WebSocketRoute {
61
+ /**
62
+ * Acceptor parameter decorator.
63
+ *
64
+ * `@WebSocketRoute.Acceptor()` is a parameter decorator function for the
65
+ * `WebSocketAcceptor<Header, Provider, Listener>` (of `tgrid`) typed
66
+ * parameter.
67
+ *
68
+ * In the controller method decorated by `@WebSocketRoute()` and
69
+ * `@WebSocketRoute.Acceptor()`, call {@link WebSocketAcceptor.accept} function
70
+ * with `Provider` instance when you want to accept the WebSocket client
71
+ * connection. Otherwise you want to reject the connection, call
72
+ * {@link WebSocketAcceptor.rejcet} function instead.
73
+ *
74
+ * For reference, this `@WebSocketRoute.Acceptor()` parameter decorator is
75
+ * essential for the method decorated by `@WebSocketRoute()` decorator. If you
76
+ * forget it, it would be both compilation/runtime error.
77
+ */
78
+ export function Acceptor(): ParameterDecorator {
79
+ return function WebSocketAcceptor(
80
+ target: Object,
81
+ propertyKey: string | symbol | undefined,
82
+ parameterIndex: number,
83
+ ) {
84
+ emplace(target, propertyKey ?? "", {
85
+ category: "acceptor",
86
+ index: parameterIndex,
87
+ });
88
+ };
89
+ }
90
+
91
+ /**
92
+ * Driver parameter decorator.
93
+ *
94
+ * `@WebSocketRoute.Driver()` is a parameter decorator function for the
95
+ * `Driver<Listener>` (of `tgrid`) typed parameter.
96
+ *
97
+ * With the `@WebSocketRoute.Driver()` decorated parameter, you can call
98
+ * function of `Listener` typed instance provided by remote WebSocket client
99
+ * by calling the `Driver<Listener>` instance.
100
+ *
101
+ * For reference, this `@WebSocketRoute.Driver()` decorator is optional, and
102
+ * can be substituted by `@WebSocketRoute.Acceptor()` decorated parameter by
103
+ * calling the {@link WebSocketAcceptor.getDriver} function.
104
+ */
105
+ export function Driver(): ParameterDecorator {
106
+ return function WebSocketDriver(
107
+ target: Object,
108
+ propertyKey: string | symbol | undefined,
109
+ parameterIndex: number,
110
+ ) {
111
+ emplace(target, propertyKey ?? "", {
112
+ category: "driver",
113
+ index: parameterIndex,
114
+ });
115
+ };
116
+ }
117
+
118
+ /**
119
+ * Header decorator.
120
+ *
121
+ * `@WebSocketRoute.Header()` is a parameter decorator function for the
122
+ * WebSocket header with type casting and assertion.
123
+ *
124
+ * For reference, `@WebSocketRoute.Header()` is different with HTTP headers.
125
+ * It's for WebSocket protocol, especially for TGrid's
126
+ * {@link WebSocketConnector} and {@link WebSocketAcceptor}'s special header.
127
+ *
128
+ * Also, this `@WebSocketRoute.Header()` decorator is optional, and can be
129
+ * substituted by `@WebSocketRoute.Acceptor()` decorated parameter by
130
+ * accessting to the {@link WebSocketAcceptor.header} property.
131
+ */
132
+ export function Header<T>(
133
+ validator?: IRequestBodyValidator<T>,
134
+ ): ParameterDecorator {
135
+ const validate = validate_request_body("WebSocketRoute.Header")(validator);
136
+ return function WebSocketHeader(
137
+ target: Object,
138
+ propertyKey: string | symbol | undefined,
139
+ parameterIndex: number,
140
+ ) {
141
+ emplace(target, propertyKey ?? "", {
142
+ category: "header",
143
+ index: parameterIndex,
144
+ validate,
145
+ });
146
+ };
147
+ }
148
+
149
+ /**
150
+ * URL parameter decorator.
151
+ *
152
+ * `@WebSocketRoute.Param()` is a parameter decorator function for the URL
153
+ * parameter with type casting and assertion.
154
+ *
155
+ * It's almost same with the {@link TypedParam}, but `@WebSocketRoute.Param()`
156
+ * is only for WebSocket protocol router function decorated by
157
+ * {@link WebSocketRoute}.
158
+ *
159
+ * @param field URL parameter field name
160
+ */
161
+ export function Param<T extends boolean | bigint | number | string | null>(
162
+ field: string,
163
+ assert?: (value: string) => T,
164
+ ): ParameterDecorator {
165
+ if (assert === undefined) {
166
+ NoTransformConfigurationError("WebSocketRoute.Param");
167
+ assert = (value) => value as T;
168
+ }
169
+ return function WebSocketParam(
170
+ target: Object,
171
+ propertyKey: string | symbol | undefined,
172
+ parameterIndex: number,
173
+ ) {
174
+ emplace(target, propertyKey ?? "", {
175
+ category: "param",
176
+ index: parameterIndex,
177
+ field,
178
+ assert,
179
+ });
180
+ };
181
+ }
182
+
183
+ /**
184
+ * URL query decorator.
185
+ *
186
+ * `@WebSocketRoute.Query()` is a parameter decorator function for the URL
187
+ * query string with type casting and assertion.
188
+ *
189
+ * It is almost same with {@link TypedQuery}, but `@WebSocketRoute.Query()` is
190
+ * only for WebSocket protocol router function decorated by
191
+ * {@link WebSocketRoute}.
192
+ *
193
+ * For reference, as same with {@link TypedQuery}, `@WebSocketRoute.Query()`
194
+ * has same restriction for the target type `T`. If actual URL query parameter
195
+ * values are different with their promised type `T`, it would be runtime
196
+ * error.
197
+ *
198
+ * 1. Type `T` must be an object type
199
+ * 2. Do not allow dynamic property
200
+ * 3. Only `boolean`, `bigint`, `number`, `string` or their array types are
201
+ * allowed
202
+ * 4. By the way, union type never be not allowed
203
+ */
204
+ export function Query<T extends object>(
205
+ validator?: IRequestQueryValidator<T>,
206
+ ): ParameterDecorator {
207
+ const validate = validate_request_query("WebSocketRoute.Query")(validator);
208
+ return function WebSocketQuery(
209
+ target: Object,
210
+ propertyKey: string | symbol | undefined,
211
+ parameterIndex: number,
212
+ ) {
213
+ emplace(target, propertyKey ?? "", {
214
+ category: "query",
215
+ index: parameterIndex,
216
+ validate,
217
+ });
218
+ };
219
+ }
220
+
221
+ /** @internal */
222
+ const emplace = (
223
+ target: Object,
224
+ propertyKey: string | symbol,
225
+ value: IWebSocketRouteReflect.IArgument,
226
+ ) => {
227
+ const array: IWebSocketRouteReflect.IArgument[] | undefined =
228
+ Reflect.getMetadata(
229
+ "nestia/WebSocketRoute/Parameters",
230
+ target,
231
+ propertyKey,
232
+ );
233
+ if (array !== undefined) array.push(value);
234
+ else
235
+ Reflect.defineMetadata(
236
+ "nestia/WebSocketRoute/Parameters",
237
+ [value],
238
+ target,
239
+ propertyKey,
240
+ );
241
+ };
242
+ }
@@ -1,2 +1,2 @@
1
- /** @internal */
2
- export const ENCRYPTION_METADATA_KEY = "nestia:core:encryption:password";
1
+ /** @internal */
2
+ export const ENCRYPTION_METADATA_KEY = "nestia:core:encryption:password";
@@ -1,23 +1,23 @@
1
- export interface IWebSocketRouteReflect {
2
- paths: string[];
3
- }
4
- export namespace IWebSocketRouteReflect {
5
- export type IArgument = IAcceptor | IDriver | IHeader | IParam | IQuery;
6
- export interface IAcceptor extends IBase<"acceptor"> {}
7
- export interface IDriver extends IBase<"driver"> {}
8
- export interface IHeader extends IBase<"header"> {
9
- validate: (input?: any) => Error | null;
10
- }
11
- export interface IParam extends IBase<"param"> {
12
- field: string;
13
- assert: (value: string) => any;
14
- }
15
- export interface IQuery extends IBase<"query"> {
16
- validate: (input: URLSearchParams) => any | Error;
17
- }
18
-
19
- interface IBase<Category extends string> {
20
- category: Category;
21
- index: number;
22
- }
23
- }
1
+ export interface IWebSocketRouteReflect {
2
+ paths: string[];
3
+ }
4
+ export namespace IWebSocketRouteReflect {
5
+ export type IArgument = IAcceptor | IDriver | IHeader | IParam | IQuery;
6
+ export interface IAcceptor extends IBase<"acceptor"> {}
7
+ export interface IDriver extends IBase<"driver"> {}
8
+ export interface IHeader extends IBase<"header"> {
9
+ validate: (input?: any) => Error | null;
10
+ }
11
+ export interface IParam extends IBase<"param"> {
12
+ field: string;
13
+ assert: (value: string) => any;
14
+ }
15
+ export interface IQuery extends IBase<"query"> {
16
+ validate: (input: URLSearchParams) => any | Error;
17
+ }
18
+
19
+ interface IBase<Category extends string> {
20
+ category: Category;
21
+ index: number;
22
+ }
23
+ }
@@ -1,2 +1,2 @@
1
- // For very old legay versions
2
- export { NoTransformConfigurationError as NoTransformConfigureError } from "../NoTransformConfigurationError";
1
+ // For very old legay versions
2
+ export { NoTransformConfigurationError as NoTransformConfigureError } from "../NoTransformConfigurationError";