@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,9 +1,10 @@
1
1
  import '../../../steps/index.mjs';
2
2
  import { createStepFunctionBuilder } from '../create.mjs';
3
3
  import { wrapValue, A, E, unwrap } from '@duplojs/utils';
4
- import { Response } from '../../../response/index.mjs';
4
+ import '../../../response/index.mjs';
5
5
  import { cutStepKind, cutStepOutputKind } from '../../../steps/cut.mjs';
6
6
  import { ResponseContract } from '../../../response/contract.mjs';
7
+ import { PredictedResponse } from '../../../response/predicted.mjs';
7
8
 
8
9
  const defaultCutStepFunctionBuilder = createStepFunctionBuilder(cutStepKind.has, (step, { success }) => {
9
10
  const { responseContract, theFunction: cutFunction, } = step.definition;
@@ -20,7 +21,7 @@ const defaultCutStepFunctionBuilder = createStepFunctionBuilder(cutStepKind.has,
20
21
  if (E.isLeft(result)) {
21
22
  throw new ResponseContract.Error(information, unwrap(result));
22
23
  }
23
- return new Response(currentContract.code, currentContract.information, body);
24
+ return new PredictedResponse(currentContract.code, currentContract.information, body);
24
25
  };
25
26
  function treatResult(result, floor) {
26
27
  if (cutStepOutputKind.has(result)) {
@@ -2,15 +2,16 @@
2
2
 
3
3
  require('../../../steps/index.cjs');
4
4
  var utils = require('@duplojs/utils');
5
- var index = require('../../../response/index.cjs');
5
+ require('../../../response/index.cjs');
6
6
  var create = require('../create.cjs');
7
7
  var extract = require('../../../steps/extract.cjs');
8
+ var predicted = require('../../../response/predicted.cjs');
8
9
 
9
10
  const defaultExtractStepFunctionBuilder = create.createStepFunctionBuilder(extract.extractStepKind.has, (step, { success, environment, defaultExtractContract }) => {
10
11
  const { shape, responseContract: stepResponseContract, } = step.definition;
11
12
  const responseContract = stepResponseContract ?? defaultExtractContract;
12
13
  function getResponse(result, key, subKey) {
13
- const response = new index.Response(responseContract.code, responseContract.information, environment === "DEV"
14
+ const response = new predicted.PredictedResponse(responseContract.code, responseContract.information, environment === "DEV"
14
15
  ? utils.unwrap(result)
15
16
  : undefined);
16
17
  return subKey === undefined
@@ -33,9 +34,9 @@ const defaultExtractStepFunctionBuilder = create.createStepFunctionBuilder(extra
33
34
  buildedFunction: (request, floor) => {
34
35
  let newFloor = floor;
35
36
  // eslint-disable-next-line @typescript-eslint/prefer-for-of
36
- for (let index$1 = 0; index$1 < extractors.length; index$1++) {
37
- const result = extractors[index$1](request, newFloor);
38
- if (result instanceof index.Response) {
37
+ for (let index = 0; index < extractors.length; index++) {
38
+ const result = extractors[index](request, newFloor);
39
+ if (result instanceof predicted.PredictedResponse) {
39
40
  return result;
40
41
  }
41
42
  newFloor = result;
@@ -1,14 +1,15 @@
1
1
  import '../../../steps/index.mjs';
2
2
  import { unwrap, E, A, O, DP, pipe, P, isType, justReturn, innerPipe } from '@duplojs/utils';
3
- import { Response } from '../../../response/index.mjs';
3
+ import '../../../response/index.mjs';
4
4
  import { createStepFunctionBuilder } from '../create.mjs';
5
5
  import { extractStepKind } from '../../../steps/extract.mjs';
6
+ import { PredictedResponse } from '../../../response/predicted.mjs';
6
7
 
7
8
  const defaultExtractStepFunctionBuilder = createStepFunctionBuilder(extractStepKind.has, (step, { success, environment, defaultExtractContract }) => {
8
9
  const { shape, responseContract: stepResponseContract, } = step.definition;
9
10
  const responseContract = stepResponseContract ?? defaultExtractContract;
10
11
  function getResponse(result, key, subKey) {
11
- const response = new Response(responseContract.code, responseContract.information, environment === "DEV"
12
+ const response = new PredictedResponse(responseContract.code, responseContract.information, environment === "DEV"
12
13
  ? unwrap(result)
13
14
  : undefined);
14
15
  return subKey === undefined
@@ -33,7 +34,7 @@ const defaultExtractStepFunctionBuilder = createStepFunctionBuilder(extractStepK
33
34
  // eslint-disable-next-line @typescript-eslint/prefer-for-of
34
35
  for (let index = 0; index < extractors.length; index++) {
35
36
  const result = extractors[index](request, newFloor);
36
- if (result instanceof Response) {
37
+ if (result instanceof PredictedResponse) {
37
38
  return result;
38
39
  }
39
40
  newFloor = result;
@@ -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 handler = require('../../../steps/handler.cjs');
8
8
  var contract = require('../../../response/contract.cjs');
9
+ var predicted = require('../../../response/predicted.cjs');
9
10
 
10
11
  const defaultHandlerStepFunctionBuilder = create.createStepFunctionBuilder(handler.handlerStepKind.has, (step, { success }) => {
11
12
  const { responseContract, theFunction: handlerFunction, } = step.definition;
@@ -21,7 +22,7 @@ const defaultHandlerStepFunctionBuilder = create.createStepFunctionBuilder(handl
21
22
  if (utils.E.isLeft(result)) {
22
23
  throw new contract.ResponseContract.Error(information, utils.unwrap(result));
23
24
  }
24
- return new index.Response(currentContract.code, currentContract.information, body);
25
+ return new predicted.PredictedResponse(currentContract.code, currentContract.information, body);
25
26
  };
26
27
  return success({
27
28
  buildedFunction: (request, floor) => handlerFunction(floor, {
@@ -1,9 +1,10 @@
1
1
  import '../../../steps/index.mjs';
2
2
  import { createStepFunctionBuilder } from '../create.mjs';
3
3
  import { A, E, unwrap } from '@duplojs/utils';
4
- import { Response } from '../../../response/index.mjs';
4
+ import '../../../response/index.mjs';
5
5
  import { handlerStepKind } from '../../../steps/handler.mjs';
6
6
  import { ResponseContract } from '../../../response/contract.mjs';
7
+ import { PredictedResponse } from '../../../response/predicted.mjs';
7
8
 
8
9
  const defaultHandlerStepFunctionBuilder = createStepFunctionBuilder(handlerStepKind.has, (step, { success }) => {
9
10
  const { responseContract, theFunction: handlerFunction, } = step.definition;
@@ -19,7 +20,7 @@ const defaultHandlerStepFunctionBuilder = createStepFunctionBuilder(handlerStepK
19
20
  if (E.isLeft(result)) {
20
21
  throw new ResponseContract.Error(information, unwrap(result));
21
22
  }
22
- return new Response(currentContract.code, currentContract.information, body);
23
+ return new PredictedResponse(currentContract.code, currentContract.information, body);
23
24
  };
24
25
  return success({
25
26
  buildedFunction: (request, floor) => handlerFunction(floor, {
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  require('../../../steps/index.cjs');
4
- var index = require('../../../response/index.cjs');
4
+ require('../../../response/index.cjs');
5
5
  var create = require('../create.cjs');
6
6
  var utils = require('@duplojs/utils');
7
7
  var process = require('../../../steps/process.cjs');
8
+ var predicted = require('../../../response/predicted.cjs');
8
9
 
9
10
  function buildStepsFunction(steps, buildStep) {
10
11
  return utils.G.asyncReduce(steps, utils.G.reduceFrom([]), async ({ lastValue, element: step, next, exit }) => {
@@ -31,9 +32,9 @@ const defaultProcessStepFunctionBuilder = create.createStepFunctionBuilder(proce
31
32
  buildedFunction: async (request, floor) => {
32
33
  let processFloor = { options: getOptions(floor) };
33
34
  // eslint-disable-next-line @typescript-eslint/prefer-for-of
34
- for (let index$1 = 0; index$1 < buildedSteps.length; index$1++) {
35
- const result = await buildedSteps[index$1].buildedFunction(request, floor);
36
- if (result instanceof index.Response) {
35
+ for (let index = 0; index < buildedSteps.length; index++) {
36
+ const result = await buildedSteps[index].buildedFunction(request, floor);
37
+ if (result instanceof predicted.PredictedResponse) {
37
38
  return result;
38
39
  }
39
40
  processFloor = result;
@@ -1,8 +1,9 @@
1
1
  import '../../../steps/index.mjs';
2
- import { Response } from '../../../response/index.mjs';
2
+ import '../../../response/index.mjs';
3
3
  import { createStepFunctionBuilder } from '../create.mjs';
4
4
  import { G, E, A, unwrap, pipe, P, or, isType, forward } from '@duplojs/utils';
5
5
  import { processStepKind } from '../../../steps/process.mjs';
6
+ import { PredictedResponse } from '../../../response/predicted.mjs';
6
7
 
7
8
  function buildStepsFunction(steps, buildStep) {
8
9
  return G.asyncReduce(steps, G.reduceFrom([]), async ({ lastValue, element: step, next, exit }) => {
@@ -31,7 +32,7 @@ const defaultProcessStepFunctionBuilder = createStepFunctionBuilder(processStepK
31
32
  // eslint-disable-next-line @typescript-eslint/prefer-for-of
32
33
  for (let index = 0; index < buildedSteps.length; index++) {
33
34
  const result = await buildedSteps[index].buildedFunction(request, floor);
34
- if (result instanceof Response) {
35
+ if (result instanceof PredictedResponse) {
35
36
  return result;
36
37
  }
37
38
  processFloor = result;
@@ -9,6 +9,7 @@ var contract = require('../response/contract.cjs');
9
9
  const defaultNotfoundHandler = handler.createHandlerStep({
10
10
  responseContract: contract.ResponseContract.notFound("notfound-route", utils.DP.string()),
11
11
  theFunction: (floor, { request, response }) => response("notfound-route", `${request.method}:${request.path}`),
12
+ metadata: [],
12
13
  });
13
14
 
14
15
  exports.defaultNotfoundHandler = defaultNotfoundHandler;
@@ -6,5 +6,6 @@ export declare const defaultNotfoundHandler: import("../steps").HandlerStep<{
6
6
  readonly coerce: boolean;
7
7
  readonly checkers: readonly [];
8
8
  }>>>;
9
- theFunction: (floor: import("..").Floor, { request, response }: import("../steps").HandlerStepFunctionParams<import("..").Request, import("../response").Response<import("../response").ResponseCode, string, unknown>>) => never;
9
+ theFunction: (floor: import("..").Floor, { request, response }: import("../steps").HandlerStepFunctionParams<import("..").Request, import("../response").PredictedResponse<import("../response").ResponseCode, string, unknown>>) => never;
10
+ metadata: never[];
10
11
  }>;
@@ -7,6 +7,7 @@ import { ResponseContract } from '../response/contract.mjs';
7
7
  const defaultNotfoundHandler = createHandlerStep({
8
8
  responseContract: ResponseContract.notFound("notfound-route", DP.string()),
9
9
  theFunction: (floor, { request, response }) => response("notfound-route", `${request.method}:${request.path}`),
10
+ metadata: [],
10
11
  });
11
12
 
12
13
  export { defaultNotfoundHandler };
@@ -59,7 +59,7 @@ function createHub(config) {
59
59
  register(route) {
60
60
  return {
61
61
  ...this,
62
- routes: utils.A.concat(this.routes, utils.pipe(route, utils.P.when(index.routeKind.has, utils.A.coalescing), utils.P.when(utils.isType("iterable"), utils.A.from), utils.P.otherwise(utils.O.values))),
62
+ routes: utils.A.concat(this.routes, utils.pipe(route, utils.P.when(index.routeKind.has, utils.A.coalescing), utils.P.when(utils.isType("iterable"), utils.A.from), utils.P.otherwise(utils.O.values), utils.A.filter((route) => !utils.A.includes(this.routes, route)))),
63
63
  };
64
64
  },
65
65
  setDefaultExtractContract(defaultExtractContract) {
@@ -74,6 +74,7 @@ function createHub(config) {
74
74
  notfoundHandler: handler.createHandlerStep({
75
75
  responseContract,
76
76
  theFunction: (floor, params) => theFunction(params),
77
+ metadata: [],
77
78
  }),
78
79
  };
79
80
  },
@@ -57,7 +57,7 @@ function createHub(config) {
57
57
  register(route) {
58
58
  return {
59
59
  ...this,
60
- routes: A.concat(this.routes, pipe(route, P.when(routeKind.has, A.coalescing), P.when(isType("iterable"), A.from), P.otherwise(O.values))),
60
+ routes: A.concat(this.routes, pipe(route, P.when(routeKind.has, A.coalescing), P.when(isType("iterable"), A.from), P.otherwise(O.values), A.filter((route) => !A.includes(this.routes, route)))),
61
61
  };
62
62
  },
63
63
  setDefaultExtractContract(defaultExtractContract) {
@@ -72,6 +72,7 @@ function createHub(config) {
72
72
  notfoundHandler: createHandlerStep({
73
73
  responseContract,
74
74
  theFunction: (floor, params) => theFunction(params),
75
+ metadata: [],
75
76
  }),
76
77
  };
77
78
  },
@@ -2,27 +2,30 @@
2
2
 
3
3
  require('./types/index.cjs');
4
4
  require('./builders/index.cjs');
5
- var index = require('./response/index.cjs');
6
- var index$1 = require('./route/index.cjs');
5
+ require('./response/index.cjs');
6
+ var index = require('./route/index.cjs');
7
7
  require('./steps/index.cjs');
8
8
  var checker$2 = require('./checker.cjs');
9
9
  require('./floor.cjs');
10
10
  var kind$1 = require('./kind.cjs');
11
- var index$3 = require('./process/index.cjs');
11
+ var index$1 = require('./process/index.cjs');
12
12
  var request = require('./request.cjs');
13
13
  var presetChecker$1 = require('./presetChecker.cjs');
14
- var index$4 = require('./hub/index.cjs');
14
+ var index$2 = require('./hub/index.cjs');
15
15
  require('./functionsBuilders/index.cjs');
16
- var index$5 = require('./router/index.cjs');
16
+ var index$3 = require('./router/index.cjs');
17
17
  var stringIdentifier = require('./stringIdentifier.cjs');
18
+ require('./metadata/index.cjs');
18
19
  var checker = require('./builders/checker.cjs');
19
20
  var builder = require('./builders/route/builder.cjs');
20
21
  var store = require('./builders/route/store.cjs');
21
22
  var builder$1 = require('./builders/process/builder.cjs');
22
23
  var builder$2 = require('./builders/preflight/builder.cjs');
24
+ var base = require('./response/base.cjs');
23
25
  var contract = require('./response/contract.cjs');
24
- var response = require('./route/hooks/response.cjs');
25
- var index$2 = require('./route/hooks/index.cjs');
26
+ var hook = require('./response/hook.cjs');
27
+ var predicted = require('./response/predicted.cjs');
28
+ var hooks = require('./route/hooks.cjs');
26
29
  var kind = require('./steps/kind.cjs');
27
30
  var identifier = require('./steps/identifier.cjs');
28
31
  var checker$1 = require('./steps/checker.cjs');
@@ -31,13 +34,13 @@ var cut = require('./steps/cut.cjs');
31
34
  var handler = require('./steps/handler.cjs');
32
35
  var process = require('./steps/process.cjs');
33
36
  var presetChecker = require('./steps/presetChecker.cjs');
34
- var hooks = require('./hub/hooks.cjs');
37
+ var hooks$1 = require('./hub/hooks.cjs');
35
38
  var defaultNotfoundHandler = require('./hub/defaultNotfoundHandler.cjs');
36
39
  var defaultExtractContract = require('./hub/defaultExtractContract.cjs');
37
40
  var build = require('./functionsBuilders/route/build.cjs');
38
41
  var create = require('./functionsBuilders/route/create.cjs');
39
42
  var _default = require('./functionsBuilders/route/default.cjs');
40
- var hook = require('./functionsBuilders/route/hook.cjs');
43
+ var hook$1 = require('./functionsBuilders/route/hook.cjs');
41
44
  var create$1 = require('./functionsBuilders/steps/create.cjs');
42
45
  var checkerStep = require('./functionsBuilders/steps/defaults/checkerStep.cjs');
43
46
  var cutStep = require('./functionsBuilders/steps/defaults/cutStep.cjs');
@@ -48,24 +51,25 @@ var build$1 = require('./functionsBuilders/steps/build.cjs');
48
51
  var pathToRegExp = require('./router/pathToRegExp.cjs');
49
52
  var buildError = require('./router/buildError.cjs');
50
53
  var decodeUrl = require('./router/decodeUrl.cjs');
54
+ var base$1 = require('./metadata/base.cjs');
55
+ var ignoreByRouteStore = require('./metadata/ignoreByRouteStore.cjs');
51
56
 
52
57
 
53
58
 
54
- exports.Response = index.Response;
55
- exports.createRoute = index$1.createRoute;
56
- exports.routeKind = index$1.routeKind;
59
+ exports.createRoute = index.createRoute;
60
+ exports.routeKind = index.routeKind;
57
61
  exports.checkerKind = checker$2.checkerKind;
58
62
  exports.checkerOutputKind = checker$2.checkerOutputKind;
59
63
  exports.createChecker = checker$2.createChecker;
60
64
  exports.createCoreLibKind = kind$1.createCoreLibKind;
61
- exports.createProcess = index$3.createProcess;
62
- exports.processKind = index$3.processKind;
65
+ exports.createProcess = index$1.createProcess;
66
+ exports.processKind = index$1.processKind;
63
67
  exports.Request = request.Request;
64
68
  exports.createPresetChecker = presetChecker$1.createPresetChecker;
65
69
  exports.presetCheckerKind = presetChecker$1.presetCheckerKind;
66
- exports.createHub = index$4.createHub;
67
- exports.hubKind = index$4.hubKind;
68
- exports.buildRouter = index$5.buildRouter;
70
+ exports.createHub = index$2.createHub;
71
+ exports.hubKind = index$2.hubKind;
72
+ exports.buildRouter = index$3.buildRouter;
69
73
  exports.createCoreLibStringIdentifier = stringIdentifier.createCoreLibStringIdentifier;
70
74
  exports.checkerBuilder = checker.checkerBuilder;
71
75
  exports.useCheckerBuilder = checker.useCheckerBuilder;
@@ -76,14 +80,16 @@ exports.processBuilder = builder$1.processBuilder;
76
80
  exports.useProcessBuilder = builder$1.useProcessBuilder;
77
81
  exports.preflightBuilder = builder$2.preflightBuilder;
78
82
  exports.usePreflightBuilder = builder$2.usePreflightBuilder;
83
+ exports.Response = base.Response;
79
84
  Object.defineProperty(exports, "ResponseContract", {
80
85
  enumerable: true,
81
86
  get: function () { return contract.ResponseContract; }
82
87
  });
83
- exports.HookResponse = response.HookResponse;
84
- exports.createHookRouteLifeCycle = index$2.createHookRouteLifeCycle;
85
- exports.hookRouteExitKind = index$2.hookRouteExitKind;
86
- exports.hookRouteNextKind = index$2.hookRouteNextKind;
88
+ exports.HookResponse = hook.HookResponse;
89
+ exports.PredictedResponse = predicted.PredictedResponse;
90
+ exports.createHookRouteLifeCycle = hooks.createHookRouteLifeCycle;
91
+ exports.hookRouteExitKind = hooks.hookRouteExitKind;
92
+ exports.hookRouteNextKind = hooks.hookRouteNextKind;
87
93
  exports.stepKind = kind.stepKind;
88
94
  exports.stepIdentifier = identifier.stepIdentifier;
89
95
  exports.checkerStepKind = checker$1.checkerStepKind;
@@ -99,24 +105,24 @@ exports.createProcessStep = process.createProcessStep;
99
105
  exports.processStepKind = process.processStepKind;
100
106
  exports.createPresetCheckerStep = presetChecker.createPresetCheckerStep;
101
107
  exports.presetCheckerStepKind = presetChecker.presetCheckerStepKind;
102
- exports.hookServerExitKind = hooks.hookServerExitKind;
103
- exports.hookServerNextKind = hooks.hookServerNextKind;
104
- exports.launchHookBeforeBuildRoute = hooks.launchHookBeforeBuildRoute;
105
- exports.launchHookServer = hooks.launchHookServer;
106
- exports.launchHookServerError = hooks.launchHookServerError;
107
- exports.serverErrorExitHookFunction = hooks.serverErrorExitHookFunction;
108
- exports.serverErrorNextHookFunction = hooks.serverErrorNextHookFunction;
108
+ exports.hookServerExitKind = hooks$1.hookServerExitKind;
109
+ exports.hookServerNextKind = hooks$1.hookServerNextKind;
110
+ exports.launchHookBeforeBuildRoute = hooks$1.launchHookBeforeBuildRoute;
111
+ exports.launchHookServer = hooks$1.launchHookServer;
112
+ exports.launchHookServerError = hooks$1.launchHookServerError;
113
+ exports.serverErrorExitHookFunction = hooks$1.serverErrorExitHookFunction;
114
+ exports.serverErrorNextHookFunction = hooks$1.serverErrorNextHookFunction;
109
115
  exports.defaultNotfoundHandler = defaultNotfoundHandler.defaultNotfoundHandler;
110
116
  exports.defaultExtractContract = defaultExtractContract.defaultExtractContract;
111
117
  exports.buildRouteFunction = build.buildRouteFunction;
112
118
  exports.createRouteFunctionBuilder = create.createRouteFunctionBuilder;
113
119
  exports.defaultRouteFunctionBuilder = _default.defaultRouteFunctionBuilder;
114
- exports.buildHookAfter = hook.buildHookAfter;
115
- exports.buildHookBefore = hook.buildHookBefore;
116
- exports.buildHookErrorBefore = hook.buildHookErrorBefore;
117
- exports.createHookResponse = hook.createHookResponse;
118
- exports.exitHookFunction = hook.exitHookFunction;
119
- exports.nextHookFunction = hook.nextHookFunction;
120
+ exports.buildHookAfter = hook$1.buildHookAfter;
121
+ exports.buildHookBefore = hook$1.buildHookBefore;
122
+ exports.buildHookErrorBefore = hook$1.buildHookErrorBefore;
123
+ exports.createHookResponse = hook$1.createHookResponse;
124
+ exports.exitHookFunction = hook$1.exitHookFunction;
125
+ exports.nextHookFunction = hook$1.nextHookFunction;
120
126
  exports.createStepFunctionBuilder = create$1.createStepFunctionBuilder;
121
127
  exports.defaultCheckerStepFunctionBuilder = checkerStep.defaultCheckerStepFunctionBuilder;
122
128
  exports.defaultCutStepFunctionBuilder = cutStep.defaultCutStepFunctionBuilder;
@@ -130,3 +136,6 @@ exports.RouterBuildError = buildError.RouterBuildError;
130
136
  exports.decodeUrl = decodeUrl.decodeUrl;
131
137
  exports.regexQueryAnalyser = decodeUrl.regexQueryAnalyser;
132
138
  exports.regexUrlAnalyser = decodeUrl.regexUrlAnalyser;
139
+ exports.createMetadata = base$1.createMetadata;
140
+ exports.metadataKind = base$1.metadataKind;
141
+ exports.IgnoreByRouteStoreMetadata = ignoreByRouteStore.IgnoreByRouteStoreMetadata;
@@ -13,3 +13,4 @@ export * from "./hub";
13
13
  export * from "./functionsBuilders";
14
14
  export * from "./router";
15
15
  export * from "./stringIdentifier";
16
+ export * from "./metadata";
@@ -1,6 +1,6 @@
1
1
  import './types/index.mjs';
2
2
  import './builders/index.mjs';
3
- export { Response } from './response/index.mjs';
3
+ import './response/index.mjs';
4
4
  export { createRoute, routeKind } from './route/index.mjs';
5
5
  import './steps/index.mjs';
6
6
  export { checkerKind, checkerOutputKind, createChecker } from './checker.mjs';
@@ -13,14 +13,17 @@ export { createHub, hubKind } from './hub/index.mjs';
13
13
  import './functionsBuilders/index.mjs';
14
14
  export { buildRouter } from './router/index.mjs';
15
15
  export { createCoreLibStringIdentifier } from './stringIdentifier.mjs';
16
+ import './metadata/index.mjs';
16
17
  export { checkerBuilder, useCheckerBuilder } from './builders/checker.mjs';
17
18
  export { routeBuilderHandler, useRouteBuilder } from './builders/route/builder.mjs';
18
19
  export { routeStore } from './builders/route/store.mjs';
19
20
  export { processBuilder, useProcessBuilder } from './builders/process/builder.mjs';
20
21
  export { preflightBuilder, usePreflightBuilder } from './builders/preflight/builder.mjs';
22
+ export { Response } from './response/base.mjs';
21
23
  export { ResponseContract } from './response/contract.mjs';
22
- export { HookResponse } from './route/hooks/response.mjs';
23
- export { createHookRouteLifeCycle, hookRouteExitKind, hookRouteNextKind } from './route/hooks/index.mjs';
24
+ export { HookResponse } from './response/hook.mjs';
25
+ export { PredictedResponse } from './response/predicted.mjs';
26
+ export { createHookRouteLifeCycle, hookRouteExitKind, hookRouteNextKind } from './route/hooks.mjs';
24
27
  export { stepKind } from './steps/kind.mjs';
25
28
  export { stepIdentifier } from './steps/identifier.mjs';
26
29
  export { checkerStepKind, createCheckerStep } from './steps/checker.mjs';
@@ -46,3 +49,5 @@ export { buildStepFunction } from './functionsBuilders/steps/build.mjs';
46
49
  export { pathToRegExp } from './router/pathToRegExp.mjs';
47
50
  export { RouterBuildError } from './router/buildError.mjs';
48
51
  export { decodeUrl, regexQueryAnalyser, regexUrlAnalyser } from './router/decodeUrl.mjs';
52
+ export { createMetadata, metadataKind } from './metadata/base.mjs';
53
+ export { IgnoreByRouteStoreMetadata } from './metadata/ignoreByRouteStore.mjs';
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ var kind = require('../kind.cjs');
4
+ var utils = require('@duplojs/utils');
5
+
6
+ const metadataKind = kind.createCoreLibKind("metadata");
7
+ function createMetadata(name) {
8
+ function metadataHandler(value) {
9
+ return metadataKind.setTo(utils.wrapValue(value), name);
10
+ }
11
+ metadataHandler.dataName = name;
12
+ metadataHandler.is = function (input) {
13
+ return metadataKind.has(input)
14
+ && metadataKind.getValue(input) === name;
15
+ };
16
+ return metadataHandler;
17
+ }
18
+
19
+ exports.createMetadata = createMetadata;
20
+ exports.metadataKind = metadataKind;
@@ -0,0 +1,14 @@
1
+ import { type WrappedValue, type Kind, type IsEqual, type Or, type IsExtends } from "@duplojs/utils";
2
+ export declare const metadataKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/metadata", string>>;
3
+ export interface Metadata<GenericName extends string = string, GenericValue extends unknown = unknown> extends Kind<typeof metadataKind.definition, GenericName>, WrappedValue<GenericValue> {
4
+ }
5
+ export interface MetadataHandler<GenericName extends string, GenericValue extends unknown> {
6
+ dataName: GenericName;
7
+ <GenericMetadataValue extends GenericValue>(...args: Or<[
8
+ IsEqual<GenericValue, unknown>,
9
+ IsEqual<GenericValue, never>,
10
+ IsExtends<undefined, GenericValue>
11
+ ]> extends true ? [value?: GenericMetadataValue] : [value: GenericMetadataValue]): Metadata<GenericName, GenericMetadataValue>;
12
+ is(input: unknown): input is Metadata<GenericName, any>;
13
+ }
14
+ export declare function createMetadata<GenericName extends string, GenericValue extends unknown = unknown>(name: GenericName): MetadataHandler<GenericName, GenericValue>;
@@ -0,0 +1,17 @@
1
+ import { createCoreLibKind } from '../kind.mjs';
2
+ import { wrapValue } from '@duplojs/utils';
3
+
4
+ const metadataKind = createCoreLibKind("metadata");
5
+ function createMetadata(name) {
6
+ function metadataHandler(value) {
7
+ return metadataKind.setTo(wrapValue(value), name);
8
+ }
9
+ metadataHandler.dataName = name;
10
+ metadataHandler.is = function (input) {
11
+ return metadataKind.has(input)
12
+ && metadataKind.getValue(input) === name;
13
+ };
14
+ return metadataHandler;
15
+ }
16
+
17
+ export { createMetadata, metadataKind };
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var base = require('./base.cjs');
4
+
5
+ const IgnoreByRouteStoreMetadata = base.createMetadata("ignore-by-route-store");
6
+
7
+ exports.IgnoreByRouteStoreMetadata = IgnoreByRouteStoreMetadata;
@@ -0,0 +1 @@
1
+ export declare const IgnoreByRouteStoreMetadata: import("./base").MetadataHandler<"ignore-by-route-store", unknown>;
@@ -0,0 +1,5 @@
1
+ import { createMetadata } from './base.mjs';
2
+
3
+ const IgnoreByRouteStoreMetadata = createMetadata("ignore-by-route-store");
4
+
5
+ export { IgnoreByRouteStoreMetadata };
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var base = require('./base.cjs');
4
+ var ignoreByRouteStore = require('./ignoreByRouteStore.cjs');
5
+
6
+
7
+
8
+ exports.createMetadata = base.createMetadata;
9
+ exports.metadataKind = base.metadataKind;
10
+ exports.IgnoreByRouteStoreMetadata = ignoreByRouteStore.IgnoreByRouteStoreMetadata;
@@ -0,0 +1,2 @@
1
+ export * from "./base";
2
+ export * from "./ignoreByRouteStore";
@@ -0,0 +1,2 @@
1
+ export { createMetadata, metadataKind } from './base.mjs';
2
+ export { IgnoreByRouteStoreMetadata } from './ignoreByRouteStore.mjs';
@@ -3,6 +3,7 @@ import { type ProcessStep, type CheckerStep, type CutStep, type ExtractStep, typ
3
3
  import { type Floor } from "../floor";
4
4
  import { type HookRouteLifeCycle } from "../route";
5
5
  import { type Request } from "../request";
6
+ import { type Metadata } from "../metadata";
6
7
  export * from "./types";
7
8
  export interface ProcessStepsCustom {
8
9
  }
@@ -13,6 +14,7 @@ export interface ProcessDefinition {
13
14
  steps: readonly ProcessSteps[];
14
15
  options?: Record<string, unknown>;
15
16
  readonly hooks: readonly HookRouteLifeCycle[];
17
+ readonly metadata: readonly Metadata[];
16
18
  [SymbolProcessExportValue]?: Floor;
17
19
  [SymbolProcessRequest]?: Request;
18
20
  }
@@ -28,4 +30,4 @@ export declare const processKind: import("@duplojs/utils").KindHandler<import("@
28
30
  export interface Process<GenericDefinition extends ProcessDefinition = ProcessDefinition> extends Kind<typeof processKind.definition> {
29
31
  definition: GenericDefinition;
30
32
  }
31
- export declare function createProcess<GenericDefinition extends Pick<ProcessDefinition, "steps" | "options" | "hooks">>(definition: GenericDefinition): Process<GenericDefinition>;
33
+ export declare function createProcess<GenericDefinition extends Pick<ProcessDefinition, "steps" | "options" | "hooks" | "metadata">>(definition: GenericDefinition): Process<GenericDefinition>;
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ var utils = require('@duplojs/utils');
4
+ var kind = require('../kind.cjs');
5
+
6
+ class Response extends utils.kindHeritage("response", kind.createCoreLibKind("response")) {
7
+ code;
8
+ information;
9
+ body;
10
+ headers = undefined;
11
+ constructor(code, information, body) {
12
+ super();
13
+ this.code = code;
14
+ this.information = information;
15
+ this.body = body;
16
+ }
17
+ setHeaders(headers) {
18
+ this.headers = utils.O.override(this.headers ?? {}, headers);
19
+ return this;
20
+ }
21
+ setHeader(key, header) {
22
+ if (!this.headers) {
23
+ this.headers = {};
24
+ }
25
+ if (typeof header !== "undefined") {
26
+ this.headers[key] = header;
27
+ }
28
+ return this;
29
+ }
30
+ deleteHeader(key) {
31
+ if (!this.headers) {
32
+ return this;
33
+ }
34
+ const { [key]: deleteHeader, ...rest } = this.headers;
35
+ this.headers = rest;
36
+ return this;
37
+ }
38
+ }
39
+
40
+ exports.Response = Response;
@@ -0,0 +1,21 @@
1
+ import { type S } from "@duplojs/utils";
2
+ export type InformationResponseCode = `1${S.Digit}${S.Digit}`;
3
+ export type SuccessResponseCode = `2${S.Digit}${S.Digit}`;
4
+ export type RedirectionResponseCode = `3${S.Digit}${S.Digit}`;
5
+ export type ClientErrorResponseCode = `4${S.Digit}${S.Digit}`;
6
+ export type ServerErrorResponseCode = `5${S.Digit}${S.Digit}`;
7
+ export type ResponseCode = (InformationResponseCode | SuccessResponseCode | RedirectionResponseCode | ClientErrorResponseCode | ServerErrorResponseCode);
8
+ declare const Response_base: new (params?: {
9
+ "@DuplojsHttpCore/response"?: unknown;
10
+ } | undefined) => import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/response", unknown>, unknown> & import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"response", unknown>, unknown>;
11
+ export declare class Response<GenericCode extends ResponseCode = ResponseCode, GenericInformation extends string = string, GenericBody extends unknown = unknown> extends Response_base {
12
+ code: GenericCode;
13
+ information: GenericInformation;
14
+ body: GenericBody;
15
+ headers: Record<string, string | string[]> | undefined;
16
+ constructor(code: GenericCode, information: GenericInformation, body: GenericBody);
17
+ setHeaders(headers: Partial<Record<string, string | string[]>>): this;
18
+ setHeader(key: string, header?: string | string[]): this;
19
+ deleteHeader(key: string): this;
20
+ }
21
+ export {};