@duplojs/http 0.2.0 → 0.5.0

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 (235) hide show
  1. package/dist/client/getBody.cjs +22 -0
  2. package/dist/client/getBody.d.ts +1 -0
  3. package/dist/client/getBody.mjs +20 -0
  4. package/dist/client/hooks.cjs +79 -0
  5. package/dist/client/hooks.d.ts +33 -0
  6. package/dist/client/hooks.mjs +70 -0
  7. package/dist/client/httpClient.cjs +153 -0
  8. package/dist/client/httpClient.d.ts +60 -0
  9. package/dist/client/httpClient.mjs +130 -0
  10. package/dist/client/index.cjs +33 -0
  11. package/dist/client/index.d.ts +9 -0
  12. package/dist/client/index.mjs +9 -0
  13. package/dist/client/insertParamsInPath.cjs +12 -0
  14. package/dist/client/insertParamsInPath.d.ts +2 -0
  15. package/dist/client/insertParamsInPath.mjs +10 -0
  16. package/dist/client/kind.cjs +9 -0
  17. package/dist/client/kind.d.ts +6 -0
  18. package/dist/client/kind.mjs +7 -0
  19. package/dist/client/promiseRequest.cjs +355 -0
  20. package/dist/client/promiseRequest.d.ts +98 -0
  21. package/dist/client/promiseRequest.mjs +332 -0
  22. package/dist/client/queryToString.cjs +25 -0
  23. package/dist/client/queryToString.d.ts +2 -0
  24. package/dist/client/queryToString.mjs +23 -0
  25. package/dist/client/types/ObjectCanBeEmpty.cjs +2 -0
  26. package/dist/client/types/ObjectCanBeEmpty.d.ts +4 -0
  27. package/dist/client/types/ObjectCanBeEmpty.mjs +1 -0
  28. package/dist/client/types/clientRequestParams.cjs +2 -0
  29. package/dist/client/types/clientRequestParams.d.ts +51 -0
  30. package/dist/client/types/clientRequestParams.mjs +1 -0
  31. package/dist/client/types/clientResponse.cjs +2 -0
  32. package/dist/client/types/clientResponse.d.ts +34 -0
  33. package/dist/client/types/clientResponse.mjs +1 -0
  34. package/dist/client/types/index.cjs +7 -0
  35. package/dist/client/types/index.d.ts +4 -0
  36. package/dist/client/types/index.mjs +4 -0
  37. package/dist/client/types/serverRoute.cjs +2 -0
  38. package/dist/client/types/serverRoute.d.ts +22 -0
  39. package/dist/client/types/serverRoute.mjs +1 -0
  40. package/dist/client/unexpectedResponseError.cjs +44 -0
  41. package/dist/client/unexpectedResponseError.d.ts +38 -0
  42. package/dist/client/unexpectedResponseError.mjs +39 -0
  43. package/dist/core/builders/preflight/builder.cjs +1 -0
  44. package/dist/core/builders/preflight/builder.d.ts +5 -1
  45. package/dist/core/builders/preflight/builder.mjs +1 -0
  46. package/dist/core/builders/preflight/process.cjs +2 -1
  47. package/dist/core/builders/preflight/process.d.ts +4 -2
  48. package/dist/core/builders/preflight/process.mjs +2 -1
  49. package/dist/core/builders/preflight/route.cjs +4 -0
  50. package/dist/core/builders/preflight/route.d.ts +9 -3
  51. package/dist/core/builders/preflight/route.mjs +4 -0
  52. package/dist/core/builders/process/builder.cjs +1 -0
  53. package/dist/core/builders/process/builder.d.ts +4 -1
  54. package/dist/core/builders/process/builder.mjs +1 -0
  55. package/dist/core/builders/process/checker.cjs +2 -1
  56. package/dist/core/builders/process/checker.d.ts +4 -2
  57. package/dist/core/builders/process/checker.mjs +2 -1
  58. package/dist/core/builders/process/cut.cjs +2 -1
  59. package/dist/core/builders/process/cut.d.ts +3 -1
  60. package/dist/core/builders/process/cut.mjs +2 -1
  61. package/dist/core/builders/process/extract.cjs +2 -1
  62. package/dist/core/builders/process/extract.d.ts +3 -1
  63. package/dist/core/builders/process/extract.mjs +2 -1
  64. package/dist/core/builders/process/index.cjs +1 -1
  65. package/dist/core/builders/process/index.d.ts +1 -1
  66. package/dist/core/builders/process/index.mjs +1 -1
  67. package/dist/core/builders/process/presetChecker.cjs +2 -1
  68. package/dist/core/builders/process/presetChecker.d.ts +3 -1
  69. package/dist/core/builders/process/presetChecker.mjs +2 -1
  70. package/dist/core/builders/process/process.cjs +2 -1
  71. package/dist/core/builders/process/process.d.ts +4 -2
  72. package/dist/core/builders/process/process.mjs +2 -1
  73. package/dist/core/builders/route/builder.cjs +1 -0
  74. package/dist/core/builders/route/builder.d.ts +4 -1
  75. package/dist/core/builders/route/builder.mjs +1 -0
  76. package/dist/core/builders/route/checker.cjs +2 -1
  77. package/dist/core/builders/route/checker.d.ts +4 -2
  78. package/dist/core/builders/route/checker.mjs +2 -1
  79. package/dist/core/builders/route/cut.cjs +2 -1
  80. package/dist/core/builders/route/cut.d.ts +3 -1
  81. package/dist/core/builders/route/cut.mjs +2 -1
  82. package/dist/core/builders/route/extract.cjs +2 -1
  83. package/dist/core/builders/route/extract.d.ts +3 -1
  84. package/dist/core/builders/route/extract.mjs +2 -1
  85. package/dist/core/builders/route/handler.cjs +9 -2
  86. package/dist/core/builders/route/handler.d.ts +3 -1
  87. package/dist/core/builders/route/handler.mjs +9 -2
  88. package/dist/core/builders/route/presetChecker.cjs +2 -1
  89. package/dist/core/builders/route/presetChecker.d.ts +3 -1
  90. package/dist/core/builders/route/presetChecker.mjs +2 -1
  91. package/dist/core/builders/route/process.cjs +2 -1
  92. package/dist/core/builders/route/process.d.ts +4 -2
  93. package/dist/core/builders/route/process.mjs +2 -1
  94. package/dist/core/functionsBuilders/route/default.cjs +10 -9
  95. package/dist/core/functionsBuilders/route/default.mjs +3 -2
  96. package/dist/core/functionsBuilders/route/hook.cjs +22 -22
  97. package/dist/core/functionsBuilders/route/hook.d.ts +2 -2
  98. package/dist/core/functionsBuilders/route/hook.mjs +2 -2
  99. package/dist/core/functionsBuilders/steps/create.d.ts +2 -2
  100. package/dist/core/functionsBuilders/steps/defaults/checkerStep.cjs +3 -2
  101. package/dist/core/functionsBuilders/steps/defaults/checkerStep.mjs +3 -2
  102. package/dist/core/functionsBuilders/steps/defaults/cutStep.cjs +3 -2
  103. package/dist/core/functionsBuilders/steps/defaults/cutStep.mjs +3 -2
  104. package/dist/core/functionsBuilders/steps/defaults/extractStep.cjs +6 -5
  105. package/dist/core/functionsBuilders/steps/defaults/extractStep.mjs +4 -3
  106. package/dist/core/functionsBuilders/steps/defaults/handlerStep.cjs +3 -2
  107. package/dist/core/functionsBuilders/steps/defaults/handlerStep.mjs +3 -2
  108. package/dist/core/functionsBuilders/steps/defaults/processStep.cjs +5 -4
  109. package/dist/core/functionsBuilders/steps/defaults/processStep.mjs +3 -2
  110. package/dist/core/hub/defaultNotfoundHandler.cjs +1 -0
  111. package/dist/core/hub/defaultNotfoundHandler.d.ts +2 -1
  112. package/dist/core/hub/defaultNotfoundHandler.mjs +1 -0
  113. package/dist/core/hub/index.cjs +2 -1
  114. package/dist/core/hub/index.mjs +2 -1
  115. package/dist/core/index.cjs +43 -34
  116. package/dist/core/index.d.ts +1 -0
  117. package/dist/core/index.mjs +8 -3
  118. package/dist/core/metadata/base.cjs +20 -0
  119. package/dist/core/metadata/base.d.ts +14 -0
  120. package/dist/core/metadata/base.mjs +17 -0
  121. package/dist/core/metadata/ignoreByRouteStore.cjs +7 -0
  122. package/dist/core/metadata/ignoreByRouteStore.d.ts +1 -0
  123. package/dist/core/metadata/ignoreByRouteStore.mjs +5 -0
  124. package/dist/core/metadata/index.cjs +10 -0
  125. package/dist/core/metadata/index.d.ts +2 -0
  126. package/dist/core/metadata/index.mjs +2 -0
  127. package/dist/core/process/index.d.ts +3 -1
  128. package/dist/core/response/base.cjs +40 -0
  129. package/dist/core/response/base.d.ts +21 -0
  130. package/dist/core/response/base.mjs +38 -0
  131. package/dist/core/response/contract.cjs +2 -2
  132. package/dist/core/response/contract.d.ts +120 -118
  133. package/dist/core/response/contract.mjs +2 -2
  134. package/dist/core/{route/hooks/response.cjs → response/hook.cjs} +4 -3
  135. package/dist/core/{route/hooks/response.d.ts → response/hook.d.ts} +2 -2
  136. package/dist/core/{route/hooks/response.mjs → response/hook.mjs} +3 -2
  137. package/dist/core/response/index.cjs +9 -38
  138. package/dist/core/response/index.d.ts +3 -20
  139. package/dist/core/response/index.mjs +3 -38
  140. package/dist/core/response/predicted.cjs +22 -0
  141. package/dist/core/response/predicted.d.ts +11 -0
  142. package/dist/core/response/predicted.mjs +20 -0
  143. package/dist/core/route/{hooks/index.cjs → hooks.cjs} +2 -3
  144. package/dist/core/route/{hooks/index.d.ts → hooks.d.ts} +4 -4
  145. package/dist/core/route/{hooks/index.mjs → hooks.mjs} +2 -2
  146. package/dist/core/route/index.cjs +4 -4
  147. package/dist/core/route/index.d.ts +2 -0
  148. package/dist/core/route/index.mjs +1 -1
  149. package/dist/core/router/index.cjs +1 -0
  150. package/dist/core/router/index.mjs +1 -0
  151. package/dist/core/steps/checker.d.ts +2 -0
  152. package/dist/core/steps/cut.d.ts +5 -3
  153. package/dist/core/steps/extract.d.ts +2 -0
  154. package/dist/core/steps/handler.d.ts +5 -3
  155. package/dist/core/steps/identifier.d.ts +2 -2
  156. package/dist/core/steps/presetChecker.d.ts +2 -0
  157. package/dist/core/steps/process.d.ts +2 -0
  158. package/dist/core/steps/types/stepFunctionParams.d.ts +2 -2
  159. package/dist/core/types/forbiddenBigintDataParser.cjs +2 -0
  160. package/dist/core/types/forbiddenBigintDataParser.d.ts +6 -0
  161. package/dist/core/types/forbiddenBigintDataParser.mjs +1 -0
  162. package/dist/core/types/index.cjs +1 -0
  163. package/dist/core/types/index.d.ts +1 -0
  164. package/dist/core/types/index.mjs +1 -0
  165. package/dist/interfaces/node/createHttpServer.cjs +1 -0
  166. package/dist/interfaces/node/createHttpServer.d.ts +2 -1
  167. package/dist/interfaces/node/createHttpServer.mjs +1 -0
  168. package/dist/interfaces/node/hooks.cjs +16 -13
  169. package/dist/interfaces/node/hooks.mjs +15 -12
  170. package/dist/plugins/codeGenerator/{stepsToDataParser.cjs → aggregateStepContract.cjs} +8 -5
  171. package/dist/plugins/codeGenerator/{stepsToDataParser.d.ts → aggregateStepContract.d.ts} +1 -1
  172. package/dist/plugins/codeGenerator/{stepsToDataParser.mjs → aggregateStepContract.mjs} +9 -6
  173. package/dist/plugins/codeGenerator/index.cjs +4 -5
  174. package/dist/plugins/codeGenerator/index.d.ts +2 -1
  175. package/dist/plugins/codeGenerator/index.mjs +3 -2
  176. package/dist/plugins/codeGenerator/metadata.cjs +8 -0
  177. package/dist/plugins/codeGenerator/metadata.d.ts +1 -0
  178. package/dist/plugins/codeGenerator/metadata.mjs +6 -0
  179. package/dist/plugins/codeGenerator/plugin.cjs +1 -1
  180. package/dist/plugins/codeGenerator/plugin.mjs +1 -1
  181. package/dist/plugins/codeGenerator/routeToDataParser.cjs +11 -57
  182. package/dist/plugins/codeGenerator/routeToDataParser.d.ts +2 -181
  183. package/dist/plugins/codeGenerator/routeToDataParser.mjs +13 -56
  184. package/dist/plugins/openApiGenerator/aggregateStepContract.cjs +65 -0
  185. package/dist/plugins/openApiGenerator/aggregateStepContract.d.ts +18 -0
  186. package/dist/plugins/openApiGenerator/aggregateStepContract.mjs +63 -0
  187. package/dist/plugins/openApiGenerator/index.cjs +19 -0
  188. package/dist/plugins/openApiGenerator/index.d.ts +8 -0
  189. package/dist/plugins/openApiGenerator/index.mjs +8 -0
  190. package/dist/plugins/openApiGenerator/makeOpenApiPage.cjs +30 -0
  191. package/dist/plugins/openApiGenerator/makeOpenApiPage.d.ts +7 -0
  192. package/dist/plugins/openApiGenerator/makeOpenApiPage.mjs +28 -0
  193. package/dist/plugins/openApiGenerator/makeOpenApiRoute.cjs +15 -0
  194. package/dist/plugins/openApiGenerator/makeOpenApiRoute.d.ts +20 -0
  195. package/dist/plugins/openApiGenerator/makeOpenApiRoute.mjs +13 -0
  196. package/dist/plugins/openApiGenerator/metadata.cjs +8 -0
  197. package/dist/plugins/openApiGenerator/metadata.d.ts +1 -0
  198. package/dist/plugins/openApiGenerator/metadata.mjs +6 -0
  199. package/dist/plugins/openApiGenerator/plugin.cjs +90 -0
  200. package/dist/plugins/openApiGenerator/plugin.d.ts +49 -0
  201. package/dist/plugins/openApiGenerator/plugin.mjs +88 -0
  202. package/dist/plugins/openApiGenerator/routeToOpenApi.cjs +168 -0
  203. package/dist/plugins/openApiGenerator/routeToOpenApi.d.ts +35 -0
  204. package/dist/plugins/openApiGenerator/routeToOpenApi.mjs +166 -0
  205. package/dist/plugins/openApiGenerator/types/endpointResponse.cjs +2 -0
  206. package/dist/plugins/openApiGenerator/types/endpointResponse.d.ts +19 -0
  207. package/dist/plugins/openApiGenerator/types/endpointResponse.mjs +1 -0
  208. package/dist/plugins/openApiGenerator/types/entrypoint.cjs +2 -0
  209. package/dist/plugins/openApiGenerator/types/entrypoint.d.ts +22 -0
  210. package/dist/plugins/openApiGenerator/types/entrypoint.mjs +1 -0
  211. package/dist/plugins/openApiGenerator/types/entrypointKey.cjs +2 -0
  212. package/dist/plugins/openApiGenerator/types/entrypointKey.d.ts +1 -0
  213. package/dist/plugins/openApiGenerator/types/entrypointKey.mjs +1 -0
  214. package/dist/plugins/openApiGenerator/types/index.cjs +11 -0
  215. package/dist/plugins/openApiGenerator/types/index.d.ts +8 -0
  216. package/dist/plugins/openApiGenerator/types/index.mjs +8 -0
  217. package/dist/plugins/openApiGenerator/types/openApiDocument.cjs +2 -0
  218. package/dist/plugins/openApiGenerator/types/openApiDocument.d.ts +31 -0
  219. package/dist/plugins/openApiGenerator/types/openApiDocument.mjs +1 -0
  220. package/dist/plugins/openApiGenerator/types/openApiMethod.cjs +2 -0
  221. package/dist/plugins/openApiGenerator/types/openApiMethod.d.ts +1 -0
  222. package/dist/plugins/openApiGenerator/types/openApiMethod.mjs +1 -0
  223. package/dist/plugins/openApiGenerator/types/openApiOperation.cjs +2 -0
  224. package/dist/plugins/openApiGenerator/types/openApiOperation.d.ts +8 -0
  225. package/dist/plugins/openApiGenerator/types/openApiOperation.mjs +1 -0
  226. package/dist/plugins/openApiGenerator/types/openApiPath.cjs +2 -0
  227. package/dist/plugins/openApiGenerator/types/openApiPath.d.ts +4 -0
  228. package/dist/plugins/openApiGenerator/types/openApiPath.mjs +1 -0
  229. package/dist/plugins/openApiGenerator/types/openApiSecuritySchema.cjs +2 -0
  230. package/dist/plugins/openApiGenerator/types/openApiSecuritySchema.d.ts +8 -0
  231. package/dist/plugins/openApiGenerator/types/openApiSecuritySchema.mjs +1 -0
  232. package/package.json +17 -4
  233. /package/dist/core/builders/process/{export.cjs → exports.cjs} +0 -0
  234. /package/dist/core/builders/process/{export.d.ts → exports.d.ts} +0 -0
  235. /package/dist/core/builders/process/{export.mjs → exports.mjs} +0 -0
@@ -1,45 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var utils = require('@duplojs/utils');
4
- var kind = require('../kind.cjs');
3
+ var base = require('./base.cjs');
5
4
  var contract = require('./contract.cjs');
5
+ var hook = require('./hook.cjs');
6
+ var predicted = require('./predicted.cjs');
6
7
 
7
- class Response extends utils.kindHeritage("response", kind.createCoreLibKind("response")) {
8
- code;
9
- information;
10
- body;
11
- headers = undefined;
12
- constructor(code, information, body) {
13
- super();
14
- this.code = code;
15
- this.information = information;
16
- this.body = body;
17
- }
18
- setHeaders(headers) {
19
- this.headers = utils.O.override(this.headers ?? {}, headers);
20
- return this;
21
- }
22
- setHeader(key, header) {
23
- if (!this.headers) {
24
- this.headers = {};
25
- }
26
- if (typeof header !== "undefined") {
27
- this.headers[key] = header;
28
- }
29
- return this;
30
- }
31
- deleteHeader(key) {
32
- if (!this.headers) {
33
- return this;
34
- }
35
- const { [key]: deleteHeader, ...rest } = this.headers;
36
- this.headers = rest;
37
- return this;
38
- }
39
- }
40
8
 
9
+
10
+ exports.Response = base.Response;
41
11
  Object.defineProperty(exports, "ResponseContract", {
42
- enumerable: true,
43
- get: function () { return contract.ResponseContract; }
12
+ enumerable: true,
13
+ get: function () { return contract.ResponseContract; }
44
14
  });
45
- exports.Response = Response;
15
+ exports.HookResponse = hook.HookResponse;
16
+ exports.PredictedResponse = predicted.PredictedResponse;
@@ -1,21 +1,4 @@
1
- import { type S } from "@duplojs/utils";
1
+ export * from "./base";
2
2
  export * from "./contract";
3
- export type InformationResponseCode = `1${S.Digit}${S.Digit}`;
4
- export type SuccessResponseCode = `2${S.Digit}${S.Digit}`;
5
- export type RedirectionResponseCode = `3${S.Digit}${S.Digit}`;
6
- export type ClientErrorResponseCode = `4${S.Digit}${S.Digit}`;
7
- export type ServerErrorResponseCode = `5${S.Digit}${S.Digit}`;
8
- export type ResponseCode = (InformationResponseCode | SuccessResponseCode | RedirectionResponseCode | ClientErrorResponseCode | ServerErrorResponseCode);
9
- declare const Response_base: new (params?: {
10
- "@DuplojsHttpCore/response"?: unknown;
11
- } | undefined) => import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/response", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"response", unknown>, unknown>;
12
- export declare class Response<GenericCode extends ResponseCode = ResponseCode, GenericInformation extends string = string, GenericBody extends unknown = unknown> extends Response_base {
13
- code: GenericCode;
14
- information: GenericInformation;
15
- body: GenericBody;
16
- headers: Record<string, string | string[]> | undefined;
17
- constructor(code: GenericCode, information: GenericInformation, body: GenericBody);
18
- setHeaders(headers: Partial<Record<string, string | string[]>>): this;
19
- setHeader(key: string, header?: string | string[]): this;
20
- deleteHeader(key: string): this;
21
- }
3
+ export * from "./hook";
4
+ export * from "./predicted";
@@ -1,39 +1,4 @@
1
- import { kindHeritage, O } from '@duplojs/utils';
2
- import { createCoreLibKind } from '../kind.mjs';
1
+ export { Response } from './base.mjs';
3
2
  export { ResponseContract } from './contract.mjs';
4
-
5
- class Response extends kindHeritage("response", createCoreLibKind("response")) {
6
- code;
7
- information;
8
- body;
9
- headers = undefined;
10
- constructor(code, information, body) {
11
- super();
12
- this.code = code;
13
- this.information = information;
14
- this.body = body;
15
- }
16
- setHeaders(headers) {
17
- this.headers = O.override(this.headers ?? {}, headers);
18
- return this;
19
- }
20
- setHeader(key, header) {
21
- if (!this.headers) {
22
- this.headers = {};
23
- }
24
- if (typeof header !== "undefined") {
25
- this.headers[key] = header;
26
- }
27
- return this;
28
- }
29
- deleteHeader(key) {
30
- if (!this.headers) {
31
- return this;
32
- }
33
- const { [key]: deleteHeader, ...rest } = this.headers;
34
- this.headers = rest;
35
- return this;
36
- }
37
- }
38
-
39
- export { Response };
3
+ export { HookResponse } from './hook.mjs';
4
+ export { PredictedResponse } from './predicted.mjs';
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ var kind = require('../kind.cjs');
4
+ require('./index.cjs');
5
+ var utils = require('@duplojs/utils');
6
+ var base = require('./base.cjs');
7
+
8
+ const defaultParamsParent = [undefined, undefined, undefined];
9
+ const defaultParams = {};
10
+ class PredictedResponse extends utils.kindHeritage("predicted-response", kind.createCoreLibKind("predicted-response"), base.Response) {
11
+ code;
12
+ information;
13
+ body;
14
+ constructor(code, information, body) {
15
+ super(defaultParams, defaultParamsParent);
16
+ this.code = code;
17
+ this.information = information;
18
+ this.body = body;
19
+ }
20
+ }
21
+
22
+ exports.PredictedResponse = PredictedResponse;
@@ -0,0 +1,11 @@
1
+ import { type ResponseCode, Response } from "../response";
2
+ declare const PredictedResponse_base: new (params: {
3
+ "@DuplojsHttpCore/predicted-response"?: unknown;
4
+ }, parentParams: [code: any, information: any, body: any]) => Response<any, any, any> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/predicted-response", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"predicted-response", unknown>, unknown>;
5
+ export declare class PredictedResponse<GenericCode extends ResponseCode = ResponseCode, GenericInformation extends string = string, GenericBody extends unknown = unknown> extends PredictedResponse_base {
6
+ code: GenericCode;
7
+ information: GenericInformation;
8
+ body: GenericBody;
9
+ constructor(code: GenericCode, information: GenericInformation, body: GenericBody);
10
+ }
11
+ export {};
@@ -0,0 +1,20 @@
1
+ import { createCoreLibKind } from '../kind.mjs';
2
+ import './index.mjs';
3
+ import { kindHeritage } from '@duplojs/utils';
4
+ import { Response } from './base.mjs';
5
+
6
+ const defaultParamsParent = [undefined, undefined, undefined];
7
+ const defaultParams = {};
8
+ class PredictedResponse extends kindHeritage("predicted-response", createCoreLibKind("predicted-response"), Response) {
9
+ code;
10
+ information;
11
+ body;
12
+ constructor(code, information, body) {
13
+ super(defaultParams, defaultParamsParent);
14
+ this.code = code;
15
+ this.information = information;
16
+ this.body = body;
17
+ }
18
+ }
19
+
20
+ export { PredictedResponse };
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var kind = require('../../kind.cjs');
4
- var response = require('./response.cjs');
3
+ var kind = require('../kind.cjs');
4
+ require('../response/index.cjs');
5
5
 
6
6
  const hookRouteExitKind = kind.createCoreLibKind("route-hook-exit");
7
7
  const hookRouteNextKind = kind.createCoreLibKind("route-hook-next");
@@ -15,7 +15,6 @@ function createHookRouteLifeCycle(...args) {
15
15
  };
16
16
  }
17
17
 
18
- exports.HookResponse = response.HookResponse;
19
18
  exports.createHookRouteLifeCycle = createHookRouteLifeCycle;
20
19
  exports.hookRouteExitKind = hookRouteExitKind;
21
20
  exports.hookRouteNextKind = hookRouteNextKind;
@@ -1,8 +1,8 @@
1
- import { type Request } from "../../request";
1
+ import { type Request } from "../request";
2
2
  import { type UnionToIntersection, type AnyFunction, type Kind, type MaybePromise, type SimplifyTopLevel, type IsEqual } from "@duplojs/utils";
3
- import { type HookResponse } from "./response";
4
- import { type ResponseCode, type Response } from "../../response";
5
- export * from "./response";
3
+ import { type HookResponse } from "../response";
4
+ import { type ResponseCode, type Response } from "../response";
5
+ export * from "../response";
6
6
  export interface HookParamsOnConstructRequest {
7
7
  request: Request;
8
8
  addRequestProperties<GenericNewProperties extends Record<string, unknown>>(newProperties: GenericNewProperties): Request & GenericNewProperties;
@@ -1,5 +1,5 @@
1
- import { createCoreLibKind } from '../../kind.mjs';
2
- export { HookResponse } from './response.mjs';
1
+ import { createCoreLibKind } from '../kind.mjs';
2
+ import '../response/index.mjs';
3
3
 
4
4
  const hookRouteExitKind = createCoreLibKind("route-hook-exit");
5
5
  const hookRouteNextKind = createCoreLibKind("route-hook-next");
@@ -3,15 +3,15 @@
3
3
  var utils = require('@duplojs/utils');
4
4
  var kind = require('../kind.cjs');
5
5
  require('./types/index.cjs');
6
- var index = require('./hooks/index.cjs');
6
+ var hooks = require('./hooks.cjs');
7
7
 
8
8
  const routeKind = kind.createCoreLibKind("route");
9
9
  function createRoute(definition) {
10
10
  return utils.pipe({ definition }, routeKind.setTo);
11
11
  }
12
12
 
13
- exports.createHookRouteLifeCycle = index.createHookRouteLifeCycle;
14
- exports.hookRouteExitKind = index.hookRouteExitKind;
15
- exports.hookRouteNextKind = index.hookRouteNextKind;
13
+ exports.createHookRouteLifeCycle = hooks.createHookRouteLifeCycle;
14
+ exports.hookRouteExitKind = hooks.hookRouteExitKind;
15
+ exports.hookRouteNextKind = hooks.hookRouteNextKind;
16
16
  exports.createRoute = createRoute;
17
17
  exports.routeKind = routeKind;
@@ -2,6 +2,7 @@ import { type O, type Kind } from "@duplojs/utils";
2
2
  import { type RequestMethods } from "../request";
3
3
  import { type ExtractStep, type CheckerStep, type CutStep, type HandlerStep, type ProcessStep, type stepKind, type PresetCheckerStep } from "../steps";
4
4
  import { type HookRouteLifeCycle } from "./hooks";
5
+ import { type Metadata } from "../metadata";
5
6
  export * from "./types";
6
7
  export * from "./hooks";
7
8
  export interface RouteStepsCustom {
@@ -17,6 +18,7 @@ export interface RouteDefinition {
17
18
  readonly preflightSteps: readonly RoutePreFlightSteps[];
18
19
  readonly steps: readonly RouteSteps[];
19
20
  readonly hooks: readonly HookRouteLifeCycle[];
21
+ readonly metadata: readonly Metadata[];
20
22
  }
21
23
  export declare const routeKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route", unknown>>;
22
24
  export interface Route<GenericDefinition extends RouteDefinition = RouteDefinition> extends Kind<typeof routeKind.definition> {
@@ -1,7 +1,7 @@
1
1
  import { pipe } from '@duplojs/utils';
2
2
  import { createCoreLibKind } from '../kind.mjs';
3
3
  import './types/index.mjs';
4
- export { createHookRouteLifeCycle, hookRouteExitKind, hookRouteNextKind } from './hooks/index.mjs';
4
+ export { createHookRouteLifeCycle, hookRouteExitKind, hookRouteNextKind } from './hooks.mjs';
5
5
 
6
6
  const routeKind = createCoreLibKind("route");
7
7
  function createRoute(definition) {
@@ -58,6 +58,7 @@ async function buildRouter(inputHub) {
58
58
  hooks: [],
59
59
  preflightSteps: [],
60
60
  steps: [hub.notfoundHandler],
61
+ metadata: [],
61
62
  }), async (route) => {
62
63
  const result = await build.buildRouteFunction(route, buildParams);
63
64
  return utils.E.whenIsLeft(result, (element) => {
@@ -57,6 +57,7 @@ async function buildRouter(inputHub) {
57
57
  hooks: [],
58
58
  preflightSteps: [],
59
59
  steps: [hub.notfoundHandler],
60
+ metadata: [],
60
61
  }), async (route) => {
61
62
  const result = await buildRouteFunction(route, buildParams);
62
63
  return E.whenIsLeft(result, (element) => {
@@ -3,6 +3,7 @@ import { type StepKind } from "./kind";
3
3
  import { type Checker } from "../checker";
4
4
  import { type Floor } from "../floor";
5
5
  import { type ClientErrorResponseCode, type ResponseContract } from "../response";
6
+ import { type Metadata } from "../metadata";
6
7
  export interface CheckerStepDefinition {
7
8
  readonly checker: Checker;
8
9
  readonly result: string | readonly string[];
@@ -10,6 +11,7 @@ export interface CheckerStepDefinition {
10
11
  input(input: Floor): unknown;
11
12
  readonly options?: Record<string, unknown> | ((input: any) => Record<string, unknown>);
12
13
  readonly responseContract: ResponseContract.Contract<ClientErrorResponseCode>;
14
+ readonly metadata: readonly Metadata[];
13
15
  }
14
16
  export declare const checkerStepKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/checker-step", unknown>>;
15
17
  export type _CheckerStep = (Kind<typeof checkerStepKind.definition> & StepKind);
@@ -2,17 +2,19 @@ import { type WrappedValue, type Kind, type MaybePromise, type NeverCoalescing }
2
2
  import { type StepKind } from "./kind";
3
3
  import { type Floor } from "../floor";
4
4
  import { type StepFunctionParams } from "./types";
5
- import { type Response, type ResponseContract } from "../response";
5
+ import { type PredictedResponse, type ResponseContract } from "../response";
6
6
  import { type Request } from "../request";
7
+ import { type Metadata } from "../metadata";
7
8
  export declare const cutStepOutputKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/cut-output", unknown>>;
8
9
  export interface CutStepFunctionOutput<GenericData extends Record<string, unknown> = Record<string, unknown>> extends Kind<typeof cutStepOutputKind.definition>, WrappedValue<GenericData> {
9
10
  }
10
- export interface CutStepFunctionParams<GenericRequest extends Request = Request, GenericResponse extends Response = Response> extends StepFunctionParams<GenericRequest, GenericResponse> {
11
+ export interface CutStepFunctionParams<GenericRequest extends Request = Request, GenericResponse extends PredictedResponse = PredictedResponse> extends StepFunctionParams<GenericRequest, GenericResponse> {
11
12
  output<GenericData extends Record<string, unknown> = never>(data?: GenericData): CutStepFunctionOutput<NeverCoalescing<GenericData, {}>>;
12
13
  }
13
14
  export interface CutStepDefinition {
14
- theFunction(floor: Floor, params: CutStepFunctionParams): MaybePromise<CutStepFunctionOutput | Response>;
15
+ theFunction(floor: Floor, params: CutStepFunctionParams): MaybePromise<CutStepFunctionOutput | PredictedResponse>;
15
16
  readonly responseContract: ResponseContract.Contract | readonly ResponseContract.Contract[];
17
+ readonly metadata: readonly Metadata[];
16
18
  }
17
19
  export declare const cutStepKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/cut-step", unknown>>;
18
20
  export type _CutStep = (Kind<typeof cutStepKind.definition> & StepKind);
@@ -2,6 +2,7 @@ import { type DP, type Kind, type O, type AnyFunction } from "@duplojs/utils";
2
2
  import { type StepKind } from "./kind";
3
3
  import { type Request } from "../request";
4
4
  import { type ClientErrorResponseCode, type ResponseContract } from "../response";
5
+ import { type Metadata } from "../metadata";
5
6
  export interface DisabledExtractKeysCustom {
6
7
  }
7
8
  export type DisabledExtractKeys = O.GetPropsWithValue<DisabledExtractKeysCustom, true>;
@@ -9,6 +10,7 @@ export type ExtractShape<GenericRequest extends Request = Request> = Partial<Rec
9
10
  export interface ExtractStepDefinition {
10
11
  readonly shape: ExtractShape;
11
12
  readonly responseContract?: ResponseContract.Contract<ClientErrorResponseCode, string, DP.DataParserEmpty>;
13
+ readonly metadata: readonly Metadata[];
12
14
  }
13
15
  export declare const extractStepKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/extract-step", unknown>>;
14
16
  export type _ExtractStep = (Kind<typeof extractStepKind.definition> & StepKind);
@@ -1,14 +1,16 @@
1
1
  import { type MaybePromise, type Kind } from "@duplojs/utils";
2
2
  import { type StepKind } from "./kind";
3
3
  import { type Floor } from "../floor";
4
- import { type Response, type ResponseContract } from "../response";
4
+ import { type PredictedResponse, type ResponseContract } from "../response";
5
5
  import { type Request } from "../request";
6
6
  import { type StepFunctionParams } from "./types";
7
- export interface HandlerStepFunctionParams<GenericRequest extends Request = Request, GenericResponse extends Response = Response> extends StepFunctionParams<GenericRequest, GenericResponse> {
7
+ import { type Metadata } from "../metadata";
8
+ export interface HandlerStepFunctionParams<GenericRequest extends Request = Request, GenericResponse extends PredictedResponse = PredictedResponse> extends StepFunctionParams<GenericRequest, GenericResponse> {
8
9
  }
9
10
  export interface HandlerStepDefinition {
10
- theFunction(floor: Floor, params: HandlerStepFunctionParams): MaybePromise<Response>;
11
+ theFunction(floor: Floor, params: HandlerStepFunctionParams): MaybePromise<PredictedResponse>;
11
12
  readonly responseContract: ResponseContract.Contract | readonly ResponseContract.Contract[];
13
+ readonly metadata: readonly Metadata[];
12
14
  }
13
15
  export declare const handlerStepKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/handler-step", unknown>>;
14
16
  type _HandlerStep = (Kind<typeof handlerStepKind.definition> & StepKind);
@@ -1,5 +1,5 @@
1
1
  import { type Kind } from "@duplojs/utils";
2
2
  export declare const stepIdentifier: {
3
- <GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/checker-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/cut-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/extract-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/handler-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/presetChecker-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/process-step", unknown>>, GenericInput extends Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/step", unknown>, unknown>, GenericGroupedKind extends import("@duplojs/utils").UnionToIntersection<GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<string, unknown>> ? Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>>(kind: GenericKindHandler | GenericKindHandler[]): (input: GenericInput) => input is (import("@duplojs/utils").IsEqual<import("@duplojs/utils").IsEqual<false | (GenericInput extends any ? import("@duplojs/utils").IsEqual<GenericInput, Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/step", unknown>, unknown>> : never), boolean>, true> extends true ? Extract<import("./checker").CheckerStep<import("./checker").CheckerStepDefinition>, GenericGroupedKind> | Extract<import("./cut").CutStep<import("./cut").CutStepDefinition>, GenericGroupedKind> | Extract<import("./extract").ExtractStep<import("./extract").ExtractStepDefinition>, GenericGroupedKind> | Extract<import("./handler").HandlerStep<import("./handler").HandlerStepDefinition>, GenericGroupedKind> | Extract<import("./presetChecker").PresetCheckerStep<import("./presetChecker").PresetCheckerStepDefinition>, GenericGroupedKind> | Extract<import("./process").ProcessStep<import("./process").ProcessStepDefinition>, GenericGroupedKind> : never) | Extract<GenericInput, GenericGroupedKind>;
4
- <GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/checker-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/cut-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/extract-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/handler-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/presetChecker-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/process-step", unknown>>, GenericInput extends Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/step", unknown>, unknown>, GenericGroupedKind extends import("@duplojs/utils").UnionToIntersection<GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<string, unknown>> ? Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>>(input: GenericInput, kind: GenericKindHandler | GenericKindHandler[]): input is (import("@duplojs/utils").IsEqual<import("@duplojs/utils").IsEqual<false | (GenericInput extends any ? import("@duplojs/utils").IsEqual<GenericInput, Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/step", unknown>, unknown>> : never), boolean>, true> extends true ? Extract<import("./checker").CheckerStep<import("./checker").CheckerStepDefinition>, GenericGroupedKind> | Extract<import("./cut").CutStep<import("./cut").CutStepDefinition>, GenericGroupedKind> | Extract<import("./extract").ExtractStep<import("./extract").ExtractStepDefinition>, GenericGroupedKind> | Extract<import("./handler").HandlerStep<import("./handler").HandlerStepDefinition>, GenericGroupedKind> | Extract<import("./presetChecker").PresetCheckerStep<import("./presetChecker").PresetCheckerStepDefinition>, GenericGroupedKind> | Extract<import("./process").ProcessStep<import("./process").ProcessStepDefinition>, GenericGroupedKind> : never) | Extract<GenericInput, GenericGroupedKind>;
3
+ <GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/checker-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/cut-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/extract-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/handler-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/presetChecker-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/process-step", unknown>>, GenericInput extends unknown, GenericGroupedKind extends import("@duplojs/utils").UnionToIntersection<GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<string, unknown>> ? Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>>(kind: GenericKindHandler | GenericKindHandler[]): (input: GenericInput) => input is (import("@duplojs/utils").IsEqual<import("@duplojs/utils").IsEqual<false | (GenericInput extends any ? import("@duplojs/utils").IsEqual<GenericInput, Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/step", unknown>, unknown>> : never), boolean>, true> extends true ? Extract<import("./checker").CheckerStep<import("./checker").CheckerStepDefinition>, GenericGroupedKind> | Extract<import("./cut").CutStep<import("./cut").CutStepDefinition>, GenericGroupedKind> | Extract<import("./extract").ExtractStep<import("./extract").ExtractStepDefinition>, GenericGroupedKind> | Extract<import("./handler").HandlerStep<import("./handler").HandlerStepDefinition>, GenericGroupedKind> | Extract<import("./presetChecker").PresetCheckerStep<import("./presetChecker").PresetCheckerStepDefinition>, GenericGroupedKind> | Extract<import("./process").ProcessStep<import("./process").ProcessStepDefinition>, GenericGroupedKind> : never) | Extract<GenericInput, GenericGroupedKind>;
4
+ <GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/checker-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/cut-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/extract-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/handler-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/presetChecker-step", unknown>> | import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/process-step", unknown>>, GenericInput extends unknown, GenericGroupedKind extends import("@duplojs/utils").UnionToIntersection<GenericKindHandler extends import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<string, unknown>> ? Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>>(input: GenericInput, kind: GenericKindHandler | GenericKindHandler[]): input is (import("@duplojs/utils").IsEqual<import("@duplojs/utils").IsEqual<false | (GenericInput extends any ? import("@duplojs/utils").IsEqual<GenericInput, Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/step", unknown>, unknown>> : never), boolean>, true> extends true ? Extract<import("./checker").CheckerStep<import("./checker").CheckerStepDefinition>, GenericGroupedKind> | Extract<import("./cut").CutStep<import("./cut").CutStepDefinition>, GenericGroupedKind> | Extract<import("./extract").ExtractStep<import("./extract").ExtractStepDefinition>, GenericGroupedKind> | Extract<import("./handler").HandlerStep<import("./handler").HandlerStepDefinition>, GenericGroupedKind> | Extract<import("./presetChecker").PresetCheckerStep<import("./presetChecker").PresetCheckerStepDefinition>, GenericGroupedKind> | Extract<import("./process").ProcessStep<import("./process").ProcessStepDefinition>, GenericGroupedKind> : never) | Extract<GenericInput, GenericGroupedKind>;
5
5
  };
@@ -2,9 +2,11 @@ import { type Kind } from "@duplojs/utils";
2
2
  import { type StepKind } from "./kind";
3
3
  import { type Floor } from "../floor";
4
4
  import { type PresetChecker } from "../presetChecker";
5
+ import { type Metadata } from "../metadata";
5
6
  export interface PresetCheckerStepDefinition {
6
7
  readonly presetChecker: PresetChecker;
7
8
  input(input: Floor): unknown;
9
+ readonly metadata: readonly Metadata[];
8
10
  }
9
11
  export declare const presetCheckerStepKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/presetChecker-step", unknown>>;
10
12
  export type _PresetCheckerStep = (Kind<typeof presetCheckerStepKind.definition> & StepKind);
@@ -1,10 +1,12 @@
1
1
  import { type Kind } from "@duplojs/utils";
2
2
  import { type StepKind } from "./kind";
3
3
  import { type Process } from "../process";
4
+ import { type Metadata } from "../metadata";
4
5
  export interface ProcessStepDefinition {
5
6
  readonly process: Process;
6
7
  readonly options?: Record<string, unknown> | ((input: any) => Record<string, unknown>);
7
8
  readonly imports?: readonly string[];
9
+ readonly metadata: readonly Metadata[];
8
10
  }
9
11
  export declare const processStepKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/process-step", unknown>>;
10
12
  export type _ProcessStep = (Kind<typeof processStepKind.definition> & StepKind);
@@ -1,7 +1,7 @@
1
1
  import { type Request } from "../../request";
2
- import { type Response } from "../../response";
2
+ import { type PredictedResponse } from "../../response";
3
3
  import { type IsEqual, type Or } from "@duplojs/utils";
4
- export interface StepFunctionParams<GenericRequest extends Request = Request, GenericResponse extends Response = Response> {
4
+ export interface StepFunctionParams<GenericRequest extends Request = Request, GenericResponse extends PredictedResponse = PredictedResponse> {
5
5
  request: GenericRequest;
6
6
  response<GenericInformation extends GenericResponse["information"], GenericFilteredResponse extends Extract<GenericResponse, {
7
7
  information: GenericInformation;
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+
@@ -0,0 +1,6 @@
1
+ import { type DP } from "@duplojs/utils";
2
+ declare const SymbolForbiddenBigintDataParser: unique symbol;
3
+ export type ForbiddenBigintDataParser<GenericDataParser extends DP.DataParser> = DP.Contain<GenericDataParser, DP.DataParserBigInt<any>> extends true ? {
4
+ [SymbolForbiddenBigintDataParser]: "Bigint dataParser is not supported.";
5
+ } : unknown;
6
+ export {};
@@ -1,4 +1,5 @@
1
1
  'use strict';
2
2
 
3
3
  require('./environment.cjs');
4
+ require('./forbiddenBigintDataParser.cjs');
4
5
 
@@ -1 +1,2 @@
1
1
  export * from "./environment";
2
+ export * from "./forbiddenBigintDataParser";
@@ -1 +1,2 @@
1
1
  import './environment.mjs';
2
+ import './forbiddenBigintDataParser.mjs';
@@ -13,6 +13,7 @@ async function createHttpServer(inputHub, params) {
13
13
  ...params,
14
14
  maxBodySize: "50mb",
15
15
  informationHeaderKey: "information",
16
+ predictedHeaderKey: "predicted",
16
17
  fromHookHeaderKey: "from-hook",
17
18
  interface: "node",
18
19
  };
@@ -10,6 +10,7 @@ declare module "../../core/hub" {
10
10
  readonly port: number;
11
11
  readonly maxBodySize: BytesInString | number;
12
12
  readonly informationHeaderKey: string;
13
+ readonly predictedHeaderKey: string;
13
14
  readonly fromHookHeaderKey: string;
14
15
  readonly http?: http.ServerOptions;
15
16
  readonly https?: https.ServerOptions;
@@ -19,5 +20,5 @@ declare module "../../core/hub" {
19
20
  readonly serverResponse: http.ServerResponse;
20
21
  }
21
22
  }
22
- export type CreateHttpServerParams = O.PartialKeys<Omit<HttpServerParams, "interface">, "maxBodySize" | "informationHeaderKey" | "fromHookHeaderKey">;
23
+ export type CreateHttpServerParams = O.PartialKeys<Omit<HttpServerParams, "interface">, "maxBodySize" | "informationHeaderKey" | "predictedHeaderKey" | "fromHookHeaderKey">;
23
24
  export declare function createHttpServer(inputHub: Hub, params: CreateHttpServerParams): Promise<https.Server<typeof http.IncomingMessage, typeof http.ServerResponse> | http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>>;
@@ -11,6 +11,7 @@ async function createHttpServer(inputHub, params) {
11
11
  ...params,
12
12
  maxBodySize: "50mb",
13
13
  informationHeaderKey: "information",
14
+ predictedHeaderKey: "predicted",
14
15
  fromHookHeaderKey: "from-hook",
15
16
  interface: "node",
16
17
  };
@@ -3,18 +3,20 @@
3
3
  require('../../core/route/index.cjs');
4
4
  var utils = require('@duplojs/utils');
5
5
  require('./error/index.cjs');
6
- var index = require('../../core/route/hooks/index.cjs');
7
- var response = require('../../core/route/hooks/response.cjs');
6
+ var hooks = require('../../core/route/hooks.cjs');
7
+ var predicted = require('../../core/response/predicted.cjs');
8
+ var hook = require('../../core/response/hook.cjs');
8
9
  var bodySizeExceedsLimitError = require('./error/bodySizeExceedsLimitError.cjs');
9
10
  var bodyParseWrongChunkReceived = require('./error/bodyParseWrongChunkReceived.cjs');
10
11
  var bodyParseUnknownError = require('./error/bodyParseUnknownError.cjs');
11
12
 
12
13
  function makeNodeHook(hub, serverParams) {
13
14
  const informationHeaderKey = serverParams.informationHeaderKey;
15
+ const predictedHeaderKey = serverParams.predictedHeaderKey;
14
16
  const fromHookHeaderKey = serverParams.fromHookHeaderKey;
15
17
  const isDev = hub.config.environment === "DEV";
16
18
  const maxBodySize = utils.stringToBytes(serverParams.maxBodySize);
17
- return index.createHookRouteLifeCycle({
19
+ return hooks.createHookRouteLifeCycle({
18
20
  async parseBody({ request, exit }) {
19
21
  const contentType = request.headers["content-type"] instanceof Array
20
22
  ? request.headers["content-type"].join(", ")
@@ -79,17 +81,20 @@ function makeNodeHook(hub, serverParams) {
79
81
  },
80
82
  beforeSendResponse({ request, currentResponse, exit }) {
81
83
  const body = currentResponse.body;
82
- if (typeof body === "number"
83
- || typeof body === "string"
84
- || body === null
84
+ if (typeof body === "string"
85
85
  || body instanceof Error) {
86
86
  currentResponse.setHeader("content-type", "text/plain; charset=utf-8");
87
87
  }
88
- else if (typeof body === "object") {
88
+ else if (typeof body === "object"
89
+ || typeof body === "number"
90
+ || typeof body === "boolean") {
89
91
  currentResponse.setHeader("content-type", "application/json; charset=utf-8");
90
92
  }
91
93
  currentResponse.setHeader(informationHeaderKey, currentResponse.information);
92
- if (currentResponse instanceof response.HookResponse) {
94
+ if (currentResponse instanceof predicted.PredictedResponse) {
95
+ currentResponse.setHeader(predictedHeaderKey, "1");
96
+ }
97
+ else if (currentResponse instanceof hook.HookResponse) {
93
98
  currentResponse.setHeader(fromHookHeaderKey, currentResponse.fromHook);
94
99
  }
95
100
  request.raw.response.writeHead(Number(currentResponse.code), currentResponse.headers);
@@ -101,16 +106,14 @@ function makeNodeHook(hub, serverParams) {
101
106
  if (body instanceof Error) {
102
107
  rawResponse.write(body.toString());
103
108
  }
104
- else if (typeof body === "object") {
109
+ else if (typeof body === "object"
110
+ || typeof body === "number"
111
+ || typeof body === "boolean") {
105
112
  rawResponse.write(JSON.stringify(body));
106
113
  }
107
114
  else if (typeof body === "string") {
108
115
  rawResponse.write(body);
109
116
  }
110
- else if (typeof body === "number"
111
- || typeof body === "bigint") {
112
- rawResponse.write(body.toString());
113
- }
114
117
  rawResponse.end();
115
118
  return exit();
116
119
  },