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.
- package/lib-commonjs/create/parameters.js +5 -3
- package/lib-commonjs/create/parameters.js.map +1 -1
- package/lib-commonjs/create/responses.js +6 -4
- package/lib-commonjs/create/responses.js.map +1 -1
- package/lib-commonjs/create/schema/object.js +4 -3
- package/lib-commonjs/create/schema/object.js.map +1 -1
- package/lib-commonjs/create/schema/optional.js +38 -1
- package/lib-commonjs/create/schema/optional.js.map +1 -1
- package/lib-es2015/create/parameters.js +5 -3
- package/lib-es2015/create/parameters.js.map +1 -1
- package/lib-es2015/create/responses.js +6 -4
- package/lib-es2015/create/responses.js.map +1 -1
- package/lib-es2015/create/schema/object.js +4 -3
- package/lib-es2015/create/schema/object.js.map +1 -1
- package/lib-es2015/create/schema/optional.js +36 -0
- package/lib-es2015/create/schema/optional.js.map +1 -1
- package/lib-types/create/schema/object.d.ts +1 -1
- package/lib-types/create/schema/optional.d.ts +2 -1
- package/package.json +1 -1
|
@@ -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
|
|
11
|
+
const state = {
|
|
11
12
|
components,
|
|
12
13
|
type: 'input',
|
|
13
|
-
}
|
|
14
|
-
const
|
|
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":";;;AAAA,6BAA8B;AAO9B,
|
|
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
|
|
51
|
+
const state = {
|
|
51
52
|
components,
|
|
52
|
-
type: '
|
|
53
|
-
}
|
|
54
|
-
const
|
|
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":";;;AAAA,6BAAmE;AAInE,6CAGsB;AACtB,uCAA0C;AAK1C,
|
|
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]) => !
|
|
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":"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"}
|
|
@@ -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":";;;
|
|
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
|
|
7
|
+
const state = {
|
|
7
8
|
components,
|
|
8
9
|
type: 'input',
|
|
9
|
-
}
|
|
10
|
-
const
|
|
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":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAO9B,OAAO,
|
|
1
|
+
{"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/create/parameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAO9B,OAAO,EAAoB,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,GAAW,EAAE,EAAE,CACrD,2BAA2B,GAAG,EAAE,CAAC;AAEnC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,MAAe,EACf,UAA4B,EACD,EAAE;IAC7B,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;IAC1D,MAAM,KAAK,GAAgB;QACzB,UAAU;QACV,IAAI,EAAE,OAAO;KACd,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,gBAAgB,GAAG,CAC9B,SAAkB,EAClB,UAA4B,EAC5B,IAAiC,EACjC,IAAa,EACkC,EAAE;IACjD,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,SAAS,EAAE,EAAE,IAAI,IAAI,CAAC;IAC9E,MAAM,SAAS,GACb,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,IAAI,SAAS,EAAE,IAAI,IAAI,IAAI,CAAC;IAElE,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;IAED,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;IAED,IAAI,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE;QAC9C,IACE,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,WAAW,CAAC;YAClC,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,EAClD;YACA,MAAM,IAAI,KAAK,CAAC,iBAAiB,SAAS,CAAC,GAAG,yBAAyB,CAAC,CAAC;SAC1E;QACD,OAAO;YACL,IAAI,EAAE,uBAAuB,CAAC,SAAS,CAAC,GAAG,CAAC;SAC7C,CAAC;KACH;IAED,iDAAiD;IACjD,MAAM,cAAc,GAAG,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAClE,IAAI,MAAM,IAAI,cAAc,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;KAClE;IAED,MAAM,GAAG,GAAG,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,SAAS,EAAE,GAAG,CAAC;IAEnE,MAAM,WAAW,GAA0B;QACzC,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,GAAG,cAAc;KAClB,CAAC;IAEF,IAAI,GAAG,EAAE;QACP,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE;YACnC,IAAI,EAAE,UAAU;YAChB,WAAW;YACX,GAAG;YACH,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;QAEH,OAAO;YACL,IAAI,EAAE,uBAAuB,CAAC,GAAG,CAAC;SACnC,CAAC;KACH;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,IAAgC,EAChC,SAAmC,EACnC,UAA4B,EACuB,EAAE;IACrD,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,EAAE,CAAC;KACX;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAoB,CAAC,CAAC,GAAG,CACvD,CAAC,CAAC,GAAG,EAAE,SAAS,CAAoB,EAAE,EAAE,CACtC,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CACrD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAC1B,aAA+C,EAC/C,UAA4B,EACsB,EAAE;IACpD,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,EAAE,CAAC;KACX;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,gBAAgB,CAClC,OAAO,EACP,aAAa,CAAC,KAAK,EACnB,UAAU,CACX,CAAC;IACF,MAAM,YAAY,GAAG,gBAAgB,CACnC,QAAQ,EACR,aAAa,CAAC,MAAM,EACpB,UAAU,CACX,CAAC;IACF,MAAM,YAAY,GAAG,gBAAgB,CACnC,QAAQ,EACR,aAAa,CAAC,MAAM,EACpB,UAAU,CACX,CAAC;IAEF,OAAO,CAAC,GAAG,UAAU,EAAE,GAAG,WAAW,EAAE,GAAG,YAAY,EAAE,GAAG,YAAY,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,UAQa,EACb,UAA4B,EACuB,EAAE,CACrD,UAAU,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;IACxB,IAAI,KAAK,YAAY,OAAO,EAAE;QAC5B,OAAO,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;KAC5C;IACD,OAAO,KAAsD,CAAC;AAChE,CAAC,CAAC,IAAI,EAAE,CAAC;AAEX,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,UAQa,EACb,aAA+C,EAC/C,UAA4B,EACmC,EAAE;IACjE,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,mBAAmB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACrE,MAAM,kBAAkB,GAAwC;QAC9D,GAAG,gBAAgB;QACnB,GAAG,aAAa;KACjB,CAAC;IAEF,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC,CAAC"}
|
|
@@ -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
|
|
46
|
+
const state = {
|
|
46
47
|
components,
|
|
47
|
-
type: '
|
|
48
|
-
}
|
|
49
|
-
const
|
|
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":"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,
|
|
1
|
+
{"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/create/responses.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
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":"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
|
|
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,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,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,EAAE,KAAK,CAAC;IACnC,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,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,gBAAgB,CAAC,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;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,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":"
|
|
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
|
|
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;
|