zod-openapi 0.4.3 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -15
- package/lib-commonjs/create/components.js +6 -1
- package/lib-commonjs/create/components.js.map +1 -1
- package/lib-commonjs/create/content.js +9 -6
- package/lib-commonjs/create/content.js.map +1 -1
- package/lib-commonjs/create/parameters.js +4 -1
- package/lib-commonjs/create/parameters.js.map +1 -1
- package/lib-commonjs/create/paths.js +1 -1
- package/lib-commonjs/create/paths.js.map +1 -1
- package/lib-commonjs/create/responses.js +5 -2
- package/lib-commonjs/create/responses.js.map +1 -1
- package/lib-commonjs/create/schema/array.js +2 -2
- package/lib-commonjs/create/schema/array.js.map +1 -1
- package/lib-commonjs/create/schema/catch.js +7 -0
- package/lib-commonjs/create/schema/catch.js.map +1 -0
- package/lib-commonjs/create/schema/default.js +2 -2
- package/lib-commonjs/create/schema/default.js.map +1 -1
- package/lib-commonjs/create/schema/discriminatedUnion.js +2 -2
- package/lib-commonjs/create/schema/discriminatedUnion.js.map +1 -1
- package/lib-commonjs/create/schema/index.js +57 -28
- package/lib-commonjs/create/schema/index.js.map +1 -1
- package/lib-commonjs/create/schema/intersection.js +3 -3
- package/lib-commonjs/create/schema/intersection.js.map +1 -1
- package/lib-commonjs/create/schema/metadata.js +3 -3
- package/lib-commonjs/create/schema/metadata.js.map +1 -1
- package/lib-commonjs/create/schema/nativeEnum.js +2 -2
- package/lib-commonjs/create/schema/nativeEnum.js.map +1 -1
- package/lib-commonjs/create/schema/nullable.js +6 -6
- package/lib-commonjs/create/schema/nullable.js.map +1 -1
- package/lib-commonjs/create/schema/number.js +3 -3
- package/lib-commonjs/create/schema/number.js.map +1 -1
- package/lib-commonjs/create/schema/object.js +9 -9
- package/lib-commonjs/create/schema/object.js.map +1 -1
- package/lib-commonjs/create/schema/optional.js +2 -2
- package/lib-commonjs/create/schema/optional.js.map +1 -1
- package/lib-commonjs/create/schema/pipeline.js +12 -0
- package/lib-commonjs/create/schema/pipeline.js.map +1 -0
- package/lib-commonjs/create/schema/preprocess.js +7 -0
- package/lib-commonjs/create/schema/preprocess.js.map +1 -0
- package/lib-commonjs/create/schema/record.js +2 -2
- package/lib-commonjs/create/schema/record.js.map +1 -1
- package/lib-commonjs/create/schema/refine.js +7 -0
- package/lib-commonjs/create/schema/refine.js.map +1 -0
- package/lib-commonjs/create/schema/transform.js +17 -0
- package/lib-commonjs/create/schema/transform.js.map +1 -0
- package/lib-commonjs/create/schema/tuple.js +11 -9
- package/lib-commonjs/create/schema/tuple.js.map +1 -1
- package/lib-commonjs/create/schema/union.js +2 -2
- package/lib-commonjs/create/schema/union.js.map +1 -1
- package/lib-commonjs/create/schema/unknown.js +19 -0
- package/lib-commonjs/create/schema/unknown.js.map +1 -0
- package/lib-commonjs/extendZod.js.map +1 -1
- package/lib-es2015/create/components.js +6 -1
- package/lib-es2015/create/components.js.map +1 -1
- package/lib-es2015/create/content.js +9 -6
- package/lib-es2015/create/content.js.map +1 -1
- package/lib-es2015/create/parameters.js +4 -1
- package/lib-es2015/create/parameters.js.map +1 -1
- package/lib-es2015/create/paths.js +1 -1
- package/lib-es2015/create/paths.js.map +1 -1
- package/lib-es2015/create/responses.js +5 -2
- package/lib-es2015/create/responses.js.map +1 -1
- package/lib-es2015/create/schema/array.js +2 -2
- package/lib-es2015/create/schema/array.js.map +1 -1
- package/lib-es2015/create/schema/catch.js +3 -0
- package/lib-es2015/create/schema/catch.js.map +1 -0
- package/lib-es2015/create/schema/default.js +2 -2
- package/lib-es2015/create/schema/default.js.map +1 -1
- package/lib-es2015/create/schema/discriminatedUnion.js +2 -2
- package/lib-es2015/create/schema/discriminatedUnion.js.map +1 -1
- package/lib-es2015/create/schema/index.js +59 -30
- package/lib-es2015/create/schema/index.js.map +1 -1
- package/lib-es2015/create/schema/intersection.js +3 -3
- package/lib-es2015/create/schema/intersection.js.map +1 -1
- package/lib-es2015/create/schema/metadata.js +3 -3
- package/lib-es2015/create/schema/metadata.js.map +1 -1
- package/lib-es2015/create/schema/nativeEnum.js +2 -2
- package/lib-es2015/create/schema/nativeEnum.js.map +1 -1
- package/lib-es2015/create/schema/nullable.js +6 -6
- package/lib-es2015/create/schema/nullable.js.map +1 -1
- package/lib-es2015/create/schema/number.js +3 -3
- package/lib-es2015/create/schema/number.js.map +1 -1
- package/lib-es2015/create/schema/object.js +9 -9
- package/lib-es2015/create/schema/object.js.map +1 -1
- package/lib-es2015/create/schema/optional.js +2 -2
- package/lib-es2015/create/schema/optional.js.map +1 -1
- package/lib-es2015/create/schema/pipeline.js +8 -0
- package/lib-es2015/create/schema/pipeline.js.map +1 -0
- package/lib-es2015/create/schema/preprocess.js +3 -0
- package/lib-es2015/create/schema/preprocess.js.map +1 -0
- package/lib-es2015/create/schema/record.js +2 -2
- package/lib-es2015/create/schema/record.js.map +1 -1
- package/lib-es2015/create/schema/refine.js +3 -0
- package/lib-es2015/create/schema/refine.js.map +1 -0
- package/lib-es2015/create/schema/transform.js +13 -0
- package/lib-es2015/create/schema/transform.js.map +1 -0
- package/lib-es2015/create/schema/tuple.js +11 -9
- package/lib-es2015/create/schema/tuple.js.map +1 -1
- package/lib-es2015/create/schema/union.js +2 -2
- package/lib-es2015/create/schema/union.js.map +1 -1
- package/lib-es2015/create/schema/unknown.js +15 -0
- package/lib-es2015/create/schema/unknown.js.map +1 -0
- package/lib-es2015/extendZod.js.map +1 -1
- package/lib-types/create/components.d.ts +6 -4
- package/lib-types/create/content.d.ts +2 -2
- package/lib-types/create/schema/array.d.ts +2 -2
- package/lib-types/create/schema/catch.d.ts +4 -0
- package/lib-types/create/schema/default.d.ts +2 -2
- package/lib-types/create/schema/discriminatedUnion.d.ts +2 -2
- package/lib-types/create/schema/index.d.ts +9 -4
- package/lib-types/create/schema/intersection.d.ts +2 -2
- package/lib-types/create/schema/metadata.d.ts +2 -2
- package/lib-types/create/schema/nativeEnum.d.ts +2 -2
- package/lib-types/create/schema/nullable.d.ts +2 -2
- package/lib-types/create/schema/number.d.ts +2 -2
- package/lib-types/create/schema/object.d.ts +5 -5
- package/lib-types/create/schema/optional.d.ts +2 -2
- package/lib-types/create/schema/pipeline.d.ts +4 -0
- package/lib-types/create/schema/preprocess.d.ts +4 -0
- package/lib-types/create/schema/record.d.ts +2 -2
- package/lib-types/create/schema/refine.d.ts +4 -0
- package/lib-types/create/schema/transform.d.ts +4 -0
- package/lib-types/create/schema/tuple.d.ts +2 -2
- package/lib-types/create/schema/union.d.ts +2 -2
- package/lib-types/create/schema/unknown.d.ts +3 -0
- package/lib-types/extendZod.d.ts +18 -0
- package/package.json +3 -3
- package/lib-commonjs/create/schema/effects.js +0 -7
- package/lib-commonjs/create/schema/effects.js.map +0 -1
- package/lib-es2015/create/schema/effects.js +0 -3
- package/lib-es2015/create/schema/effects.js.map +0 -1
- package/lib-types/create/schema/effects.d.ts +0 -4
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ZodEnum, } from 'zod';
|
|
2
2
|
import { createComponentSchemaRef } from '../components';
|
|
3
3
|
import { createSchemaOrRef } from '.';
|
|
4
|
-
export const createDiscriminatedUnionSchema = (zodDiscriminatedUnion,
|
|
4
|
+
export const createDiscriminatedUnionSchema = (zodDiscriminatedUnion, state) => {
|
|
5
5
|
const options = zodDiscriminatedUnion.options;
|
|
6
|
-
const schemas = options.map((option) => createSchemaOrRef(option,
|
|
6
|
+
const schemas = options.map((option) => createSchemaOrRef(option, state));
|
|
7
7
|
const discriminator = mapDiscriminator(options, zodDiscriminatedUnion.discriminator);
|
|
8
8
|
return {
|
|
9
9
|
oneOf: schemas,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discriminatedUnion.js","sourceRoot":"","sources":["../../../src/create/schema/discriminatedUnion.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,OAAO,GAGR,MAAM,KAAK,CAAC;AAEb,OAAO,
|
|
1
|
+
{"version":3,"file":"discriminatedUnion.js","sourceRoot":"","sources":["../../../src/create/schema/discriminatedUnion.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,OAAO,GAGR,MAAM,KAAK,CAAC;AAEb,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,EAAe,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAEnD,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,qBAAsD,EACtD,KAAkB,EACE,EAAE;IACtB,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAyB,CAAC;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1E,MAAM,aAAa,GAAG,gBAAgB,CACpC,OAAO,EACP,qBAAqB,CAAC,aAAuB,CAC9C,CAAC;IACF,OAAO;QACL,KAAK,EAAE,OAAO;QACd,GAAG,CAAC,aAAa,IAAI,EAAE,aAAa,EAAE,CAAC;KACxC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,UAA0B,EAC1B,aAAqB,EACrB,EAAE;IACF,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;QACpD,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAE/B,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;QACnB,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAa,CAAC;QACxD,MAAM,KAAK,GAAI,SAAS,CAAC,KAAqB,CAAC,aAAa,CAAC,CAAC;QAE9D,IAAI,KAAK,YAAY,OAAO,EAAE;YAC5B,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,MAAkB,EAAE;gBACrD,GAAG,CAAC,SAAS,CAAC,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;aACtD;YACD,OAAO,GAAG,CAAC;SACZ;QAED,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,IAA+B,CAAA,CAAC,KAAK,CAAC;QAEnE,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;YACpC,MAAM,IAAI,KAAK,CACb,iBAAiB,aAAa,mEAAmE,CAClG,CAAC;SACH;QAED,GAAG,CAAC,YAAY,CAAC,GAAG,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACxD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,YAAY,EAAE,aAAa;QAC3B,OAAO;KACR,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { ZodArray, ZodBoolean, ZodDate, ZodDefault, ZodDiscriminatedUnion, ZodEffects, ZodEnum, ZodIntersection, ZodLiteral, ZodNativeEnum, ZodNull, ZodNullable, ZodNumber, ZodObject, ZodOptional, ZodRecord, ZodString, ZodTuple, ZodUnion, } from 'zod';
|
|
2
|
-
import { createComponentSchemaRef } from '../components';
|
|
1
|
+
import { ZodArray, ZodBoolean, ZodCatch, ZodDate, ZodDefault, ZodDiscriminatedUnion, ZodEffects, ZodEnum, ZodIntersection, ZodLiteral, ZodNativeEnum, ZodNull, ZodNullable, ZodNumber, ZodObject, ZodOptional, ZodPipeline, ZodRecord, ZodString, ZodTuple, ZodUnion, } from 'zod';
|
|
2
|
+
import { createComponentSchemaRef, } from '../components';
|
|
3
3
|
import { createArraySchema } from './array';
|
|
4
4
|
import { createBooleanSchema } from './boolean';
|
|
5
|
+
import { createCatchSchema } from './catch';
|
|
5
6
|
import { createDateSchema } from './date';
|
|
6
7
|
import { createDefaultSchema } from './default';
|
|
7
8
|
import { createDiscriminatedUnionSchema } from './discriminatedUnion';
|
|
8
|
-
import { createEffectsSchema } from './effects';
|
|
9
9
|
import { createEnumSchema } from './enum';
|
|
10
10
|
import { createIntersectionSchema } from './intersection';
|
|
11
11
|
import { createLiteralSchema } from './literal';
|
|
@@ -16,16 +16,24 @@ import { createNullableSchema } from './nullable';
|
|
|
16
16
|
import { createNumberSchema } from './number';
|
|
17
17
|
import { createObjectSchema } from './object';
|
|
18
18
|
import { createOptionalSchema } from './optional';
|
|
19
|
+
import { createPipelineSchema } from './pipeline';
|
|
20
|
+
import { createPreprocessSchema } from './preprocess';
|
|
19
21
|
import { createRecordSchema } from './record';
|
|
22
|
+
import { createRefineSchema } from './refine';
|
|
20
23
|
import { createStringSchema } from './string';
|
|
24
|
+
import { createTransformSchema } from './transform';
|
|
21
25
|
import { createTupleSchema } from './tuple';
|
|
22
26
|
import { createUnionSchema } from './union';
|
|
23
|
-
|
|
27
|
+
import { createUnknownSchema } from './unknown';
|
|
28
|
+
export const createSchema = (zodSchema, state) => {
|
|
29
|
+
if (zodSchema._def.openapi?.type) {
|
|
30
|
+
return createUnknownSchema(zodSchema);
|
|
31
|
+
}
|
|
24
32
|
if (zodSchema instanceof ZodString) {
|
|
25
33
|
return createStringSchema(zodSchema);
|
|
26
34
|
}
|
|
27
35
|
if (zodSchema instanceof ZodNumber) {
|
|
28
|
-
return createNumberSchema(zodSchema,
|
|
36
|
+
return createNumberSchema(zodSchema, state);
|
|
29
37
|
}
|
|
30
38
|
if (zodSchema instanceof ZodBoolean) {
|
|
31
39
|
return createBooleanSchema(zodSchema);
|
|
@@ -37,85 +45,106 @@ export const createSchema = (zodSchema, components) => {
|
|
|
37
45
|
return createLiteralSchema(zodSchema);
|
|
38
46
|
}
|
|
39
47
|
if (zodSchema instanceof ZodNativeEnum) {
|
|
40
|
-
return createNativeEnumSchema(zodSchema,
|
|
48
|
+
return createNativeEnumSchema(zodSchema, state);
|
|
41
49
|
}
|
|
42
50
|
if (zodSchema instanceof ZodArray) {
|
|
43
|
-
return createArraySchema(zodSchema,
|
|
51
|
+
return createArraySchema(zodSchema, state);
|
|
44
52
|
}
|
|
45
53
|
if (zodSchema instanceof ZodObject) {
|
|
46
|
-
return createObjectSchema(zodSchema,
|
|
54
|
+
return createObjectSchema(zodSchema, state);
|
|
47
55
|
}
|
|
48
56
|
if (zodSchema instanceof ZodUnion) {
|
|
49
|
-
return createUnionSchema(zodSchema,
|
|
57
|
+
return createUnionSchema(zodSchema, state);
|
|
50
58
|
}
|
|
51
59
|
if (zodSchema instanceof ZodDiscriminatedUnion) {
|
|
52
|
-
return createDiscriminatedUnionSchema(zodSchema,
|
|
60
|
+
return createDiscriminatedUnionSchema(zodSchema, state);
|
|
53
61
|
}
|
|
54
62
|
if (zodSchema instanceof ZodNull) {
|
|
55
63
|
return createNullSchema(zodSchema);
|
|
56
64
|
}
|
|
57
65
|
if (zodSchema instanceof ZodNullable) {
|
|
58
|
-
return createNullableSchema(zodSchema,
|
|
66
|
+
return createNullableSchema(zodSchema, state);
|
|
59
67
|
}
|
|
60
68
|
if (zodSchema instanceof ZodOptional) {
|
|
61
|
-
return createOptionalSchema(zodSchema,
|
|
69
|
+
return createOptionalSchema(zodSchema, state);
|
|
62
70
|
}
|
|
63
71
|
if (zodSchema instanceof ZodDefault) {
|
|
64
|
-
return createDefaultSchema(zodSchema,
|
|
72
|
+
return createDefaultSchema(zodSchema, state);
|
|
65
73
|
}
|
|
66
74
|
if (zodSchema instanceof ZodRecord) {
|
|
67
|
-
return createRecordSchema(zodSchema,
|
|
75
|
+
return createRecordSchema(zodSchema, state);
|
|
68
76
|
}
|
|
69
77
|
if (zodSchema instanceof ZodTuple) {
|
|
70
|
-
return createTupleSchema(zodSchema,
|
|
78
|
+
return createTupleSchema(zodSchema, state);
|
|
71
79
|
}
|
|
72
80
|
if (zodSchema instanceof ZodDate) {
|
|
73
81
|
return createDateSchema(zodSchema);
|
|
74
82
|
}
|
|
83
|
+
if (zodSchema instanceof ZodPipeline) {
|
|
84
|
+
return createPipelineSchema(zodSchema, state);
|
|
85
|
+
}
|
|
75
86
|
if (zodSchema instanceof ZodEffects &&
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
87
|
+
zodSchema._def.effect.type === 'transform') {
|
|
88
|
+
return createTransformSchema(zodSchema, state);
|
|
89
|
+
}
|
|
90
|
+
if (zodSchema instanceof ZodEffects &&
|
|
91
|
+
zodSchema._def.effect.type === 'preprocess') {
|
|
92
|
+
return createPreprocessSchema(zodSchema, state);
|
|
93
|
+
}
|
|
94
|
+
if (zodSchema instanceof ZodEffects &&
|
|
95
|
+
zodSchema._def.effect.type === 'refinement') {
|
|
96
|
+
return createRefineSchema(zodSchema, state);
|
|
79
97
|
}
|
|
80
98
|
if (zodSchema instanceof ZodNativeEnum) {
|
|
81
|
-
return createNativeEnumSchema(zodSchema,
|
|
99
|
+
return createNativeEnumSchema(zodSchema, state);
|
|
82
100
|
}
|
|
83
101
|
if (zodSchema instanceof ZodIntersection) {
|
|
84
|
-
return createIntersectionSchema(zodSchema,
|
|
102
|
+
return createIntersectionSchema(zodSchema, state);
|
|
85
103
|
}
|
|
86
|
-
if (
|
|
87
|
-
|
|
104
|
+
if (zodSchema instanceof ZodCatch) {
|
|
105
|
+
return createCatchSchema(zodSchema, state);
|
|
88
106
|
}
|
|
89
|
-
return
|
|
107
|
+
return createUnknownSchema(zodSchema);
|
|
90
108
|
};
|
|
91
|
-
export const createRegisteredSchema = (zodSchema, schemaRef,
|
|
92
|
-
const component = components.schemas[schemaRef];
|
|
109
|
+
export const createRegisteredSchema = (zodSchema, schemaRef, state) => {
|
|
110
|
+
const component = state.components.schemas[schemaRef];
|
|
93
111
|
if (component) {
|
|
94
112
|
if (component.zodSchema !== zodSchema) {
|
|
95
113
|
throw new Error(`schemaRef "${schemaRef}" is already registered`);
|
|
96
114
|
}
|
|
115
|
+
if (!component.types?.includes(state.type)) {
|
|
116
|
+
throw new Error(`schemaRef "${schemaRef}" was created with a ZodEffect meaning that the input type is different from the output type. This type is currently being referenced in a response and request. Wrap the ZodEffect in a ZodPipeline to verify the contents of the effect`);
|
|
117
|
+
}
|
|
97
118
|
return {
|
|
98
119
|
$ref: createComponentSchemaRef(schemaRef),
|
|
99
120
|
};
|
|
100
121
|
}
|
|
122
|
+
const newState = {
|
|
123
|
+
components: state.components,
|
|
124
|
+
type: state.type,
|
|
125
|
+
};
|
|
126
|
+
const schemaOrRef = createSchemaWithMetadata(zodSchema, newState);
|
|
101
127
|
// Optional Objects can return a reference object
|
|
102
|
-
const schemaOrRef = createSchemaWithMetadata(zodSchema, components);
|
|
103
128
|
if ('$ref' in schemaOrRef) {
|
|
104
129
|
throw new Error('Unexpected Error: received a reference object');
|
|
105
130
|
}
|
|
106
|
-
components.schemas[schemaRef] = {
|
|
131
|
+
state.components.schemas[schemaRef] = {
|
|
107
132
|
schemaObject: schemaOrRef,
|
|
108
133
|
zodSchema,
|
|
134
|
+
types: newState?.effectType ? [newState.effectType] : ['input', 'output'],
|
|
109
135
|
};
|
|
136
|
+
if (newState.effectType) {
|
|
137
|
+
state.effectType = newState.effectType;
|
|
138
|
+
}
|
|
110
139
|
return {
|
|
111
140
|
$ref: createComponentSchemaRef(schemaRef),
|
|
112
141
|
};
|
|
113
142
|
};
|
|
114
|
-
export const createSchemaOrRef = (zodSchema,
|
|
143
|
+
export const createSchemaOrRef = (zodSchema, state) => {
|
|
115
144
|
const schemaRef = zodSchema._def.openapi?.ref;
|
|
116
145
|
if (schemaRef) {
|
|
117
|
-
return createRegisteredSchema(zodSchema, schemaRef,
|
|
146
|
+
return createRegisteredSchema(zodSchema, schemaRef, state);
|
|
118
147
|
}
|
|
119
|
-
return createSchemaWithMetadata(zodSchema,
|
|
148
|
+
return createSchemaWithMetadata(zodSchema, state);
|
|
120
149
|
};
|
|
121
150
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/create/schema/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,UAAU,EACV,OAAO,EACP,UAAU,EACV,qBAAqB,EACrB,UAAU,EACV,OAAO,EACP,eAAe,EACf,UAAU,EACV,aAAa,EACb,OAAO,EACP,WAAW,EACX,SAAS,EACT,SAAS,EACT,WAAW,EACX,SAAS,EACT,SAAS,EACT,QAAQ,EAGR,QAAQ,GACT,MAAM,KAAK,CAAC;AAEb,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/create/schema/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createSchemaOrRef } from '.';
|
|
2
|
-
export const createIntersectionSchema = (zodIntersection,
|
|
2
|
+
export const createIntersectionSchema = (zodIntersection, state) => ({
|
|
3
3
|
allOf: [
|
|
4
|
-
createSchemaOrRef(zodIntersection._def.left,
|
|
5
|
-
createSchemaOrRef(zodIntersection._def.right,
|
|
4
|
+
createSchemaOrRef(zodIntersection._def.left, state),
|
|
5
|
+
createSchemaOrRef(zodIntersection._def.right, state),
|
|
6
6
|
],
|
|
7
7
|
});
|
|
8
8
|
//# sourceMappingURL=intersection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intersection.js","sourceRoot":"","sources":["../../../src/create/schema/intersection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"intersection.js","sourceRoot":"","sources":["../../../src/create/schema/intersection.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAEnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,eAA0C,EAC1C,KAAkB,EAC0B,EAAE,CAAC,CAAC;IAChD,KAAK,EAAE;QACL,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,IAAe,EAAE,KAAK,CAAC;QAC9D,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,KAAgB,EAAE,KAAK,CAAC;KAChE;CACF,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createSchema } from '.';
|
|
2
|
-
export const createSchemaWithMetadata = (zodSchema,
|
|
3
|
-
const { ref, param, header, ...additionalMetadata } = zodSchema._def.openapi ?? {};
|
|
4
|
-
const schemaOrRef = createSchema(zodSchema,
|
|
2
|
+
export const createSchemaWithMetadata = (zodSchema, state) => {
|
|
3
|
+
const { ref, refType, param, header, ...additionalMetadata } = zodSchema._def.openapi ?? {};
|
|
4
|
+
const schemaOrRef = createSchema(zodSchema, state);
|
|
5
5
|
const description = zodSchema.description;
|
|
6
6
|
return enhanceWithMetadata(schemaOrRef, {
|
|
7
7
|
...(description && { description }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/create/schema/metadata.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/create/schema/metadata.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,YAAY,EAAE,MAAM,GAAG,CAAC;AAE9C,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAKtC,SAAsC,EACtC,KAAkB,EAC0B,EAAE;IAC9C,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,GAC1D,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,9 +1,9 @@
|
|
|
1
1
|
import { satisfiesVersion } from '../../openapi';
|
|
2
|
-
export const createNativeEnumSchema = (zodEnum,
|
|
2
|
+
export const createNativeEnumSchema = (zodEnum, state) => {
|
|
3
3
|
const enumValues = getValidEnumValues(zodEnum._def.values);
|
|
4
4
|
const { numbers, strings } = sortStringsAndNumbers(enumValues);
|
|
5
5
|
if (strings.length && numbers.length) {
|
|
6
|
-
if (satisfiesVersion(components.openapi, '3.1.0'))
|
|
6
|
+
if (satisfiesVersion(state.components.openapi, '3.1.0'))
|
|
7
7
|
return {
|
|
8
8
|
type: ['string', 'number'],
|
|
9
9
|
enum: [...strings, ...numbers],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nativeEnum.js","sourceRoot":"","sources":["../../../src/create/schema/nativeEnum.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"nativeEnum.js","sourceRoot":"","sources":["../../../src/create/schema/nativeEnum.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAIjD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,OAAyB,EACzB,KAAkB,EAC0B,EAAE;IAC9C,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3D,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAE/D,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;QACpC,IAAI,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC;YACrD,OAAO;gBACL,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAC1B,IAAI,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC;aAC/B,CAAC;QACJ,OAAO;YACL,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;gBACjC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE;aAClC;SACF,CAAC;KACH;IAED,IAAI,OAAO,CAAC,MAAM,EAAE;QAClB,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,OAAO;SACd,CAAC;KACH;IAED,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,OAAO;KACd,CAAC;AACJ,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAoB,EAAE,EAAE;IACzD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CACzC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,QAAQ,CACzD,CAAC;IACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,MAA2B,EACR,EAAE,CAAC,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;IAC7E,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;CAC9E,CAAC,CAAC"}
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { satisfiesVersion } from '../../openapi';
|
|
2
2
|
import { createSchemaOrRef } from '.';
|
|
3
|
-
export const createNullableSchema = (zodNullable,
|
|
4
|
-
const schemaOrReference = createSchemaOrRef(zodNullable.unwrap(),
|
|
3
|
+
export const createNullableSchema = (zodNullable, state) => {
|
|
4
|
+
const schemaOrReference = createSchemaOrRef(zodNullable.unwrap(), state);
|
|
5
5
|
if ('$ref' in schemaOrReference || schemaOrReference.allOf) {
|
|
6
6
|
return {
|
|
7
|
-
oneOf: mapNullOf([schemaOrReference], components.openapi),
|
|
7
|
+
oneOf: mapNullOf([schemaOrReference], state.components.openapi),
|
|
8
8
|
};
|
|
9
9
|
}
|
|
10
10
|
if (schemaOrReference.oneOf) {
|
|
11
11
|
const { oneOf, ...schema } = schemaOrReference;
|
|
12
12
|
return {
|
|
13
|
-
oneOf: mapNullOf(oneOf, components.openapi),
|
|
13
|
+
oneOf: mapNullOf(oneOf, state.components.openapi),
|
|
14
14
|
...schema,
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
if (schemaOrReference.anyOf) {
|
|
18
18
|
const { anyOf, ...schema } = schemaOrReference;
|
|
19
19
|
return {
|
|
20
|
-
anyOf: mapNullOf(anyOf, components.openapi),
|
|
20
|
+
anyOf: mapNullOf(anyOf, state.components.openapi),
|
|
21
21
|
...schema,
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
const { type, ...schema } = schemaOrReference;
|
|
25
|
-
if (satisfiesVersion(components.openapi, '3.1.0')) {
|
|
25
|
+
if (satisfiesVersion(state.components.openapi, '3.1.0')) {
|
|
26
26
|
return {
|
|
27
27
|
type: mapNullType(type),
|
|
28
28
|
...schema,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nullable.js","sourceRoot":"","sources":["../../../src/create/schema/nullable.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"nullable.js","sourceRoot":"","sources":["../../../src/create/schema/nullable.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,OAAO,EAAe,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAEnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,WAA6B,EAC7B,KAAkB,EACE,EAAE;IACtB,MAAM,iBAAiB,GAAG,iBAAiB,CACzC,WAAW,CAAC,MAAM,EAAgB,EAClC,KAAK,CACN,CAAC;IAEF,IAAI,MAAM,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,KAAK,EAAE;QAC1D,OAAO;YACL,KAAK,EAAE,SAAS,CAAC,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;SAChE,CAAC;KACH;IAED,IAAI,iBAAiB,CAAC,KAAK,EAAE;QAC3B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,GAAG,iBAAiB,CAAC;QAC/C,OAAO;YACL,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;YACjD,GAAG,MAAM;SACV,CAAC;KACH;IAED,IAAI,iBAAiB,CAAC,KAAK,EAAE;QAC3B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,GAAG,iBAAiB,CAAC;QAC/C,OAAO;YACL,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;YACjD,GAAG,MAAM;SACV,CAAC;KACH;IAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,GAAG,iBAAiB,CAAC;IAE9C,IAAI,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;QACvD,OAAO;YACL,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;YACvB,GAAG,MAAM;SACV,CAAC;KACH;IAED,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,IAAI;QACd,GAAG,MAAM;KACV,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAClB,IAAgC,EACJ,EAAE;IAC9B,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,MAAM,CAAC;KACf;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACvB,OAAO,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;KAC1B;IAED,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAChB,QAAwD,EACxD,OAA0B,EACsB,EAAE;IAClD,IAAI,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;QACtC,OAAO,CAAC,GAAG,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;KACxC;IACD,OAAO,CAAC,GAAG,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { satisfiesVersion } from '../../openapi';
|
|
2
|
-
export const createNumberSchema = (zodNumber,
|
|
2
|
+
export const createNumberSchema = (zodNumber, state) => {
|
|
3
3
|
const zodNumberChecks = getZodNumberChecks(zodNumber);
|
|
4
|
-
const minimum = mapMinimum(zodNumberChecks, components.openapi);
|
|
5
|
-
const maximum = mapMaximum(zodNumberChecks, components.openapi);
|
|
4
|
+
const minimum = mapMinimum(zodNumberChecks, state.components.openapi);
|
|
5
|
+
const maximum = mapMaximum(zodNumberChecks, state.components.openapi);
|
|
6
6
|
return {
|
|
7
7
|
type: mapNumberType(zodNumberChecks),
|
|
8
8
|
...(minimum && minimum),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number.js","sourceRoot":"","sources":["../../../src/create/schema/number.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"number.js","sourceRoot":"","sources":["../../../src/create/schema/number.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,SAAoB,EACpB,KAAkB,EACE,EAAE;IACtB,MAAM,eAAe,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAEtD,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAEtE,OAAO;QACL,IAAI,EAAE,aAAa,CAAC,eAAe,CAAC;QACpC,GAAG,CAAC,OAAO,IAAK,OAA8B,CAAC;QAC/C,GAAG,CAAC,OAAO,IAAK,OAA8B,CAAC;KAChD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAExC,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,cAAiC,EACjC,OAA0B,EAMd,EAAE;IACd,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE;QACvB,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;IACzC,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE;QAChC,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;KACtD;IACD,IAAI,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;QACtC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;KACtC;IACD,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;AAC7C,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,cAAiC,EACjC,OAA0B,EAMd,EAAE;IACd,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE;QACvB,OAAO,SAAS,CAAC;KAClB;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;IACzC,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE;QAChC,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;KACtD;IACD,IAAI,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;QACtC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;KACtC;IACD,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;AAC7C,CAAC,CAAC;AAMF,MAAM,kBAAkB,GAAG,CAAC,SAAoB,EAAqB,EAAE,CACrE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;IAC7D,mEAAmE;IACnE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAY,CAAC;IAC/B,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,EAAE,CAAC,CAAC;AAET,MAAM,aAAa,GAAG,CACpB,eAAkC,EACN,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC"}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { createComponentSchemaRef } from '../components';
|
|
2
2
|
import { createSchemaOrRef } from '.';
|
|
3
|
-
export const createObjectSchema = (zodObject,
|
|
3
|
+
export const createObjectSchema = (zodObject, state) => {
|
|
4
4
|
if (zodObject._def.extendMetadata?.extendsRef) {
|
|
5
|
-
return createExtendedSchema(zodObject, zodObject._def.extendMetadata.extends, zodObject._def.extendMetadata.extendsRef,
|
|
5
|
+
return createExtendedSchema(zodObject, zodObject._def.extendMetadata.extends, zodObject._def.extendMetadata.extendsRef, state);
|
|
6
6
|
}
|
|
7
|
-
return createObjectSchemaFromShape(zodObject.shape, zodObject._def.unknownKeys === 'strict',
|
|
7
|
+
return createObjectSchemaFromShape(zodObject.shape, zodObject._def.unknownKeys === 'strict', state);
|
|
8
8
|
};
|
|
9
|
-
export const createExtendedSchema = (zodObject, baseZodObject, schemaRef,
|
|
9
|
+
export const createExtendedSchema = (zodObject, baseZodObject, schemaRef, state) => {
|
|
10
10
|
const diffShape = createShapeDiff(baseZodObject._def.shape(), zodObject._def.shape());
|
|
11
11
|
return {
|
|
12
12
|
allOf: [
|
|
13
13
|
{ $ref: createComponentSchemaRef(schemaRef) },
|
|
14
|
-
createObjectSchemaFromShape(diffShape, false,
|
|
14
|
+
createObjectSchemaFromShape(diffShape, false, state),
|
|
15
15
|
],
|
|
16
16
|
};
|
|
17
17
|
};
|
|
@@ -21,9 +21,9 @@ const createShapeDiff = (baseObj, extendedObj) => Object.entries(extendedObj).re
|
|
|
21
21
|
}
|
|
22
22
|
return acc;
|
|
23
23
|
}, {});
|
|
24
|
-
export const createObjectSchemaFromShape = (shape, strict,
|
|
24
|
+
export const createObjectSchemaFromShape = (shape, strict, state) => ({
|
|
25
25
|
type: 'object',
|
|
26
|
-
properties: mapProperties(shape,
|
|
26
|
+
properties: mapProperties(shape, state),
|
|
27
27
|
required: mapRequired(shape),
|
|
28
28
|
...(strict && { additionalProperties: false }),
|
|
29
29
|
});
|
|
@@ -36,8 +36,8 @@ export const mapRequired = (shape) => {
|
|
|
36
36
|
}
|
|
37
37
|
return required;
|
|
38
38
|
};
|
|
39
|
-
export const mapProperties = (shape,
|
|
40
|
-
acc[key] = createSchemaOrRef(zodSchema,
|
|
39
|
+
export const mapProperties = (shape, state) => Object.entries(shape).reduce((acc, [key, zodSchema]) => {
|
|
40
|
+
acc[key] = createSchemaOrRef(zodSchema, state);
|
|
41
41
|
return acc;
|
|
42
42
|
}, {});
|
|
43
43
|
//# sourceMappingURL=object.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/create/schema/object.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/create/schema/object.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,EAAe,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAEnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAIhC,SAAmD,EACnD,KAAkB,EACE,EAAE;IACtB,IAAI,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE;QAC7C,OAAO,oBAAoB,CACzB,SAAS,EACT,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EACrC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EACxC,KAAK,CACN,CAAC;KACH;IAED,OAAO,2BAA2B,CAChC,SAAS,CAAC,KAAK,EACf,SAAS,CAAC,IAAI,CAAC,WAAW,KAAK,QAAQ,EACvC,KAAK,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,SAA6C,EAC7C,aAAiD,EACjD,SAAiB,EACjB,KAAkB,EACE,EAAE;IACtB,MAAM,SAAS,GAAG,eAAe,CAC/B,aAAa,CAAC,IAAI,CAAC,KAAK,EAAiB,EACzC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAiB,CACtC,CAAC;IAEF,OAAO;QACL,KAAK,EAAE;YACL,EAAE,IAAI,EAAE,wBAAwB,CAAC,SAAS,CAAC,EAAE;YAC7C,2BAA2B,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC;SACrD;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACtB,OAAoB,EACpB,WAAwB,EACX,EAAE,CACf,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAc,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;IAClE,IAAI,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE;QACxB,GAAG,CAAC,GAA+B,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;KACzD;IAED,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,EAAE,CAAC,CAAC;AAET,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,KAAkB,EAClB,MAAe,EACf,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,MAAM,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC;CAC/C,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,5 +1,5 @@
|
|
|
1
1
|
import { createSchemaOrRef } from '.';
|
|
2
|
-
export const createOptionalSchema = (zodOptional,
|
|
2
|
+
export const createOptionalSchema = (zodOptional, state) =>
|
|
3
3
|
// Optional doesn't change OpenAPI schema
|
|
4
|
-
createSchemaOrRef(zodOptional.unwrap(),
|
|
4
|
+
createSchemaOrRef(zodOptional.unwrap(), state);
|
|
5
5
|
//# 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":"AAGA,OAAO,EAAe,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAEnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,WAA6B,EAC7B,KAAkB,EAC0B,EAAE;AAC9C,yCAAyC;AACzC,iBAAiB,CAAC,WAAW,CAAC,MAAM,EAAgB,EAAE,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { createSchemaOrRef } from '.';
|
|
2
|
+
export const createPipelineSchema = (zodPipeline, state) => {
|
|
3
|
+
if (state.type === 'input') {
|
|
4
|
+
return createSchemaOrRef(zodPipeline._def.in, state);
|
|
5
|
+
}
|
|
6
|
+
return createSchemaOrRef(zodPipeline._def.out, state);
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=pipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/create/schema/pipeline.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAEnD,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preprocess.js","sourceRoot":"","sources":["../../../src/create/schema/preprocess.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAEnD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,aAAwC,EACxC,KAAkB,EAC0B,EAAE,CAC9C,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createSchemaOrRef } from '.';
|
|
2
|
-
export const createRecordSchema = (zodRecord,
|
|
2
|
+
export const createRecordSchema = (zodRecord, state) => ({
|
|
3
3
|
type: 'object',
|
|
4
|
-
additionalProperties: createSchemaOrRef(zodRecord.valueSchema,
|
|
4
|
+
additionalProperties: createSchemaOrRef(zodRecord.valueSchema, state),
|
|
5
5
|
});
|
|
6
6
|
//# sourceMappingURL=record.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../src/create/schema/record.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"record.js","sourceRoot":"","sources":["../../../src/create/schema/record.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAEnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,SAA8B,EAC9B,KAAkB,EACE,EAAE,CAAC,CAAC;IACxB,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,iBAAiB,CACrC,SAAS,CAAC,WAAyB,EACnC,KAAK,CACN;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refine.js","sourceRoot":"","sources":["../../../src/create/schema/refine.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAEnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,SAAoC,EACpC,KAAkB,EAC0B,EAAE,CAC9C,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createUnknownSchema } from './unknown';
|
|
2
|
+
import { createSchemaOrRef } from '.';
|
|
3
|
+
export const createTransformSchema = (zodTransform, state) => {
|
|
4
|
+
const creationType = zodTransform._def.openapi?.effectType ?? state.type;
|
|
5
|
+
if (creationType === 'input') {
|
|
6
|
+
if (state.type === 'input') {
|
|
7
|
+
state.effectType = 'input';
|
|
8
|
+
}
|
|
9
|
+
return createSchemaOrRef(zodTransform._def.schema, state);
|
|
10
|
+
}
|
|
11
|
+
return createUnknownSchema(zodTransform);
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=transform.js.map
|
|
@@ -0,0 +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,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAEnD,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,OAAO,EAAE;QAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;YAC1B,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;SAC5B;QACD,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC;KACtE;IAED,OAAO,mBAAmB,CAAC,YAAY,CAAC,CAAC;AAC3C,CAAC,CAAC"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { satisfiesVersion } from '../../openapi';
|
|
2
2
|
import { createSchemaOrRef } from '.';
|
|
3
|
-
export const createTupleSchema = (zodTuple,
|
|
3
|
+
export const createTupleSchema = (zodTuple, state) => {
|
|
4
4
|
const items = zodTuple.items;
|
|
5
5
|
const rest = zodTuple._def.rest;
|
|
6
6
|
return {
|
|
7
7
|
type: 'array',
|
|
8
|
-
...mapItemProperties(items, rest,
|
|
8
|
+
...mapItemProperties(items, rest, state),
|
|
9
9
|
};
|
|
10
10
|
};
|
|
11
|
-
const mapPrefixItems = (items,
|
|
11
|
+
const mapPrefixItems = (items, state) => {
|
|
12
12
|
if (items.length) {
|
|
13
|
-
return items.map((item) => createSchemaOrRef(item,
|
|
13
|
+
return items.map((item) => createSchemaOrRef(item, state));
|
|
14
14
|
}
|
|
15
15
|
return undefined;
|
|
16
16
|
};
|
|
17
|
-
const mapItemProperties = (items, rest,
|
|
18
|
-
const prefixItems = mapPrefixItems(items,
|
|
19
|
-
if (satisfiesVersion(components.openapi, '3.1.0')) {
|
|
17
|
+
const mapItemProperties = (items, rest, state) => {
|
|
18
|
+
const prefixItems = mapPrefixItems(items, state);
|
|
19
|
+
if (satisfiesVersion(state.components.openapi, '3.1.0')) {
|
|
20
20
|
if (!rest) {
|
|
21
21
|
return {
|
|
22
22
|
maxItems: items.length,
|
|
@@ -25,7 +25,7 @@ const mapItemProperties = (items, rest, components) => {
|
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
return {
|
|
28
|
-
items: createSchemaOrRef(rest,
|
|
28
|
+
items: createSchemaOrRef(rest, state),
|
|
29
29
|
...(prefixItems && { prefixItems }),
|
|
30
30
|
};
|
|
31
31
|
}
|
|
@@ -38,7 +38,9 @@ const mapItemProperties = (items, rest, components) => {
|
|
|
38
38
|
}
|
|
39
39
|
return {
|
|
40
40
|
...(prefixItems && {
|
|
41
|
-
items: {
|
|
41
|
+
items: {
|
|
42
|
+
oneOf: [...prefixItems, createSchemaOrRef(rest, state)],
|
|
43
|
+
},
|
|
42
44
|
}),
|
|
43
45
|
};
|
|
44
46
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuple.js","sourceRoot":"","sources":["../../../src/create/schema/tuple.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"tuple.js","sourceRoot":"","sources":["../../../src/create/schema/tuple.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAe,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,QAA4B,EAC5B,KAAkB,EACE,EAAE;IACtB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAqB,CAAC;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAkB,CAAC;IAC9C,OAAO;QACL,IAAI,EAAE,OAAO;QACb,GAAG,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC;KACnB,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CACrB,KAAmB,EACnB,KAAkB,EAC6B,EAAE;IACjD,IAAI,KAAK,CAAC,MAAM,EAAE;QAChB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;KAC5D;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACxB,KAAmB,EACnB,IAAgB,EAChB,KAAkB,EAIlB,EAAE;IACF,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAEjD,IAAI,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;QACvD,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;gBACL,QAAQ,EAAE,KAAK,CAAC,MAAM;gBACtB,QAAQ,EAAE,KAAK,CAAC,MAAM;gBACtB,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC;aACpC,CAAC;SACH;QAED,OAAO;YACL,KAAK,EAAE,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC;YACrC,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC;SACpC,CAAC;KACH;IAED,IAAI,CAAC,IAAI,EAAE;QACT,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,MAAM;YACtB,QAAQ,EAAE,KAAK,CAAC,MAAM;YACtB,GAAG,CAAC,WAAW,IAAI,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,CAAC;SACtD,CAAC;KACH;IAED,OAAO;QACL,GAAG,CAAC,WAAW,IAAI;YACjB,KAAK,EAAE;gBACL,KAAK,EAAE,CAAC,GAAG,WAAW,EAAE,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACxD;SACF,CAAC;KACH,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createSchemaOrRef } from '.';
|
|
2
|
-
export const createUnionSchema = (zodUnion,
|
|
2
|
+
export const createUnionSchema = (zodUnion, state) => {
|
|
3
3
|
const options = zodUnion.options;
|
|
4
|
-
const schemas = options.map((option) => createSchemaOrRef(option,
|
|
4
|
+
const schemas = options.map((option) => createSchemaOrRef(option, state));
|
|
5
5
|
return {
|
|
6
6
|
anyOf: schemas,
|
|
7
7
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"union.js","sourceRoot":"","sources":["../../../src/create/schema/union.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"union.js","sourceRoot":"","sources":["../../../src/create/schema/union.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,QAAuB,EACvB,KAAkB,EACE,EAAE;IACtB,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAuB,CAAC;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAC1E,OAAO;QACL,KAAK,EAAE,OAAO;KACf,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ZodEffects } from 'zod';
|
|
2
|
+
export const createUnknownSchema = (zodSchema) => {
|
|
3
|
+
if (!zodSchema._def.openapi?.type) {
|
|
4
|
+
const zodType = zodSchema.constructor.name;
|
|
5
|
+
if (zodSchema instanceof ZodEffects) {
|
|
6
|
+
const schemaName = `${zodType} - ${zodSchema._def.effect.type}`;
|
|
7
|
+
throw new Error(`Unknown schema ${schemaName}. Please assign it a manual 'type', wrap it in a ZodPipeline or change the 'effectType'.`);
|
|
8
|
+
}
|
|
9
|
+
throw new Error(`Unknown schema ${zodType}. Please assign it a manual 'type'.`);
|
|
10
|
+
}
|
|
11
|
+
return {
|
|
12
|
+
type: zodSchema._def.openapi.type,
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=unknown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unknown.js","sourceRoot":"","sources":["../../../src/create/schema/unknown.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAuB,MAAM,KAAK,CAAC;AAEtD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAKjC,SAAsC,EAClB,EAAE;IACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE;QACjC,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;QAC3C,IAAI,SAAS,YAAY,UAAU,EAAE;YACnC,MAAM,UAAU,GAAG,GAAG,OAAO,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CACb,kBAAkB,UAAU,0FAA0F,CACvH,CAAC;SACH;QACD,MAAM,IAAI,KAAK,CACb,kBAAkB,OAAO,qCAAqC,CAC/D,CAAC;KACH;IAED,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI;KAClC,CAAC;AACJ,CAAC,CAAC"}
|