@deepkit/http 1.0.1-alpha.93 → 1.0.1-alpha.95
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/dist/cjs/src/model.d.ts +1 -0
- package/dist/cjs/src/model.js +4 -1
- package/dist/cjs/src/model.js.map +1 -1
- package/dist/cjs/src/module.config.d.ts +81 -0
- package/dist/cjs/src/module.config.js +5 -2
- package/dist/cjs/src/module.config.js.map +1 -1
- package/dist/cjs/src/module.js +3 -3
- package/dist/cjs/src/module.js.map +1 -1
- package/dist/cjs/src/request-parser.d.ts +3 -2
- package/dist/cjs/src/request-parser.js +13 -11
- package/dist/cjs/src/request-parser.js.map +1 -1
- package/dist/cjs/src/router.d.ts +4 -2
- package/dist/cjs/src/router.js +7 -5
- package/dist/cjs/src/router.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/src/model.d.ts +1 -0
- package/dist/esm/src/model.js +4 -1
- package/dist/esm/src/model.js.map +1 -1
- package/dist/esm/src/module.config.d.ts +81 -0
- package/dist/esm/src/module.config.js +4 -1
- package/dist/esm/src/module.config.js.map +1 -1
- package/dist/esm/src/module.js +3 -3
- package/dist/esm/src/module.js.map +1 -1
- package/dist/esm/src/request-parser.d.ts +3 -2
- package/dist/esm/src/request-parser.js +13 -11
- package/dist/esm/src/request-parser.js.map +1 -1
- package/dist/esm/src/router.d.ts +4 -2
- package/dist/esm/src/router.js +7 -5
- package/dist/esm/src/router.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +11 -11
- package/src/model.ts +4 -0
- package/src/module.config.ts +92 -0
- package/src/module.ts +3 -3
- package/src/request-parser.ts +15 -10
- package/src/router.ts +10 -5
- package/dist/cjs/src/resolver.d.ts +0 -27
- package/dist/cjs/src/resolver.js +0 -246
- package/dist/cjs/src/resolver.js.map +0 -1
- package/dist/esm/src/resolver.d.ts +0 -27
- package/dist/esm/src/resolver.js +0 -238
- package/dist/esm/src/resolver.js.map +0 -1
package/src/request-parser.ts
CHANGED
|
@@ -5,14 +5,15 @@ import {
|
|
|
5
5
|
findMember,
|
|
6
6
|
getSerializeFunction,
|
|
7
7
|
getValidatorFunction,
|
|
8
|
-
metaAnnotation,
|
|
8
|
+
metaAnnotation,
|
|
9
9
|
ReflectionKind,
|
|
10
10
|
ReflectionParameter,
|
|
11
11
|
resolveReceiveType,
|
|
12
12
|
serializer,
|
|
13
13
|
stringifyType,
|
|
14
14
|
Type,
|
|
15
|
-
typeToObject,
|
|
15
|
+
typeToObject,
|
|
16
|
+
ValidationError
|
|
16
17
|
} from '@deepkit/type';
|
|
17
18
|
import { BodyValidationError, createRequestWithCachedBody, getRegExp, HttpRequest, ValidatedBody } from './model.js';
|
|
18
19
|
import { RouteConfig, UploadedFile } from './router.js';
|
|
@@ -22,13 +23,15 @@ import qs from 'qs';
|
|
|
22
23
|
|
|
23
24
|
// @ts-ignore
|
|
24
25
|
import formidable from 'formidable';
|
|
26
|
+
import { HttpParserOptions } from './module.config.js';
|
|
25
27
|
|
|
26
28
|
|
|
27
|
-
function parseBody(
|
|
28
|
-
|
|
29
|
+
function parseBody(
|
|
30
|
+
options: HttpParserOptions,
|
|
31
|
+
req: HttpRequest, foundFiles: { [name: string]: UploadedFile }) {
|
|
32
|
+
const form = formidable(Object.assign(options, {
|
|
29
33
|
multiples: true,
|
|
30
|
-
|
|
31
|
-
});
|
|
34
|
+
}));
|
|
32
35
|
return asyncOperation((resolve, reject) => {
|
|
33
36
|
function parseData(err: any, fields: any, files: any) {
|
|
34
37
|
if (err) {
|
|
@@ -149,7 +152,7 @@ export function parseRoutePathToRegex(path: string, params: ReflectionParameter[
|
|
|
149
152
|
return { regex: path, parameterNames };
|
|
150
153
|
}
|
|
151
154
|
|
|
152
|
-
export function buildRequestParser(parameters: ReflectionParameter[], path?: string): (request: HttpRequest) => any[] {
|
|
155
|
+
export function buildRequestParser(parseOptions: HttpParserOptions, parameters: ReflectionParameter[], path?: string): (request: HttpRequest) => any[] {
|
|
153
156
|
const compiler = new CompilerContext();
|
|
154
157
|
const params = parameters.map(v => new ParameterForRequestParser(v));
|
|
155
158
|
|
|
@@ -164,7 +167,7 @@ export function buildRequestParser(parameters: ReflectionParameter[], path?: str
|
|
|
164
167
|
}
|
|
165
168
|
}
|
|
166
169
|
|
|
167
|
-
const code = getRequestParserCodeForParameters(compiler, params, {});
|
|
170
|
+
const code = getRequestParserCodeForParameters(compiler, parseOptions, params, {});
|
|
168
171
|
compiler.context.set('ValidationError', ValidationError);
|
|
169
172
|
compiler.context.set('qs', qs);
|
|
170
173
|
|
|
@@ -188,13 +191,14 @@ export function buildRequestParser(parameters: ReflectionParameter[], path?: str
|
|
|
188
191
|
|
|
189
192
|
export function getRequestParserCodeForParameters(
|
|
190
193
|
compiler: CompilerContext,
|
|
194
|
+
parseOptions: HttpParserOptions,
|
|
191
195
|
parameters: ParameterForRequestParser[],
|
|
192
196
|
config: {
|
|
193
197
|
module?: InjectorModule<any>,
|
|
194
198
|
resolverForParameterName?: Map<string, ClassType>,
|
|
195
199
|
resolverForToken?: Map<any, ClassType>,
|
|
196
200
|
pathParameterNames?: { [name: string]: number },
|
|
197
|
-
routeConfig?: RouteConfig
|
|
201
|
+
routeConfig?: RouteConfig,
|
|
198
202
|
}
|
|
199
203
|
) {
|
|
200
204
|
let enableParseBody = false;
|
|
@@ -314,9 +318,10 @@ export function getRequestParserCodeForParameters(
|
|
|
314
318
|
|
|
315
319
|
let parseBodyLoading = '';
|
|
316
320
|
if (enableParseBody) {
|
|
321
|
+
const parseOptionsVar = compiler.reserveVariable('parseOptions', parseOptions);
|
|
317
322
|
const parseBodyVar = compiler.reserveVariable('parseBody', parseBody);
|
|
318
323
|
parseBodyLoading = `
|
|
319
|
-
const bodyFields = (await ${parseBodyVar}(request, uploadedFiles));`;
|
|
324
|
+
const bodyFields = (await ${parseBodyVar}(${parseOptionsVar}, request, uploadedFiles));`;
|
|
320
325
|
requiresAsyncParameters = true;
|
|
321
326
|
}
|
|
322
327
|
|
package/src/router.ts
CHANGED
|
@@ -21,6 +21,7 @@ import { HttpMiddlewareConfig, HttpMiddlewareFn } from './middleware.js';
|
|
|
21
21
|
import qs from 'qs';
|
|
22
22
|
import { HtmlResponse, JSONResponse, Response } from './http.js';
|
|
23
23
|
import { getRequestParserCodeForParameters, ParameterForRequestParser, parseRoutePathToRegex } from './request-parser.js';
|
|
24
|
+
import { HttpConfig, HttpParserOptions } from './module.config.js';
|
|
24
25
|
|
|
25
26
|
export type RouteParameterResolverForInjector = ((injector: InjectorContext) => HttpRequestPositionedParameters | Promise<HttpRequestPositionedParameters>);
|
|
26
27
|
|
|
@@ -215,7 +216,10 @@ export interface RouteParameterResolverContext {
|
|
|
215
216
|
type: ReflectionParameter;
|
|
216
217
|
}
|
|
217
218
|
|
|
218
|
-
function filterMiddlewaresForRoute(middlewareRawConfigs: MiddlewareRegistryEntry[], routeConfig: RouteConfig, fullPath: string): {
|
|
219
|
+
function filterMiddlewaresForRoute(middlewareRawConfigs: MiddlewareRegistryEntry[], routeConfig: RouteConfig, fullPath: string): {
|
|
220
|
+
config: HttpMiddlewareConfig,
|
|
221
|
+
module: InjectorModule<any>
|
|
222
|
+
}[] {
|
|
219
223
|
const middlewares = middlewareRawConfigs.slice(0);
|
|
220
224
|
middlewares.push(...routeConfig.middlewares as any[]);
|
|
221
225
|
|
|
@@ -526,11 +530,11 @@ export class HttpRouter {
|
|
|
526
530
|
protected buildId: number = 0;
|
|
527
531
|
protected resolveFn?: (name: string, parameters: { [name: string]: any }) => string;
|
|
528
532
|
|
|
529
|
-
|
|
530
533
|
constructor(
|
|
531
534
|
controllers: HttpControllers,
|
|
532
535
|
private logger: LoggerInterface,
|
|
533
536
|
tagRegistry: TagRegistry,
|
|
537
|
+
private config: HttpConfig,
|
|
534
538
|
private middlewareRegistry: MiddlewareRegistry = new MiddlewareRegistry,
|
|
535
539
|
private registry: HttpRouterRegistry = new HttpRouterRegistry,
|
|
536
540
|
) {
|
|
@@ -547,11 +551,12 @@ export class HttpRouter {
|
|
|
547
551
|
controllers: (ClassType | { module: InjectorModule<any>, controller: ClassType })[],
|
|
548
552
|
tagRegistry: TagRegistry = new TagRegistry(),
|
|
549
553
|
middlewareRegistry: MiddlewareRegistry = new MiddlewareRegistry(),
|
|
550
|
-
module: InjectorModule<any> = new InjectorModule()
|
|
554
|
+
module: InjectorModule<any> = new InjectorModule(),
|
|
555
|
+
config: HttpConfig = new HttpConfig()
|
|
551
556
|
): HttpRouter {
|
|
552
557
|
return new this(new HttpControllers(controllers.map(v => {
|
|
553
558
|
return isClass(v) ? { controller: v, module } : v;
|
|
554
|
-
})), new Logger([], []), tagRegistry, middlewareRegistry);
|
|
559
|
+
})), new Logger([], []), tagRegistry, config, middlewareRegistry);
|
|
555
560
|
}
|
|
556
561
|
|
|
557
562
|
protected getRouteCode(compiler: CompilerContext, routeConfig: RouteConfig): string {
|
|
@@ -600,7 +605,7 @@ export class HttpRouter {
|
|
|
600
605
|
`;
|
|
601
606
|
}
|
|
602
607
|
|
|
603
|
-
const parametersLoader = getRequestParserCodeForParameters(compiler, parameters, {
|
|
608
|
+
const parametersLoader = getRequestParserCodeForParameters(compiler, this.config.parser, parameters, {
|
|
604
609
|
module: routeConfig.module,
|
|
605
610
|
resolverForToken: routeConfig.resolverForToken,
|
|
606
611
|
resolverForParameterName: routeConfig.resolverForParameterName,
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { ClassType, CompilerContext } from '@deepkit/core';
|
|
2
|
-
import { InjectorModule } from '@deepkit/injector';
|
|
3
|
-
import { ReflectionParameter, Type } from '@deepkit/type';
|
|
4
|
-
import { RouteConfig } from './router.js';
|
|
5
|
-
export declare class ParameterForRequestParser {
|
|
6
|
-
parameter: ReflectionParameter;
|
|
7
|
-
regexPosition?: number;
|
|
8
|
-
constructor(parameter: ReflectionParameter);
|
|
9
|
-
get body(): boolean;
|
|
10
|
-
get bodyValidation(): boolean;
|
|
11
|
-
getType(): Type;
|
|
12
|
-
get header(): boolean;
|
|
13
|
-
get query(): boolean;
|
|
14
|
-
get queries(): boolean;
|
|
15
|
-
get typePath(): string | undefined;
|
|
16
|
-
getName(): string;
|
|
17
|
-
isPartOfPath(): boolean;
|
|
18
|
-
}
|
|
19
|
-
export declare function getRuquestParserCodeForParameters(compiler: CompilerContext, parameters: ParameterForRequestParser[], config: {
|
|
20
|
-
module?: InjectorModule<any>;
|
|
21
|
-
resolverForParameterName?: Map<string, ClassType>;
|
|
22
|
-
resolverForToken?: Map<any, ClassType>;
|
|
23
|
-
pathParameterNames?: {
|
|
24
|
-
[name: string]: number;
|
|
25
|
-
};
|
|
26
|
-
routeConfig?: RouteConfig;
|
|
27
|
-
}): string;
|
package/dist/cjs/src/resolver.js
DELETED
|
@@ -1,246 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getRuquestParserCodeForParameters = exports.ParameterForRequestParser = void 0;
|
|
7
|
-
/*@ts-ignore*/
|
|
8
|
-
const { __ΩClassType } = require('@deepkit/core');
|
|
9
|
-
function __assignType(fn, args) {
|
|
10
|
-
fn.__type = args;
|
|
11
|
-
return fn;
|
|
12
|
-
}
|
|
13
|
-
const core_1 = require("@deepkit/core");
|
|
14
|
-
const injector_1 = require("@deepkit/injector");
|
|
15
|
-
const type_1 = require("@deepkit/type");
|
|
16
|
-
const model_js_1 = require("./model.js");
|
|
17
|
-
const router_js_1 = require("./router.js");
|
|
18
|
-
// @ts-ignore
|
|
19
|
-
const formidable_1 = __importDefault(require("formidable"));
|
|
20
|
-
function parseBody(req, foundFiles) {
|
|
21
|
-
const form = (0, formidable_1.default)({
|
|
22
|
-
multiples: true,
|
|
23
|
-
hash: 'sha1',
|
|
24
|
-
});
|
|
25
|
-
return (0, core_1.asyncOperation)(__assignType((resolve, reject) => {
|
|
26
|
-
function parseData(err, fields, files) {
|
|
27
|
-
if (err) {
|
|
28
|
-
reject(err);
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
for (const [name, file] of Object.entries(files)) {
|
|
32
|
-
if (file.size === 0)
|
|
33
|
-
continue;
|
|
34
|
-
foundFiles[name] = {
|
|
35
|
-
size: file.size,
|
|
36
|
-
path: file.filepath,
|
|
37
|
-
name: file.originalFilename,
|
|
38
|
-
type: file.mimetype,
|
|
39
|
-
lastModifiedDate: file.lastModifiedDate,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
const body = { ...fields, ...foundFiles };
|
|
43
|
-
resolve(body);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
parseData.__type = ['err', 'fields', 'files', 'parseData', 'P"2!"2""2#"/$'];
|
|
47
|
-
if (req.body) {
|
|
48
|
-
form.parse((0, model_js_1.createRequestWithCachedBody)(req, req.body), parseData);
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
const chunks = [];
|
|
52
|
-
function read(chunk) {
|
|
53
|
-
chunks.push(chunk);
|
|
54
|
-
}
|
|
55
|
-
read.__type = ['chunk', 'read', 'P!2!"/"'];
|
|
56
|
-
req.on('data', read);
|
|
57
|
-
req.once('end', () => {
|
|
58
|
-
req.body = Buffer.concat(chunks);
|
|
59
|
-
req.off('data', read);
|
|
60
|
-
});
|
|
61
|
-
req.once('error', () => req.off('data', read));
|
|
62
|
-
form.parse(req, parseData);
|
|
63
|
-
}, ['resolve', 'reject', '', 'P"2!"2""/#']));
|
|
64
|
-
}
|
|
65
|
-
parseBody.__type = [() => model_js_1.HttpRequest, 'req', () => router_js_1.UploadedFile, 'foundFiles', 'parseBody', 'PP7!2"P&P7#LM2$"/%'];
|
|
66
|
-
class ParameterForRequestParser {
|
|
67
|
-
constructor(parameter) {
|
|
68
|
-
this.parameter = parameter;
|
|
69
|
-
}
|
|
70
|
-
get body() {
|
|
71
|
-
return type_1.metaAnnotation.getForName(this.parameter.type, 'httpBody') !== undefined;
|
|
72
|
-
}
|
|
73
|
-
get bodyValidation() {
|
|
74
|
-
return type_1.metaAnnotation.getForName(this.parameter.type, 'httpBodyValidation') !== undefined;
|
|
75
|
-
}
|
|
76
|
-
getType() {
|
|
77
|
-
if (this.bodyValidation) {
|
|
78
|
-
(0, type_1.assertType)(this.parameter.type, type_1.ReflectionKind.class);
|
|
79
|
-
const valueType = (0, type_1.findMember)('value', this.parameter.type.types);
|
|
80
|
-
if (!valueType || valueType.kind !== type_1.ReflectionKind.property)
|
|
81
|
-
throw new Error(`No property value found at ${(0, type_1.stringifyType)(this.parameter.type)}`);
|
|
82
|
-
return valueType.type;
|
|
83
|
-
}
|
|
84
|
-
return this.parameter.type;
|
|
85
|
-
}
|
|
86
|
-
get header() {
|
|
87
|
-
return type_1.metaAnnotation.getForName(this.parameter.type, 'httpHeader') !== undefined;
|
|
88
|
-
}
|
|
89
|
-
get query() {
|
|
90
|
-
return type_1.metaAnnotation.getForName(this.parameter.type, 'httpQuery') !== undefined;
|
|
91
|
-
}
|
|
92
|
-
get queries() {
|
|
93
|
-
return type_1.metaAnnotation.getForName(this.parameter.type, 'httpQueries') !== undefined;
|
|
94
|
-
}
|
|
95
|
-
get typePath() {
|
|
96
|
-
const typeOptions = type_1.metaAnnotation.getForName(this.parameter.type, 'httpQueries') || type_1.metaAnnotation.getForName(this.parameter.type, 'httpQuery')
|
|
97
|
-
|| type_1.metaAnnotation.getForName(this.parameter.type, 'httpPath') || type_1.metaAnnotation.getForName(this.parameter.type, 'httpHeader');
|
|
98
|
-
if (!typeOptions)
|
|
99
|
-
return;
|
|
100
|
-
const options = (0, type_1.typeToObject)(typeOptions[0]);
|
|
101
|
-
if ((0, core_1.isObject)(options))
|
|
102
|
-
return options.name;
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
getName() {
|
|
106
|
-
return this.parameter.name;
|
|
107
|
-
}
|
|
108
|
-
isPartOfPath() {
|
|
109
|
-
return type_1.metaAnnotation.getForName(this.parameter.type, 'httpPath') !== undefined || this.regexPosition !== undefined;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
exports.ParameterForRequestParser = ParameterForRequestParser;
|
|
113
|
-
ParameterForRequestParser.__type = ['regexPosition', () => type_1.ReflectionParameter, 'parameter', 'constructor', 'getType', 'getName', 'isPartOfPath', '\'3!8PP7"2#:"0$!!P"0%!!!!P"0&P)0\'5'];
|
|
114
|
-
function getRuquestParserCodeForParameters(compiler, parameters, config) {
|
|
115
|
-
var _a, _b;
|
|
116
|
-
let enableParseBody = false;
|
|
117
|
-
let requiresAsyncParameters = false;
|
|
118
|
-
const setParameters = [];
|
|
119
|
-
const parameterNames = [];
|
|
120
|
-
const parameterValidator = [];
|
|
121
|
-
let setParametersFromPath = '';
|
|
122
|
-
let bodyValidationErrorHandling = `if (bodyErrors.length) throw ValidationError.from(bodyErrors);`;
|
|
123
|
-
for (const parameter of parameters) {
|
|
124
|
-
if (parameter.body || parameter.bodyValidation) {
|
|
125
|
-
const type = parameter.getType();
|
|
126
|
-
const validatorVar = compiler.reserveVariable('argumentValidator', (0, type_1.getValidatorFunction)(undefined, type));
|
|
127
|
-
const converterVar = compiler.reserveVariable('argumentConverter', (0, type_1.getSerializeFunction)(type, type_1.serializer.deserializeRegistry));
|
|
128
|
-
enableParseBody = true;
|
|
129
|
-
setParameters.push(`parameters.${parameter.parameter.name} = ${converterVar}(bodyFields, {loosely: true});`);
|
|
130
|
-
parameterValidator.push(`${validatorVar}(parameters.${parameter.parameter.name}, {errors: bodyErrors});`);
|
|
131
|
-
if (parameter.bodyValidation) {
|
|
132
|
-
compiler.context.set('BodyValidation', model_js_1.ValidatedBody);
|
|
133
|
-
compiler.context.set('BodyValidationError', model_js_1.BodyValidationError);
|
|
134
|
-
parameterNames.push(`new BodyValidation(new BodyValidationError(bodyErrors), bodyErrors.length === 0 ? parameters.${parameter.parameter.name} : undefined)`);
|
|
135
|
-
bodyValidationErrorHandling = '';
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
parameterNames.push(`parameters.${parameter.parameter.name}`);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
else if (parameter.query || parameter.queries || parameter.header) {
|
|
142
|
-
const converted = (0, type_1.getSerializeFunction)(parameter.parameter.parameter, type_1.serializer.deserializeRegistry, undefined, parameter.getName());
|
|
143
|
-
const validator = (0, type_1.getValidatorFunction)(undefined, parameter.parameter.parameter);
|
|
144
|
-
const converterVar = compiler.reserveVariable('argumentConverter', converted);
|
|
145
|
-
const validatorVar = compiler.reserveVariable('argumentValidator', validator);
|
|
146
|
-
const queryPath = parameter.typePath === undefined && !parameter.queries ? parameter.parameter.name : parameter.typePath;
|
|
147
|
-
const accessor = queryPath ? `['` + (queryPath.replace(/\./g, `']['`)) + `']` : '';
|
|
148
|
-
const queryAccessor = parameter.header ? `_headers${accessor}` : queryPath ? `_query${accessor}` : '_query';
|
|
149
|
-
setParameters.push(`parameters.${parameter.parameter.name} = ${converterVar}(${queryAccessor}, {loosely: true});`);
|
|
150
|
-
parameterNames.push(`parameters.${parameter.parameter.name}`);
|
|
151
|
-
parameterValidator.push(`${validatorVar}(parameters.${parameter.parameter.name}, {errors: validationErrors}, ${JSON.stringify(parameter.typePath || parameter.getName())});`);
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
parameterNames.push(`parameters.${parameter.parameter.name}`);
|
|
155
|
-
if (parameter.isPartOfPath()) {
|
|
156
|
-
if (parameter.parameter.type.kind !== type_1.ReflectionKind.class) {
|
|
157
|
-
const converted = (0, type_1.getSerializeFunction)(parameter.parameter.parameter, type_1.serializer.deserializeRegistry, undefined, parameter.getName());
|
|
158
|
-
const converterVar = compiler.reserveVariable('argumentConverter', converted);
|
|
159
|
-
setParameters.push(`parameters.${parameter.parameter.name} = ${converterVar}(_match[${1 + (parameter.regexPosition || 0)}], {loosely: true});`);
|
|
160
|
-
const validator = (0, type_1.getValidatorFunction)(undefined, parameter.parameter.parameter);
|
|
161
|
-
const validatorVar = compiler.reserveVariable('argumentValidator', validator);
|
|
162
|
-
parameterValidator.push(`${validatorVar}(parameters.${parameter.parameter.name}, {errors: validationErrors}, ${JSON.stringify(parameter.getName())});`);
|
|
163
|
-
}
|
|
164
|
-
else {
|
|
165
|
-
setParameters.push(`parameters.${parameter.parameter.name} = _match[${1 + (parameter.regexPosition || 0)}];`);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
const injectorToken = parameter.parameter.type.kind === type_1.ReflectionKind.class ? parameter.parameter.type.classType : undefined;
|
|
169
|
-
const injectorTokenVar = compiler.reserveVariable('classType', injectorToken);
|
|
170
|
-
const parameterResolverFoundVar = compiler.reserveVariable('parameterResolverFound', false);
|
|
171
|
-
setParameters.push(`${parameterResolverFoundVar} = false;`);
|
|
172
|
-
const resolverType = ((_a = config.resolverForParameterName) === null || _a === void 0 ? void 0 : _a.get(parameter.getName())) || ((_b = config.resolverForToken) === null || _b === void 0 ? void 0 : _b.get(injectorToken));
|
|
173
|
-
//make sure all parameter values from the path are available, important for parameter resolver
|
|
174
|
-
if (resolverType && !setParametersFromPath && config.pathParameterNames) {
|
|
175
|
-
for (const i in config.pathParameterNames) {
|
|
176
|
-
setParametersFromPath += `parameters.${i} = _match[${1 + config.pathParameterNames[i]}];`;
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
let injector = '_injector';
|
|
180
|
-
const moduleVar = config.module ? ', ' + compiler.reserveConst(config.module, 'module') : '';
|
|
181
|
-
if (resolverType) {
|
|
182
|
-
requiresAsyncParameters = true;
|
|
183
|
-
let instanceFetcher = '';
|
|
184
|
-
if (config.module && config.module.injector) {
|
|
185
|
-
const resolverResolverVar = compiler.reserveVariable('resolverProvideToken', config.module.injector.createResolver((0, type_1.resolveReceiveType)(resolverType)));
|
|
186
|
-
instanceFetcher = `${resolverResolverVar}(${injector}.scope)`;
|
|
187
|
-
}
|
|
188
|
-
else {
|
|
189
|
-
const resolverProvideTokenVar = compiler.reserveVariable('resolverProvideToken', resolverType);
|
|
190
|
-
instanceFetcher = `${injector}.get(${resolverProvideTokenVar}${moduleVar})`;
|
|
191
|
-
}
|
|
192
|
-
const instance = compiler.reserveVariable('resolverInstance');
|
|
193
|
-
const routeConfigVar = compiler.reserveVariable('routeConfigVar', config.routeConfig);
|
|
194
|
-
setParameters.push(`
|
|
195
|
-
//resolver ${(0, core_1.getClassName)(resolverType)} for ${parameter.getName()}
|
|
196
|
-
${instance} = ${instanceFetcher};
|
|
197
|
-
if (!${parameterResolverFoundVar}) {
|
|
198
|
-
${parameterResolverFoundVar} = true;
|
|
199
|
-
parameters.${parameter.parameter.name} = await ${instance}.resolve({
|
|
200
|
-
token: ${injectorTokenVar},
|
|
201
|
-
route: ${routeConfigVar},
|
|
202
|
-
request: request,
|
|
203
|
-
name: ${JSON.stringify(parameter.parameter.name)},
|
|
204
|
-
value: parameters.${parameter.parameter.name},
|
|
205
|
-
query: _query,
|
|
206
|
-
parameters: parameters,
|
|
207
|
-
type: ${compiler.reserveVariable('parameterType', parameter.parameter)}
|
|
208
|
-
});
|
|
209
|
-
}`);
|
|
210
|
-
}
|
|
211
|
-
if (!parameter.isPartOfPath()) {
|
|
212
|
-
let injectorGet = `parameters.${parameter.parameter.name} = ${injector}.get(${injectorTokenVar});`;
|
|
213
|
-
if (parameter.parameter.isOptional()) {
|
|
214
|
-
injectorGet = `try {parameters.${parameter.parameter.name} = ${injector}.get(${injectorTokenVar}); } catch (e) {}`;
|
|
215
|
-
}
|
|
216
|
-
setParameters.push(`if (!${parameterResolverFoundVar}) ${injectorGet}`);
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
let parseBodyLoading = '';
|
|
221
|
-
if (enableParseBody) {
|
|
222
|
-
const parseBodyVar = compiler.reserveVariable('parseBody', parseBody);
|
|
223
|
-
parseBodyLoading = `
|
|
224
|
-
const bodyFields = (await ${parseBodyVar}(request, uploadedFiles));`;
|
|
225
|
-
requiresAsyncParameters = true;
|
|
226
|
-
}
|
|
227
|
-
let parametersLoader = '() => []';
|
|
228
|
-
if (setParameters.length) {
|
|
229
|
-
parametersLoader = `${requiresAsyncParameters ? 'async' : ''} function(_injector){
|
|
230
|
-
const validationErrors = [];
|
|
231
|
-
const bodyErrors = [];
|
|
232
|
-
const parameters = {};
|
|
233
|
-
${setParametersFromPath}
|
|
234
|
-
${parseBodyLoading}
|
|
235
|
-
${setParameters.join('\n')}
|
|
236
|
-
${parameterValidator.join('\n')}
|
|
237
|
-
${bodyValidationErrorHandling}
|
|
238
|
-
if (validationErrors.length) throw new ValidationError(validationErrors);
|
|
239
|
-
return {arguments: [${parameterNames.join(',')}], parameters: parameters};
|
|
240
|
-
}`;
|
|
241
|
-
}
|
|
242
|
-
return parametersLoader;
|
|
243
|
-
}
|
|
244
|
-
exports.getRuquestParserCodeForParameters = getRuquestParserCodeForParameters;
|
|
245
|
-
getRuquestParserCodeForParameters.__type = [() => core_1.CompilerContext, 'compiler', () => ParameterForRequestParser, 'parameters', () => injector_1.InjectorModule, 'module', () => __ΩClassType, 'resolverForParameterName', () => __ΩClassType, 'resolverForToken', 'pathParameterNames', () => router_js_1.RouteConfig, 'routeConfig', 'config', 'getRuquestParserCodeForParameters', 'PP7!2"P7#F2$PP"7%4&8&n\'E4(8"n)E4*8P&\'LM4+8P7,4-8M2."//'];
|
|
246
|
-
//# sourceMappingURL=resolver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../../src/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { ClassType, CompilerContext } from '@deepkit/core';
|
|
2
|
-
import { InjectorModule } from '@deepkit/injector';
|
|
3
|
-
import { ReflectionParameter, Type } from '@deepkit/type';
|
|
4
|
-
import { RouteConfig } from './router.js';
|
|
5
|
-
export declare class ParameterForRequestParser {
|
|
6
|
-
parameter: ReflectionParameter;
|
|
7
|
-
regexPosition?: number;
|
|
8
|
-
constructor(parameter: ReflectionParameter);
|
|
9
|
-
get body(): boolean;
|
|
10
|
-
get bodyValidation(): boolean;
|
|
11
|
-
getType(): Type;
|
|
12
|
-
get header(): boolean;
|
|
13
|
-
get query(): boolean;
|
|
14
|
-
get queries(): boolean;
|
|
15
|
-
get typePath(): string | undefined;
|
|
16
|
-
getName(): string;
|
|
17
|
-
isPartOfPath(): boolean;
|
|
18
|
-
}
|
|
19
|
-
export declare function getRuquestParserCodeForParameters(compiler: CompilerContext, parameters: ParameterForRequestParser[], config: {
|
|
20
|
-
module?: InjectorModule<any>;
|
|
21
|
-
resolverForParameterName?: Map<string, ClassType>;
|
|
22
|
-
resolverForToken?: Map<any, ClassType>;
|
|
23
|
-
pathParameterNames?: {
|
|
24
|
-
[name: string]: number;
|
|
25
|
-
};
|
|
26
|
-
routeConfig?: RouteConfig;
|
|
27
|
-
}): string;
|