@duplojs/http 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) 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/hub/defaultNotfoundHandler.cjs +1 -0
  53. package/dist/core/hub/defaultNotfoundHandler.d.ts +1 -0
  54. package/dist/core/hub/defaultNotfoundHandler.mjs +1 -0
  55. package/dist/core/hub/index.cjs +1 -0
  56. package/dist/core/hub/index.mjs +1 -0
  57. package/dist/core/index.cjs +6 -0
  58. package/dist/core/index.d.ts +1 -0
  59. package/dist/core/index.mjs +3 -0
  60. package/dist/core/metadata/base.cjs +20 -0
  61. package/dist/core/metadata/base.d.ts +14 -0
  62. package/dist/core/metadata/base.mjs +17 -0
  63. package/dist/core/metadata/ignoreByRouteStore.cjs +7 -0
  64. package/dist/core/metadata/ignoreByRouteStore.d.ts +1 -0
  65. package/dist/core/metadata/ignoreByRouteStore.mjs +5 -0
  66. package/dist/core/metadata/index.cjs +10 -0
  67. package/dist/core/metadata/index.d.ts +2 -0
  68. package/dist/core/metadata/index.mjs +2 -0
  69. package/dist/core/process/index.d.ts +3 -1
  70. package/dist/core/route/index.d.ts +2 -0
  71. package/dist/core/router/index.cjs +1 -0
  72. package/dist/core/router/index.mjs +1 -0
  73. package/dist/core/steps/checker.d.ts +2 -0
  74. package/dist/core/steps/cut.d.ts +2 -0
  75. package/dist/core/steps/extract.d.ts +2 -0
  76. package/dist/core/steps/handler.d.ts +2 -0
  77. package/dist/core/steps/presetChecker.d.ts +2 -0
  78. package/dist/core/steps/process.d.ts +2 -0
  79. package/dist/plugins/codeGenerator/{stepsToDataParser.cjs → aggregateStepContract.cjs} +8 -5
  80. package/dist/plugins/codeGenerator/{stepsToDataParser.d.ts → aggregateStepContract.d.ts} +1 -1
  81. package/dist/plugins/codeGenerator/{stepsToDataParser.mjs → aggregateStepContract.mjs} +9 -6
  82. package/dist/plugins/codeGenerator/index.cjs +4 -2
  83. package/dist/plugins/codeGenerator/index.d.ts +2 -1
  84. package/dist/plugins/codeGenerator/index.mjs +2 -1
  85. package/dist/plugins/codeGenerator/metadata.cjs +8 -0
  86. package/dist/plugins/codeGenerator/metadata.d.ts +1 -0
  87. package/dist/plugins/codeGenerator/metadata.mjs +6 -0
  88. package/dist/plugins/codeGenerator/routeToDataParser.cjs +7 -2
  89. package/dist/plugins/codeGenerator/routeToDataParser.mjs +8 -3
  90. package/dist/plugins/openApiGenerator/aggregateStepContract.cjs +6 -3
  91. package/dist/plugins/openApiGenerator/aggregateStepContract.mjs +7 -4
  92. package/dist/plugins/openApiGenerator/index.cjs +2 -0
  93. package/dist/plugins/openApiGenerator/index.d.ts +1 -0
  94. package/dist/plugins/openApiGenerator/index.mjs +1 -0
  95. package/dist/plugins/openApiGenerator/makeOpenApiRoute.d.ts +2 -0
  96. package/dist/plugins/openApiGenerator/metadata.cjs +8 -0
  97. package/dist/plugins/openApiGenerator/metadata.d.ts +1 -0
  98. package/dist/plugins/openApiGenerator/metadata.mjs +6 -0
  99. package/dist/plugins/openApiGenerator/routeToOpenApi.cjs +5 -0
  100. package/dist/plugins/openApiGenerator/routeToOpenApi.mjs +6 -1
  101. package/package.json +1 -1
  102. /package/dist/core/builders/process/{export.cjs → exports.cjs} +0 -0
  103. /package/dist/core/builders/process/{export.d.ts → exports.d.ts} +0 -0
  104. /package/dist/core/builders/process/{export.mjs → exports.mjs} +0 -0
@@ -2,9 +2,11 @@ import { type Kind } from "@duplojs/utils";
2
2
  import { type StepKind } from "./kind";
3
3
  import { type Floor } from "../floor";
4
4
  import { type PresetChecker } from "../presetChecker";
5
+ import { type Metadata } from "../metadata";
5
6
  export interface PresetCheckerStepDefinition {
6
7
  readonly presetChecker: PresetChecker;
7
8
  input(input: Floor): unknown;
9
+ readonly metadata: readonly Metadata[];
8
10
  }
9
11
  export declare const presetCheckerStepKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/presetChecker-step", unknown>>;
10
12
  export type _PresetCheckerStep = (Kind<typeof presetCheckerStepKind.definition> & StepKind);
@@ -1,10 +1,12 @@
1
1
  import { type Kind } from "@duplojs/utils";
2
2
  import { type StepKind } from "./kind";
3
3
  import { type Process } from "../process";
4
+ import { type Metadata } from "../metadata";
4
5
  export interface ProcessStepDefinition {
5
6
  readonly process: Process;
6
7
  readonly options?: Record<string, unknown> | ((input: any) => Record<string, unknown>);
7
8
  readonly imports?: readonly string[];
9
+ readonly metadata: readonly Metadata[];
8
10
  }
9
11
  export declare const processStepKind: import("@duplojs/utils").KindHandler<import("@duplojs/utils").KindDefinition<"@DuplojsHttpCore/process-step", unknown>>;
10
12
  export type _ProcessStep = (Kind<typeof processStepKind.definition> & StepKind);
@@ -2,6 +2,8 @@
2
2
 
3
3
  require('../../core/steps/index.cjs');
4
4
  var utils = require('@duplojs/utils');
5
+ var metadata = require('./metadata.cjs');
6
+ var identifier = require('../../core/steps/identifier.cjs');
5
7
  var process = require('../../core/steps/process.cjs');
6
8
  var extract = require('../../core/steps/extract.cjs');
7
9
  var presetChecker = require('../../core/steps/presetChecker.cjs');
@@ -9,12 +11,13 @@ var checker = require('../../core/steps/checker.cjs');
9
11
  var cut = require('../../core/steps/cut.cjs');
10
12
  var handler = require('../../core/steps/handler.cjs');
11
13
 
12
- function stepsToDataParser(steps, params) {
13
- const processContracts = utils.pipe(steps, utils.A.filter(process.processStepKind.has), utils.A.map((element) => stepsToDataParser(element.definition.process.definition.steps, params)), utils.O.to({
14
+ function aggregateStepContract(steps, params) {
15
+ const filteredStep = utils.A.filter(steps, (step) => utils.A.find(step.definition.metadata, metadata.IgnoreByCodeGeneratorMetadata.is) === undefined);
16
+ const processContracts = utils.pipe(filteredStep, utils.A.filter(identifier.stepIdentifier(process.processStepKind)), utils.A.filter((step) => utils.A.find(step.definition.process.definition.metadata, metadata.IgnoreByCodeGeneratorMetadata.is) === undefined), utils.A.map((element) => aggregateStepContract(element.definition.process.definition.steps, params)), utils.O.to({
14
17
  entrypointContract: utils.A.map((result) => result.entrypointContract),
15
18
  endpointContract: utils.A.flatMap((result) => result.endpointContract),
16
19
  }));
17
- const entrypointContract = utils.pipe(steps, utils.A.filter(extract.extractStepKind.has), utils.A.map((extractStep) => extractStep.definition.shape), utils.A.concat(processContracts.entrypointContract), utils.A.reduce(utils.A.reduceFrom({
20
+ const entrypointContract = utils.pipe(filteredStep, utils.A.filter(extract.extractStepKind.has), utils.A.map((extractStep) => extractStep.definition.shape), utils.A.concat(processContracts.entrypointContract), utils.A.reduce(utils.A.reduceFrom({
18
21
  body: {},
19
22
  headers: {},
20
23
  params: {},
@@ -43,7 +46,7 @@ function stepsToDataParser(steps, params) {
43
46
  }
44
47
  return utils.O.entry(key, currentExtractDataParser);
45
48
  }), utils.O.fromEntries, (object) => nextWithObject(lastValue, object))));
46
- const endpointContract = utils.pipe(steps, utils.A.flatMap((step) => utils.P.match(step)
49
+ const endpointContract = utils.pipe(filteredStep, utils.A.flatMap((step) => utils.P.match(step)
47
50
  .when(process.processStepKind.has, () => [])
48
51
  .when(extract.extractStepKind.has, ({ definition }) => definition.responseContract ?? params.defaultExtractContract)
49
52
  .when(presetChecker.presetCheckerStepKind.has, ({ definition }) => definition.presetChecker.definition.responseContract)
@@ -63,4 +66,4 @@ function stepsToDataParser(steps, params) {
63
66
  };
64
67
  }
65
68
 
66
- exports.stepsToDataParser = stepsToDataParser;
69
+ exports.aggregateStepContract = aggregateStepContract;
@@ -10,5 +10,5 @@ export interface StepsToDataParserResult {
10
10
  entrypointContract: EntrypointReduceResult;
11
11
  endpointContract: DP.DataParser[];
12
12
  }
13
- export declare function stepsToDataParser(steps: readonly Steps[], params: StepsToDataParserParams): StepsToDataParserResult;
13
+ export declare function aggregateStepContract(steps: readonly Steps[], params: StepsToDataParserParams): StepsToDataParserResult;
14
14
  export {};
@@ -1,5 +1,7 @@
1
1
  import '../../core/steps/index.mjs';
2
- import { pipe, A, O, DP, P, hasSomeKinds } from '@duplojs/utils';
2
+ import { A, pipe, O, DP, P, hasSomeKinds } from '@duplojs/utils';
3
+ import { IgnoreByCodeGeneratorMetadata } from './metadata.mjs';
4
+ import { stepIdentifier } from '../../core/steps/identifier.mjs';
3
5
  import { processStepKind } from '../../core/steps/process.mjs';
4
6
  import { extractStepKind } from '../../core/steps/extract.mjs';
5
7
  import { presetCheckerStepKind } from '../../core/steps/presetChecker.mjs';
@@ -7,12 +9,13 @@ import { checkerStepKind } from '../../core/steps/checker.mjs';
7
9
  import { cutStepKind } from '../../core/steps/cut.mjs';
8
10
  import { handlerStepKind } from '../../core/steps/handler.mjs';
9
11
 
10
- function stepsToDataParser(steps, params) {
11
- const processContracts = pipe(steps, A.filter(processStepKind.has), A.map((element) => stepsToDataParser(element.definition.process.definition.steps, params)), O.to({
12
+ function aggregateStepContract(steps, params) {
13
+ const filteredStep = A.filter(steps, (step) => A.find(step.definition.metadata, IgnoreByCodeGeneratorMetadata.is) === undefined);
14
+ const processContracts = pipe(filteredStep, A.filter(stepIdentifier(processStepKind)), A.filter((step) => A.find(step.definition.process.definition.metadata, IgnoreByCodeGeneratorMetadata.is) === undefined), A.map((element) => aggregateStepContract(element.definition.process.definition.steps, params)), O.to({
12
15
  entrypointContract: A.map((result) => result.entrypointContract),
13
16
  endpointContract: A.flatMap((result) => result.endpointContract),
14
17
  }));
15
- const entrypointContract = pipe(steps, A.filter(extractStepKind.has), A.map((extractStep) => extractStep.definition.shape), A.concat(processContracts.entrypointContract), A.reduce(A.reduceFrom({
18
+ const entrypointContract = pipe(filteredStep, A.filter(extractStepKind.has), A.map((extractStep) => extractStep.definition.shape), A.concat(processContracts.entrypointContract), A.reduce(A.reduceFrom({
16
19
  body: {},
17
20
  headers: {},
18
21
  params: {},
@@ -41,7 +44,7 @@ function stepsToDataParser(steps, params) {
41
44
  }
42
45
  return O.entry(key, currentExtractDataParser);
43
46
  }), O.fromEntries, (object) => nextWithObject(lastValue, object))));
44
- const endpointContract = pipe(steps, A.flatMap((step) => P.match(step)
47
+ const endpointContract = pipe(filteredStep, A.flatMap((step) => P.match(step)
45
48
  .when(processStepKind.has, () => [])
46
49
  .when(extractStepKind.has, ({ definition }) => definition.responseContract ?? params.defaultExtractContract)
47
50
  .when(presetCheckerStepKind.has, ({ definition }) => definition.presetChecker.definition.responseContract)
@@ -61,4 +64,4 @@ function stepsToDataParser(steps, params) {
61
64
  };
62
65
  }
63
66
 
64
- export { stepsToDataParser };
67
+ export { aggregateStepContract };
@@ -4,10 +4,12 @@ require('@duplojs/data-parser-tools/toTypescript');
4
4
  require('./types/index.cjs');
5
5
  var plugin = require('./plugin.cjs');
6
6
  var routeToDataParser = require('./routeToDataParser.cjs');
7
- var stepsToDataParser = require('./stepsToDataParser.cjs');
7
+ var aggregateStepContract = require('./aggregateStepContract.cjs');
8
+ var metadata = require('./metadata.cjs');
8
9
 
9
10
 
10
11
 
11
12
  exports.codeGeneratorPlugin = plugin.codeGeneratorPlugin;
12
13
  exports.routeToDataParser = routeToDataParser.routeToDataParser;
13
- exports.stepsToDataParser = stepsToDataParser.stepsToDataParser;
14
+ exports.aggregateStepContract = aggregateStepContract.aggregateStepContract;
15
+ exports.IgnoreByCodeGeneratorMetadata = metadata.IgnoreByCodeGeneratorMetadata;
@@ -2,4 +2,5 @@ import "@duplojs/data-parser-tools/toTypescript";
2
2
  export * from "./types";
3
3
  export * from "./plugin";
4
4
  export * from "./routeToDataParser";
5
- export * from "./stepsToDataParser";
5
+ export * from "./aggregateStepContract";
6
+ export * from "./metadata";
@@ -2,4 +2,5 @@ import '@duplojs/data-parser-tools/toTypescript';
2
2
  import './types/index.mjs';
3
3
  export { codeGeneratorPlugin } from './plugin.mjs';
4
4
  export { routeToDataParser } from './routeToDataParser.mjs';
5
- export { stepsToDataParser } from './stepsToDataParser.mjs';
5
+ export { aggregateStepContract } from './aggregateStepContract.mjs';
6
+ export { IgnoreByCodeGeneratorMetadata } from './metadata.mjs';
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ require('../../core/metadata/index.cjs');
4
+ var base = require('../../core/metadata/base.cjs');
5
+
6
+ const IgnoreByCodeGeneratorMetadata = base.createMetadata("ignore-by-code-generator");
7
+
8
+ exports.IgnoreByCodeGeneratorMetadata = IgnoreByCodeGeneratorMetadata;
@@ -0,0 +1 @@
1
+ export declare const IgnoreByCodeGeneratorMetadata: import("../../core/metadata").MetadataHandler<"ignore-by-code-generator", unknown>;
@@ -0,0 +1,6 @@
1
+ import '../../core/metadata/index.mjs';
2
+ import { createMetadata } from '../../core/metadata/base.mjs';
3
+
4
+ const IgnoreByCodeGeneratorMetadata = createMetadata("ignore-by-code-generator");
5
+
6
+ export { IgnoreByCodeGeneratorMetadata };
@@ -1,13 +1,18 @@
1
1
  'use strict';
2
2
 
3
- var stepsToDataParser = require('./stepsToDataParser.cjs');
3
+ var aggregateStepContract = require('./aggregateStepContract.cjs');
4
4
  var utils = require('@duplojs/utils');
5
+ var metadata = require('./metadata.cjs');
5
6
 
6
7
  function routeToDataParser(route, params) {
8
+ const isIgnore = utils.A.find(route.definition.metadata, metadata.IgnoreByCodeGeneratorMetadata.is);
9
+ if (isIgnore) {
10
+ return [];
11
+ }
7
12
  return utils.pipe([
8
13
  ...route.definition.preflightSteps,
9
14
  ...route.definition.steps,
10
- ], (steps) => stepsToDataParser.stepsToDataParser(steps, {
15
+ ], (steps) => aggregateStepContract.aggregateStepContract(steps, {
11
16
  defaultExtractContract: params.defaultExtractContract,
12
17
  }), utils.O.transformProperty("entrypointContract", utils.innerPipe(utils.O.entries, utils.A.select(({ element: [key, value], select, skip }) => {
13
18
  if (utils.DP.dataParserKind.has(value)) {
@@ -1,11 +1,16 @@
1
- import { stepsToDataParser } from './stepsToDataParser.mjs';
2
- import { pipe, O, innerPipe, A, DP } from '@duplojs/utils';
1
+ import { aggregateStepContract } from './aggregateStepContract.mjs';
2
+ import { A, pipe, O, innerPipe, DP } from '@duplojs/utils';
3
+ import { IgnoreByCodeGeneratorMetadata } from './metadata.mjs';
3
4
 
4
5
  function routeToDataParser(route, params) {
6
+ const isIgnore = A.find(route.definition.metadata, IgnoreByCodeGeneratorMetadata.is);
7
+ if (isIgnore) {
8
+ return [];
9
+ }
5
10
  return pipe([
6
11
  ...route.definition.preflightSteps,
7
12
  ...route.definition.steps,
8
- ], (steps) => stepsToDataParser(steps, {
13
+ ], (steps) => aggregateStepContract(steps, {
9
14
  defaultExtractContract: params.defaultExtractContract,
10
15
  }), O.transformProperty("entrypointContract", innerPipe(O.entries, A.select(({ element: [key, value], select, skip }) => {
11
16
  if (DP.dataParserKind.has(value)) {
@@ -2,6 +2,8 @@
2
2
 
3
3
  require('../../core/steps/index.cjs');
4
4
  var utils = require('@duplojs/utils');
5
+ var metadata = require('./metadata.cjs');
6
+ var identifier = require('../../core/steps/identifier.cjs');
5
7
  var process = require('../../core/steps/process.cjs');
6
8
  var extract = require('../../core/steps/extract.cjs');
7
9
  var presetChecker = require('../../core/steps/presetChecker.cjs');
@@ -10,11 +12,12 @@ var cut = require('../../core/steps/cut.cjs');
10
12
  var handler = require('../../core/steps/handler.cjs');
11
13
 
12
14
  function aggregateStepContract(steps, params) {
13
- const processContracts = utils.pipe(steps, utils.A.filter(process.processStepKind.has), utils.A.map((element) => aggregateStepContract(element.definition.process.definition.steps, params)), utils.O.to({
15
+ const filteredStep = utils.A.filter(steps, (step) => utils.A.find(step.definition.metadata, metadata.IgnoreByOpenApiGeneratorMetadata.is) === undefined);
16
+ const processContracts = utils.pipe(filteredStep, utils.A.filter(identifier.stepIdentifier(process.processStepKind)), utils.A.filter((step) => utils.A.find(step.definition.process.definition.metadata, metadata.IgnoreByOpenApiGeneratorMetadata.is) === undefined), utils.A.map((element) => aggregateStepContract(element.definition.process.definition.steps, params)), utils.O.to({
14
17
  entrypointContract: utils.A.map((result) => result.entrypointContract),
15
18
  endpointContract: utils.A.flatMap((result) => result.endpointContract),
16
19
  }));
17
- const entrypointContract = utils.pipe(steps, utils.A.filter(extract.extractStepKind.has), utils.A.map((extractStep) => extractStep.definition.shape), utils.A.concat(processContracts.entrypointContract), utils.A.reduce(utils.A.reduceFrom({
20
+ const entrypointContract = utils.pipe(filteredStep, utils.A.filter(extract.extractStepKind.has), utils.A.map((extractStep) => extractStep.definition.shape), utils.A.concat(processContracts.entrypointContract), utils.A.reduce(utils.A.reduceFrom({
18
21
  body: {},
19
22
  headers: {},
20
23
  params: {},
@@ -43,7 +46,7 @@ function aggregateStepContract(steps, params) {
43
46
  }
44
47
  return utils.O.entry(key, currentExtractDataParser);
45
48
  }), utils.O.fromEntries, (object) => nextWithObject(lastValue, object))));
46
- const endpointContract = utils.pipe(steps, utils.A.flatMap((step) => utils.P.match(step)
49
+ const endpointContract = utils.pipe(filteredStep, utils.A.flatMap((step) => utils.P.match(step)
47
50
  .when(process.processStepKind.has, () => [])
48
51
  .when(extract.extractStepKind.has, ({ definition }) => definition.responseContract ?? params.defaultExtractContract)
49
52
  .when(presetChecker.presetCheckerStepKind.has, ({ definition }) => definition.presetChecker.definition.responseContract)
@@ -1,5 +1,7 @@
1
1
  import '../../core/steps/index.mjs';
2
- import { pipe, A, O, DP, P, hasSomeKinds } from '@duplojs/utils';
2
+ import { A, pipe, O, DP, P, hasSomeKinds } from '@duplojs/utils';
3
+ import { IgnoreByOpenApiGeneratorMetadata } from './metadata.mjs';
4
+ import { stepIdentifier } from '../../core/steps/identifier.mjs';
3
5
  import { processStepKind } from '../../core/steps/process.mjs';
4
6
  import { extractStepKind } from '../../core/steps/extract.mjs';
5
7
  import { presetCheckerStepKind } from '../../core/steps/presetChecker.mjs';
@@ -8,11 +10,12 @@ import { cutStepKind } from '../../core/steps/cut.mjs';
8
10
  import { handlerStepKind } from '../../core/steps/handler.mjs';
9
11
 
10
12
  function aggregateStepContract(steps, params) {
11
- const processContracts = pipe(steps, A.filter(processStepKind.has), A.map((element) => aggregateStepContract(element.definition.process.definition.steps, params)), O.to({
13
+ const filteredStep = A.filter(steps, (step) => A.find(step.definition.metadata, IgnoreByOpenApiGeneratorMetadata.is) === undefined);
14
+ const processContracts = pipe(filteredStep, A.filter(stepIdentifier(processStepKind)), A.filter((step) => A.find(step.definition.process.definition.metadata, IgnoreByOpenApiGeneratorMetadata.is) === undefined), A.map((element) => aggregateStepContract(element.definition.process.definition.steps, params)), O.to({
12
15
  entrypointContract: A.map((result) => result.entrypointContract),
13
16
  endpointContract: A.flatMap((result) => result.endpointContract),
14
17
  }));
15
- const entrypointContract = pipe(steps, A.filter(extractStepKind.has), A.map((extractStep) => extractStep.definition.shape), A.concat(processContracts.entrypointContract), A.reduce(A.reduceFrom({
18
+ const entrypointContract = pipe(filteredStep, A.filter(extractStepKind.has), A.map((extractStep) => extractStep.definition.shape), A.concat(processContracts.entrypointContract), A.reduce(A.reduceFrom({
16
19
  body: {},
17
20
  headers: {},
18
21
  params: {},
@@ -41,7 +44,7 @@ function aggregateStepContract(steps, params) {
41
44
  }
42
45
  return O.entry(key, currentExtractDataParser);
43
46
  }), O.fromEntries, (object) => nextWithObject(lastValue, object))));
44
- const endpointContract = pipe(steps, A.flatMap((step) => P.match(step)
47
+ const endpointContract = pipe(filteredStep, A.flatMap((step) => P.match(step)
45
48
  .when(processStepKind.has, () => [])
46
49
  .when(extractStepKind.has, ({ definition }) => definition.responseContract ?? params.defaultExtractContract)
47
50
  .when(presetCheckerStepKind.has, ({ definition }) => definition.presetChecker.definition.responseContract)
@@ -7,6 +7,7 @@ var routeToOpenApi = require('./routeToOpenApi.cjs');
7
7
  var aggregateStepContract = require('./aggregateStepContract.cjs');
8
8
  var makeOpenApiRoute = require('./makeOpenApiRoute.cjs');
9
9
  var makeOpenApiPage = require('./makeOpenApiPage.cjs');
10
+ var metadata = require('./metadata.cjs');
10
11
 
11
12
 
12
13
 
@@ -15,3 +16,4 @@ exports.routeToOpenApi = routeToOpenApi.routeToOpenApi;
15
16
  exports.aggregateStepContract = aggregateStepContract.aggregateStepContract;
16
17
  exports.makeOpenApiRoute = makeOpenApiRoute.makeOpenApiRoute;
17
18
  exports.makeOpenApiPage = makeOpenApiPage.makeOpenApiPage;
19
+ exports.IgnoreByOpenApiGeneratorMetadata = metadata.IgnoreByOpenApiGeneratorMetadata;
@@ -5,3 +5,4 @@ export * from "./routeToOpenApi";
5
5
  export * from "./aggregateStepContract";
6
6
  export * from "./makeOpenApiRoute";
7
7
  export * from "./makeOpenApiPage";
8
+ export * from "./metadata";
@@ -5,3 +5,4 @@ export { routeToOpenApi } from './routeToOpenApi.mjs';
5
5
  export { aggregateStepContract } from './aggregateStepContract.mjs';
6
6
  export { makeOpenApiRoute } from './makeOpenApiRoute.mjs';
7
7
  export { makeOpenApiPage } from './makeOpenApiPage.mjs';
8
+ export { IgnoreByOpenApiGeneratorMetadata } from './metadata.mjs';
@@ -3,6 +3,7 @@ import type { RoutePath } from "../../core/route";
3
3
  import { DP } from "@duplojs/utils";
4
4
  export declare function makeOpenApiRoute(routePath: RoutePath, openApiPage: string): import("../../core/route").Route<{
5
5
  readonly method: "GET";
6
+ readonly metadata: readonly [];
6
7
  readonly hooks: readonly [];
7
8
  readonly preflightSteps: readonly [];
8
9
  readonly paths: readonly [`/${string}`];
@@ -14,5 +15,6 @@ export declare function makeOpenApiRoute(routePath: RoutePath, openApiPage: stri
14
15
  readonly checkers: readonly [];
15
16
  }>>>;
16
17
  theFunction(floor: {}, param: import("../../core/steps").HandlerStepFunctionParams<import("../../core/request").Request, import("../../core/response").PredictedResponse<"200", "swaggerUi", string>>): import("@duplojs/utils").MaybePromise<import("../../core/response").PredictedResponse<"200", "swaggerUi", string>>;
18
+ readonly metadata: readonly [];
17
19
  }>];
18
20
  }>;
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ require('../../core/metadata/index.cjs');
4
+ var base = require('../../core/metadata/base.cjs');
5
+
6
+ const IgnoreByOpenApiGeneratorMetadata = base.createMetadata("ignore-by-open-api-generator");
7
+
8
+ exports.IgnoreByOpenApiGeneratorMetadata = IgnoreByOpenApiGeneratorMetadata;
@@ -0,0 +1 @@
1
+ export declare const IgnoreByOpenApiGeneratorMetadata: import("../../core/metadata").MetadataHandler<"ignore-by-open-api-generator", unknown>;
@@ -0,0 +1,6 @@
1
+ import '../../core/metadata/index.mjs';
2
+ import { createMetadata } from '../../core/metadata/base.mjs';
3
+
4
+ const IgnoreByOpenApiGeneratorMetadata = createMetadata("ignore-by-open-api-generator");
5
+
6
+ export { IgnoreByOpenApiGeneratorMetadata };
@@ -3,6 +3,7 @@
3
3
  var aggregateStepContract = require('./aggregateStepContract.cjs');
4
4
  var utils = require('@duplojs/utils');
5
5
  var toJsonSchema = require('@duplojs/data-parser-tools/toJsonSchema');
6
+ var metadata = require('./metadata.cjs');
6
7
 
7
8
  function factoryJsonSchema(params) {
8
9
  const identifier = params.schema.definition.identifier
@@ -33,6 +34,10 @@ const methodMapper = {
33
34
  OPTIONS: "options",
34
35
  };
35
36
  function routeToOpenApi(route, params) {
37
+ const isIgnore = utils.A.find(route.definition.metadata, metadata.IgnoreByOpenApiGeneratorMetadata.is);
38
+ if (isIgnore) {
39
+ return [];
40
+ }
36
41
  const aggregateStepResult = aggregateStepContract.aggregateStepContract([
37
42
  ...route.definition.preflightSteps,
38
43
  ...route.definition.steps,
@@ -1,6 +1,7 @@
1
1
  import { aggregateStepContract } from './aggregateStepContract.mjs';
2
- import { O, pipe, A, DP, when, justReturn, whenNot, P, isType, S } from '@duplojs/utils';
2
+ import { O, A, pipe, DP, when, justReturn, whenNot, P, isType, S } from '@duplojs/utils';
3
3
  import { render, defaultTransformers } from '@duplojs/data-parser-tools/toJsonSchema';
4
+ import { IgnoreByOpenApiGeneratorMetadata } from './metadata.mjs';
4
5
 
5
6
  function factoryJsonSchema(params) {
6
7
  const identifier = params.schema.definition.identifier
@@ -31,6 +32,10 @@ const methodMapper = {
31
32
  OPTIONS: "options",
32
33
  };
33
34
  function routeToOpenApi(route, params) {
35
+ const isIgnore = A.find(route.definition.metadata, IgnoreByOpenApiGeneratorMetadata.is);
36
+ if (isIgnore) {
37
+ return [];
38
+ }
34
39
  const aggregateStepResult = aggregateStepContract([
35
40
  ...route.definition.preflightSteps,
36
41
  ...route.definition.steps,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duplojs/http",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "author": "mathcovax",
5
5
  "license": "MIT",
6
6
  "type": "module",