@spinajs/http 1.0.14 → 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.
Files changed (139) hide show
  1. package/README.md +11 -0
  2. package/lib/config/http.js +17 -17
  3. package/lib/config/http.js.map +1 -1
  4. package/lib/controllers.d.ts +6 -4
  5. package/lib/controllers.js +53 -184
  6. package/lib/controllers.js.map +1 -1
  7. package/lib/decorators.d.ts +49 -24
  8. package/lib/decorators.js +97 -40
  9. package/lib/decorators.js.map +1 -1
  10. package/lib/exceptions.d.ts +0 -0
  11. package/lib/exceptions.js +1 -0
  12. package/lib/exceptions.js.map +1 -0
  13. package/lib/http.d.ts +0 -0
  14. package/lib/http.js +1 -0
  15. package/lib/http.js.map +1 -0
  16. package/lib/hydrators/datetime.d.ts +8 -0
  17. package/lib/hydrators/datetime.js +63 -0
  18. package/lib/hydrators/datetime.js.map +1 -0
  19. package/lib/index.d.ts +1 -1
  20. package/lib/index.js +8 -3
  21. package/lib/index.js.map +1 -1
  22. package/lib/interfaces.d.ts +44 -15
  23. package/lib/interfaces.js +31 -12
  24. package/lib/interfaces.js.map +1 -1
  25. package/lib/response-methods/badRequest.d.ts +3 -2
  26. package/lib/response-methods/badRequest.js +1 -1
  27. package/lib/response-methods/badRequest.js.map +1 -1
  28. package/lib/response-methods/conflict.d.ts +3 -2
  29. package/lib/response-methods/conflict.js +1 -1
  30. package/lib/response-methods/conflict.js.map +1 -1
  31. package/lib/response-methods/cookieResponse.d.ts +3 -2
  32. package/lib/response-methods/cookieResponse.js +9 -5
  33. package/lib/response-methods/cookieResponse.js.map +1 -1
  34. package/lib/response-methods/created.d.ts +3 -2
  35. package/lib/response-methods/created.js +1 -1
  36. package/lib/response-methods/created.js.map +1 -1
  37. package/lib/response-methods/file.d.ts +16 -2
  38. package/lib/response-methods/file.js +67 -5
  39. package/lib/response-methods/file.js.map +1 -1
  40. package/lib/response-methods/forbidden.d.ts +3 -2
  41. package/lib/response-methods/forbidden.js +1 -1
  42. package/lib/response-methods/forbidden.js.map +1 -1
  43. package/lib/response-methods/index.js +6 -2
  44. package/lib/response-methods/index.js.map +1 -1
  45. package/lib/response-methods/noContent.d.ts +3 -2
  46. package/lib/response-methods/noContent.js +1 -1
  47. package/lib/response-methods/noContent.js.map +1 -1
  48. package/lib/response-methods/notFound.d.ts +3 -2
  49. package/lib/response-methods/notFound.js +1 -1
  50. package/lib/response-methods/notFound.js.map +1 -1
  51. package/lib/response-methods/ok.d.ts +3 -2
  52. package/lib/response-methods/ok.js +1 -1
  53. package/lib/response-methods/ok.js.map +1 -1
  54. package/lib/response-methods/pug.d.ts +3 -2
  55. package/lib/response-methods/pug.js +1 -1
  56. package/lib/response-methods/pug.js.map +1 -1
  57. package/lib/response-methods/redirect.d.ts +2 -2
  58. package/lib/response-methods/redirect.js +2 -4
  59. package/lib/response-methods/redirect.js.map +1 -1
  60. package/lib/response-methods/serverError.d.ts +3 -2
  61. package/lib/response-methods/serverError.js +1 -1
  62. package/lib/response-methods/serverError.js.map +1 -1
  63. package/lib/response-methods/unauthorized.d.ts +3 -2
  64. package/lib/response-methods/unauthorized.js +1 -1
  65. package/lib/response-methods/unauthorized.js.map +1 -1
  66. package/lib/responses.d.ts +1 -1
  67. package/lib/responses.js +28 -11
  68. package/lib/responses.js.map +1 -1
  69. package/lib/route-args/ArgAsRequest.d.ts +11 -0
  70. package/lib/{transformers/PureFormatter.js → route-args/ArgAsRequest.js} +13 -12
  71. package/lib/route-args/ArgAsRequest.js.map +1 -0
  72. package/lib/route-args/ArgAsResponse.d.ts +10 -0
  73. package/lib/{dto/order-dto.js → route-args/ArgAsResponse.js} +16 -18
  74. package/lib/route-args/ArgAsResponse.js.map +1 -0
  75. package/lib/route-args/ArgHydrator.d.ts +3 -0
  76. package/lib/route-args/ArgHydrator.js +7 -0
  77. package/lib/route-args/ArgHydrator.js.map +1 -0
  78. package/lib/route-args/FromBody.d.ts +10 -0
  79. package/lib/route-args/FromBody.js +44 -0
  80. package/lib/route-args/FromBody.js.map +1 -0
  81. package/lib/route-args/FromCoockie.d.ts +13 -0
  82. package/lib/route-args/FromCoockie.js +71 -0
  83. package/lib/route-args/FromCoockie.js.map +1 -0
  84. package/lib/route-args/FromCookie.d.ts +13 -0
  85. package/lib/route-args/FromCookie.js +74 -0
  86. package/lib/route-args/FromCookie.js.map +1 -0
  87. package/lib/route-args/FromDi.d.ts +14 -0
  88. package/lib/route-args/FromDi.js +36 -0
  89. package/lib/route-args/FromDi.js.map +1 -0
  90. package/lib/route-args/FromForm.d.ts +82 -0
  91. package/lib/route-args/FromForm.js +259 -0
  92. package/lib/route-args/FromForm.js.map +1 -0
  93. package/lib/route-args/FromHeaderArg.d.ts +12 -0
  94. package/lib/route-args/FromHeaderArg.js +30 -0
  95. package/lib/route-args/FromHeaderArg.js.map +1 -0
  96. package/lib/route-args/FromParams.d.ts +10 -0
  97. package/lib/route-args/FromParams.js +25 -0
  98. package/lib/route-args/FromParams.js.map +1 -0
  99. package/lib/route-args/FromQuery.d.ts +10 -0
  100. package/lib/{dto/limit-dto.js → route-args/FromQuery.js} +16 -18
  101. package/lib/route-args/FromQuery.js.map +1 -0
  102. package/lib/route-args/RouteArgs.d.ts +19 -0
  103. package/lib/route-args/RouteArgs.js +64 -0
  104. package/lib/route-args/RouteArgs.js.map +1 -0
  105. package/lib/route-args/index.d.ts +11 -0
  106. package/lib/route-args/index.js +28 -0
  107. package/lib/route-args/index.js.map +1 -0
  108. package/lib/schemas/RouteArgsSchemas.d.ts +15 -0
  109. package/lib/schemas/RouteArgsSchemas.js +19 -0
  110. package/lib/schemas/RouteArgsSchemas.js.map +1 -0
  111. package/lib/server.d.ts +3 -2
  112. package/lib/server.js +30 -14
  113. package/lib/server.js.map +1 -1
  114. package/lib/transformers/PureTransformer.d.ts +1 -1
  115. package/lib/transformers/PureTransformer.js +2 -2
  116. package/lib/transformers/PureTransformer.js.map +1 -1
  117. package/package.json +27 -54
  118. package/lib/dto/index.d.ts +0 -2
  119. package/lib/dto/index.js +0 -15
  120. package/lib/dto/index.js.map +0 -1
  121. package/lib/dto/limit-dto.d.ts +0 -32
  122. package/lib/dto/limit-dto.js.map +0 -1
  123. package/lib/dto/order-dto.d.ts +0 -32
  124. package/lib/dto/order-dto.js.map +0 -1
  125. package/lib/schemas.d.ts +0 -24
  126. package/lib/schemas.js +0 -96
  127. package/lib/schemas.js.map +0 -1
  128. package/lib/static/favicon.ico +0 -0
  129. package/lib/static/style.css +0 -15
  130. package/lib/transformers/PureFormatter.d.ts +0 -7
  131. package/lib/transformers/PureFormatter.js.map +0 -1
  132. package/lib/views/responses/badRequest.pug +0 -13
  133. package/lib/views/responses/conflict.pug +0 -13
  134. package/lib/views/responses/forbidden.pug +0 -13
  135. package/lib/views/responses/noContent.pug +0 -13
  136. package/lib/views/responses/notFound.pug +0 -13
  137. package/lib/views/responses/ok.pug +0 -12
  138. package/lib/views/responses/serverError.pug +0 -13
  139. package/lib/views/responses/unauthorized.pug +0 -13
package/lib/responses.js CHANGED
@@ -1,7 +1,11 @@
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.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
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];
@@ -14,7 +18,7 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
14
18
  var __importStar = (this && this.__importStar) || function (mod) {
15
19
  if (mod && mod.__esModule) return mod;
16
20
  var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
22
  __setModuleDefault(result, mod);
19
23
  return result;
20
24
  };
@@ -111,22 +115,31 @@ const __translateH = (text) => {
111
115
  * @param status - optional status code
112
116
  */
113
117
  function pugResponse(file, model, status) {
114
- const cfg = di_1.DI.resolve(configuration_1.Configuration);
118
+ const cfg = di_1.DI.get(configuration_1.Configuration);
115
119
  return (req, res) => {
120
+ if (!req.accepts('html')) {
121
+ httpResponse({
122
+ error: {
123
+ message: 'invalid request content type',
124
+ code: 400,
125
+ },
126
+ }, interfaces_1.HTTP_STATUS_CODE.BAD_REQUEST, 'responses/serverError.pug')(req, res);
127
+ return;
128
+ }
116
129
  res.set('Content-Type', 'text/html');
117
130
  try {
118
131
  try {
119
132
  _render(file, model, status);
120
133
  }
121
134
  catch (err) {
122
- const log = di_1.DI.get(log_1.LogModule).getLogger();
135
+ const log = di_1.DI.resolve(log_1.Log, ['http']);
123
136
  log.warn(`Cannot render pug file ${file}, error: ${err.message}:${err.stack}`, err);
124
137
  // try to render server error response
125
138
  _render('responses/serverError.pug', { error: err }, interfaces_1.HTTP_STATUS_CODE.INTERNAL_ERROR);
126
139
  }
127
140
  }
128
141
  catch (err) {
129
- const log = di_1.DI.resolve(log_1.LogModule).getLogger();
142
+ const log = di_1.DI.resolve(log_1.Log, ['http']);
130
143
  // final fallback rendering error fails, we render embedded html error page
131
144
  const ticketNo = randomstring.generate(7);
132
145
  log.warn(`Cannot render pug file error: ${err.message}, ticket: ${ticketNo}`, err);
@@ -149,8 +162,8 @@ function pugResponse(file, model, status) {
149
162
  function getView(viewFile) {
150
163
  const views = cfg
151
164
  .get('system.dirs.views')
152
- .map(p => path_1.normalize(path_1.join(p, viewFile)))
153
- .filter(f => fs.existsSync(f));
165
+ .map((p) => (0, path_1.normalize)((0, path_1.join)(p, viewFile)))
166
+ .filter((f) => fs.existsSync(f));
154
167
  if (_.isEmpty(views)) {
155
168
  throw new exceptions_1.IOFail(`View file ${viewFile} not exists.`);
156
169
  }
@@ -170,21 +183,25 @@ exports.pugResponse = pugResponse;
170
183
  * to `Accept` header
171
184
  */
172
185
  function httpResponse(model, code, template) {
173
- const cfg = di_1.DI.resolve(configuration_1.Configuration);
186
+ const cfg = di_1.DI.get(configuration_1.Configuration);
174
187
  const acceptedHeaders = cfg.get('http.AcceptHeaders');
175
- const transformers = di_1.DI.resolve(Array.ofType(interfaces_1.DataTransformer));
176
188
  return (req, res) => {
177
189
  if (req.accepts('html') && (acceptedHeaders & interfaces_1.HttpAcceptHeaders.HTML) === interfaces_1.HttpAcceptHeaders.HTML) {
178
190
  pugResponse(`${template}.pug`, model, code)(req, res);
179
191
  }
180
192
  else if (req.accepts('json') && (acceptedHeaders & interfaces_1.HttpAcceptHeaders.JSON) === interfaces_1.HttpAcceptHeaders.JSON) {
181
193
  if (req.headers['x-data-transform']) {
182
- const transformer = transformers.find(x => x.Type === req.headers['x-data-transform']);
194
+ const transformer = di_1.DI.resolve(req.headers['x-data-transform']);
183
195
  if (transformer) {
184
196
  jsonResponse(transformer.transform(model, req), code)(req, res);
185
197
  }
186
198
  else {
187
- jsonResponse(transformer.transform(model, req), code)(req, res);
199
+ jsonResponse({
200
+ error: {
201
+ message: "invalid data transformer, remove header 'x-data-transform' to return raw data or set proper data transformer",
202
+ code: 400,
203
+ },
204
+ }, interfaces_1.HTTP_STATUS_CODE.BAD_REQUEST)(req, res);
188
205
  }
189
206
  }
190
207
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"responses.js","sourceRoot":"","sources":["../src/responses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"responses.js","sourceRoot":"","sources":["../src/responses.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /// <reference types="qs" />
2
+ import { RouteArgs } from './RouteArgs';
3
+ import { IRouteParameter, ParameterType, IRouteCall } from '../interfaces';
4
+ import * as express from 'express';
5
+ export declare class ArgAsRequest extends RouteArgs {
6
+ get SupportedType(): ParameterType;
7
+ extract(callData: IRouteCall, _param: IRouteParameter, req: express.Request): Promise<{
8
+ CallData: IRouteCall;
9
+ Args: express.Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
10
+ }>;
11
+ }
@@ -6,19 +6,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.PureDataTransformer = void 0;
9
+ exports.ArgAsRequest = void 0;
10
+ const RouteArgs_1 = require("./RouteArgs");
10
11
  const interfaces_1 = require("../interfaces");
11
12
  const di_1 = require("@spinajs/di");
12
- /**
13
- * Default transformer that does nothing. Output data is exacly same as input.
14
- */
15
- let PureDataTransformer = class PureDataTransformer extends interfaces_1.DataTransformer {
16
- transform(data) {
17
- return data;
13
+ let ArgAsRequest = class ArgAsRequest extends RouteArgs_1.RouteArgs {
14
+ get SupportedType() {
15
+ return interfaces_1.ParameterType.Req;
16
+ }
17
+ async extract(callData, _param, req) {
18
+ return { CallData: callData, Args: req };
18
19
  }
19
20
  };
20
- PureDataTransformer = __decorate([
21
- di_1.Singleton()
22
- ], PureDataTransformer);
23
- exports.PureDataTransformer = PureDataTransformer;
24
- //# sourceMappingURL=PureFormatter.js.map
21
+ ArgAsRequest = __decorate([
22
+ (0, di_1.Injectable)(RouteArgs_1.RouteArgs)
23
+ ], ArgAsRequest);
24
+ exports.ArgAsRequest = ArgAsRequest;
25
+ //# sourceMappingURL=ArgAsRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArgAsRequest.js","sourceRoot":"","sources":["../../src/route-args/ArgAsRequest.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,8CAA2E;AAE3E,oCAAyC;AAGzC,IAAa,YAAY,GAAzB,MAAa,YAAa,SAAQ,qBAAS;IACzC,IAAW,aAAa;QACtB,OAAO,0BAAa,CAAC,GAAG,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,MAAuB,EAAE,GAAoB;QACtF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAC3C,CAAC;CACF,CAAA;AARY,YAAY;IADxB,IAAA,eAAU,EAAC,qBAAS,CAAC;GACT,YAAY,CAQxB;AARY,oCAAY"}
@@ -0,0 +1,10 @@
1
+ import { RouteArgs } from './RouteArgs';
2
+ import { IRouteParameter, ParameterType, IRouteCall } from '../interfaces';
3
+ import * as express from 'express';
4
+ export declare class ArgAsResponse extends RouteArgs {
5
+ get SupportedType(): ParameterType;
6
+ extract(callData: IRouteCall, _param: IRouteParameter, _req: express.Request, res: express.Response): Promise<{
7
+ CallData: IRouteCall;
8
+ Args: express.Response<any, Record<string, any>>;
9
+ }>;
10
+ }
@@ -6,22 +6,20 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.OrderDto = exports.OrderDtoSchema = void 0;
10
- const decorators_1 = require("../decorators");
11
- exports.OrderDtoSchema = {
12
- $schema: 'http://json-schema.org/draft-07/schema#',
13
- title: 'Order DTO',
14
- type: 'object',
15
- properties: [{ Column: { type: 'string', minLength: 0 } }, { Order: { type: 'string', enum: ['asc', 'dsc'] } }],
16
- required: ['Column', 'Order'],
9
+ exports.ArgAsResponse = void 0;
10
+ const RouteArgs_1 = require("./RouteArgs");
11
+ const interfaces_1 = require("../interfaces");
12
+ const di_1 = require("@spinajs/di");
13
+ let ArgAsResponse = class ArgAsResponse extends RouteArgs_1.RouteArgs {
14
+ get SupportedType() {
15
+ return interfaces_1.ParameterType.Res;
16
+ }
17
+ async extract(callData, _param, _req, res) {
18
+ return { CallData: callData, Args: res };
19
+ }
17
20
  };
18
- /**
19
- * Order dto for queries
20
- */
21
- let OrderDto = class OrderDto {
22
- };
23
- OrderDto = __decorate([
24
- decorators_1.Schema(exports.OrderDtoSchema)
25
- ], OrderDto);
26
- exports.OrderDto = OrderDto;
27
- //# sourceMappingURL=order-dto.js.map
21
+ ArgAsResponse = __decorate([
22
+ (0, di_1.Injectable)(RouteArgs_1.RouteArgs)
23
+ ], ArgAsResponse);
24
+ exports.ArgAsResponse = ArgAsResponse;
25
+ //# sourceMappingURL=ArgAsResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArgAsResponse.js","sourceRoot":"","sources":["../../src/route-args/ArgAsResponse.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,8CAA2E;AAE3E,oCAAyC;AAGzC,IAAa,aAAa,GAA1B,MAAa,aAAc,SAAQ,qBAAS;IAC1C,IAAW,aAAa;QACtB,OAAO,0BAAa,CAAC,GAAG,CAAC;IAC3B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,MAAuB,EAAE,IAAqB,EAAE,GAAqB;QAC9G,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAC3C,CAAC;CACF,CAAA;AARY,aAAa;IADzB,IAAA,eAAU,EAAC,qBAAS,CAAC;GACT,aAAa,CAQzB;AARY,sCAAa"}
@@ -0,0 +1,3 @@
1
+ export declare abstract class ArgHydrator {
2
+ abstract hydrate(input: any): Promise<any>;
3
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArgHydrator = void 0;
4
+ class ArgHydrator {
5
+ }
6
+ exports.ArgHydrator = ArgHydrator;
7
+ //# sourceMappingURL=ArgHydrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArgHydrator.js","sourceRoot":"","sources":["../../src/route-args/ArgHydrator.ts"],"names":[],"mappings":";;;AAAA,MAAsB,WAAW;CAEhC;AAFD,kCAEC"}
@@ -0,0 +1,10 @@
1
+ import { RouteArgs } from './RouteArgs';
2
+ import { IRouteParameter, ParameterType, IRouteCall, IRoute } from '../interfaces';
3
+ import * as express from 'express';
4
+ export declare class FromBody extends RouteArgs {
5
+ get SupportedType(): ParameterType;
6
+ extract(callData: IRouteCall, param: IRouteParameter, req: express.Request, _res: express.Response, route: IRoute): Promise<{
7
+ CallData: IRouteCall;
8
+ Args: any;
9
+ }>;
10
+ }
@@ -0,0 +1,44 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.FromBody = void 0;
10
+ const RouteArgs_1 = require("./RouteArgs");
11
+ const interfaces_1 = require("../interfaces");
12
+ const di_1 = require("@spinajs/di");
13
+ let FromBody = class FromBody extends RouteArgs_1.RouteArgs {
14
+ get SupportedType() {
15
+ return interfaces_1.ParameterType.FromBody;
16
+ }
17
+ async extract(callData, param, req, _res, route) {
18
+ const arg = req.body[param.Name] ? req.body[param.Name] : route.Parameters.size === 1 ? req.body : null;
19
+ let result = null;
20
+ const [hydrated, hValue] = await this.tryHydrateObject(arg, param);
21
+ if (hydrated) {
22
+ result = hValue;
23
+ }
24
+ else {
25
+ switch (param.RuntimeType.name) {
26
+ case 'String':
27
+ case 'Number':
28
+ case 'Boolean':
29
+ case 'Object':
30
+ result = arg;
31
+ break;
32
+ default:
33
+ result = param.RuntimeType.name === 'Array' ? arg : new param.RuntimeType(arg);
34
+ break;
35
+ }
36
+ }
37
+ return { CallData: callData, Args: result };
38
+ }
39
+ };
40
+ FromBody = __decorate([
41
+ (0, di_1.Injectable)()
42
+ ], FromBody);
43
+ exports.FromBody = FromBody;
44
+ //# sourceMappingURL=FromBody.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FromBody.js","sourceRoot":"","sources":["../../src/route-args/FromBody.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,8CAAmF;AAEnF,oCAAyC;AAGzC,IAAa,QAAQ,GAArB,MAAa,QAAS,SAAQ,qBAAS;IACrC,IAAW,aAAa;QACtB,OAAO,0BAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAsB,EAAE,GAAoB,EAAE,IAAsB,EAAE,KAAa;QAC5H,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACxG,IAAI,MAAM,GAAG,IAAI,CAAC;QAElB,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACnE,IAAI,QAAQ,EAAE;YACZ,MAAM,GAAG,MAAM,CAAC;SACjB;aAAM;YACL,QAAQ,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE;gBAC9B,KAAK,QAAQ,CAAC;gBACd,KAAK,QAAQ,CAAC;gBACd,KAAK,SAAS,CAAC;gBACf,KAAK,QAAQ;oBACX,MAAM,GAAG,GAAG,CAAC;oBACb,MAAM;gBACR;oBACE,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBAC/E,MAAM;aACT;SACF;QAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC9C,CAAC;CACF,CAAA;AA5BY,QAAQ;IADpB,IAAA,eAAU,GAAE;GACA,QAAQ,CA4BpB;AA5BY,4BAAQ"}
@@ -0,0 +1,13 @@
1
+ import { RouteArgs } from './RouteArgs';
2
+ import { IRouteParameter, ParameterType, IRouteCall } from '../interfaces';
3
+ import * as express from 'express';
4
+ import { Configuration } from '@spinajs/configuration';
5
+ export declare class FromCoockie extends RouteArgs {
6
+ protected _coockieSecret: string;
7
+ constructor(cfg: Configuration);
8
+ get SupportedType(): ParameterType;
9
+ extract(callData: IRouteCall, param: IRouteParameter, req: express.Request): Promise<{
10
+ CallData: IRouteCall;
11
+ Args: string | false;
12
+ }>;
13
+ }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
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);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ 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;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || function (mod) {
25
+ if (mod && mod.__esModule) return mod;
26
+ var result = {};
27
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
+ __setModuleDefault(result, mod);
29
+ return result;
30
+ };
31
+ var __metadata = (this && this.__metadata) || function (k, v) {
32
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.FromCoockie = void 0;
36
+ const RouteArgs_1 = require("./RouteArgs");
37
+ const interfaces_1 = require("../interfaces");
38
+ const di_1 = require("@spinajs/di");
39
+ const configuration_1 = require("@spinajs/configuration");
40
+ const cs = __importStar(require("cookie-signature"));
41
+ let FromCoockie = class FromCoockie extends RouteArgs_1.RouteArgs {
42
+ constructor(cfg) {
43
+ super();
44
+ this._coockieSecret = cfg.get('http.coockie.secret');
45
+ }
46
+ get SupportedType() {
47
+ return interfaces_1.ParameterType.FromCookie;
48
+ }
49
+ async extract(callData, param, req) {
50
+ const arg = req.cookies[param.Name];
51
+ if (arg !== null) {
52
+ let result = cs.unsign(arg, this._coockieSecret);
53
+ if (result === false) {
54
+ return { CallData: callData, Args: null };
55
+ }
56
+ const [hydrated, hValue] = await this.tryHydrateObject(arg, param);
57
+ if (hydrated) {
58
+ result = hValue;
59
+ }
60
+ return { CallData: callData, Args: result };
61
+ }
62
+ return { CallData: callData, Args: null };
63
+ }
64
+ };
65
+ FromCoockie = __decorate([
66
+ (0, di_1.Inject)(configuration_1.Configuration),
67
+ (0, di_1.Injectable)(RouteArgs_1.RouteArgs),
68
+ __metadata("design:paramtypes", [configuration_1.Configuration])
69
+ ], FromCoockie);
70
+ exports.FromCoockie = FromCoockie;
71
+ //# sourceMappingURL=FromCoockie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FromCoockie.js","sourceRoot":"","sources":["../../src/route-args/FromCoockie.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAwC;AACxC,8CAA2E;AAE3E,oCAAiD;AACjD,0DAAuD;AACvD,qDAAuC;AAIvC,IAAa,WAAW,GAAxB,MAAa,WAAY,SAAQ,qBAAS;IAGxC,YAAY,GAAkB;QAC5B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,GAAG,CAAS,qBAAqB,CAAC,CAAC;IAC/D,CAAC;IAED,IAAW,aAAa;QACtB,OAAO,0BAAa,CAAC,UAAU,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAsB,EAAE,GAAoB;QACrF,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,GAAG,KAAK,IAAI,EAAE;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAEjD,IAAI,MAAM,KAAK,KAAK,EAAE;gBACpB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;aAC3C;YAED,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACnE,IAAI,QAAQ,EAAE;gBACZ,MAAM,GAAG,MAAM,CAAC;aACjB;YAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SAC7C;QAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC;CACF,CAAA;AAjCY,WAAW;IAFvB,IAAA,WAAM,EAAC,6BAAa,CAAC;IACrB,IAAA,eAAU,EAAC,qBAAS,CAAC;qCAIH,6BAAa;GAHnB,WAAW,CAiCvB;AAjCY,kCAAW"}
@@ -0,0 +1,13 @@
1
+ import { RouteArgs } from './RouteArgs';
2
+ import { IRouteParameter, ParameterType, IRouteCall } from '../interfaces';
3
+ import * as express from 'express';
4
+ import { Configuration } from '@spinajs/configuration';
5
+ export declare class FromCookie extends RouteArgs {
6
+ protected _coockieSecret: string;
7
+ constructor(cfg: Configuration);
8
+ get SupportedType(): ParameterType;
9
+ extract(callData: IRouteCall, param: IRouteParameter, req: express.Request): Promise<{
10
+ CallData: IRouteCall;
11
+ Args: any;
12
+ }>;
13
+ }
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
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);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ 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;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || function (mod) {
25
+ if (mod && mod.__esModule) return mod;
26
+ var result = {};
27
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
28
+ __setModuleDefault(result, mod);
29
+ return result;
30
+ };
31
+ var __metadata = (this && this.__metadata) || function (k, v) {
32
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
33
+ };
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.FromCookie = void 0;
36
+ const RouteArgs_1 = require("./RouteArgs");
37
+ const interfaces_1 = require("../interfaces");
38
+ const di_1 = require("@spinajs/di");
39
+ const configuration_1 = require("@spinajs/configuration");
40
+ const cs = __importStar(require("cookie-signature"));
41
+ let FromCookie = class FromCookie extends RouteArgs_1.RouteArgs {
42
+ constructor(cfg) {
43
+ super();
44
+ this._coockieSecret = cfg.get('http.coockie.secret');
45
+ }
46
+ get SupportedType() {
47
+ return interfaces_1.ParameterType.FromCookie;
48
+ }
49
+ async extract(callData, param, req) {
50
+ var _a;
51
+ const arg = req.cookies[param.Name];
52
+ if (arg !== null) {
53
+ let result = null;
54
+ if ((_a = param.Options) === null || _a === void 0 ? void 0 : _a.secure) {
55
+ result = cs.unsign(arg, this._coockieSecret);
56
+ if (result === false) {
57
+ return { CallData: callData, Args: null };
58
+ }
59
+ }
60
+ else {
61
+ result = arg;
62
+ }
63
+ return { CallData: callData, Args: await this.tryHydrateParam(result, param) };
64
+ }
65
+ return { CallData: callData, Args: null };
66
+ }
67
+ };
68
+ FromCookie = __decorate([
69
+ (0, di_1.Inject)(configuration_1.Configuration),
70
+ (0, di_1.Injectable)(),
71
+ __metadata("design:paramtypes", [configuration_1.Configuration])
72
+ ], FromCookie);
73
+ exports.FromCookie = FromCookie;
74
+ //# sourceMappingURL=FromCookie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FromCookie.js","sourceRoot":"","sources":["../../src/route-args/FromCookie.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAwC;AACxC,8CAA2E;AAE3E,oCAAiD;AACjD,0DAAuD;AACvD,qDAAuC;AAIvC,IAAa,UAAU,GAAvB,MAAa,UAAW,SAAQ,qBAAS;IAGvC,YAAY,GAAkB;QAC5B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,GAAG,CAAS,qBAAqB,CAAC,CAAC;IAC/D,CAAC;IAED,IAAW,aAAa;QACtB,OAAO,0BAAa,CAAC,UAAU,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAsB,EAAE,GAAoB;;QACrF,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,GAAG,KAAK,IAAI,EAAE;YAChB,IAAI,MAAM,GAAG,IAAI,CAAC;YAClB,IAAI,MAAA,KAAK,CAAC,OAAO,0CAAE,MAAM,EAAE;gBACzB,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC7C,IAAI,MAAM,KAAK,KAAK,EAAE;oBACpB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;iBAC3C;aACF;iBAAM;gBACL,MAAM,GAAG,GAAG,CAAC;aACd;YAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;SAChF;QAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC;CACF,CAAA;AAhCY,UAAU;IAFtB,IAAA,WAAM,EAAC,6BAAa,CAAC;IACrB,IAAA,eAAU,GAAE;qCAIM,6BAAa;GAHnB,UAAU,CAgCtB;AAhCY,gCAAU"}
@@ -0,0 +1,14 @@
1
+ import { IRouteArgs } from './RouteArgs';
2
+ import { IRouteParameter, ParameterType, IRouteCall } from '../interfaces';
3
+ import * as express from 'express';
4
+ import { AsyncModule, IContainer } from '@spinajs/di';
5
+ export declare class FromDi extends AsyncModule implements IRouteArgs {
6
+ protected Container: IContainer;
7
+ constructor(c: IContainer);
8
+ resolveAsync(): Promise<void>;
9
+ get SupportedType(): ParameterType;
10
+ extract(callData: IRouteCall, param: IRouteParameter, _req: express.Request): Promise<{
11
+ CallData: IRouteCall;
12
+ Args: unknown;
13
+ }>;
14
+ }
@@ -0,0 +1,36 @@
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 __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.FromDi = void 0;
13
+ const RouteArgs_1 = require("./RouteArgs");
14
+ const interfaces_1 = require("../interfaces");
15
+ const di_1 = require("@spinajs/di");
16
+ let FromDi = class FromDi extends di_1.AsyncModule {
17
+ constructor(c) {
18
+ super();
19
+ this.Container = c;
20
+ }
21
+ async resolveAsync() { }
22
+ get SupportedType() {
23
+ return interfaces_1.ParameterType.FromDi;
24
+ }
25
+ async extract(callData, param, _req) {
26
+ const srv = await this.Container.resolve(param.RuntimeType, param.Options);
27
+ return { CallData: callData, Args: srv };
28
+ }
29
+ };
30
+ FromDi = __decorate([
31
+ (0, di_1.Injectable)(RouteArgs_1.RouteArgs),
32
+ (0, di_1.Inject)(di_1.Container),
33
+ __metadata("design:paramtypes", [Object])
34
+ ], FromDi);
35
+ exports.FromDi = FromDi;
36
+ //# sourceMappingURL=FromDi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FromDi.js","sourceRoot":"","sources":["../../src/route-args/FromDi.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAoD;AACpD,8CAA2E;AAE3E,oCAAqF;AAIrF,IAAa,MAAM,GAAnB,MAAa,MAAO,SAAQ,gBAAW;IAGrC,YAAY,CAAa;QACvB,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,YAAY,KAAmB,CAAC;IAEtC,IAAW,aAAa;QACtB,OAAO,0BAAa,CAAC,MAAM,CAAC;IAC9B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAAoB,EAAE,KAAsB,EAAE,IAAqB;QACtF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAC3C,CAAC;CACF,CAAA;AAnBY,MAAM;IAFlB,IAAA,eAAU,EAAC,qBAAS,CAAC;IACrB,IAAA,WAAM,EAAC,cAAS,CAAC;;GACL,MAAM,CAmBlB;AAnBY,wBAAM"}
@@ -0,0 +1,82 @@
1
+ import { RouteArgs } from './RouteArgs';
2
+ import { IRouteParameter, ParameterType, IRouteCall } from '../interfaces';
3
+ import * as express from 'express';
4
+ import { Fields, Files } from 'formidable';
5
+ import { Configuration } from '@spinajs/configuration';
6
+ interface FormData {
7
+ Fields: Fields;
8
+ Files: Files;
9
+ }
10
+ export declare type FormOptionsCallback = (conf: Configuration) => Promise<FormOptions>;
11
+ export interface FormOptions {
12
+ encoding?: string;
13
+ uploadDir?: string;
14
+ keepExtensions?: boolean;
15
+ maxFileSize?: number;
16
+ maxFieldsSize?: number;
17
+ maxFields?: number;
18
+ hash?: string | boolean;
19
+ multiples?: boolean;
20
+ type?: string;
21
+ }
22
+ export declare abstract class FromFormBase extends RouteArgs {
23
+ Data: FormData;
24
+ protected parseForm(callData: IRouteCall, param: IRouteParameter, req: express.Request): Promise<void>;
25
+ protected parse(req: express.Request, options: FormOptions | FormOptionsCallback): Promise<void>;
26
+ private _parse;
27
+ }
28
+ export declare class FromFile extends FromFormBase {
29
+ get SupportedType(): ParameterType;
30
+ constructor(data: any);
31
+ extract(callData: IRouteCall, param: IRouteParameter, req: express.Request): Promise<any>;
32
+ }
33
+ export declare class JsonFileRouteArgs extends FromFile {
34
+ get SupportedType(): ParameterType;
35
+ constructor(data: any);
36
+ extract(callData: IRouteCall, param: IRouteParameter, req: express.Request): Promise<{
37
+ CallData: {
38
+ Payload: {
39
+ Form: FormData;
40
+ };
41
+ };
42
+ Args: any;
43
+ }>;
44
+ }
45
+ export declare class CsvFileRouteArgs extends FromFile {
46
+ get SupportedType(): ParameterType;
47
+ constructor(data: any);
48
+ extract(callData: IRouteCall, param: IRouteParameter, req: express.Request): Promise<{
49
+ CallData: {
50
+ Payload: {
51
+ Form: FormData;
52
+ };
53
+ };
54
+ Args: unknown;
55
+ }>;
56
+ protected parseCvs(path: string, options: any): Promise<unknown>;
57
+ }
58
+ export declare class FromFormField extends FromFormBase {
59
+ get SupportedType(): ParameterType;
60
+ constructor(data: any);
61
+ extract(callData: IRouteCall, param: IRouteParameter, req: express.Request): Promise<{
62
+ CallData: {
63
+ Payload: {
64
+ Form: FormData;
65
+ };
66
+ };
67
+ Args: string | string[];
68
+ }>;
69
+ }
70
+ export declare class FromForm extends FromFormBase {
71
+ get SupportedType(): ParameterType;
72
+ constructor(data: any);
73
+ extract(callData: IRouteCall, param: IRouteParameter, req: express.Request): Promise<{
74
+ CallData: {
75
+ Payload: {
76
+ Form: FormData;
77
+ };
78
+ };
79
+ Args: Fields;
80
+ }>;
81
+ }
82
+ export {};