@duplojs/http 0.9.5 → 0.11.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 (113) hide show
  1. package/dist/client/clientCache.cjs +84 -0
  2. package/dist/client/clientCache.d.ts +4 -0
  3. package/dist/client/clientCache.mjs +80 -0
  4. package/dist/client/getBody.cjs +0 -3
  5. package/dist/client/getBody.mjs +0 -3
  6. package/dist/client/hooks.cjs +36 -0
  7. package/dist/client/hooks.d.ts +5 -1
  8. package/dist/client/hooks.mjs +33 -1
  9. package/dist/client/httpClient.cjs +26 -1
  10. package/dist/client/httpClient.d.ts +8 -1
  11. package/dist/client/httpClient.mjs +26 -1
  12. package/dist/client/index.cjs +12 -0
  13. package/dist/client/index.d.ts +2 -0
  14. package/dist/client/index.mjs +4 -2
  15. package/dist/client/promiseRequest.cjs +33 -8
  16. package/dist/client/promiseRequest.d.ts +2 -1
  17. package/dist/client/promiseRequest.mjs +34 -9
  18. package/dist/client/serverSentEvents.cjs +18 -12
  19. package/dist/client/serverSentEvents.d.ts +2 -1
  20. package/dist/client/serverSentEvents.mjs +18 -13
  21. package/dist/client/stream.cjs +117 -0
  22. package/dist/client/stream.d.ts +3 -0
  23. package/dist/client/stream.mjs +95 -0
  24. package/dist/client/types/clientCache.cjs +2 -0
  25. package/dist/client/types/clientCache.d.ts +27 -0
  26. package/dist/client/types/clientCache.mjs +1 -0
  27. package/dist/client/types/clientRequestParams.d.ts +8 -1
  28. package/dist/client/types/clientResponse.d.ts +24 -6
  29. package/dist/client/types/hooks.d.ts +10 -1
  30. package/dist/client/types/index.cjs +1 -0
  31. package/dist/client/types/index.d.ts +1 -0
  32. package/dist/client/types/index.mjs +1 -0
  33. package/dist/client/types/promiseRequestParams.d.ts +3 -0
  34. package/dist/client/types/serverRoute.d.ts +2 -0
  35. package/dist/core/builders/route/handler.d.ts +5 -5
  36. package/dist/core/defaultHooks/index.cjs +14 -0
  37. package/dist/core/defaultHooks/index.mjs +14 -0
  38. package/dist/core/functionsBuilders/steps/defaults/extractStep.mjs +1 -1
  39. package/dist/core/functionsBuilders/steps/defaults/handlerStep.cjs +33 -0
  40. package/dist/core/functionsBuilders/steps/defaults/handlerStep.mjs +33 -0
  41. package/dist/core/hub/defaultMalformedUrlHandler.d.ts +1 -1
  42. package/dist/core/hub/defaultNotfoundHandler.d.ts +1 -1
  43. package/dist/core/index.cjs +143 -134
  44. package/dist/core/index.d.ts +1 -0
  45. package/dist/core/index.mjs +42 -39
  46. package/dist/core/response/contract.cjs +21 -0
  47. package/dist/core/response/contract.d.ts +33 -5
  48. package/dist/core/response/contract.mjs +21 -0
  49. package/dist/core/response/index.cjs +4 -0
  50. package/dist/core/response/index.d.ts +7 -0
  51. package/dist/core/response/index.mjs +2 -0
  52. package/dist/core/response/streamPredicted.cjs +23 -0
  53. package/dist/core/response/streamPredicted.d.ts +14 -0
  54. package/dist/core/response/streamPredicted.mjs +21 -0
  55. package/dist/core/response/streamTextPredicted.cjs +23 -0
  56. package/dist/core/response/streamTextPredicted.d.ts +14 -0
  57. package/dist/core/response/streamTextPredicted.mjs +21 -0
  58. package/dist/core/serverSentEvents.cjs +25 -77
  59. package/dist/core/serverSentEvents.d.ts +4 -16
  60. package/dist/core/serverSentEvents.mjs +25 -77
  61. package/dist/core/steps/handler.d.ts +15 -5
  62. package/dist/core/stream.cjs +73 -0
  63. package/dist/core/stream.d.ts +19 -0
  64. package/dist/core/stream.mjs +73 -0
  65. package/dist/interfaces/node/bodyReaders/formData/index.cjs +1 -1
  66. package/dist/interfaces/node/bodyReaders/formData/index.mjs +1 -1
  67. package/dist/interfaces/node/hooks/index.cjs +21 -1
  68. package/dist/interfaces/node/hooks/index.mjs +21 -1
  69. package/dist/interfaces/node/index.cjs +6 -6
  70. package/dist/interfaces/node/index.mjs +2 -2
  71. package/dist/plugins/codeGenerator/aggregateStepContract.cjs +12 -0
  72. package/dist/plugins/codeGenerator/aggregateStepContract.mjs +13 -1
  73. package/dist/plugins/cookie/hooks/cookieHooks.cjs +15 -0
  74. package/dist/plugins/cookie/hooks/cookieHooks.d.ts +11 -0
  75. package/dist/plugins/cookie/hooks/cookieHooks.mjs +13 -0
  76. package/dist/plugins/cookie/hooks/index.cjs +11 -0
  77. package/dist/plugins/cookie/hooks/index.d.ts +3 -0
  78. package/dist/plugins/cookie/hooks/index.mjs +3 -0
  79. package/dist/plugins/cookie/hooks/parseRequestCookie.cjs +20 -0
  80. package/dist/plugins/cookie/hooks/parseRequestCookie.d.ts +8 -0
  81. package/dist/plugins/cookie/hooks/parseRequestCookie.mjs +18 -0
  82. package/dist/plugins/cookie/hooks/serializeResponseCookie.cjs +17 -0
  83. package/dist/plugins/cookie/hooks/serializeResponseCookie.d.ts +7 -0
  84. package/dist/plugins/cookie/hooks/serializeResponseCookie.mjs +15 -0
  85. package/dist/plugins/cookie/index.cjs +25 -0
  86. package/dist/plugins/cookie/index.d.ts +6 -0
  87. package/dist/plugins/cookie/index.mjs +9 -0
  88. package/dist/plugins/cookie/kind.cjs +9 -0
  89. package/dist/plugins/cookie/kind.d.ts +6 -0
  90. package/dist/plugins/cookie/kind.mjs +7 -0
  91. package/dist/plugins/cookie/metadata.cjs +8 -0
  92. package/dist/plugins/cookie/metadata.d.ts +1 -0
  93. package/dist/plugins/cookie/metadata.mjs +6 -0
  94. package/dist/plugins/cookie/override.cjs +30 -0
  95. package/dist/plugins/cookie/override.d.ts +16 -0
  96. package/dist/plugins/cookie/override.mjs +28 -0
  97. package/dist/plugins/cookie/parser.cjs +84 -0
  98. package/dist/plugins/cookie/parser.d.ts +2 -0
  99. package/dist/plugins/cookie/parser.mjs +79 -0
  100. package/dist/plugins/cookie/plugin.cjs +30 -0
  101. package/dist/plugins/cookie/plugin.d.ts +8 -0
  102. package/dist/plugins/cookie/plugin.mjs +28 -0
  103. package/dist/plugins/cookie/serialize.cjs +84 -0
  104. package/dist/plugins/cookie/serialize.d.ts +29 -0
  105. package/dist/plugins/cookie/serialize.mjs +81 -0
  106. package/dist/plugins/openApiGenerator/aggregateStepContract.d.ts +1 -1
  107. package/dist/plugins/openApiGenerator/makeOpenApiRoute.d.ts +1 -1
  108. package/dist/plugins/openApiGenerator/routeToOpenApi.cjs +55 -2
  109. package/dist/plugins/openApiGenerator/routeToOpenApi.mjs +55 -2
  110. package/dist/plugins/openApiGenerator/types/endpointResponse.d.ts +4 -1
  111. package/dist/plugins/static/makeRouteFile.d.ts +1 -1
  112. package/dist/plugins/static/makeRouteFolder.d.ts +1 -1
  113. package/package.json +10 -5
@@ -1,3 +1,4 @@
1
+ import { type CreateClientCacheKey, type ClientCacheStore } from "./clientCache";
1
2
  import { type ClientRequestParams } from "./clientRequestParams";
2
3
  import { type Hooks } from "./hooks";
3
4
  export interface PromiseRequestParams<GenericHookParams extends Record<string, unknown> = Record<string, unknown>> extends ClientRequestParams<GenericHookParams> {
@@ -7,4 +8,6 @@ export interface PromiseRequestParams<GenericHookParams extends Record<string, u
7
8
  predictedHeaderKey: string;
8
9
  disabledPredicateMode: boolean;
9
10
  abortController: AbortController;
11
+ cacheStore: ClientCacheStore;
12
+ clientCache?: CreateClientCacheKey<GenericHookParams>;
10
13
  }
@@ -12,12 +12,14 @@ export type ServerRouteQuery = Record<string, MaybeArray<ServerPrimitiveData | {
12
12
  }>>;
13
13
  export type ServerRouteBody = unknown;
14
14
  export type ServerRouteResponseBody = unknown;
15
+ export type ServerRouteResponseFlux = string | Uint8Array<ArrayBuffer>;
15
16
  export type ServerRouteResponseEvents = Record<string, unknown>;
16
17
  export interface ServerRouteResponse {
17
18
  code: SS.Number;
18
19
  information?: string;
19
20
  body?: ServerRouteResponseBody;
20
21
  events?: ServerRouteResponseEvents;
22
+ flux?: ServerRouteResponseFlux;
21
23
  }
22
24
  export interface ServerRoute {
23
25
  path: string;
@@ -6,15 +6,15 @@ import { type MaybePromise, type O } from "@duplojs/utils";
6
6
  import { type Metadata } from "../../metadata";
7
7
  declare module "./builder" {
8
8
  interface RouteBuilder<GenericDefinition extends RouteDefinition = RouteDefinition, GenericFloor extends Floor = {}> {
9
- handler<GenericResponseContract extends (ResponseContract.Contract | ResponseContract.ServerSentEventsContract | readonly [
10
- (ResponseContract.Contract | ResponseContract.ServerSentEventsContract),
11
- ...(ResponseContract.Contract | ResponseContract.ServerSentEventsContract)[]
12
- ]), GenericResponse extends ResponseContract.Convert<GenericResponseContract extends readonly any[] ? GenericResponseContract[number] : GenericResponseContract>, const GenericMetadata extends readonly Metadata[] = readonly []>(responseContract: GenericResponseContract, theFunction: (floor: GenericFloor, param: HandlerStepFunctionParams<GenericResponse>) => MaybePromise<GenericResponse>, ...metadata: GenericMetadata): Route<O.AssignObjects<GenericDefinition, {
9
+ handler<GenericResponseContract extends (ResponseContract.Contracts | readonly [
10
+ ResponseContract.Contracts,
11
+ ...ResponseContract.Contracts[]
12
+ ]), GenericResponse extends ResponseContract.Convert<GenericResponseContract extends readonly any[] ? GenericResponseContract[number] : GenericResponseContract>, const GenericMetadata extends readonly Metadata[] = readonly []>(responseContract: GenericResponseContract, theFunction: (floor: GenericFloor, params: HandlerStepFunctionParams<GenericResponse>) => MaybePromise<GenericResponse>, ...metadata: GenericMetadata): Route<O.AssignObjects<GenericDefinition, {
13
13
  readonly steps: readonly [
14
14
  ...GenericDefinition["steps"],
15
15
  HandlerStep<{
16
16
  readonly responseContract: GenericResponseContract;
17
- theFunction(floor: GenericFloor, param: HandlerStepFunctionParams<GenericResponse>): MaybePromise<GenericResponse>;
17
+ theFunction(floor: GenericFloor, params: HandlerStepFunctionParams<GenericResponse>): MaybePromise<GenericResponse>;
18
18
  readonly metadata: GenericMetadata;
19
19
  }>
20
20
  ];
@@ -6,6 +6,8 @@ var serverUtils = require('@duplojs/server-utils');
6
6
  var hooks = require('../route/hooks.cjs');
7
7
  var predicted = require('../response/predicted.cjs');
8
8
  var serverSentEventsPredicted = require('../response/serverSentEventsPredicted.cjs');
9
+ var streamPredicted = require('../response/streamPredicted.cjs');
10
+ var streamTextPredicted = require('../response/streamTextPredicted.cjs');
9
11
  var hook = require('../response/hook.cjs');
10
12
 
11
13
  function initDefaultHook(hub, serverParams) {
@@ -47,6 +49,18 @@ function initDefaultHook(hub, serverParams) {
47
49
  currentResponse.setHeader("cache-control", "no-cache");
48
50
  currentResponse.setHeader("connection", "keep-alive");
49
51
  }
52
+ else if (currentResponse instanceof streamPredicted.StreamPredictedResponse) {
53
+ currentResponse.setHeader(predictedHeaderKey, "1");
54
+ currentResponse.setHeader("transfer-encoding", "chunked");
55
+ currentResponse.setHeader("content-type", "application/octet-stream");
56
+ currentResponse.setHeader("x-duplojs-body-options", "stream");
57
+ }
58
+ else if (currentResponse instanceof streamTextPredicted.StreamTextPredictedResponse) {
59
+ currentResponse.setHeader(predictedHeaderKey, "1");
60
+ currentResponse.setHeader("transfer-encoding", "chunked");
61
+ currentResponse.setHeader("content-type", "text/plain; charset=utf-8");
62
+ currentResponse.setHeader("x-duplojs-body-options", "stream");
63
+ }
50
64
  else if (currentResponse instanceof hook.HookResponse) {
51
65
  currentResponse.setHeader(fromHookHeaderKey, currentResponse.fromHook);
52
66
  }
@@ -4,6 +4,8 @@ import { SF } from '@duplojs/server-utils';
4
4
  import { createHookRouteLifeCycle } from '../route/hooks.mjs';
5
5
  import { PredictedResponse } from '../response/predicted.mjs';
6
6
  import { ServerSentEventsPredictedResponse } from '../response/serverSentEventsPredicted.mjs';
7
+ import { StreamPredictedResponse } from '../response/streamPredicted.mjs';
8
+ import { StreamTextPredictedResponse } from '../response/streamTextPredicted.mjs';
7
9
  import { HookResponse } from '../response/hook.mjs';
8
10
 
9
11
  function initDefaultHook(hub, serverParams) {
@@ -45,6 +47,18 @@ function initDefaultHook(hub, serverParams) {
45
47
  currentResponse.setHeader("cache-control", "no-cache");
46
48
  currentResponse.setHeader("connection", "keep-alive");
47
49
  }
50
+ else if (currentResponse instanceof StreamPredictedResponse) {
51
+ currentResponse.setHeader(predictedHeaderKey, "1");
52
+ currentResponse.setHeader("transfer-encoding", "chunked");
53
+ currentResponse.setHeader("content-type", "application/octet-stream");
54
+ currentResponse.setHeader("x-duplojs-body-options", "stream");
55
+ }
56
+ else if (currentResponse instanceof StreamTextPredictedResponse) {
57
+ currentResponse.setHeader(predictedHeaderKey, "1");
58
+ currentResponse.setHeader("transfer-encoding", "chunked");
59
+ currentResponse.setHeader("content-type", "text/plain; charset=utf-8");
60
+ currentResponse.setHeader("x-duplojs-body-options", "stream");
61
+ }
48
62
  else if (currentResponse instanceof HookResponse) {
49
63
  currentResponse.setHeader(fromHookHeaderKey, currentResponse.fromHook);
50
64
  }
@@ -1,5 +1,5 @@
1
1
  import '../../../steps/index.mjs';
2
- import { unwrap, E, forward, A, O, pipe, P, DP, isType, justReturn, innerPipe } from '@duplojs/utils';
2
+ import { E, unwrap, forward, A, O, pipe, P, DP, isType, justReturn, innerPipe } from '@duplojs/utils';
3
3
  import '../../../response/index.mjs';
4
4
  import { createStepFunctionBuilder } from '../create.mjs';
5
5
  import { extractStepKind } from '../../../steps/extract.mjs';
@@ -8,7 +8,10 @@ var handler = require('../../../steps/handler.cjs');
8
8
  var contract = require('../../../response/contract.cjs');
9
9
  var predicted = require('../../../response/predicted.cjs');
10
10
  var serverSentEventsPredicted = require('../../../response/serverSentEventsPredicted.cjs');
11
+ var streamPredicted = require('../../../response/streamPredicted.cjs');
12
+ var streamTextPredicted = require('../../../response/streamTextPredicted.cjs');
11
13
 
14
+ /* eslint-disable @typescript-eslint/prefer-for-of */
12
15
  const defaultHandlerStepFunctionBuilder = create.createStepFunctionBuilder(handler.handlerStepKind.has, (step, { success }) => {
13
16
  const { responseContract, theFunction: handlerFunction, } = step.definition;
14
17
  const preparedContractResponse = utils.A.reduce(utils.A.coalescing(responseContract), utils.A.reduceFrom({}), ({ element, lastValue, nextWithObject }) => nextWithObject(lastValue, {
@@ -49,11 +52,41 @@ const defaultHandlerStepFunctionBuilder = create.createStepFunctionBuilder(handl
49
52
  },
50
53
  }));
51
54
  };
55
+ const streamResponse = (information, startStream) => {
56
+ const currentContract = preparedContractResponse[information];
57
+ if (!currentContract
58
+ || !contract.ResponseContract.streamContractKind.has(currentContract)) {
59
+ throw new contract.ResponseContract.Error(information, "Contract not found.");
60
+ }
61
+ return new streamPredicted.StreamPredictedResponse(currentContract.code, information, (params) => startStream({
62
+ ...params,
63
+ send: (...args) => {
64
+ for (let index = 0; index < args.length; index++) {
65
+ const result = currentContract.flux.parse(args[index]);
66
+ if (utils.E.isLeft(result)) {
67
+ console.error(new contract.ResponseContract.Error(information, utils.unwrap(result)));
68
+ return Promise.resolve();
69
+ }
70
+ }
71
+ return params.send(...args);
72
+ },
73
+ }));
74
+ };
75
+ const streamTextResponse = (information, startStreamText) => {
76
+ const currentContract = preparedContractResponse[information];
77
+ if (!currentContract
78
+ || !contract.ResponseContract.streamTextContractKind.has(currentContract)) {
79
+ throw new contract.ResponseContract.Error(information, "Contract not found.");
80
+ }
81
+ return new streamTextPredicted.StreamTextPredictedResponse(currentContract.code, information, startStreamText);
82
+ };
52
83
  return success({
53
84
  buildedFunction: async (request, floor) => handlerFunction(floor, {
54
85
  request,
55
86
  response,
56
87
  serverSentEventsResponse,
88
+ streamResponse,
89
+ streamTextResponse,
57
90
  }),
58
91
  hooksRouteLifeCycle: [],
59
92
  });
@@ -6,7 +6,10 @@ import { handlerStepKind } from '../../../steps/handler.mjs';
6
6
  import { ResponseContract } from '../../../response/contract.mjs';
7
7
  import { PredictedResponse } from '../../../response/predicted.mjs';
8
8
  import { ServerSentEventsPredictedResponse } from '../../../response/serverSentEventsPredicted.mjs';
9
+ import { StreamPredictedResponse } from '../../../response/streamPredicted.mjs';
10
+ import { StreamTextPredictedResponse } from '../../../response/streamTextPredicted.mjs';
9
11
 
12
+ /* eslint-disable @typescript-eslint/prefer-for-of */
10
13
  const defaultHandlerStepFunctionBuilder = createStepFunctionBuilder(handlerStepKind.has, (step, { success }) => {
11
14
  const { responseContract, theFunction: handlerFunction, } = step.definition;
12
15
  const preparedContractResponse = A.reduce(A.coalescing(responseContract), A.reduceFrom({}), ({ element, lastValue, nextWithObject }) => nextWithObject(lastValue, {
@@ -47,11 +50,41 @@ const defaultHandlerStepFunctionBuilder = createStepFunctionBuilder(handlerStepK
47
50
  },
48
51
  }));
49
52
  };
53
+ const streamResponse = (information, startStream) => {
54
+ const currentContract = preparedContractResponse[information];
55
+ if (!currentContract
56
+ || !ResponseContract.streamContractKind.has(currentContract)) {
57
+ throw new ResponseContract.Error(information, "Contract not found.");
58
+ }
59
+ return new StreamPredictedResponse(currentContract.code, information, (params) => startStream({
60
+ ...params,
61
+ send: (...args) => {
62
+ for (let index = 0; index < args.length; index++) {
63
+ const result = currentContract.flux.parse(args[index]);
64
+ if (E.isLeft(result)) {
65
+ console.error(new ResponseContract.Error(information, unwrap(result)));
66
+ return Promise.resolve();
67
+ }
68
+ }
69
+ return params.send(...args);
70
+ },
71
+ }));
72
+ };
73
+ const streamTextResponse = (information, startStreamText) => {
74
+ const currentContract = preparedContractResponse[information];
75
+ if (!currentContract
76
+ || !ResponseContract.streamTextContractKind.has(currentContract)) {
77
+ throw new ResponseContract.Error(information, "Contract not found.");
78
+ }
79
+ return new StreamTextPredictedResponse(currentContract.code, information, startStreamText);
80
+ };
50
81
  return success({
51
82
  buildedFunction: async (request, floor) => handlerFunction(floor, {
52
83
  request,
53
84
  response,
54
85
  serverSentEventsResponse,
86
+ streamResponse,
87
+ streamTextResponse,
55
88
  }),
56
89
  hooksRouteLifeCycle: [],
57
90
  });
@@ -5,6 +5,6 @@ export declare const defaultMalformedUrlHandler: import("../steps").HandlerStep<
5
5
  readonly coerce: boolean;
6
6
  readonly checkers: readonly [];
7
7
  }>>>;
8
- theFunction: (__: import("..").Floor, { response }: import("../steps").HandlerStepFunctionParams<import("../response").ServerSentEventsPredictedResponse<"200" | "201" | "202" | "203" | "204" | "205" | "206" | "207" | "208" | "209" | "210" | "211" | "212" | "213" | "214" | "215" | "216" | "217" | "218" | "219" | "220" | "221" | "222" | "223" | "224" | "225" | "226" | "227" | "228" | "229" | "230" | "231" | "232" | "233" | "234" | "235" | "236" | "237" | "238" | "239" | "240" | "241" | "242" | "243" | "244" | "245" | "246" | "247" | "248" | "249" | "250" | "251" | "252" | "253" | "254" | "255" | "256" | "257" | "258" | "259" | "260" | "261" | "262" | "263" | "264" | "265" | "266" | "267" | "268" | "269" | "270" | "271" | "272" | "273" | "274" | "275" | "276" | "277" | "278" | "279" | "280" | "281" | "282" | "283" | "284" | "285" | "286" | "287" | "288" | "289" | "290" | "291" | "292" | "293" | "294" | "295" | "296" | "297" | "298" | "299", string, import("..").ServerSentEvents.DefinitionShape> | import("../response").PredictedResponse<import("../response").ResponseCode, string, unknown>>) => never;
8
+ theFunction: (__: import("..").Floor, { response }: import("../steps").HandlerStepFunctionParams<import("../response").PredictedResponses>) => never;
9
9
  metadata: never[];
10
10
  }>;
@@ -6,6 +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("../response").ServerSentEventsPredictedResponse<"200" | "201" | "202" | "203" | "204" | "205" | "206" | "207" | "208" | "209" | "210" | "211" | "212" | "213" | "214" | "215" | "216" | "217" | "218" | "219" | "220" | "221" | "222" | "223" | "224" | "225" | "226" | "227" | "228" | "229" | "230" | "231" | "232" | "233" | "234" | "235" | "236" | "237" | "238" | "239" | "240" | "241" | "242" | "243" | "244" | "245" | "246" | "247" | "248" | "249" | "250" | "251" | "252" | "253" | "254" | "255" | "256" | "257" | "258" | "259" | "260" | "261" | "262" | "263" | "264" | "265" | "266" | "267" | "268" | "269" | "270" | "271" | "272" | "273" | "274" | "275" | "276" | "277" | "278" | "279" | "280" | "281" | "282" | "283" | "284" | "285" | "286" | "287" | "288" | "289" | "290" | "291" | "292" | "293" | "294" | "295" | "296" | "297" | "298" | "299", string, import("..").ServerSentEvents.DefinitionShape> | import("../response").PredictedResponse<import("../response").ResponseCode, string, unknown>>) => never;
9
+ theFunction: (floor: import("..").Floor, { request, response }: import("../steps").HandlerStepFunctionParams<import("../response").PredictedResponses>) => never;
10
10
  metadata: never[];
11
11
  }>;
@@ -3,17 +3,17 @@
3
3
  require('./types/index.cjs');
4
4
  require('./builders/index.cjs');
5
5
  require('./response/index.cjs');
6
- var index = require('./route/index.cjs');
6
+ var index$3 = require('./route/index.cjs');
7
7
  require('./steps/index.cjs');
8
- var checker$2 = require('./checker.cjs');
8
+ var checker$1 = require('./checker.cjs');
9
9
  require('./floor.cjs');
10
- var kind$1 = require('./kind.cjs');
11
- var index$1 = require('./process/index.cjs');
12
- var index$2 = require('./request/index.cjs');
13
- var presetChecker$1 = require('./presetChecker.cjs');
14
- var index$3 = require('./hub/index.cjs');
10
+ var kind = require('./kind.cjs');
11
+ var index$2 = require('./process/index.cjs');
12
+ var index$1 = require('./request/index.cjs');
13
+ var presetChecker = require('./presetChecker.cjs');
14
+ var index = require('./hub/index.cjs');
15
15
  require('./functionsBuilders/index.cjs');
16
- var index$6 = require('./router/index.cjs');
16
+ var index$4 = require('./router/index.cjs');
17
17
  var stringIdentifier = require('./stringIdentifier.cjs');
18
18
  require('./metadata/index.cjs');
19
19
  var implementHttpServer = require('./implementHttpServer.cjs');
@@ -22,77 +22,80 @@ require('./clean/index.cjs');
22
22
  var index$7 = require('./defaultHooks/index.cjs');
23
23
  require('./errors/index.cjs');
24
24
  var serverSentEvents = require('./serverSentEvents.cjs');
25
- var checker = require('./builders/checker.cjs');
26
- var builder = require('./builders/route/builder.cjs');
27
- var store = require('./builders/route/store.cjs');
28
- var builder$1 = require('./builders/process/builder.cjs');
29
- var builder$2 = require('./builders/preflight/builder.cjs');
30
- var base = require('./response/base.cjs');
31
- var contract = require('./response/contract.cjs');
25
+ var stream = require('./stream.cjs');
26
+ var bodyParseWrongChunkReceived = require('./errors/bodyParseWrongChunkReceived.cjs');
27
+ var bodySizeExceedsLimitError = require('./errors/bodySizeExceedsLimitError.cjs');
28
+ var empty = require('./request/bodyController/empty.cjs');
29
+ var formData = require('./request/bodyController/formData.cjs');
32
30
  var hook = require('./response/hook.cjs');
31
+ var ignoreByRouteStore = require('./metadata/ignoreByRouteStore.cjs');
32
+ var notFoundBodyReaderImplementationError = require('./router/notFoundBodyReaderImplementationError.cjs');
33
+ var parseJsonError = require('./errors/parseJsonError.cjs');
33
34
  var predicted = require('./response/predicted.cjs');
35
+ var base = require('./response/base.cjs');
36
+ var contract = require('./response/contract.cjs');
37
+ var buildError = require('./router/buildError.cjs');
34
38
  var serverSentEventsPredicted = require('./response/serverSentEventsPredicted.cjs');
35
- var hooks = require('./route/hooks.cjs');
36
- var kind = require('./steps/kind.cjs');
37
- var identifier = require('./steps/identifier.cjs');
38
- var checker$1 = require('./steps/checker.cjs');
39
- var extract = require('./steps/extract.cjs');
39
+ var streamPredicted = require('./response/streamPredicted.cjs');
40
+ var streamTextPredicted = require('./response/streamTextPredicted.cjs');
41
+ var text = require('./request/bodyController/text.cjs');
42
+ var base$1 = require('./request/bodyController/base.cjs');
43
+ var wrongContentTypeError = require('./errors/wrongContentTypeError.cjs');
44
+ var hook$1 = require('./functionsBuilders/route/default/hook.cjs');
45
+ var build = require('./functionsBuilders/route/build.cjs');
46
+ var build$1 = require('./functionsBuilders/router/build.cjs');
47
+ var build$2 = require('./functionsBuilders/steps/build.cjs');
48
+ var processStep = require('./functionsBuilders/steps/defaults/processStep.cjs');
49
+ var checker = require('./builders/checker.cjs');
50
+ var checker$2 = require('./steps/checker.cjs');
40
51
  var cut = require('./steps/cut.cjs');
52
+ var extract = require('./steps/extract.cjs');
41
53
  var handler = require('./steps/handler.cjs');
54
+ var hooks = require('./hub/hooks.cjs');
55
+ var hooks$1 = require('./route/hooks.cjs');
56
+ var base$2 = require('./metadata/base.cjs');
57
+ var presetChecker$1 = require('./steps/presetChecker.cjs');
42
58
  var process = require('./steps/process.cjs');
43
- var presetChecker = require('./steps/presetChecker.cjs');
44
- var base$1 = require('./request/bodyController/base.cjs');
45
- var formData = require('./request/bodyController/formData.cjs');
46
- var text = require('./request/bodyController/text.cjs');
47
- var empty = require('./request/bodyController/empty.cjs');
48
- var hooks$1 = require('./hub/hooks.cjs');
49
- var defaultNotfoundHandler = require('./hub/defaultNotfoundHandler.cjs');
50
- var defaultExtractContract = require('./hub/defaultExtractContract.cjs');
51
- var defaultBodyController = require('./hub/defaultBodyController.cjs');
52
- var defaultMalformedUrlHandler = require('./hub/defaultMalformedUrlHandler.cjs');
53
- var defaultEmptyReaderImplementation = require('./hub/defaultEmptyReaderImplementation.cjs');
54
- var build = require('./functionsBuilders/route/build.cjs');
55
59
  var create = require('./functionsBuilders/route/create.cjs');
56
- var hook$1 = require('./functionsBuilders/route/default/hook.cjs');
57
- var index$4 = require('./functionsBuilders/route/default/index.cjs');
58
- var create$1 = require('./functionsBuilders/steps/create.cjs');
60
+ var createRouterElementSystem = require('./router/createRouterElementSystem.cjs');
61
+ var create$1 = require('./functionsBuilders/router/create.cjs');
62
+ var create$2 = require('./functionsBuilders/steps/create.cjs');
63
+ var defaultBodyController = require('./hub/defaultBodyController.cjs');
59
64
  var checkerStep = require('./functionsBuilders/steps/defaults/checkerStep.cjs');
60
65
  var cutStep = require('./functionsBuilders/steps/defaults/cutStep.cjs');
61
- var handlerStep = require('./functionsBuilders/steps/defaults/handlerStep.cjs');
66
+ var defaultEmptyReaderImplementation = require('./hub/defaultEmptyReaderImplementation.cjs');
67
+ var defaultExtractContract = require('./hub/defaultExtractContract.cjs');
62
68
  var extractStep = require('./functionsBuilders/steps/defaults/extractStep.cjs');
63
- var processStep = require('./functionsBuilders/steps/defaults/processStep.cjs');
64
- var build$1 = require('./functionsBuilders/steps/build.cjs');
65
- var create$2 = require('./functionsBuilders/router/create.cjs');
66
- var index$5 = require('./functionsBuilders/router/default/index.cjs');
67
- var build$2 = require('./functionsBuilders/router/build.cjs');
69
+ var handlerStep = require('./functionsBuilders/steps/defaults/handlerStep.cjs');
70
+ var defaultMalformedUrlHandler = require('./hub/defaultMalformedUrlHandler.cjs');
71
+ var defaultNotfoundHandler = require('./hub/defaultNotfoundHandler.cjs');
72
+ var index$5 = require('./functionsBuilders/route/default/index.cjs');
73
+ var index$6 = require('./functionsBuilders/router/default/index.cjs');
68
74
  var pathToRegExp = require('./router/pathToRegExp.cjs');
69
- var buildError = require('./router/buildError.cjs');
70
- var notFoundBodyReaderImplementationError = require('./router/notFoundBodyReaderImplementationError.cjs');
71
- var createRouterElementSystem = require('./router/createRouterElementSystem.cjs');
72
- var base$2 = require('./metadata/base.cjs');
73
- var ignoreByRouteStore = require('./metadata/ignoreByRouteStore.cjs');
74
- var wrongContentTypeError = require('./errors/wrongContentTypeError.cjs');
75
- var bodyParseWrongChunkReceived = require('./errors/bodyParseWrongChunkReceived.cjs');
76
- var bodySizeExceedsLimitError = require('./errors/bodySizeExceedsLimitError.cjs');
77
- var parseJsonError = require('./errors/parseJsonError.cjs');
75
+ var builder = require('./builders/preflight/builder.cjs');
76
+ var builder$1 = require('./builders/process/builder.cjs');
77
+ var builder$2 = require('./builders/route/builder.cjs');
78
+ var store = require('./builders/route/store.cjs');
79
+ var identifier = require('./steps/identifier.cjs');
80
+ var kind$1 = require('./steps/kind.cjs');
78
81
 
79
82
 
80
83
 
81
- exports.createRoute = index.createRoute;
82
- exports.routeKind = index.routeKind;
83
- exports.checkerKind = checker$2.checkerKind;
84
- exports.checkerOutputKind = checker$2.checkerOutputKind;
85
- exports.createChecker = checker$2.createChecker;
86
- exports.createCoreLibKind = kind$1.createCoreLibKind;
87
- exports.createProcess = index$1.createProcess;
88
- exports.processKind = index$1.processKind;
89
- exports.Request = index$2.Request;
90
- exports.createPresetChecker = presetChecker$1.createPresetChecker;
91
- exports.presetCheckerKind = presetChecker$1.presetCheckerKind;
92
- exports.Hub = index$3.Hub;
93
- exports.createHub = index$3.createHub;
94
- exports.hubKind = index$3.hubKind;
95
- exports.createRouter = index$6.createRouter;
84
+ exports.createRoute = index$3.createRoute;
85
+ exports.routeKind = index$3.routeKind;
86
+ exports.checkerKind = checker$1.checkerKind;
87
+ exports.checkerOutputKind = checker$1.checkerOutputKind;
88
+ exports.createChecker = checker$1.createChecker;
89
+ exports.createCoreLibKind = kind.createCoreLibKind;
90
+ exports.createProcess = index$2.createProcess;
91
+ exports.processKind = index$2.processKind;
92
+ exports.Request = index$1.Request;
93
+ exports.createPresetChecker = presetChecker.createPresetChecker;
94
+ exports.presetCheckerKind = presetChecker.presetCheckerKind;
95
+ exports.Hub = index.Hub;
96
+ exports.createHub = index.createHub;
97
+ exports.hubKind = index.hubKind;
98
+ exports.createRouter = index$4.createRouter;
96
99
  exports.createCoreLibStringIdentifier = stringIdentifier.createCoreLibStringIdentifier;
97
100
  exports.implementHttpServer = implementHttpServer.implementHttpServer;
98
101
  exports.createNarrowingInput = narrowingInput.createNarrowingInput;
@@ -101,90 +104,96 @@ Object.defineProperty(exports, "ServerSentEvents", {
101
104
  enumerable: true,
102
105
  get: function () { return serverSentEvents.ServerSentEvents; }
103
106
  });
104
- exports.checkerBuilder = checker.checkerBuilder;
105
- exports.useCheckerBuilder = checker.useCheckerBuilder;
106
- exports.routeBuilderHandler = builder.routeBuilderHandler;
107
- exports.useRouteBuilder = builder.useRouteBuilder;
108
- exports.routeStore = store.routeStore;
109
- exports.processBuilder = builder$1.processBuilder;
110
- exports.useProcessBuilder = builder$1.useProcessBuilder;
111
- exports.preflightBuilder = builder$2.preflightBuilder;
112
- exports.usePreflightBuilder = builder$2.usePreflightBuilder;
107
+ Object.defineProperty(exports, "Stream", {
108
+ enumerable: true,
109
+ get: function () { return stream.Stream; }
110
+ });
111
+ exports.BodyParseWrongChunkReceived = bodyParseWrongChunkReceived.BodyParseWrongChunkReceived;
112
+ exports.BodySizeExceedsLimitError = bodySizeExceedsLimitError.BodySizeExceedsLimitError;
113
+ exports.EmptyBodyController = empty.EmptyBodyController;
114
+ exports.controlBodyAsEmpty = empty.controlBodyAsEmpty;
115
+ exports.FormDataBodyController = formData.FormDataBodyController;
116
+ exports.controlBodyAsFormData = formData.controlBodyAsFormData;
117
+ exports.HookResponse = hook.HookResponse;
118
+ exports.IgnoreByRouteStoreMetadata = ignoreByRouteStore.IgnoreByRouteStoreMetadata;
119
+ exports.NotFoundBodyReaderImplementationError = notFoundBodyReaderImplementationError.NotFoundBodyReaderImplementationError;
120
+ exports.ParseJsonError = parseJsonError.ParseJsonError;
121
+ exports.PredictedResponse = predicted.PredictedResponse;
113
122
  exports.Response = base.Response;
114
123
  Object.defineProperty(exports, "ResponseContract", {
115
124
  enumerable: true,
116
125
  get: function () { return contract.ResponseContract; }
117
126
  });
118
- exports.HookResponse = hook.HookResponse;
119
- exports.PredictedResponse = predicted.PredictedResponse;
127
+ exports.RouterBuildError = buildError.RouterBuildError;
120
128
  exports.ServerSentEventsPredictedResponse = serverSentEventsPredicted.ServerSentEventsPredictedResponse;
121
- exports.createHookRouteLifeCycle = hooks.createHookRouteLifeCycle;
122
- exports.hookRouteExitKind = hooks.hookRouteExitKind;
123
- exports.hookRouteNextKind = hooks.hookRouteNextKind;
124
- exports.stepKind = kind.stepKind;
125
- exports.stepIdentifier = identifier.stepIdentifier;
126
- exports.checkerStepKind = checker$1.checkerStepKind;
127
- exports.createCheckerStep = checker$1.createCheckerStep;
128
- exports.createExtractStep = extract.createExtractStep;
129
- exports.extractStepKind = extract.extractStepKind;
130
- exports.createCutStep = cut.createCutStep;
131
- exports.cutStepKind = cut.cutStepKind;
132
- exports.cutStepOutputKind = cut.cutStepOutputKind;
133
- exports.createHandlerStep = handler.createHandlerStep;
134
- exports.handlerStepKind = handler.handlerStepKind;
135
- exports.createProcessStep = process.createProcessStep;
136
- exports.processStepKind = process.processStepKind;
137
- exports.createPresetCheckerStep = presetChecker.createPresetCheckerStep;
138
- exports.presetCheckerStepKind = presetChecker.presetCheckerStepKind;
139
- exports.WrongBodyReaderImplementationError = base$1.WrongBodyReaderImplementationError;
140
- exports.createBodyController = base$1.createBodyController;
141
- exports.FormDataBodyController = formData.FormDataBodyController;
142
- exports.controlBodyAsFormData = formData.controlBodyAsFormData;
129
+ exports.StreamPredictedResponse = streamPredicted.StreamPredictedResponse;
130
+ exports.StreamTextPredictedResponse = streamTextPredicted.StreamTextPredictedResponse;
143
131
  exports.TextBodyController = text.TextBodyController;
144
132
  exports.controlBodyAsText = text.controlBodyAsText;
145
- exports.EmptyBodyController = empty.EmptyBodyController;
146
- exports.controlBodyAsEmpty = empty.controlBodyAsEmpty;
147
- exports.createHookHubLifeCycle = hooks$1.createHookHubLifeCycle;
148
- exports.hookServerExitKind = hooks$1.hookServerExitKind;
149
- exports.hookServerNextKind = hooks$1.hookServerNextKind;
150
- exports.launchHookBeforeBuildRoute = hooks$1.launchHookBeforeBuildRoute;
151
- exports.launchHookServer = hooks$1.launchHookServer;
152
- exports.launchHookServerError = hooks$1.launchHookServerError;
153
- exports.serverErrorExitHookFunction = hooks$1.serverErrorExitHookFunction;
154
- exports.serverErrorNextHookFunction = hooks$1.serverErrorNextHookFunction;
155
- exports.defaultNotfoundHandler = defaultNotfoundHandler.defaultNotfoundHandler;
156
- exports.defaultExtractContract = defaultExtractContract.defaultExtractContract;
157
- exports.defaultBodyController = defaultBodyController.defaultBodyController;
158
- exports.defaultMalformedUrlHandler = defaultMalformedUrlHandler.defaultMalformedUrlHandler;
159
- exports.defaultEmptyReaderImplementation = defaultEmptyReaderImplementation.defaultEmptyReaderImplementation;
160
- exports.buildRouteFunction = build.buildRouteFunction;
161
- exports.createRouteFunctionBuilder = create.createRouteFunctionBuilder;
133
+ exports.WrongBodyReaderImplementationError = base$1.WrongBodyReaderImplementationError;
134
+ exports.createBodyController = base$1.createBodyController;
135
+ exports.WrongContentTypeError = wrongContentTypeError.WrongContentTypeError;
162
136
  exports.buildHookAfter = hook$1.buildHookAfter;
163
137
  exports.buildHookBefore = hook$1.buildHookBefore;
164
138
  exports.buildHookErrorBefore = hook$1.buildHookErrorBefore;
165
139
  exports.createHookResponse = hook$1.createHookResponse;
166
140
  exports.exitHookFunction = hook$1.exitHookFunction;
167
141
  exports.nextHookFunction = hook$1.nextHookFunction;
168
- exports.defaultRouteFunctionBuilder = index$4.defaultRouteFunctionBuilder;
169
- exports.createStepFunctionBuilder = create$1.createStepFunctionBuilder;
170
- exports.defaultCheckerStepFunctionBuilder = checkerStep.defaultCheckerStepFunctionBuilder;
171
- exports.defaultCutStepFunctionBuilder = cutStep.defaultCutStepFunctionBuilder;
172
- exports.defaultHandlerStepFunctionBuilder = handlerStep.defaultHandlerStepFunctionBuilder;
173
- exports.defaultExtractStepFunctionBuilder = extractStep.defaultExtractStepFunctionBuilder;
142
+ exports.buildRouteFunction = build.buildRouteFunction;
143
+ exports.buildRouterFunction = build$1.buildRouterFunction;
144
+ exports.buildStepFunction = build$2.buildStepFunction;
174
145
  exports.buildStepsFunction = processStep.buildStepsFunction;
175
146
  exports.defaultProcessStepFunctionBuilder = processStep.defaultProcessStepFunctionBuilder;
176
- exports.buildStepFunction = build$1.buildStepFunction;
177
- exports.createRouterFunctionBuilder = create$2.createRouterFunctionBuilder;
178
- exports.defaultRouterFunctionBuilder = index$5.defaultRouterFunctionBuilder;
179
- exports.buildRouterFunction = build$2.buildRouterFunction;
180
- exports.pathToRegExp = pathToRegExp.pathToRegExp;
181
- exports.RouterBuildError = buildError.RouterBuildError;
182
- exports.NotFoundBodyReaderImplementationError = notFoundBodyReaderImplementationError.NotFoundBodyReaderImplementationError;
183
- exports.createRouterElementSystem = createRouterElementSystem.createRouterElementSystem;
147
+ exports.checkerBuilder = checker.checkerBuilder;
148
+ exports.useCheckerBuilder = checker.useCheckerBuilder;
149
+ exports.checkerStepKind = checker$2.checkerStepKind;
150
+ exports.createCheckerStep = checker$2.createCheckerStep;
151
+ exports.createCutStep = cut.createCutStep;
152
+ exports.cutStepKind = cut.cutStepKind;
153
+ exports.cutStepOutputKind = cut.cutStepOutputKind;
154
+ exports.createExtractStep = extract.createExtractStep;
155
+ exports.extractStepKind = extract.extractStepKind;
156
+ exports.createHandlerStep = handler.createHandlerStep;
157
+ exports.handlerStepKind = handler.handlerStepKind;
158
+ exports.createHookHubLifeCycle = hooks.createHookHubLifeCycle;
159
+ exports.hookServerExitKind = hooks.hookServerExitKind;
160
+ exports.hookServerNextKind = hooks.hookServerNextKind;
161
+ exports.launchHookBeforeBuildRoute = hooks.launchHookBeforeBuildRoute;
162
+ exports.launchHookServer = hooks.launchHookServer;
163
+ exports.launchHookServerError = hooks.launchHookServerError;
164
+ exports.serverErrorExitHookFunction = hooks.serverErrorExitHookFunction;
165
+ exports.serverErrorNextHookFunction = hooks.serverErrorNextHookFunction;
166
+ exports.createHookRouteLifeCycle = hooks$1.createHookRouteLifeCycle;
167
+ exports.hookRouteExitKind = hooks$1.hookRouteExitKind;
168
+ exports.hookRouteNextKind = hooks$1.hookRouteNextKind;
184
169
  exports.createMetadata = base$2.createMetadata;
185
170
  exports.metadataKind = base$2.metadataKind;
186
- exports.IgnoreByRouteStoreMetadata = ignoreByRouteStore.IgnoreByRouteStoreMetadata;
187
- exports.WrongContentTypeError = wrongContentTypeError.WrongContentTypeError;
188
- exports.BodyParseWrongChunkReceived = bodyParseWrongChunkReceived.BodyParseWrongChunkReceived;
189
- exports.BodySizeExceedsLimitError = bodySizeExceedsLimitError.BodySizeExceedsLimitError;
190
- exports.ParseJsonError = parseJsonError.ParseJsonError;
171
+ exports.createPresetCheckerStep = presetChecker$1.createPresetCheckerStep;
172
+ exports.presetCheckerStepKind = presetChecker$1.presetCheckerStepKind;
173
+ exports.createProcessStep = process.createProcessStep;
174
+ exports.processStepKind = process.processStepKind;
175
+ exports.createRouteFunctionBuilder = create.createRouteFunctionBuilder;
176
+ exports.createRouterElementSystem = createRouterElementSystem.createRouterElementSystem;
177
+ exports.createRouterFunctionBuilder = create$1.createRouterFunctionBuilder;
178
+ exports.createStepFunctionBuilder = create$2.createStepFunctionBuilder;
179
+ exports.defaultBodyController = defaultBodyController.defaultBodyController;
180
+ exports.defaultCheckerStepFunctionBuilder = checkerStep.defaultCheckerStepFunctionBuilder;
181
+ exports.defaultCutStepFunctionBuilder = cutStep.defaultCutStepFunctionBuilder;
182
+ exports.defaultEmptyReaderImplementation = defaultEmptyReaderImplementation.defaultEmptyReaderImplementation;
183
+ exports.defaultExtractContract = defaultExtractContract.defaultExtractContract;
184
+ exports.defaultExtractStepFunctionBuilder = extractStep.defaultExtractStepFunctionBuilder;
185
+ exports.defaultHandlerStepFunctionBuilder = handlerStep.defaultHandlerStepFunctionBuilder;
186
+ exports.defaultMalformedUrlHandler = defaultMalformedUrlHandler.defaultMalformedUrlHandler;
187
+ exports.defaultNotfoundHandler = defaultNotfoundHandler.defaultNotfoundHandler;
188
+ exports.defaultRouteFunctionBuilder = index$5.defaultRouteFunctionBuilder;
189
+ exports.defaultRouterFunctionBuilder = index$6.defaultRouterFunctionBuilder;
190
+ exports.pathToRegExp = pathToRegExp.pathToRegExp;
191
+ exports.preflightBuilder = builder.preflightBuilder;
192
+ exports.usePreflightBuilder = builder.usePreflightBuilder;
193
+ exports.processBuilder = builder$1.processBuilder;
194
+ exports.useProcessBuilder = builder$1.useProcessBuilder;
195
+ exports.routeBuilderHandler = builder$2.routeBuilderHandler;
196
+ exports.useRouteBuilder = builder$2.useRouteBuilder;
197
+ exports.routeStore = store.routeStore;
198
+ exports.stepIdentifier = identifier.stepIdentifier;
199
+ exports.stepKind = kind$1.stepKind;
@@ -20,3 +20,4 @@ export * from "./clean";
20
20
  export * from "./defaultHooks";
21
21
  export * from "./errors";
22
22
  export * from "./serverSentEvents";
23
+ export * from "./stream";