@spinajs/http 2.0.45 → 2.0.48
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/README.md +11 -11
- package/lib/config/http.d.ts +1 -0
- package/lib/config/http.d.ts.map +1 -0
- package/lib/config/http.js +5 -7
- package/lib/config/http.js.map +1 -1
- package/lib/controllers.d.ts +4 -3
- package/lib/controllers.d.ts.map +1 -0
- package/lib/controllers.js +37 -65
- package/lib/controllers.js.map +1 -1
- package/lib/decorators.d.ts +3 -2
- package/lib/decorators.d.ts.map +1 -0
- package/lib/decorators.js +68 -100
- package/lib/decorators.js.map +1 -1
- package/lib/exceptions.d.ts +2 -0
- package/lib/exceptions.d.ts.map +1 -0
- package/lib/exceptions.js +1 -0
- package/lib/index.d.ts +9 -8
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +8 -24
- package/lib/index.js.map +1 -1
- package/lib/interfaces.d.ts +3 -2
- package/lib/interfaces.d.ts.map +1 -0
- package/lib/interfaces.js +16 -24
- package/lib/interfaces.js.map +1 -1
- package/lib/middlewares/RequestId.d.ts +2 -1
- package/lib/middlewares/RequestId.d.ts.map +1 -0
- package/lib/middlewares/RequestId.js +7 -10
- package/lib/middlewares/RequestId.js.map +1 -1
- package/lib/middlewares/ResponseTime.d.ts +2 -1
- package/lib/middlewares/ResponseTime.d.ts.map +1 -0
- package/lib/middlewares/ResponseTime.js +5 -8
- package/lib/middlewares/ResponseTime.js.map +1 -1
- package/lib/response-methods/badRequest.d.ts +3 -1
- package/lib/response-methods/badRequest.d.ts.map +1 -0
- package/lib/response-methods/badRequest.js +4 -8
- package/lib/response-methods/badRequest.js.map +1 -1
- package/lib/response-methods/conflict.d.ts +3 -1
- package/lib/response-methods/conflict.d.ts.map +1 -0
- package/lib/response-methods/conflict.js +4 -8
- package/lib/response-methods/conflict.js.map +1 -1
- package/lib/response-methods/cookieResponse.d.ts +3 -1
- package/lib/response-methods/cookieResponse.d.ts.map +1 -0
- package/lib/response-methods/cookieResponse.js +8 -35
- package/lib/response-methods/cookieResponse.js.map +1 -1
- package/lib/response-methods/created.d.ts +3 -1
- package/lib/response-methods/created.d.ts.map +1 -0
- package/lib/response-methods/created.js +4 -8
- package/lib/response-methods/created.js.map +1 -1
- package/lib/response-methods/file.d.ts +2 -1
- package/lib/response-methods/file.d.ts.map +1 -0
- package/lib/response-methods/file.js +15 -46
- package/lib/response-methods/file.js.map +1 -1
- package/lib/response-methods/forbidden.d.ts +3 -1
- package/lib/response-methods/forbidden.d.ts.map +1 -0
- package/lib/response-methods/forbidden.js +4 -8
- package/lib/response-methods/forbidden.js.map +1 -1
- package/lib/response-methods/index.d.ts +14 -13
- package/lib/response-methods/index.d.ts.map +1 -0
- package/lib/response-methods/index.js +13 -29
- package/lib/response-methods/index.js.map +1 -1
- package/lib/response-methods/noContent.d.ts +3 -1
- package/lib/response-methods/noContent.d.ts.map +1 -0
- package/lib/response-methods/noContent.js +4 -8
- package/lib/response-methods/noContent.js.map +1 -1
- package/lib/response-methods/notAllowed.d.ts +3 -1
- package/lib/response-methods/notAllowed.d.ts.map +1 -0
- package/lib/response-methods/notAllowed.js +4 -8
- package/lib/response-methods/notAllowed.js.map +1 -1
- package/lib/response-methods/notFound.d.ts +3 -1
- package/lib/response-methods/notFound.d.ts.map +1 -0
- package/lib/response-methods/notFound.js +4 -8
- package/lib/response-methods/notFound.js.map +1 -1
- package/lib/response-methods/ok.d.ts +3 -1
- package/lib/response-methods/ok.d.ts.map +1 -0
- package/lib/response-methods/ok.js +4 -8
- package/lib/response-methods/ok.js.map +1 -1
- package/lib/response-methods/pug.d.ts +3 -1
- package/lib/response-methods/pug.d.ts.map +1 -0
- package/lib/response-methods/pug.js +4 -8
- package/lib/response-methods/pug.js.map +1 -1
- package/lib/response-methods/redirect.d.ts +2 -1
- package/lib/response-methods/redirect.d.ts.map +1 -0
- package/lib/response-methods/redirect.js +2 -6
- package/lib/response-methods/redirect.js.map +1 -1
- package/lib/response-methods/serverError.d.ts +3 -1
- package/lib/response-methods/serverError.d.ts.map +1 -0
- package/lib/response-methods/serverError.js +4 -8
- package/lib/response-methods/serverError.js.map +1 -1
- package/lib/response-methods/unauthorized.d.ts +3 -1
- package/lib/response-methods/unauthorized.d.ts.map +1 -0
- package/lib/response-methods/unauthorized.js +4 -8
- package/lib/response-methods/unauthorized.js.map +1 -1
- package/lib/responses.d.ts +2 -1
- package/lib/responses.d.ts.map +1 -0
- package/lib/responses.js +25 -55
- package/lib/responses.js.map +1 -1
- package/lib/route-args/ArgAsRequest.d.ts +3 -2
- package/lib/route-args/ArgAsRequest.d.ts.map +1 -0
- package/lib/route-args/ArgAsRequest.js +7 -10
- package/lib/route-args/ArgAsRequest.js.map +1 -1
- package/lib/route-args/ArgAsResponse.d.ts +3 -2
- package/lib/route-args/ArgAsResponse.d.ts.map +1 -0
- package/lib/route-args/ArgAsResponse.js +7 -10
- package/lib/route-args/ArgAsResponse.js.map +1 -1
- package/lib/route-args/ArgHydrator.d.ts +2 -1
- package/lib/route-args/ArgHydrator.d.ts.map +1 -0
- package/lib/route-args/ArgHydrator.js +1 -5
- package/lib/route-args/ArgHydrator.js.map +1 -1
- package/lib/route-args/FromBody.d.ts +3 -2
- package/lib/route-args/FromBody.d.ts.map +1 -0
- package/lib/route-args/FromBody.js +8 -11
- package/lib/route-args/FromBody.js.map +1 -1
- package/lib/route-args/FromCookie.d.ts +3 -2
- package/lib/route-args/FromCookie.d.ts.map +1 -0
- package/lib/route-args/FromCookie.js +12 -39
- package/lib/route-args/FromCookie.js.map +1 -1
- package/lib/route-args/FromDi.d.ts +3 -2
- package/lib/route-args/FromDi.d.ts.map +1 -0
- package/lib/route-args/FromDi.js +7 -10
- package/lib/route-args/FromDi.js.map +1 -1
- package/lib/route-args/FromForm.d.ts +4 -3
- package/lib/route-args/FromForm.d.ts.map +1 -0
- package/lib/route-args/FromForm.js +64 -54
- package/lib/route-args/FromForm.js.map +1 -1
- package/lib/route-args/FromHeaderArg.d.ts +3 -2
- package/lib/route-args/FromHeaderArg.d.ts.map +1 -0
- package/lib/route-args/FromHeaderArg.js +9 -12
- package/lib/route-args/FromHeaderArg.js.map +1 -1
- package/lib/route-args/FromParams.d.ts +3 -2
- package/lib/route-args/FromParams.d.ts.map +1 -0
- package/lib/route-args/FromParams.js +7 -10
- package/lib/route-args/FromParams.js.map +1 -1
- package/lib/route-args/FromQuery.d.ts +3 -2
- package/lib/route-args/FromQuery.d.ts.map +1 -0
- package/lib/route-args/FromQuery.js +7 -10
- package/lib/route-args/FromQuery.js.map +1 -1
- package/lib/route-args/RouteArgs.d.ts +2 -1
- package/lib/route-args/RouteArgs.d.ts.map +1 -0
- package/lib/route-args/RouteArgs.js +20 -27
- package/lib/route-args/RouteArgs.js.map +1 -1
- package/lib/route-args/index.d.ts +12 -11
- package/lib/route-args/index.d.ts.map +1 -0
- package/lib/route-args/index.js +11 -27
- package/lib/route-args/index.js.map +1 -1
- package/lib/schemas/RouteArgsSchemas.d.ts +1 -0
- package/lib/schemas/RouteArgsSchemas.d.ts.map +1 -0
- package/lib/schemas/RouteArgsSchemas.js +1 -4
- package/lib/schemas/RouteArgsSchemas.js.map +1 -1
- package/lib/server.d.ts +4 -3
- package/lib/server.d.ts.map +1 -0
- package/lib/server.js +45 -68
- package/lib/server.js.map +1 -1
- package/lib/transformers/PureTransformer.d.ts +2 -1
- package/lib/transformers/PureTransformer.d.ts.map +1 -0
- package/lib/transformers/PureTransformer.js +6 -9
- package/lib/transformers/PureTransformer.js.map +1 -1
- package/lib/transformers/index.d.ts +2 -1
- package/lib/transformers/index.d.ts.map +1 -0
- package/lib/transformers/index.js +1 -17
- package/lib/transformers/index.js.map +1 -1
- package/package.json +80 -81
- package/lib/static/favicon.ico +0 -0
- package/lib/static/style.css +0 -15
- package/lib/views/responses/badRequest.pug +0 -13
- package/lib/views/responses/conflict.pug +0 -13
- package/lib/views/responses/forbidden.pug +0 -13
- package/lib/views/responses/noContent.pug +0 -13
- package/lib/views/responses/not-allowed.pug +0 -13
- package/lib/views/responses/notFound.pug +0 -13
- package/lib/views/responses/ok.pug +0 -12
- package/lib/views/responses/serverError.pug +0 -13
- package/lib/views/responses/unauthorized.pug +0 -13
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -8,16 +7,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const fs_1 = require("fs");
|
|
20
|
-
class FromFormBase extends RouteArgs_1.RouteArgs {
|
|
10
|
+
import { RouteArgs } from './RouteArgs.js';
|
|
11
|
+
import { ParameterType } from '../interfaces.js';
|
|
12
|
+
import { IncomingForm } from 'formidable';
|
|
13
|
+
import { DI, Injectable, NewInstance } from '@spinajs/di';
|
|
14
|
+
import { parse } from 'csv';
|
|
15
|
+
import { basename } from 'path';
|
|
16
|
+
import { createReadStream, promises, unlink } from 'fs';
|
|
17
|
+
export class FromFormBase extends RouteArgs {
|
|
21
18
|
async parseForm(callData, param, req) {
|
|
22
19
|
if (callData && callData.Payload && callData.Payload.Form) {
|
|
23
20
|
this.Data = callData.Payload.Form;
|
|
@@ -27,14 +24,14 @@ class FromFormBase extends RouteArgs_1.RouteArgs {
|
|
|
27
24
|
}
|
|
28
25
|
}
|
|
29
26
|
async parse(req, options) {
|
|
30
|
-
this.FileService = await
|
|
27
|
+
this.FileService = await DI.resolve('__file_provider__', [options?.fileProvider]);
|
|
31
28
|
if (!this.Data) {
|
|
32
29
|
let opts = options || { multiples: true };
|
|
33
30
|
this.Data = await this._parse(req, opts);
|
|
34
31
|
}
|
|
35
32
|
}
|
|
36
33
|
_parse(req, options) {
|
|
37
|
-
const form = new
|
|
34
|
+
const form = new IncomingForm(options);
|
|
38
35
|
return new Promise((res, rej) => {
|
|
39
36
|
form.parse(req, (err, fields, files) => {
|
|
40
37
|
if (err) {
|
|
@@ -46,10 +43,9 @@ class FromFormBase extends RouteArgs_1.RouteArgs {
|
|
|
46
43
|
});
|
|
47
44
|
}
|
|
48
45
|
}
|
|
49
|
-
exports.FromFormBase = FromFormBase;
|
|
50
46
|
let FromFile = class FromFile extends FromFormBase {
|
|
51
47
|
get SupportedType() {
|
|
52
|
-
return
|
|
48
|
+
return ParameterType.FromFile;
|
|
53
49
|
}
|
|
54
50
|
constructor(data) {
|
|
55
51
|
super();
|
|
@@ -64,9 +60,12 @@ let FromFile = class FromFile extends FromFormBase {
|
|
|
64
60
|
// of type IUploadedFile
|
|
65
61
|
const formFiles = this.Data.Files[param.Name];
|
|
66
62
|
const data = {
|
|
67
|
-
CallData:
|
|
63
|
+
CallData: {
|
|
64
|
+
...callData,
|
|
65
|
+
Payload: {
|
|
68
66
|
Form: this.Data,
|
|
69
|
-
}
|
|
67
|
+
},
|
|
68
|
+
},
|
|
70
69
|
};
|
|
71
70
|
if (Array.isArray(formFiles)) {
|
|
72
71
|
for (const f of formFiles) {
|
|
@@ -85,7 +84,7 @@ let FromFile = class FromFile extends FromFormBase {
|
|
|
85
84
|
function mf(f) {
|
|
86
85
|
return {
|
|
87
86
|
Size: f.size,
|
|
88
|
-
BaseName:
|
|
87
|
+
BaseName: basename(f.filepath),
|
|
89
88
|
Provider: {
|
|
90
89
|
Name: self.FileService.Name,
|
|
91
90
|
Service: self.FileService.constructor.name,
|
|
@@ -97,12 +96,12 @@ let FromFile = class FromFile extends FromFormBase {
|
|
|
97
96
|
};
|
|
98
97
|
}
|
|
99
98
|
async function copy(file) {
|
|
100
|
-
const stream = await self.FileService.writeStream(
|
|
99
|
+
const stream = await self.FileService.writeStream(basename(file));
|
|
101
100
|
return new Promise((resolve, reject) => {
|
|
102
|
-
|
|
101
|
+
createReadStream(file)
|
|
103
102
|
.pipe(stream)
|
|
104
103
|
.on('finish', () => {
|
|
105
|
-
|
|
104
|
+
unlink(file, (err) => {
|
|
106
105
|
if (err) {
|
|
107
106
|
reject(err);
|
|
108
107
|
}
|
|
@@ -119,45 +118,47 @@ let FromFile = class FromFile extends FromFormBase {
|
|
|
119
118
|
}
|
|
120
119
|
};
|
|
121
120
|
FromFile = __decorate([
|
|
122
|
-
|
|
123
|
-
|
|
121
|
+
Injectable(),
|
|
122
|
+
NewInstance(),
|
|
124
123
|
__metadata("design:paramtypes", [Object])
|
|
125
124
|
], FromFile);
|
|
126
|
-
|
|
125
|
+
export { FromFile };
|
|
127
126
|
let JsonFileRouteArgs = class JsonFileRouteArgs extends FromFile {
|
|
128
127
|
get SupportedType() {
|
|
129
|
-
return
|
|
128
|
+
return ParameterType.FromJSONFile;
|
|
130
129
|
}
|
|
131
130
|
constructor(data) {
|
|
132
131
|
super(data);
|
|
133
132
|
}
|
|
134
133
|
async extract(callData, param, req) {
|
|
135
|
-
var _a;
|
|
136
134
|
if (!this.Data) {
|
|
137
135
|
await this.parseForm(callData, param, req);
|
|
138
136
|
}
|
|
139
137
|
const sourceFile = this.Data.Files[param.Name].filepath;
|
|
140
|
-
const content = await
|
|
138
|
+
const content = await promises.readFile(sourceFile, { encoding: param.Options.Encoding ?? 'utf-8', flag: 'r' });
|
|
141
139
|
if (param.Options.DeleteFile) {
|
|
142
|
-
await
|
|
140
|
+
await promises.unlink(sourceFile);
|
|
143
141
|
}
|
|
144
142
|
return {
|
|
145
|
-
CallData:
|
|
143
|
+
CallData: {
|
|
144
|
+
...callData,
|
|
145
|
+
Payload: {
|
|
146
146
|
Form: this.Data,
|
|
147
|
-
}
|
|
147
|
+
},
|
|
148
|
+
},
|
|
148
149
|
Args: JSON.parse(content.toString()),
|
|
149
150
|
};
|
|
150
151
|
}
|
|
151
152
|
};
|
|
152
153
|
JsonFileRouteArgs = __decorate([
|
|
153
|
-
|
|
154
|
-
|
|
154
|
+
Injectable(),
|
|
155
|
+
NewInstance(),
|
|
155
156
|
__metadata("design:paramtypes", [Object])
|
|
156
157
|
], JsonFileRouteArgs);
|
|
157
|
-
|
|
158
|
+
export { JsonFileRouteArgs };
|
|
158
159
|
let CsvFileRouteArgs = class CsvFileRouteArgs extends FromFile {
|
|
159
160
|
get SupportedType() {
|
|
160
|
-
return
|
|
161
|
+
return ParameterType.FromCSV;
|
|
161
162
|
}
|
|
162
163
|
constructor(data) {
|
|
163
164
|
super(data);
|
|
@@ -168,21 +169,24 @@ let CsvFileRouteArgs = class CsvFileRouteArgs extends FromFile {
|
|
|
168
169
|
}
|
|
169
170
|
const sourceFile = this.Data.Files[param.Name].filepath;
|
|
170
171
|
if (param.Options.DeleteFile) {
|
|
171
|
-
await
|
|
172
|
+
await promises.unlink(sourceFile);
|
|
172
173
|
}
|
|
173
174
|
const data = await this.parseCvs(sourceFile);
|
|
174
175
|
return {
|
|
175
|
-
CallData:
|
|
176
|
+
CallData: {
|
|
177
|
+
...callData,
|
|
178
|
+
Payload: {
|
|
176
179
|
Form: this.Data,
|
|
177
|
-
}
|
|
180
|
+
},
|
|
181
|
+
},
|
|
178
182
|
Args: data,
|
|
179
183
|
};
|
|
180
184
|
}
|
|
181
185
|
async parseCvs(path) {
|
|
182
186
|
const data = [];
|
|
183
187
|
return new Promise((res, rej) => {
|
|
184
|
-
|
|
185
|
-
.pipe(
|
|
188
|
+
createReadStream(path)
|
|
189
|
+
.pipe(parse())
|
|
186
190
|
.on('error', (err) => rej(err))
|
|
187
191
|
.on('data', (row) => data.push(row))
|
|
188
192
|
.on('end', () => res(data));
|
|
@@ -190,14 +194,14 @@ let CsvFileRouteArgs = class CsvFileRouteArgs extends FromFile {
|
|
|
190
194
|
}
|
|
191
195
|
};
|
|
192
196
|
CsvFileRouteArgs = __decorate([
|
|
193
|
-
|
|
194
|
-
|
|
197
|
+
Injectable(),
|
|
198
|
+
NewInstance(),
|
|
195
199
|
__metadata("design:paramtypes", [Object])
|
|
196
200
|
], CsvFileRouteArgs);
|
|
197
|
-
|
|
201
|
+
export { CsvFileRouteArgs };
|
|
198
202
|
let FromFormField = class FromFormField extends FromFormBase {
|
|
199
203
|
get SupportedType() {
|
|
200
|
-
return
|
|
204
|
+
return ParameterType.FormField;
|
|
201
205
|
}
|
|
202
206
|
constructor(data) {
|
|
203
207
|
super();
|
|
@@ -208,22 +212,25 @@ let FromFormField = class FromFormField extends FromFormBase {
|
|
|
208
212
|
await this.parseForm(callData, param, req);
|
|
209
213
|
}
|
|
210
214
|
return {
|
|
211
|
-
CallData:
|
|
215
|
+
CallData: {
|
|
216
|
+
...callData,
|
|
217
|
+
Payload: {
|
|
212
218
|
Form: this.Data,
|
|
213
|
-
}
|
|
219
|
+
},
|
|
220
|
+
},
|
|
214
221
|
Args: this.Data.Fields[param.Name],
|
|
215
222
|
};
|
|
216
223
|
}
|
|
217
224
|
};
|
|
218
225
|
FromFormField = __decorate([
|
|
219
|
-
|
|
220
|
-
|
|
226
|
+
Injectable(),
|
|
227
|
+
NewInstance(),
|
|
221
228
|
__metadata("design:paramtypes", [Object])
|
|
222
229
|
], FromFormField);
|
|
223
|
-
|
|
230
|
+
export { FromFormField };
|
|
224
231
|
let FromForm = class FromForm extends FromFormBase {
|
|
225
232
|
get SupportedType() {
|
|
226
|
-
return
|
|
233
|
+
return ParameterType.FromForm;
|
|
227
234
|
}
|
|
228
235
|
constructor(data) {
|
|
229
236
|
super();
|
|
@@ -239,17 +246,20 @@ let FromForm = class FromForm extends FromFormBase {
|
|
|
239
246
|
result = hValue;
|
|
240
247
|
}
|
|
241
248
|
return {
|
|
242
|
-
CallData:
|
|
249
|
+
CallData: {
|
|
250
|
+
...callData,
|
|
251
|
+
Payload: {
|
|
243
252
|
Form: this.Data,
|
|
244
|
-
}
|
|
253
|
+
},
|
|
254
|
+
},
|
|
245
255
|
Args: result,
|
|
246
256
|
};
|
|
247
257
|
}
|
|
248
258
|
};
|
|
249
259
|
FromForm = __decorate([
|
|
250
|
-
|
|
251
|
-
|
|
260
|
+
Injectable(),
|
|
261
|
+
NewInstance(),
|
|
252
262
|
__metadata("design:paramtypes", [Object])
|
|
253
263
|
], FromForm);
|
|
254
|
-
|
|
264
|
+
export { FromForm };
|
|
255
265
|
//# sourceMappingURL=FromForm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FromForm.js","sourceRoot":"","sources":["../../src/route-args/FromForm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FromForm.js","sourceRoot":"","sources":["../../src/route-args/FromForm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { RouteArgs } from './RouteArgs';
|
|
2
|
-
import { IRouteParameter, ParameterType, IRouteCall, IRoute, Request } from '../interfaces';
|
|
1
|
+
import { RouteArgs } from './RouteArgs.js';
|
|
2
|
+
import { IRouteParameter, ParameterType, IRouteCall, IRoute, Request } from '../interfaces.js';
|
|
3
3
|
import * as express from 'express';
|
|
4
4
|
import { DateTime } from 'luxon';
|
|
5
5
|
export declare class FromHeader extends RouteArgs {
|
|
@@ -10,3 +10,4 @@ export declare class FromHeader extends RouteArgs {
|
|
|
10
10
|
}>;
|
|
11
11
|
protected handleDate(arg: any): DateTime;
|
|
12
12
|
}
|
|
13
|
+
//# sourceMappingURL=FromHeaderArg.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FromHeaderArg.d.ts","sourceRoot":"","sources":["../../src/route-args/FromHeaderArg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,qBACa,UAAW,SAAQ,SAAS;IACvC,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;;;;IAKtH,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ;CAGzC"}
|
|
@@ -1,30 +1,27 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const luxon_1 = require("luxon");
|
|
14
|
-
let FromHeader = class FromHeader extends RouteArgs_1.RouteArgs {
|
|
7
|
+
import { RouteArgs } from './RouteArgs.js';
|
|
8
|
+
import { ParameterType } from '../interfaces.js';
|
|
9
|
+
import { Injectable } from '@spinajs/di';
|
|
10
|
+
import { DateTime } from 'luxon';
|
|
11
|
+
let FromHeader = class FromHeader extends RouteArgs {
|
|
15
12
|
get SupportedType() {
|
|
16
|
-
return
|
|
13
|
+
return ParameterType.FromHeader;
|
|
17
14
|
}
|
|
18
15
|
async extract(callData, param, req, _res, route) {
|
|
19
16
|
let arg = param.Options && param.Options.key ? req.headers[param.Options.key] : req.headers[param.Name.toLowerCase()];
|
|
20
17
|
return { CallData: callData, Args: await this.tryHydrateParam(arg, param, route) };
|
|
21
18
|
}
|
|
22
19
|
handleDate(arg) {
|
|
23
|
-
return
|
|
20
|
+
return DateTime.fromHTTP(arg.startsWith('Date:') ? arg.substring(5).trim() : arg.trim());
|
|
24
21
|
}
|
|
25
22
|
};
|
|
26
23
|
FromHeader = __decorate([
|
|
27
|
-
|
|
24
|
+
Injectable()
|
|
28
25
|
], FromHeader);
|
|
29
|
-
|
|
26
|
+
export { FromHeader };
|
|
30
27
|
//# sourceMappingURL=FromHeaderArg.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FromHeaderArg.js","sourceRoot":"","sources":["../../src/route-args/FromHeaderArg.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FromHeaderArg.js","sourceRoot":"","sources":["../../src/route-args/FromHeaderArg.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAmB,aAAa,EAA+B,MAAM,kBAAkB,CAAC;AAE/F,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG1B,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,SAAS;IACvC,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,UAAU,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAsB,EAAE,GAAY,EAAE,IAAsB,EAAE,KAAa;QACpH,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACtH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;IACrF,CAAC;IAES,UAAU,CAAC,GAAQ;QAC3B,OAAO,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3F,CAAC;CACF,CAAA;AAbY,UAAU;IADtB,UAAU,EAAE;GACA,UAAU,CAatB;SAbY,UAAU"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { RouteArgs } from './RouteArgs';
|
|
2
|
-
import { IRouteParameter, ParameterType, IRouteCall, IRoute, Request } from '../interfaces';
|
|
1
|
+
import { RouteArgs } from './RouteArgs.js';
|
|
2
|
+
import { IRouteParameter, ParameterType, IRouteCall, IRoute, Request } from '../interfaces.js';
|
|
3
3
|
import * as express from 'express';
|
|
4
4
|
export declare class FromParams extends RouteArgs {
|
|
5
5
|
get SupportedType(): ParameterType;
|
|
@@ -8,3 +8,4 @@ export declare class FromParams extends RouteArgs {
|
|
|
8
8
|
Args: any;
|
|
9
9
|
}>;
|
|
10
10
|
}
|
|
11
|
+
//# sourceMappingURL=FromParams.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FromParams.d.ts","sourceRoot":"","sources":["../../src/route-args/FromParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,qBACa,UAAW,SAAQ,SAAS;IACvC,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;;;;CAGvH"}
|
|
@@ -1,25 +1,22 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const di_1 = require("@spinajs/di");
|
|
13
|
-
let FromParams = class FromParams extends RouteArgs_1.RouteArgs {
|
|
7
|
+
import { RouteArgs } from './RouteArgs.js';
|
|
8
|
+
import { ParameterType } from '../interfaces.js';
|
|
9
|
+
import { Injectable } from '@spinajs/di';
|
|
10
|
+
let FromParams = class FromParams extends RouteArgs {
|
|
14
11
|
get SupportedType() {
|
|
15
|
-
return
|
|
12
|
+
return ParameterType.FromParams;
|
|
16
13
|
}
|
|
17
14
|
async extract(callData, param, req, _res, route) {
|
|
18
15
|
return { CallData: callData, Args: await this.tryHydrateParam(req.params[param.Name], param, route) };
|
|
19
16
|
}
|
|
20
17
|
};
|
|
21
18
|
FromParams = __decorate([
|
|
22
|
-
|
|
19
|
+
Injectable()
|
|
23
20
|
], FromParams);
|
|
24
|
-
|
|
21
|
+
export { FromParams };
|
|
25
22
|
//# sourceMappingURL=FromParams.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FromParams.js","sourceRoot":"","sources":["../../src/route-args/FromParams.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FromParams.js","sourceRoot":"","sources":["../../src/route-args/FromParams.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAmB,aAAa,EAA+B,MAAM,kBAAkB,CAAC;AAE/F,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGlC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,SAAS;IACvC,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,UAAU,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAsB,EAAE,GAAY,EAAE,IAAsB,EAAE,KAAa;QACpH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;IACxG,CAAC;CACF,CAAA;AARY,UAAU;IADtB,UAAU,EAAE;GACA,UAAU,CAQtB;SARY,UAAU"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { RouteArgs } from './RouteArgs';
|
|
2
|
-
import { IRouteParameter, ParameterType, IRouteCall, IRoute, Request } from '../interfaces';
|
|
1
|
+
import { RouteArgs } from './RouteArgs.js';
|
|
2
|
+
import { IRouteParameter, ParameterType, IRouteCall, IRoute, Request } from '../interfaces.js';
|
|
3
3
|
import * as express from 'express';
|
|
4
4
|
export declare class FromQuery extends RouteArgs {
|
|
5
5
|
get SupportedType(): ParameterType;
|
|
@@ -8,3 +8,4 @@ export declare class FromQuery extends RouteArgs {
|
|
|
8
8
|
Args: any;
|
|
9
9
|
}>;
|
|
10
10
|
}
|
|
11
|
+
//# sourceMappingURL=FromQuery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FromQuery.d.ts","sourceRoot":"","sources":["../../src/route-args/FromQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,qBACa,SAAU,SAAQ,SAAS;IACtC,IAAW,aAAa,IAAI,aAAa,CAExC;IAEY,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;;;;CAGvH"}
|
|
@@ -1,25 +1,22 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const di_1 = require("@spinajs/di");
|
|
13
|
-
let FromQuery = class FromQuery extends RouteArgs_1.RouteArgs {
|
|
7
|
+
import { RouteArgs } from './RouteArgs.js';
|
|
8
|
+
import { ParameterType } from '../interfaces.js';
|
|
9
|
+
import { Injectable } from '@spinajs/di';
|
|
10
|
+
let FromQuery = class FromQuery extends RouteArgs {
|
|
14
11
|
get SupportedType() {
|
|
15
|
-
return
|
|
12
|
+
return ParameterType.FromQuery;
|
|
16
13
|
}
|
|
17
14
|
async extract(callData, param, req, _res, route) {
|
|
18
15
|
return { CallData: callData, Args: await this.tryHydrateParam(req.query[param.Name], param, route) };
|
|
19
16
|
}
|
|
20
17
|
};
|
|
21
18
|
FromQuery = __decorate([
|
|
22
|
-
|
|
19
|
+
Injectable()
|
|
23
20
|
], FromQuery);
|
|
24
|
-
|
|
21
|
+
export { FromQuery };
|
|
25
22
|
//# sourceMappingURL=FromQuery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FromQuery.js","sourceRoot":"","sources":["../../src/route-args/FromQuery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FromQuery.js","sourceRoot":"","sources":["../../src/route-args/FromQuery.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAmB,aAAa,EAA+B,MAAM,kBAAkB,CAAC;AAE/F,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIlC,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,SAAS;IACtC,IAAW,aAAa;QACtB,OAAO,aAAa,CAAC,SAAS,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAsB,EAAE,GAAY,EAAE,IAAsB,EAAE,KAAa;QACpH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;IACvG,CAAC;CACF,CAAA;AARY,SAAS;IADrB,UAAU,EAAE;GACA,SAAS,CAQrB;SARY,SAAS"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ParameterType, IRouteParameter, IRouteCall, IRoute, Request } from './../interfaces';
|
|
1
|
+
import { ParameterType, IRouteParameter, IRouteCall, IRoute, Request } from './../interfaces.js';
|
|
2
2
|
import * as express from 'express';
|
|
3
3
|
import { DateTime } from 'luxon';
|
|
4
4
|
import { DataValidator } from '@spinajs/validation';
|
|
@@ -19,3 +19,4 @@ export declare abstract class RouteArgs implements IRouteArgs {
|
|
|
19
19
|
protected tryHydrateObject(arg: any, param: IRouteParameter): Promise<any[]>;
|
|
20
20
|
protected fromRuntimeType(param: IRouteParameter, arg: any): any;
|
|
21
21
|
}
|
|
22
|
+
//# sourceMappingURL=RouteArgs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RouteArgs.d.ts","sourceRoot":"","sources":["../../src/route-args/RouteArgs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAInC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,GAAG,CAAC;CACX;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,aAAa,GAAG,MAAM,CAAC;IAEtC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAChJ;AAED,8BAAsB,SAAU,YAAW,UAAU;IAEnD,SAAS,CAAC,SAAS,EAAE,aAAa,CAAC;IAEnC,QAAQ,KAAK,aAAa,IAAI,aAAa,GAAG,MAAM,CAAC;aAErC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAE9J,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ;cAaxB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM;cA8BxE,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe;IA4BjE,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG;CAc3D"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -8,26 +7,21 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const di_2 = require("@spinajs/di");
|
|
18
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
19
|
-
const luxon_1 = require("luxon");
|
|
20
|
-
const validation_1 = require("@spinajs/validation");
|
|
21
|
-
class RouteArgs {
|
|
10
|
+
import { Autoinject, TypedArray } from '@spinajs/di';
|
|
11
|
+
import { DI } from '@spinajs/di';
|
|
12
|
+
import _ from 'lodash';
|
|
13
|
+
import { DateTime } from 'luxon';
|
|
14
|
+
import { DataValidator } from '@spinajs/validation';
|
|
15
|
+
export class RouteArgs {
|
|
22
16
|
handleDate(arg) {
|
|
23
17
|
const milis = Number(arg);
|
|
24
18
|
if (!isNaN(milis)) {
|
|
25
|
-
return
|
|
19
|
+
return DateTime.fromSeconds(milis);
|
|
26
20
|
}
|
|
27
|
-
if (
|
|
28
|
-
return
|
|
21
|
+
if (_.isString(arg)) {
|
|
22
|
+
return DateTime.fromISO(arg);
|
|
29
23
|
}
|
|
30
|
-
return
|
|
24
|
+
return DateTime.invalid('no iso or unix timestamp');
|
|
31
25
|
}
|
|
32
26
|
async tryHydrateParam(arg, routeParameter, route) {
|
|
33
27
|
let result = null;
|
|
@@ -52,37 +46,37 @@ class RouteArgs {
|
|
|
52
46
|
if (routeParameter.Schema) {
|
|
53
47
|
this.Validator.validate(routeParameter.Schema, result);
|
|
54
48
|
}
|
|
55
|
-
else if (
|
|
49
|
+
else if (_.isObject(result)) {
|
|
56
50
|
this.Validator.validate(result);
|
|
57
51
|
}
|
|
58
52
|
return result;
|
|
59
53
|
}
|
|
60
54
|
async tryHydrateObject(arg, param) {
|
|
61
55
|
let hydrator = null;
|
|
62
|
-
if (param.RuntimeType instanceof
|
|
56
|
+
if (param.RuntimeType instanceof TypedArray) {
|
|
63
57
|
hydrator = Reflect.getMetadata('custom:arg_hydrator', param.RuntimeType.Type);
|
|
64
58
|
}
|
|
65
59
|
else {
|
|
66
60
|
hydrator = Reflect.getMetadata('custom:arg_hydrator', param.RuntimeType);
|
|
67
61
|
}
|
|
68
62
|
if (hydrator) {
|
|
69
|
-
const hInstance = await
|
|
63
|
+
const hInstance = await DI.resolve(hydrator.hydrator, hydrator.options);
|
|
70
64
|
const result = await hInstance.hydrate(arg, param);
|
|
71
65
|
return [true, result];
|
|
72
66
|
}
|
|
73
67
|
else if (param.RuntimeType.name === 'Object' || param.RuntimeType.name === 'Array') {
|
|
74
|
-
return [true,
|
|
68
|
+
return [true, _.isString(arg) ? JSON.parse(arg) : arg];
|
|
75
69
|
}
|
|
76
70
|
else if (param.RuntimeType.name === 'DateTime') {
|
|
77
71
|
return [true, this.handleDate(arg)];
|
|
78
72
|
}
|
|
79
|
-
else if (param.RuntimeType instanceof
|
|
73
|
+
else if (param.RuntimeType instanceof TypedArray) {
|
|
80
74
|
const type = param.RuntimeType.Type;
|
|
81
|
-
const arrData =
|
|
75
|
+
const arrData = _.isString(arg) ? JSON.parse(arg) : arg;
|
|
82
76
|
return [true, arrData ? arrData.map((x) => new type(x)) : []];
|
|
83
77
|
}
|
|
84
78
|
else if (['Number', 'String', 'Boolean', 'Null', 'Undefined', 'BigInt', 'Symbol'].indexOf(param.RuntimeType.name) === -1) {
|
|
85
|
-
return [true, new param.RuntimeType(
|
|
79
|
+
return [true, new param.RuntimeType(_.isString(arg) ? JSON.parse(arg) : arg)];
|
|
86
80
|
}
|
|
87
81
|
return [false, null];
|
|
88
82
|
}
|
|
@@ -97,13 +91,12 @@ class RouteArgs {
|
|
|
97
91
|
case 'Boolean':
|
|
98
92
|
return arg ? (arg === 1 ? true : arg.toLowerCase() === 'true' ? true : false) : false;
|
|
99
93
|
default:
|
|
100
|
-
return new param.RuntimeType(
|
|
94
|
+
return new param.RuntimeType(_.isString(arg) ? JSON.parse(arg) : arg);
|
|
101
95
|
}
|
|
102
96
|
}
|
|
103
97
|
}
|
|
104
98
|
__decorate([
|
|
105
|
-
|
|
106
|
-
__metadata("design:type",
|
|
99
|
+
Autoinject(),
|
|
100
|
+
__metadata("design:type", DataValidator)
|
|
107
101
|
], RouteArgs.prototype, "Validator", void 0);
|
|
108
|
-
exports.RouteArgs = RouteArgs;
|
|
109
102
|
//# sourceMappingURL=RouteArgs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteArgs.js","sourceRoot":"","sources":["../../src/route-args/RouteArgs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RouteArgs.js","sourceRoot":"","sources":["../../src/route-args/RouteArgs.ts"],"names":[],"mappings":"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"}
|