@deepkit/http 1.0.1-alpha.98 → 1.0.2
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 +244 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/src/controllers.js +1 -1
- package/dist/cjs/src/decorator.d.ts +7 -6
- package/dist/cjs/src/decorator.js +55 -42
- package/dist/cjs/src/decorator.js.map +1 -1
- package/dist/cjs/src/filter.js +4 -4
- package/dist/cjs/src/filter.js.map +1 -1
- 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 +2 -4
- package/dist/cjs/src/http.js +63 -51
- package/dist/cjs/src/http.js.map +1 -1
- package/dist/cjs/src/kernel.d.ts +43 -3
- package/dist/cjs/src/kernel.js +58 -8
- package/dist/cjs/src/kernel.js.map +1 -1
- package/dist/cjs/src/logger.js +2 -2
- package/dist/cjs/src/logger.js.map +1 -1
- package/dist/cjs/src/middleware.d.ts +2 -2
- package/dist/cjs/src/middleware.js +5 -6
- package/dist/cjs/src/middleware.js.map +1 -1
- package/dist/cjs/src/model.d.ts +154 -31
- package/dist/cjs/src/model.js +81 -41
- package/dist/cjs/src/model.js.map +1 -1
- package/dist/cjs/src/module.config.d.ts +67 -2
- package/dist/cjs/src/module.config.js +2 -2
- package/dist/cjs/src/module.config.js.map +1 -1
- package/dist/cjs/src/module.js +18 -13
- package/dist/cjs/src/module.js.map +1 -1
- package/dist/cjs/src/request-parser.d.ts +2 -1
- package/dist/cjs/src/request-parser.js +138 -60
- package/dist/cjs/src/request-parser.js.map +1 -1
- package/dist/cjs/src/router.d.ts +12 -6
- package/dist/cjs/src/router.js +40 -28
- package/dist/cjs/src/router.js.map +1 -1
- package/dist/cjs/src/static-serving.d.ts +4 -0
- package/dist/cjs/src/static-serving.js +44 -40
- package/dist/cjs/src/static-serving.js.map +1 -1
- package/dist/cjs/src/utils.js +1 -2
- package/dist/cjs/src/utils.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/src/controllers.js +2 -2
- package/dist/esm/src/controllers.js.map +1 -1
- package/dist/esm/src/decorator.d.ts +7 -6
- package/dist/esm/src/decorator.js +66 -54
- package/dist/esm/src/decorator.js.map +1 -1
- package/dist/esm/src/filter.js +5 -5
- package/dist/esm/src/filter.js.map +1 -1
- 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 +2 -4
- package/dist/esm/src/http.js +65 -53
- package/dist/esm/src/http.js.map +1 -1
- package/dist/esm/src/kernel.d.ts +43 -3
- package/dist/esm/src/kernel.js +60 -10
- package/dist/esm/src/kernel.js.map +1 -1
- package/dist/esm/src/logger.js +2 -2
- package/dist/esm/src/logger.js.map +1 -1
- package/dist/esm/src/middleware.d.ts +2 -2
- package/dist/esm/src/middleware.js +6 -7
- package/dist/esm/src/middleware.js.map +1 -1
- package/dist/esm/src/model.d.ts +154 -31
- package/dist/esm/src/model.js +59 -31
- package/dist/esm/src/model.js.map +1 -1
- package/dist/esm/src/module.config.d.ts +67 -2
- package/dist/esm/src/module.config.js +2 -2
- package/dist/esm/src/module.config.js.map +1 -1
- package/dist/esm/src/module.js +20 -15
- package/dist/esm/src/module.js.map +1 -1
- package/dist/esm/src/request-parser.d.ts +2 -1
- package/dist/esm/src/request-parser.js +139 -61
- package/dist/esm/src/request-parser.js.map +1 -1
- package/dist/esm/src/router.d.ts +12 -6
- package/dist/esm/src/router.js +46 -36
- package/dist/esm/src/router.js.map +1 -1
- package/dist/esm/src/static-serving.d.ts +4 -0
- package/dist/esm/src/static-serving.js +41 -39
- package/dist/esm/src/static-serving.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/index.ts +1 -0
- package/package.json +23 -16
- package/src/decorator.ts +20 -2
- package/src/http-app.ts +11 -0
- package/src/http.ts +30 -10
- package/src/kernel.ts +81 -9
- package/src/middleware.ts +1 -1
- package/src/model.ts +175 -16
- package/src/module.config.ts +75 -1
- package/src/module.ts +20 -12
- package/src/request-parser.ts +147 -62
- package/src/router.ts +36 -10
- package/src/static-serving.ts +49 -38
- package/tsconfig.json +9 -3
- package/tsconfig.spec.json +8 -0
package/dist/esm/src/model.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
1
|
import { IncomingMessage, OutgoingHttpHeader, OutgoingHttpHeaders, ServerResponse } from 'http';
|
|
4
2
|
import { UploadedFile } from './router.js';
|
|
5
3
|
import { Type, ValidationErrorItem } from '@deepkit/type';
|
|
4
|
+
import { TypeAnnotation } from '@deepkit/core';
|
|
6
5
|
export declare class HttpResponse extends ServerResponse {
|
|
7
6
|
status(code: number): void;
|
|
8
7
|
}
|
|
@@ -14,13 +13,13 @@ export declare class HttpResponse extends ServerResponse {
|
|
|
14
13
|
*/
|
|
15
14
|
export declare function readBody(request: IncomingMessage): Promise<Buffer>;
|
|
16
15
|
export declare function createRequestWithCachedBody(request: Partial<IncomingMessage>, body: Buffer): HttpRequest;
|
|
17
|
-
export
|
|
16
|
+
export type HttpRequestQuery = {
|
|
18
17
|
[name: string]: string;
|
|
19
18
|
};
|
|
20
|
-
export
|
|
19
|
+
export type HttpRequestResolvedParameters = {
|
|
21
20
|
[name: string]: any;
|
|
22
21
|
};
|
|
23
|
-
export
|
|
22
|
+
export type HttpRequestPositionedParameters = {
|
|
24
23
|
arguments: any[];
|
|
25
24
|
parameters: HttpRequestResolvedParameters;
|
|
26
25
|
};
|
|
@@ -40,32 +39,153 @@ export declare class ValidatedBody<T> {
|
|
|
40
39
|
value: T;
|
|
41
40
|
};
|
|
42
41
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Marks a parameter as HTTP body and reads the value from the request body.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* class Controller {
|
|
48
|
+
* @http.GET('/api')
|
|
49
|
+
* route(body: HttpBody<{username: string}>) {
|
|
50
|
+
* //body is {username: string} and required
|
|
51
|
+
* //could also reference an interface or type alias via `HttpBody<MyInterface>`
|
|
52
|
+
* }
|
|
53
|
+
* }
|
|
54
|
+
*
|
|
55
|
+
* // curl /api -d '{"username":"Peter"}'
|
|
56
|
+
*/
|
|
57
|
+
export type HttpBody<T> = T & TypeAnnotation<'httpBody'>;
|
|
58
|
+
export type HttpBodyValidation<T> = ValidatedBody<T> & TypeAnnotation<'httpBodyValidation'>;
|
|
59
|
+
export interface HttpRequestParserOptions {
|
|
60
|
+
withPath?: boolean;
|
|
61
|
+
withBody?: boolean;
|
|
62
|
+
withQuery?: boolean;
|
|
63
|
+
withHeader?: boolean;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Delays the parsing of the path/body/query/header to the very last moment, when the parameter is actually used.
|
|
67
|
+
*
|
|
68
|
+
* If no options are provided, the parser will receive data from path, header, body, and query, in this order.
|
|
69
|
+
* This basically allows to fetch data from all possible HTTP sources in one go.
|
|
70
|
+
*
|
|
71
|
+
* You can disable various sources by providing the options, e.g. `{withBody: false}` to disable body parsing.
|
|
72
|
+
* Or `{withQuery: false}` to disable query parsing. Or `{withHeader: false}` to disable header parsing.
|
|
73
|
+
* To only parse the body, use `{withQuery: false, withHeader: false}`.
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
77
|
+
* async route(parser: HttpRequestParser<{authorization: string}>) {
|
|
78
|
+
* const data = await parser();
|
|
79
|
+
* console.log(data.authorization);
|
|
80
|
+
* }
|
|
81
|
+
* ```
|
|
82
|
+
*
|
|
83
|
+
* Note that the parsers is based on all defined parameters (e.g. `userId: HttpQuery<string>` => {userId: string}),
|
|
84
|
+
* and then starts from there applying header, body, and then query values.
|
|
85
|
+
* This means you also get access to defined path parameters, like:
|
|
86
|
+
*
|
|
87
|
+
* ```typescript
|
|
88
|
+
* @http.GET('teams/:teamId')
|
|
89
|
+
* async route(teamId: string) {
|
|
90
|
+
* //teamId is string
|
|
91
|
+
* }
|
|
92
|
+
*
|
|
93
|
+
* httpWorkflow.onController.listen((event, parser: HttpRequestParser<{teamId: string}>) => {
|
|
94
|
+
* const data = await parser();
|
|
95
|
+
* console.log(data.teamId);
|
|
96
|
+
* });
|
|
97
|
+
* ```
|
|
98
|
+
*
|
|
99
|
+
* HttpRequestParser is necessary in event listeners, since they are instantiated synchronously,
|
|
100
|
+
* but body is parsed asynchronously. So use in event listeners HttpRequestParser instead of HttpBody.
|
|
101
|
+
*/
|
|
102
|
+
export type HttpRequestParser<T> = ((options?: HttpRequestParserOptions) => Promise<T>) & TypeAnnotation<'httpRequestParser', T>;
|
|
103
|
+
/**
|
|
104
|
+
* Marks a parameter as HTTP path and reads the value from the request path.
|
|
105
|
+
* This is normally not requires since the parameter name automatically maps to the path parameter,
|
|
106
|
+
* but in case of requesting the path parameter in for example listeners, this is required.
|
|
107
|
+
* The name option can be used to change the parameter name.
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* ```typescript
|
|
111
|
+
* app.listen(httpWorkflow.onController, (event, request: HttpRequest, groupId: HttpPath<number>) => {
|
|
112
|
+
* console.log(groupId); //123
|
|
113
|
+
* });
|
|
114
|
+
*
|
|
115
|
+
* class Controller {
|
|
116
|
+
* @http.GET('/api/:groupId')
|
|
117
|
+
* route(groupId: number) {
|
|
118
|
+
* //groupId is number and required
|
|
119
|
+
* //same as `groupId: HttpPath<number>`
|
|
120
|
+
* }
|
|
121
|
+
* }
|
|
122
|
+
* ```
|
|
123
|
+
*/
|
|
124
|
+
export type HttpPath<T, Options extends {
|
|
50
125
|
name?: string;
|
|
51
|
-
} = {}> = T &
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
126
|
+
} = {}> = T & TypeAnnotation<'httpPath', Options>;
|
|
127
|
+
/**
|
|
128
|
+
* Marks a parameter as HTTP header and reads the value from the request header.
|
|
129
|
+
*
|
|
130
|
+
* @example
|
|
131
|
+
* ```typescript
|
|
132
|
+
* class Controller {
|
|
133
|
+
* @http.GET('/api')
|
|
134
|
+
* route(authorization: HttpHeader<string>) {
|
|
135
|
+
* //authorization is string and required
|
|
136
|
+
* //use `authorization?: HttpHeader<string>` to make it optional
|
|
137
|
+
* }
|
|
138
|
+
* }
|
|
139
|
+
*
|
|
140
|
+
* // curl /api -H 'Authorization: 123'
|
|
141
|
+
* ```
|
|
142
|
+
*
|
|
143
|
+
* To change the header name, use `param: HttpHeader<string, {name: 'X-My-Header'}>`.
|
|
144
|
+
*/
|
|
145
|
+
export type HttpHeader<T, Options extends {
|
|
55
146
|
name?: string;
|
|
56
|
-
} = {}> = T &
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
147
|
+
} = {}> = T & TypeAnnotation<'httpHeader', Options>;
|
|
148
|
+
/**
|
|
149
|
+
* Marks a parameter as HTTP query and reads the value from the request query string.
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* ```typescript
|
|
153
|
+
* class Controller {
|
|
154
|
+
* @http.GET('/api')
|
|
155
|
+
* route(limit: HttpQuery<number>) {
|
|
156
|
+
* //limit is number and required
|
|
157
|
+
* //use `limit?: HttpQuery<number>` to make it optional
|
|
158
|
+
* }
|
|
159
|
+
* }
|
|
160
|
+
*
|
|
161
|
+
* // curl /api?limit=10
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
164
|
+
export type HttpQuery<T, Options extends {
|
|
60
165
|
name?: string;
|
|
61
|
-
} = {}> = T &
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
166
|
+
} = {}> = T & TypeAnnotation<'httpQuery', Options>;
|
|
167
|
+
/**
|
|
168
|
+
* Marks a parameter as HTTP query objects and reads multiple values from the request query string into an object.
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```typescript
|
|
172
|
+
* interface Query {
|
|
173
|
+
* limit?: number;
|
|
174
|
+
* offset?: number;
|
|
175
|
+
* sort?: 'asc' | 'desc';
|
|
176
|
+
* }
|
|
177
|
+
*
|
|
178
|
+
* class Controller {
|
|
179
|
+
* @http.GET('/api')
|
|
180
|
+
* route(query: HttpQueries<Query>) {
|
|
181
|
+
* //query is an object containing limit, offset, and sort
|
|
182
|
+
* }
|
|
183
|
+
*
|
|
184
|
+
* // curl /api?limit=10&offset=20&sort=asc
|
|
185
|
+
*/
|
|
186
|
+
export type HttpQueries<T, Options extends {
|
|
65
187
|
name?: string;
|
|
66
|
-
} = {}> = T &
|
|
67
|
-
__meta?: ['httpQueries', Options];
|
|
68
|
-
};
|
|
188
|
+
} = {}> = T & TypeAnnotation<'httpQueries', Options>;
|
|
69
189
|
/**
|
|
70
190
|
* For all parameters used in the URL path, a regular expression of /[^/]+/ is used. To change that, use getRegExp.
|
|
71
191
|
*
|
|
@@ -80,9 +200,7 @@ export declare type HttpQueries<T, Options extends {
|
|
|
80
200
|
* }
|
|
81
201
|
* ```
|
|
82
202
|
*/
|
|
83
|
-
export
|
|
84
|
-
__meta?: ['httpRegExp', Pattern];
|
|
85
|
-
};
|
|
203
|
+
export type HttpRegExp<T, Pattern extends string | RegExp> = T & TypeAnnotation<'httpRegExp', Pattern>;
|
|
86
204
|
export declare function getRegExp(type: Type): string | RegExp | undefined;
|
|
87
205
|
export declare class RequestBuilder {
|
|
88
206
|
protected path: string;
|
|
@@ -107,7 +225,7 @@ export declare class RequestBuilder {
|
|
|
107
225
|
json?: any;
|
|
108
226
|
}[]): this;
|
|
109
227
|
body(body: string | Buffer): this;
|
|
110
|
-
query(query: any): this;
|
|
228
|
+
query(query: any | string): this;
|
|
111
229
|
}
|
|
112
230
|
export declare class HttpRequest extends IncomingMessage {
|
|
113
231
|
/**
|
|
@@ -119,6 +237,7 @@ export declare class HttpRequest extends IncomingMessage {
|
|
|
119
237
|
uploadedFiles: {
|
|
120
238
|
[name: string]: UploadedFile;
|
|
121
239
|
};
|
|
240
|
+
throwErrorOnNotFound: boolean;
|
|
122
241
|
/**
|
|
123
242
|
* The router sets the body when it was read.
|
|
124
243
|
*/
|
|
@@ -137,6 +256,8 @@ export declare class HttpRequest extends IncomingMessage {
|
|
|
137
256
|
getMethod(): string;
|
|
138
257
|
getRemoteAddress(): string;
|
|
139
258
|
}
|
|
259
|
+
export declare function incomingMessageToHttpRequest(request: IncomingMessage): HttpRequest;
|
|
260
|
+
export declare function serverResponseToHttpResponse(response: ServerResponse): HttpResponse;
|
|
140
261
|
export declare class MemoryHttpResponse extends HttpResponse {
|
|
141
262
|
body: Buffer;
|
|
142
263
|
headers: {
|
|
@@ -158,6 +279,8 @@ export declare type __ΩHttpRequestResolvedParameters = any[];
|
|
|
158
279
|
export declare type __ΩHttpRequestPositionedParameters = any[];
|
|
159
280
|
export declare type __ΩHttpBody = any[];
|
|
160
281
|
export declare type __ΩHttpBodyValidation = any[];
|
|
282
|
+
export declare type __ΩHttpRequestParserOptions = any[];
|
|
283
|
+
export declare type __ΩHttpRequestParser = any[];
|
|
161
284
|
export declare type __ΩHttpPath = any[];
|
|
162
285
|
export declare type __ΩHttpHeader = any[];
|
|
163
286
|
export declare type __ΩHttpQuery = any[];
|
package/dist/esm/src/model.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
const __ΩError = ['name', 'message', 'stack', 'Error', 'P&4!&4"&4#8Mw$y'];
|
|
2
|
+
const __ΩPartial = ['T', 'Partial', 'l+e#!e"!fRb!Pde"!gN#"w"y'];
|
|
3
|
+
const __ΩReadonlyArray = ['T', 'length', 'toString', 'toLocaleString', () => __ΩConcatArray, 'items', 'concat', () => __ΩConcatArray, 'separator', 'join', 'start', 'end', 'slice', 'searchElement', 'fromIndex', 'indexOf', 'lastIndexOf', 'value', 'index', 'array', '', 'predicate', 'thisArg', 'every', 'some', 'callbackfn', 'forEach', 'map', 'filter', 'previousValue', 'currentValue', 'currentIndex', 'reduce', 'initialValue', 'reduceRight', 'ReadonlyArray', 'b!P\'4"9P&1#P&1$Pe#!o%"@2&e#!F1\'PPe$!e$!o("J@2&e#!F1\'P&2)8&1*P\'2+8\'2,8e#!F1-Pe#!2.\'2/8\'10Pe#!2.\'2/8\'11PPe$!22\'23e$!F924!/526"278!18PPe$!22\'23e$!F924#/526"278)18PPe$!22\'23e$!F924#/526"278)19PPe$!22\'23e$!F924$/52:"278$1;PPe$!22\'23e$!F924"/52:"278"F1<PPe$!22\'23e$!F924!/526"278"F1=PPe$!22\'23e$!F924#/526"278e#!F1=PPe$!2>e$!2?\'2@e$!F924e$!/52:e#!1APPe$!2>e$!2?\'2@e$!F924e$!/52:e#!2Be#!1APP"2>e$!2?\'2@e$!F924"/52:"2B"1APPe$!2>e$!2?\'2@e$!F924e$!/52:e#!1CPPe$!2>e$!2?\'2@e$!F924e$!/52:e#!2Be#!1CPP"2>e$!2?\'2@e$!F924"/52:"2B"1C\'e"!LMwDy'];
|
|
4
|
+
const __ΩConcatArray = ['T', 'length', 'separator', 'join', 'start', 'end', 'slice', 'ConcatArray', 'b!P\'4"9\'e"!LP&2#8&1$P\'2%8\'2&8e#!F1\'Mw(y'];
|
|
5
|
+
/*@ts-ignore*/
|
|
6
|
+
import { __ΩTypeAnnotation } from '@deepkit/core';
|
|
1
7
|
function __assignType(fn, args) {
|
|
2
8
|
fn.__type = args;
|
|
3
9
|
return fn;
|
|
4
10
|
}
|
|
5
|
-
const __ΩConcatArray = ['T', 'length', 'separator', 'join', 'start', 'end', 'slice', 'b!P\'4"9\'e"!LP&2#8&1$P\'2%8\'2&8e#!F1\'M'];
|
|
6
|
-
const __ΩError = ['name', 'message', 'stack', 'P&4!&4"&4#8M'];
|
|
7
|
-
const __ΩPartial = ['T', 'l+e#!e"!fRb!Pde"!gN#"'];
|
|
8
|
-
const __ΩReadonlyArray = ['T', 'length', 'toString', 'toLocaleString', () => __ΩConcatArray, 'items', 'concat', () => __ΩConcatArray, 'separator', 'join', 'start', 'end', 'slice', 'searchElement', 'fromIndex', 'indexOf', 'lastIndexOf', 'value', 'index', 'array', '', 'predicate', 'thisArg', 'every', 'some', 'callbackfn', 'forEach', 'map', 'filter', 'previousValue', 'currentValue', 'currentIndex', 'reduce', 'initialValue', 'reduceRight', 'b!P\'4"9P&1#P&1$Pe#!o%"@2&e#!F1\'PPe$!e$!o("J@2&e#!F1\'P&2)8&1*P\'2+8\'2,8e#!F1-Pe#!2.\'2/8\'10Pe#!2.\'2/8\'11PPe$!22\'23e$!F924!/526"278!18PPe$!22\'23e$!F924#/526"278)18PPe$!22\'23e$!F924#/526"278)19PPe$!22\'23e$!F924$/52:"278$1;PPe$!22\'23e$!F924"/52:"278"F1<PPe$!22\'23e$!F924!/526"278"F1=PPe$!22\'23e$!F924#/526"278e#!F1=PPe$!2>e$!2?\'2@e$!F924e$!/52:e#!1APPe$!2>e$!2?\'2@e$!F924e$!/52:e#!2Be#!1APP"2>e$!2?\'2@e$!F924"/52:"2B"1APPe$!2>e$!2?\'2@e$!F924e$!/52:e#!1CPPe$!2>e$!2?\'2@e$!F924e$!/52:e#!2Be#!1CPP"2>e$!2?\'2@e$!F924"/52:"2B"1C\'e"!LM'];
|
|
9
11
|
/*
|
|
10
12
|
* Deepkit Framework
|
|
11
13
|
* Copyright (C) 2021 Deepkit UG, Marc J. Schmidt
|
|
@@ -19,7 +21,7 @@ import { IncomingMessage, ServerResponse } from 'http';
|
|
|
19
21
|
import { UploadedFile } from './router.js';
|
|
20
22
|
import * as querystring from 'querystring';
|
|
21
23
|
import { Writable } from 'stream';
|
|
22
|
-
import {
|
|
24
|
+
import { ReflectionKind, typeAnnotation, ValidationErrorItem } from '@deepkit/type';
|
|
23
25
|
import { asyncOperation, isArray } from '@deepkit/core';
|
|
24
26
|
export class HttpResponse extends ServerResponse {
|
|
25
27
|
status(code) {
|
|
@@ -27,7 +29,7 @@ export class HttpResponse extends ServerResponse {
|
|
|
27
29
|
this.end();
|
|
28
30
|
}
|
|
29
31
|
}
|
|
30
|
-
HttpResponse.__type = [() => ServerResponse, 'code', 'status', 'P7!P\'2""0#
|
|
32
|
+
HttpResponse.__type = [() => ServerResponse, 'code', 'status', 'HttpResponse', 'P7!P\'2""0#5w$'];
|
|
31
33
|
/**
|
|
32
34
|
* Reads the body of the request and returns it as a Buffer.
|
|
33
35
|
* The result will be cached in the request object as `request.body`.
|
|
@@ -84,15 +86,15 @@ export function createRequestWithCachedBody(request, body) {
|
|
|
84
86
|
}
|
|
85
87
|
}
|
|
86
88
|
},
|
|
87
|
-
_a.__type = [() => HttpRequest, 'size', '_read', 'P7!P\'2"
|
|
89
|
+
_a.__type = [() => HttpRequest, 'url', function () { return url; }, 'method', function () { return method; }, 'position', function () { return 0; }, 'headers', function () { return headers; }, 'size', '_read', 'P7!!3">#!3$>%\'3&>\'!3(>)P\'2*"0+5'],
|
|
88
90
|
_a)(writable);
|
|
89
91
|
}
|
|
90
92
|
createRequestWithCachedBody.__type = [() => __ΩPartial, 'request', 'body', () => HttpRequest, 'createRequestWithCachedBody', 'P!o!"2"!2#P7$/%'];
|
|
91
|
-
const __ΩHttpRequestQuery = ['P&&
|
|
93
|
+
const __ΩHttpRequestQuery = ['HttpRequestQuery', 'P&&LMw!y'];
|
|
92
94
|
export { __ΩHttpRequestQuery as __ΩHttpRequestQuery };
|
|
93
|
-
const __ΩHttpRequestResolvedParameters = ['P&"
|
|
95
|
+
const __ΩHttpRequestResolvedParameters = ['HttpRequestResolvedParameters', 'P&"LMw!y'];
|
|
94
96
|
export { __ΩHttpRequestResolvedParameters as __ΩHttpRequestResolvedParameters };
|
|
95
|
-
const __ΩHttpRequestPositionedParameters = ['arguments', () => __ΩHttpRequestResolvedParameters, 'parameters', 'P"F4!n"4#
|
|
97
|
+
const __ΩHttpRequestPositionedParameters = ['arguments', () => __ΩHttpRequestResolvedParameters, 'parameters', 'HttpRequestPositionedParameters', 'P"F4!n"4#Mw$y'];
|
|
96
98
|
export { __ΩHttpRequestPositionedParameters as __ΩHttpRequestPositionedParameters };
|
|
97
99
|
export class BodyValidationError {
|
|
98
100
|
constructor(errors = []) {
|
|
@@ -110,10 +112,10 @@ export class BodyValidationError {
|
|
|
110
112
|
return this.errors.filter(__assignType(v => v.path === path, ['v', '', 'P"2!"/"']));
|
|
111
113
|
}
|
|
112
114
|
getErrorMessageForPath(path) {
|
|
113
|
-
return this.getErrorsForPath(path).map(__assignType(v => v.
|
|
115
|
+
return this.getErrorsForPath(path).map(__assignType(v => v.toString(), ['v', '', 'P"2!"/"'])).join(', ');
|
|
114
116
|
}
|
|
115
117
|
}
|
|
116
|
-
BodyValidationError.__type = [() => ValidationErrorItem, 'errors', () => [], 'constructor', 'prefix', 'hasErrors', () => ValidationErrorItem, 'getErrors', 'path', () => ValidationErrorItem, 'getErrorsForPath', 'getErrorMessageForPath', 'PP7!F2":9>#"0$P&2%8)0&P&2%8P7\'F0(P&2)P7*F0+P&2)&0,
|
|
118
|
+
BodyValidationError.__type = [() => ValidationErrorItem, 'errors', () => [], 'constructor', 'prefix', 'hasErrors', () => ValidationErrorItem, 'getErrors', 'path', () => ValidationErrorItem, 'getErrorsForPath', 'getErrorMessageForPath', 'BodyValidationError', 'PP7!F2":9>#"0$P&2%8)0&P&2%8P7\'F0(P&2)P7*F0+P&2)&0,5w-'];
|
|
117
119
|
export class ValidatedBody {
|
|
118
120
|
constructor(error, value) {
|
|
119
121
|
this.error = error;
|
|
@@ -123,32 +125,36 @@ export class ValidatedBody {
|
|
|
123
125
|
return this.value !== undefined;
|
|
124
126
|
}
|
|
125
127
|
}
|
|
126
|
-
ValidatedBody.__type = ['T', () => BodyValidationError, 'error', 'value', 'constructor', 'valid', 'b!PP7"2#:e"!2$8:"0%P!0&
|
|
127
|
-
const __ΩHttpBody = ['T', "httpBody", '
|
|
128
|
+
ValidatedBody.__type = ['T', () => BodyValidationError, 'error', 'value', 'constructor', 'valid', 'ValidatedBody', 'b!PP7"2#:e"!2$8:"0%P!0&5w\''];
|
|
129
|
+
const __ΩHttpBody = ['T', () => __ΩTypeAnnotation, "httpBody", 'HttpBody', 'b!Pe"!.#o""Kw$y'];
|
|
128
130
|
export { __ΩHttpBody as __ΩHttpBody };
|
|
129
|
-
const __ΩHttpBodyValidation = ['T', () => ValidatedBody, "httpBodyValidation", '
|
|
131
|
+
const __ΩHttpBodyValidation = ['T', () => ValidatedBody, () => __ΩTypeAnnotation, "httpBodyValidation", 'HttpBodyValidation', 'b!PPe#!7".$o#"Kw%y'];
|
|
130
132
|
export { __ΩHttpBodyValidation as __ΩHttpBodyValidation };
|
|
131
|
-
const __Ω
|
|
133
|
+
const __ΩHttpRequestParserOptions = ['withPath', 'withBody', 'withQuery', 'withHeader', 'HttpRequestParserOptions', 'P)4!8)4"8)4#8)4$8Mw%y'];
|
|
134
|
+
export { __ΩHttpRequestParserOptions as __ΩHttpRequestParserOptions };
|
|
135
|
+
const __ΩHttpRequestParser = ['T', () => __ΩHttpRequestParserOptions, 'options', '', () => __ΩTypeAnnotation, "httpRequestParser", 'HttpRequestParser', 'b!PPn"2#8e#!`/$.&e"!o%#Kw\'y'];
|
|
136
|
+
export { __ΩHttpRequestParser as __ΩHttpRequestParser };
|
|
137
|
+
const __ΩHttpPath = ['T', 'Options', () => __ΩTypeAnnotation, "httpPath", 'HttpPath', 'b!PMc"Pe"!.$e""o##Kw%y'];
|
|
132
138
|
export { __ΩHttpPath as __ΩHttpPath };
|
|
133
|
-
const __ΩHttpHeader = ['T', 'Options', "httpHeader", '
|
|
139
|
+
const __ΩHttpHeader = ['T', 'Options', () => __ΩTypeAnnotation, "httpHeader", 'HttpHeader', 'b!PMc"Pe"!.$e""o##Kw%y'];
|
|
134
140
|
export { __ΩHttpHeader as __ΩHttpHeader };
|
|
135
|
-
const __ΩHttpQuery = ['T', 'Options', "httpQuery", '
|
|
141
|
+
const __ΩHttpQuery = ['T', 'Options', () => __ΩTypeAnnotation, "httpQuery", 'HttpQuery', 'b!PMc"Pe"!.$e""o##Kw%y'];
|
|
136
142
|
export { __ΩHttpQuery as __ΩHttpQuery };
|
|
137
|
-
const __ΩHttpQueries = ['T', 'Options', "httpQueries", '
|
|
143
|
+
const __ΩHttpQueries = ['T', 'Options', () => __ΩTypeAnnotation, "httpQueries", 'HttpQueries', 'b!PMc"Pe"!.$e""o##Kw%y'];
|
|
138
144
|
export { __ΩHttpQueries as __ΩHttpQueries };
|
|
139
|
-
const __ΩHttpRegExp = ['T', 'Pattern', "httpRegExp", '
|
|
145
|
+
const __ΩHttpRegExp = ['T', 'Pattern', () => __ΩTypeAnnotation, "httpRegExp", 'HttpRegExp', 'b!b"Pe"!.$e""o##Kw%y'];
|
|
140
146
|
export { __ΩHttpRegExp as __ΩHttpRegExp };
|
|
141
147
|
export function getRegExp(type) {
|
|
142
|
-
const options =
|
|
143
|
-
if (!options
|
|
148
|
+
const options = typeAnnotation.getType(type, 'httpRegExp');
|
|
149
|
+
if (!options)
|
|
144
150
|
return;
|
|
145
|
-
if (options
|
|
146
|
-
return options
|
|
147
|
-
if (options
|
|
148
|
-
return options
|
|
151
|
+
if (options.kind === ReflectionKind.literal && 'string' === typeof options.literal)
|
|
152
|
+
return options.literal;
|
|
153
|
+
if (options.kind === ReflectionKind.literal && options.literal instanceof RegExp)
|
|
154
|
+
return options.literal;
|
|
149
155
|
return;
|
|
150
156
|
}
|
|
151
|
-
getRegExp.__type = ['type', 'getRegExp', 'P"2
|
|
157
|
+
getRegExp.__type = ['Type', 'type', 'getRegExp', 'P"w!2"P&A-J/#'];
|
|
152
158
|
export class RequestBuilder {
|
|
153
159
|
constructor(path, method = 'GET') {
|
|
154
160
|
this.path = path;
|
|
@@ -221,11 +227,16 @@ Content-Type: application/json\r
|
|
|
221
227
|
return this;
|
|
222
228
|
}
|
|
223
229
|
query(query) {
|
|
224
|
-
|
|
230
|
+
if ('string' === typeof query) {
|
|
231
|
+
this.queryPath = query;
|
|
232
|
+
}
|
|
233
|
+
else {
|
|
234
|
+
this.queryPath = querystring.stringify(query);
|
|
235
|
+
}
|
|
225
236
|
return this;
|
|
226
237
|
}
|
|
227
238
|
}
|
|
228
|
-
RequestBuilder.__type = ['contentBuffer', function () { return Buffer.alloc(0); }, '_headers', function () { return {}; }, 'queryPath', 'path', 'method', () => "GET", 'constructor', 'getUrl', () => HttpRequest, 'build', 'headers', 'name', 'value', 'header', 'body', 'json', 'file', 'fileName', 'items', 'multiPart', 'query', '!3!<>"P&&LM3#<>$&3%8<P&2&<&2\'<>("0)P"0*PP7+0,PP&&LM2-!0-P&2.P&\'J2/!00P%21!02PP&4.W438&448"428MF25!06PP&!J21!
|
|
239
|
+
RequestBuilder.__type = ['contentBuffer', function () { return Buffer.alloc(0); }, '_headers', function () { return {}; }, 'queryPath', 'path', 'method', () => "GET", 'constructor', 'getUrl', () => HttpRequest, 'build', 'headers', 'name', 'value', 'header', 'body', 'json', 'file', 'fileName', 'items', 'multiPart', 'query', 'RequestBuilder', '!3!<>"P&&LM3#<>$&3%8<P&2&<&2\'<>("0)P"0*PP7+0,PP&&LM2-!0-P&2.P&\'J2/!00P%21!02PP&4.W438&448"428MF25!06PP&!J21!01PP"&J27!075w8'];
|
|
229
240
|
export class HttpRequest extends IncomingMessage {
|
|
230
241
|
constructor() {
|
|
231
242
|
super(...arguments);
|
|
@@ -234,6 +245,7 @@ export class HttpRequest extends IncomingMessage {
|
|
|
234
245
|
*/
|
|
235
246
|
this.store = {};
|
|
236
247
|
this.uploadedFiles = {};
|
|
248
|
+
this.throwErrorOnNotFound = false;
|
|
237
249
|
}
|
|
238
250
|
async readBody() {
|
|
239
251
|
if (this.body)
|
|
@@ -277,7 +289,23 @@ export class HttpRequest extends IncomingMessage {
|
|
|
277
289
|
return this.socket.remoteAddress || '';
|
|
278
290
|
}
|
|
279
291
|
}
|
|
280
|
-
HttpRequest.__type = [() => IncomingMessage, 'store', function () { return {}; }, () => UploadedFile, 'uploadedFiles', function () { return {}; }, 'body', 'readBody', 'readBodyText', 'path', () => RequestBuilder, 'GET', () => RequestBuilder, 'POST', () => RequestBuilder, 'OPTIONS', () => RequestBuilder, 'TRACE', () => RequestBuilder, 'HEAD', () => RequestBuilder, 'PATCH', () => RequestBuilder, 'PUT', () => RequestBuilder, 'DELETE', 'getUrl', 'getMethod', 'getRemoteAddress', 'P7!P&"LM3">#P&P7$LM3
|
|
292
|
+
HttpRequest.__type = [() => IncomingMessage, 'store', function () { return {}; }, () => UploadedFile, 'uploadedFiles', function () { return {}; }, 'throwErrorOnNotFound', function () { return false; }, 'body', 'readBody', 'readBodyText', 'path', () => RequestBuilder, 'GET', () => RequestBuilder, 'POST', () => RequestBuilder, 'OPTIONS', () => RequestBuilder, 'TRACE', () => RequestBuilder, 'HEAD', () => RequestBuilder, 'PATCH', () => RequestBuilder, 'PUT', () => RequestBuilder, 'DELETE', 'getUrl', 'getMethod', 'getRemoteAddress', 'HttpRequest', 'P7!P&"LM3">#P&P7$LM3%>&)3\'>(!3)8P!`0*P&`0+P&2,P7-0.sP&2,P7/00sP&2,P7102sP&2,P7304sP&2,P7506sP&2,P7708sP&2,P790:sP&2,P7;0<sP&0=P&0>P&0?5w@'];
|
|
293
|
+
export function incomingMessageToHttpRequest(request) {
|
|
294
|
+
if (request instanceof HttpRequest)
|
|
295
|
+
return request;
|
|
296
|
+
Object.setPrototypeOf(request, HttpRequest.prototype);
|
|
297
|
+
HttpRequest.constructor.call(request);
|
|
298
|
+
return request;
|
|
299
|
+
}
|
|
300
|
+
incomingMessageToHttpRequest.__type = ['request', () => HttpRequest, 'incomingMessageToHttpRequest', 'P!2!P7"/#'];
|
|
301
|
+
export function serverResponseToHttpResponse(response) {
|
|
302
|
+
if (response instanceof HttpResponse)
|
|
303
|
+
return response;
|
|
304
|
+
Object.setPrototypeOf(response, HttpResponse.prototype);
|
|
305
|
+
MemoryHttpResponse.constructor.call(response);
|
|
306
|
+
return response;
|
|
307
|
+
}
|
|
308
|
+
serverResponseToHttpResponse.__type = ['response', () => HttpResponse, 'serverResponseToHttpResponse', 'P!2!P7"/#'];
|
|
281
309
|
export class MemoryHttpResponse extends HttpResponse {
|
|
282
310
|
constructor() {
|
|
283
311
|
super(...arguments);
|
|
@@ -359,5 +387,5 @@ export class MemoryHttpResponse extends HttpResponse {
|
|
|
359
387
|
return this;
|
|
360
388
|
}
|
|
361
389
|
}
|
|
362
|
-
MemoryHttpResponse.__type = [() => HttpResponse, 'body', function () { return Buffer.alloc(0); }, 'headers', function () { return Object.create(null); }, 'name', () => __ΩReadonlyArray, 'value', 'setHeader', 'removeHeader', 'getHeader', 'getHeaders', 'statusCode', 'headersOrReasonPhrase', 'writeHead', 'chunk', 'encoding', 'callback', 'write', 'end', 'P7!!3">#P&P\'&&F-JLM3$>%P&2&P\'&&o\'"J2(!0)P&2&"0*P&2&"0+P!0,P\'2-P&!!FJ2.8P!!FJ2$8!0/!!!P"20"21"228"03P"20"218"228"
|
|
390
|
+
MemoryHttpResponse.__type = [() => HttpResponse, 'body', function () { return Buffer.alloc(0); }, 'headers', function () { return Object.create(null); }, 'name', () => __ΩReadonlyArray, 'value', 'setHeader', 'removeHeader', 'getHeader', 'getHeaders', 'statusCode', 'headersOrReasonPhrase', 'writeHead', 'chunk', 'encoding', 'callback', 'write', 'end', 'MemoryHttpResponse', 'P7!!3">#P&P\'&&F-JLM3$>%P&2&P\'&&o\'"J2(!0)P&2&"0*P&2&"0+P!0,P\'2-P&!!FJ2.8P!!FJ2$8!0/!!!P"20"21"228"03P"20"218"228"045w5'];
|
|
363
391
|
//# sourceMappingURL=model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/model.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
export interface HttpParserOptions {
|
|
3
2
|
/**
|
|
4
3
|
* sets encoding for incoming form fields
|
|
5
4
|
*
|
|
6
5
|
* @default 'utf-8'
|
|
7
6
|
*/
|
|
8
|
-
encoding?:
|
|
7
|
+
encoding?: string | undefined;
|
|
9
8
|
/**
|
|
10
9
|
* the directory for placing file uploads in. You can move them later by using fs.rename()
|
|
11
10
|
*
|
|
@@ -80,5 +79,71 @@ export interface HttpParserOptions {
|
|
|
80
79
|
export declare class HttpConfig {
|
|
81
80
|
debug: boolean;
|
|
82
81
|
parser: HttpParserOptions;
|
|
82
|
+
/**
|
|
83
|
+
* Limits maximum incoming headers count. If set to 0, no limit will be applied.
|
|
84
|
+
*/
|
|
85
|
+
maxHeadersCount?: number;
|
|
86
|
+
/**
|
|
87
|
+
* The maximum number of requests socket can handle
|
|
88
|
+
* before closing keep alive connection.
|
|
89
|
+
*
|
|
90
|
+
* A value of `0` will disable the limit.
|
|
91
|
+
*
|
|
92
|
+
* When the limit is reached it will set the `Connection` header value to `close`,
|
|
93
|
+
* but will not actually close the connection, subsequent requests sent
|
|
94
|
+
* after the limit is reached will get `503 Service Unavailable` as a response.
|
|
95
|
+
*/
|
|
96
|
+
maxRequestsPerSocket?: number;
|
|
97
|
+
/**
|
|
98
|
+
* The number of milliseconds of inactivity before a socket is presumed
|
|
99
|
+
* to have timed out.
|
|
100
|
+
*
|
|
101
|
+
* A value of `0` will disable the timeout behavior on incoming connections.
|
|
102
|
+
*
|
|
103
|
+
* The socket timeout logic is set up on connection, so changing this
|
|
104
|
+
* value only affects new connections to the server, not any existing connections.
|
|
105
|
+
*/
|
|
106
|
+
timeout?: number;
|
|
107
|
+
/**
|
|
108
|
+
* Limit the amount of time the parser will wait to receive the complete HTTP
|
|
109
|
+
* headers.
|
|
110
|
+
*
|
|
111
|
+
* If the timeout expires, the server responds with status 408 without
|
|
112
|
+
* forwarding the request to the request listener and then closes the connection.
|
|
113
|
+
*
|
|
114
|
+
* It must be set to a non-zero value (e.g. 120 seconds) to protect against
|
|
115
|
+
* potential Denial-of-Service attacks in case the server is deployed without a
|
|
116
|
+
* reverse proxy in front.
|
|
117
|
+
*/
|
|
118
|
+
headersTimeout?: number;
|
|
119
|
+
/**
|
|
120
|
+
* The number of milliseconds of inactivity a server needs to wait for additional
|
|
121
|
+
* incoming data, after it has finished writing the last response, before a socket
|
|
122
|
+
* will be destroyed. If the server receives new data before the keep-alive
|
|
123
|
+
* timeout has fired, it will reset the regular inactivity timeout, i.e., `server.timeout`.
|
|
124
|
+
*
|
|
125
|
+
* A value of `0` will disable the keep-alive timeout behavior on incoming
|
|
126
|
+
* connections.
|
|
127
|
+
* A value of `0` makes the http server behave similarly to Node.js versions prior
|
|
128
|
+
* to 8.0.0, which did not have a keep-alive timeout.
|
|
129
|
+
*
|
|
130
|
+
* The socket timeout logic is set up on connection, so changing this value only
|
|
131
|
+
* affects new connections to the server, not any existing connections.
|
|
132
|
+
*/
|
|
133
|
+
keepAliveTimeout?: number;
|
|
134
|
+
/**
|
|
135
|
+
* Sets the timeout value in milliseconds for receiving the entire request from
|
|
136
|
+
* the client.
|
|
137
|
+
*
|
|
138
|
+
* If the timeout expires, the server responds with status 408 without
|
|
139
|
+
* forwarding the request to the request listener and then closes the connection.
|
|
140
|
+
*
|
|
141
|
+
* It must be set to a non-zero value (e.g. 120 seconds) to protect against
|
|
142
|
+
* potential Denial-of-Service attacks in case the server is deployed without a
|
|
143
|
+
* reverse proxy in front.
|
|
144
|
+
*
|
|
145
|
+
* Default is 5 minutes.
|
|
146
|
+
*/
|
|
147
|
+
requestTimeout?: number;
|
|
83
148
|
}
|
|
84
149
|
export declare type __ΩHttpParserOptions = any[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __ΩHttpParserOptions = ['encoding', 'uploadDir', 'keepExtensions', 'allowEmptyFiles', 'minFileSize', 'maxFiles', 'maxFileSize', 'maxTotalFileSize', 'maxFields', 'maxFieldsSize', false, 'hashAlgorithm', 'multiples', 'enabledPlugins', 'PP
|
|
1
|
+
const __ΩHttpParserOptions = ['encoding', 'uploadDir', 'keepExtensions', 'allowEmptyFiles', 'minFileSize', 'maxFiles', 'maxFileSize', 'maxTotalFileSize', 'maxFields', 'maxFieldsSize', false, 'hashAlgorithm', 'multiples', 'enabledPlugins', 'HttpParserOptions', 'PP&-J4!8P&-J4"8P)-J4#8P)-J4$8P\'-J4%8P\'-J4&8P\'-J4\'8P\'-J4(8P\'-J4)8P\'-J4*8P&.+-J4,8P)-J4-8P&F-J4.8Mw/y'];
|
|
2
2
|
export { __ΩHttpParserOptions as __ΩHttpParserOptions };
|
|
3
3
|
export class HttpConfig {
|
|
4
4
|
constructor() {
|
|
@@ -6,5 +6,5 @@ export class HttpConfig {
|
|
|
6
6
|
this.parser = {};
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
HttpConfig.__type = ['debug', function () { return false; }, () => __ΩHttpParserOptions, 'parser', function () { return {}; }, ')3!>"n#3
|
|
9
|
+
HttpConfig.__type = ['debug', function () { return false; }, () => __ΩHttpParserOptions, 'parser', function () { return {}; }, 'maxHeadersCount', 'maxRequestsPerSocket', 'timeout', 'headersTimeout', 'keepAliveTimeout', 'requestTimeout', 'HttpConfig', ')3!>"n#3$>%\'3&8\'3\'8\'3(8\'3)8\'3*8\'3+85w,'];
|
|
10
10
|
//# sourceMappingURL=module.config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.config.js","sourceRoot":"","sources":["../../../src/module.config.ts"],"names":[],"mappings":";;AA2FA,MAAM,OAAO,UAAU;IAAvB;
|
|
1
|
+
{"version":3,"file":"module.config.js","sourceRoot":"","sources":["../../../src/module.config.ts"],"names":[],"mappings":";;AA2FA,MAAM,OAAO,UAAU;IAAvB;QAEI,UAAK,GAAY,KAAK,CAAC;QAEvB,WAAM,GAAsB,EAAE,CAAC;KAyElC;;mDA3EoB,KAAK,gEAEM,EAAE"}
|