zod-openapi 2.2.1 → 2.2.3

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.
package/README.md CHANGED
@@ -317,7 +317,7 @@ createDocument({
317
317
 
318
318
  `.transform()` is complicated because it technically comprises of two types (input & output). This means that we need to understand which type you are creating.
319
319
 
320
- If a registered schema with a transform is used in both a request and response schema you will receive an error because the created schema for each will be different. To override the creation type for a specific ZodEffect, add an `.openapi()` field and set the `effectType` field to `input`. This will force this library to always generate the input type even if we are creating a response type.
320
+ If a registered schema with a transform or pipeline is used in both a request and response schema you will receive an error because the created schema for each will be different. To override the creation type for a specific ZodEffect, add an `.openapi()` field and set the `effectType` field to `input` or `output`. This will force this library to always generate the input/output type even if we are creating a response (output) or request (input) type. You typically want to use this when your know your transform has not changed the type.
321
321
 
322
322
  `.preprocess()` will always return the `output` type even if we are creating an input schema. If a different input type is required you can achieve this with a `.transform()` combined with a `.pipe()` or simply declare a manual `type` in `.openapi()`.
323
323
 
@@ -553,7 +553,7 @@ zod-openapi was created while trying to add a feature to support auto registerin
553
553
 
554
554
  3. No transform support or safety. You can use a `type` to override the transform type but what happens when that transform logic changes?
555
555
 
556
- 4. Eslint rules. I initially created some rules for that library, however, I had to add some awkward logic to account for the registry class. With more creative control, I can create better rules going forward. See [eslint-plugin-zod-openapi](https://github.com/samchungy/eslint-plugin-zod-openapi) for some magic.
556
+ 4. No input/output validation with components. What happens when you register a component with a transform which technically comprises of two types in a request and a response?
557
557
 
558
558
  Did I really rewrite an entire library just for this? Absolutely. I believe that creating documentation and types should be as simple and as frictionless as possible.
559
559
 
@@ -21,14 +21,6 @@ const enhanceWithMetadata = (schemaOrRef, metadata) => {
21
21
  allOf: [schemaOrRef, metadata],
22
22
  };
23
23
  }
24
- if (schemaOrRef.allOf) {
25
- const rest = schemaOrRef.allOf.slice(0, -1);
26
- const end = schemaOrRef.allOf.at(-1);
27
- return {
28
- ...schemaOrRef,
29
- allOf: [...rest, ...(end ? [(0, exports.enhanceWithMetadata)(end, metadata)] : [])],
30
- };
31
- }
32
24
  return {
33
25
  ...schemaOrRef,
34
26
  ...metadata,
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/create/schema/metadata.ts"],"names":[],"mappings":";;;AAIA,wBAAmD;AAE5C,MAAM,wBAAwB,GAAG,CAKtC,SAAsC,EACtC,KAAkB,EAC0B,EAAE;IAC9C,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,kBAAkB,EAAE,GACtE,SAAS,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,IAAA,eAAY,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;IAE1C,OAAO,IAAA,2BAAmB,EAAC,WAAW,EAAE;QACtC,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC;QACnC,GAAG,kBAAkB;KACtB,CAAC,CAAC;AACL,CAAC,CAAC;AAjBW,QAAA,wBAAwB,4BAiBnC;AAEK,MAAM,mBAAmB,GAAG,CACjC,WAAuD,EACvD,QAAoD,EACR,EAAE;IAC9C,IAAI,MAAM,IAAI,WAAW,EAAE;QACzB,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE;YAC7D,OAAO,WAAW,CAAC;SACpB;QAED,OAAO;YACL,KAAK,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;SAC/B,CAAC;KACH;IAED,IAAI,WAAW,CAAC,KAAK,EAAE;QACrB,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO;YACL,GAAG,WAAW;YACd,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,2BAAmB,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACvE,CAAC;KACH;IAED,OAAO;QACL,GAAG,WAAW;QACd,GAAG,QAAQ;KACZ,CAAC;AACJ,CAAC,CAAC;AA3BW,QAAA,mBAAmB,uBA2B9B"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/create/schema/metadata.ts"],"names":[],"mappings":";;;AAIA,wBAAmD;AAE5C,MAAM,wBAAwB,GAAG,CAKtC,SAAsC,EACtC,KAAkB,EAC0B,EAAE;IAC9C,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,kBAAkB,EAAE,GACtE,SAAS,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,IAAA,eAAY,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;IAE1C,OAAO,IAAA,2BAAmB,EAAC,WAAW,EAAE;QACtC,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC;QACnC,GAAG,kBAAkB;KACtB,CAAC,CAAC;AACL,CAAC,CAAC;AAjBW,QAAA,wBAAwB,4BAiBnC;AAEK,MAAM,mBAAmB,GAAG,CACjC,WAAuD,EACvD,QAAoD,EACR,EAAE;IAC9C,IAAI,MAAM,IAAI,WAAW,EAAE;QACzB,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE;YAC7D,OAAO,WAAW,CAAC;SACpB;QAED,OAAO;YACL,KAAK,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;SAC/B,CAAC;KACH;IAED,OAAO;QACL,GAAG,WAAW;QACd,GAAG,QAAQ;KACZ,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,mBAAmB,uBAkB9B"}
@@ -42,10 +42,8 @@ const createExtendedSchema = (zodObject, baseZodObject, state) => {
42
42
  return undefined;
43
43
  }
44
44
  return {
45
- allOf: [
46
- { $ref: (0, components_1.createComponentSchemaRef)(completeComponent.ref) },
47
- (0, exports.createObjectSchemaFromShape)(diffShape, diffOpts, state),
48
- ],
45
+ allOf: [{ $ref: (0, components_1.createComponentSchemaRef)(completeComponent.ref) }],
46
+ ...(0, exports.createObjectSchemaFromShape)(diffShape, diffOpts, state),
49
47
  };
50
48
  };
51
49
  exports.createExtendedSchema = createExtendedSchema;
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/create/schema/object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/create/schema/object.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createPipelineSchema = void 0;
4
+ const errors_1 = require("../errors");
4
5
  const _1 = require(".");
5
6
  const createPipelineSchema = (zodPipeline, state) => {
7
+ if (zodPipeline._def.openapi?.effectType === 'input') {
8
+ return (0, _1.createSchemaOrRef)(zodPipeline._def.in, state);
9
+ }
10
+ if (zodPipeline._def.openapi?.effectType === 'output') {
11
+ return (0, _1.createSchemaOrRef)(zodPipeline._def.out, state);
12
+ }
6
13
  if (state.type === 'input') {
14
+ if (state.effectType === 'output') {
15
+ (0, errors_1.throwTransformError)(zodPipeline);
16
+ }
17
+ state.effectType = 'input';
7
18
  return (0, _1.createSchemaOrRef)(zodPipeline._def.in, state);
8
19
  }
20
+ if (state.effectType === 'input') {
21
+ (0, errors_1.throwTransformError)(zodPipeline);
22
+ }
23
+ state.effectType = 'output';
9
24
  return (0, _1.createSchemaOrRef)(zodPipeline._def.out, state);
10
25
  };
11
26
  exports.createPipelineSchema = createPipelineSchema;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/create/schema/pipeline.ts"],"names":[],"mappings":";;;AAIA,wBAAwD;AAEjD,MAAM,oBAAoB,GAAG,CAClC,WAAkC,EAClC,KAAkB,EAC0B,EAAE;IAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;QAC1B,OAAO,IAAA,oBAAiB,EAAC,WAAW,CAAC,IAAI,CAAC,EAAgB,EAAE,KAAK,CAAC,CAAC;KACpE;IACD,OAAO,IAAA,oBAAiB,EAAC,WAAW,CAAC,IAAI,CAAC,GAAiB,EAAE,KAAK,CAAC,CAAC;AACtE,CAAC,CAAC;AARW,QAAA,oBAAoB,wBAQ/B"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/create/schema/pipeline.ts"],"names":[],"mappings":";;;AAGA,sCAAgD;AAEhD,wBAAwD;AAEjD,MAAM,oBAAoB,GAAG,CAClC,WAAkC,EAClC,KAAkB,EAC0B,EAAE;IAC9C,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,EAAE;QACpD,OAAO,IAAA,oBAAiB,EAAC,WAAW,CAAC,IAAI,CAAC,EAAgB,EAAE,KAAK,CAAC,CAAC;KACpE;IAED,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,QAAQ,EAAE;QACrD,OAAO,IAAA,oBAAiB,EAAC,WAAW,CAAC,IAAI,CAAC,GAAiB,EAAE,KAAK,CAAC,CAAC;KACrE;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;QAC1B,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE;YACjC,IAAA,4BAAmB,EAAC,WAAW,CAAC,CAAC;SAClC;QACD,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;QAC3B,OAAO,IAAA,oBAAiB,EAAC,WAAW,CAAC,IAAI,CAAC,EAAgB,EAAE,KAAK,CAAC,CAAC;KACpE;IAED,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,EAAE;QAChC,IAAA,4BAAmB,EAAC,WAAW,CAAC,CAAC;KAClC;IACD,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC5B,OAAO,IAAA,oBAAiB,EAAC,WAAW,CAAC,IAAI,CAAC,GAAiB,EAAE,KAAK,CAAC,CAAC;AACtE,CAAC,CAAC;AAzBW,QAAA,oBAAoB,wBAyB/B"}
@@ -5,16 +5,19 @@ const errors_1 = require("../errors");
5
5
  const manual_1 = require("./manual");
6
6
  const _1 = require(".");
7
7
  const createTransformSchema = (zodTransform, state) => {
8
- const creationType = zodTransform._def.openapi?.effectType ?? state.type;
9
- if (creationType === 'output') {
8
+ if (zodTransform._def.openapi?.effectType === 'output') {
10
9
  return (0, manual_1.createManualTypeSchema)(zodTransform);
11
10
  }
12
- if (!zodTransform._def.openapi?.effectType && state.type === 'input') {
13
- if (state.effectType && state.effectType !== 'input') {
14
- (0, errors_1.throwTransformError)(zodTransform);
15
- }
16
- state.effectType = 'input';
11
+ if (zodTransform._def.openapi?.effectType === 'input') {
12
+ return (0, _1.createSchemaOrRef)(zodTransform._def.schema, state);
17
13
  }
14
+ if (state.type === 'output') {
15
+ return (0, manual_1.createManualTypeSchema)(zodTransform);
16
+ }
17
+ if (state.effectType === 'output') {
18
+ (0, errors_1.throwTransformError)(zodTransform);
19
+ }
20
+ state.effectType = 'input';
18
21
  return (0, _1.createSchemaOrRef)(zodTransform._def.schema, state);
19
22
  };
20
23
  exports.createTransformSchema = createTransformSchema;
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/create/schema/transform.ts"],"names":[],"mappings":";;;AAGA,sCAAgD;AAEhD,qCAAkD;AAElD,wBAAwD;AAEjD,MAAM,qBAAqB,GAAG,CACnC,YAAuC,EACvC,KAAkB,EAC0B,EAAE;IAC9C,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC;IACzE,IAAI,YAAY,KAAK,QAAQ,EAAE;QAC7B,OAAO,IAAA,+BAAsB,EAAC,YAAY,CAAC,CAAC;KAC7C;IAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;QACpE,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,EAAE;YACpD,IAAA,4BAAmB,EAAC,YAAY,CAAC,CAAC;SACnC;QACD,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;KAC5B;IACD,OAAO,IAAA,oBAAiB,EAAC,YAAY,CAAC,IAAI,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC;AACvE,CAAC,CAAC;AAhBW,QAAA,qBAAqB,yBAgBhC"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/create/schema/transform.ts"],"names":[],"mappings":";;;AAGA,sCAAgD;AAEhD,qCAAkD;AAElD,wBAAwD;AAEjD,MAAM,qBAAqB,GAAG,CACnC,YAAuC,EACvC,KAAkB,EAC0B,EAAE;IAC9C,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,QAAQ,EAAE;QACtD,OAAO,IAAA,+BAAsB,EAAC,YAAY,CAAC,CAAC;KAC7C;IAED,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,EAAE;QACrD,OAAO,IAAA,oBAAiB,EAAC,YAAY,CAAC,IAAI,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC;KACtE;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC3B,OAAO,IAAA,+BAAsB,EAAC,YAAY,CAAC,CAAC;KAC7C;IAED,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE;QACjC,IAAA,4BAAmB,EAAC,YAAY,CAAC,CAAC;KACnC;IACD,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;IAC3B,OAAO,IAAA,oBAAiB,EAAC,YAAY,CAAC,IAAI,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC;AACvE,CAAC,CAAC;AArBW,QAAA,qBAAqB,yBAqBhC"}
@@ -17,14 +17,6 @@ export const enhanceWithMetadata = (schemaOrRef, metadata) => {
17
17
  allOf: [schemaOrRef, metadata],
18
18
  };
19
19
  }
20
- if (schemaOrRef.allOf) {
21
- const rest = schemaOrRef.allOf.slice(0, -1);
22
- const end = schemaOrRef.allOf.at(-1);
23
- return {
24
- ...schemaOrRef,
25
- allOf: [...rest, ...(end ? [enhanceWithMetadata(end, metadata)] : [])],
26
- };
27
- }
28
20
  return {
29
21
  ...schemaOrRef,
30
22
  ...metadata,
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/create/schema/metadata.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,YAAY,EAAE,MAAM,GAAG,CAAC;AAEnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAKtC,SAAsC,EACtC,KAAkB,EAC0B,EAAE;IAC9C,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,kBAAkB,EAAE,GACtE,SAAS,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;IAE1C,OAAO,mBAAmB,CAAC,WAAW,EAAE;QACtC,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC;QACnC,GAAG,kBAAkB;KACtB,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,WAAuD,EACvD,QAAoD,EACR,EAAE;IAC9C,IAAI,MAAM,IAAI,WAAW,EAAE;QACzB,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE;YAC7D,OAAO,WAAW,CAAC;SACpB;QAED,OAAO;YACL,KAAK,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;SAC/B,CAAC;KACH;IAED,IAAI,WAAW,CAAC,KAAK,EAAE;QACrB,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO;YACL,GAAG,WAAW;YACd,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SACvE,CAAC;KACH;IAED,OAAO;QACL,GAAG,WAAW;QACd,GAAG,QAAQ;KACZ,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/create/schema/metadata.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,YAAY,EAAE,MAAM,GAAG,CAAC;AAEnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAKtC,SAAsC,EACtC,KAAkB,EAC0B,EAAE;IAC9C,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,kBAAkB,EAAE,GACtE,SAAS,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACnD,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;IAE1C,OAAO,mBAAmB,CAAC,WAAW,EAAE;QACtC,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC;QACnC,GAAG,kBAAkB;KACtB,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,WAAuD,EACvD,QAAoD,EACR,EAAE;IAC9C,IAAI,MAAM,IAAI,WAAW,EAAE;QACzB,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE;YAC7D,OAAO,WAAW,CAAC;SACpB;QAED,OAAO;YACL,KAAK,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC;SAC/B,CAAC;KACH;IAED,OAAO;QACL,GAAG,WAAW;QACd,GAAG,QAAQ;KACZ,CAAC;AACJ,CAAC,CAAC"}
@@ -38,10 +38,8 @@ export const createExtendedSchema = (zodObject, baseZodObject, state) => {
38
38
  return undefined;
39
39
  }
40
40
  return {
41
- allOf: [
42
- { $ref: createComponentSchemaRef(completeComponent.ref) },
43
- createObjectSchemaFromShape(diffShape, diffOpts, state),
44
- ],
41
+ allOf: [{ $ref: createComponentSchemaRef(completeComponent.ref) }],
42
+ ...createObjectSchemaFromShape(diffShape, diffOpts, state),
45
43
  };
46
44
  };
47
45
  const createDiffOpts = (baseOpts, extendedOpts) => {
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/create/schema/object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/create/schema/object.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,23 @@
1
+ import { throwTransformError } from '../errors';
1
2
  import { createSchemaOrRef } from '.';
2
3
  export const createPipelineSchema = (zodPipeline, state) => {
4
+ if (zodPipeline._def.openapi?.effectType === 'input') {
5
+ return createSchemaOrRef(zodPipeline._def.in, state);
6
+ }
7
+ if (zodPipeline._def.openapi?.effectType === 'output') {
8
+ return createSchemaOrRef(zodPipeline._def.out, state);
9
+ }
3
10
  if (state.type === 'input') {
11
+ if (state.effectType === 'output') {
12
+ throwTransformError(zodPipeline);
13
+ }
14
+ state.effectType = 'input';
4
15
  return createSchemaOrRef(zodPipeline._def.in, state);
5
16
  }
17
+ if (state.effectType === 'input') {
18
+ throwTransformError(zodPipeline);
19
+ }
20
+ state.effectType = 'output';
6
21
  return createSchemaOrRef(zodPipeline._def.out, state);
7
22
  };
8
23
  //# sourceMappingURL=pipeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/create/schema/pipeline.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAExD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,WAAkC,EAClC,KAAkB,EAC0B,EAAE;IAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;QAC1B,OAAO,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAgB,EAAE,KAAK,CAAC,CAAC;KACpE;IACD,OAAO,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,GAAiB,EAAE,KAAK,CAAC,CAAC;AACtE,CAAC,CAAC"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/create/schema/pipeline.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAoB,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAExD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,WAAkC,EAClC,KAAkB,EAC0B,EAAE;IAC9C,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,EAAE;QACpD,OAAO,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAgB,EAAE,KAAK,CAAC,CAAC;KACpE;IAED,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,QAAQ,EAAE;QACrD,OAAO,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,GAAiB,EAAE,KAAK,CAAC,CAAC;KACrE;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;QAC1B,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE;YACjC,mBAAmB,CAAC,WAAW,CAAC,CAAC;SAClC;QACD,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;QAC3B,OAAO,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAgB,EAAE,KAAK,CAAC,CAAC;KACpE;IAED,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,EAAE;QAChC,mBAAmB,CAAC,WAAW,CAAC,CAAC;KAClC;IACD,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC5B,OAAO,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,GAAiB,EAAE,KAAK,CAAC,CAAC;AACtE,CAAC,CAAC"}
@@ -2,16 +2,19 @@ import { throwTransformError } from '../errors';
2
2
  import { createManualTypeSchema } from './manual';
3
3
  import { createSchemaOrRef } from '.';
4
4
  export const createTransformSchema = (zodTransform, state) => {
5
- const creationType = zodTransform._def.openapi?.effectType ?? state.type;
6
- if (creationType === 'output') {
5
+ if (zodTransform._def.openapi?.effectType === 'output') {
7
6
  return createManualTypeSchema(zodTransform);
8
7
  }
9
- if (!zodTransform._def.openapi?.effectType && state.type === 'input') {
10
- if (state.effectType && state.effectType !== 'input') {
11
- throwTransformError(zodTransform);
12
- }
13
- state.effectType = 'input';
8
+ if (zodTransform._def.openapi?.effectType === 'input') {
9
+ return createSchemaOrRef(zodTransform._def.schema, state);
14
10
  }
11
+ if (state.type === 'output') {
12
+ return createManualTypeSchema(zodTransform);
13
+ }
14
+ if (state.effectType === 'output') {
15
+ throwTransformError(zodTransform);
16
+ }
17
+ state.effectType = 'input';
15
18
  return createSchemaOrRef(zodTransform._def.schema, state);
16
19
  };
17
20
  //# sourceMappingURL=transform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/create/schema/transform.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,EAAoB,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAExD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,YAAuC,EACvC,KAAkB,EAC0B,EAAE;IAC9C,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC;IACzE,IAAI,YAAY,KAAK,QAAQ,EAAE;QAC7B,OAAO,sBAAsB,CAAC,YAAY,CAAC,CAAC;KAC7C;IAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;QACpE,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,EAAE;YACpD,mBAAmB,CAAC,YAAY,CAAC,CAAC;SACnC;QACD,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;KAC5B;IACD,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC;AACvE,CAAC,CAAC"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/create/schema/transform.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,EAAoB,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAExD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,YAAuC,EACvC,KAAkB,EAC0B,EAAE;IAC9C,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,QAAQ,EAAE;QACtD,OAAO,sBAAsB,CAAC,YAAY,CAAC,CAAC;KAC7C;IAED,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,EAAE;QACrD,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC;KACtE;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC3B,OAAO,sBAAsB,CAAC,YAAY,CAAC,CAAC;KAC7C;IAED,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE;QACjC,mBAAmB,CAAC,YAAY,CAAC,CAAC;KACnC;IACD,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;IAC3B,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC;AACvE,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zod-openapi",
3
- "version": "2.2.1",
3
+ "version": "2.2.3",
4
4
  "description": "A library to create full OpenAPI documents from your Zod types",
5
5
  "homepage": "https://github.com/samchungy/zod-openapi#readme",
6
6
  "bugs": {
@@ -27,6 +27,7 @@
27
27
  "create:docs": " skuba node examples/simple/createSchema.ts && redocly build-docs examples/simple/openapi.yml --output=examples/simple/redoc-static.html",
28
28
  "format": "skuba format",
29
29
  "lint": "skuba lint",
30
+ "prepare": "yarn build",
30
31
  "release": "yarn build && npm publish",
31
32
  "test": "skuba test",
32
33
  "test:ci": "skuba test --coverage",
@@ -35,7 +36,7 @@
35
36
  "dependencies": {},
36
37
  "devDependencies": {
37
38
  "@redocly/cli": "1.0.0-beta.125",
38
- "@types/node": "^18.15.13",
39
+ "@types/node": "^20.1.0",
39
40
  "eslint-plugin-zod-openapi": "^0.1.0",
40
41
  "openapi3-ts": "^4.1.2",
41
42
  "skuba": "6.1.0",