@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
@@ -8,6 +8,7 @@ function usePreflightBuilder(options) {
8
8
  return preflightBuilder.use({
9
9
  preflightSteps: [],
10
10
  hooks: options?.hooks ?? [],
11
+ metadata: options?.metadata ?? [],
11
12
  });
12
13
  }
13
14
 
@@ -2,16 +2,20 @@ import { type Floor } from "../../floor";
2
2
  import { type MakeRequestFromHooks, type HookRouteLifeCycle, type RoutePreFlightSteps } from "../../route";
3
3
  import { type Builder, type NeverCoalescing } from "@duplojs/utils";
4
4
  import { type Request } from "../../request";
5
+ import { type Metadata } from "../../metadata";
5
6
  export interface PreflightBuilderDefinition {
6
7
  readonly preflightSteps: readonly RoutePreFlightSteps[];
7
8
  readonly hooks: readonly HookRouteLifeCycle[];
9
+ readonly metadata: readonly Metadata[];
8
10
  }
9
11
  export interface PreflightBuilder<GenericDefinition extends PreflightBuilderDefinition = PreflightBuilderDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> extends Builder<PreflightBuilderDefinition> {
10
12
  }
11
13
  export declare const preflightBuilder: import("@duplojs/utils").BuilderHandler<PreflightBuilder<PreflightBuilderDefinition, {}, Request>>;
12
- export declare function usePreflightBuilder<const GenericHooks extends readonly HookRouteLifeCycle[] = readonly []>(options?: {
14
+ export declare function usePreflightBuilder<const GenericHooks extends readonly HookRouteLifeCycle[] = readonly [], const GenericMetadata extends readonly Metadata[] = readonly []>(options?: {
13
15
  hooks?: GenericHooks | readonly HookRouteLifeCycle[];
16
+ metadata?: GenericMetadata;
14
17
  }): PreflightBuilder<{
15
18
  readonly preflightSteps: readonly [];
16
19
  readonly hooks: GenericHooks;
20
+ readonly metadata: GenericMetadata;
17
21
  }, {}, NeverCoalescing<MakeRequestFromHooks<GenericHooks>, Request>>;
@@ -6,6 +6,7 @@ function usePreflightBuilder(options) {
6
6
  return preflightBuilder.use({
7
7
  preflightSteps: [],
8
8
  hooks: options?.hooks ?? [],
9
+ metadata: options?.metadata ?? [],
9
10
  });
10
11
  }
11
12
 
@@ -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.preflightBuilder.set("exec", ({ args: [process$1, params,], accumulator, next, }) => next({
7
+ builder.preflightBuilder.set("exec", ({ args: [process$1, params, ...metadata], accumulator, next, }) => next({
8
8
  ...accumulator,
9
9
  preflightSteps: [
10
10
  ...accumulator.preflightSteps,
11
11
  process.createProcessStep({
12
12
  ...params,
13
13
  process: process$1,
14
+ metadata,
14
15
  }),
15
16
  ],
16
17
  }));
@@ -3,18 +3,20 @@ import { type ProcessStep } from "../../steps";
3
3
  import { type O, type NeverCoalescing, type FixDeepFunctionInfer, type Adaptor, type AnyFunction } from "@duplojs/utils";
4
4
  import { type GetProcessRequest, type GetProcessExportValue, type Process } from "../../process";
5
5
  import { type Request } from "../../request";
6
+ import { type Metadata } from "../../metadata";
6
7
  declare module "./builder" {
7
8
  interface PreflightBuilder<GenericDefinition extends PreflightBuilderDefinition = PreflightBuilderDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
8
- 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?: {
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, const GenericMetadata extends readonly Metadata[] = readonly []>(process: GenericProcess, params?: {
9
10
  readonly imports?: GenericImportation;
10
11
  readonly options?: FixDeepFunctionInfer<GenericProcess["definition"]["options"] | ((floor: GenericFloor) => GenericProcess["definition"]["options"]), GenericOptions>;
11
- }): PreflightBuilder<O.AssignObjects<GenericDefinition, {
12
+ }, ...metadata: GenericMetadata): PreflightBuilder<O.AssignObjects<GenericDefinition, {
12
13
  readonly preflightSteps: readonly [
13
14
  ...GenericDefinition["preflightSteps"],
14
15
  ProcessStep<{
15
16
  readonly process: GenericProcess;
16
17
  readonly options: NeverCoalescing<Adaptor<GenericOptions, AnyFunction | GenericProcess["definition"]["options"]>, undefined>;
17
18
  readonly imports: NeverCoalescing<GenericImportation, undefined>;
19
+ readonly metadata: GenericMetadata;
18
20
  }>
19
21
  ];
20
22
  }>, O.AssignObjects<GenericFloor, Pick<GenericProcessExportValue, GenericImportation[number]>>, GenericRequest & NeverCoalescing<GetProcessRequest<GenericProcess>, Request>>;
@@ -2,13 +2,14 @@ import '../../steps/index.mjs';
2
2
  import { preflightBuilder } from './builder.mjs';
3
3
  import { createProcessStep } from '../../steps/process.mjs';
4
4
 
5
- preflightBuilder.set("exec", ({ args: [process, params,], accumulator, next, }) => next({
5
+ preflightBuilder.set("exec", ({ args: [process, params, ...metadata], accumulator, next, }) => next({
6
6
  ...accumulator,
7
7
  preflightSteps: [
8
8
  ...accumulator.preflightSteps,
9
9
  createProcessStep({
10
10
  ...params,
11
11
  process,
12
+ metadata,
12
13
  }),
13
14
  ],
14
15
  }));
@@ -14,4 +14,8 @@ builder.preflightBuilder.set("useRouteBuilder", ({ args: [method, paths, options
14
14
  ...(options?.hooks ?? []),
15
15
  ...accumulator.hooks,
16
16
  ],
17
+ metadata: [
18
+ ...(options?.metadata ?? []),
19
+ ...accumulator.metadata,
20
+ ],
17
21
  }));
@@ -3,18 +3,24 @@ import { type RequestMethods, type Request } from "../../request";
3
3
  import { type MakeRequestFromHooks, type HookRouteLifeCycle, type RoutePath } from "../../route";
4
4
  import { type RouteBuilder } from "../route";
5
5
  import { type NeverCoalescing } from "@duplojs/utils";
6
+ import { type Metadata } from "../../metadata";
6
7
  declare module "./builder" {
7
8
  interface PreflightBuilder<GenericDefinition extends PreflightBuilderDefinition = PreflightBuilderDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
8
- useRouteBuilder<GenericMethod extends RequestMethods, const GenericPaths extends RoutePath | readonly [RoutePath, ...RoutePath[]], const GenericHooks extends readonly HookRouteLifeCycle[] = readonly []>(method: GenericMethod, path: GenericPaths, options?: {
9
+ useRouteBuilder<GenericMethod extends RequestMethods, const GenericPaths extends RoutePath | readonly [RoutePath, ...RoutePath[]], const GenericHooks extends readonly HookRouteLifeCycle[] = readonly [], const GenericMetadata extends readonly Metadata[] = readonly []>(method: GenericMethod, path: GenericPaths, options?: {
9
10
  hooks?: GenericHooks | readonly HookRouteLifeCycle[];
11
+ metadata?: GenericMetadata;
10
12
  }): RouteBuilder<{
11
13
  readonly method: GenericMethod;
12
14
  readonly paths: GenericPaths extends string ? readonly [GenericPaths] : GenericPaths;
13
15
  readonly preflightSteps: GenericDefinition["preflightSteps"];
14
16
  readonly steps: readonly [];
15
17
  readonly hooks: readonly [
16
- ...GenericHooks,
17
- ...GenericDefinition["hooks"]
18
+ ...GenericDefinition["hooks"],
19
+ ...GenericHooks
20
+ ];
21
+ readonly metadata: readonly [
22
+ ...GenericDefinition["metadata"],
23
+ ...GenericMetadata
18
24
  ];
19
25
  }, GenericFloor, (GenericRequest & NeverCoalescing<MakeRequestFromHooks<GenericHooks>, Request>)>;
20
26
  }
@@ -12,4 +12,8 @@ preflightBuilder.set("useRouteBuilder", ({ args: [method, paths, options,], accu
12
12
  ...(options?.hooks ?? []),
13
13
  ...accumulator.hooks,
14
14
  ],
15
+ metadata: [
16
+ ...(options?.metadata ?? []),
17
+ ...accumulator.metadata,
18
+ ],
15
19
  }));
@@ -10,6 +10,7 @@ function useProcessBuilder(params) {
10
10
  ...params,
11
11
  steps: [],
12
12
  hooks: params?.hooks ?? [],
13
+ metadata: params?.metadata ?? [],
13
14
  });
14
15
  }
15
16
 
@@ -3,16 +3,19 @@ import { type Floor } from "../../floor";
3
3
  import { type Builder, type IsEqual, type NeverCoalescing } from "@duplojs/utils";
4
4
  import { type MakeRequestFromHooks, type HookRouteLifeCycle } from "../../route";
5
5
  import { type Request } from "../../request";
6
+ import { type Metadata } from "../../metadata";
6
7
  export interface ProcessBuilder<GenericDefinition extends ProcessDefinition = ProcessDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> extends Builder<ProcessDefinition> {
7
8
  }
8
9
  export declare const processBuilder: import("@duplojs/utils").BuilderHandler<ProcessBuilder<ProcessDefinition, {}, Request>>;
9
- export declare function useProcessBuilder<GenericOptions extends ProcessDefinition["options"] = never, const GenericHooks extends readonly HookRouteLifeCycle[] = readonly []>(params?: {
10
+ export declare function useProcessBuilder<GenericOptions extends ProcessDefinition["options"] = never, const GenericHooks extends readonly HookRouteLifeCycle[] = readonly [], const GenericMetadata extends readonly Metadata[] = readonly []>(params?: {
10
11
  options?: GenericOptions;
11
12
  hooks?: GenericHooks | readonly HookRouteLifeCycle[];
13
+ metadata?: GenericMetadata;
12
14
  }): ProcessBuilder<{
13
15
  readonly steps: readonly [];
14
16
  readonly options: NeverCoalescing<GenericOptions, undefined>;
15
17
  readonly hooks: GenericHooks;
18
+ readonly metadata: GenericMetadata;
16
19
  }, IsEqual<GenericOptions, never> extends true ? {} : {
17
20
  options: GenericOptions;
18
21
  }, NeverCoalescing<MakeRequestFromHooks<GenericHooks>, Request>>;
@@ -8,6 +8,7 @@ function useProcessBuilder(params) {
8
8
  ...params,
9
9
  steps: [],
10
10
  hooks: params?.hooks ?? [],
11
+ metadata: params?.metadata ?? [],
11
12
  });
12
13
  }
13
14
 
@@ -4,7 +4,7 @@ require('../../steps/index.cjs');
4
4
  var builder = require('./builder.cjs');
5
5
  var checker = require('../../steps/checker.cjs');
6
6
 
7
- builder.processBuilder.set("check", ({ args: [checker$1, { otherwise: responseContract, ...params },], accumulator, next, }) => next({
7
+ builder.processBuilder.set("check", ({ args: [checker$1, { otherwise: responseContract, ...params }, ...metadata], accumulator, next, }) => next({
8
8
  ...accumulator,
9
9
  steps: [
10
10
  ...accumulator.steps,
@@ -12,6 +12,7 @@ builder.processBuilder.set("check", ({ args: [checker$1, { otherwise: responseCo
12
12
  ...params,
13
13
  responseContract,
14
14
  checker: checker$1,
15
+ metadata,
15
16
  }),
16
17
  ],
17
18
  }));
@@ -5,15 +5,16 @@ import { type GetCheckerResult, type Checker, type GetCheckerInput, type GetChec
5
5
  import { type ClientErrorResponseCode, type ResponseContract } from "../../response";
6
6
  import { type ProcessDefinition } from "../../process";
7
7
  import { type Request } from "../../request";
8
+ import { type Metadata } from "../../metadata";
8
9
  declare module "./builder" {
9
10
  interface ProcessBuilder<GenericDefinition extends ProcessDefinition = ProcessDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
10
- check<GenericChecker extends Checker, GenericResultInformation extends MaybeArray<Awaited<GetCheckerResult<GenericChecker>>["information"]>, GenericInput extends GetCheckerInput<GenericChecker>, GenericResponseContract extends ResponseContract.Contract<ClientErrorResponseCode, string, DP.DataParserEmpty>, GenericIndex extends string = never, GenericOptions extends (GetCheckerOptions<GenericChecker> | ((floor: GenericFloor) => Exclude<GetCheckerOptions<GenericChecker>, undefined>)) = never>(checker: GenericChecker, params: {
11
+ check<GenericChecker extends Checker, GenericResultInformation extends MaybeArray<Awaited<GetCheckerResult<GenericChecker>>["information"]>, GenericInput extends GetCheckerInput<GenericChecker>, GenericResponseContract extends ResponseContract.Contract<ClientErrorResponseCode, string, DP.DataParserEmpty>, GenericIndex extends string = never, GenericOptions extends (GetCheckerOptions<GenericChecker> | ((floor: GenericFloor) => Exclude<GetCheckerOptions<GenericChecker>, undefined>)) = never, const GenericMetadata extends readonly Metadata[] = readonly []>(checker: GenericChecker, params: {
11
12
  input(floor: GenericFloor): GenericInput;
12
13
  readonly result: GenericResultInformation;
13
14
  readonly indexing?: GenericIndex;
14
15
  readonly options?: FixDeepFunctionInfer<GenericChecker["definition"]["options"] | ((floor: GenericFloor) => GenericChecker["definition"]["options"]), GenericOptions>;
15
16
  readonly otherwise: GenericResponseContract;
16
- }): ProcessBuilder<O.AssignObjects<GenericDefinition, {
17
+ }, ...metadata: GenericMetadata): ProcessBuilder<O.AssignObjects<GenericDefinition, {
17
18
  readonly steps: readonly [
18
19
  ...GenericDefinition["steps"],
19
20
  CheckerStep<{
@@ -23,6 +24,7 @@ declare module "./builder" {
23
24
  input(floor: GenericFloor): GenericInput;
24
25
  readonly options: NeverCoalescing<Adaptor<GenericOptions, AnyFunction | GenericChecker["definition"]["options"]>, undefined>;
25
26
  readonly responseContract: GenericResponseContract;
27
+ readonly metadata: GenericMetadata;
26
28
  }>
27
29
  ];
28
30
  }>, O.AssignObjects<GenericFloor, {
@@ -2,7 +2,7 @@ import '../../steps/index.mjs';
2
2
  import { processBuilder } from './builder.mjs';
3
3
  import { createCheckerStep } from '../../steps/checker.mjs';
4
4
 
5
- processBuilder.set("check", ({ args: [checker, { otherwise: responseContract, ...params },], accumulator, next, }) => next({
5
+ processBuilder.set("check", ({ args: [checker, { otherwise: responseContract, ...params }, ...metadata], accumulator, next, }) => next({
6
6
  ...accumulator,
7
7
  steps: [
8
8
  ...accumulator.steps,
@@ -10,6 +10,7 @@ processBuilder.set("check", ({ args: [checker, { otherwise: responseContract, ..
10
10
  ...params,
11
11
  responseContract,
12
12
  checker,
13
+ metadata,
13
14
  }),
14
15
  ],
15
16
  }));
@@ -4,13 +4,14 @@ require('../../steps/index.cjs');
4
4
  var builder = require('./builder.cjs');
5
5
  var cut = require('../../steps/cut.cjs');
6
6
 
7
- builder.processBuilder.set("cut", ({ args: [responseContract, theFunction], accumulator, next, }) => next({
7
+ builder.processBuilder.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 CutStepFunctionOutput, type CutStep, type CutStepFunctionParams }
4
4
  import { type Unwrap, type O, type MaybePromise, type IsEqual, type A } from "@duplojs/utils";
5
5
  import { type ProcessDefinition } from "../../process";
6
6
  import { type Request } from "../../request";
7
+ import { type Metadata } from "../../metadata";
7
8
  declare module "./builder" {
8
9
  interface ProcessBuilder<GenericDefinition extends ProcessDefinition = ProcessDefinition, 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>): ProcessBuilder<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, param: CutStepFunctionParams<GenericRequest, GenericResponse>) => MaybePromise<GenericOutput>, ...metadata: GenericMetadata): ProcessBuilder<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 { processBuilder } from './builder.mjs';
3
3
  import { createCutStep } from '../../steps/cut.mjs';
4
4
 
5
- processBuilder.set("cut", ({ args: [responseContract, theFunction], accumulator, next, }) => next({
5
+ processBuilder.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.processBuilder.set("extract", ({ args: [shape, responseContract], accumulator, next, }) => next({
7
+ builder.processBuilder.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 DP, type ObjectEntry, type O, type SimplifyTopLevel, type NeverCoa
4
4
  import { type ClientErrorResponseCode, type ResponseContract } from "../../response";
5
5
  import { type ProcessDefinition } from "../../process";
6
6
  import { type Request } from "../../request";
7
+ import { type Metadata } from "../../metadata";
7
8
  declare module "./builder" {
8
9
  interface ProcessBuilder<GenericDefinition extends ProcessDefinition = ProcessDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
9
- extract<GenericShape extends ExtractShape, GenericResponseContract extends (ResponseContract.Contract<ClientErrorResponseCode, string, DP.DataParserEmpty>) = never>(shape: GenericShape, responseContract?: GenericResponseContract): ProcessBuilder<O.AssignObjects<GenericDefinition, {
10
+ extract<GenericShape extends ExtractShape, GenericResponseContract extends (ResponseContract.Contract<ClientErrorResponseCode, string, DP.DataParserEmpty> | undefined) = never, const GenericMetadata extends readonly Metadata[] = readonly []>(shape: GenericShape, responseContract?: GenericResponseContract, ...metadata: GenericMetadata): ProcessBuilder<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 { processBuilder } from './builder.mjs';
3
3
  import { createExtractStep } from '../../steps/extract.mjs';
4
4
 
5
- processBuilder.set("extract", ({ args: [shape, responseContract], accumulator, next, }) => next({
5
+ processBuilder.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
  }));
@@ -5,7 +5,7 @@ require('./cut.cjs');
5
5
  require('./extract.cjs');
6
6
  require('./checker.cjs');
7
7
  require('./process.cjs');
8
- require('./export.cjs');
8
+ require('./exports.cjs');
9
9
  require('./presetChecker.cjs');
10
10
 
11
11
 
@@ -3,5 +3,5 @@ export * from "./cut";
3
3
  export * from "./extract";
4
4
  export * from "./checker";
5
5
  export * from "./process";
6
- export * from "./export";
6
+ export * from "./exports";
7
7
  export * from "./presetChecker";
@@ -3,5 +3,5 @@ import './cut.mjs';
3
3
  import './extract.mjs';
4
4
  import './checker.mjs';
5
5
  import './process.mjs';
6
- import './export.mjs';
6
+ import './exports.mjs';
7
7
  import './presetChecker.mjs';
@@ -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.processBuilder.set("presetCheck", ({ args: [presetChecker$1, input,], accumulator, next, }) => next({
7
+ builder.processBuilder.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 O, type A } from "@duplojs/utils";
4
4
  import { type Request } from "../../request";
5
5
  import { type GetPresetCheckerIndex, type GetPresetCheckerInformation, type GetPresetCheckerResult, type GetPresetCheckerInput, type PresetChecker } from "../../presetChecker";
6
6
  import { type ProcessDefinition } from "../../process";
7
+ import { type Metadata } from "../../metadata";
7
8
  declare module "./builder" {
8
9
  interface ProcessBuilder<GenericDefinition extends ProcessDefinition = ProcessDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
9
- presetCheck<GenericPresetChecker extends PresetChecker, GenericInput extends GetPresetCheckerInput<GenericPresetChecker>>(presetChecker: GenericPresetChecker, input: (floor: GenericFloor) => GenericInput): ProcessBuilder<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): ProcessBuilder<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 { processBuilder } from './builder.mjs';
3
3
  import { createPresetCheckerStep } from '../../steps/presetChecker.mjs';
4
4
 
5
- processBuilder.set("presetCheck", ({ args: [presetChecker, input,], accumulator, next, }) => next({
5
+ processBuilder.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.processBuilder.set("exec", ({ args: [process$1, params,], accumulator, next, }) => next({
7
+ builder.processBuilder.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
  }));
@@ -3,18 +3,20 @@ import { type ProcessStep } from "../../steps";
3
3
  import { type O, type NeverCoalescing, type FixDeepFunctionInfer, type Adaptor, type AnyFunction } from "@duplojs/utils";
4
4
  import { type ProcessDefinition, type GetProcessExportValue, type Process, type GetProcessRequest } from "../../process";
5
5
  import { type Request } from "../../request";
6
+ import { type Metadata } from "../../metadata";
6
7
  declare module "./builder" {
7
8
  interface ProcessBuilder<GenericDefinition extends ProcessDefinition = ProcessDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
8
- 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?: {
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, const GenericMetadata extends readonly Metadata[] = readonly []>(process: GenericProcess, params?: {
9
10
  readonly imports?: GenericImportation;
10
11
  readonly options?: FixDeepFunctionInfer<GenericProcess["definition"]["options"] | ((floor: GenericFloor) => GenericProcess["definition"]["options"]), GenericOptions>;
11
- }): ProcessBuilder<O.AssignObjects<GenericDefinition, {
12
+ }, ...metadata: GenericMetadata): ProcessBuilder<O.AssignObjects<GenericDefinition, {
12
13
  readonly steps: readonly [
13
14
  ...GenericDefinition["steps"],
14
15
  ProcessStep<{
15
16
  readonly process: GenericProcess;
16
17
  readonly options: NeverCoalescing<Adaptor<GenericOptions, AnyFunction | GenericProcess["definition"]["options"]>, undefined>;
17
18
  readonly imports: NeverCoalescing<GenericImportation, undefined>;
19
+ readonly metadata: GenericMetadata;
18
20
  }>
19
21
  ];
20
22
  }>, O.AssignObjects<GenericFloor, Pick<GenericProcessExportValue, GenericImportation[number]>>, GenericRequest & NeverCoalescing<GetProcessRequest<GenericProcess>, Request>>;
@@ -2,13 +2,14 @@ import '../../steps/index.mjs';
2
2
  import { processBuilder } from './builder.mjs';
3
3
  import { createProcessStep } from '../../steps/process.mjs';
4
4
 
5
- processBuilder.set("exec", ({ args: [process, params,], accumulator, next, }) => next({
5
+ processBuilder.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
  }));
@@ -11,6 +11,7 @@ function useRouteBuilder(method, path, options) {
11
11
  preflightSteps: [],
12
12
  steps: [],
13
13
  hooks: options?.hooks ?? [],
14
+ metadata: options?.metadata ?? [],
14
15
  });
15
16
  }
16
17
 
@@ -2,15 +2,18 @@ import { type MakeRequestFromHooks, type HookRouteLifeCycle, type RouteDefinitio
2
2
  import { type Floor } from "../../floor";
3
3
  import { type RequestMethods, type Request } from "../../request";
4
4
  import { type Builder, type NeverCoalescing } from "@duplojs/utils";
5
+ import { type Metadata } from "../../metadata";
5
6
  export interface RouteBuilder<GenericDefinition extends RouteDefinition = RouteDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> extends Builder<RouteDefinition> {
6
7
  }
7
8
  export declare const routeBuilderHandler: import("@duplojs/utils").BuilderHandler<RouteBuilder<RouteDefinition, {}, Request>>;
8
- export declare function useRouteBuilder<GenericMethod extends RequestMethods, const GenericPaths extends RoutePath | readonly [RoutePath, ...RoutePath[]], const GenericHooks extends readonly HookRouteLifeCycle[] = readonly []>(method: GenericMethod, path: GenericPaths, options?: {
9
+ export declare function useRouteBuilder<GenericMethod extends RequestMethods, const GenericPaths extends RoutePath | readonly [RoutePath, ...RoutePath[]], const GenericHooks extends readonly HookRouteLifeCycle[] = readonly [], const GenericMetadata extends readonly Metadata[] = readonly []>(method: GenericMethod, path: GenericPaths, options?: {
9
10
  hooks?: GenericHooks | readonly HookRouteLifeCycle[];
11
+ metadata?: GenericMetadata;
10
12
  }): RouteBuilder<{
11
13
  readonly method: GenericMethod;
12
14
  readonly paths: GenericPaths extends string ? readonly [GenericPaths] : GenericPaths;
13
15
  readonly preflightSteps: readonly [];
14
16
  readonly steps: readonly [];
15
17
  readonly hooks: GenericHooks;
18
+ readonly metadata: GenericMetadata;
16
19
  }, {}, NeverCoalescing<MakeRequestFromHooks<GenericHooks>, Request>>;
@@ -9,6 +9,7 @@ function useRouteBuilder(method, path, options) {
9
9
  preflightSteps: [],
10
10
  steps: [],
11
11
  hooks: options?.hooks ?? [],
12
+ metadata: options?.metadata ?? [],
12
13
  });
13
14
  }
14
15
 
@@ -4,7 +4,7 @@ require('../../steps/index.cjs');
4
4
  var builder = require('./builder.cjs');
5
5
  var checker = require('../../steps/checker.cjs');
6
6
 
7
- builder.routeBuilderHandler.set("check", ({ args: [checker$1, { otherwise: responseContract, ...params },], accumulator, next, }) => next({
7
+ builder.routeBuilderHandler.set("check", ({ args: [checker$1, { otherwise: responseContract, ...params }, ...metadata], accumulator, next, }) => next({
8
8
  ...accumulator,
9
9
  steps: [
10
10
  ...accumulator.steps,
@@ -12,6 +12,7 @@ builder.routeBuilderHandler.set("check", ({ args: [checker$1, { otherwise: respo
12
12
  ...params,
13
13
  responseContract,
14
14
  checker: checker$1,
15
+ metadata,
15
16
  }),
16
17
  ],
17
18
  }));
@@ -5,15 +5,16 @@ import { type O, type MaybeArray, type NeverCoalescing, type FixDeepFunctionInfe
5
5
  import { type GetCheckerInput, type Checker, type GetCheckerResult, type GetCheckerOptions } from "../../checker";
6
6
  import { type ClientErrorResponseCode, type ResponseContract } from "../../response";
7
7
  import { type Request } from "../../request";
8
+ import { type Metadata } from "../../metadata";
8
9
  declare module "./builder" {
9
10
  interface RouteBuilder<GenericDefinition extends RouteDefinition = RouteDefinition, GenericFloor extends Floor = {}, GenericRequest extends Request = Request> {
10
- check<GenericChecker extends Checker, GenericResultInformation extends MaybeArray<Awaited<GetCheckerResult<GenericChecker>>["information"]>, GenericInput extends GetCheckerInput<GenericChecker>, GenericResponseContract extends ResponseContract.Contract<ClientErrorResponseCode, string, DP.DataParserEmpty>, GenericIndex extends string = never, GenericOptions extends (GetCheckerOptions<GenericChecker> | ((floor: GenericFloor) => Exclude<GetCheckerOptions<GenericChecker>, undefined>)) = never>(checker: GenericChecker, params: {
11
+ check<GenericChecker extends Checker, GenericResultInformation extends MaybeArray<Awaited<GetCheckerResult<GenericChecker>>["information"]>, GenericInput extends GetCheckerInput<GenericChecker>, GenericResponseContract extends ResponseContract.Contract<ClientErrorResponseCode, string, DP.DataParserEmpty>, GenericIndex extends string = never, GenericOptions extends (GetCheckerOptions<GenericChecker> | ((floor: GenericFloor) => Exclude<GetCheckerOptions<GenericChecker>, undefined>)) = never, const GenericMetadata extends readonly Metadata[] = readonly []>(checker: GenericChecker, params: {
11
12
  input(floor: GenericFloor): GenericInput;
12
13
  readonly result: GenericResultInformation;
13
14
  readonly indexing?: GenericIndex;
14
15
  readonly options?: FixDeepFunctionInfer<GenericChecker["definition"]["options"] | ((floor: GenericFloor) => GenericChecker["definition"]["options"]), GenericOptions>;
15
16
  readonly otherwise: GenericResponseContract;
16
- }): RouteBuilder<O.AssignObjects<GenericDefinition, {
17
+ }, ...metadata: GenericMetadata): RouteBuilder<O.AssignObjects<GenericDefinition, {
17
18
  readonly steps: readonly [
18
19
  ...GenericDefinition["steps"],
19
20
  CheckerStep<{
@@ -23,6 +24,7 @@ declare module "./builder" {
23
24
  input(floor: GenericFloor): GenericInput;
24
25
  readonly options: NeverCoalescing<Adaptor<GenericOptions, AnyFunction | GenericChecker["definition"]["options"]>, undefined>;
25
26
  readonly responseContract: GenericResponseContract;
27
+ readonly metadata: GenericMetadata;
26
28
  }>
27
29
  ];
28
30
  }>, O.AssignObjects<GenericFloor, {
@@ -2,7 +2,7 @@ import '../../steps/index.mjs';
2
2
  import { routeBuilderHandler } from './builder.mjs';
3
3
  import { createCheckerStep } from '../../steps/checker.mjs';
4
4
 
5
- routeBuilderHandler.set("check", ({ args: [checker, { otherwise: responseContract, ...params },], accumulator, next, }) => next({
5
+ routeBuilderHandler.set("check", ({ args: [checker, { otherwise: responseContract, ...params }, ...metadata], accumulator, next, }) => next({
6
6
  ...accumulator,
7
7
  steps: [
8
8
  ...accumulator.steps,
@@ -10,6 +10,7 @@ routeBuilderHandler.set("check", ({ args: [checker, { otherwise: responseContrac
10
10
  ...params,
11
11
  responseContract,
12
12
  checker,
13
+ metadata,
13
14
  }),
14
15
  ],
15
16
  }));