@spinajs/http 2.0.180 → 2.0.182

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.
Files changed (247) hide show
  1. package/lib/cjs/bootstrap.d.ts +4 -4
  2. package/lib/cjs/bootstrap.js +29 -29
  3. package/lib/cjs/bootstrap.js.map +1 -1
  4. package/lib/cjs/config/http.d.ts +58 -58
  5. package/lib/cjs/config/http.js +86 -86
  6. package/lib/cjs/controllers.d.ts +48 -48
  7. package/lib/cjs/controllers.d.ts.map +1 -1
  8. package/lib/cjs/controllers.js +307 -312
  9. package/lib/cjs/controllers.js.map +1 -1
  10. package/lib/cjs/decorators.d.ts +183 -183
  11. package/lib/cjs/decorators.js +441 -441
  12. package/lib/cjs/hydrators/DateTimeHydrator.d.ts +5 -5
  13. package/lib/cjs/hydrators/DateTimeHydrator.js +36 -36
  14. package/lib/cjs/hydrators/DateTimeHydrator.js.map +1 -1
  15. package/lib/cjs/index.d.ts +9 -9
  16. package/lib/cjs/index.js +25 -25
  17. package/lib/cjs/interfaces.d.ts +569 -550
  18. package/lib/cjs/interfaces.d.ts.map +1 -1
  19. package/lib/cjs/interfaces.js +266 -259
  20. package/lib/cjs/interfaces.js.map +1 -1
  21. package/lib/cjs/middlewares/RealIp.d.ts +8 -8
  22. package/lib/cjs/middlewares/RealIp.js +34 -34
  23. package/lib/cjs/middlewares/RealIp.js.map +1 -1
  24. package/lib/cjs/middlewares/RequestId.d.ts +8 -8
  25. package/lib/cjs/middlewares/RequestId.js +35 -35
  26. package/lib/cjs/middlewares/RequestId.js.map +1 -1
  27. package/lib/cjs/middlewares/ResponseTime.d.ts +10 -10
  28. package/lib/cjs/middlewares/ResponseTime.js +41 -41
  29. package/lib/cjs/middlewares/ResponseTime.js.map +1 -1
  30. package/lib/cjs/response-methods/badRequest.d.ts +12 -12
  31. package/lib/cjs/response-methods/badRequest.js +20 -20
  32. package/lib/cjs/response-methods/conflict.d.ts +12 -12
  33. package/lib/cjs/response-methods/conflict.js +20 -20
  34. package/lib/cjs/response-methods/cookieResponse.d.ts +19 -19
  35. package/lib/cjs/response-methods/cookieResponse.js +73 -73
  36. package/lib/cjs/response-methods/created.d.ts +12 -12
  37. package/lib/cjs/response-methods/created.js +19 -19
  38. package/lib/cjs/response-methods/errorResponse.d.ts +7 -7
  39. package/lib/cjs/response-methods/errorResponse.js +24 -24
  40. package/lib/cjs/response-methods/file.d.ts +26 -26
  41. package/lib/cjs/response-methods/file.d.ts.map +1 -1
  42. package/lib/cjs/response-methods/file.js +112 -133
  43. package/lib/cjs/response-methods/file.js.map +1 -1
  44. package/lib/cjs/response-methods/forbidden.d.ts +12 -12
  45. package/lib/cjs/response-methods/forbidden.js +20 -20
  46. package/lib/cjs/response-methods/index.d.ts +13 -13
  47. package/lib/cjs/response-methods/index.js +29 -29
  48. package/lib/cjs/response-methods/noContent.d.ts +12 -12
  49. package/lib/cjs/response-methods/noContent.js +20 -20
  50. package/lib/cjs/response-methods/notAcceptable.d.ts +13 -13
  51. package/lib/cjs/response-methods/notAcceptable.js +21 -21
  52. package/lib/cjs/response-methods/notAllowed.d.ts +12 -12
  53. package/lib/cjs/response-methods/notAllowed.js +20 -20
  54. package/lib/cjs/response-methods/notFound.d.ts +12 -12
  55. package/lib/cjs/response-methods/notFound.js +20 -20
  56. package/lib/cjs/response-methods/ok.d.ts +12 -12
  57. package/lib/cjs/response-methods/ok.js +19 -19
  58. package/lib/cjs/response-methods/redirect.d.ts +12 -12
  59. package/lib/cjs/response-methods/redirect.js +19 -19
  60. package/lib/cjs/response-methods/serverError.d.ts +12 -12
  61. package/lib/cjs/response-methods/serverError.js +20 -20
  62. package/lib/cjs/response-methods/template.d.ts +15 -15
  63. package/lib/cjs/response-methods/template.js +36 -36
  64. package/lib/cjs/response-methods/unauthorized.d.ts +12 -12
  65. package/lib/cjs/response-methods/unauthorized.js +20 -20
  66. package/lib/cjs/response-methods/validationError.d.ts +12 -12
  67. package/lib/cjs/response-methods/validationError.js +20 -20
  68. package/lib/cjs/responses.d.ts +34 -34
  69. package/lib/cjs/responses.js +173 -173
  70. package/lib/cjs/route-args/ArgAsRequest.d.ts +11 -11
  71. package/lib/cjs/route-args/ArgAsRequest.js +24 -24
  72. package/lib/cjs/route-args/ArgAsRequest.js.map +1 -1
  73. package/lib/cjs/route-args/ArgAsResponse.d.ts +10 -10
  74. package/lib/cjs/route-args/ArgAsResponse.js +24 -24
  75. package/lib/cjs/route-args/ArgAsResponse.js.map +1 -1
  76. package/lib/cjs/route-args/ArgHydrator.d.ts +4 -4
  77. package/lib/cjs/route-args/ArgHydrator.js +6 -6
  78. package/lib/cjs/route-args/FromBody.d.ts +10 -10
  79. package/lib/cjs/route-args/FromBody.js +26 -26
  80. package/lib/cjs/route-args/FromBody.js.map +1 -1
  81. package/lib/cjs/route-args/FromCookie.d.ts +13 -13
  82. package/lib/cjs/route-args/FromCookie.js +72 -72
  83. package/lib/cjs/route-args/FromCookie.js.map +1 -1
  84. package/lib/cjs/route-args/FromDi.d.ts +13 -13
  85. package/lib/cjs/route-args/FromDi.js +35 -35
  86. package/lib/cjs/route-args/FromDi.js.map +1 -1
  87. package/lib/cjs/route-args/FromForm.d.ts +66 -92
  88. package/lib/cjs/route-args/FromForm.d.ts.map +1 -1
  89. package/lib/cjs/route-args/FromForm.js +214 -291
  90. package/lib/cjs/route-args/FromForm.js.map +1 -1
  91. package/lib/cjs/route-args/FromHeaderArg.d.ts +10 -10
  92. package/lib/cjs/route-args/FromHeaderArg.js +25 -25
  93. package/lib/cjs/route-args/FromHeaderArg.js.map +1 -1
  94. package/lib/cjs/route-args/FromParams.d.ts +10 -10
  95. package/lib/cjs/route-args/FromParams.js +27 -27
  96. package/lib/cjs/route-args/FromParams.js.map +1 -1
  97. package/lib/cjs/route-args/FromQuery.d.ts +10 -10
  98. package/lib/cjs/route-args/FromQuery.js +27 -27
  99. package/lib/cjs/route-args/FromQuery.js.map +1 -1
  100. package/lib/cjs/route-args/RequestFields.d.ts +40 -40
  101. package/lib/cjs/route-args/RequestFields.js +110 -110
  102. package/lib/cjs/route-args/RequestFields.js.map +1 -1
  103. package/lib/cjs/route-args/RouteArgs.d.ts +22 -22
  104. package/lib/cjs/route-args/RouteArgs.js +114 -114
  105. package/lib/cjs/route-args/RouteArgs.js.map +1 -1
  106. package/lib/cjs/route-args/index.d.ts +12 -12
  107. package/lib/cjs/route-args/index.js +28 -28
  108. package/lib/cjs/schemas/RouteArgsSchemas.d.ts +36 -36
  109. package/lib/cjs/schemas/RouteArgsSchemas.js +26 -26
  110. package/lib/cjs/server.d.ts +50 -50
  111. package/lib/cjs/server.js +272 -272
  112. package/lib/cjs/server.js.map +1 -1
  113. package/lib/cjs/transformers/PureTransformer.d.ts +9 -9
  114. package/lib/cjs/transformers/PureTransformer.js +27 -27
  115. package/lib/cjs/transformers/PureTransformer.js.map +1 -1
  116. package/lib/cjs/transformers/index.d.ts +1 -1
  117. package/lib/cjs/transformers/index.js +17 -17
  118. package/lib/cjs/uploaders/ImmediateFileUploader.d.ts +19 -0
  119. package/lib/cjs/uploaders/ImmediateFileUploader.d.ts.map +1 -0
  120. package/lib/cjs/uploaders/ImmediateFileUploader.js +69 -0
  121. package/lib/cjs/uploaders/ImmediateFileUploader.js.map +1 -0
  122. package/lib/mjs/bootstrap.d.ts +4 -4
  123. package/lib/mjs/bootstrap.js +26 -26
  124. package/lib/mjs/bootstrap.js.map +1 -1
  125. package/lib/mjs/config/http.d.ts +58 -58
  126. package/lib/mjs/config/http.js +81 -81
  127. package/lib/mjs/controllers.d.ts +48 -48
  128. package/lib/mjs/controllers.d.ts.map +1 -1
  129. package/lib/mjs/controllers.js +276 -281
  130. package/lib/mjs/controllers.js.map +1 -1
  131. package/lib/mjs/decorators.d.ts +183 -183
  132. package/lib/mjs/decorators.js +404 -404
  133. package/lib/mjs/exceptions.d.ts +1 -1
  134. package/lib/mjs/exceptions.js +1 -1
  135. package/lib/mjs/hydrators/DateTimeHydrator.d.ts +5 -5
  136. package/lib/mjs/hydrators/DateTimeHydrator.js +30 -30
  137. package/lib/mjs/hydrators/DateTimeHydrator.js.map +1 -1
  138. package/lib/mjs/index.d.ts +9 -9
  139. package/lib/mjs/index.js +9 -9
  140. package/lib/mjs/interfaces.d.ts +569 -550
  141. package/lib/mjs/interfaces.d.ts.map +1 -1
  142. package/lib/mjs/interfaces.js +257 -251
  143. package/lib/mjs/interfaces.js.map +1 -1
  144. package/lib/mjs/middlewares/RealIp.d.ts +8 -8
  145. package/lib/mjs/middlewares/RealIp.js +31 -31
  146. package/lib/mjs/middlewares/RealIp.js.map +1 -1
  147. package/lib/mjs/middlewares/RequestId.d.ts +8 -8
  148. package/lib/mjs/middlewares/RequestId.js +32 -32
  149. package/lib/mjs/middlewares/RequestId.js.map +1 -1
  150. package/lib/mjs/middlewares/ResponseTime.d.ts +10 -10
  151. package/lib/mjs/middlewares/ResponseTime.js +38 -38
  152. package/lib/mjs/middlewares/ResponseTime.js.map +1 -1
  153. package/lib/mjs/response-methods/badRequest.d.ts +12 -12
  154. package/lib/mjs/response-methods/badRequest.js +16 -16
  155. package/lib/mjs/response-methods/conflict.d.ts +12 -12
  156. package/lib/mjs/response-methods/conflict.js +16 -16
  157. package/lib/mjs/response-methods/cookieResponse.d.ts +19 -19
  158. package/lib/mjs/response-methods/cookieResponse.js +46 -46
  159. package/lib/mjs/response-methods/created.d.ts +12 -12
  160. package/lib/mjs/response-methods/created.js +15 -15
  161. package/lib/mjs/response-methods/errorResponse.d.ts +7 -7
  162. package/lib/mjs/response-methods/errorResponse.js +17 -17
  163. package/lib/mjs/response-methods/file.d.ts +26 -26
  164. package/lib/mjs/response-methods/file.d.ts.map +1 -1
  165. package/lib/mjs/response-methods/file.js +103 -124
  166. package/lib/mjs/response-methods/file.js.map +1 -1
  167. package/lib/mjs/response-methods/forbidden.d.ts +12 -12
  168. package/lib/mjs/response-methods/forbidden.js +16 -16
  169. package/lib/mjs/response-methods/index.d.ts +13 -13
  170. package/lib/mjs/response-methods/index.js +13 -13
  171. package/lib/mjs/response-methods/noContent.d.ts +12 -12
  172. package/lib/mjs/response-methods/noContent.js +16 -16
  173. package/lib/mjs/response-methods/notAcceptable.d.ts +13 -13
  174. package/lib/mjs/response-methods/notAcceptable.js +17 -17
  175. package/lib/mjs/response-methods/notAllowed.d.ts +12 -12
  176. package/lib/mjs/response-methods/notAllowed.js +16 -16
  177. package/lib/mjs/response-methods/notFound.d.ts +12 -12
  178. package/lib/mjs/response-methods/notFound.js +16 -16
  179. package/lib/mjs/response-methods/ok.d.ts +12 -12
  180. package/lib/mjs/response-methods/ok.js +15 -15
  181. package/lib/mjs/response-methods/redirect.d.ts +12 -12
  182. package/lib/mjs/response-methods/redirect.js +15 -15
  183. package/lib/mjs/response-methods/serverError.d.ts +12 -12
  184. package/lib/mjs/response-methods/serverError.js +16 -16
  185. package/lib/mjs/response-methods/template.d.ts +15 -15
  186. package/lib/mjs/response-methods/template.js +29 -29
  187. package/lib/mjs/response-methods/unauthorized.d.ts +12 -12
  188. package/lib/mjs/response-methods/unauthorized.js +16 -16
  189. package/lib/mjs/response-methods/validationError.d.ts +12 -12
  190. package/lib/mjs/response-methods/validationError.js +16 -16
  191. package/lib/mjs/responses.d.ts +34 -34
  192. package/lib/mjs/responses.js +143 -143
  193. package/lib/mjs/route-args/ArgAsRequest.d.ts +11 -11
  194. package/lib/mjs/route-args/ArgAsRequest.js +21 -21
  195. package/lib/mjs/route-args/ArgAsRequest.js.map +1 -1
  196. package/lib/mjs/route-args/ArgAsResponse.d.ts +10 -10
  197. package/lib/mjs/route-args/ArgAsResponse.js +21 -21
  198. package/lib/mjs/route-args/ArgAsResponse.js.map +1 -1
  199. package/lib/mjs/route-args/ArgHydrator.d.ts +4 -4
  200. package/lib/mjs/route-args/ArgHydrator.js +2 -2
  201. package/lib/mjs/route-args/FromBody.d.ts +10 -10
  202. package/lib/mjs/route-args/FromBody.js +23 -23
  203. package/lib/mjs/route-args/FromBody.js.map +1 -1
  204. package/lib/mjs/route-args/FromCookie.d.ts +13 -13
  205. package/lib/mjs/route-args/FromCookie.js +46 -46
  206. package/lib/mjs/route-args/FromCookie.js.map +1 -1
  207. package/lib/mjs/route-args/FromDi.d.ts +13 -13
  208. package/lib/mjs/route-args/FromDi.js +32 -32
  209. package/lib/mjs/route-args/FromDi.js.map +1 -1
  210. package/lib/mjs/route-args/FromForm.d.ts +66 -92
  211. package/lib/mjs/route-args/FromForm.d.ts.map +1 -1
  212. package/lib/mjs/route-args/FromForm.js +210 -284
  213. package/lib/mjs/route-args/FromForm.js.map +1 -1
  214. package/lib/mjs/route-args/FromHeaderArg.d.ts +10 -10
  215. package/lib/mjs/route-args/FromHeaderArg.js +22 -22
  216. package/lib/mjs/route-args/FromHeaderArg.js.map +1 -1
  217. package/lib/mjs/route-args/FromParams.d.ts +10 -10
  218. package/lib/mjs/route-args/FromParams.js +24 -24
  219. package/lib/mjs/route-args/FromParams.js.map +1 -1
  220. package/lib/mjs/route-args/FromQuery.d.ts +10 -10
  221. package/lib/mjs/route-args/FromQuery.js +24 -24
  222. package/lib/mjs/route-args/FromQuery.js.map +1 -1
  223. package/lib/mjs/route-args/RequestFields.d.ts +40 -40
  224. package/lib/mjs/route-args/RequestFields.js +107 -107
  225. package/lib/mjs/route-args/RequestFields.js.map +1 -1
  226. package/lib/mjs/route-args/RouteArgs.d.ts +22 -22
  227. package/lib/mjs/route-args/RouteArgs.js +107 -107
  228. package/lib/mjs/route-args/RouteArgs.js.map +1 -1
  229. package/lib/mjs/route-args/index.d.ts +12 -12
  230. package/lib/mjs/route-args/index.js +12 -12
  231. package/lib/mjs/schemas/RouteArgsSchemas.d.ts +36 -36
  232. package/lib/mjs/schemas/RouteArgsSchemas.js +23 -23
  233. package/lib/mjs/server.d.ts +50 -50
  234. package/lib/mjs/server.js +266 -266
  235. package/lib/mjs/server.js.map +1 -1
  236. package/lib/mjs/transformers/PureTransformer.d.ts +9 -9
  237. package/lib/mjs/transformers/PureTransformer.js +24 -24
  238. package/lib/mjs/transformers/PureTransformer.js.map +1 -1
  239. package/lib/mjs/transformers/index.d.ts +1 -1
  240. package/lib/mjs/transformers/index.js +1 -1
  241. package/lib/mjs/uploaders/ImmediateFileUploader.d.ts +19 -0
  242. package/lib/mjs/uploaders/ImmediateFileUploader.d.ts.map +1 -0
  243. package/lib/mjs/uploaders/ImmediateFileUploader.js +66 -0
  244. package/lib/mjs/uploaders/ImmediateFileUploader.js.map +1 -0
  245. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  246. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  247. package/package.json +17 -17
@@ -1,108 +1,108 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { DI, Autoinject, TypedArray, isClass } from '@spinajs/di';
11
- import _ from 'lodash';
12
- import { DataValidator } from '@spinajs/validation';
13
- export class RouteArgs {
14
- async tryHydrateParam(arg, routeParameter, route) {
15
- let result = null;
16
- let schema = null;
17
- let hydrator = null;
18
- // first validate route parameter / body params etc
19
- if (route.Schema && route.Schema[routeParameter.Name]) {
20
- schema = route.Schema[routeParameter.Name];
21
- }
22
- else if (routeParameter.Schema) {
23
- schema = routeParameter.Schema;
24
- }
25
- else if (routeParameter.RouteParamSchema) {
26
- schema = routeParameter.RouteParamSchema;
27
- }
28
- else {
29
- schema = this.Validator.extractSchema(routeParameter.RuntimeType);
30
- if (!schema && routeParameter.RuntimeType.prototype) {
31
- schema = this.Validator.extractSchema(routeParameter.RuntimeType.prototype);
32
- }
33
- }
34
- if (this.isRuntimeType(routeParameter)) {
35
- result = this.fromRuntimeType(routeParameter, arg);
36
- if (schema) {
37
- this.Validator.validate(schema, result);
38
- }
39
- }
40
- else {
41
- hydrator = this.getHydrator(routeParameter);
42
- result = hydrator ? arg : this.tryExtractObject(arg, routeParameter);
43
- if (schema) {
44
- this.Validator.validate(schema, arg);
45
- }
46
- if (hydrator) {
47
- result = await this.tryHydrateObject(result, routeParameter, hydrator);
48
- }
49
- }
50
- return result;
51
- }
52
- async tryHydrateObject(arg, route, hydrator) {
53
- const hInstance = await DI.resolve(hydrator.hydrator, hydrator.options);
54
- return await hInstance.hydrate(arg, route);
55
- }
56
- getHydrator(param) {
57
- let hydrator = null;
58
- if (param.RuntimeType instanceof TypedArray) {
59
- hydrator = Reflect.getMetadata('custom:arg_hydrator', param.RuntimeType.Type);
60
- }
61
- else {
62
- hydrator = Reflect.getMetadata('custom:arg_hydrator', param.RuntimeType);
63
- }
64
- return hydrator;
65
- }
66
- tryExtractObject(arg, param) {
67
- if (isClass(param.RuntimeType)) {
68
- return new param.RuntimeType(_.isString(arg) ? JSON.parse(arg) : arg);
69
- }
70
- else if (param.RuntimeType instanceof TypedArray) {
71
- const type = param.RuntimeType.Type;
72
- const arrData = _.isString(arg) ? JSON.parse(arg) : arg;
73
- return arrData ? arrData.map((x) => new type(x)) : [];
74
- }
75
- else if (param.RuntimeType.name === 'Object' || param.RuntimeType.name === 'Array') {
76
- return _.isString(arg) ? JSON.parse(arg) : arg;
77
- }
78
- return arg;
79
- }
80
- isRuntimeType(param) {
81
- return ['String', 'Number', 'BigInt', 'Boolean', 'Undefined', 'Null'].indexOf(param.RuntimeType.name) !== -1;
82
- }
83
- fromRuntimeType(param, arg) {
84
- switch (param.RuntimeType.name) {
85
- // query params are always sent as strings, even numbers,
86
- // we must try to parse them as integers / booleans / objects
87
- case 'String':
88
- return arg;
89
- case 'Number':
90
- return arg ? Number(arg) : undefined;
91
- case 'BigInt':
92
- return BigInt(arg);
93
- case 'Boolean':
94
- return arg ? (arg === 1 ? true : arg.toLowerCase() === 'true' ? true : false) : false;
95
- case 'Undefined':
96
- return undefined;
97
- case 'Null':
98
- return null;
99
- default:
100
- return new param.RuntimeType(_.isString(arg) ? JSON.parse(arg) : arg);
101
- }
102
- }
103
- }
104
- __decorate([
105
- Autoinject(),
106
- __metadata("design:type", DataValidator)
107
- ], RouteArgs.prototype, "Validator", void 0);
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { DI, Autoinject, TypedArray, isClass } from '@spinajs/di';
11
+ import _ from 'lodash';
12
+ import { DataValidator } from '@spinajs/validation';
13
+ export class RouteArgs {
14
+ async tryHydrateParam(arg, routeParameter, route) {
15
+ let result = null;
16
+ let schema = null;
17
+ let hydrator = null;
18
+ // first validate route parameter / body params etc
19
+ if (route.Schema && route.Schema[routeParameter.Name]) {
20
+ schema = route.Schema[routeParameter.Name];
21
+ }
22
+ else if (routeParameter.Schema) {
23
+ schema = routeParameter.Schema;
24
+ }
25
+ else if (routeParameter.RouteParamSchema) {
26
+ schema = routeParameter.RouteParamSchema;
27
+ }
28
+ else {
29
+ schema = this.Validator.extractSchema(routeParameter.RuntimeType);
30
+ if (!schema && routeParameter.RuntimeType.prototype) {
31
+ schema = this.Validator.extractSchema(routeParameter.RuntimeType.prototype);
32
+ }
33
+ }
34
+ if (this.isRuntimeType(routeParameter)) {
35
+ result = this.fromRuntimeType(routeParameter, arg);
36
+ if (schema) {
37
+ this.Validator.validate(schema, result);
38
+ }
39
+ }
40
+ else {
41
+ hydrator = this.getHydrator(routeParameter);
42
+ result = hydrator ? arg : this.tryExtractObject(arg, routeParameter);
43
+ if (schema) {
44
+ this.Validator.validate(schema, arg);
45
+ }
46
+ if (hydrator) {
47
+ result = await this.tryHydrateObject(result, routeParameter, hydrator);
48
+ }
49
+ }
50
+ return result;
51
+ }
52
+ async tryHydrateObject(arg, route, hydrator) {
53
+ const hInstance = await DI.resolve(hydrator.hydrator, hydrator.options);
54
+ return await hInstance.hydrate(arg, route);
55
+ }
56
+ getHydrator(param) {
57
+ let hydrator = null;
58
+ if (param.RuntimeType instanceof TypedArray) {
59
+ hydrator = Reflect.getMetadata('custom:arg_hydrator', param.RuntimeType.Type);
60
+ }
61
+ else {
62
+ hydrator = Reflect.getMetadata('custom:arg_hydrator', param.RuntimeType);
63
+ }
64
+ return hydrator;
65
+ }
66
+ tryExtractObject(arg, param) {
67
+ if (isClass(param.RuntimeType)) {
68
+ return new param.RuntimeType(_.isString(arg) ? JSON.parse(arg) : arg);
69
+ }
70
+ else if (param.RuntimeType instanceof TypedArray) {
71
+ const type = param.RuntimeType.Type;
72
+ const arrData = _.isString(arg) ? JSON.parse(arg) : arg;
73
+ return arrData ? arrData.map((x) => new type(x)) : [];
74
+ }
75
+ else if (param.RuntimeType.name === 'Object' || param.RuntimeType.name === 'Array') {
76
+ return _.isString(arg) ? JSON.parse(arg) : arg;
77
+ }
78
+ return arg;
79
+ }
80
+ isRuntimeType(param) {
81
+ return ['String', 'Number', 'BigInt', 'Boolean', 'Undefined', 'Null'].indexOf(param.RuntimeType.name) !== -1;
82
+ }
83
+ fromRuntimeType(param, arg) {
84
+ switch (param.RuntimeType.name) {
85
+ // query params are always sent as strings, even numbers,
86
+ // we must try to parse them as integers / booleans / objects
87
+ case 'String':
88
+ return arg;
89
+ case 'Number':
90
+ return arg ? Number(arg) : undefined;
91
+ case 'BigInt':
92
+ return BigInt(arg);
93
+ case 'Boolean':
94
+ return arg ? (arg === 1 ? true : arg.toLowerCase() === 'true' ? true : false) : false;
95
+ case 'Undefined':
96
+ return undefined;
97
+ case 'Null':
98
+ return null;
99
+ default:
100
+ return new param.RuntimeType(_.isString(arg) ? JSON.parse(arg) : arg);
101
+ }
102
+ }
103
+ }
104
+ __decorate([
105
+ Autoinject(),
106
+ __metadata("design:type", DataValidator)
107
+ ], RouteArgs.prototype, "Validator", void 0);
108
108
  //# sourceMappingURL=RouteArgs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RouteArgs.js","sourceRoot":"","sources":["../../../src/route-args/RouteArgs.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAIlE,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAapD,MAAM,OAAgB,SAAS;IAQnB,KAAK,CAAC,eAAe,CAAC,GAAQ,EAAE,cAA+B,EAAE,KAAa;QACtF,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,QAAQ,GAAG,IAAI,CAAC;QAEpB,mDAAmD;QACnD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YACrD,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SAC5C;aAAM,IAAI,cAAc,CAAC,MAAM,EAAE;YAChC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;SAChC;aAAM,IAAI,cAAc,CAAC,gBAAgB,EAAE;YAC1C,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC;SAC1C;aAAM;YACL,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE;gBACnD,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;aAC7E;SACF;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE;YACtC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YAEnD,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;aACzC;SACF;aAAM;YACL,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAC5C,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAErE,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;aACtC;YAED,IAAI,QAAQ,EAAE;gBACZ,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;aACxE;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,GAAQ,EAAE,KAAsB,EAAE,QAAa;QAC9E,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,OAAO,CAAc,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrF,OAAO,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAES,WAAW,CAAC,KAAsB;QAC1C,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,KAAK,CAAC,WAAW,YAAY,UAAU,EAAE;YAC3C,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAG,KAAK,CAAC,WAA+B,CAAC,IAAI,CAAC,CAAC;SACpG;aAAM;YACL,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;SAC1E;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAES,gBAAgB,CAAC,GAAQ,EAAE,KAAsB;QACzD,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YAC9B,OAAO,IAAK,KAAK,CAAC,WAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SAChF;aAAM,IAAI,KAAK,CAAC,WAAW,YAAY,UAAU,EAAE;YAClD,MAAM,IAAI,GAAI,KAAK,CAAC,WAA+B,CAAC,IAAW,CAAC;YAChE,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACxD,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D;aAAM,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE;YACpF,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;SAChD;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAES,aAAa,CAAC,KAAsB;QAC5C,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/G,CAAC;IAES,eAAe,CAAC,KAAsB,EAAE,GAAQ;QACxD,QAAQ,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE;YAC9B,yDAAyD;YACzD,6DAA6D;YAC7D,KAAK,QAAQ;gBACX,OAAO,GAAG,CAAC;YACb,KAAK,QAAQ;gBACX,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACvC,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,KAAK,SAAS;gBACZ,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,GAAc,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACpG,KAAK,WAAW;gBACd,OAAO,SAAS,CAAC;YACnB,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SACzE;IACH,CAAC;CACF;AAtGC;IAAC,UAAU,EAAE;8BACQ,aAAa;4CAAC"}
1
+ {"version":3,"file":"RouteArgs.js","sourceRoot":"","sources":["../../../src/route-args/RouteArgs.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAIlE,OAAO,CAAC,MAAM,QAAQ,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAapD,MAAM,OAAgB,SAAS;IAQnB,KAAK,CAAC,eAAe,CAAC,GAAQ,EAAE,cAA+B,EAAE,KAAa;QACtF,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,QAAQ,GAAG,IAAI,CAAC;QAEpB,mDAAmD;QACnD,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;YACrD,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SAC5C;aAAM,IAAI,cAAc,CAAC,MAAM,EAAE;YAChC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;SAChC;aAAM,IAAI,cAAc,CAAC,gBAAgB,EAAE;YAC1C,MAAM,GAAG,cAAc,CAAC,gBAAgB,CAAC;SAC1C;aAAM;YACL,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,IAAI,cAAc,CAAC,WAAW,CAAC,SAAS,EAAE;gBACnD,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;aAC7E;SACF;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE;YACtC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;YAEnD,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;aACzC;SACF;aAAM;YACL,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAC5C,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;YAErE,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;aACtC;YAED,IAAI,QAAQ,EAAE;gBACZ,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;aACxE;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,GAAQ,EAAE,KAAsB,EAAE,QAAa;QAC9E,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,OAAO,CAAc,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrF,OAAO,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAES,WAAW,CAAC,KAAsB;QAC1C,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,KAAK,CAAC,WAAW,YAAY,UAAU,EAAE;YAC3C,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAG,KAAK,CAAC,WAA+B,CAAC,IAAI,CAAC,CAAC;SACpG;aAAM;YACL,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,qBAAqB,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;SAC1E;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAES,gBAAgB,CAAC,GAAQ,EAAE,KAAsB;QACzD,IAAI,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YAC9B,OAAO,IAAK,KAAK,CAAC,WAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SAChF;aAAM,IAAI,KAAK,CAAC,WAAW,YAAY,UAAU,EAAE;YAClD,MAAM,IAAI,GAAI,KAAK,CAAC,WAA+B,CAAC,IAAW,CAAC;YAChE,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YACxD,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D;aAAM,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE;YACpF,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;SAChD;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAES,aAAa,CAAC,KAAsB;QAC5C,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/G,CAAC;IAES,eAAe,CAAC,KAAsB,EAAE,GAAQ;QACxD,QAAQ,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE;YAC9B,yDAAyD;YACzD,6DAA6D;YAC7D,KAAK,QAAQ;gBACX,OAAO,GAAG,CAAC;YACb,KAAK,QAAQ;gBACX,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACvC,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,KAAK,SAAS;gBACZ,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,GAAc,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACpG,KAAK,WAAW;gBACd,OAAO,SAAS,CAAC;YACnB,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC;YACd;gBACE,OAAO,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;SACzE;IACH,CAAC;CACF;AArGW;IADT,UAAU,EAAE;8BACQ,aAAa;4CAAC"}
@@ -1,13 +1,13 @@
1
- export * from './ArgAsRequest.js';
2
- export * from './ArgAsResponse.js';
3
- export * from './ArgHydrator.js';
4
- export * from './FromBody.js';
5
- export * from './FromCookie.js';
6
- export * from './FromDi.js';
7
- export * from './FromForm.js';
8
- export * from './FromHeaderArg.js';
9
- export * from './FromParams.js';
10
- export * from './FromQuery.js';
11
- export * from './RouteArgs.js';
12
- export * from './RequestFields.js';
1
+ export * from './ArgAsRequest.js';
2
+ export * from './ArgAsResponse.js';
3
+ export * from './ArgHydrator.js';
4
+ export * from './FromBody.js';
5
+ export * from './FromCookie.js';
6
+ export * from './FromDi.js';
7
+ export * from './FromForm.js';
8
+ export * from './FromHeaderArg.js';
9
+ export * from './FromParams.js';
10
+ export * from './FromQuery.js';
11
+ export * from './RouteArgs.js';
12
+ export * from './RequestFields.js';
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1,13 +1,13 @@
1
- export * from './ArgAsRequest.js';
2
- export * from './ArgAsResponse.js';
3
- export * from './ArgHydrator.js';
4
- export * from './FromBody.js';
5
- export * from './FromCookie.js';
6
- export * from './FromDi.js';
7
- export * from './FromForm.js';
8
- export * from './FromHeaderArg.js';
9
- export * from './FromParams.js';
10
- export * from './FromQuery.js';
11
- export * from './RouteArgs.js';
12
- export * from './RequestFields.js';
1
+ export * from './ArgAsRequest.js';
2
+ export * from './ArgAsResponse.js';
3
+ export * from './ArgHydrator.js';
4
+ export * from './FromBody.js';
5
+ export * from './FromCookie.js';
6
+ export * from './FromDi.js';
7
+ export * from './FromForm.js';
8
+ export * from './FromHeaderArg.js';
9
+ export * from './FromParams.js';
10
+ export * from './FromQuery.js';
11
+ export * from './RouteArgs.js';
12
+ export * from './RequestFields.js';
13
13
  //# sourceMappingURL=index.js.map
@@ -1,37 +1,37 @@
1
- /**
2
- * Default schema for common route parameters taken from url
3
- */
4
- export declare const ROUTE_ARG_SCHEMA: {
5
- Number: {
6
- anyOf: ({
7
- type: string;
8
- pattern?: undefined;
9
- } | {
10
- type: string;
11
- pattern: string;
12
- })[];
13
- };
14
- String: {
15
- type: string;
16
- maxLength: number;
17
- };
18
- Boolean: {
19
- anyOf: ({
20
- type: string;
21
- pattern?: undefined;
22
- minimum?: undefined;
23
- maximum?: undefined;
24
- } | {
25
- type: string;
26
- pattern: string;
27
- minimum?: undefined;
28
- maximum?: undefined;
29
- } | {
30
- type: string;
31
- minimum: number;
32
- maximum: number;
33
- pattern?: undefined;
34
- })[];
35
- };
36
- };
1
+ /**
2
+ * Default schema for common route parameters taken from url
3
+ */
4
+ export declare const ROUTE_ARG_SCHEMA: {
5
+ Number: {
6
+ anyOf: ({
7
+ type: string;
8
+ pattern?: undefined;
9
+ } | {
10
+ type: string;
11
+ pattern: string;
12
+ })[];
13
+ };
14
+ String: {
15
+ type: string;
16
+ maxLength: number;
17
+ };
18
+ Boolean: {
19
+ anyOf: ({
20
+ type: string;
21
+ pattern?: undefined;
22
+ minimum?: undefined;
23
+ maximum?: undefined;
24
+ } | {
25
+ type: string;
26
+ pattern: string;
27
+ minimum?: undefined;
28
+ maximum?: undefined;
29
+ } | {
30
+ type: string;
31
+ minimum: number;
32
+ maximum: number;
33
+ pattern?: undefined;
34
+ })[];
35
+ };
36
+ };
37
37
  //# sourceMappingURL=RouteArgsSchemas.d.ts.map
@@ -1,24 +1,24 @@
1
- /**
2
- * Default schema for common route parameters taken from url
3
- */
4
- export const ROUTE_ARG_SCHEMA = {
5
- Number: {
6
- anyOf: [
7
- {
8
- type: 'number',
9
- },
10
- {
11
- type: 'string',
12
- pattern: '^[0-9]+$',
13
- },
14
- ],
15
- },
16
- String: {
17
- type: 'string',
18
- maxLength: 512,
19
- },
20
- Boolean: {
21
- anyOf: [{ type: 'boolean' }, { type: 'string', pattern: '^true|false|0|1$' }, { type: 'integer', minimum: 0, maximum: 1 }],
22
- },
23
- };
1
+ /**
2
+ * Default schema for common route parameters taken from url
3
+ */
4
+ export const ROUTE_ARG_SCHEMA = {
5
+ Number: {
6
+ anyOf: [
7
+ {
8
+ type: 'number',
9
+ },
10
+ {
11
+ type: 'string',
12
+ pattern: '^[0-9]+$',
13
+ },
14
+ ],
15
+ },
16
+ String: {
17
+ type: 'string',
18
+ maxLength: 512,
19
+ },
20
+ Boolean: {
21
+ anyOf: [{ type: 'boolean' }, { type: 'string', pattern: '^true|false|0|1$' }, { type: 'integer', minimum: 0, maximum: 1 }],
22
+ },
23
+ };
24
24
  //# sourceMappingURL=RouteArgsSchemas.js.map
@@ -1,51 +1,51 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import { AsyncService, IContainer } from '@spinajs/di';
3
- import { Configuration } from '@spinajs/configuration';
4
- import { Log } from '@spinajs/log';
5
- import '@spinajs/templates-pug';
6
- import { Server } from 'http';
7
- import Express, { RequestHandler } from 'express';
8
- import { ServerMiddleware } from './interfaces.js';
9
- import './transformers/index.js';
10
- import './middlewares/ResponseTime.js';
11
- import './middlewares/RequestId.js';
12
- import './middlewares/RealIp.js';
13
- export declare class HttpServer extends AsyncService {
14
- protected Configuration: Configuration;
15
- protected Container: IContainer;
16
- protected Middlewares: ServerMiddleware[];
17
- /**
18
- * Express app instance
19
- */
20
- protected Express: Express.Express;
21
- /**
22
- * Http socket server
23
- */
24
- protected Server: Server;
25
- /**
26
- * Logger for this module
27
- */
28
- protected Log: Log;
29
- constructor();
30
- resolve(): Promise<void>;
31
- /**
32
- * Starts http server & express
33
- */
34
- start(): Promise<void>;
35
- stop(): void;
36
- /**
37
- * Registers global middleware to express app
38
- *
39
- * @param middleware - middleware function
40
- */
41
- use(middleware: RequestHandler): void;
42
- /**
43
- * Executes response
44
- */
45
- protected handleResponse(): void;
46
- /**
47
- * Handles thrown exceptions in actions.
48
- */
49
- protected handleErrors(): void;
50
- }
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import { AsyncService, IContainer } from '@spinajs/di';
3
+ import { Configuration } from '@spinajs/configuration';
4
+ import { Log } from '@spinajs/log';
5
+ import '@spinajs/templates-pug';
6
+ import { Server } from 'http';
7
+ import Express, { RequestHandler } from 'express';
8
+ import { ServerMiddleware } from './interfaces.js';
9
+ import './transformers/index.js';
10
+ import './middlewares/ResponseTime.js';
11
+ import './middlewares/RequestId.js';
12
+ import './middlewares/RealIp.js';
13
+ export declare class HttpServer extends AsyncService {
14
+ protected Configuration: Configuration;
15
+ protected Container: IContainer;
16
+ protected Middlewares: ServerMiddleware[];
17
+ /**
18
+ * Express app instance
19
+ */
20
+ protected Express: Express.Express;
21
+ /**
22
+ * Http socket server
23
+ */
24
+ protected Server: Server;
25
+ /**
26
+ * Logger for this module
27
+ */
28
+ protected Log: Log;
29
+ constructor();
30
+ resolve(): Promise<void>;
31
+ /**
32
+ * Starts http server & express
33
+ */
34
+ start(): Promise<void>;
35
+ stop(): void;
36
+ /**
37
+ * Registers global middleware to express app
38
+ *
39
+ * @param middleware - middleware function
40
+ */
41
+ use(middleware: RequestHandler): void;
42
+ /**
43
+ * Executes response
44
+ */
45
+ protected handleResponse(): void;
46
+ /**
47
+ * Handles thrown exceptions in actions.
48
+ */
49
+ protected handleErrors(): void;
50
+ }
51
51
  //# sourceMappingURL=server.d.ts.map