@duplojs/http 0.4.0 → 0.5.1

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 (135) hide show
  1. package/dist/core/builders/preflight/builder.cjs +1 -0
  2. package/dist/core/builders/preflight/builder.d.ts +5 -1
  3. package/dist/core/builders/preflight/builder.mjs +1 -0
  4. package/dist/core/builders/preflight/process.cjs +2 -1
  5. package/dist/core/builders/preflight/process.d.ts +4 -2
  6. package/dist/core/builders/preflight/process.mjs +2 -1
  7. package/dist/core/builders/preflight/route.cjs +4 -0
  8. package/dist/core/builders/preflight/route.d.ts +9 -3
  9. package/dist/core/builders/preflight/route.mjs +4 -0
  10. package/dist/core/builders/process/builder.cjs +1 -0
  11. package/dist/core/builders/process/builder.d.ts +4 -1
  12. package/dist/core/builders/process/builder.mjs +1 -0
  13. package/dist/core/builders/process/checker.cjs +2 -1
  14. package/dist/core/builders/process/checker.d.ts +4 -2
  15. package/dist/core/builders/process/checker.mjs +2 -1
  16. package/dist/core/builders/process/cut.cjs +2 -1
  17. package/dist/core/builders/process/cut.d.ts +3 -1
  18. package/dist/core/builders/process/cut.mjs +2 -1
  19. package/dist/core/builders/process/extract.cjs +2 -1
  20. package/dist/core/builders/process/extract.d.ts +3 -1
  21. package/dist/core/builders/process/extract.mjs +2 -1
  22. package/dist/core/builders/process/index.cjs +1 -1
  23. package/dist/core/builders/process/index.d.ts +1 -1
  24. package/dist/core/builders/process/index.mjs +1 -1
  25. package/dist/core/builders/process/presetChecker.cjs +2 -1
  26. package/dist/core/builders/process/presetChecker.d.ts +3 -1
  27. package/dist/core/builders/process/presetChecker.mjs +2 -1
  28. package/dist/core/builders/process/process.cjs +2 -1
  29. package/dist/core/builders/process/process.d.ts +4 -2
  30. package/dist/core/builders/process/process.mjs +2 -1
  31. package/dist/core/builders/route/builder.cjs +1 -0
  32. package/dist/core/builders/route/builder.d.ts +4 -1
  33. package/dist/core/builders/route/builder.mjs +1 -0
  34. package/dist/core/builders/route/checker.cjs +2 -1
  35. package/dist/core/builders/route/checker.d.ts +4 -2
  36. package/dist/core/builders/route/checker.mjs +2 -1
  37. package/dist/core/builders/route/cut.cjs +2 -1
  38. package/dist/core/builders/route/cut.d.ts +3 -1
  39. package/dist/core/builders/route/cut.mjs +2 -1
  40. package/dist/core/builders/route/extract.cjs +2 -1
  41. package/dist/core/builders/route/extract.d.ts +3 -1
  42. package/dist/core/builders/route/extract.mjs +2 -1
  43. package/dist/core/builders/route/handler.cjs +9 -2
  44. package/dist/core/builders/route/handler.d.ts +3 -1
  45. package/dist/core/builders/route/handler.mjs +9 -2
  46. package/dist/core/builders/route/presetChecker.cjs +2 -1
  47. package/dist/core/builders/route/presetChecker.d.ts +3 -1
  48. package/dist/core/builders/route/presetChecker.mjs +2 -1
  49. package/dist/core/builders/route/process.cjs +2 -1
  50. package/dist/core/builders/route/process.d.ts +4 -2
  51. package/dist/core/builders/route/process.mjs +2 -1
  52. package/dist/core/functionsBuilders/route/build.d.ts +1 -1
  53. package/dist/core/functionsBuilders/route/hook.cjs +1 -0
  54. package/dist/core/functionsBuilders/route/hook.d.ts +4 -3
  55. package/dist/core/functionsBuilders/route/hook.mjs +1 -0
  56. package/dist/core/functionsBuilders/steps/build.d.ts +1 -1
  57. package/dist/core/hub/defaultNotfoundHandler.cjs +1 -0
  58. package/dist/core/hub/defaultNotfoundHandler.d.ts +1 -0
  59. package/dist/core/hub/defaultNotfoundHandler.mjs +1 -0
  60. package/dist/core/hub/hooks.cjs +4 -0
  61. package/dist/core/hub/hooks.d.ts +3 -0
  62. package/dist/core/hub/hooks.mjs +4 -1
  63. package/dist/core/hub/index.cjs +2 -0
  64. package/dist/core/hub/index.mjs +2 -1
  65. package/dist/core/implementHttpServer.cjs +36 -0
  66. package/dist/core/implementHttpServer.d.ts +13 -0
  67. package/dist/core/implementHttpServer.mjs +34 -0
  68. package/dist/core/index.cjs +11 -0
  69. package/dist/core/index.d.ts +3 -0
  70. package/dist/core/index.mjs +6 -1
  71. package/dist/core/metadata/base.cjs +20 -0
  72. package/dist/core/metadata/base.d.ts +14 -0
  73. package/dist/core/metadata/base.mjs +17 -0
  74. package/dist/core/metadata/ignoreByRouteStore.cjs +7 -0
  75. package/dist/core/metadata/ignoreByRouteStore.d.ts +1 -0
  76. package/dist/core/metadata/ignoreByRouteStore.mjs +5 -0
  77. package/dist/core/metadata/index.cjs +10 -0
  78. package/dist/core/metadata/index.d.ts +2 -0
  79. package/dist/core/metadata/index.mjs +2 -0
  80. package/dist/core/narrowingInput.cjs +14 -0
  81. package/dist/core/narrowingInput.d.ts +10 -0
  82. package/dist/core/narrowingInput.mjs +12 -0
  83. package/dist/core/process/index.d.ts +3 -1
  84. package/dist/core/route/hooks.cjs +0 -1
  85. package/dist/core/route/hooks.d.ts +0 -1
  86. package/dist/core/route/hooks.mjs +0 -1
  87. package/dist/core/route/index.d.ts +2 -0
  88. package/dist/core/router/index.cjs +1 -0
  89. package/dist/core/router/index.mjs +1 -0
  90. package/dist/core/router/types/buildedRouter.d.ts +2 -1
  91. package/dist/core/steps/checker.d.ts +2 -0
  92. package/dist/core/steps/cut.d.ts +2 -0
  93. package/dist/core/steps/extract.d.ts +2 -0
  94. package/dist/core/steps/handler.d.ts +2 -0
  95. package/dist/core/steps/presetChecker.d.ts +2 -0
  96. package/dist/core/steps/process.d.ts +2 -0
  97. package/dist/interfaces/node/createHttpServer.cjs +36 -46
  98. package/dist/interfaces/node/createHttpServer.d.ts +1 -5
  99. package/dist/interfaces/node/createHttpServer.mjs +36 -46
  100. package/dist/interfaces/node/hooks.cjs +12 -9
  101. package/dist/interfaces/node/hooks.d.ts +1 -1
  102. package/dist/interfaces/node/hooks.mjs +12 -9
  103. package/dist/plugins/codeGenerator/{stepsToDataParser.cjs → aggregateStepContract.cjs} +8 -5
  104. package/dist/plugins/codeGenerator/{stepsToDataParser.d.ts → aggregateStepContract.d.ts} +1 -1
  105. package/dist/plugins/codeGenerator/{stepsToDataParser.mjs → aggregateStepContract.mjs} +9 -6
  106. package/dist/plugins/codeGenerator/index.cjs +4 -2
  107. package/dist/plugins/codeGenerator/index.d.ts +2 -1
  108. package/dist/plugins/codeGenerator/index.mjs +2 -1
  109. package/dist/plugins/codeGenerator/metadata.cjs +8 -0
  110. package/dist/plugins/codeGenerator/metadata.d.ts +1 -0
  111. package/dist/plugins/codeGenerator/metadata.mjs +6 -0
  112. package/dist/plugins/codeGenerator/plugin.cjs +3 -0
  113. package/dist/plugins/codeGenerator/plugin.mjs +4 -1
  114. package/dist/plugins/codeGenerator/routeToDataParser.cjs +7 -2
  115. package/dist/plugins/codeGenerator/routeToDataParser.mjs +8 -3
  116. package/dist/plugins/openApiGenerator/aggregateStepContract.cjs +6 -3
  117. package/dist/plugins/openApiGenerator/aggregateStepContract.mjs +7 -4
  118. package/dist/plugins/openApiGenerator/index.cjs +2 -0
  119. package/dist/plugins/openApiGenerator/index.d.ts +1 -0
  120. package/dist/plugins/openApiGenerator/index.mjs +1 -0
  121. package/dist/plugins/openApiGenerator/makeOpenApiRoute.cjs +3 -1
  122. package/dist/plugins/openApiGenerator/makeOpenApiRoute.d.ts +2 -0
  123. package/dist/plugins/openApiGenerator/makeOpenApiRoute.mjs +3 -1
  124. package/dist/plugins/openApiGenerator/metadata.cjs +8 -0
  125. package/dist/plugins/openApiGenerator/metadata.d.ts +1 -0
  126. package/dist/plugins/openApiGenerator/metadata.mjs +6 -0
  127. package/dist/plugins/openApiGenerator/plugin.cjs +17 -9
  128. package/dist/plugins/openApiGenerator/plugin.d.ts +2 -2
  129. package/dist/plugins/openApiGenerator/plugin.mjs +18 -10
  130. package/dist/plugins/openApiGenerator/routeToOpenApi.cjs +5 -0
  131. package/dist/plugins/openApiGenerator/routeToOpenApi.mjs +6 -1
  132. package/package.json +1 -1
  133. /package/dist/core/builders/process/{export.cjs → exports.cjs} +0 -0
  134. /package/dist/core/builders/process/{export.d.ts → exports.d.ts} +0 -0
  135. /package/dist/core/builders/process/{export.mjs → exports.mjs} +0 -0
@@ -4,13 +4,14 @@ require('../../steps/index.cjs');
4
4
  var builder = require('./builder.cjs');
5
5
  var cut = require('../../steps/cut.cjs');
6
6
 
7
- builder.routeBuilderHandler.set("cut", ({ args: [responseContract, theFunction], accumulator, next, }) => next({
7
+ builder.routeBuilderHandler.set("cut", ({ args: [responseContract, theFunction, ...metadata], accumulator, next, }) => next({
8
8
  ...accumulator,
9
9
  steps: [
10
10
  ...accumulator.steps,
11
11
  cut.createCutStep({
12
12
  responseContract,
13
13
  theFunction,
14
+ metadata,
14
15
  }),
15
16
  ],
16
17
  }));
@@ -4,14 +4,16 @@ import { type RouteDefinition } from "../../route";
4
4
  import { type CutStepFunctionOutput, type CutStep, type CutStepFunctionParams } from "../../steps";
5
5
  import { type Unwrap, type O, type MaybePromise, type IsEqual, type A } from "@duplojs/utils";
6
6
  import { type Request } from "../../request";
7
+ import { type Metadata } from "../../metadata";
7
8
  declare module "./builder" {
8
9
  interface RouteBuilder<GenericDefinition extends RouteDefinition = RouteDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
9
- cut<const GenericResponseContract extends (ResponseContract.Contract | readonly ResponseContract.Contract[]), GenericResponse extends ResponseContract.Convert<A.ArrayCoalescing<GenericResponseContract>[number]>, GenericOutput extends CutStepFunctionOutput | GenericResponse>(responseContract: GenericResponseContract, theFunction: (floor: GenericFloor, param: CutStepFunctionParams<GenericRequest, GenericResponse>) => MaybePromise<GenericOutput>): RouteBuilder<O.AssignObjects<GenericDefinition, {
10
+ cut<const GenericResponseContract extends (ResponseContract.Contract | readonly ResponseContract.Contract[]), GenericResponse extends ResponseContract.Convert<A.ArrayCoalescing<GenericResponseContract>[number]>, GenericOutput extends CutStepFunctionOutput | GenericResponse, const GenericMetadata extends readonly Metadata[] = readonly []>(responseContract: GenericResponseContract, theFunction: (floor: GenericFloor, params: CutStepFunctionParams<GenericRequest, GenericResponse>) => MaybePromise<GenericOutput>, ...metadata: GenericMetadata): RouteBuilder<O.AssignObjects<GenericDefinition, {
10
11
  readonly steps: readonly [
11
12
  ...GenericDefinition["steps"],
12
13
  CutStep<{
13
14
  readonly responseContract: GenericResponseContract;
14
15
  theFunction(floor: GenericFloor, param: CutStepFunctionParams<GenericRequest, GenericResponse>): MaybePromise<GenericOutput>;
16
+ readonly metadata: GenericMetadata;
15
17
  }>
16
18
  ];
17
19
  }>, IsEqual<Extract<GenericOutput, CutStepFunctionOutput>, never> extends true ? GenericFloor : (GenericOutput extends infer InferredOutputData extends CutStepFunctionOutput ? O.AssignObjects<GenericFloor, Unwrap<InferredOutputData>> : never), GenericRequest>;
@@ -2,13 +2,14 @@ import '../../steps/index.mjs';
2
2
  import { routeBuilderHandler } from './builder.mjs';
3
3
  import { createCutStep } from '../../steps/cut.mjs';
4
4
 
5
- routeBuilderHandler.set("cut", ({ args: [responseContract, theFunction], accumulator, next, }) => next({
5
+ routeBuilderHandler.set("cut", ({ args: [responseContract, theFunction, ...metadata], accumulator, next, }) => next({
6
6
  ...accumulator,
7
7
  steps: [
8
8
  ...accumulator.steps,
9
9
  createCutStep({
10
10
  responseContract,
11
11
  theFunction,
12
+ metadata,
12
13
  }),
13
14
  ],
14
15
  }));
@@ -4,13 +4,14 @@ require('../../steps/index.cjs');
4
4
  var builder = require('./builder.cjs');
5
5
  var extract = require('../../steps/extract.cjs');
6
6
 
7
- builder.routeBuilderHandler.set("extract", ({ args: [shape, responseContract], accumulator, next, }) => next({
7
+ builder.routeBuilderHandler.set("extract", ({ args: [shape, responseContract, ...metadata], accumulator, next, }) => next({
8
8
  ...accumulator,
9
9
  steps: [
10
10
  ...accumulator.steps,
11
11
  extract.createExtractStep({
12
12
  shape,
13
13
  responseContract,
14
+ metadata,
14
15
  }),
15
16
  ],
16
17
  }));
@@ -4,14 +4,16 @@ import { type ExtractShape, type ExtractStep } from "../../steps";
4
4
  import { type DP, type ObjectEntry, type O, type SimplifyTopLevel, type NeverCoalescing } from "@duplojs/utils";
5
5
  import { type ClientErrorResponseCode, type ResponseContract } from "../../response";
6
6
  import { type Request } from "../../request";
7
+ import { type Metadata } from "../../metadata";
7
8
  declare module "./builder" {
8
9
  interface RouteBuilder<GenericDefinition extends RouteDefinition = RouteDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
9
- extract<GenericShape extends ExtractShape<GenericRequest>, GenericResponseContract extends (ResponseContract.Contract<ClientErrorResponseCode, string, DP.DataParserEmpty>) = never>(shape: GenericShape, responseContract?: GenericResponseContract): RouteBuilder<O.AssignObjects<GenericDefinition, {
10
+ extract<GenericShape extends ExtractShape<GenericRequest>, GenericResponseContract extends (ResponseContract.Contract<ClientErrorResponseCode, string, DP.DataParserEmpty> | undefined) = never, const GenericMetadata extends readonly Metadata[] = readonly []>(shape: GenericShape, responseContract?: GenericResponseContract, ...metadata: GenericMetadata): RouteBuilder<O.AssignObjects<GenericDefinition, {
10
11
  readonly steps: readonly [
11
12
  ...GenericDefinition["steps"],
12
13
  ExtractStep<{
13
14
  readonly shape: GenericShape;
14
15
  readonly responseContract: NeverCoalescing<GenericResponseContract, undefined>;
16
+ readonly metadata: GenericMetadata;
15
17
  }>
16
18
  ];
17
19
  }>, O.AssignObjects<GenericFloor, {
@@ -2,13 +2,14 @@ import '../../steps/index.mjs';
2
2
  import { routeBuilderHandler } from './builder.mjs';
3
3
  import { createExtractStep } from '../../steps/extract.mjs';
4
4
 
5
- routeBuilderHandler.set("extract", ({ args: [shape, responseContract], accumulator, next, }) => next({
5
+ routeBuilderHandler.set("extract", ({ args: [shape, responseContract, ...metadata], accumulator, next, }) => next({
6
6
  ...accumulator,
7
7
  steps: [
8
8
  ...accumulator.steps,
9
9
  createExtractStep({
10
10
  shape,
11
11
  responseContract,
12
+ metadata,
12
13
  }),
13
14
  ],
14
15
  }));
@@ -2,11 +2,14 @@
2
2
 
3
3
  var index = require('../../route/index.cjs');
4
4
  require('../../steps/index.cjs');
5
+ var utils = require('@duplojs/utils');
5
6
  var builder = require('./builder.cjs');
6
7
  var store = require('./store.cjs');
8
+ require('../../metadata/index.cjs');
7
9
  var handler = require('../../steps/handler.cjs');
10
+ var ignoreByRouteStore = require('../../metadata/ignoreByRouteStore.cjs');
8
11
 
9
- builder.routeBuilderHandler.set("handler", ({ args: [responseContract, theFunction], accumulator, }) => {
12
+ builder.routeBuilderHandler.set("handler", ({ args: [responseContract, theFunction, ...metadata], accumulator, }) => {
10
13
  const route = index.createRoute({
11
14
  ...accumulator,
12
15
  steps: [
@@ -14,9 +17,13 @@ builder.routeBuilderHandler.set("handler", ({ args: [responseContract, theFuncti
14
17
  handler.createHandlerStep({
15
18
  responseContract,
16
19
  theFunction,
20
+ metadata,
17
21
  }),
18
22
  ],
19
23
  });
20
- store.routeStore.add(route);
24
+ const ignoreByRouteStoreMetadata = utils.A.find(accumulator.metadata, ignoreByRouteStore.IgnoreByRouteStoreMetadata.is);
25
+ if (ignoreByRouteStoreMetadata === undefined) {
26
+ store.routeStore.add(route);
27
+ }
21
28
  return route;
22
29
  });
@@ -4,14 +4,16 @@ import { type Route, type RouteDefinition } from "../../route";
4
4
  import { type HandlerStep, type HandlerStepFunctionParams } from "../../steps";
5
5
  import { type MaybePromise, type AnyTuple, type O } from "@duplojs/utils";
6
6
  import { type Request } from "../../request";
7
+ import { type Metadata } from "../../metadata";
7
8
  declare module "./builder" {
8
9
  interface RouteBuilder<GenericDefinition extends RouteDefinition = RouteDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
9
- handler<GenericResponseContract extends (ResponseContract.Contract | readonly [ResponseContract.Contract, ...ResponseContract.Contract[]]), GenericResponse extends ResponseContract.Convert<GenericResponseContract extends AnyTuple ? GenericResponseContract[number] : GenericResponseContract>>(responseContract: GenericResponseContract, theFunction: (floor: GenericFloor, param: HandlerStepFunctionParams<GenericRequest, GenericResponse>) => MaybePromise<GenericResponse>): Route<O.AssignObjects<GenericDefinition, {
10
+ handler<GenericResponseContract extends (ResponseContract.Contract | readonly [ResponseContract.Contract, ...ResponseContract.Contract[]]), GenericResponse extends ResponseContract.Convert<GenericResponseContract extends AnyTuple ? GenericResponseContract[number] : GenericResponseContract>, const GenericMetadata extends readonly Metadata[] = readonly []>(responseContract: GenericResponseContract, theFunction: (floor: GenericFloor, param: HandlerStepFunctionParams<GenericRequest, GenericResponse>) => MaybePromise<GenericResponse>, ...metadata: GenericMetadata): Route<O.AssignObjects<GenericDefinition, {
10
11
  readonly steps: readonly [
11
12
  ...GenericDefinition["steps"],
12
13
  HandlerStep<{
13
14
  readonly responseContract: GenericResponseContract;
14
15
  theFunction(floor: GenericFloor, param: HandlerStepFunctionParams<GenericRequest, GenericResponse>): MaybePromise<GenericResponse>;
16
+ readonly metadata: GenericMetadata;
15
17
  }>
16
18
  ];
17
19
  }>>;
@@ -1,10 +1,13 @@
1
1
  import { createRoute } from '../../route/index.mjs';
2
2
  import '../../steps/index.mjs';
3
+ import { A } from '@duplojs/utils';
3
4
  import { routeBuilderHandler } from './builder.mjs';
4
5
  import { routeStore } from './store.mjs';
6
+ import '../../metadata/index.mjs';
5
7
  import { createHandlerStep } from '../../steps/handler.mjs';
8
+ import { IgnoreByRouteStoreMetadata } from '../../metadata/ignoreByRouteStore.mjs';
6
9
 
7
- routeBuilderHandler.set("handler", ({ args: [responseContract, theFunction], accumulator, }) => {
10
+ routeBuilderHandler.set("handler", ({ args: [responseContract, theFunction, ...metadata], accumulator, }) => {
8
11
  const route = createRoute({
9
12
  ...accumulator,
10
13
  steps: [
@@ -12,9 +15,13 @@ routeBuilderHandler.set("handler", ({ args: [responseContract, theFunction], acc
12
15
  createHandlerStep({
13
16
  responseContract,
14
17
  theFunction,
18
+ metadata,
15
19
  }),
16
20
  ],
17
21
  });
18
- routeStore.add(route);
22
+ const ignoreByRouteStoreMetadata = A.find(accumulator.metadata, IgnoreByRouteStoreMetadata.is);
23
+ if (ignoreByRouteStoreMetadata === undefined) {
24
+ routeStore.add(route);
25
+ }
19
26
  return route;
20
27
  });
@@ -4,13 +4,14 @@ require('../../steps/index.cjs');
4
4
  var builder = require('./builder.cjs');
5
5
  var presetChecker = require('../../steps/presetChecker.cjs');
6
6
 
7
- builder.routeBuilderHandler.set("presetCheck", ({ args: [presetChecker$1, input,], accumulator, next, }) => next({
7
+ builder.routeBuilderHandler.set("presetCheck", ({ args: [presetChecker$1, input, ...metadata], accumulator, next, }) => next({
8
8
  ...accumulator,
9
9
  steps: [
10
10
  ...accumulator.steps,
11
11
  presetChecker.createPresetCheckerStep({
12
12
  presetChecker: presetChecker$1,
13
13
  input,
14
+ metadata,
14
15
  }),
15
16
  ],
16
17
  }));
@@ -4,14 +4,16 @@ import { type PresetCheckerStep } from "../../steps";
4
4
  import { type O, type A } from "@duplojs/utils";
5
5
  import { type Request } from "../../request";
6
6
  import { type GetPresetCheckerIndex, type GetPresetCheckerInformation, type GetPresetCheckerResult, type GetPresetCheckerInput, type PresetChecker } from "../../presetChecker";
7
+ import { type Metadata } from "../../metadata";
7
8
  declare module "./builder" {
8
9
  interface RouteBuilder<GenericDefinition extends RouteDefinition = RouteDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
9
- presetCheck<GenericPresetChecker extends PresetChecker, GenericInput extends GetPresetCheckerInput<GenericPresetChecker>>(presetChecker: GenericPresetChecker, input: (floor: GenericFloor) => GenericInput): RouteBuilder<O.AssignObjects<GenericDefinition, {
10
+ presetCheck<GenericPresetChecker extends PresetChecker, GenericInput extends GetPresetCheckerInput<GenericPresetChecker>, const GenericMetadata extends readonly Metadata[] = readonly []>(presetChecker: GenericPresetChecker, input: (floor: GenericFloor) => GenericInput, ...metadata: GenericMetadata): RouteBuilder<O.AssignObjects<GenericDefinition, {
10
11
  readonly steps: readonly [
11
12
  ...GenericDefinition["steps"],
12
13
  PresetCheckerStep<{
13
14
  readonly presetChecker: GenericPresetChecker;
14
15
  input(floor: GenericFloor): GenericInput;
16
+ readonly metadata: GenericMetadata;
15
17
  }>
16
18
  ];
17
19
  }>, O.AssignObjects<GenericFloor, {
@@ -2,13 +2,14 @@ import '../../steps/index.mjs';
2
2
  import { routeBuilderHandler } from './builder.mjs';
3
3
  import { createPresetCheckerStep } from '../../steps/presetChecker.mjs';
4
4
 
5
- routeBuilderHandler.set("presetCheck", ({ args: [presetChecker, input,], accumulator, next, }) => next({
5
+ routeBuilderHandler.set("presetCheck", ({ args: [presetChecker, input, ...metadata], accumulator, next, }) => next({
6
6
  ...accumulator,
7
7
  steps: [
8
8
  ...accumulator.steps,
9
9
  createPresetCheckerStep({
10
10
  presetChecker,
11
11
  input,
12
+ metadata,
12
13
  }),
13
14
  ],
14
15
  }));
@@ -4,13 +4,14 @@ require('../../steps/index.cjs');
4
4
  var builder = require('./builder.cjs');
5
5
  var process = require('../../steps/process.cjs');
6
6
 
7
- builder.routeBuilderHandler.set("exec", ({ args: [process$1, params,], accumulator, next, }) => next({
7
+ builder.routeBuilderHandler.set("exec", ({ args: [process$1, params, ...metadata], accumulator, next, }) => next({
8
8
  ...accumulator,
9
9
  steps: [
10
10
  ...accumulator.steps,
11
11
  process.createProcessStep({
12
12
  ...params,
13
13
  process: process$1,
14
+ metadata,
14
15
  }),
15
16
  ],
16
17
  }));
@@ -4,18 +4,20 @@ import { type ProcessStep } from "../../steps";
4
4
  import { type O, type NeverCoalescing, type FixDeepFunctionInfer, type Adaptor, type AnyFunction } from "@duplojs/utils";
5
5
  import { type GetProcessRequest, type GetProcessExportValue, type Process } from "../../process";
6
6
  import { type Request } from "../../request";
7
+ import { type Metadata } from "../../metadata";
7
8
  declare module "./builder" {
8
9
  interface RouteBuilder<GenericDefinition extends RouteDefinition = RouteDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
9
- exec<GenericProcess extends Process, GenericProcessExportValue extends GetProcessExportValue<GenericProcess>, const GenericImportation extends readonly Extract<keyof GenericProcessExportValue, string>[] = never, GenericOptions extends (GenericProcess["definition"]["options"] | ((floor: GenericFloor) => Exclude<GenericProcess["definition"]["options"], undefined>)) = never>(process: GenericProcess, params?: {
10
+ exec<GenericProcess extends Process, GenericProcessExportValue extends GetProcessExportValue<GenericProcess>, const GenericImportation extends readonly Extract<keyof GenericProcessExportValue, string>[] = never, GenericOptions extends (GenericProcess["definition"]["options"] | ((floor: GenericFloor) => Exclude<GenericProcess["definition"]["options"], undefined>)) = never, const GenericMetadata extends readonly Metadata[] = readonly []>(process: GenericProcess, params?: {
10
11
  readonly imports?: GenericImportation;
11
12
  readonly options?: FixDeepFunctionInfer<GenericProcess["definition"]["options"] | ((floor: GenericFloor) => GenericProcess["definition"]["options"]), GenericOptions>;
12
- }): RouteBuilder<O.AssignObjects<GenericDefinition, {
13
+ }, ...metadata: GenericMetadata): RouteBuilder<O.AssignObjects<GenericDefinition, {
13
14
  readonly steps: readonly [
14
15
  ...GenericDefinition["steps"],
15
16
  ProcessStep<{
16
17
  readonly process: GenericProcess;
17
18
  readonly options: NeverCoalescing<Adaptor<GenericOptions, AnyFunction | GenericProcess["definition"]["options"]>, undefined>;
18
19
  readonly imports: NeverCoalescing<GenericImportation, undefined>;
20
+ readonly metadata: GenericMetadata;
19
21
  }>
20
22
  ];
21
23
  }>, O.AssignObjects<GenericFloor, Pick<GenericProcessExportValue, GenericImportation[number]>>, GenericRequest & NeverCoalescing<GetProcessRequest<GenericProcess>, Request>>;
@@ -2,13 +2,14 @@ import '../../steps/index.mjs';
2
2
  import { routeBuilderHandler } from './builder.mjs';
3
3
  import { createProcessStep } from '../../steps/process.mjs';
4
4
 
5
- routeBuilderHandler.set("exec", ({ args: [process, params,], accumulator, next, }) => next({
5
+ routeBuilderHandler.set("exec", ({ args: [process, params, ...metadata], accumulator, next, }) => next({
6
6
  ...accumulator,
7
7
  steps: [
8
8
  ...accumulator.steps,
9
9
  createProcessStep({
10
10
  ...params,
11
11
  process,
12
+ metadata,
12
13
  }),
13
14
  ],
14
15
  }));
@@ -7,4 +7,4 @@ export interface BuildRouteFunctionParams extends BuildStepFunctionParams {
7
7
  readonly globalHooksRouteLifeCycle: readonly HookRouteLifeCycle[];
8
8
  readonly defaultExtractContract: ResponseContract.Contract;
9
9
  }
10
- export declare function buildRouteFunction(route: Route, params: BuildRouteFunctionParams): Promise<BuildRouteNotSupportEither | import("./create").BuildRouteSuccessEither | import("..").BuildStepNotSupportEither>;
10
+ export declare function buildRouteFunction(route: Route, params: BuildRouteFunctionParams): Promise<import("..").BuildStepNotSupportEither | import("./create").BuildRouteSuccessEither | BuildRouteNotSupportEither>;
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ require('../../response/index.cjs');
3
4
  require('../../route/index.cjs');
4
5
  var hooks = require('../../route/hooks.cjs');
5
6
  var hook = require('../../response/hook.cjs');
@@ -1,7 +1,8 @@
1
- import { type HookAfterSendResponse, type HookBeforeRouteExecution, type HookBeforeSendResponse, type HookError, type HookParseBody, HookResponse, type HookRouteLifeCycle, type HookSendResponse, type RouteHookErrorParams, type RouteHookParams, type RouteHookParamsAfter } from "../../route";
1
+ import { HookResponse } from "../../response";
2
+ import { type HookAfterSendResponse, type HookBeforeRouteExecution, type HookBeforeSendResponse, type HookError, type HookParseBody, type HookRouteLifeCycle, type HookSendResponse, type RouteHookErrorParams, type RouteHookParams, type RouteHookParamsAfter } from "../../route";
2
3
  export declare function exitHookFunction(): import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route-hook-exit", unknown>, unknown>;
3
4
  export declare function nextHookFunction(): import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route-hook-next", unknown>, unknown>;
4
- export declare function buildHookBefore(hooks: (HookBeforeRouteExecution | HookParseBody)[]): typeof exitHookFunction | ((params: RouteHookParams) => Promise<import("../../route").RouteHookExit | import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route-hook-next", unknown>, unknown> | HookResponse<import("../../route").ResponseCode, string, unknown>>);
5
- export declare function buildHookErrorBefore(hooks: HookError[]): typeof exitHookFunction | ((params: RouteHookErrorParams) => Promise<import("../../route").RouteHookExit | import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route-hook-next", unknown>, unknown> | HookResponse<import("../../route").ResponseCode, string, unknown>>);
5
+ export declare function buildHookBefore(hooks: (HookBeforeRouteExecution | HookParseBody)[]): typeof exitHookFunction | ((params: RouteHookParams) => Promise<import("../../route").RouteHookExit | import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route-hook-next", unknown>, unknown> | HookResponse<import("../../response").ResponseCode, string, unknown>>);
6
+ export declare function buildHookErrorBefore(hooks: HookError[]): typeof exitHookFunction | ((params: RouteHookErrorParams) => Promise<import("../../route").RouteHookExit | import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route-hook-next", unknown>, unknown> | HookResponse<import("../../response").ResponseCode, string, unknown>>);
6
7
  export declare function buildHookAfter(hooks: (HookBeforeSendResponse | HookSendResponse | HookAfterSendResponse)[]): typeof exitHookFunction | ((params: RouteHookParamsAfter) => Promise<import("../../route").RouteHookExit | import("@duplojs/utils").Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/route-hook-next", unknown>, unknown>>);
7
8
  export declare function createHookResponse(from: keyof HookRouteLifeCycle): RouteHookParams["response"];
@@ -1,3 +1,4 @@
1
+ import '../../response/index.mjs';
1
2
  import '../../route/index.mjs';
2
3
  import { hookRouteExitKind, hookRouteNextKind } from '../../route/hooks.mjs';
3
4
  import { HookResponse } from '../../response/hook.mjs';
@@ -7,4 +7,4 @@ export interface BuildStepFunctionParams {
7
7
  readonly environment: Environment;
8
8
  readonly defaultExtractContract: ResponseContract.Contract;
9
9
  }
10
- export declare function buildStepFunction(step: Steps, params: BuildStepFunctionParams): Promise<BuildStepNotSupportEither | import("./create").BuildStepSuccessEither>;
10
+ export declare function buildStepFunction(step: Steps, params: BuildStepFunctionParams): Promise<import("./create").BuildStepSuccessEither | BuildStepNotSupportEither>;
@@ -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;
@@ -7,4 +7,5 @@ export declare const defaultNotfoundHandler: import("../steps").HandlerStep<{
7
7
  readonly checkers: readonly [];
8
8
  }>>>;
9
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 };
@@ -28,7 +28,11 @@ async function launchHookServerError(hooks, params) {
28
28
  }
29
29
  }
30
30
  }
31
+ function createHookHubLifeCycle(hookHubLifeCycle) {
32
+ return hookHubLifeCycle;
33
+ }
31
34
 
35
+ exports.createHookHubLifeCycle = createHookHubLifeCycle;
32
36
  exports.hookServerExitKind = hookServerExitKind;
33
37
  exports.hookServerNextKind = hookServerNextKind;
34
38
  exports.launchHookBeforeBuildRoute = launchHookBeforeBuildRoute;
@@ -1,6 +1,7 @@
1
1
  import { type Route } from "../route";
2
2
  import { type EscapeVoid, type Kind, type MaybePromise } from "@duplojs/utils";
3
3
  import { type Hub } from ".";
4
+ import { type RouterInitializationData } from "../router";
4
5
  export declare const hookServerExitKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/server-hook-exit", unknown>>;
5
6
  export interface ServerHookExit extends Kind<typeof hookServerExitKind.definition> {
6
7
  }
@@ -19,6 +20,7 @@ export interface HttpServerErrorParams {
19
20
  readonly error: unknown;
20
21
  next(): ServerHookNext;
21
22
  exit(): ServerHookExit;
23
+ routerInitializationData: RouterInitializationData;
22
24
  }
23
25
  export type HookServerError = (httpServerErrorParams: HttpServerErrorParams) => MaybePromise<ServerHookExit | ServerHookNext>;
24
26
  export declare function serverErrorExitHookFunction(): Kind<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/server-hook-exit", unknown>, unknown>;
@@ -31,3 +33,4 @@ export interface HookHubLifeCycle {
31
33
  beforeServerBuildRoutes?: HookBeforeServerBuildRoutes;
32
34
  serverError?: HookServerError;
33
35
  }
36
+ export declare function createHookHubLifeCycle(hookHubLifeCycle: HookHubLifeCycle): HookHubLifeCycle;
@@ -26,5 +26,8 @@ async function launchHookServerError(hooks, params) {
26
26
  }
27
27
  }
28
28
  }
29
+ function createHookHubLifeCycle(hookHubLifeCycle) {
30
+ return hookHubLifeCycle;
31
+ }
29
32
 
30
- export { hookServerExitKind, hookServerNextKind, launchHookBeforeBuildRoute, launchHookServer, launchHookServerError, serverErrorExitHookFunction, serverErrorNextHookFunction };
33
+ export { createHookHubLifeCycle, hookServerExitKind, hookServerNextKind, launchHookBeforeBuildRoute, launchHookServer, launchHookServerError, serverErrorExitHookFunction, serverErrorNextHookFunction };
@@ -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
  },
@@ -140,6 +141,7 @@ function createHub(config) {
140
141
 
141
142
  exports.defaultNotfoundHandler = defaultNotfoundHandler.defaultNotfoundHandler;
142
143
  exports.defaultExtractContract = defaultExtractContract.defaultExtractContract;
144
+ exports.createHookHubLifeCycle = hooks.createHookHubLifeCycle;
143
145
  exports.hookServerExitKind = hooks.hookServerExitKind;
144
146
  exports.hookServerNextKind = hooks.hookServerNextKind;
145
147
  exports.launchHookBeforeBuildRoute = hooks.launchHookBeforeBuildRoute;
@@ -5,7 +5,7 @@ import '../steps/index.mjs';
5
5
  import { Request } from '../request.mjs';
6
6
  import { defaultNotfoundHandler } from './defaultNotfoundHandler.mjs';
7
7
  import { defaultExtractContract } from './defaultExtractContract.mjs';
8
- export { hookServerExitKind, hookServerNextKind, launchHookBeforeBuildRoute, launchHookServer, launchHookServerError, serverErrorExitHookFunction, serverErrorNextHookFunction } from './hooks.mjs';
8
+ export { createHookHubLifeCycle, hookServerExitKind, hookServerNextKind, launchHookBeforeBuildRoute, launchHookServer, launchHookServerError, serverErrorExitHookFunction, serverErrorNextHookFunction } from './hooks.mjs';
9
9
  import { createHandlerStep } from '../steps/handler.mjs';
10
10
 
11
11
  const hubKind = createCoreLibKind("hub");
@@ -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
  },
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ require('./hub/index.cjs');
4
+ var index = require('./router/index.cjs');
5
+ var utils = require('@duplojs/utils');
6
+ var hooks = require('./hub/hooks.cjs');
7
+
8
+ async function implementHttpServer(params, initHttpServer) {
9
+ const newHub1 = await hooks.launchHookServer(params.hub.aggregatesHooksHubLifeCycle("beforeServerBuildRoutes"), params.hub, params.httpServerParams);
10
+ const router = await index.buildRouter(newHub1);
11
+ const newHub2 = await hooks.launchHookServer(newHub1.aggregatesHooksHubLifeCycle("beforeStartServer"), newHub1, params.httpServerParams);
12
+ const serverErrorHooks = newHub1.aggregatesHooksHubLifeCycle("serverError");
13
+ function catchCriticalError(error) {
14
+ console.error("Critical Error :", error);
15
+ }
16
+ const execRouteSystem = (routerInitializationData, whenUncaughtError) => router
17
+ .exec(routerInitializationData)
18
+ .catch(async (error) => {
19
+ await hooks.launchHookServerError(serverErrorHooks, {
20
+ error,
21
+ exit: hooks.serverErrorExitHookFunction,
22
+ next: hooks.serverErrorNextHookFunction,
23
+ routerInitializationData: routerInitializationData,
24
+ }).catch(utils.forward);
25
+ await whenUncaughtError(error, routerInitializationData);
26
+ })
27
+ .catch(catchCriticalError);
28
+ const result = await initHttpServer({
29
+ execRouteSystem: execRouteSystem,
30
+ httpServerParams: params.httpServerParams,
31
+ });
32
+ await hooks.launchHookServer(newHub2.aggregatesHooksHubLifeCycle("afterStartServer"), newHub2, params.httpServerParams);
33
+ return result;
34
+ }
35
+
36
+ exports.implementHttpServer = implementHttpServer;
@@ -0,0 +1,13 @@
1
+ import { type Hub, type HttpServerParams } from "./hub";
2
+ import { type RouterInitializationData } from "./router";
3
+ import { type MaybePromise } from "@duplojs/utils";
4
+ export interface ImplementHttpServerParams {
5
+ readonly hub: Hub;
6
+ readonly httpServerParams: HttpServerParams;
7
+ }
8
+ export type ExecRouteSystem = (routerInitializationData: RouterInitializationData, whenUncaughtError: (error: unknown, routerInitializationData: RouterInitializationData) => MaybePromise<void>) => Promise<void>;
9
+ export interface InitHttpServerParams {
10
+ readonly execRouteSystem: ExecRouteSystem;
11
+ readonly httpServerParams: HttpServerParams;
12
+ }
13
+ export declare function implementHttpServer<GenericServer extends unknown>(params: ImplementHttpServerParams, initHttpServer: (params: InitHttpServerParams) => MaybePromise<GenericServer>): Promise<GenericServer>;
@@ -0,0 +1,34 @@
1
+ import './hub/index.mjs';
2
+ import { buildRouter } from './router/index.mjs';
3
+ import { forward } from '@duplojs/utils';
4
+ import { launchHookServer, launchHookServerError, serverErrorNextHookFunction, serverErrorExitHookFunction } from './hub/hooks.mjs';
5
+
6
+ async function implementHttpServer(params, initHttpServer) {
7
+ const newHub1 = await launchHookServer(params.hub.aggregatesHooksHubLifeCycle("beforeServerBuildRoutes"), params.hub, params.httpServerParams);
8
+ const router = await buildRouter(newHub1);
9
+ const newHub2 = await launchHookServer(newHub1.aggregatesHooksHubLifeCycle("beforeStartServer"), newHub1, params.httpServerParams);
10
+ const serverErrorHooks = newHub1.aggregatesHooksHubLifeCycle("serverError");
11
+ function catchCriticalError(error) {
12
+ console.error("Critical Error :", error);
13
+ }
14
+ const execRouteSystem = (routerInitializationData, whenUncaughtError) => router
15
+ .exec(routerInitializationData)
16
+ .catch(async (error) => {
17
+ await launchHookServerError(serverErrorHooks, {
18
+ error,
19
+ exit: serverErrorExitHookFunction,
20
+ next: serverErrorNextHookFunction,
21
+ routerInitializationData: routerInitializationData,
22
+ }).catch(forward);
23
+ await whenUncaughtError(error, routerInitializationData);
24
+ })
25
+ .catch(catchCriticalError);
26
+ const result = await initHttpServer({
27
+ execRouteSystem: execRouteSystem,
28
+ httpServerParams: params.httpServerParams,
29
+ });
30
+ await launchHookServer(newHub2.aggregatesHooksHubLifeCycle("afterStartServer"), newHub2, params.httpServerParams);
31
+ return result;
32
+ }
33
+
34
+ export { implementHttpServer };
@@ -15,6 +15,9 @@ var index$2 = require('./hub/index.cjs');
15
15
  require('./functionsBuilders/index.cjs');
16
16
  var index$3 = require('./router/index.cjs');
17
17
  var stringIdentifier = require('./stringIdentifier.cjs');
18
+ require('./metadata/index.cjs');
19
+ var implementHttpServer = require('./implementHttpServer.cjs');
20
+ var narrowingInput = require('./narrowingInput.cjs');
18
21
  var checker = require('./builders/checker.cjs');
19
22
  var builder = require('./builders/route/builder.cjs');
20
23
  var store = require('./builders/route/store.cjs');
@@ -50,6 +53,8 @@ var build$1 = require('./functionsBuilders/steps/build.cjs');
50
53
  var pathToRegExp = require('./router/pathToRegExp.cjs');
51
54
  var buildError = require('./router/buildError.cjs');
52
55
  var decodeUrl = require('./router/decodeUrl.cjs');
56
+ var base$1 = require('./metadata/base.cjs');
57
+ var ignoreByRouteStore = require('./metadata/ignoreByRouteStore.cjs');
53
58
 
54
59
 
55
60
 
@@ -68,6 +73,8 @@ exports.createHub = index$2.createHub;
68
73
  exports.hubKind = index$2.hubKind;
69
74
  exports.buildRouter = index$3.buildRouter;
70
75
  exports.createCoreLibStringIdentifier = stringIdentifier.createCoreLibStringIdentifier;
76
+ exports.implementHttpServer = implementHttpServer.implementHttpServer;
77
+ exports.createNarrowingInput = narrowingInput.createNarrowingInput;
71
78
  exports.checkerBuilder = checker.checkerBuilder;
72
79
  exports.useCheckerBuilder = checker.useCheckerBuilder;
73
80
  exports.routeBuilderHandler = builder.routeBuilderHandler;
@@ -102,6 +109,7 @@ exports.createProcessStep = process.createProcessStep;
102
109
  exports.processStepKind = process.processStepKind;
103
110
  exports.createPresetCheckerStep = presetChecker.createPresetCheckerStep;
104
111
  exports.presetCheckerStepKind = presetChecker.presetCheckerStepKind;
112
+ exports.createHookHubLifeCycle = hooks$1.createHookHubLifeCycle;
105
113
  exports.hookServerExitKind = hooks$1.hookServerExitKind;
106
114
  exports.hookServerNextKind = hooks$1.hookServerNextKind;
107
115
  exports.launchHookBeforeBuildRoute = hooks$1.launchHookBeforeBuildRoute;
@@ -133,3 +141,6 @@ exports.RouterBuildError = buildError.RouterBuildError;
133
141
  exports.decodeUrl = decodeUrl.decodeUrl;
134
142
  exports.regexQueryAnalyser = decodeUrl.regexQueryAnalyser;
135
143
  exports.regexUrlAnalyser = decodeUrl.regexUrlAnalyser;
144
+ exports.createMetadata = base$1.createMetadata;
145
+ exports.metadataKind = base$1.metadataKind;
146
+ exports.IgnoreByRouteStoreMetadata = ignoreByRouteStore.IgnoreByRouteStoreMetadata;
@@ -13,3 +13,6 @@ export * from "./hub";
13
13
  export * from "./functionsBuilders";
14
14
  export * from "./router";
15
15
  export * from "./stringIdentifier";
16
+ export * from "./metadata";
17
+ export * from "./implementHttpServer";
18
+ export * from "./narrowingInput";
@@ -13,6 +13,9 @@ 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';
17
+ export { implementHttpServer } from './implementHttpServer.mjs';
18
+ export { createNarrowingInput } from './narrowingInput.mjs';
16
19
  export { checkerBuilder, useCheckerBuilder } from './builders/checker.mjs';
17
20
  export { routeBuilderHandler, useRouteBuilder } from './builders/route/builder.mjs';
18
21
  export { routeStore } from './builders/route/store.mjs';
@@ -31,7 +34,7 @@ export { createCutStep, cutStepKind, cutStepOutputKind } from './steps/cut.mjs';
31
34
  export { createHandlerStep, handlerStepKind } from './steps/handler.mjs';
32
35
  export { createProcessStep, processStepKind } from './steps/process.mjs';
33
36
  export { createPresetCheckerStep, presetCheckerStepKind } from './steps/presetChecker.mjs';
34
- export { hookServerExitKind, hookServerNextKind, launchHookBeforeBuildRoute, launchHookServer, launchHookServerError, serverErrorExitHookFunction, serverErrorNextHookFunction } from './hub/hooks.mjs';
37
+ export { createHookHubLifeCycle, hookServerExitKind, hookServerNextKind, launchHookBeforeBuildRoute, launchHookServer, launchHookServerError, serverErrorExitHookFunction, serverErrorNextHookFunction } from './hub/hooks.mjs';
35
38
  export { defaultNotfoundHandler } from './hub/defaultNotfoundHandler.mjs';
36
39
  export { defaultExtractContract } from './hub/defaultExtractContract.mjs';
37
40
  export { buildRouteFunction } from './functionsBuilders/route/build.mjs';
@@ -48,3 +51,5 @@ export { buildStepFunction } from './functionsBuilders/steps/build.mjs';
48
51
  export { pathToRegExp } from './router/pathToRegExp.mjs';
49
52
  export { RouterBuildError } from './router/buildError.mjs';
50
53
  export { decodeUrl, regexQueryAnalyser, regexUrlAnalyser } from './router/decodeUrl.mjs';
54
+ export { createMetadata, metadataKind } from './metadata/base.mjs';
55
+ export { IgnoreByRouteStoreMetadata } from './metadata/ignoreByRouteStore.mjs';