@duplojs/http 0.1.0 → 0.2.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 (155) hide show
  1. package/dist/core/builders/index.cjs +11 -0
  2. package/dist/core/builders/index.mjs +4 -0
  3. package/dist/core/builders/preflight/index.cjs +10 -0
  4. package/dist/core/builders/preflight/index.mjs +3 -0
  5. package/dist/core/builders/preflight/process.cjs +2 -8
  6. package/dist/core/builders/preflight/process.mjs +2 -8
  7. package/dist/core/builders/preflight/route.cjs +2 -8
  8. package/dist/core/builders/preflight/route.mjs +2 -8
  9. package/dist/core/builders/process/checker.cjs +2 -8
  10. package/dist/core/builders/process/checker.mjs +2 -8
  11. package/dist/core/builders/process/cut.cjs +2 -8
  12. package/dist/core/builders/process/cut.mjs +2 -8
  13. package/dist/core/builders/process/extract.cjs +2 -8
  14. package/dist/core/builders/process/extract.mjs +2 -8
  15. package/dist/core/builders/process/index.cjs +14 -0
  16. package/dist/core/builders/process/index.mjs +7 -0
  17. package/dist/core/builders/process/presetChecker.cjs +2 -8
  18. package/dist/core/builders/process/presetChecker.mjs +2 -8
  19. package/dist/core/builders/process/process.cjs +2 -8
  20. package/dist/core/builders/process/process.mjs +2 -8
  21. package/dist/core/builders/route/checker.cjs +2 -8
  22. package/dist/core/builders/route/checker.mjs +2 -8
  23. package/dist/core/builders/route/cut.cjs +2 -8
  24. package/dist/core/builders/route/cut.mjs +2 -8
  25. package/dist/core/builders/route/extract.cjs +2 -8
  26. package/dist/core/builders/route/extract.mjs +2 -8
  27. package/dist/core/builders/route/handler.cjs +2 -8
  28. package/dist/core/builders/route/handler.mjs +2 -8
  29. package/dist/core/builders/route/index.cjs +16 -0
  30. package/dist/core/builders/route/index.mjs +8 -0
  31. package/dist/core/builders/route/presetChecker.cjs +2 -8
  32. package/dist/core/builders/route/presetChecker.mjs +2 -8
  33. package/dist/core/builders/route/process.cjs +2 -8
  34. package/dist/core/builders/route/process.mjs +2 -8
  35. package/dist/core/floor.cjs +2 -0
  36. package/dist/core/floor.mjs +1 -0
  37. package/dist/core/functionsBuilders/index.cjs +5 -0
  38. package/dist/core/functionsBuilders/index.mjs +2 -0
  39. package/dist/core/functionsBuilders/route/build.cjs +5 -14
  40. package/dist/core/functionsBuilders/route/build.d.ts +3 -1
  41. package/dist/core/functionsBuilders/route/build.mjs +6 -15
  42. package/dist/core/functionsBuilders/route/create.d.ts +2 -0
  43. package/dist/core/functionsBuilders/route/default.cjs +1 -12
  44. package/dist/core/functionsBuilders/route/default.mjs +2 -13
  45. package/dist/core/functionsBuilders/route/index.cjs +18 -0
  46. package/dist/core/functionsBuilders/route/index.mjs +4 -0
  47. package/dist/core/functionsBuilders/steps/build.cjs +4 -0
  48. package/dist/core/functionsBuilders/steps/build.d.ts +2 -0
  49. package/dist/core/functionsBuilders/steps/build.mjs +5 -1
  50. package/dist/core/functionsBuilders/steps/create.d.ts +2 -1
  51. package/dist/core/functionsBuilders/steps/defaults/checkerStep.cjs +3 -8
  52. package/dist/core/functionsBuilders/steps/defaults/checkerStep.mjs +3 -8
  53. package/dist/core/functionsBuilders/steps/defaults/cutStep.cjs +3 -9
  54. package/dist/core/functionsBuilders/steps/defaults/cutStep.mjs +4 -10
  55. package/dist/core/functionsBuilders/steps/defaults/extractStep.cjs +4 -12
  56. package/dist/core/functionsBuilders/steps/defaults/extractStep.mjs +5 -13
  57. package/dist/core/functionsBuilders/steps/defaults/handlerStep.cjs +3 -9
  58. package/dist/core/functionsBuilders/steps/defaults/handlerStep.mjs +3 -9
  59. package/dist/core/functionsBuilders/steps/defaults/index.cjs +16 -0
  60. package/dist/core/functionsBuilders/steps/defaults/index.mjs +5 -0
  61. package/dist/core/functionsBuilders/steps/defaults/processStep.cjs +2 -8
  62. package/dist/core/functionsBuilders/steps/defaults/processStep.mjs +3 -9
  63. package/dist/core/functionsBuilders/steps/index.cjs +10 -0
  64. package/dist/core/functionsBuilders/steps/index.mjs +3 -0
  65. package/dist/core/hub/defaultNotfoundHandler.cjs +2 -8
  66. package/dist/core/hub/defaultNotfoundHandler.mjs +2 -8
  67. package/dist/core/hub/hooks.d.ts +3 -3
  68. package/dist/core/hub/index.cjs +2 -8
  69. package/dist/core/hub/index.mjs +2 -8
  70. package/dist/core/index.cjs +54 -63
  71. package/dist/core/index.mjs +21 -30
  72. package/dist/core/process/index.cjs +1 -0
  73. package/dist/core/process/index.mjs +1 -0
  74. package/dist/core/process/types/index.cjs +2 -0
  75. package/dist/core/process/types/index.mjs +1 -0
  76. package/dist/core/response/contract.cjs +11 -11
  77. package/dist/core/response/contract.d.ts +2 -2
  78. package/dist/core/response/contract.mjs +12 -12
  79. package/dist/core/route/hooks/response.cjs +1 -1
  80. package/dist/core/route/hooks/response.d.ts +1 -1
  81. package/dist/core/route/hooks/response.mjs +1 -1
  82. package/dist/core/route/index.cjs +1 -0
  83. package/dist/core/route/index.mjs +1 -0
  84. package/dist/core/route/types/buildedRoute.cjs +2 -0
  85. package/dist/core/route/types/buildedRoute.mjs +1 -0
  86. package/dist/core/route/types/index.cjs +4 -0
  87. package/dist/core/route/types/index.mjs +1 -0
  88. package/dist/core/router/buildError.cjs +3 -1
  89. package/dist/core/router/buildError.d.ts +4 -2
  90. package/dist/core/router/buildError.mjs +3 -1
  91. package/dist/core/router/index.cjs +13 -7
  92. package/dist/core/router/index.mjs +14 -8
  93. package/dist/core/router/types/buildedRouter.cjs +2 -0
  94. package/dist/core/router/types/buildedRouter.mjs +1 -0
  95. package/dist/core/router/types/index.cjs +4 -0
  96. package/dist/core/router/types/index.mjs +1 -0
  97. package/dist/core/steps/identifier.d.ts +2 -2
  98. package/dist/core/steps/index.cjs +29 -0
  99. package/dist/core/steps/index.mjs +9 -0
  100. package/dist/core/steps/types/buildedStep.cjs +2 -0
  101. package/dist/core/steps/types/buildedStep.mjs +1 -0
  102. package/dist/core/steps/types/index.cjs +6 -0
  103. package/dist/core/steps/types/index.mjs +3 -0
  104. package/dist/core/steps/types/stepFunctionParams.cjs +2 -0
  105. package/dist/core/steps/types/stepFunctionParams.mjs +1 -0
  106. package/dist/core/steps/types/steps.cjs +2 -0
  107. package/dist/core/steps/types/steps.mjs +1 -0
  108. package/dist/core/types/environment.cjs +2 -0
  109. package/dist/core/types/environment.d.ts +1 -1
  110. package/dist/core/types/environment.mjs +1 -0
  111. package/dist/core/types/index.cjs +4 -0
  112. package/dist/core/types/index.mjs +1 -0
  113. package/dist/interfaces/bun/index.cjs +1 -9
  114. package/dist/interfaces/bun/index.mjs +1 -9
  115. package/dist/interfaces/bun/types/index.cjs +4 -0
  116. package/dist/interfaces/bun/types/index.mjs +1 -0
  117. package/dist/interfaces/bun/types/request.cjs +5 -0
  118. package/dist/interfaces/bun/types/request.mjs +2 -0
  119. package/dist/interfaces/deno/index.cjs +1 -0
  120. package/dist/interfaces/deno/index.mjs +1 -0
  121. package/dist/interfaces/deno/types/index.cjs +2 -0
  122. package/dist/interfaces/deno/types/index.mjs +1 -0
  123. package/dist/interfaces/node/createHttpServer.cjs +10 -3
  124. package/dist/interfaces/node/createHttpServer.mjs +10 -3
  125. package/dist/interfaces/node/error/index.cjs +11 -0
  126. package/dist/interfaces/node/error/index.mjs +3 -0
  127. package/dist/interfaces/node/hooks.cjs +3 -2
  128. package/dist/interfaces/node/hooks.mjs +3 -2
  129. package/dist/interfaces/node/index.cjs +6 -13
  130. package/dist/interfaces/node/index.mjs +4 -11
  131. package/dist/interfaces/node/types/host.cjs +2 -0
  132. package/dist/interfaces/node/types/host.mjs +1 -0
  133. package/dist/interfaces/node/types/index.cjs +5 -0
  134. package/dist/interfaces/node/types/index.mjs +2 -0
  135. package/dist/interfaces/node/types/request.cjs +5 -0
  136. package/dist/interfaces/node/types/request.mjs +2 -0
  137. package/dist/plugins/codeGenerator/index.cjs +16 -0
  138. package/dist/plugins/codeGenerator/index.d.ts +5 -0
  139. package/dist/plugins/codeGenerator/index.mjs +5 -0
  140. package/dist/plugins/codeGenerator/plugin.cjs +51 -0
  141. package/dist/plugins/codeGenerator/plugin.d.ts +5 -0
  142. package/dist/plugins/codeGenerator/plugin.mjs +30 -0
  143. package/dist/plugins/codeGenerator/routeToDataParser.cjs +79 -0
  144. package/dist/plugins/codeGenerator/routeToDataParser.d.ts +186 -0
  145. package/dist/plugins/codeGenerator/routeToDataParser.mjs +74 -0
  146. package/dist/plugins/codeGenerator/stepsToDataParser.cjs +66 -0
  147. package/dist/plugins/codeGenerator/stepsToDataParser.d.ts +14 -0
  148. package/dist/plugins/codeGenerator/stepsToDataParser.mjs +64 -0
  149. package/dist/plugins/codeGenerator/types/entrypointKey.cjs +2 -0
  150. package/dist/plugins/codeGenerator/types/entrypointKey.d.ts +1 -0
  151. package/dist/plugins/codeGenerator/types/entrypointKey.mjs +1 -0
  152. package/dist/plugins/codeGenerator/types/index.cjs +4 -0
  153. package/dist/plugins/codeGenerator/types/index.d.ts +1 -0
  154. package/dist/plugins/codeGenerator/types/index.mjs +1 -0
  155. package/package.json +9 -3
@@ -1,18 +1,5 @@
1
- import { G, E } from '@duplojs/utils';
2
- import '../../checker.mjs';
3
- import '../../steps/kind.mjs';
4
- import '../../steps/identifier.mjs';
5
- import '../../steps/checker.mjs';
6
- import '../../steps/extract.mjs';
7
- import '../../steps/cut.mjs';
8
- import '../../steps/handler.mjs';
9
- import '../../steps/process.mjs';
10
- import '../../steps/presetChecker.mjs';
11
- import '../../response/index.mjs';
12
- import '../steps/defaults/cutStep.mjs';
13
- import '../steps/defaults/handlerStep.mjs';
14
- import '../steps/defaults/extractStep.mjs';
15
- import '../steps/defaults/processStep.mjs';
1
+ import { E, G, unwrap } from '@duplojs/utils';
2
+ import '../steps/index.mjs';
16
3
  import { buildStepFunction } from '../steps/build.mjs';
17
4
 
18
5
  function buildRouteFunction(route, params) {
@@ -25,10 +12,14 @@ function buildRouteFunction(route, params) {
25
12
  },
26
13
  environment: params.environment,
27
14
  globalHooksRouteLifeCycle: params.globalHooksRouteLifeCycle,
15
+ defaultExtractContract: params.defaultExtractContract,
28
16
  };
29
17
  return G.asyncReduce(params.routeFunctionBuilders, G.reduceFrom(E.left("routeNotSupport", route)), async ({ element: functionBuilder, lastValue, next, exit, }) => {
30
18
  const result = await functionBuilder(route, functionParams);
31
19
  if (E.isLeft(result)) {
20
+ if (unwrap(result) !== route) {
21
+ return exit(result);
22
+ }
32
23
  return next(lastValue);
33
24
  }
34
25
  return exit(result);
@@ -4,6 +4,7 @@ import { type Request } from "../../request";
4
4
  import { type Environment } from "../../types";
5
5
  import { type BuildStepSuccessEither, type BuildStepNotSupportEither } from "../steps";
6
6
  import { type Steps } from "../../steps";
7
+ import { type ResponseContract } from "../../response";
7
8
  export type BuildedRouteFunction = (request: Request) => Promise<void>;
8
9
  export type BuildRouteSuccessEither = E.EitherRight<"buildSuccess", BuildedRouteFunction>;
9
10
  export type BuildRouteNotSupportEither = E.EitherLeft<"routeNotSupport", Route>;
@@ -12,5 +13,6 @@ export interface RouteFunctionBuilderParams {
12
13
  readonly environment: Environment;
13
14
  buildStep(element: Steps): Promise<BuildStepSuccessEither | BuildStepNotSupportEither>;
14
15
  success(result: BuildedRouteFunction): BuildRouteSuccessEither;
16
+ readonly defaultExtractContract: ResponseContract.Contract;
15
17
  }
16
18
  export declare function createRouteFunctionBuilder(support: (route: Route) => boolean, builder: (route: Route, params: RouteFunctionBuilderParams) => MaybePromise<BuildRouteSuccessEither | BuildStepNotSupportEither>): (route: Route, params: RouteFunctionBuilderParams) => MaybePromise<BuildRouteNotSupportEither | BuildRouteSuccessEither | BuildStepNotSupportEither>;
@@ -5,18 +5,7 @@ var utils = require('@duplojs/utils');
5
5
  var index$1 = require('../../response/index.cjs');
6
6
  var hook = require('./hook.cjs');
7
7
  var create = require('./create.cjs');
8
- require('../../checker.cjs');
9
- require('../../steps/kind.cjs');
10
- require('../../steps/identifier.cjs');
11
- require('../../steps/checker.cjs');
12
- require('../../steps/extract.cjs');
13
- require('../../steps/cut.cjs');
14
- require('../../steps/handler.cjs');
15
- require('../../steps/process.cjs');
16
- require('../../steps/presetChecker.cjs');
17
- require('../steps/defaults/cutStep.cjs');
18
- require('../steps/defaults/handlerStep.cjs');
19
- require('../steps/defaults/extractStep.cjs');
8
+ require('../steps/index.cjs');
20
9
  var processStep = require('../steps/defaults/processStep.cjs');
21
10
  var response = require('../../route/hooks/response.cjs');
22
11
 
@@ -1,20 +1,9 @@
1
1
  import { routeKind } from '../../route/index.mjs';
2
2
  import { E, A, pipe, isType, forward } from '@duplojs/utils';
3
3
  import { Response } from '../../response/index.mjs';
4
- import { buildHookAfter, buildHookErrorBefore, buildHookBefore, nextHookFunction, exitHookFunction, createHookResponse } from './hook.mjs';
4
+ import { buildHookAfter, buildHookErrorBefore, buildHookBefore, createHookResponse, nextHookFunction, exitHookFunction } from './hook.mjs';
5
5
  import { createRouteFunctionBuilder } from './create.mjs';
6
- import '../../checker.mjs';
7
- import '../../steps/kind.mjs';
8
- import '../../steps/identifier.mjs';
9
- import '../../steps/checker.mjs';
10
- import '../../steps/extract.mjs';
11
- import '../../steps/cut.mjs';
12
- import '../../steps/handler.mjs';
13
- import '../../steps/process.mjs';
14
- import '../../steps/presetChecker.mjs';
15
- import '../steps/defaults/cutStep.mjs';
16
- import '../steps/defaults/handlerStep.mjs';
17
- import '../steps/defaults/extractStep.mjs';
6
+ import '../steps/index.mjs';
18
7
  import { buildStepsFunction } from '../steps/defaults/processStep.mjs';
19
8
  import { HookResponse } from '../../route/hooks/response.mjs';
20
9
 
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ var build = require('./build.cjs');
4
+ var create = require('./create.cjs');
5
+ var _default = require('./default.cjs');
6
+ var hook = require('./hook.cjs');
7
+
8
+
9
+
10
+ exports.buildRouteFunction = build.buildRouteFunction;
11
+ exports.createRouteFunctionBuilder = create.createRouteFunctionBuilder;
12
+ exports.defaultRouteFunctionBuilder = _default.defaultRouteFunctionBuilder;
13
+ exports.buildHookAfter = hook.buildHookAfter;
14
+ exports.buildHookBefore = hook.buildHookBefore;
15
+ exports.buildHookErrorBefore = hook.buildHookErrorBefore;
16
+ exports.createHookResponse = hook.createHookResponse;
17
+ exports.exitHookFunction = hook.exitHookFunction;
18
+ exports.nextHookFunction = hook.nextHookFunction;
@@ -0,0 +1,4 @@
1
+ export { buildRouteFunction } from './build.mjs';
2
+ export { createRouteFunctionBuilder } from './create.mjs';
3
+ export { defaultRouteFunctionBuilder } from './default.mjs';
4
+ export { buildHookAfter, buildHookBefore, buildHookErrorBefore, createHookResponse, exitHookFunction, nextHookFunction } from './hook.mjs';
@@ -11,10 +11,14 @@ function buildStepFunction(step, params) {
11
11
  return buildStepFunction(step, params);
12
12
  },
13
13
  environment: params.environment,
14
+ defaultExtractContract: params.defaultExtractContract,
14
15
  };
15
16
  return utils.G.asyncReduce(params.stepFunctionBuilders, utils.G.reduceFrom(utils.E.left("stepNotSupport", step)), async ({ element: functionBuilder, lastValue, next, exit, }) => {
16
17
  const result = await functionBuilder(step, functionParams);
17
18
  if (utils.E.isLeft(result)) {
19
+ if (utils.unwrap(result) !== step) {
20
+ return exit(result);
21
+ }
18
22
  return next(lastValue);
19
23
  }
20
24
  return exit(result);
@@ -1,8 +1,10 @@
1
1
  import { type Steps } from "../../steps/types";
2
2
  import { type BuildStepNotSupportEither, type createStepFunctionBuilder } from "./create";
3
3
  import { type Environment } from "../../types";
4
+ import { type ResponseContract } from "../../response";
4
5
  export interface BuildStepFunctionParams {
5
6
  readonly stepFunctionBuilders: readonly ReturnType<typeof createStepFunctionBuilder>[];
6
7
  readonly environment: Environment;
8
+ readonly defaultExtractContract: ResponseContract.Contract;
7
9
  }
8
10
  export declare function buildStepFunction(step: Steps, params: BuildStepFunctionParams): Promise<BuildStepNotSupportEither | import("./create").BuildStepSuccessEither>;
@@ -1,4 +1,4 @@
1
- import { G, E } from '@duplojs/utils';
1
+ import { E, G, unwrap } from '@duplojs/utils';
2
2
 
3
3
  function buildStepFunction(step, params) {
4
4
  const functionParams = {
@@ -9,10 +9,14 @@ function buildStepFunction(step, params) {
9
9
  return buildStepFunction(step, params);
10
10
  },
11
11
  environment: params.environment,
12
+ defaultExtractContract: params.defaultExtractContract,
12
13
  };
13
14
  return G.asyncReduce(params.stepFunctionBuilders, G.reduceFrom(E.left("stepNotSupport", step)), async ({ element: functionBuilder, lastValue, next, exit, }) => {
14
15
  const result = await functionBuilder(step, functionParams);
15
16
  if (E.isLeft(result)) {
17
+ if (unwrap(result) !== step) {
18
+ return exit(result);
19
+ }
16
20
  return next(lastValue);
17
21
  }
18
22
  return exit(result);
@@ -3,7 +3,7 @@ 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 Response } from "../../response";
6
+ import { type ResponseContract, type Response } from "../../response";
7
7
  import { type Environment } from "../../types";
8
8
  export type BuildedStepFunction = (request: Request, floor: Floor) => MaybePromise<Floor | Response>;
9
9
  export interface BuildStepResult {
@@ -16,5 +16,6 @@ export interface StepFunctionBuilderParams {
16
16
  buildStep(element: Steps): Promise<BuildStepSuccessEither | BuildStepNotSupportEither>;
17
17
  success(result: BuildStepResult): BuildStepSuccessEither;
18
18
  readonly environment: Environment;
19
+ readonly defaultExtractContract: ResponseContract.Contract;
19
20
  }
20
21
  export declare function createStepFunctionBuilder<GenericSupportStep extends Steps>(support: (step: Steps) => step is GenericSupportStep, builder: (step: GenericSupportStep, params: StepFunctionBuilderParams) => MaybePromise<BuildStepSuccessEither | BuildStepNotSupportEither>): (step: Steps, params: StepFunctionBuilderParams) => MaybePromise<BuildStepSuccessEither | BuildStepNotSupportEither>;
@@ -2,16 +2,11 @@
2
2
 
3
3
  var checker$1 = require('../../../checker.cjs');
4
4
  var create = require('../create.cjs');
5
- require('../../../steps/kind.cjs');
6
- require('../../../steps/identifier.cjs');
7
- var checker = require('../../../steps/checker.cjs');
8
- require('../../../steps/extract.cjs');
9
- require('../../../steps/cut.cjs');
10
- require('../../../steps/handler.cjs');
11
- require('../../../steps/process.cjs');
12
- var presetChecker = require('../../../steps/presetChecker.cjs');
5
+ require('../../../steps/index.cjs');
13
6
  var utils = require('@duplojs/utils');
14
7
  var index = require('../../../response/index.cjs');
8
+ var checker = require('../../../steps/checker.cjs');
9
+ var presetChecker = require('../../../steps/presetChecker.cjs');
15
10
 
16
11
  const defaultCheckerStepFunctionBuilder = create.createStepFunctionBuilder((element) => checker.checkerStepKind.has(element) || presetChecker.presetCheckerStepKind.has(element), (step, { success }) => {
17
12
  const { checkerOptions, checkerFunction, input, responseContract, stepResult, indexing, stepOptions, } = utils.pipe(step, utils.P.when(checker.checkerStepKind.has, ({ definition }) => ({
@@ -1,15 +1,10 @@
1
1
  import { checkerOutputKind } from '../../../checker.mjs';
2
2
  import { createStepFunctionBuilder } from '../create.mjs';
3
- import '../../../steps/kind.mjs';
4
- import '../../../steps/identifier.mjs';
5
- import { checkerStepKind } from '../../../steps/checker.mjs';
6
- import '../../../steps/extract.mjs';
7
- import '../../../steps/cut.mjs';
8
- import '../../../steps/handler.mjs';
9
- import '../../../steps/process.mjs';
10
- import { presetCheckerStepKind } from '../../../steps/presetChecker.mjs';
3
+ import '../../../steps/index.mjs';
11
4
  import { pipe, P, or, isType, forward } from '@duplojs/utils';
12
5
  import { Response } from '../../../response/index.mjs';
6
+ import { checkerStepKind } from '../../../steps/checker.mjs';
7
+ import { presetCheckerStepKind } from '../../../steps/presetChecker.mjs';
13
8
 
14
9
  const defaultCheckerStepFunctionBuilder = createStepFunctionBuilder((element) => checkerStepKind.has(element) || presetCheckerStepKind.has(element), (step, { success }) => {
15
10
  const { checkerOptions, checkerFunction, input, responseContract, stepResult, indexing, stepOptions, } = pipe(step, P.when(checkerStepKind.has, ({ definition }) => ({
@@ -1,16 +1,10 @@
1
1
  'use strict';
2
2
 
3
- require('../../../steps/kind.cjs');
4
- require('../../../steps/identifier.cjs');
5
- require('../../../steps/checker.cjs');
6
- require('../../../steps/extract.cjs');
7
- var cut = require('../../../steps/cut.cjs');
8
- require('../../../steps/handler.cjs');
9
- require('../../../steps/process.cjs');
10
- require('../../../steps/presetChecker.cjs');
3
+ require('../../../steps/index.cjs');
11
4
  var create = require('../create.cjs');
12
5
  var utils = require('@duplojs/utils');
13
6
  var index = require('../../../response/index.cjs');
7
+ var cut = require('../../../steps/cut.cjs');
14
8
  var contract = require('../../../response/contract.cjs');
15
9
 
16
10
  const defaultCutStepFunctionBuilder = create.createStepFunctionBuilder(cut.cutStepKind.has, (step, { success }) => {
@@ -24,7 +18,7 @@ const defaultCutStepFunctionBuilder = create.createStepFunctionBuilder(cut.cutSt
24
18
  if (!currentContract) {
25
19
  throw new contract.ResponseContract.Error(information);
26
20
  }
27
- const result = currentContract.schema.parse(body);
21
+ const result = currentContract.body.parse(body);
28
22
  if (utils.E.isLeft(result)) {
29
23
  throw new contract.ResponseContract.Error(information, utils.unwrap(result));
30
24
  }
@@ -1,14 +1,8 @@
1
- import '../../../steps/kind.mjs';
2
- import '../../../steps/identifier.mjs';
3
- import '../../../steps/checker.mjs';
4
- import '../../../steps/extract.mjs';
5
- import { cutStepKind, cutStepOutputKind } from '../../../steps/cut.mjs';
6
- import '../../../steps/handler.mjs';
7
- import '../../../steps/process.mjs';
8
- import '../../../steps/presetChecker.mjs';
1
+ import '../../../steps/index.mjs';
9
2
  import { createStepFunctionBuilder } from '../create.mjs';
10
- import { A, wrapValue, E, unwrap } from '@duplojs/utils';
3
+ import { wrapValue, A, E, unwrap } from '@duplojs/utils';
11
4
  import { Response } from '../../../response/index.mjs';
5
+ import { cutStepKind, cutStepOutputKind } from '../../../steps/cut.mjs';
12
6
  import { ResponseContract } from '../../../response/contract.mjs';
13
7
 
14
8
  const defaultCutStepFunctionBuilder = createStepFunctionBuilder(cutStepKind.has, (step, { success }) => {
@@ -22,7 +16,7 @@ const defaultCutStepFunctionBuilder = createStepFunctionBuilder(cutStepKind.has,
22
16
  if (!currentContract) {
23
17
  throw new ResponseContract.Error(information);
24
18
  }
25
- const result = currentContract.schema.parse(body);
19
+ const result = currentContract.body.parse(body);
26
20
  if (E.isLeft(result)) {
27
21
  throw new ResponseContract.Error(information, unwrap(result));
28
22
  }
@@ -1,22 +1,14 @@
1
1
  'use strict';
2
2
 
3
- require('../../../steps/kind.cjs');
4
- require('../../../steps/identifier.cjs');
5
- require('../../../steps/checker.cjs');
6
- var extract = require('../../../steps/extract.cjs');
7
- require('../../../steps/cut.cjs');
8
- require('../../../steps/handler.cjs');
9
- require('../../../steps/process.cjs');
10
- require('../../../steps/presetChecker.cjs');
3
+ require('../../../steps/index.cjs');
11
4
  var utils = require('@duplojs/utils');
12
5
  var index = require('../../../response/index.cjs');
13
6
  var create = require('../create.cjs');
14
- var contract = require('../../../response/contract.cjs');
7
+ var extract = require('../../../steps/extract.cjs');
15
8
 
16
- const defaultExtractStepFunctionBuilder = create.createStepFunctionBuilder(extract.extractStepKind.has, (step, { success, environment }) => {
9
+ const defaultExtractStepFunctionBuilder = create.createStepFunctionBuilder(extract.extractStepKind.has, (step, { success, environment, defaultExtractContract }) => {
17
10
  const { shape, responseContract: stepResponseContract, } = step.definition;
18
- const responseContract = stepResponseContract ?? contract.ResponseContract
19
- .unprocessableContent("extract-error");
11
+ const responseContract = stepResponseContract ?? defaultExtractContract;
20
12
  function getResponse(result, key, subKey) {
21
13
  const response = new index.Response(responseContract.code, responseContract.information, environment === "DEV"
22
14
  ? utils.unwrap(result)
@@ -1,20 +1,12 @@
1
- import '../../../steps/kind.mjs';
2
- import '../../../steps/identifier.mjs';
3
- import '../../../steps/checker.mjs';
4
- import { extractStepKind } from '../../../steps/extract.mjs';
5
- import '../../../steps/cut.mjs';
6
- import '../../../steps/handler.mjs';
7
- import '../../../steps/process.mjs';
8
- import '../../../steps/presetChecker.mjs';
9
- import { A, O, pipe, DP, P, isType, justReturn, innerPipe, E, unwrap } from '@duplojs/utils';
1
+ import '../../../steps/index.mjs';
2
+ import { unwrap, E, A, O, DP, pipe, P, isType, justReturn, innerPipe } from '@duplojs/utils';
10
3
  import { Response } from '../../../response/index.mjs';
11
4
  import { createStepFunctionBuilder } from '../create.mjs';
12
- import { ResponseContract } from '../../../response/contract.mjs';
5
+ import { extractStepKind } from '../../../steps/extract.mjs';
13
6
 
14
- const defaultExtractStepFunctionBuilder = createStepFunctionBuilder(extractStepKind.has, (step, { success, environment }) => {
7
+ const defaultExtractStepFunctionBuilder = createStepFunctionBuilder(extractStepKind.has, (step, { success, environment, defaultExtractContract }) => {
15
8
  const { shape, responseContract: stepResponseContract, } = step.definition;
16
- const responseContract = stepResponseContract ?? ResponseContract
17
- .unprocessableContent("extract-error");
9
+ const responseContract = stepResponseContract ?? defaultExtractContract;
18
10
  function getResponse(result, key, subKey) {
19
11
  const response = new Response(responseContract.code, responseContract.information, environment === "DEV"
20
12
  ? unwrap(result)
@@ -1,16 +1,10 @@
1
1
  'use strict';
2
2
 
3
- require('../../../steps/kind.cjs');
4
- require('../../../steps/identifier.cjs');
5
- require('../../../steps/checker.cjs');
6
- require('../../../steps/extract.cjs');
7
- require('../../../steps/cut.cjs');
8
- var handler = require('../../../steps/handler.cjs');
9
- require('../../../steps/process.cjs');
10
- require('../../../steps/presetChecker.cjs');
3
+ require('../../../steps/index.cjs');
11
4
  var create = require('../create.cjs');
12
5
  var utils = require('@duplojs/utils');
13
6
  var index = require('../../../response/index.cjs');
7
+ var handler = require('../../../steps/handler.cjs');
14
8
  var contract = require('../../../response/contract.cjs');
15
9
 
16
10
  const defaultHandlerStepFunctionBuilder = create.createStepFunctionBuilder(handler.handlerStepKind.has, (step, { success }) => {
@@ -23,7 +17,7 @@ const defaultHandlerStepFunctionBuilder = create.createStepFunctionBuilder(handl
23
17
  if (!currentContract) {
24
18
  throw new contract.ResponseContract.Error(information);
25
19
  }
26
- const result = currentContract.schema.parse(body);
20
+ const result = currentContract.body.parse(body);
27
21
  if (utils.E.isLeft(result)) {
28
22
  throw new contract.ResponseContract.Error(information, utils.unwrap(result));
29
23
  }
@@ -1,14 +1,8 @@
1
- import '../../../steps/kind.mjs';
2
- import '../../../steps/identifier.mjs';
3
- import '../../../steps/checker.mjs';
4
- import '../../../steps/extract.mjs';
5
- import '../../../steps/cut.mjs';
6
- import { handlerStepKind } from '../../../steps/handler.mjs';
7
- import '../../../steps/process.mjs';
8
- import '../../../steps/presetChecker.mjs';
1
+ import '../../../steps/index.mjs';
9
2
  import { createStepFunctionBuilder } from '../create.mjs';
10
3
  import { A, E, unwrap } from '@duplojs/utils';
11
4
  import { Response } from '../../../response/index.mjs';
5
+ import { handlerStepKind } from '../../../steps/handler.mjs';
12
6
  import { ResponseContract } from '../../../response/contract.mjs';
13
7
 
14
8
  const defaultHandlerStepFunctionBuilder = createStepFunctionBuilder(handlerStepKind.has, (step, { success }) => {
@@ -21,7 +15,7 @@ const defaultHandlerStepFunctionBuilder = createStepFunctionBuilder(handlerStepK
21
15
  if (!currentContract) {
22
16
  throw new ResponseContract.Error(information);
23
17
  }
24
- const result = currentContract.schema.parse(body);
18
+ const result = currentContract.body.parse(body);
25
19
  if (E.isLeft(result)) {
26
20
  throw new ResponseContract.Error(information, unwrap(result));
27
21
  }
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var checkerStep = require('./checkerStep.cjs');
4
+ var cutStep = require('./cutStep.cjs');
5
+ var handlerStep = require('./handlerStep.cjs');
6
+ var extractStep = require('./extractStep.cjs');
7
+ var processStep = require('./processStep.cjs');
8
+
9
+
10
+
11
+ exports.defaultCheckerStepFunctionBuilder = checkerStep.defaultCheckerStepFunctionBuilder;
12
+ exports.defaultCutStepFunctionBuilder = cutStep.defaultCutStepFunctionBuilder;
13
+ exports.defaultHandlerStepFunctionBuilder = handlerStep.defaultHandlerStepFunctionBuilder;
14
+ exports.defaultExtractStepFunctionBuilder = extractStep.defaultExtractStepFunctionBuilder;
15
+ exports.buildStepsFunction = processStep.buildStepsFunction;
16
+ exports.defaultProcessStepFunctionBuilder = processStep.defaultProcessStepFunctionBuilder;
@@ -0,0 +1,5 @@
1
+ export { defaultCheckerStepFunctionBuilder } from './checkerStep.mjs';
2
+ export { defaultCutStepFunctionBuilder } from './cutStep.mjs';
3
+ export { defaultHandlerStepFunctionBuilder } from './handlerStep.mjs';
4
+ export { defaultExtractStepFunctionBuilder } from './extractStep.mjs';
5
+ export { buildStepsFunction, defaultProcessStepFunctionBuilder } from './processStep.mjs';
@@ -1,16 +1,10 @@
1
1
  'use strict';
2
2
 
3
- require('../../../steps/kind.cjs');
4
- require('../../../steps/identifier.cjs');
5
- require('../../../steps/checker.cjs');
6
- require('../../../steps/extract.cjs');
7
- require('../../../steps/cut.cjs');
8
- require('../../../steps/handler.cjs');
9
- var process = require('../../../steps/process.cjs');
10
- require('../../../steps/presetChecker.cjs');
3
+ require('../../../steps/index.cjs');
11
4
  var index = require('../../../response/index.cjs');
12
5
  var create = require('../create.cjs');
13
6
  var utils = require('@duplojs/utils');
7
+ var process = require('../../../steps/process.cjs');
14
8
 
15
9
  function buildStepsFunction(steps, buildStep) {
16
10
  return utils.G.asyncReduce(steps, utils.G.reduceFrom([]), async ({ lastValue, element: step, next, exit }) => {
@@ -1,14 +1,8 @@
1
- import '../../../steps/kind.mjs';
2
- import '../../../steps/identifier.mjs';
3
- import '../../../steps/checker.mjs';
4
- import '../../../steps/extract.mjs';
5
- import '../../../steps/cut.mjs';
6
- import '../../../steps/handler.mjs';
7
- import { processStepKind } from '../../../steps/process.mjs';
8
- import '../../../steps/presetChecker.mjs';
1
+ import '../../../steps/index.mjs';
9
2
  import { Response } from '../../../response/index.mjs';
10
3
  import { createStepFunctionBuilder } from '../create.mjs';
11
- import { E, pipe, P, or, isType, forward, A, G, unwrap } from '@duplojs/utils';
4
+ import { G, E, A, unwrap, pipe, P, or, isType, forward } from '@duplojs/utils';
5
+ import { processStepKind } from '../../../steps/process.mjs';
12
6
 
13
7
  function buildStepsFunction(steps, buildStep) {
14
8
  return G.asyncReduce(steps, G.reduceFrom([]), async ({ lastValue, element: step, next, exit }) => {
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var create = require('./create.cjs');
4
+ require('./defaults/index.cjs');
5
+ var build = require('./build.cjs');
6
+
7
+
8
+
9
+ exports.createStepFunctionBuilder = create.createStepFunctionBuilder;
10
+ exports.buildStepFunction = build.buildStepFunction;
@@ -0,0 +1,3 @@
1
+ export { createStepFunctionBuilder } from './create.mjs';
2
+ import './defaults/index.mjs';
3
+ export { buildStepFunction } from './build.mjs';
@@ -1,15 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  require('../response/index.cjs');
4
- require('../steps/kind.cjs');
5
- require('../steps/identifier.cjs');
6
- require('../steps/checker.cjs');
7
- require('../steps/extract.cjs');
8
- require('../steps/cut.cjs');
9
- var handler = require('../steps/handler.cjs');
10
- require('../steps/process.cjs');
11
- require('../steps/presetChecker.cjs');
4
+ require('../steps/index.cjs');
12
5
  var utils = require('@duplojs/utils');
6
+ var handler = require('../steps/handler.cjs');
13
7
  var contract = require('../response/contract.cjs');
14
8
 
15
9
  const defaultNotfoundHandler = handler.createHandlerStep({
@@ -1,13 +1,7 @@
1
1
  import '../response/index.mjs';
2
- import '../steps/kind.mjs';
3
- import '../steps/identifier.mjs';
4
- import '../steps/checker.mjs';
5
- import '../steps/extract.mjs';
6
- import '../steps/cut.mjs';
7
- import { createHandlerStep } from '../steps/handler.mjs';
8
- import '../steps/process.mjs';
9
- import '../steps/presetChecker.mjs';
2
+ import '../steps/index.mjs';
10
3
  import { DP } from '@duplojs/utils';
4
+ import { createHandlerStep } from '../steps/handler.mjs';
11
5
  import { ResponseContract } from '../response/contract.mjs';
12
6
 
13
7
  const defaultNotfoundHandler = createHandlerStep({
@@ -11,10 +11,10 @@ export type HookBeforeBuildRoute = (route: Route) => MaybePromise<Route>;
11
11
  export declare function launchHookBeforeBuildRoute(hooks: Iterable<HookBeforeBuildRoute>, route: Route): Promise<Route<import("../route").RouteDefinition>>;
12
12
  export interface HttpServerParams {
13
13
  }
14
- export type HookBeforeServerBuildRoute = (hub: Hub, httpServerParams: HttpServerParams) => MaybePromise<Hub | EscapeVoid>;
14
+ export type HookBeforeServerBuildRoutes = (hub: Hub, httpServerParams: HttpServerParams) => MaybePromise<Hub | EscapeVoid>;
15
15
  export type HookBeforeStartServer = (hub: Hub, httpServerParams: HttpServerParams) => MaybePromise<Hub | EscapeVoid>;
16
16
  export type HookAfterStartServer = (hub: Hub, httpServerParams: HttpServerParams) => MaybePromise<Hub | EscapeVoid>;
17
- export declare function launchHookServer(hooks: Iterable<HookBeforeStartServer | HookAfterStartServer | HookBeforeServerBuildRoute>, hub: Hub, httpServerParams: HttpServerParams): Promise<Hub<import(".").HubConfig>>;
17
+ export declare function launchHookServer(hooks: Iterable<HookBeforeStartServer | HookAfterStartServer | HookBeforeServerBuildRoutes>, hub: Hub, httpServerParams: HttpServerParams): Promise<Hub<import(".").HubConfig>>;
18
18
  export interface HttpServerErrorParams {
19
19
  readonly error: unknown;
20
20
  next(): ServerHookNext;
@@ -28,6 +28,6 @@ export interface HookHubLifeCycle {
28
28
  beforeBuildRoute?: HookBeforeBuildRoute;
29
29
  beforeStartServer?: HookBeforeStartServer;
30
30
  afterStartServer?: HookAfterStartServer;
31
- beforeServerBuildRoute?: HookBeforeServerBuildRoute;
31
+ beforeServerBuildRoutes?: HookBeforeServerBuildRoutes;
32
32
  serverError?: HookServerError;
33
33
  }
@@ -3,18 +3,12 @@
3
3
  var kind = require('../kind.cjs');
4
4
  var index = require('../route/index.cjs');
5
5
  var utils = require('@duplojs/utils');
6
- require('../steps/kind.cjs');
7
- require('../steps/identifier.cjs');
8
- require('../steps/checker.cjs');
9
- require('../steps/extract.cjs');
10
- require('../steps/cut.cjs');
11
- var handler = require('../steps/handler.cjs');
12
- require('../steps/process.cjs');
13
- require('../steps/presetChecker.cjs');
6
+ require('../steps/index.cjs');
14
7
  var request = require('../request.cjs');
15
8
  var defaultNotfoundHandler = require('./defaultNotfoundHandler.cjs');
16
9
  var defaultExtractContract = require('./defaultExtractContract.cjs');
17
10
  var hooks = require('./hooks.cjs');
11
+ var handler = require('../steps/handler.cjs');
18
12
 
19
13
  const hubKind = kind.createCoreLibKind("hub");
20
14
  function createHub(config) {
@@ -1,18 +1,12 @@
1
1
  import { createCoreLibKind } from '../kind.mjs';
2
2
  import { routeKind } from '../route/index.mjs';
3
3
  import { A, pipe, P, isType, O } from '@duplojs/utils';
4
- import '../steps/kind.mjs';
5
- import '../steps/identifier.mjs';
6
- import '../steps/checker.mjs';
7
- import '../steps/extract.mjs';
8
- import '../steps/cut.mjs';
9
- import { createHandlerStep } from '../steps/handler.mjs';
10
- import '../steps/process.mjs';
11
- import '../steps/presetChecker.mjs';
4
+ import '../steps/index.mjs';
12
5
  import { Request } from '../request.mjs';
13
6
  import { defaultNotfoundHandler } from './defaultNotfoundHandler.mjs';
14
7
  import { defaultExtractContract } from './defaultExtractContract.mjs';
15
8
  export { hookServerExitKind, hookServerNextKind, launchHookBeforeBuildRoute, launchHookServer, launchHookServerError, serverErrorExitHookFunction, serverErrorNextHookFunction } from './hooks.mjs';
9
+ import { createHandlerStep } from '../steps/handler.mjs';
16
10
 
17
11
  const hubKind = createCoreLibKind("hub");
18
12
  function createHub(config) {