@spinajs/http 1.0.12 → 1.2.103
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 -0
- package/lib/config/http.js +17 -17
- package/lib/config/http.js.map +1 -1
- package/lib/controllers.d.ts +6 -4
- package/lib/controllers.js +53 -183
- package/lib/controllers.js.map +1 -1
- package/lib/decorators.d.ts +49 -24
- package/lib/decorators.js +97 -40
- package/lib/decorators.js.map +1 -1
- package/lib/exceptions.d.ts +0 -0
- package/lib/exceptions.js +1 -0
- package/lib/exceptions.js.map +1 -0
- package/lib/http.d.ts +0 -0
- package/lib/http.js +1 -0
- package/lib/http.js.map +1 -0
- package/lib/hydrators/datetime.d.ts +8 -0
- package/lib/hydrators/datetime.js +63 -0
- package/lib/hydrators/datetime.js.map +1 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +8 -3
- package/lib/index.js.map +1 -1
- package/lib/interfaces.d.ts +46 -16
- package/lib/interfaces.js +31 -12
- package/lib/interfaces.js.map +1 -1
- package/lib/response-methods/badRequest.d.ts +3 -2
- package/lib/response-methods/badRequest.js +1 -1
- package/lib/response-methods/badRequest.js.map +1 -1
- package/lib/response-methods/conflict.d.ts +3 -2
- package/lib/response-methods/conflict.js +1 -1
- package/lib/response-methods/conflict.js.map +1 -1
- package/lib/response-methods/cookieResponse.d.ts +3 -2
- package/lib/response-methods/cookieResponse.js +9 -5
- package/lib/response-methods/cookieResponse.js.map +1 -1
- package/lib/response-methods/created.d.ts +3 -2
- package/lib/response-methods/created.js +1 -1
- package/lib/response-methods/created.js.map +1 -1
- package/lib/response-methods/file.d.ts +16 -2
- package/lib/response-methods/file.js +67 -5
- package/lib/response-methods/file.js.map +1 -1
- package/lib/response-methods/forbidden.d.ts +3 -2
- package/lib/response-methods/forbidden.js +1 -1
- package/lib/response-methods/forbidden.js.map +1 -1
- package/lib/response-methods/index.js +6 -2
- package/lib/response-methods/index.js.map +1 -1
- package/lib/response-methods/noContent.d.ts +3 -2
- package/lib/response-methods/noContent.js +1 -1
- package/lib/response-methods/noContent.js.map +1 -1
- package/lib/response-methods/notFound.d.ts +3 -2
- package/lib/response-methods/notFound.js +1 -1
- package/lib/response-methods/notFound.js.map +1 -1
- package/lib/response-methods/ok.d.ts +3 -2
- package/lib/response-methods/ok.js +1 -1
- package/lib/response-methods/ok.js.map +1 -1
- package/lib/response-methods/pug.d.ts +3 -2
- package/lib/response-methods/pug.js +1 -1
- package/lib/response-methods/pug.js.map +1 -1
- package/lib/response-methods/redirect.d.ts +2 -2
- package/lib/response-methods/redirect.js +2 -4
- package/lib/response-methods/redirect.js.map +1 -1
- package/lib/response-methods/serverError.d.ts +3 -2
- package/lib/response-methods/serverError.js +1 -1
- package/lib/response-methods/serverError.js.map +1 -1
- package/lib/response-methods/unauthorized.d.ts +3 -2
- package/lib/response-methods/unauthorized.js +1 -1
- package/lib/response-methods/unauthorized.js.map +1 -1
- package/lib/responses.d.ts +1 -1
- package/lib/responses.js +28 -11
- package/lib/responses.js.map +1 -1
- package/lib/route-args/ArgAsRequest.d.ts +11 -0
- package/lib/{transformers/PureFormatter.js → route-args/ArgAsRequest.js} +13 -12
- package/lib/route-args/ArgAsRequest.js.map +1 -0
- package/lib/route-args/ArgAsResponse.d.ts +10 -0
- package/lib/{dto/order-dto.js → route-args/ArgAsResponse.js} +16 -18
- package/lib/route-args/ArgAsResponse.js.map +1 -0
- package/lib/route-args/ArgHydrator.d.ts +3 -0
- package/lib/route-args/ArgHydrator.js +7 -0
- package/lib/route-args/ArgHydrator.js.map +1 -0
- package/lib/route-args/FromBody.d.ts +10 -0
- package/lib/route-args/FromBody.js +44 -0
- package/lib/route-args/FromBody.js.map +1 -0
- package/lib/route-args/FromCoockie.d.ts +13 -0
- package/lib/route-args/FromCoockie.js +71 -0
- package/lib/route-args/FromCoockie.js.map +1 -0
- package/lib/route-args/FromCookie.d.ts +13 -0
- package/lib/route-args/FromCookie.js +74 -0
- package/lib/route-args/FromCookie.js.map +1 -0
- package/lib/route-args/FromDi.d.ts +14 -0
- package/lib/route-args/FromDi.js +36 -0
- package/lib/route-args/FromDi.js.map +1 -0
- package/lib/route-args/FromForm.d.ts +82 -0
- package/lib/route-args/FromForm.js +259 -0
- package/lib/route-args/FromForm.js.map +1 -0
- package/lib/route-args/FromHeaderArg.d.ts +12 -0
- package/lib/route-args/FromHeaderArg.js +30 -0
- package/lib/route-args/FromHeaderArg.js.map +1 -0
- package/lib/route-args/FromParams.d.ts +10 -0
- package/lib/route-args/FromParams.js +25 -0
- package/lib/route-args/FromParams.js.map +1 -0
- package/lib/route-args/FromQuery.d.ts +10 -0
- package/lib/{dto/limit-dto.js → route-args/FromQuery.js} +16 -18
- package/lib/route-args/FromQuery.js.map +1 -0
- package/lib/route-args/RouteArgs.d.ts +19 -0
- package/lib/route-args/RouteArgs.js +64 -0
- package/lib/route-args/RouteArgs.js.map +1 -0
- package/lib/route-args/index.d.ts +11 -0
- package/lib/route-args/index.js +28 -0
- package/lib/route-args/index.js.map +1 -0
- package/lib/schemas/RouteArgsSchemas.d.ts +15 -0
- package/lib/schemas/RouteArgsSchemas.js +19 -0
- package/lib/schemas/RouteArgsSchemas.js.map +1 -0
- package/lib/server.d.ts +3 -2
- package/lib/server.js +30 -14
- package/lib/server.js.map +1 -1
- package/lib/transformers/PureTransformer.d.ts +1 -1
- package/lib/transformers/PureTransformer.js +2 -2
- package/lib/transformers/PureTransformer.js.map +1 -1
- package/package.json +27 -54
- package/lib/dto/index.d.ts +0 -2
- package/lib/dto/index.js +0 -15
- package/lib/dto/index.js.map +0 -1
- package/lib/dto/limit-dto.d.ts +0 -32
- package/lib/dto/limit-dto.js.map +0 -1
- package/lib/dto/order-dto.d.ts +0 -32
- package/lib/dto/order-dto.js.map +0 -1
- package/lib/schemas.d.ts +0 -24
- package/lib/schemas.js +0 -96
- package/lib/schemas.js.map +0 -1
- package/lib/static/favicon.ico +0 -0
- package/lib/static/style.css +0 -15
- package/lib/transformers/PureFormatter.d.ts +0 -7
- package/lib/transformers/PureFormatter.js.map +0 -1
- 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/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
package/lib/decorators.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.Post = exports.Get = exports.Put = exports.Del = exports.Patch = exports.Head = exports.Cookie = exports.Model = exports.Res = exports.Req = exports.Uuid = exports.PKey = exports.FormField = exports.Form = exports.JsonFile = exports.CsvFile = exports.File = exports.Header = exports.FromModel = exports.Param = exports.Body = exports.Query = exports.FromDI = exports.BasePath = exports.Middleware = exports.Policy = exports.Hydrator = exports.CONTROLLED_DESCRIPTOR_SYMBOL = void 0;
|
|
4
4
|
const interfaces_1 = require("./interfaces");
|
|
5
|
+
const RouteArgsSchemas_1 = require("./schemas/RouteArgsSchemas");
|
|
5
6
|
exports.CONTROLLED_DESCRIPTOR_SYMBOL = Symbol('CONTROLLER_SYMBOL');
|
|
6
|
-
exports.SCHEMA_SYMBOL = Symbol('SCHEMA_SYMBOL');
|
|
7
7
|
function Controller(callback) {
|
|
8
8
|
return (target, propertyKey, indexOrDescriptor) => {
|
|
9
9
|
let metadata = Reflect.getMetadata(exports.CONTROLLED_DESCRIPTOR_SYMBOL, target.prototype || target);
|
|
@@ -49,17 +49,48 @@ function Route(callback) {
|
|
|
49
49
|
}
|
|
50
50
|
function Parameter(type, schema, options) {
|
|
51
51
|
return (_, route, target, propertyKey, index) => {
|
|
52
|
+
const rType = Reflect.getMetadata('design:paramtypes', target.prototype || target, propertyKey)[index];
|
|
53
|
+
let tSchema = null;
|
|
54
|
+
if (!schema) {
|
|
55
|
+
switch (rType.name) {
|
|
56
|
+
case 'Number':
|
|
57
|
+
tSchema = RouteArgsSchemas_1.ROUTE_ARG_SCHEMA.Number;
|
|
58
|
+
break;
|
|
59
|
+
case 'String':
|
|
60
|
+
tSchema = RouteArgsSchemas_1.ROUTE_ARG_SCHEMA.String;
|
|
61
|
+
break;
|
|
62
|
+
case 'Boolean':
|
|
63
|
+
tSchema = RouteArgsSchemas_1.ROUTE_ARG_SCHEMA.Boolean;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
52
66
|
const param = {
|
|
53
67
|
Index: index,
|
|
54
68
|
Name: '',
|
|
55
|
-
RuntimeType:
|
|
56
|
-
Schema: schema,
|
|
69
|
+
RuntimeType: rType,
|
|
70
|
+
Schema: schema !== null && schema !== void 0 ? schema : tSchema,
|
|
57
71
|
Options: options,
|
|
58
72
|
Type: type,
|
|
59
73
|
};
|
|
60
74
|
route.Parameters.set(index, param);
|
|
61
75
|
};
|
|
62
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Tells controller how to fill up incoming parameters in controller actions
|
|
79
|
+
*
|
|
80
|
+
* @param hydrator - hydrator class that will fill up incoming argument
|
|
81
|
+
* @param options - additional options passed to hydrator
|
|
82
|
+
*/
|
|
83
|
+
function Hydrator(hydrator, ...options) {
|
|
84
|
+
return (target) => {
|
|
85
|
+
if (!Reflect.getMetadata('custom:arg_hydrator', target)) {
|
|
86
|
+
Reflect.defineMetadata('custom:arg_hydrator', {
|
|
87
|
+
hydrator,
|
|
88
|
+
options,
|
|
89
|
+
}, target);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
exports.Hydrator = Hydrator;
|
|
63
94
|
function Policy(policy, ...options) {
|
|
64
95
|
return Route((controller, route, _, _1, _2) => {
|
|
65
96
|
const pDesc = {
|
|
@@ -96,14 +127,14 @@ function BasePath(path) {
|
|
|
96
127
|
});
|
|
97
128
|
}
|
|
98
129
|
exports.BasePath = BasePath;
|
|
99
|
-
function
|
|
130
|
+
function FromDI() {
|
|
100
131
|
return Route(Parameter(interfaces_1.ParameterType.FromDi));
|
|
101
132
|
}
|
|
102
|
-
exports.
|
|
133
|
+
exports.FromDI = FromDI;
|
|
103
134
|
/**
|
|
104
135
|
* Route parameter taken from query string eg. route?id=1
|
|
105
136
|
*
|
|
106
|
-
* @param schema parameter json schema for optional validation
|
|
137
|
+
* @param schema - parameter json schema for optional validation
|
|
107
138
|
*/
|
|
108
139
|
function Query(schema) {
|
|
109
140
|
return Route(Parameter(interfaces_1.ParameterType.FromQuery, schema));
|
|
@@ -112,7 +143,7 @@ exports.Query = Query;
|
|
|
112
143
|
/**
|
|
113
144
|
* Route parameter taken from message body (POST)
|
|
114
145
|
*
|
|
115
|
-
* @param schema parameter json schema for optional validation
|
|
146
|
+
* @param schema - parameter json schema for optional validation
|
|
116
147
|
*/
|
|
117
148
|
function Body(schema) {
|
|
118
149
|
return Route(Parameter(interfaces_1.ParameterType.FromBody, schema));
|
|
@@ -121,7 +152,7 @@ exports.Body = Body;
|
|
|
121
152
|
/**
|
|
122
153
|
* Route parameter taken from url parameters eg. route/:id
|
|
123
154
|
*
|
|
124
|
-
* @param schema parameter json schema for optional validation
|
|
155
|
+
* @param schema - parameter json schema for optional validation
|
|
125
156
|
*/
|
|
126
157
|
function Param(schema) {
|
|
127
158
|
return Route(Parameter(interfaces_1.ParameterType.FromParams, schema));
|
|
@@ -131,34 +162,70 @@ function FromModel(schema) {
|
|
|
131
162
|
return Route(Parameter(interfaces_1.ParameterType.FromModel, schema));
|
|
132
163
|
}
|
|
133
164
|
exports.FromModel = FromModel;
|
|
165
|
+
/**
|
|
166
|
+
* Gets parameter from request header. If not keyname is provided
|
|
167
|
+
* variable name is used as header key name
|
|
168
|
+
*
|
|
169
|
+
* @param keyName - header key name ( optional )
|
|
170
|
+
* @param schema - schema for validation ( optional )
|
|
171
|
+
* @returns
|
|
172
|
+
*/
|
|
173
|
+
function Header(keyName, schema) {
|
|
174
|
+
return Route(Parameter(interfaces_1.ParameterType.FromHeader, schema, { key: keyName }));
|
|
175
|
+
}
|
|
176
|
+
exports.Header = Header;
|
|
134
177
|
/**
|
|
135
178
|
*
|
|
136
179
|
* Parameter as file
|
|
137
180
|
*
|
|
138
|
-
* @param options upload options
|
|
181
|
+
* @param options - upload options
|
|
139
182
|
*/
|
|
140
|
-
function
|
|
183
|
+
function File(options) {
|
|
141
184
|
return Route(Parameter(interfaces_1.ParameterType.FromFile, null, options));
|
|
142
185
|
}
|
|
143
|
-
exports.
|
|
186
|
+
exports.File = File;
|
|
187
|
+
/**
|
|
188
|
+
* Data taken from cvs file that is uploaded. Actions receives parsed data
|
|
189
|
+
*
|
|
190
|
+
* @param options - upload options
|
|
191
|
+
* @param cvsParseOptions - cvs parser options
|
|
192
|
+
* @param schema - optional schema for data validation
|
|
193
|
+
*/
|
|
194
|
+
function CsvFile(options, cvsParseOptions, schema) {
|
|
195
|
+
return Route(Parameter(interfaces_1.ParameterType.FromCSV, schema, {
|
|
196
|
+
uploadOptions: options,
|
|
197
|
+
cvsOptions: cvsParseOptions,
|
|
198
|
+
}));
|
|
199
|
+
}
|
|
200
|
+
exports.CsvFile = CsvFile;
|
|
201
|
+
/**
|
|
202
|
+
* Data taken from cvs file that is uploaded. Actions receives parsed data
|
|
203
|
+
*
|
|
204
|
+
* @param options - upload options
|
|
205
|
+
* @param schema - optional schema for data validation
|
|
206
|
+
*/
|
|
207
|
+
function JsonFile(options, schema) {
|
|
208
|
+
return Route(Parameter(interfaces_1.ParameterType.FromJSONFile, schema, options));
|
|
209
|
+
}
|
|
210
|
+
exports.JsonFile = JsonFile;
|
|
144
211
|
/**
|
|
145
212
|
*
|
|
146
213
|
* Parameter taken from form data (multipart-form)
|
|
147
214
|
*
|
|
148
|
-
* @param options upload options
|
|
215
|
+
* @param options - upload options
|
|
149
216
|
*/
|
|
150
|
-
function Form(schema) {
|
|
151
|
-
return Route(Parameter(interfaces_1.ParameterType.FromForm, schema));
|
|
217
|
+
function Form(schema, options) {
|
|
218
|
+
return Route(Parameter(interfaces_1.ParameterType.FromForm, schema, options));
|
|
152
219
|
}
|
|
153
220
|
exports.Form = Form;
|
|
154
221
|
/**
|
|
155
222
|
*
|
|
156
223
|
* Parameter taken from form data (multipart-form)
|
|
157
224
|
*
|
|
158
|
-
* @param options upload options
|
|
225
|
+
* @param options - upload options
|
|
159
226
|
*/
|
|
160
|
-
function FormField() {
|
|
161
|
-
return Route(Parameter(interfaces_1.ParameterType.FormField,
|
|
227
|
+
function FormField(schema, options) {
|
|
228
|
+
return Route(Parameter(interfaces_1.ParameterType.FormField, schema, options));
|
|
162
229
|
}
|
|
163
230
|
exports.FormField = FormField;
|
|
164
231
|
/**
|
|
@@ -166,19 +233,21 @@ exports.FormField = FormField;
|
|
|
166
233
|
* Shortcut for parameter as autoincrement primary key ( number greater than 0)
|
|
167
234
|
*
|
|
168
235
|
*/
|
|
169
|
-
function
|
|
170
|
-
return Route(Parameter(interfaces_1.ParameterType.FromParams, { type: 'number', minimum: 0 }));
|
|
236
|
+
function PKey(type) {
|
|
237
|
+
return Route(Parameter(type ? type : interfaces_1.ParameterType.FromParams, { type: 'number', minimum: 0 }));
|
|
171
238
|
}
|
|
172
|
-
exports.
|
|
239
|
+
exports.PKey = PKey;
|
|
173
240
|
/**
|
|
174
241
|
*
|
|
175
242
|
* Shortcut for parameter as uuid primary key ( string with 32 length )
|
|
176
243
|
*
|
|
177
244
|
*/
|
|
178
|
-
function
|
|
179
|
-
return Route(Parameter(interfaces_1.ParameterType.FromParams, { type: 'string', minLength:
|
|
245
|
+
function Uuid(type, version) {
|
|
246
|
+
return Route(Parameter(type ? type : interfaces_1.ParameterType.FromParams, { type: 'string', minLength: 36, maxLength: 36, pattern: '^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$' }, {
|
|
247
|
+
version: version !== null && version !== void 0 ? version : interfaces_1.UuidVersion.v4,
|
|
248
|
+
}));
|
|
180
249
|
}
|
|
181
|
-
exports.
|
|
250
|
+
exports.Uuid = Uuid;
|
|
182
251
|
/**
|
|
183
252
|
*
|
|
184
253
|
* Express request
|
|
@@ -201,7 +270,7 @@ exports.Res = Res;
|
|
|
201
270
|
*
|
|
202
271
|
* Parameter taken from model
|
|
203
272
|
*
|
|
204
|
-
* @param options upload options
|
|
273
|
+
* @param options - upload options
|
|
205
274
|
*/
|
|
206
275
|
function Model(model) {
|
|
207
276
|
return Route(Parameter(interfaces_1.ParameterType.FromModel, null, { type: model }));
|
|
@@ -209,9 +278,9 @@ function Model(model) {
|
|
|
209
278
|
exports.Model = Model;
|
|
210
279
|
/**
|
|
211
280
|
*
|
|
212
|
-
* Parameter taken from
|
|
281
|
+
* Parameter taken from coockie
|
|
213
282
|
*
|
|
214
|
-
* @param options upload options
|
|
283
|
+
* @param options - upload options
|
|
215
284
|
*/
|
|
216
285
|
function Cookie() {
|
|
217
286
|
return Route(Parameter(interfaces_1.ParameterType.FromCookie, { type: 'string' }));
|
|
@@ -285,22 +354,10 @@ exports.Get = Get;
|
|
|
285
354
|
*/
|
|
286
355
|
function Post(path) {
|
|
287
356
|
return Route((_, route) => {
|
|
288
|
-
route.Type = interfaces_1.RouteType.
|
|
357
|
+
route.Type = interfaces_1.RouteType.POST;
|
|
289
358
|
route.InternalType = interfaces_1.RouteType.POST;
|
|
290
359
|
route.Path = path;
|
|
291
360
|
});
|
|
292
361
|
}
|
|
293
362
|
exports.Post = Post;
|
|
294
|
-
/**
|
|
295
|
-
*
|
|
296
|
-
* Add schema for object eg. model or dto
|
|
297
|
-
*
|
|
298
|
-
* @param schema schema for object
|
|
299
|
-
*/
|
|
300
|
-
function Schema(schema) {
|
|
301
|
-
return (target) => {
|
|
302
|
-
Reflect.defineMetadata(exports.SCHEMA_SYMBOL, schema, target);
|
|
303
|
-
};
|
|
304
|
-
}
|
|
305
|
-
exports.Schema = Schema;
|
|
306
363
|
//# sourceMappingURL=decorators.js.map
|
package/lib/decorators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../src/decorators.ts"],"names":[],"mappings":";;;AACA,6CAA+K;AAE/K,iEAA8D;AAEjD,QAAA,4BAA4B,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAExE,SAAS,UAAU,CAAC,QAAgJ;IAClK,OAAO,CAAC,MAAW,EAAE,WAA6B,EAAE,iBAA+C,EAAE,EAAE;QACrG,IAAI,QAAQ,GAA0B,OAAO,CAAC,WAAW,CAAC,oCAA4B,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;QACpH,IAAI,CAAC,QAAQ,EAAE;YACb,QAAQ,GAAG;gBACT,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,EAAE;gBACf,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,IAAI,GAAG,EAAkB;aAClC,CAAC;YAEF,OAAO,CAAC,cAAc,CAAC,oCAA4B,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;SAC5F;QAED,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;SAC5D;IACH,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,QAAwJ;IACrK,OAAO,UAAU,CAAC,CAAC,QAA+B,EAAE,MAAW,EAAE,WAAmB,EAAE,iBAA8C,EAAE,EAAE;QACtI,IAAI,KAAK,GAAW,IAAI,CAAC;QACzB,IAAI,WAAW,EAAE;YACf,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;gBACpC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;aAC1C;iBAAM;gBACL,KAAK,GAAG;oBACN,YAAY,EAAE,sBAAS,CAAC,OAAO;oBAC/B,MAAM,EAAE,WAAW;oBACnB,WAAW,EAAE,EAAE;oBACf,UAAU,EAAE,IAAI,GAAG,EAA2B;oBAC9C,IAAI,EAAE,EAAE;oBACR,QAAQ,EAAE,EAAE;oBACZ,IAAI,EAAE,sBAAS,CAAC,OAAO;oBACvB,OAAO,EAAE,IAAI;iBACd,CAAC;aACH;YAED,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;SACzC;QAED,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;SACnE;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS,CAAC,IAAmB,EAAE,MAAY,EAAE,OAAa;IACjE,OAAO,CAAC,CAAwB,EAAE,KAAa,EAAE,MAAW,EAAE,WAAmB,EAAE,KAAa,EAAE,EAAE;QAClG,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC;QAEvG,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,MAAM,EAAE;YACX,QAAQ,KAAK,CAAC,IAAI,EAAE;gBAClB,KAAK,QAAQ;oBACX,OAAO,GAAG,mCAAgB,CAAC,MAAM,CAAC;oBAClC,MAAM;gBACR,KAAK,QAAQ;oBACX,OAAO,GAAG,mCAAgB,CAAC,MAAM,CAAC;oBAClC,MAAM;gBACR,KAAK,SAAS;oBACZ,OAAO,GAAG,mCAAgB,CAAC,OAAO,CAAC;aACtC;SACF;QAED,MAAM,KAAK,GAAoB;YAC7B,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,OAAO;YACzB,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,IAAI;SACX,CAAC;QAEF,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,QAAkC,EAAE,GAAG,OAAc;IAC5E,OAAO,CAAC,MAAW,EAAE,EAAE;QACrB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE,MAAM,CAAC,EAAE;YACvD,OAAO,CAAC,cAAc,CACpB,qBAAqB,EACrB;gBACE,QAAQ;gBACR,OAAO;aACR,EACD,MAAM,CACP,CAAC;SACH;IACH,CAAC,CAAC;AACJ,CAAC;AAbD,4BAaC;AAED,SAAgB,MAAM,CAAC,MAA+B,EAAE,GAAG,OAAc;IACvE,OAAO,KAAK,CAAC,CAAC,UAAiC,EAAE,KAAa,EAAE,CAAM,EAAE,EAAU,EAAE,EAA+B,EAAE,EAAE;QACrH,MAAM,KAAK,GAAG;YACZ,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,MAAM;SACb,CAAC;QAEF,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC5B;aAAM;YACL,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAbD,wBAaC;AAED,SAAgB,UAAU,CAAC,MAAmC,EAAE,GAAG,OAAc;IAC/E,OAAO,KAAK,CAAC,CAAC,UAAiC,EAAE,KAAa,EAAE,CAAM,EAAE,EAAU,EAAE,EAA+B,EAAE,EAAE;QACrH,MAAM,KAAK,GAAG;YACZ,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,MAAM;SACb,CAAC;QAEF,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC/B;aAAM;YACL,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAbD,gCAaC;AAED,SAAgB,QAAQ,CAAC,IAAY;IACnC,OAAO,UAAU,CAAC,CAAC,QAA+B,EAAE,EAAE;QACpD,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC;AAJD,4BAIC;AAED,SAAgB,MAAM;IACpB,OAAO,KAAK,CAAC,SAAS,CAAC,0BAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AAChD,CAAC;AAFD,wBAEC;AAED;;;;GAIG;AACH,SAAgB,KAAK,CAAC,MAAY;IAChC,OAAO,KAAK,CAAC,SAAS,CAAC,0BAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAC3D,CAAC;AAFD,sBAEC;AAED;;;;GAIG;AACH,SAAgB,IAAI,CAAC,MAAY;IAC/B,OAAO,KAAK,CAAC,SAAS,CAAC,0BAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAC1D,CAAC;AAFD,oBAEC;AAED;;;;GAIG;AACH,SAAgB,KAAK,CAAC,MAAY;IAChC,OAAO,KAAK,CAAC,SAAS,CAAC,0BAAa,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAC5D,CAAC;AAFD,sBAEC;AAED,SAAgB,SAAS,CAAC,MAAY;IACpC,OAAO,KAAK,CAAC,SAAS,CAAC,0BAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAC3D,CAAC;AAFD,8BAEC;AAED;;;;;;;GAOG;AACH,SAAgB,MAAM,CAAC,OAAgB,EAAE,MAAY;IACnD,OAAO,KAAK,CAAC,SAAS,CAAC,0BAAa,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AAC9E,CAAC;AAFD,wBAEC;AAED;;;;;GAKG;AACH,SAAgB,IAAI,CAAC,OAAwB;IAC3C,OAAO,KAAK,CAAC,SAAS,CAAC,0BAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACjE,CAAC;AAFD,oBAEC;AAED;;;;;;GAMG;AACH,SAAgB,OAAO,CAAC,OAAwB,EAAE,eAAqB,EAAE,MAAY;IACnF,OAAO,KAAK,CACV,SAAS,CAAC,0BAAa,CAAC,OAAO,EAAE,MAAM,EAAE;QACvC,aAAa,EAAE,OAAO;QACtB,UAAU,EAAE,eAAe;KAC5B,CAAC,CACH,CAAC;AACJ,CAAC;AAPD,0BAOC;AAED;;;;;GAKG;AACH,SAAgB,QAAQ,CAAC,OAAwB,EAAE,MAAY;IAC7D,OAAO,KAAK,CAAC,SAAS,CAAC,0BAAa,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACvE,CAAC;AAFD,4BAEC;AAED;;;;;GAKG;AACH,SAAgB,IAAI,CAAC,MAAY,EAAE,OAAsB;IACvD,OAAO,KAAK,CAAC,SAAS,CAAC,0BAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACnE,CAAC;AAFD,oBAEC;AAED;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,MAAY,EAAE,OAAsB;IAC5D,OAAO,KAAK,CAAC,SAAS,CAAC,0BAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACpE,CAAC;AAFD,8BAEC;AAED;;;;GAIG;AACH,SAAgB,IAAI,CAAC,IAAoB;IACvC,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,0BAAa,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAClG,CAAC;AAFD,oBAEC;AAED;;;;GAIG;AACH,SAAgB,IAAI,CAAC,IAAoB,EAAE,OAAqB;IAC9D,OAAO,KAAK,CACV,SAAS,CACP,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,0BAAa,CAAC,UAAU,EACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,oEAAoE,EAAE,EAC/H;QACE,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,wBAAW,CAAC,EAAE;KACnC,CACF,CACF,CAAC;AACJ,CAAC;AAVD,oBAUC;AAED;;;;GAIG;AACH,SAAgB,GAAG;IACjB,OAAO,KAAK,CAAC,SAAS,CAAC,0BAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AACnD,CAAC;AAFD,kBAEC;AAED;;;;GAIG;AACH,SAAgB,GAAG;IACjB,OAAO,KAAK,CAAC,SAAS,CAAC,0BAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AACnD,CAAC;AAFD,kBAEC;AAED;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,KAAuB;IAC3C,OAAO,KAAK,CAAC,SAAS,CAAC,0BAAa,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC1E,CAAC;AAFD,sBAEC;AAED;;;;;GAKG;AACH,SAAgB,MAAM;IACpB,OAAO,KAAK,CAAC,SAAS,CAAC,0BAAa,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;AACxE,CAAC;AAFD,wBAEC;AAED;;;GAGG;AACH,SAAgB,IAAI,CAAC,IAAa;IAChC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAa,EAAE,EAAE;QAChC,KAAK,CAAC,IAAI,GAAG,sBAAS,CAAC,IAAI,CAAC;QAC5B,KAAK,CAAC,YAAY,GAAG,sBAAS,CAAC,IAAI,CAAC;QACpC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAND,oBAMC;AAED;;;GAGG;AACH,SAAgB,KAAK,CAAC,IAAa;IACjC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAa,EAAE,EAAE;QAChC,KAAK,CAAC,IAAI,GAAG,sBAAS,CAAC,KAAK,CAAC;QAC7B,KAAK,CAAC,YAAY,GAAG,sBAAS,CAAC,KAAK,CAAC;QACrC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAND,sBAMC;AAED;;;;GAIG;AACH,SAAgB,GAAG,CAAC,IAAa;IAC/B,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAa,EAAE,EAAE;QAChC,KAAK,CAAC,IAAI,GAAG,sBAAS,CAAC,MAAM,CAAC;QAC9B,KAAK,CAAC,YAAY,GAAG,sBAAS,CAAC,MAAM,CAAC;QACtC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAND,kBAMC;AAED;;;GAGG;AACH,SAAgB,GAAG,CAAC,IAAa;IAC/B,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAa,EAAE,EAAE;QAChC,KAAK,CAAC,IAAI,GAAG,sBAAS,CAAC,GAAG,CAAC;QAC3B,KAAK,CAAC,YAAY,GAAG,sBAAS,CAAC,GAAG,CAAC;QACnC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAND,kBAMC;AAED;;;GAGG;AACH,SAAgB,GAAG,CAAC,IAAa;IAC/B,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAa,EAAE,EAAE;QAChC,KAAK,CAAC,IAAI,GAAG,sBAAS,CAAC,GAAG,CAAC;QAC3B,KAAK,CAAC,YAAY,GAAG,sBAAS,CAAC,GAAG,CAAC;QACnC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAND,kBAMC;AAED;;;;GAIG;AACH,SAAgB,IAAI,CAAC,IAAa;IAChC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAa,EAAE,EAAE;QAChC,KAAK,CAAC,IAAI,GAAG,sBAAS,CAAC,IAAI,CAAC;QAC5B,KAAK,CAAC,YAAY,GAAG,sBAAS,CAAC,IAAI,CAAC;QACpC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IACpB,CAAC,CAAC,CAAC;AACL,CAAC;AAND,oBAMC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=exceptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../src/exceptions.ts"],"names":[],"mappings":""}
|
package/lib/http.d.ts
ADDED
|
File without changes
|
package/lib/http.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=http.js.map
|
package/lib/http.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/config/http.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.DateTime = void 0;
|
|
13
|
+
const validation_1 = require("@spinajs/validation");
|
|
14
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
15
|
+
const luxon_1 = require("luxon");
|
|
16
|
+
const decorators_1 = require("../decorators");
|
|
17
|
+
const ArgHydrator_1 = require("../route-args/ArgHydrator");
|
|
18
|
+
var DateTime;
|
|
19
|
+
(function (DateTime) {
|
|
20
|
+
class DateFromUnixHydrator extends ArgHydrator_1.ArgHydrator {
|
|
21
|
+
async hydrate(input) {
|
|
22
|
+
return luxon_1.DateTime.fromSeconds(lodash_1.default.isString(input) ? Number(input) : input);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
class DateFromIsoHydrator extends ArgHydrator_1.ArgHydrator {
|
|
26
|
+
async hydrate(input) {
|
|
27
|
+
return luxon_1.DateTime.fromISO(input);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
class DateFromHttpHydrator extends ArgHydrator_1.ArgHydrator {
|
|
31
|
+
async hydrate(input) {
|
|
32
|
+
return luxon_1.DateTime.fromHTTP(input.startsWith('Date:') ? input.substring(5).trim() : input.trim());
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
let FromUnix = class FromUnix {
|
|
36
|
+
};
|
|
37
|
+
FromUnix = __decorate([
|
|
38
|
+
(0, validation_1.Schema)({
|
|
39
|
+
type: 'number',
|
|
40
|
+
minimum: 0,
|
|
41
|
+
maximum: 2147483647,
|
|
42
|
+
}),
|
|
43
|
+
(0, decorators_1.Hydrator)(DateFromUnixHydrator)
|
|
44
|
+
], FromUnix);
|
|
45
|
+
DateTime.FromUnix = FromUnix;
|
|
46
|
+
let FromHTTP = class FromHTTP {
|
|
47
|
+
};
|
|
48
|
+
FromHTTP = __decorate([
|
|
49
|
+
(0, decorators_1.Hydrator)(DateFromHttpHydrator)
|
|
50
|
+
], FromHTTP);
|
|
51
|
+
DateTime.FromHTTP = FromHTTP;
|
|
52
|
+
let FromISO = class FromISO {
|
|
53
|
+
};
|
|
54
|
+
FromISO = __decorate([
|
|
55
|
+
(0, validation_1.Schema)({
|
|
56
|
+
type: 'string',
|
|
57
|
+
format: 'iso-date-time',
|
|
58
|
+
}),
|
|
59
|
+
(0, decorators_1.Hydrator)(DateFromIsoHydrator)
|
|
60
|
+
], FromISO);
|
|
61
|
+
DateTime.FromISO = FromISO;
|
|
62
|
+
})(DateTime = exports.DateTime || (exports.DateTime = {}));
|
|
63
|
+
//# sourceMappingURL=datetime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"datetime.js","sourceRoot":"","sources":["../../src/hydrators/datetime.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA6C;AAC7C,oDAAuB;AACvB,iCAA8C;AAC9C,8CAAyC;AACzC,2DAAwD;AAExD,IAAiB,QAAQ,CAoCxB;AApCD,WAAiB,QAAQ;IACvB,MAAM,oBAAqB,SAAQ,yBAAW;QACrC,KAAK,CAAC,OAAO,CAAC,KAAU;YAC7B,OAAO,gBAAS,CAAC,WAAW,CAAC,gBAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1E,CAAC;KACF;IAED,MAAM,mBAAoB,SAAQ,yBAAW;QACpC,KAAK,CAAC,OAAO,CAAC,KAAU;YAC7B,OAAO,gBAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;KACF;IAED,MAAM,oBAAqB,SAAQ,yBAAW;QACrC,KAAK,CAAC,OAAO,CAAC,KAAU;YAC7B,OAAO,gBAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAClG,CAAC;KACF;IAQD,IAAa,QAAQ,GAArB,MAAa,QAAQ;KAAG,CAAA;IAAX,QAAQ;QANpB,IAAA,mBAAM,EAAC;YACN,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,UAAU;SACpB,CAAC;QACD,IAAA,qBAAQ,EAAC,oBAAoB,CAAC;OAClB,QAAQ,CAAG;IAAX,iBAAQ,WAAG,CAAA;IAGxB,IAAa,QAAQ,GAArB,MAAa,QAAQ;KAAG,CAAA;IAAX,QAAQ;QADpB,IAAA,qBAAQ,EAAC,oBAAoB,CAAC;OAClB,QAAQ,CAAG;IAAX,iBAAQ,WAAG,CAAA;IAOxB,IAAa,OAAO,GAApB,MAAa,OAAO;KAAG,CAAA;IAAV,OAAO;QALnB,IAAA,mBAAM,EAAC;YACN,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,eAAe;SACxB,CAAC;QACD,IAAA,qBAAQ,EAAC,mBAAmB,CAAC;OACjB,OAAO,CAAG;IAAV,gBAAO,UAAG,CAAA;AACzB,CAAC,EApCgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAoCxB"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -1,20 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
8
12
|
}));
|
|
9
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
-
for (var p in m) if (p !== "default" && !
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
15
|
};
|
|
12
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
17
|
__exportStar(require("./interfaces"), exports);
|
|
14
18
|
__exportStar(require("./response-methods"), exports);
|
|
19
|
+
//export * from './hydrators/datetime';
|
|
15
20
|
__exportStar(require("./decorators"), exports);
|
|
16
21
|
__exportStar(require("./responses"), exports);
|
|
22
|
+
__exportStar(require("./route-args"), exports);
|
|
17
23
|
__exportStar(require("./controllers"), exports);
|
|
18
24
|
__exportStar(require("./server"), exports);
|
|
19
|
-
__exportStar(require("./dto"), exports);
|
|
20
25
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,qDAAmC;AACnC,uCAAuC;AACvC,+CAA6B;AAC7B,8CAA4B;AAC5B,+CAA6B;AAC7B,gDAA8B;AAC9B,2CAAyB"}
|
package/lib/interfaces.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as express from 'express';
|
|
2
2
|
import { Constructor } from '@spinajs/di';
|
|
3
|
+
import { Configuration } from '@spinajs/configuration';
|
|
3
4
|
/**
|
|
4
5
|
* Accept header enum
|
|
5
6
|
*/
|
|
@@ -142,6 +143,12 @@ export declare enum RouteType {
|
|
|
142
143
|
FILE = "file",
|
|
143
144
|
UNKNOWN = "unknown"
|
|
144
145
|
}
|
|
146
|
+
export declare enum UuidVersion {
|
|
147
|
+
v1 = 0,
|
|
148
|
+
v3 = 1,
|
|
149
|
+
v4 = 2,
|
|
150
|
+
v5 = 3
|
|
151
|
+
}
|
|
145
152
|
/**
|
|
146
153
|
* Avaible route parameters type
|
|
147
154
|
*/
|
|
@@ -149,44 +156,59 @@ export declare enum ParameterType {
|
|
|
149
156
|
/**
|
|
150
157
|
* Parameter is injected from DI container & resolved
|
|
151
158
|
*/
|
|
152
|
-
FromDi =
|
|
159
|
+
FromDi = "FromDi",
|
|
153
160
|
/**
|
|
154
161
|
* Parameter value is taken from query string eg. `?name=flavio`
|
|
155
162
|
*/
|
|
156
|
-
FromQuery =
|
|
163
|
+
FromQuery = "FromQuery",
|
|
157
164
|
/**
|
|
158
165
|
* From message body, eg. POST json object
|
|
159
166
|
*/
|
|
160
|
-
FromBody =
|
|
167
|
+
FromBody = "FromBody",
|
|
161
168
|
/**
|
|
162
169
|
* From url params eg: `/:id`
|
|
163
170
|
*/
|
|
164
|
-
FromParams =
|
|
171
|
+
FromParams = "FromParams",
|
|
165
172
|
/**
|
|
166
173
|
* From form file field
|
|
167
174
|
*/
|
|
168
|
-
FromFile =
|
|
175
|
+
FromFile = "FromFile",
|
|
169
176
|
/**
|
|
170
177
|
* From form
|
|
171
178
|
*/
|
|
172
|
-
FromForm =
|
|
179
|
+
FromForm = "FromForm",
|
|
180
|
+
/**
|
|
181
|
+
* From cvs file
|
|
182
|
+
*/
|
|
183
|
+
FromCSV = "FromCSV",
|
|
184
|
+
/**
|
|
185
|
+
* From JSON file
|
|
186
|
+
*/
|
|
187
|
+
FromJSONFile = "FromJSONFile",
|
|
173
188
|
/**
|
|
174
189
|
* From form field
|
|
175
190
|
*/
|
|
176
|
-
FormField =
|
|
191
|
+
FormField = "FromFormField",
|
|
177
192
|
/**
|
|
178
193
|
* From model object
|
|
179
194
|
*/
|
|
180
|
-
FromModel =
|
|
195
|
+
FromModel = "FromModel",
|
|
181
196
|
/**
|
|
182
197
|
* Data from coockie
|
|
183
198
|
*/
|
|
184
|
-
FromCookie =
|
|
199
|
+
FromCookie = "FromCookie",
|
|
200
|
+
/**
|
|
201
|
+
* From http header
|
|
202
|
+
*/
|
|
203
|
+
FromHeader = "FromHeader",
|
|
185
204
|
/**
|
|
186
205
|
* Req from express
|
|
187
206
|
*/
|
|
188
|
-
Req =
|
|
189
|
-
Res =
|
|
207
|
+
Req = "Req",
|
|
208
|
+
Res = "Res"
|
|
209
|
+
}
|
|
210
|
+
export interface IFormOptions {
|
|
211
|
+
multiples: boolean;
|
|
190
212
|
}
|
|
191
213
|
export interface IFormOptions {
|
|
192
214
|
/**
|
|
@@ -210,15 +232,15 @@ export interface IUploadOptions {
|
|
|
210
232
|
/**
|
|
211
233
|
* default os.tmpdir(); the directory for placing file uploads in. You can move them later by using fs.rename()
|
|
212
234
|
*/
|
|
213
|
-
uploadDir?: string | (() => string);
|
|
235
|
+
uploadDir?: string | ((cfg: Configuration) => string);
|
|
214
236
|
/**
|
|
215
237
|
* default false; when you call the .parse method, the files argument (of the callback) will contain arrays of files for inputs which submit multiple files using the HTML5 multiple attribute. Also, the fields argument will contain arrays of values for fields that have names ending with '[]'.
|
|
216
238
|
*/
|
|
217
239
|
multiples?: boolean;
|
|
218
240
|
enabledPlugins?: string[];
|
|
219
241
|
/**
|
|
220
|
-
|
|
221
|
-
|
|
242
|
+
* default 200 * 1024 * 1024 (200mb); limit the size of uploaded file.
|
|
243
|
+
*/
|
|
222
244
|
maxFileSize?: number;
|
|
223
245
|
/**
|
|
224
246
|
* default false; to include the extensions of the original files or not
|
|
@@ -254,6 +276,14 @@ export interface IRouteParameter {
|
|
|
254
276
|
*/
|
|
255
277
|
Name: string;
|
|
256
278
|
}
|
|
279
|
+
/**
|
|
280
|
+
* Route action call spefici data. Used to pass data / arguments when parsing
|
|
281
|
+
* action parameters for specific call. Eg. to parse form data, and extract it
|
|
282
|
+
* as different arguments.
|
|
283
|
+
*/
|
|
284
|
+
export interface IRouteCall {
|
|
285
|
+
Payload: any;
|
|
286
|
+
}
|
|
257
287
|
export interface IRoute {
|
|
258
288
|
/**
|
|
259
289
|
* url path eg. /foo/bar/:id
|
|
@@ -384,11 +414,11 @@ export interface IControllerDescriptor {
|
|
|
384
414
|
* to easily transform data for some client
|
|
385
415
|
* eg. plain array to format that datatables.net can easily read
|
|
386
416
|
*/
|
|
387
|
-
export declare abstract class DataTransformer<T, U> {
|
|
417
|
+
export declare abstract class DataTransformer<T = any, U = any> {
|
|
388
418
|
/**
|
|
389
419
|
* Transforms data from one format to another
|
|
390
420
|
*
|
|
391
|
-
* @param data input data
|
|
421
|
+
* @param data - input data
|
|
392
422
|
*/
|
|
393
423
|
abstract transform(data: T, request: express.Request): U;
|
|
394
424
|
abstract get Type(): string;
|
package/lib/interfaces.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DataTransformer = exports.BasePolicy = exports.BaseMiddleware = exports.ParameterType = exports.RouteType = exports.HTTP_STATUS_CODE = exports.HttpAcceptHeaders = void 0;
|
|
3
|
+
exports.DataTransformer = exports.BasePolicy = exports.BaseMiddleware = exports.ParameterType = exports.UuidVersion = exports.RouteType = exports.HTTP_STATUS_CODE = exports.HttpAcceptHeaders = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* Accept header enum
|
|
6
6
|
*/
|
|
@@ -122,6 +122,13 @@ var RouteType;
|
|
|
122
122
|
RouteType["FILE"] = "file";
|
|
123
123
|
RouteType["UNKNOWN"] = "unknown";
|
|
124
124
|
})(RouteType = exports.RouteType || (exports.RouteType = {}));
|
|
125
|
+
var UuidVersion;
|
|
126
|
+
(function (UuidVersion) {
|
|
127
|
+
UuidVersion[UuidVersion["v1"] = 0] = "v1";
|
|
128
|
+
UuidVersion[UuidVersion["v3"] = 1] = "v3";
|
|
129
|
+
UuidVersion[UuidVersion["v4"] = 2] = "v4";
|
|
130
|
+
UuidVersion[UuidVersion["v5"] = 3] = "v5";
|
|
131
|
+
})(UuidVersion = exports.UuidVersion || (exports.UuidVersion = {}));
|
|
125
132
|
/**
|
|
126
133
|
* Avaible route parameters type
|
|
127
134
|
*/
|
|
@@ -130,45 +137,57 @@ var ParameterType;
|
|
|
130
137
|
/**
|
|
131
138
|
* Parameter is injected from DI container & resolved
|
|
132
139
|
*/
|
|
133
|
-
ParameterType[
|
|
140
|
+
ParameterType["FromDi"] = "FromDi";
|
|
134
141
|
/**
|
|
135
142
|
* Parameter value is taken from query string eg. `?name=flavio`
|
|
136
143
|
*/
|
|
137
|
-
ParameterType[
|
|
144
|
+
ParameterType["FromQuery"] = "FromQuery";
|
|
138
145
|
/**
|
|
139
146
|
* From message body, eg. POST json object
|
|
140
147
|
*/
|
|
141
|
-
ParameterType[
|
|
148
|
+
ParameterType["FromBody"] = "FromBody";
|
|
142
149
|
/**
|
|
143
150
|
* From url params eg: `/:id`
|
|
144
151
|
*/
|
|
145
|
-
ParameterType[
|
|
152
|
+
ParameterType["FromParams"] = "FromParams";
|
|
146
153
|
/**
|
|
147
154
|
* From form file field
|
|
148
155
|
*/
|
|
149
|
-
ParameterType[
|
|
156
|
+
ParameterType["FromFile"] = "FromFile";
|
|
150
157
|
/**
|
|
151
158
|
* From form
|
|
152
159
|
*/
|
|
153
|
-
ParameterType[
|
|
160
|
+
ParameterType["FromForm"] = "FromForm";
|
|
161
|
+
/**
|
|
162
|
+
* From cvs file
|
|
163
|
+
*/
|
|
164
|
+
ParameterType["FromCSV"] = "FromCSV";
|
|
165
|
+
/**
|
|
166
|
+
* From JSON file
|
|
167
|
+
*/
|
|
168
|
+
ParameterType["FromJSONFile"] = "FromJSONFile";
|
|
154
169
|
/**
|
|
155
170
|
* From form field
|
|
156
171
|
*/
|
|
157
|
-
ParameterType[
|
|
172
|
+
ParameterType["FormField"] = "FromFormField";
|
|
158
173
|
/**
|
|
159
174
|
* From model object
|
|
160
175
|
*/
|
|
161
|
-
ParameterType[
|
|
176
|
+
ParameterType["FromModel"] = "FromModel";
|
|
162
177
|
/**
|
|
163
178
|
* Data from coockie
|
|
164
179
|
*/
|
|
165
|
-
ParameterType[
|
|
180
|
+
ParameterType["FromCookie"] = "FromCookie";
|
|
181
|
+
/**
|
|
182
|
+
* From http header
|
|
183
|
+
*/
|
|
184
|
+
ParameterType["FromHeader"] = "FromHeader";
|
|
166
185
|
/**
|
|
167
186
|
* Req from express
|
|
168
187
|
*/
|
|
169
|
-
ParameterType[
|
|
188
|
+
ParameterType["Req"] = "Req";
|
|
170
189
|
// Res from express
|
|
171
|
-
ParameterType[
|
|
190
|
+
ParameterType["Res"] = "Res";
|
|
172
191
|
})(ParameterType = exports.ParameterType || (exports.ParameterType = {}));
|
|
173
192
|
/**
|
|
174
193
|
* Middlewares are classes that can change request object or perform specific task before & after route execution
|