@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
@@ -5,15 +5,16 @@ import { type O, type MaybeArray, type NeverCoalescing, type FixDeepFunctionInfe
5
5
  import { type GetCheckerInput, type Checker, type GetCheckerResult, type GetCheckerOptions } from "../../checker";
6
6
  import { type ClientErrorResponseCode, type ResponseContract } from "../../response";
7
7
  import { type Request } from "../../request";
8
+ import { type Metadata } from "../../metadata";
8
9
  declare module "./builder" {
9
10
  interface RouteBuilder<GenericDefinition extends RouteDefinition = RouteDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
10
- check<GenericChecker extends Checker, GenericResultInformation extends MaybeArray<Awaited<GetCheckerResult<GenericChecker>>["information"]>, GenericInput extends GetCheckerInput<GenericChecker>, GenericResponseContract extends ResponseContract.Contract<ClientErrorResponseCode, string, DP.DataParserEmpty>, GenericIndex extends string = never, GenericOptions extends (GetCheckerOptions<GenericChecker> | ((floor: GenericFloor) => Exclude<GetCheckerOptions<GenericChecker>, undefined>)) = never>(checker: GenericChecker, params: {
11
+ check<GenericChecker extends Checker, GenericResultInformation extends MaybeArray<Awaited<GetCheckerResult<GenericChecker>>["information"]>, GenericInput extends GetCheckerInput<GenericChecker>, GenericResponseContract extends ResponseContract.Contract<ClientErrorResponseCode, string, DP.DataParserEmpty>, GenericIndex extends string = never, GenericOptions extends (GetCheckerOptions<GenericChecker> | ((floor: GenericFloor) => Exclude<GetCheckerOptions<GenericChecker>, undefined>)) = never, const GenericMetadata extends readonly Metadata[] = readonly []>(checker: GenericChecker, params: {
11
12
  input(floor: GenericFloor): GenericInput;
12
13
  readonly result: GenericResultInformation;
13
14
  readonly indexing?: GenericIndex;
14
15
  readonly options?: FixDeepFunctionInfer<GenericChecker["definition"]["options"] | ((floor: GenericFloor) => GenericChecker["definition"]["options"]), GenericOptions>;
15
16
  readonly otherwise: GenericResponseContract;
16
- }): RouteBuilder<O.AssignObjects<GenericDefinition, {
17
+ }, ...metadata: GenericMetadata): RouteBuilder<O.AssignObjects<GenericDefinition, {
17
18
  readonly steps: readonly [
18
19
  ...GenericDefinition["steps"],
19
20
  CheckerStep<{
@@ -23,6 +24,7 @@ declare module "./builder" {
23
24
  input(floor: GenericFloor): GenericInput;
24
25
  readonly options: NeverCoalescing<Adaptor<GenericOptions, AnyFunction | GenericChecker["definition"]["options"]>, undefined>;
25
26
  readonly responseContract: GenericResponseContract;
27
+ readonly metadata: GenericMetadata;
26
28
  }>
27
29
  ];
28
30
  }>, O.AssignObjects<GenericFloor, {
@@ -2,7 +2,7 @@ import '../../steps/index.mjs';
2
2
  import { routeBuilderHandler } from './builder.mjs';
3
3
  import { createCheckerStep } from '../../steps/checker.mjs';
4
4
 
5
- routeBuilderHandler.set("check", ({ args: [checker, { otherwise: responseContract, ...params },], accumulator, next, }) => next({
5
+ routeBuilderHandler.set("check", ({ args: [checker, { otherwise: responseContract, ...params }, ...metadata], accumulator, next, }) => next({
6
6
  ...accumulator,
7
7
  steps: [
8
8
  ...accumulator.steps,
@@ -10,6 +10,7 @@ routeBuilderHandler.set("check", ({ args: [checker, { otherwise: responseContrac
10
10
  ...params,
11
11
  responseContract,
12
12
  checker,
13
+ metadata,
13
14
  }),
14
15
  ],
15
16
  }));
@@ -4,13 +4,14 @@ require('../../steps/index.cjs');
4
4
  var builder = require('./builder.cjs');
5
5
  var cut = require('../../steps/cut.cjs');
6
6
 
7
- builder.routeBuilderHandler.set("cut", ({ args: [responseContract, theFunction], accumulator, next, }) => next({
7
+ builder.routeBuilderHandler.set("cut", ({ args: [responseContract, theFunction, ...metadata], accumulator, next, }) => next({
8
8
  ...accumulator,
9
9
  steps: [
10
10
  ...accumulator.steps,
11
11
  cut.createCutStep({
12
12
  responseContract,
13
13
  theFunction,
14
+ metadata,
14
15
  }),
15
16
  ],
16
17
  }));
@@ -4,14 +4,16 @@ import { type RouteDefinition } from "../../route";
4
4
  import { type CutStepFunctionOutput, type CutStep, type CutStepFunctionParams } from "../../steps";
5
5
  import { type Unwrap, type O, type MaybePromise, type IsEqual, type A } from "@duplojs/utils";
6
6
  import { type Request } from "../../request";
7
+ import { type Metadata } from "../../metadata";
7
8
  declare module "./builder" {
8
9
  interface RouteBuilder<GenericDefinition extends RouteDefinition = RouteDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
9
- cut<const GenericResponseContract extends (ResponseContract.Contract | readonly ResponseContract.Contract[]), GenericResponse extends ResponseContract.Convert<A.ArrayCoalescing<GenericResponseContract>[number]>, GenericOutput extends CutStepFunctionOutput | GenericResponse>(responseContract: GenericResponseContract, theFunction: (floor: GenericFloor, param: CutStepFunctionParams<GenericRequest, GenericResponse>) => MaybePromise<GenericOutput>): RouteBuilder<O.AssignObjects<GenericDefinition, {
10
+ cut<const GenericResponseContract extends (ResponseContract.Contract | readonly ResponseContract.Contract[]), GenericResponse extends ResponseContract.Convert<A.ArrayCoalescing<GenericResponseContract>[number]>, GenericOutput extends CutStepFunctionOutput | GenericResponse, const GenericMetadata extends readonly Metadata[] = readonly []>(responseContract: GenericResponseContract, theFunction: (floor: GenericFloor, params: CutStepFunctionParams<GenericRequest, GenericResponse>) => MaybePromise<GenericOutput>, ...metadata: GenericMetadata): RouteBuilder<O.AssignObjects<GenericDefinition, {
10
11
  readonly steps: readonly [
11
12
  ...GenericDefinition["steps"],
12
13
  CutStep<{
13
14
  readonly responseContract: GenericResponseContract;
14
15
  theFunction(floor: GenericFloor, param: CutStepFunctionParams<GenericRequest, GenericResponse>): MaybePromise<GenericOutput>;
16
+ readonly metadata: GenericMetadata;
15
17
  }>
16
18
  ];
17
19
  }>, IsEqual<Extract<GenericOutput, CutStepFunctionOutput>, never> extends true ? GenericFloor : (GenericOutput extends infer InferredOutputData extends CutStepFunctionOutput ? O.AssignObjects<GenericFloor, Unwrap<InferredOutputData>> : never), GenericRequest>;
@@ -2,13 +2,14 @@ import '../../steps/index.mjs';
2
2
  import { routeBuilderHandler } from './builder.mjs';
3
3
  import { createCutStep } from '../../steps/cut.mjs';
4
4
 
5
- routeBuilderHandler.set("cut", ({ args: [responseContract, theFunction], accumulator, next, }) => next({
5
+ routeBuilderHandler.set("cut", ({ args: [responseContract, theFunction, ...metadata], accumulator, next, }) => next({
6
6
  ...accumulator,
7
7
  steps: [
8
8
  ...accumulator.steps,
9
9
  createCutStep({
10
10
  responseContract,
11
11
  theFunction,
12
+ metadata,
12
13
  }),
13
14
  ],
14
15
  }));
@@ -4,13 +4,14 @@ require('../../steps/index.cjs');
4
4
  var builder = require('./builder.cjs');
5
5
  var extract = require('../../steps/extract.cjs');
6
6
 
7
- builder.routeBuilderHandler.set("extract", ({ args: [shape, responseContract], accumulator, next, }) => next({
7
+ builder.routeBuilderHandler.set("extract", ({ args: [shape, responseContract, ...metadata], accumulator, next, }) => next({
8
8
  ...accumulator,
9
9
  steps: [
10
10
  ...accumulator.steps,
11
11
  extract.createExtractStep({
12
12
  shape,
13
13
  responseContract,
14
+ metadata,
14
15
  }),
15
16
  ],
16
17
  }));
@@ -4,14 +4,16 @@ import { type ExtractShape, type ExtractStep } from "../../steps";
4
4
  import { type DP, type ObjectEntry, type O, type SimplifyTopLevel, type NeverCoalescing } from "@duplojs/utils";
5
5
  import { type ClientErrorResponseCode, type ResponseContract } from "../../response";
6
6
  import { type Request } from "../../request";
7
+ import { type Metadata } from "../../metadata";
7
8
  declare module "./builder" {
8
9
  interface RouteBuilder<GenericDefinition extends RouteDefinition = RouteDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
9
- extract<GenericShape extends ExtractShape<GenericRequest>, GenericResponseContract extends (ResponseContract.Contract<ClientErrorResponseCode, string, DP.DataParserEmpty>) = never>(shape: GenericShape, responseContract?: GenericResponseContract): RouteBuilder<O.AssignObjects<GenericDefinition, {
10
+ extract<GenericShape extends ExtractShape<GenericRequest>, GenericResponseContract extends (ResponseContract.Contract<ClientErrorResponseCode, string, DP.DataParserEmpty> | undefined) = never, const GenericMetadata extends readonly Metadata[] = readonly []>(shape: GenericShape, responseContract?: GenericResponseContract, ...metadata: GenericMetadata): RouteBuilder<O.AssignObjects<GenericDefinition, {
10
11
  readonly steps: readonly [
11
12
  ...GenericDefinition["steps"],
12
13
  ExtractStep<{
13
14
  readonly shape: GenericShape;
14
15
  readonly responseContract: NeverCoalescing<GenericResponseContract, undefined>;
16
+ readonly metadata: GenericMetadata;
15
17
  }>
16
18
  ];
17
19
  }>, O.AssignObjects<GenericFloor, {
@@ -2,13 +2,14 @@ import '../../steps/index.mjs';
2
2
  import { routeBuilderHandler } from './builder.mjs';
3
3
  import { createExtractStep } from '../../steps/extract.mjs';
4
4
 
5
- routeBuilderHandler.set("extract", ({ args: [shape, responseContract], accumulator, next, }) => next({
5
+ routeBuilderHandler.set("extract", ({ args: [shape, responseContract, ...metadata], accumulator, next, }) => next({
6
6
  ...accumulator,
7
7
  steps: [
8
8
  ...accumulator.steps,
9
9
  createExtractStep({
10
10
  shape,
11
11
  responseContract,
12
+ metadata,
12
13
  }),
13
14
  ],
14
15
  }));
@@ -2,11 +2,14 @@
2
2
 
3
3
  var index = require('../../route/index.cjs');
4
4
  require('../../steps/index.cjs');
5
+ var utils = require('@duplojs/utils');
5
6
  var builder = require('./builder.cjs');
6
7
  var store = require('./store.cjs');
8
+ require('../../metadata/index.cjs');
7
9
  var handler = require('../../steps/handler.cjs');
10
+ var ignoreByRouteStore = require('../../metadata/ignoreByRouteStore.cjs');
8
11
 
9
- builder.routeBuilderHandler.set("handler", ({ args: [responseContract, theFunction], accumulator, }) => {
12
+ builder.routeBuilderHandler.set("handler", ({ args: [responseContract, theFunction, ...metadata], accumulator, }) => {
10
13
  const route = index.createRoute({
11
14
  ...accumulator,
12
15
  steps: [
@@ -14,9 +17,13 @@ builder.routeBuilderHandler.set("handler", ({ args: [responseContract, theFuncti
14
17
  handler.createHandlerStep({
15
18
  responseContract,
16
19
  theFunction,
20
+ metadata,
17
21
  }),
18
22
  ],
19
23
  });
20
- store.routeStore.add(route);
24
+ const ignoreByRouteStoreMetadata = utils.A.find(accumulator.metadata, ignoreByRouteStore.IgnoreByRouteStoreMetadata.is);
25
+ if (ignoreByRouteStoreMetadata === undefined) {
26
+ store.routeStore.add(route);
27
+ }
21
28
  return route;
22
29
  });
@@ -4,14 +4,16 @@ import { type Route, type RouteDefinition } from "../../route";
4
4
  import { type HandlerStep, type HandlerStepFunctionParams } from "../../steps";
5
5
  import { type MaybePromise, type AnyTuple, type O } from "@duplojs/utils";
6
6
  import { type Request } from "../../request";
7
+ import { type Metadata } from "../../metadata";
7
8
  declare module "./builder" {
8
9
  interface RouteBuilder<GenericDefinition extends RouteDefinition = RouteDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
9
- handler<GenericResponseContract extends (ResponseContract.Contract | readonly [ResponseContract.Contract, ...ResponseContract.Contract[]]), GenericResponse extends ResponseContract.Convert<GenericResponseContract extends AnyTuple ? GenericResponseContract[number] : GenericResponseContract>>(responseContract: GenericResponseContract, theFunction: (floor: GenericFloor, param: HandlerStepFunctionParams<GenericRequest, GenericResponse>) => MaybePromise<GenericResponse>): Route<O.AssignObjects<GenericDefinition, {
10
+ handler<GenericResponseContract extends (ResponseContract.Contract | readonly [ResponseContract.Contract, ...ResponseContract.Contract[]]), GenericResponse extends ResponseContract.Convert<GenericResponseContract extends AnyTuple ? GenericResponseContract[number] : GenericResponseContract>, const GenericMetadata extends readonly Metadata[] = readonly []>(responseContract: GenericResponseContract, theFunction: (floor: GenericFloor, param: HandlerStepFunctionParams<GenericRequest, GenericResponse>) => MaybePromise<GenericResponse>, ...metadata: GenericMetadata): Route<O.AssignObjects<GenericDefinition, {
10
11
  readonly steps: readonly [
11
12
  ...GenericDefinition["steps"],
12
13
  HandlerStep<{
13
14
  readonly responseContract: GenericResponseContract;
14
15
  theFunction(floor: GenericFloor, param: HandlerStepFunctionParams<GenericRequest, GenericResponse>): MaybePromise<GenericResponse>;
16
+ readonly metadata: GenericMetadata;
15
17
  }>
16
18
  ];
17
19
  }>>;
@@ -1,10 +1,13 @@
1
1
  import { createRoute } from '../../route/index.mjs';
2
2
  import '../../steps/index.mjs';
3
+ import { A } from '@duplojs/utils';
3
4
  import { routeBuilderHandler } from './builder.mjs';
4
5
  import { routeStore } from './store.mjs';
6
+ import '../../metadata/index.mjs';
5
7
  import { createHandlerStep } from '../../steps/handler.mjs';
8
+ import { IgnoreByRouteStoreMetadata } from '../../metadata/ignoreByRouteStore.mjs';
6
9
 
7
- routeBuilderHandler.set("handler", ({ args: [responseContract, theFunction], accumulator, }) => {
10
+ routeBuilderHandler.set("handler", ({ args: [responseContract, theFunction, ...metadata], accumulator, }) => {
8
11
  const route = createRoute({
9
12
  ...accumulator,
10
13
  steps: [
@@ -12,9 +15,13 @@ routeBuilderHandler.set("handler", ({ args: [responseContract, theFunction], acc
12
15
  createHandlerStep({
13
16
  responseContract,
14
17
  theFunction,
18
+ metadata,
15
19
  }),
16
20
  ],
17
21
  });
18
- routeStore.add(route);
22
+ const ignoreByRouteStoreMetadata = A.find(accumulator.metadata, IgnoreByRouteStoreMetadata.is);
23
+ if (ignoreByRouteStoreMetadata === undefined) {
24
+ routeStore.add(route);
25
+ }
19
26
  return route;
20
27
  });
@@ -4,13 +4,14 @@ require('../../steps/index.cjs');
4
4
  var builder = require('./builder.cjs');
5
5
  var presetChecker = require('../../steps/presetChecker.cjs');
6
6
 
7
- builder.routeBuilderHandler.set("presetCheck", ({ args: [presetChecker$1, input,], accumulator, next, }) => next({
7
+ builder.routeBuilderHandler.set("presetCheck", ({ args: [presetChecker$1, input, ...metadata], accumulator, next, }) => next({
8
8
  ...accumulator,
9
9
  steps: [
10
10
  ...accumulator.steps,
11
11
  presetChecker.createPresetCheckerStep({
12
12
  presetChecker: presetChecker$1,
13
13
  input,
14
+ metadata,
14
15
  }),
15
16
  ],
16
17
  }));
@@ -4,14 +4,16 @@ import { type PresetCheckerStep } from "../../steps";
4
4
  import { type O, type A } from "@duplojs/utils";
5
5
  import { type Request } from "../../request";
6
6
  import { type GetPresetCheckerIndex, type GetPresetCheckerInformation, type GetPresetCheckerResult, type GetPresetCheckerInput, type PresetChecker } from "../../presetChecker";
7
+ import { type Metadata } from "../../metadata";
7
8
  declare module "./builder" {
8
9
  interface RouteBuilder<GenericDefinition extends RouteDefinition = RouteDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
9
- presetCheck<GenericPresetChecker extends PresetChecker, GenericInput extends GetPresetCheckerInput<GenericPresetChecker>>(presetChecker: GenericPresetChecker, input: (floor: GenericFloor) => GenericInput): RouteBuilder<O.AssignObjects<GenericDefinition, {
10
+ presetCheck<GenericPresetChecker extends PresetChecker, GenericInput extends GetPresetCheckerInput<GenericPresetChecker>, const GenericMetadata extends readonly Metadata[] = readonly []>(presetChecker: GenericPresetChecker, input: (floor: GenericFloor) => GenericInput, ...metadata: GenericMetadata): RouteBuilder<O.AssignObjects<GenericDefinition, {
10
11
  readonly steps: readonly [
11
12
  ...GenericDefinition["steps"],
12
13
  PresetCheckerStep<{
13
14
  readonly presetChecker: GenericPresetChecker;
14
15
  input(floor: GenericFloor): GenericInput;
16
+ readonly metadata: GenericMetadata;
15
17
  }>
16
18
  ];
17
19
  }>, O.AssignObjects<GenericFloor, {
@@ -2,13 +2,14 @@ import '../../steps/index.mjs';
2
2
  import { routeBuilderHandler } from './builder.mjs';
3
3
  import { createPresetCheckerStep } from '../../steps/presetChecker.mjs';
4
4
 
5
- routeBuilderHandler.set("presetCheck", ({ args: [presetChecker, input,], accumulator, next, }) => next({
5
+ routeBuilderHandler.set("presetCheck", ({ args: [presetChecker, input, ...metadata], accumulator, next, }) => next({
6
6
  ...accumulator,
7
7
  steps: [
8
8
  ...accumulator.steps,
9
9
  createPresetCheckerStep({
10
10
  presetChecker,
11
11
  input,
12
+ metadata,
12
13
  }),
13
14
  ],
14
15
  }));
@@ -4,13 +4,14 @@ require('../../steps/index.cjs');
4
4
  var builder = require('./builder.cjs');
5
5
  var process = require('../../steps/process.cjs');
6
6
 
7
- builder.routeBuilderHandler.set("exec", ({ args: [process$1, params,], accumulator, next, }) => next({
7
+ builder.routeBuilderHandler.set("exec", ({ args: [process$1, params, ...metadata], accumulator, next, }) => next({
8
8
  ...accumulator,
9
9
  steps: [
10
10
  ...accumulator.steps,
11
11
  process.createProcessStep({
12
12
  ...params,
13
13
  process: process$1,
14
+ metadata,
14
15
  }),
15
16
  ],
16
17
  }));
@@ -4,18 +4,20 @@ import { type ProcessStep } from "../../steps";
4
4
  import { type O, type NeverCoalescing, type FixDeepFunctionInfer, type Adaptor, type AnyFunction } from "@duplojs/utils";
5
5
  import { type GetProcessRequest, type GetProcessExportValue, type Process } from "../../process";
6
6
  import { type Request } from "../../request";
7
+ import { type Metadata } from "../../metadata";
7
8
  declare module "./builder" {
8
9
  interface RouteBuilder<GenericDefinition extends RouteDefinition = RouteDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
9
- exec<GenericProcess extends Process, GenericProcessExportValue extends GetProcessExportValue<GenericProcess>, const GenericImportation extends readonly Extract<keyof GenericProcessExportValue, string>[] = never, GenericOptions extends (GenericProcess["definition"]["options"] | ((floor: GenericFloor) => Exclude<GenericProcess["definition"]["options"], undefined>)) = never>(process: GenericProcess, params?: {
10
+ exec<GenericProcess extends Process, GenericProcessExportValue extends GetProcessExportValue<GenericProcess>, const GenericImportation extends readonly Extract<keyof GenericProcessExportValue, string>[] = never, GenericOptions extends (GenericProcess["definition"]["options"] | ((floor: GenericFloor) => Exclude<GenericProcess["definition"]["options"], undefined>)) = never, const GenericMetadata extends readonly Metadata[] = readonly []>(process: GenericProcess, params?: {
10
11
  readonly imports?: GenericImportation;
11
12
  readonly options?: FixDeepFunctionInfer<GenericProcess["definition"]["options"] | ((floor: GenericFloor) => GenericProcess["definition"]["options"]), GenericOptions>;
12
- }): RouteBuilder<O.AssignObjects<GenericDefinition, {
13
+ }, ...metadata: GenericMetadata): RouteBuilder<O.AssignObjects<GenericDefinition, {
13
14
  readonly steps: readonly [
14
15
  ...GenericDefinition["steps"],
15
16
  ProcessStep<{
16
17
  readonly process: GenericProcess;
17
18
  readonly options: NeverCoalescing<Adaptor<GenericOptions, AnyFunction | GenericProcess["definition"]["options"]>, undefined>;
18
19
  readonly imports: NeverCoalescing<GenericImportation, undefined>;
20
+ readonly metadata: GenericMetadata;
19
21
  }>
20
22
  ];
21
23
  }>, O.AssignObjects<GenericFloor, Pick<GenericProcessExportValue, GenericImportation[number]>>, GenericRequest & NeverCoalescing<GetProcessRequest<GenericProcess>, Request>>;
@@ -2,13 +2,14 @@ import '../../steps/index.mjs';
2
2
  import { routeBuilderHandler } from './builder.mjs';
3
3
  import { createProcessStep } from '../../steps/process.mjs';
4
4
 
5
- routeBuilderHandler.set("exec", ({ args: [process, params,], accumulator, next, }) => next({
5
+ routeBuilderHandler.set("exec", ({ args: [process, params, ...metadata], accumulator, next, }) => next({
6
6
  ...accumulator,
7
7
  steps: [
8
8
  ...accumulator.steps,
9
9
  createProcessStep({
10
10
  ...params,
11
11
  process,
12
+ metadata,
12
13
  }),
13
14
  ],
14
15
  }));
@@ -2,12 +2,13 @@
2
2
 
3
3
  var index = require('../../route/index.cjs');
4
4
  var utils = require('@duplojs/utils');
5
- var index$1 = require('../../response/index.cjs');
5
+ require('../../response/index.cjs');
6
6
  var hook = require('./hook.cjs');
7
7
  var create = require('./create.cjs');
8
8
  require('../steps/index.cjs');
9
9
  var processStep = require('../steps/defaults/processStep.cjs');
10
- var response = require('../../route/hooks/response.cjs');
10
+ var base = require('../../response/base.cjs');
11
+ var hook$1 = require('../../response/hook.cjs');
11
12
 
12
13
  /* eslint-disable @typescript-eslint/prefer-for-of */
13
14
  const defaultRouteFunctionBuilder = create.createRouteFunctionBuilder(index.routeKind.has, async (route, { success, buildStep, globalHooksRouteLifeCycle, }) => {
@@ -63,13 +64,13 @@ const defaultRouteFunctionBuilder = create.createRouteFunctionBuilder(index.rout
63
64
  next: hook.nextHookFunction,
64
65
  response: hook.createHookResponse("beforeRouteExecution"),
65
66
  });
66
- if (beforeRouteExecutionResult instanceof index$1.Response) {
67
+ if (beforeRouteExecutionResult instanceof base.Response) {
67
68
  return beforeRouteExecutionResult;
68
69
  }
69
70
  let floor = {};
70
71
  for (let index = 0; index < buildedPreFlightSteps.length; index++) {
71
72
  const result = await buildedPreFlightSteps[index].buildedFunction(request, floor);
72
- if (result instanceof index$1.Response) {
73
+ if (result instanceof base.Response) {
73
74
  return result;
74
75
  }
75
76
  floor = result;
@@ -80,17 +81,17 @@ const defaultRouteFunctionBuilder = create.createRouteFunctionBuilder(index.rout
80
81
  next: hook.nextHookFunction,
81
82
  response: hook.createHookResponse("parseBody"),
82
83
  });
83
- if (parseBodyResult instanceof index$1.Response) {
84
+ if (parseBodyResult instanceof base.Response) {
84
85
  return parseBodyResult;
85
86
  }
86
87
  for (let index = 0; index < buildedSteps.length; index++) {
87
88
  const result = await buildedSteps[index].buildedFunction(request, floor);
88
- if (result instanceof index$1.Response) {
89
+ if (result instanceof base.Response) {
89
90
  return result;
90
91
  }
91
92
  floor = result;
92
93
  }
93
- return new index$1.Response("500", "missing-response", undefined);
94
+ return new base.Response("500", "missing-response", undefined);
94
95
  }
95
96
  catch (error) {
96
97
  const errorResult = await hooks.error({
@@ -100,10 +101,10 @@ const defaultRouteFunctionBuilder = create.createRouteFunctionBuilder(index.rout
100
101
  next: hook.nextHookFunction,
101
102
  response: hook.createHookResponse("error"),
102
103
  });
103
- if (errorResult instanceof response.HookResponse) {
104
+ if (errorResult instanceof hook$1.HookResponse) {
104
105
  return errorResult;
105
106
  }
106
- return new index$1.Response("500", "server-error", error);
107
+ return new base.Response("500", "server-error", error);
107
108
  }
108
109
  }
109
110
  return success(async (request) => {
@@ -1,11 +1,12 @@
1
1
  import { routeKind } from '../../route/index.mjs';
2
2
  import { E, A, pipe, isType, forward } from '@duplojs/utils';
3
- import { Response } from '../../response/index.mjs';
3
+ import '../../response/index.mjs';
4
4
  import { buildHookAfter, buildHookErrorBefore, buildHookBefore, createHookResponse, nextHookFunction, exitHookFunction } from './hook.mjs';
5
5
  import { createRouteFunctionBuilder } from './create.mjs';
6
6
  import '../steps/index.mjs';
7
7
  import { buildStepsFunction } from '../steps/defaults/processStep.mjs';
8
- import { HookResponse } from '../../route/hooks/response.mjs';
8
+ import { Response } from '../../response/base.mjs';
9
+ import { HookResponse } from '../../response/hook.mjs';
9
10
 
10
11
  /* eslint-disable @typescript-eslint/prefer-for-of */
11
12
  const defaultRouteFunctionBuilder = createRouteFunctionBuilder(routeKind.has, async (route, { success, buildStep, globalHooksRouteLifeCycle, }) => {
@@ -1,56 +1,56 @@
1
1
  'use strict';
2
2
 
3
3
  require('../../route/index.cjs');
4
- var index = require('../../route/hooks/index.cjs');
5
- var response = require('../../route/hooks/response.cjs');
4
+ var hooks = require('../../route/hooks.cjs');
5
+ var hook = require('../../response/hook.cjs');
6
6
 
7
7
  /* eslint-disable @typescript-eslint/prefer-for-of */
8
- const hookExit = index.hookRouteExitKind.setTo({});
9
- const hookNext = index.hookRouteNextKind.setTo({});
8
+ const hookExit = hooks.hookRouteExitKind.setTo({});
9
+ const hookNext = hooks.hookRouteNextKind.setTo({});
10
10
  function exitHookFunction() {
11
11
  return hookExit;
12
12
  }
13
13
  function nextHookFunction() {
14
14
  return hookNext;
15
15
  }
16
- function buildHookBefore(hooks) {
17
- if (!hooks.length) {
16
+ function buildHookBefore(hooks$1) {
17
+ if (!hooks$1.length) {
18
18
  return exitHookFunction;
19
19
  }
20
20
  return async (params) => {
21
- for (let index$1 = 0; index$1 < hooks.length; index$1++) {
22
- const result = await hooks[index$1](params);
23
- if (index.hookRouteExitKind.has(result)
24
- || result instanceof response.HookResponse) {
21
+ for (let index = 0; index < hooks$1.length; index++) {
22
+ const result = await hooks$1[index](params);
23
+ if (hooks.hookRouteExitKind.has(result)
24
+ || result instanceof hook.HookResponse) {
25
25
  return result;
26
26
  }
27
27
  }
28
28
  return hookNext;
29
29
  };
30
30
  }
31
- function buildHookErrorBefore(hooks) {
32
- if (!hooks.length) {
31
+ function buildHookErrorBefore(hooks$1) {
32
+ if (!hooks$1.length) {
33
33
  return exitHookFunction;
34
34
  }
35
35
  return async (params) => {
36
- for (let index$1 = 0; index$1 < hooks.length; index$1++) {
37
- const result = await hooks[index$1](params);
38
- if (index.hookRouteExitKind.has(result)
39
- || result instanceof response.HookResponse) {
36
+ for (let index = 0; index < hooks$1.length; index++) {
37
+ const result = await hooks$1[index](params);
38
+ if (hooks.hookRouteExitKind.has(result)
39
+ || result instanceof hook.HookResponse) {
40
40
  return result;
41
41
  }
42
42
  }
43
43
  return hookNext;
44
44
  };
45
45
  }
46
- function buildHookAfter(hooks) {
47
- if (!hooks.length) {
46
+ function buildHookAfter(hooks$1) {
47
+ if (!hooks$1.length) {
48
48
  return exitHookFunction;
49
49
  }
50
50
  return async (params) => {
51
- for (let index$1 = 0; index$1 < hooks.length; index$1++) {
52
- const result = await hooks[index$1](params);
53
- if (index.hookRouteExitKind.has(result)) {
51
+ for (let index = 0; index < hooks$1.length; index++) {
52
+ const result = await hooks$1[index](params);
53
+ if (hooks.hookRouteExitKind.has(result)) {
54
54
  return result;
55
55
  }
56
56
  }
@@ -58,7 +58,7 @@ function buildHookAfter(hooks) {
58
58
  };
59
59
  }
60
60
  function createHookResponse(from) {
61
- return (code, information, body) => new response.HookResponse(from, code, information, body);
61
+ return (code, information, body) => new hook.HookResponse(from, code, information, body);
62
62
  }
63
63
 
64
64
  exports.buildHookAfter = buildHookAfter;
@@ -1,7 +1,7 @@
1
1
  import { type HookAfterSendResponse, type HookBeforeRouteExecution, type HookBeforeSendResponse, type HookError, type HookParseBody, HookResponse, type HookRouteLifeCycle, type HookSendResponse, type RouteHookErrorParams, type RouteHookParams, type RouteHookParamsAfter } from "../../route";
2
2
  export declare function exitHookFunction(): import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route-hook-exit", unknown>, unknown>;
3
3
  export declare function nextHookFunction(): import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route-hook-next", unknown>, unknown>;
4
- export declare function buildHookBefore(hooks: (HookBeforeRouteExecution | HookParseBody)[]): typeof exitHookFunction | ((params: RouteHookParams) => Promise<import("../../route").RouteHookExit | import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route-hook-next", unknown>, unknown> | HookResponse<import("../..").ResponseCode, string, unknown>>);
5
- export declare function buildHookErrorBefore(hooks: HookError[]): typeof exitHookFunction | ((params: RouteHookErrorParams) => Promise<import("../../route").RouteHookExit | import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route-hook-next", unknown>, unknown> | HookResponse<import("../..").ResponseCode, string, unknown>>);
4
+ export declare function buildHookBefore(hooks: (HookBeforeRouteExecution | HookParseBody)[]): typeof exitHookFunction | ((params: RouteHookParams) => Promise<import("../../route").RouteHookExit | import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route-hook-next", unknown>, unknown> | HookResponse<import("../../route").ResponseCode, string, unknown>>);
5
+ export declare function buildHookErrorBefore(hooks: HookError[]): typeof exitHookFunction | ((params: RouteHookErrorParams) => Promise<import("../../route").RouteHookExit | import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route-hook-next", unknown>, unknown> | HookResponse<import("../../route").ResponseCode, string, unknown>>);
6
6
  export declare function buildHookAfter(hooks: (HookBeforeSendResponse | HookSendResponse | HookAfterSendResponse)[]): typeof exitHookFunction | ((params: RouteHookParamsAfter) => Promise<import("../../route").RouteHookExit | import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route-hook-next", unknown>, unknown>>);
7
7
  export declare function createHookResponse(from: keyof HookRouteLifeCycle): RouteHookParams["response"];
@@ -1,6 +1,6 @@
1
1
  import '../../route/index.mjs';
2
- import { hookRouteExitKind, hookRouteNextKind } from '../../route/hooks/index.mjs';
3
- import { HookResponse } from '../../route/hooks/response.mjs';
2
+ import { hookRouteExitKind, hookRouteNextKind } from '../../route/hooks.mjs';
3
+ import { HookResponse } from '../../response/hook.mjs';
4
4
 
5
5
  /* eslint-disable @typescript-eslint/prefer-for-of */
6
6
  const hookExit = hookRouteExitKind.setTo({});
@@ -3,9 +3,9 @@ import { type Steps } from "../../steps/types";
3
3
  import { type Floor } from "../../floor";
4
4
  import { type HookRouteLifeCycle } from "../../route";
5
5
  import { type Request } from "../../request";
6
- import { type ResponseContract, type Response } from "../../response";
6
+ import { type ResponseContract, type PredictedResponse } from "../../response";
7
7
  import { type Environment } from "../../types";
8
- export type BuildedStepFunction = (request: Request, floor: Floor) => MaybePromise<Floor | Response>;
8
+ export type BuildedStepFunction = (request: Request, floor: Floor) => MaybePromise<Floor | PredictedResponse>;
9
9
  export interface BuildStepResult {
10
10
  readonly buildedFunction: BuildedStepFunction;
11
11
  readonly hooksRouteLifeCycle: readonly HookRouteLifeCycle[];
@@ -4,9 +4,10 @@ var checker$1 = require('../../../checker.cjs');
4
4
  var create = require('../create.cjs');
5
5
  require('../../../steps/index.cjs');
6
6
  var utils = require('@duplojs/utils');
7
- var index = require('../../../response/index.cjs');
7
+ require('../../../response/index.cjs');
8
8
  var checker = require('../../../steps/checker.cjs');
9
9
  var presetChecker = require('../../../steps/presetChecker.cjs');
10
+ var predicted = require('../../../response/predicted.cjs');
10
11
 
11
12
  const defaultCheckerStepFunctionBuilder = create.createStepFunctionBuilder((element) => checker.checkerStepKind.has(element) || presetChecker.presetCheckerStepKind.has(element), (step, { success }) => {
12
13
  const { checkerOptions, checkerFunction, input, responseContract, stepResult, indexing, stepOptions, } = utils.pipe(step, utils.P.when(checker.checkerStepKind.has, ({ definition }) => ({
@@ -36,7 +37,7 @@ const defaultCheckerStepFunctionBuilder = create.createStepFunctionBuilder((elem
36
37
  });
37
38
  const expectedResult = utils.pipe(stepResult, utils.P.when(utils.isType("string"), (expectedInformation) => ((information) => information === expectedInformation)), utils.P.otherwise((expectedInformation) => ((information) => expectedInformation.includes(information))));
38
39
  function getResponse() {
39
- return new index.Response(responseContract.code, responseContract.information, undefined);
40
+ return new predicted.PredictedResponse(responseContract.code, responseContract.information, undefined);
40
41
  }
41
42
  function treatResult(output, floor) {
42
43
  if (!expectedResult(output.information)) {
@@ -2,9 +2,10 @@ import { checkerOutputKind } from '../../../checker.mjs';
2
2
  import { createStepFunctionBuilder } from '../create.mjs';
3
3
  import '../../../steps/index.mjs';
4
4
  import { pipe, P, or, isType, forward } from '@duplojs/utils';
5
- import { Response } from '../../../response/index.mjs';
5
+ import '../../../response/index.mjs';
6
6
  import { checkerStepKind } from '../../../steps/checker.mjs';
7
7
  import { presetCheckerStepKind } from '../../../steps/presetChecker.mjs';
8
+ import { PredictedResponse } from '../../../response/predicted.mjs';
8
9
 
9
10
  const defaultCheckerStepFunctionBuilder = createStepFunctionBuilder((element) => checkerStepKind.has(element) || presetCheckerStepKind.has(element), (step, { success }) => {
10
11
  const { checkerOptions, checkerFunction, input, responseContract, stepResult, indexing, stepOptions, } = pipe(step, P.when(checkerStepKind.has, ({ definition }) => ({
@@ -34,7 +35,7 @@ const defaultCheckerStepFunctionBuilder = createStepFunctionBuilder((element) =>
34
35
  });
35
36
  const expectedResult = pipe(stepResult, P.when(isType("string"), (expectedInformation) => ((information) => information === expectedInformation)), P.otherwise((expectedInformation) => ((information) => expectedInformation.includes(information))));
36
37
  function getResponse() {
37
- return new Response(responseContract.code, responseContract.information, undefined);
38
+ return new PredictedResponse(responseContract.code, responseContract.information, undefined);
38
39
  }
39
40
  function treatResult(output, floor) {
40
41
  if (!expectedResult(output.information)) {
@@ -3,9 +3,10 @@
3
3
  require('../../../steps/index.cjs');
4
4
  var create = require('../create.cjs');
5
5
  var utils = require('@duplojs/utils');
6
- var index = require('../../../response/index.cjs');
6
+ require('../../../response/index.cjs');
7
7
  var cut = require('../../../steps/cut.cjs');
8
8
  var contract = require('../../../response/contract.cjs');
9
+ var predicted = require('../../../response/predicted.cjs');
9
10
 
10
11
  const defaultCutStepFunctionBuilder = create.createStepFunctionBuilder(cut.cutStepKind.has, (step, { success }) => {
11
12
  const { responseContract, theFunction: cutFunction, } = step.definition;
@@ -22,7 +23,7 @@ const defaultCutStepFunctionBuilder = create.createStepFunctionBuilder(cut.cutSt
22
23
  if (utils.E.isLeft(result)) {
23
24
  throw new contract.ResponseContract.Error(information, utils.unwrap(result));
24
25
  }
25
- return new index.Response(currentContract.code, currentContract.information, body);
26
+ return new predicted.PredictedResponse(currentContract.code, currentContract.information, body);
26
27
  };
27
28
  function treatResult(result, floor) {
28
29
  if (cut.cutStepOutputKind.has(result)) {