@deepkit/http 1.0.1-alpha.16 → 1.0.1-alpha.160
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +236 -0
- package/dist/cjs/index.d.ts +14 -10
- package/dist/cjs/index.js +19 -11
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/src/controllers.d.ts +10 -3
- package/dist/cjs/src/controllers.js +7 -3
- package/dist/cjs/src/controllers.js.map +1 -1
- package/dist/cjs/src/decorator.d.ts +144 -70
- package/dist/cjs/src/decorator.js +277 -102
- package/dist/cjs/src/decorator.js.map +1 -1
- package/dist/cjs/src/filter.d.ts +49 -0
- package/dist/cjs/src/filter.js +215 -0
- package/dist/cjs/src/filter.js.map +1 -0
- package/dist/cjs/src/http-app.d.ts +8 -0
- package/dist/cjs/src/http-app.js +16 -0
- package/dist/cjs/src/http-app.js.map +1 -0
- package/dist/cjs/src/http.d.ts +131 -32
- package/dist/cjs/src/http.js +523 -122
- package/dist/cjs/src/http.js.map +1 -1
- package/dist/cjs/src/kernel.d.ts +50 -9
- package/dist/cjs/src/kernel.js +109 -98
- package/dist/cjs/src/kernel.js.map +1 -1
- package/dist/cjs/src/logger.d.ts +3 -3
- package/dist/cjs/src/logger.js +9 -12
- package/dist/cjs/src/logger.js.map +1 -1
- package/dist/cjs/src/middleware.d.ts +61 -0
- package/dist/cjs/src/middleware.js +95 -0
- package/dist/cjs/src/middleware.js.map +1 -0
- package/dist/cjs/src/model.d.ts +270 -4
- package/dist/cjs/src/model.js +401 -3
- package/dist/cjs/src/model.js.map +1 -1
- package/dist/cjs/src/module.config.d.ts +149 -4
- package/dist/cjs/src/module.config.js +11 -6
- package/dist/cjs/src/module.config.js.map +1 -1
- package/dist/cjs/src/module.d.ts +14 -32
- package/dist/cjs/src/module.js +122 -7
- package/dist/cjs/src/module.js.map +1 -1
- package/dist/cjs/src/request-parser.d.ts +37 -0
- package/dist/cjs/src/request-parser.js +382 -0
- package/dist/cjs/src/request-parser.js.map +1 -0
- package/dist/cjs/src/router.d.ts +174 -75
- package/dist/cjs/src/router.js +469 -288
- package/dist/cjs/src/router.js.map +1 -1
- package/dist/cjs/src/static-serving.d.ts +32 -4
- package/dist/cjs/src/static-serving.js +115 -71
- package/dist/cjs/src/static-serving.js.map +1 -1
- package/dist/cjs/src/utils.js +2 -2
- package/dist/cjs/src/utils.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -2916
- package/dist/esm/index.d.ts +14 -10
- package/dist/esm/index.js +14 -10
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/src/controllers.d.ts +10 -3
- package/dist/esm/src/controllers.js +7 -3
- package/dist/esm/src/controllers.js.map +1 -1
- package/dist/esm/src/decorator.d.ts +144 -70
- package/dist/esm/src/decorator.js +272 -99
- package/dist/esm/src/decorator.js.map +1 -1
- package/dist/esm/src/filter.d.ts +49 -0
- package/dist/esm/src/filter.js +209 -0
- package/dist/esm/src/filter.js.map +1 -0
- package/dist/esm/src/http-app.d.ts +8 -0
- package/dist/esm/src/http-app.js +12 -0
- package/dist/esm/src/http-app.js.map +1 -0
- package/dist/esm/src/http.d.ts +131 -32
- package/dist/esm/src/http.js +504 -121
- package/dist/esm/src/http.js.map +1 -1
- package/dist/esm/src/kernel.d.ts +50 -9
- package/dist/esm/src/kernel.js +110 -100
- package/dist/esm/src/kernel.js.map +1 -1
- package/dist/esm/src/logger.d.ts +3 -3
- package/dist/esm/src/logger.js +7 -11
- package/dist/esm/src/logger.js.map +1 -1
- package/dist/esm/src/middleware.d.ts +61 -0
- package/dist/esm/src/middleware.js +90 -0
- package/dist/esm/src/middleware.js.map +1 -0
- package/dist/esm/src/model.d.ts +270 -4
- package/dist/esm/src/model.js +357 -1
- package/dist/esm/src/model.js.map +1 -1
- package/dist/esm/src/module.config.d.ts +149 -4
- package/dist/esm/src/module.config.js +9 -5
- package/dist/esm/src/module.config.js.map +1 -1
- package/dist/esm/src/module.d.ts +14 -32
- package/dist/esm/src/module.js +121 -7
- package/dist/esm/src/module.js.map +1 -1
- package/dist/esm/src/request-parser.d.ts +37 -0
- package/dist/esm/src/request-parser.js +372 -0
- package/dist/esm/src/request-parser.js.map +1 -0
- package/dist/esm/src/router.d.ts +174 -75
- package/dist/esm/src/router.js +463 -285
- package/dist/esm/src/router.js.map +1 -1
- package/dist/esm/src/static-serving.d.ts +32 -4
- package/dist/esm/src/static-serving.js +107 -65
- package/dist/esm/src/static-serving.js.map +1 -1
- package/dist/esm/src/utils.js +1 -0
- package/dist/esm/src/utils.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -2916
- package/index.ts +14 -10
- package/package.json +30 -19
- package/src/controllers.ts +4 -3
- package/src/decorator.ts +242 -104
- package/src/filter.ts +224 -0
- package/src/http-app.ts +11 -0
- package/src/http.ts +501 -100
- package/src/kernel.ts +128 -80
- package/src/logger.ts +4 -6
- package/src/middleware.ts +116 -0
- package/src/model.ts +516 -5
- package/src/module.config.ts +168 -5
- package/src/module.ts +120 -7
- package/src/request-parser.ts +430 -0
- package/src/router.ts +546 -317
- package/src/static-serving.ts +120 -50
- package/src/utils.ts +0 -2
- package/tsconfig.esm.json +7 -7
- package/tsconfig.json +18 -11
- package/tsconfig.spec.json +8 -0
- package/dist/cjs/tests/router.spec.d.ts +0 -1
- package/dist/cjs/tests/router.spec.js +0 -481
- package/dist/cjs/tests/router.spec.js.map +0 -1
- package/dist/esm/tests/router.spec.d.ts +0 -1
- package/dist/esm/tests/router.spec.js +0 -479
- package/dist/esm/tests/router.spec.js.map +0 -1
- package/tests/router.spec.ts +0 -347
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-parser.js","sourceRoot":"","sources":["../../../src/request-parser.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/src/router.d.ts
CHANGED
|
@@ -1,91 +1,114 @@
|
|
|
1
1
|
import { ClassType, CompilerContext } from '@deepkit/core';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { HttpControllers } from './controllers';
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
import { ReflectionFunction, ReflectionParameter, SerializationOptions, Serializer, Type } from '@deepkit/type';
|
|
3
|
+
import { HttpDecorator } from './decorator.js';
|
|
4
|
+
import { HttpRequest, HttpRequestPositionedParameters, HttpRequestQuery, HttpRequestResolvedParameters } from './model.js';
|
|
5
|
+
import { InjectorContext, InjectorModule } from '@deepkit/injector';
|
|
6
|
+
import { LoggerInterface } from '@deepkit/logger';
|
|
7
|
+
import { HttpControllers } from './controllers.js';
|
|
8
|
+
import { MiddlewareRegistry } from '@deepkit/app';
|
|
9
|
+
import { HttpMiddlewareConfig, HttpMiddlewareFn } from './middleware.js';
|
|
10
|
+
import { ParameterForRequestParser } from './request-parser.js';
|
|
11
|
+
import { HttpConfig } from './module.config.js';
|
|
12
|
+
export type RouteParameterResolverForInjector = ((injector: InjectorContext) => HttpRequestPositionedParameters | Promise<HttpRequestPositionedParameters>);
|
|
13
|
+
interface ResolvedController {
|
|
10
14
|
parameters: RouteParameterResolverForInjector;
|
|
11
15
|
routeConfig: RouteConfig;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
uploadedFiles: {
|
|
17
|
+
[name: string]: UploadedFile;
|
|
18
|
+
};
|
|
19
|
+
middlewares?: (injector: InjectorContext) => {
|
|
20
|
+
fn: HttpMiddlewareFn;
|
|
21
|
+
timeout?: number;
|
|
22
|
+
}[];
|
|
16
23
|
}
|
|
17
|
-
export
|
|
18
|
-
|
|
24
|
+
export declare const UploadedFileSymbol: unique symbol;
|
|
25
|
+
export declare class UploadedFile {
|
|
26
|
+
/**
|
|
27
|
+
* Validator to ensure the file was provided by the framework, and not the user spoofing it.
|
|
28
|
+
*/
|
|
29
|
+
validator: typeof UploadedFileSymbol | null;
|
|
19
30
|
/**
|
|
20
|
-
*
|
|
31
|
+
* The size of the uploaded file in bytes.
|
|
21
32
|
*/
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
33
|
+
size: number;
|
|
34
|
+
/**
|
|
35
|
+
* The local path this file is being written to. Will be deleted when request is handled.
|
|
36
|
+
*/
|
|
37
|
+
path: string;
|
|
38
|
+
/**
|
|
39
|
+
* The name this file had according to the uploading client.
|
|
40
|
+
*/
|
|
41
|
+
name: string | null;
|
|
42
|
+
/**
|
|
43
|
+
* The mime type of this file, according to the uploading client.
|
|
44
|
+
*/
|
|
45
|
+
type: string | null;
|
|
46
|
+
/**
|
|
47
|
+
* A Date object (or `null`) containing the time this file was last written to.
|
|
48
|
+
* Mostly here for compatibility with the [W3C File API Draft](http://dev.w3.org/2006/webapi/FileAPI/).
|
|
49
|
+
*/
|
|
50
|
+
lastModifiedDate: Date | null;
|
|
51
|
+
}
|
|
52
|
+
export interface RouteFunctionControllerAction {
|
|
53
|
+
type: 'function';
|
|
54
|
+
module?: InjectorModule<any>;
|
|
55
|
+
fn: (...args: any[]) => any;
|
|
56
|
+
}
|
|
57
|
+
export interface RouteClassControllerAction {
|
|
58
|
+
type: 'controller';
|
|
59
|
+
module?: InjectorModule<any>;
|
|
60
|
+
controller: ClassType;
|
|
61
|
+
methodName: string;
|
|
25
62
|
}
|
|
63
|
+
export declare function getRouteActionLabel(action: RouteClassControllerAction | RouteFunctionControllerAction): string;
|
|
26
64
|
export declare class RouteConfig {
|
|
27
65
|
readonly name: string;
|
|
28
|
-
readonly
|
|
66
|
+
readonly httpMethods: string[];
|
|
29
67
|
readonly path: string;
|
|
30
|
-
readonly action:
|
|
68
|
+
readonly action: RouteClassControllerAction | RouteFunctionControllerAction;
|
|
69
|
+
internal: boolean;
|
|
31
70
|
baseUrl: string;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
errorType: ClassType;
|
|
37
|
-
message?: string;
|
|
71
|
+
responses: {
|
|
72
|
+
statusCode: number;
|
|
73
|
+
description: string;
|
|
74
|
+
type?: Type;
|
|
38
75
|
}[];
|
|
39
76
|
description: string;
|
|
40
77
|
groups: string[];
|
|
41
78
|
category: string;
|
|
79
|
+
returnType?: Type;
|
|
80
|
+
serializationOptions?: SerializationOptions;
|
|
81
|
+
serializer?: Serializer;
|
|
82
|
+
/**
|
|
83
|
+
* When assigned defines where this route came from.
|
|
84
|
+
*/
|
|
85
|
+
module?: InjectorModule<any>;
|
|
86
|
+
resolverForToken: Map<any, ClassType>;
|
|
87
|
+
middlewares: {
|
|
88
|
+
config: HttpMiddlewareConfig;
|
|
89
|
+
module?: InjectorModule<any>;
|
|
90
|
+
}[];
|
|
91
|
+
resolverForParameterName: Map<string, ClassType>;
|
|
42
92
|
/**
|
|
43
93
|
* An arbitrary data container the user can use to store app specific settings/values.
|
|
44
94
|
*/
|
|
45
95
|
data: Map<any, any>;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
constructor(name: string, httpMethod: string, path: string, action: RouteControllerAction);
|
|
96
|
+
constructor(name: string, httpMethods: string[], path: string, action: RouteClassControllerAction | RouteFunctionControllerAction, internal?: boolean);
|
|
97
|
+
getReflectionFunction(): ReflectionFunction;
|
|
98
|
+
getSchemaForResponse(statusCode: number): Type | undefined;
|
|
50
99
|
getFullPath(): string;
|
|
51
100
|
}
|
|
52
|
-
|
|
53
|
-
* When this class is injected into a route, then validation errors are not automatically thrown (using onHttpControllerValidationError event),
|
|
54
|
-
* but injected to the route itself. The user is then responsible to handle the errors.
|
|
55
|
-
*
|
|
56
|
-
* Note: The body parameter is still passed, however it might contain now invalid data. The BodyValidation tells what data is invalid.
|
|
57
|
-
*/
|
|
58
|
-
export declare class BodyValidation {
|
|
59
|
-
readonly errors: ValidationFailedItem[];
|
|
60
|
-
constructor(errors?: ValidationFailedItem[]);
|
|
61
|
-
hasErrors(prefix?: string): boolean;
|
|
62
|
-
getErrors(prefix?: string): ValidationFailedItem[];
|
|
63
|
-
getErrorsForPath(path: string): ValidationFailedItem[];
|
|
64
|
-
getErrorMessageForPath(path: string): string;
|
|
65
|
-
}
|
|
66
|
-
declare class ParsedRoute {
|
|
101
|
+
export declare class ParsedRoute {
|
|
67
102
|
routeConfig: RouteConfig;
|
|
68
103
|
regex?: string;
|
|
69
|
-
customValidationErrorHandling?: ParsedRouteParameter;
|
|
70
104
|
pathParameterNames: {
|
|
71
105
|
[name: string]: number;
|
|
72
106
|
};
|
|
73
|
-
protected parameters:
|
|
107
|
+
protected parameters: ParameterForRequestParser[];
|
|
74
108
|
constructor(routeConfig: RouteConfig);
|
|
75
|
-
addParameter(property:
|
|
76
|
-
getParameters():
|
|
77
|
-
getParameter(name: string):
|
|
78
|
-
}
|
|
79
|
-
declare class ParsedRouteParameter {
|
|
80
|
-
property: PropertySchema;
|
|
81
|
-
config?: RouteParameterConfig | undefined;
|
|
82
|
-
regexPosition?: number;
|
|
83
|
-
constructor(property: PropertySchema, config?: RouteParameterConfig | undefined);
|
|
84
|
-
get body(): boolean;
|
|
85
|
-
get query(): boolean;
|
|
86
|
-
get typePath(): string | undefined;
|
|
87
|
-
getName(): string;
|
|
88
|
-
isPartOfPath(): boolean;
|
|
109
|
+
addParameter(property: ReflectionParameter): ParameterForRequestParser;
|
|
110
|
+
getParameters(): ParameterForRequestParser[];
|
|
111
|
+
getParameter(name: string): ParameterForRequestParser;
|
|
89
112
|
}
|
|
90
113
|
export declare function parseRouteControllerAction(routeConfig: RouteConfig): ParsedRoute;
|
|
91
114
|
export declare function dotToUrlPath(dotPath: string): string;
|
|
@@ -93,35 +116,105 @@ export interface RouteParameterResolver {
|
|
|
93
116
|
resolve(context: RouteParameterResolverContext): any | Promise<any>;
|
|
94
117
|
}
|
|
95
118
|
export interface RouteParameterResolverContext {
|
|
96
|
-
|
|
119
|
+
token: ClassType | string | symbol | any;
|
|
97
120
|
route: RouteConfig;
|
|
98
121
|
request: HttpRequest;
|
|
122
|
+
/**
|
|
123
|
+
* The parameter name (variable name).
|
|
124
|
+
*/
|
|
125
|
+
name: any;
|
|
126
|
+
/**
|
|
127
|
+
* The raw parameter value from the path, if the parameter is defined in the path (e.g. /user/:name).
|
|
128
|
+
* If not in the path, you have to use `parameters.<name>` instead.
|
|
129
|
+
*/
|
|
130
|
+
value: any;
|
|
99
131
|
query: HttpRequestQuery;
|
|
100
132
|
parameters: HttpRequestResolvedParameters;
|
|
133
|
+
type: ReflectionParameter;
|
|
101
134
|
}
|
|
102
|
-
export
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
135
|
+
export interface HttpRouterFunctionOptions {
|
|
136
|
+
path: string;
|
|
137
|
+
name?: string;
|
|
138
|
+
methods?: string[];
|
|
139
|
+
description?: string;
|
|
140
|
+
category?: string;
|
|
141
|
+
groups?: string[];
|
|
142
|
+
/**
|
|
143
|
+
* An arbitrary data container the user can use to store app specific settings/values.
|
|
144
|
+
*/
|
|
145
|
+
data?: Record<any, any>;
|
|
146
|
+
baseUrl?: string;
|
|
147
|
+
middlewares?: (() => HttpMiddlewareConfig)[];
|
|
148
|
+
serializer?: Serializer;
|
|
149
|
+
serializationOptions?: SerializationOptions;
|
|
150
|
+
resolverForToken?: Map<any, ClassType>;
|
|
151
|
+
resolverForParameterName?: Map<string, ClassType>;
|
|
152
|
+
responses?: {
|
|
153
|
+
statusCode: number;
|
|
154
|
+
description: string;
|
|
155
|
+
type?: Type;
|
|
156
|
+
}[];
|
|
157
|
+
}
|
|
158
|
+
export declare abstract class HttpRouterRegistryFunctionRegistrar {
|
|
159
|
+
protected defaultOptions: Partial<HttpRouterFunctionOptions>;
|
|
160
|
+
abstract addRoute(routeConfig: RouteConfig): void;
|
|
161
|
+
/**
|
|
162
|
+
* Returns a new registrar object with default options that apply to each registered route through this registrar.
|
|
163
|
+
*
|
|
164
|
+
* ```typescript
|
|
165
|
+
* const registry: HttpRouterRegistry = ...;
|
|
166
|
+
*
|
|
167
|
+
* const secretRegistry = registry.forOptions({groups: ['secret']});
|
|
168
|
+
*
|
|
169
|
+
* secretRegistry.get('/admin/groups', () => {
|
|
170
|
+
* });
|
|
171
|
+
*
|
|
172
|
+
* secretRegistry.get('/admin/users', () => {
|
|
173
|
+
* });
|
|
174
|
+
* ```
|
|
175
|
+
*/
|
|
176
|
+
forOptions(options: Partial<HttpRouterFunctionOptions>): HttpRouterRegistryFunctionRegistrar;
|
|
177
|
+
any(pathOrOptions: string | HttpRouterFunctionOptions, callback: (...args: any[]) => any): void;
|
|
178
|
+
add(decorator: HttpDecorator, callback: (...args: any[]) => any): void;
|
|
179
|
+
get(pathOrOptions: string | HttpRouterFunctionOptions, callback: (...args: any[]) => any): void;
|
|
180
|
+
post(pathOrOptions: string | HttpRouterFunctionOptions, callback: (...args: any[]) => any): void;
|
|
181
|
+
put(pathOrOptions: string | HttpRouterFunctionOptions, callback: (...args: any[]) => any): void;
|
|
182
|
+
patch(pathOrOptions: string | HttpRouterFunctionOptions, callback: (...args: any[]) => any): void;
|
|
183
|
+
delete(pathOrOptions: string | HttpRouterFunctionOptions, callback: (...args: any[]) => any): void;
|
|
184
|
+
options(pathOrOptions: string | HttpRouterFunctionOptions, callback: (...args: any[]) => any): void;
|
|
185
|
+
trace(pathOrOptions: string | HttpRouterFunctionOptions, callback: (...args: any[]) => any): void;
|
|
186
|
+
head(pathOrOptions: string | HttpRouterFunctionOptions, callback: (...args: any[]) => any): void;
|
|
187
|
+
private register;
|
|
107
188
|
}
|
|
108
|
-
export declare class
|
|
189
|
+
export declare class HttpRouterRegistry extends HttpRouterRegistryFunctionRegistrar {
|
|
190
|
+
protected routes: RouteConfig[];
|
|
191
|
+
private buildId;
|
|
192
|
+
getBuildId(): number;
|
|
193
|
+
getRoutes(): RouteConfig[];
|
|
194
|
+
addRouteForController(controller: ClassType, module: InjectorModule<any>): void;
|
|
195
|
+
addRoute(routeConfig: RouteConfig): void;
|
|
196
|
+
}
|
|
197
|
+
export declare class HttpRouter {
|
|
109
198
|
private logger;
|
|
199
|
+
private config;
|
|
200
|
+
private middlewareRegistry;
|
|
201
|
+
private registry;
|
|
110
202
|
protected fn?: (request: HttpRequest) => ResolvedController | undefined;
|
|
203
|
+
protected buildId: number;
|
|
111
204
|
protected resolveFn?: (name: string, parameters: {
|
|
112
205
|
[name: string]: any;
|
|
113
206
|
}) => string;
|
|
114
|
-
|
|
115
|
-
protected parameterResolverTags: RouteParameterResolverTag[];
|
|
116
|
-
protected form: any;
|
|
117
|
-
constructor(controllers: HttpControllers, logger: Logger, tagProviders: TagProviders);
|
|
207
|
+
constructor(controllers: HttpControllers, logger: LoggerInterface, config: HttpConfig, middlewareRegistry?: MiddlewareRegistry, registry?: HttpRouterRegistry);
|
|
118
208
|
getRoutes(): RouteConfig[];
|
|
119
|
-
static forControllers(controllers: ClassType
|
|
209
|
+
static forControllers(controllers: (ClassType | {
|
|
210
|
+
module: InjectorModule<any>;
|
|
211
|
+
controller: ClassType;
|
|
212
|
+
})[], middlewareRegistry?: MiddlewareRegistry, module?: InjectorModule<any>, config?: HttpConfig): HttpRouter;
|
|
120
213
|
protected getRouteCode(compiler: CompilerContext, routeConfig: RouteConfig): string;
|
|
121
214
|
protected getRouteUrlResolveCode(compiler: CompilerContext, routeConfig: RouteConfig): string;
|
|
122
215
|
addRoute(routeConfig: RouteConfig): void;
|
|
123
|
-
addRouteForController(controller: ClassType): void;
|
|
124
|
-
protected build():
|
|
216
|
+
addRouteForController(controller: ClassType, module: InjectorModule<any>): void;
|
|
217
|
+
protected build(): (request: HttpRequest) => ResolvedController | undefined;
|
|
125
218
|
protected buildUrlResolver(): any;
|
|
126
219
|
resolveUrl(routeName: string, parameters?: {
|
|
127
220
|
[name: string]: any;
|
|
@@ -130,3 +223,9 @@ export declare class Router {
|
|
|
130
223
|
resolve(method: string, url: string): ResolvedController | undefined;
|
|
131
224
|
}
|
|
132
225
|
export {};
|
|
226
|
+
export declare type __ΩRouteParameterResolverForInjector = any[];
|
|
227
|
+
export declare type __ΩRouteFunctionControllerAction = any[];
|
|
228
|
+
export declare type __ΩRouteClassControllerAction = any[];
|
|
229
|
+
export declare type __ΩRouteParameterResolver = any[];
|
|
230
|
+
export declare type __ΩRouteParameterResolverContext = any[];
|
|
231
|
+
export declare type __ΩHttpRouterFunctionOptions = any[];
|