zod-openapi 2.3.1 → 2.3.2

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.
@@ -3,15 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createParametersObject = exports.createManualParameters = exports.createParamOrRef = exports.createBaseParameter = exports.createComponentParamRef = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const schema_1 = require("./schema");
6
+ const optional_1 = require("./schema/optional");
6
7
  const createComponentParamRef = (ref) => `#/components/parameters/${ref}`;
7
8
  exports.createComponentParamRef = createComponentParamRef;
8
9
  const createBaseParameter = (schema, components) => {
9
10
  const { ref, ...rest } = schema._def.openapi?.param ?? {};
10
- const schemaOrRef = (0, schema_1.createSchemaOrRef)(schema, {
11
+ const state = {
11
12
  components,
12
13
  type: 'input',
13
- });
14
- const required = !schema.isOptional();
14
+ };
15
+ const schemaOrRef = (0, schema_1.createSchemaOrRef)(schema, state);
16
+ const required = !(0, optional_1.isOptionalSchema)(schema, state);
15
17
  return {
16
18
  ...rest,
17
19
  ...(schema && { schema: schemaOrRef }),
@@ -1 +1 @@
1
- {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/create/parameters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/create/parameters.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ const zod_1 = require("zod");
5
5
  const components_1 = require("./components");
6
6
  const content_1 = require("./content");
7
7
  const schema_1 = require("./schema");
8
+ const optional_1 = require("./schema/optional");
8
9
  const specificationExtension_1 = require("./specificationExtension");
9
10
  const createResponseHeaders = (responseHeaders, components) => {
10
11
  if (!responseHeaders) {
@@ -47,11 +48,12 @@ const createHeaderOrRef = (schema, components) => {
47
48
  exports.createHeaderOrRef = createHeaderOrRef;
48
49
  const createBaseHeader = (schema, components) => {
49
50
  const { ref, ...rest } = schema._def.openapi?.header ?? {};
50
- const schemaOrRef = (0, schema_1.createSchemaOrRef)(schema, {
51
+ const state = {
51
52
  components,
52
- type: 'input',
53
- });
54
- const required = !schema.isOptional();
53
+ type: 'output',
54
+ };
55
+ const schemaOrRef = (0, schema_1.createSchemaOrRef)(schema, state);
56
+ const required = !(0, optional_1.isOptionalSchema)(schema, state);
55
57
  return {
56
58
  ...rest,
57
59
  ...(schema && { schema: schemaOrRef }),
@@ -1 +1 @@
1
- {"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/create/responses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/create/responses.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mapProperties = exports.mapRequired = exports.createObjectSchemaFromShape = exports.createExtendedSchema = exports.createObjectSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const components_1 = require("../components");
6
+ const optional_1 = require("./optional");
6
7
  const _1 = require(".");
7
8
  const createObjectSchema = (zodObject, state) => {
8
9
  const extendedSchema = (0, exports.createExtendedSchema)(zodObject, zodObject._def.extendMetadata?.extends, state);
@@ -75,16 +76,16 @@ const createShapeDiff = (baseObj, extendedObj) => {
75
76
  const createObjectSchemaFromShape = (shape, { unknownKeys, catchAll }, state) => ({
76
77
  type: 'object',
77
78
  properties: (0, exports.mapProperties)(shape, state),
78
- required: (0, exports.mapRequired)(shape),
79
+ required: (0, exports.mapRequired)(shape, state),
79
80
  ...(unknownKeys === 'strict' && { additionalProperties: false }),
80
81
  ...(!(catchAll instanceof zod_1.ZodNever) && {
81
82
  additionalProperties: (0, _1.createSchemaOrRef)(catchAll, state),
82
83
  }),
83
84
  });
84
85
  exports.createObjectSchemaFromShape = createObjectSchemaFromShape;
85
- const mapRequired = (shape) => {
86
+ const mapRequired = (shape, state) => {
86
87
  const required = Object.entries(shape)
87
- .filter(([_key, zodSchema]) => !zodSchema.isOptional())
88
+ .filter(([_key, zodSchema]) => !(0, optional_1.isOptionalSchema)(zodSchema, state))
88
89
  .map(([key]) => key);
89
90
  if (!required.length) {
90
91
  return undefined;
@@ -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":";;;AAAA,6BAMa;AAGb,8CAAyD;AAEzD,yCAA8C;AAE9C,wBAAwD;AAEjD,MAAM,kBAAkB,GAAG,CAIhC,SAAmD,EACnD,KAAkB,EACE,EAAE;IACtB,MAAM,cAAc,GAAG,IAAA,4BAAoB,EACzC,SAAS,EACT,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,EACtC,KAAK,CACN,CAAC;IAEF,IAAI,cAAc,EAAE;QAClB,OAAO,cAAc,CAAC;KACvB;IAED,OAAO,IAAA,mCAA2B,EAChC,SAAS,CAAC,KAAK,EACf;QACE,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW;QACvC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,QAAmB;KAC7C,EACD,KAAK,CACN,CAAC;AACJ,CAAC,CAAC;AAzBW,QAAA,kBAAkB,sBAyB7B;AAEK,MAAM,oBAAoB,GAAG,CAClC,SAA6C,EAC7C,aAA6D,EAC7D,KAAkB,EACc,EAAE;IAClC,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC9D,IAAI,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;QAChD,IAAA,oBAAiB,EAAC,aAAa,EAAE,KAAK,CAAC,CAAC;KACzC;IAED,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACtE,IAAI,CAAC,iBAAiB,EAAE;QACtB,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,QAAQ,GAAG,cAAc,CAC7B;QACE,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,WAA+B;QAC/D,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,QAAmB;KACjD,EACD;QACE,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,WAA+B;QAC3D,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,QAAmB;KAC7C,CACF,CAAC;IACF,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,SAAS,GAAG,eAAe,CAC/B,aAAa,CAAC,IAAI,CAAC,KAAK,EAAiB,EACzC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAiB,CACtC,CAAC;IAEF,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,SAAS,CAAC;KAClB;IAED,OAAO;QACL,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,IAAA,qCAAwB,EAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,GAAG,IAAA,mCAA2B,EAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC;KAC3D,CAAC;AACJ,CAAC,CAAC;AA9CW,QAAA,oBAAoB,wBA8C/B;AAEF,MAAM,cAAc,GAAG,CACrB,QAAmC,EACnC,YAAuC,EACA,EAAE;IACzC,IACE,QAAQ,CAAC,WAAW,KAAK,QAAQ;QACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,YAAY,cAAQ,CAAC,EACxC;QACA,OAAO,SAAS,CAAC;KAClB;IAED,OAAO;QACL,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,WAAW,EAAE,YAAY,CAAC,WAAW;KACtC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACtB,OAAoB,EACpB,WAAwB,EACJ,EAAE;IACtB,MAAM,GAAG,GAAgB,EAAE,CAAC;IAE5B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;QACpD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,SAAS;SACV;QAED,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC5B,SAAS;SACV;QAED,OAAO,IAAI,CAAC;KACb;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAOK,MAAM,2BAA2B,GAAG,CACzC,KAAkB,EAClB,EAAE,WAAW,EAAE,QAAQ,EAA6B,EACpD,KAAkB,EACE,EAAE,CAAC,CAAC;IACxB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,IAAA,qBAAa,EAAC,KAAK,EAAE,KAAK,CAAC;IACvC,QAAQ,EAAE,IAAA,mBAAW,EAAC,KAAK,EAAE,KAAK,CAAC;IACnC,GAAG,CAAC,WAAW,KAAK,QAAQ,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;IAChE,GAAG,CAAC,CAAC,CAAC,QAAQ,YAAY,cAAQ,CAAC,IAAI;QACrC,oBAAoB,EAAE,IAAA,oBAAiB,EAAC,QAAQ,EAAE,KAAK,CAAC;KACzD,CAAC;CACH,CAAC,CAAC;AAZU,QAAA,2BAA2B,+BAYrC;AAEI,MAAM,WAAW,GAAG,CACzB,KAAkB,EAClB,KAAkB,EACc,EAAE;IAClC,MAAM,QAAQ,GAAa,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SAC7C,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,2BAAgB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SAClE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAEvB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;QACpB,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAbW,QAAA,WAAW,eAatB;AAEK,MAAM,aAAa,GAAG,CAC3B,KAAkB,EAClB,KAAkB,EACgB,EAAE,CACpC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAC1B,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,EAAiD,EAAE;IACvE,GAAG,CAAC,GAAG,CAAC,GAAG,IAAA,oBAAiB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/C,OAAO,GAAG,CAAC;AACb,CAAC,EACD,EAAE,CACH,CAAC;AAVS,QAAA,aAAa,iBAUtB"}
@@ -1,9 +1,46 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createOptionalSchema = void 0;
3
+ exports.isOptionalSchema = exports.createOptionalSchema = void 0;
4
+ const zod_1 = require("zod");
4
5
  const _1 = require(".");
5
6
  const createOptionalSchema = (zodOptional, state) =>
6
7
  // Optional doesn't change OpenAPI schema
7
8
  (0, _1.createSchemaOrRef)(zodOptional.unwrap(), state);
8
9
  exports.createOptionalSchema = createOptionalSchema;
10
+ const isOptionalSchema = (zodSchema, state) => {
11
+ if (zodSchema instanceof zod_1.ZodOptional) {
12
+ return true;
13
+ }
14
+ if (zodSchema instanceof zod_1.ZodNullable ||
15
+ zodSchema instanceof zod_1.ZodDefault ||
16
+ zodSchema instanceof zod_1.ZodDefault ||
17
+ zodSchema instanceof zod_1.ZodCatch) {
18
+ return (0, exports.isOptionalSchema)(zodSchema._def.innerType, state);
19
+ }
20
+ if (zodSchema instanceof zod_1.ZodEffects) {
21
+ return (0, exports.isOptionalSchema)(zodSchema._def.schema, state);
22
+ }
23
+ if (zodSchema instanceof zod_1.ZodUnion ||
24
+ zodSchema instanceof zod_1.ZodDiscriminatedUnion) {
25
+ return zodSchema._def.options.some((schema) => (0, exports.isOptionalSchema)(schema, state));
26
+ }
27
+ if (zodSchema instanceof zod_1.ZodIntersection) {
28
+ return [zodSchema._def.left, zodSchema._def.right].some((schema) => (0, exports.isOptionalSchema)(schema, state));
29
+ }
30
+ if (zodSchema instanceof zod_1.ZodPipeline) {
31
+ if (state.effectType === 'input' ||
32
+ (state.type === 'input' && state.effectType !== 'output')) {
33
+ return (0, exports.isOptionalSchema)(zodSchema._def.in, state);
34
+ }
35
+ if (state.effectType === 'output' ||
36
+ (state.type === 'output' && state.effectType !== 'input')) {
37
+ return (0, exports.isOptionalSchema)(zodSchema._def.out, state);
38
+ }
39
+ }
40
+ if (zodSchema instanceof zod_1.ZodLazy) {
41
+ return (0, exports.isOptionalSchema)(zodSchema._def.getter(), state);
42
+ }
43
+ return zodSchema.isOptional();
44
+ };
45
+ exports.isOptionalSchema = isOptionalSchema;
9
46
  //# sourceMappingURL=optional.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"optional.js","sourceRoot":"","sources":["../../../src/create/schema/optional.ts"],"names":[],"mappings":";;;AAIA,wBAAwD;AAEjD,MAAM,oBAAoB,GAAG,CAClC,WAA6B,EAC7B,KAAkB,EAC0B,EAAE;AAC9C,yCAAyC;AACzC,IAAA,oBAAiB,EAAC,WAAW,CAAC,MAAM,EAAgB,EAAE,KAAK,CAAC,CAAC;AALlD,QAAA,oBAAoB,wBAK8B"}
1
+ {"version":3,"file":"optional.js","sourceRoot":"","sources":["../../../src/create/schema/optional.ts"],"names":[],"mappings":";;;AAAA,6BAaa;AAIb,wBAAwD;AAEjD,MAAM,oBAAoB,GAAG,CAClC,WAA6B,EAC7B,KAAkB,EAC0B,EAAE;AAC9C,yCAAyC;AACzC,IAAA,oBAAiB,EAAC,WAAW,CAAC,MAAM,EAAgB,EAAE,KAAK,CAAC,CAAC;AALlD,QAAA,oBAAoB,wBAK8B;AAExD,MAAM,gBAAgB,GAAG,CAC9B,SAAqB,EACrB,KAAkB,EACT,EAAE;IACX,IAAI,SAAS,YAAY,iBAAW,EAAE;QACpC,OAAO,IAAI,CAAC;KACb;IAED,IACE,SAAS,YAAY,iBAAW;QAChC,SAAS,YAAY,gBAAU;QAC/B,SAAS,YAAY,gBAAU;QAC/B,SAAS,YAAY,cAAQ,EAC7B;QACA,OAAO,IAAA,wBAAgB,EAAC,SAAS,CAAC,IAAI,CAAC,SAAuB,EAAE,KAAK,CAAC,CAAC;KACxE;IAED,IAAI,SAAS,YAAY,gBAAU,EAAE;QACnC,OAAO,IAAA,wBAAgB,EAAC,SAAS,CAAC,IAAI,CAAC,MAAoB,EAAE,KAAK,CAAC,CAAC;KACrE;IAED,IACE,SAAS,YAAY,cAAQ;QAC7B,SAAS,YAAY,2BAAqB,EAC1C;QACA,OAAQ,SAAS,CAAC,IAAI,CAAC,OAAwB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAC9D,IAAA,wBAAgB,EAAC,MAAM,EAAE,KAAK,CAAC,CAChC,CAAC;KACH;IAED,IAAI,SAAS,YAAY,qBAAe,EAAE;QACxC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACjE,IAAA,wBAAgB,EAAC,MAAoB,EAAE,KAAK,CAAC,CAC9C,CAAC;KACH;IAED,IAAI,SAAS,YAAY,iBAAW,EAAE;QACpC,IACE,KAAK,CAAC,UAAU,KAAK,OAAO;YAC5B,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,EACzD;YACA,OAAO,IAAA,wBAAgB,EAAC,SAAS,CAAC,IAAI,CAAC,EAAgB,EAAE,KAAK,CAAC,CAAC;SACjE;QAED,IACE,KAAK,CAAC,UAAU,KAAK,QAAQ;YAC7B,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,CAAC,EACzD;YACA,OAAO,IAAA,wBAAgB,EAAC,SAAS,CAAC,IAAI,CAAC,GAAiB,EAAE,KAAK,CAAC,CAAC;SAClE;KACF;IAED,IAAI,SAAS,YAAY,aAAO,EAAE;QAChC,OAAO,IAAA,wBAAgB,EAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAa,EAAE,KAAK,CAAC,CAAC;KACpE;IAED,OAAO,SAAS,CAAC,UAAU,EAAE,CAAC;AAChC,CAAC,CAAC;AAzDW,QAAA,gBAAgB,oBAyD3B"}
@@ -1,13 +1,15 @@
1
1
  import { ZodType } from 'zod';
2
2
  import { createSchemaOrRef } from './schema';
3
+ import { isOptionalSchema } from './schema/optional';
3
4
  export const createComponentParamRef = (ref) => `#/components/parameters/${ref}`;
4
5
  export const createBaseParameter = (schema, components) => {
5
6
  const { ref, ...rest } = schema._def.openapi?.param ?? {};
6
- const schemaOrRef = createSchemaOrRef(schema, {
7
+ const state = {
7
8
  components,
8
9
  type: 'input',
9
- });
10
- const required = !schema.isOptional();
10
+ };
11
+ const schemaOrRef = createSchemaOrRef(schema, state);
12
+ const required = !isOptionalSchema(schema, state);
11
13
  return {
12
14
  ...rest,
13
15
  ...(schema && { schema: schemaOrRef }),
@@ -1 +1 @@
1
- {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/create/parameters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/create/parameters.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { ZodType } from 'zod';
2
2
  import { createComponentResponseRef, } from './components';
3
3
  import { createContent } from './content';
4
4
  import { createSchemaOrRef } from './schema';
5
+ import { isOptionalSchema } from './schema/optional';
5
6
  import { isISpecificationExtension } from './specificationExtension';
6
7
  export const createResponseHeaders = (responseHeaders, components) => {
7
8
  if (!responseHeaders) {
@@ -42,11 +43,12 @@ export const createHeaderOrRef = (schema, components) => {
42
43
  };
43
44
  export const createBaseHeader = (schema, components) => {
44
45
  const { ref, ...rest } = schema._def.openapi?.header ?? {};
45
- const schemaOrRef = createSchemaOrRef(schema, {
46
+ const state = {
46
47
  components,
47
- type: 'input',
48
- });
49
- const required = !schema.isOptional();
48
+ type: 'output',
49
+ };
50
+ const schemaOrRef = createSchemaOrRef(schema, state);
51
+ const required = !isOptionalSchema(schema, state);
50
52
  return {
51
53
  ...rest,
52
54
  ...(schema && { schema: schemaOrRef }),
@@ -1 +1 @@
1
- {"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/create/responses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/create/responses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,OAAO,EAAE,MAAM,KAAK,CAAC;AAInE,OAAO,EAEL,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAK1C,OAAO,EAAoB,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,eAIa,EACb,UAA4B,EACK,EAAE;IACnC,IAAI,CAAC,eAAe,EAAE;QACpB,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,eAAe,YAAY,OAAO,EAAE;QACtC,OAAO,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,KAAoB,CAAC,CAAC,MAAM,CAEhE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,SAAS,CAAoB,EAAE,EAAE;YAC7C,GAAG,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YACpD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;IAED,OAAO,eAAkD,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,MAAe,EACf,UAA4B,EACuB,EAAE;IACrD,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjD,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE;QAC9C,OAAO;YACL,IAAI,EAAE,wBAAwB,CAAC,SAAS,CAAC,GAAG,CAAC;SAC9C,CAAC;KACH;IAED,iDAAiD;IACjD,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxD,IAAI,MAAM,IAAI,UAAU,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;KAClE;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,SAAS,EAAE,GAAG,CAAC;IAEhE,IAAI,GAAG,EAAE;QACP,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;YAC7B,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE,UAAU;YACxB,GAAG;SACJ,CAAC,CAAC;QACH,OAAO;YACL,IAAI,EAAE,wBAAwB,CAAC,GAAG,CAAC;SACpC,CAAC;KACH;IAED,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,MAAe,EACf,UAA4B,EACD,EAAE;IAC7B,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC;IAC3D,MAAM,KAAK,GAAgB;QACzB,UAAU;QACV,IAAI,EAAE,QAAQ;KACf,CAAC;IACF,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClD,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACtC,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;KAC9B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAW,EAAE,EAAE,CACtD,wBAAwB,GAAG,EAAE,CAAC;AAEhC,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,cAAgE,EAChE,UAA4B,EACkB,EAAE;IAChD,IAAI,MAAM,IAAI,cAAc,EAAE;QAC5B,OAAO,cAAc,CAAC;KACvB;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC3D,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE;QAC9C,OAAO,EAAE,IAAI,EAAE,0BAA0B,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;KAC5D;IAED,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,cAAc,CAAC;IAE1D,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAEhE,MAAM,QAAQ,GAAyB;QACrC,GAAG,IAAI;QACP,GAAG,CAAC,YAAY,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAC9C,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;KAC1E,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,IAAI,SAAS,EAAE,GAAG,CAAC;IAE1C,IAAI,WAAW,EAAE;QACf,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,EAAE;YACvC,cAAc,EAAE,QAAQ;YACxB,GAAG,EAAE,WAAW;YAChB,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QACH,OAAO;YACL,IAAI,EAAE,0BAA0B,CAAC,WAAW,CAAC;SAC9C,CAAC;KACH;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,eAA0C,EAC1C,UAA4B,EACL,EAAE,CACzB,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM,CACpC,CACE,GAAG,EACH,CAAC,IAAI,EAAE,cAAc,CAGpB,EACsB,EAAE;IACzB,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE;QACnC,GAAG,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;QAC3B,OAAO,GAAG,CAAC;KACZ;IACD,GAAG,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;IACvD,OAAO,GAAG,CAAC;AACb,CAAC,EACD,EAAE,CACH,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { ZodNever, } from 'zod';
2
2
  import { createComponentSchemaRef } from '../components';
3
+ import { isOptionalSchema } from './optional';
3
4
  import { createSchemaOrRef } from '.';
4
5
  export const createObjectSchema = (zodObject, state) => {
5
6
  const extendedSchema = createExtendedSchema(zodObject, zodObject._def.extendMetadata?.extends, state);
@@ -70,15 +71,15 @@ const createShapeDiff = (baseObj, extendedObj) => {
70
71
  export const createObjectSchemaFromShape = (shape, { unknownKeys, catchAll }, state) => ({
71
72
  type: 'object',
72
73
  properties: mapProperties(shape, state),
73
- required: mapRequired(shape),
74
+ required: mapRequired(shape, state),
74
75
  ...(unknownKeys === 'strict' && { additionalProperties: false }),
75
76
  ...(!(catchAll instanceof ZodNever) && {
76
77
  additionalProperties: createSchemaOrRef(catchAll, state),
77
78
  }),
78
79
  });
79
- export const mapRequired = (shape) => {
80
+ export const mapRequired = (shape, state) => {
80
81
  const required = Object.entries(shape)
81
- .filter(([_key, zodSchema]) => !zodSchema.isOptional())
82
+ .filter(([_key, zodSchema]) => !isOptionalSchema(zodSchema, state))
82
83
  .map(([key]) => key);
83
84
  if (!required.length) {
84
85
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/create/schema/object.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,GAIT,MAAM,KAAK,CAAC;AAGb,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,EAAoB,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAExD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAIhC,SAAmD,EACnD,KAAkB,EACE,EAAE;IACtB,MAAM,cAAc,GAAG,oBAAoB,CACzC,SAAS,EACT,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,EACtC,KAAK,CACN,CAAC;IAEF,IAAI,cAAc,EAAE;QAClB,OAAO,cAAc,CAAC;KACvB;IAED,OAAO,2BAA2B,CAChC,SAAS,CAAC,KAAK,EACf;QACE,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW;QACvC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,QAAmB;KAC7C,EACD,KAAK,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,SAA6C,EAC7C,aAA6D,EAC7D,KAAkB,EACc,EAAE;IAClC,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC9D,IAAI,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;QAChD,iBAAiB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;KACzC;IAED,MAAM,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACtE,IAAI,CAAC,iBAAiB,EAAE;QACtB,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,QAAQ,GAAG,cAAc,CAC7B;QACE,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,WAA+B;QAC/D,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,QAAmB;KACjD,EACD;QACE,WAAW,EAAE,SAAS,CAAC,IAAI,CAAC,WAA+B;QAC3D,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,QAAmB;KAC7C,CACF,CAAC;IACF,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,SAAS,GAAG,eAAe,CAC/B,aAAa,CAAC,IAAI,CAAC,KAAK,EAAiB,EACzC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAiB,CACtC,CAAC;IAEF,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,SAAS,CAAC;KAClB;IAED,OAAO;QACL,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,wBAAwB,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;QAClE,GAAG,2BAA2B,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC;KAC3D,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,QAAmC,EACnC,YAAuC,EACA,EAAE;IACzC,IACE,QAAQ,CAAC,WAAW,KAAK,QAAQ;QACjC,CAAC,CAAC,QAAQ,CAAC,QAAQ,YAAY,QAAQ,CAAC,EACxC;QACA,OAAO,SAAS,CAAC;KAClB;IAED,OAAO;QACL,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,WAAW,EAAE,YAAY,CAAC,WAAW;KACtC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACtB,OAAoB,EACpB,WAAwB,EACJ,EAAE;IACtB,MAAM,GAAG,GAAgB,EAAE,CAAC;IAE5B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;QACpD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,SAAS;SACV;QAED,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAC5B,SAAS;SACV;QAED,OAAO,IAAI,CAAC;KACb;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,KAAkB,EAClB,EAAE,WAAW,EAAE,QAAQ,EAA6B,EACpD,KAAkB,EACE,EAAE,CAAC,CAAC;IACxB,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC;IACvC,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC;IAC5B,GAAG,CAAC,WAAW,KAAK,QAAQ,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;IAChE,GAAG,CAAC,CAAC,CAAC,QAAQ,YAAY,QAAQ,CAAC,IAAI;QACrC,oBAAoB,EAAE,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC;KACzD,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,KAAkB,EACc,EAAE;IAClC,MAAM,QAAQ,GAAa,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SAC7C,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;SACtD,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IAEvB,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;QACpB,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,KAAkB,EAClB,KAAkB,EACgB,EAAE,CACpC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAC1B,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,EAAiD,EAAE;IACvE,GAAG,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/C,OAAO,GAAG,CAAC;AACb,CAAC,EACD,EAAE,CACH,CAAC"}
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/create/schema/object.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,41 @@
1
+ import { ZodCatch, ZodDefault, ZodDiscriminatedUnion, ZodEffects, ZodIntersection, ZodLazy, ZodNullable, ZodOptional, ZodPipeline, ZodUnion, } from 'zod';
1
2
  import { createSchemaOrRef } from '.';
2
3
  export const createOptionalSchema = (zodOptional, state) =>
3
4
  // Optional doesn't change OpenAPI schema
4
5
  createSchemaOrRef(zodOptional.unwrap(), state);
6
+ export const isOptionalSchema = (zodSchema, state) => {
7
+ if (zodSchema instanceof ZodOptional) {
8
+ return true;
9
+ }
10
+ if (zodSchema instanceof ZodNullable ||
11
+ zodSchema instanceof ZodDefault ||
12
+ zodSchema instanceof ZodDefault ||
13
+ zodSchema instanceof ZodCatch) {
14
+ return isOptionalSchema(zodSchema._def.innerType, state);
15
+ }
16
+ if (zodSchema instanceof ZodEffects) {
17
+ return isOptionalSchema(zodSchema._def.schema, state);
18
+ }
19
+ if (zodSchema instanceof ZodUnion ||
20
+ zodSchema instanceof ZodDiscriminatedUnion) {
21
+ return zodSchema._def.options.some((schema) => isOptionalSchema(schema, state));
22
+ }
23
+ if (zodSchema instanceof ZodIntersection) {
24
+ return [zodSchema._def.left, zodSchema._def.right].some((schema) => isOptionalSchema(schema, state));
25
+ }
26
+ if (zodSchema instanceof ZodPipeline) {
27
+ if (state.effectType === 'input' ||
28
+ (state.type === 'input' && state.effectType !== 'output')) {
29
+ return isOptionalSchema(zodSchema._def.in, state);
30
+ }
31
+ if (state.effectType === 'output' ||
32
+ (state.type === 'output' && state.effectType !== 'input')) {
33
+ return isOptionalSchema(zodSchema._def.out, state);
34
+ }
35
+ }
36
+ if (zodSchema instanceof ZodLazy) {
37
+ return isOptionalSchema(zodSchema._def.getter(), state);
38
+ }
39
+ return zodSchema.isOptional();
40
+ };
5
41
  //# sourceMappingURL=optional.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"optional.js","sourceRoot":"","sources":["../../../src/create/schema/optional.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAExD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,WAA6B,EAC7B,KAAkB,EAC0B,EAAE;AAC9C,yCAAyC;AACzC,iBAAiB,CAAC,WAAW,CAAC,MAAM,EAAgB,EAAE,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"optional.js","sourceRoot":"","sources":["../../../src/create/schema/optional.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,UAAU,EACV,qBAAqB,EACrB,UAAU,EACV,eAAe,EACf,OAAO,EACP,WAAW,EACX,WAAW,EACX,WAAW,EAGX,QAAQ,GACT,MAAM,KAAK,CAAC;AAIb,OAAO,EAAoB,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAExD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,WAA6B,EAC7B,KAAkB,EAC0B,EAAE;AAC9C,yCAAyC;AACzC,iBAAiB,CAAC,WAAW,CAAC,MAAM,EAAgB,EAAE,KAAK,CAAC,CAAC;AAE/D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,SAAqB,EACrB,KAAkB,EACT,EAAE;IACX,IAAI,SAAS,YAAY,WAAW,EAAE;QACpC,OAAO,IAAI,CAAC;KACb;IAED,IACE,SAAS,YAAY,WAAW;QAChC,SAAS,YAAY,UAAU;QAC/B,SAAS,YAAY,UAAU;QAC/B,SAAS,YAAY,QAAQ,EAC7B;QACA,OAAO,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,SAAuB,EAAE,KAAK,CAAC,CAAC;KACxE;IAED,IAAI,SAAS,YAAY,UAAU,EAAE;QACnC,OAAO,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAoB,EAAE,KAAK,CAAC,CAAC;KACrE;IAED,IACE,SAAS,YAAY,QAAQ;QAC7B,SAAS,YAAY,qBAAqB,EAC1C;QACA,OAAQ,SAAS,CAAC,IAAI,CAAC,OAAwB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAC9D,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAChC,CAAC;KACH;IAED,IAAI,SAAS,YAAY,eAAe,EAAE;QACxC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACjE,gBAAgB,CAAC,MAAoB,EAAE,KAAK,CAAC,CAC9C,CAAC;KACH;IAED,IAAI,SAAS,YAAY,WAAW,EAAE;QACpC,IACE,KAAK,CAAC,UAAU,KAAK,OAAO;YAC5B,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,EACzD;YACA,OAAO,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAgB,EAAE,KAAK,CAAC,CAAC;SACjE;QAED,IACE,KAAK,CAAC,UAAU,KAAK,QAAQ;YAC7B,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,CAAC,EACzD;YACA,OAAO,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,GAAiB,EAAE,KAAK,CAAC,CAAC;SAClE;KACF;IAED,IAAI,SAAS,YAAY,OAAO,EAAE;QAChC,OAAO,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAa,EAAE,KAAK,CAAC,CAAC;KACpE;IAED,OAAO,SAAS,CAAC,UAAU,EAAE,CAAC;AAChC,CAAC,CAAC"}
@@ -8,6 +8,6 @@ interface AdditionalPropertyOptions {
8
8
  catchAll: ZodType;
9
9
  }
10
10
  export declare const createObjectSchemaFromShape: (shape: ZodRawShape, { unknownKeys, catchAll }: AdditionalPropertyOptions, state: SchemaState) => oas31.SchemaObject;
11
- export declare const mapRequired: (shape: ZodRawShape) => oas31.SchemaObject['required'];
11
+ export declare const mapRequired: (shape: ZodRawShape, state: SchemaState) => oas31.SchemaObject['required'];
12
12
  export declare const mapProperties: (shape: ZodRawShape, state: SchemaState) => oas31.SchemaObject['properties'];
13
13
  export {};
@@ -1,4 +1,5 @@
1
- import type { ZodOptional } from 'zod';
1
+ import { ZodOptional, type ZodTypeAny } from 'zod';
2
2
  import type { oas31 } from '../../openapi3-ts/dist';
3
3
  import { type SchemaState } from '.';
4
4
  export declare const createOptionalSchema: (zodOptional: ZodOptional<any>, state: SchemaState) => oas31.SchemaObject | oas31.ReferenceObject;
5
+ export declare const isOptionalSchema: (zodSchema: ZodTypeAny, state: SchemaState) => boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zod-openapi",
3
- "version": "2.3.1",
3
+ "version": "2.3.2",
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": {