zod-openapi 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,25 +23,31 @@ const createSchemas = (schemas, components) => {
23
23
  if (!schemas) {
24
24
  return;
25
25
  }
26
- return Object.entries(schemas).forEach(([key, schema]) => {
26
+ Object.entries(schemas).forEach(([key, schema]) => {
27
27
  if (schema instanceof zod_1.ZodType) {
28
- const ref = schema._def.openapi?.ref ?? key;
29
- const component = components.schemas.get(schema);
30
- if (component) {
31
- throw new Error(`schemaRef "${ref}" is already registered`);
28
+ if (components.schemas.has(schema)) {
29
+ throw new Error(`schema ${JSON.stringify(schema._def)} is already registered`);
32
30
  }
33
- const state = {
34
- components,
35
- type: schema._def.openapi?.refType ?? 'output',
36
- };
31
+ const ref = schema._def.openapi?.ref ?? key;
37
32
  components.schemas.set(schema, {
33
+ type: 'partial',
38
34
  ref,
39
- schemaObject: (0, metadata_1.createSchemaWithMetadata)(schema, state),
40
- types: state.effectType ? [state.effectType] : ['input', 'output'],
41
35
  });
42
- return;
43
36
  }
44
37
  });
38
+ return Array.from(components.schemas).forEach(([schema, { ref }]) => {
39
+ const state = {
40
+ components,
41
+ type: schema._def.openapi?.refType ?? 'output',
42
+ };
43
+ const schemaObject = (0, metadata_1.createSchemaWithMetadata)(schema, state);
44
+ components.schemas.set(schema, {
45
+ type: 'complete',
46
+ ref,
47
+ schemaObject,
48
+ creationType: state.effectType,
49
+ });
50
+ });
45
51
  };
46
52
  const createParameters = (parameters, components) => {
47
53
  if (!parameters) {
@@ -99,10 +105,12 @@ const createSchemaComponents = (componentsObject, componentMap) => {
99
105
  return acc;
100
106
  }, {});
101
107
  const components = Array.from(componentMap).reduce((acc, [_zodType, value]) => {
102
- if (acc[value.ref]) {
103
- throw new Error(`Schema "${value.ref}" is already registered`);
108
+ if (value.type === 'complete') {
109
+ if (acc[value.ref]) {
110
+ throw new Error(`Schema "${value.ref}" is already registered`);
111
+ }
112
+ acc[value.ref] = value.schemaObject;
104
113
  }
105
- acc[value.ref] = value.schemaObject;
106
114
  return acc;
107
115
  }, customComponents);
108
116
  return Object.keys(components).length ? components : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/create/components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/create/components.ts"],"names":[],"mappings":"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"}
@@ -5,13 +5,13 @@ const yaml_1 = require("yaml");
5
5
  const components_1 = require("./components");
6
6
  const paths_1 = require("./paths");
7
7
  const createDocument = (zodOpenApiObject) => {
8
- const { schemas, parameters, headers, ...rest } = zodOpenApiObject.components ?? {};
9
- const components = (0, components_1.getDefaultComponents)({ headers, schemas, parameters }, zodOpenApiObject.openapi);
8
+ const components = zodOpenApiObject.components ?? {};
9
+ const defaultComponents = (0, components_1.getDefaultComponents)(components, zodOpenApiObject.openapi);
10
10
  return {
11
11
  ...zodOpenApiObject,
12
- paths: (0, paths_1.createPaths)(zodOpenApiObject.paths, components),
13
- webhooks: (0, paths_1.createPaths)(zodOpenApiObject.webhooks, components),
14
- components: (0, components_1.createComponents)(rest, components),
12
+ paths: (0, paths_1.createPaths)(zodOpenApiObject.paths, defaultComponents),
13
+ webhooks: (0, paths_1.createPaths)(zodOpenApiObject.webhooks, defaultComponents),
14
+ components: (0, components_1.createComponents)(components, defaultComponents),
15
15
  };
16
16
  };
17
17
  exports.createDocument = createDocument;
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/create/document.ts"],"names":[],"mappings":";;;AACA,+BAAiC;AAKjC,6CAAsE;AACtE,mCAAsC;AA4F/B,MAAM,cAAc,GAAG,CAC5B,gBAAkC,EACb,EAAE;IACvB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAC7C,gBAAgB,CAAC,UAAU,IAAI,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,IAAA,iCAAoB,EACrC,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAChC,gBAAgB,CAAC,OAAO,CACzB,CAAC;IAEF,OAAO;QACL,GAAG,gBAAgB;QACnB,KAAK,EAAE,IAAA,mBAAW,EAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC;QACtD,QAAQ,EAAE,IAAA,mBAAW,EAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC;QAC5D,UAAU,EAAE,IAAA,6BAAgB,EAAC,IAAI,EAAE,UAAU,CAAC;KAC/C,CAAC;AACJ,CAAC,CAAC;AAhBW,QAAA,cAAc,kBAgBzB;AAEK,MAAM,kBAAkB,GAAG,CAChC,MAAwB,EACxB,WAGC,EACO,EAAE;IACV,MAAM,QAAQ,GAAG,IAAA,sBAAc,EAAC,MAAM,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC,SAAS,CACnB,QAAQ,EACR,WAAW,EAAE,QAAQ,EACrB,WAAW,EAAE,OAAO,IAAI,CAAC,CAC1B,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,kBAAkB,sBAa7B;AAEK,MAAM,kBAAkB,GAAG,CAChC,MAAwB,EACxB,cAGI,EAAE,EACE,EAAE;IACV,MAAM,QAAQ,GAAG,IAAA,sBAAc,EAAC,MAAM,CAAC,CAAC;IACxC,OAAO,IAAA,gBAAS,EAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;AACxE,CAAC,CAAC;AATW,QAAA,kBAAkB,sBAS7B"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/create/document.ts"],"names":[],"mappings":";;;AACA,+BAAiC;AAKjC,6CAAsE;AACtE,mCAAsC;AA4F/B,MAAM,cAAc,GAAG,CAC5B,gBAAkC,EACb,EAAE;IACvB,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,IAAI,EAAE,CAAC;IACrD,MAAM,iBAAiB,GAAG,IAAA,iCAAoB,EAC5C,UAAU,EACV,gBAAgB,CAAC,OAAO,CACzB,CAAC;IAEF,OAAO;QACL,GAAG,gBAAgB;QACnB,KAAK,EAAE,IAAA,mBAAW,EAAC,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,CAAC;QAC7D,QAAQ,EAAE,IAAA,mBAAW,EAAC,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,CAAC;QACnE,UAAU,EAAE,IAAA,6BAAgB,EAAC,UAAU,EAAE,iBAAiB,CAAC;KAC5D,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,cAAc,kBAezB;AAEK,MAAM,kBAAkB,GAAG,CAChC,MAAwB,EACxB,WAGC,EACO,EAAE;IACV,MAAM,QAAQ,GAAG,IAAA,sBAAc,EAAC,MAAM,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC,SAAS,CACnB,QAAQ,EACR,WAAW,EAAE,QAAQ,EACrB,WAAW,EAAE,OAAO,IAAI,CAAC,CAC1B,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,kBAAkB,sBAa7B;AAEK,MAAM,kBAAkB,GAAG,CAChC,MAAwB,EACxB,cAGI,EAAE,EACE,EAAE;IACV,MAAM,QAAQ,GAAG,IAAA,sBAAc,EAAC,MAAM,CAAC,CAAC;IACxC,OAAO,IAAA,gBAAS,EAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;AACxE,CAAC,CAAC;AATW,QAAA,kBAAkB,sBAS7B"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.throwTransformError = void 0;
4
+ const throwTransformError = (zodType) => {
5
+ throw new Error(`${JSON.stringify(zodType)} contains a transform but is used in both an input and an output. This is likely a mistake. Set an \`effectType\` to resolve`);
6
+ };
7
+ exports.throwTransformError = throwTransformError;
8
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/create/errors.ts"],"names":[],"mappings":";;;AAEO,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACtD,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,CAAC,SAAS,CACf,OAAO,CACR,8HAA8H,CAChI,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,mBAAmB,uBAM9B"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createSchemaOrRef = exports.createRegisteredSchema = exports.createSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const components_1 = require("../components");
6
+ const errors_1 = require("../errors");
6
7
  const array_1 = require("./array");
7
8
  const boolean_1 = require("./boolean");
8
9
  const catch_1 = require("./catch");
@@ -116,15 +117,15 @@ const createSchema = (zodSchema, state) => {
116
117
  exports.createSchema = createSchema;
117
118
  const createRegisteredSchema = (zodSchema, state) => {
118
119
  const component = state.components.schemas.get(zodSchema);
119
- if (component) {
120
- if (!component.types?.includes(state.type)) {
120
+ if (component && component.type === 'complete') {
121
+ if (component.creationType && component.creationType !== state.type) {
121
122
  throw new Error(`schemaRef "${component.ref}" was created with a ZodTransform meaning that the input type is different from the output type. This type is currently being referenced in a response and request. Wrap it in a ZodPipeline, assign it a manual type or effectType`);
122
123
  }
123
124
  return {
124
125
  $ref: (0, components_1.createComponentSchemaRef)(component.ref),
125
126
  };
126
127
  }
127
- const schemaRef = zodSchema._def.openapi?.ref;
128
+ const schemaRef = zodSchema._def.openapi?.ref ?? component?.ref;
128
129
  if (!schemaRef) {
129
130
  return undefined;
130
131
  }
@@ -137,14 +138,18 @@ const createRegisteredSchema = (zodSchema, state) => {
137
138
  if ('$ref' in schemaOrRef) {
138
139
  throw new Error('Unexpected Error: received a reference object');
139
140
  }
141
+ if (newState.effectType) {
142
+ if (state.effectType && newState.effectType !== state.effectType) {
143
+ (0, errors_1.throwTransformError)(zodSchema);
144
+ }
145
+ state.effectType = newState.effectType;
146
+ }
140
147
  state.components.schemas.set(zodSchema, {
148
+ type: 'complete',
141
149
  ref: schemaRef,
142
150
  schemaObject: schemaOrRef,
143
- types: newState?.effectType ? [newState.effectType] : ['input', 'output'],
151
+ creationType: newState.effectType,
144
152
  });
145
- if (newState.effectType) {
146
- state.effectType = newState.effectType;
147
- }
148
153
  return {
149
154
  $ref: (0, components_1.createComponentSchemaRef)(schemaRef),
150
155
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/create/schema/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/create/schema/index.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createTransformSchema = void 0;
4
+ const errors_1 = require("../errors");
4
5
  const manual_1 = require("./manual");
5
6
  const _1 = require(".");
6
7
  const createTransformSchema = (zodTransform, state) => {
7
8
  const creationType = zodTransform._def.openapi?.effectType ?? state.type;
8
- if (creationType === 'input') {
9
- if (state.type === 'input') {
10
- state.effectType = 'input';
9
+ if (creationType === 'output') {
10
+ return (0, manual_1.createManualTypeSchema)(zodTransform);
11
+ }
12
+ if (!zodTransform._def.openapi?.effectType && state.type === 'input') {
13
+ if (state.effectType && state.effectType !== 'input') {
14
+ (0, errors_1.throwTransformError)(zodTransform);
11
15
  }
12
- return (0, _1.createSchemaOrRef)(zodTransform._def.schema, state);
16
+ state.effectType = 'input';
13
17
  }
14
- return (0, manual_1.createManualTypeSchema)(zodTransform);
18
+ return (0, _1.createSchemaOrRef)(zodTransform._def.schema, state);
15
19
  };
16
20
  exports.createTransformSchema = createTransformSchema;
17
21
  //# sourceMappingURL=transform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/create/schema/transform.ts"],"names":[],"mappings":";;;AAGA,qCAAkD;AAElD,wBAAmD;AAE5C,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,IAAA,oBAAiB,EAAC,YAAY,CAAC,IAAI,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC;KACtE;IAED,OAAO,IAAA,+BAAsB,EAAC,YAAY,CAAC,CAAC;AAC9C,CAAC,CAAC;AAbW,QAAA,qBAAqB,yBAahC"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/create/schema/transform.ts"],"names":[],"mappings":";;;AAGA,sCAAgD;AAEhD,qCAAkD;AAElD,wBAAmD;AAE5C,MAAM,qBAAqB,GAAG,CACnC,YAAuC,EACvC,KAAkB,EAC0B,EAAE;IAC9C,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC;IACzE,IAAI,YAAY,KAAK,QAAQ,EAAE;QAC7B,OAAO,IAAA,+BAAsB,EAAC,YAAY,CAAC,CAAC;KAC7C;IAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;QACpE,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,EAAE;YACpD,IAAA,4BAAmB,EAAC,YAAY,CAAC,CAAC;SACnC;QACD,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;KAC5B;IACD,OAAO,IAAA,oBAAiB,EAAC,YAAY,CAAC,IAAI,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC;AACvE,CAAC,CAAC;AAhBW,QAAA,qBAAqB,yBAgBhC"}
@@ -19,25 +19,31 @@ const createSchemas = (schemas, components) => {
19
19
  if (!schemas) {
20
20
  return;
21
21
  }
22
- return Object.entries(schemas).forEach(([key, schema]) => {
22
+ Object.entries(schemas).forEach(([key, schema]) => {
23
23
  if (schema instanceof ZodType) {
24
- const ref = schema._def.openapi?.ref ?? key;
25
- const component = components.schemas.get(schema);
26
- if (component) {
27
- throw new Error(`schemaRef "${ref}" is already registered`);
24
+ if (components.schemas.has(schema)) {
25
+ throw new Error(`schema ${JSON.stringify(schema._def)} is already registered`);
28
26
  }
29
- const state = {
30
- components,
31
- type: schema._def.openapi?.refType ?? 'output',
32
- };
27
+ const ref = schema._def.openapi?.ref ?? key;
33
28
  components.schemas.set(schema, {
29
+ type: 'partial',
34
30
  ref,
35
- schemaObject: createSchemaWithMetadata(schema, state),
36
- types: state.effectType ? [state.effectType] : ['input', 'output'],
37
31
  });
38
- return;
39
32
  }
40
33
  });
34
+ return Array.from(components.schemas).forEach(([schema, { ref }]) => {
35
+ const state = {
36
+ components,
37
+ type: schema._def.openapi?.refType ?? 'output',
38
+ };
39
+ const schemaObject = createSchemaWithMetadata(schema, state);
40
+ components.schemas.set(schema, {
41
+ type: 'complete',
42
+ ref,
43
+ schemaObject,
44
+ creationType: state.effectType,
45
+ });
46
+ });
41
47
  };
42
48
  const createParameters = (parameters, components) => {
43
49
  if (!parameters) {
@@ -93,10 +99,12 @@ const createSchemaComponents = (componentsObject, componentMap) => {
93
99
  return acc;
94
100
  }, {});
95
101
  const components = Array.from(componentMap).reduce((acc, [_zodType, value]) => {
96
- if (acc[value.ref]) {
97
- throw new Error(`Schema "${value.ref}" is already registered`);
102
+ if (value.type === 'complete') {
103
+ if (acc[value.ref]) {
104
+ throw new Error(`Schema "${value.ref}" is already registered`);
105
+ }
106
+ acc[value.ref] = value.schemaObject;
98
107
  }
99
- acc[value.ref] = value.schemaObject;
100
108
  return acc;
101
109
  }, customComponents);
102
110
  return Object.keys(components).length ? components : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/create/components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/create/components.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,13 @@ import { stringify } from 'yaml';
2
2
  import { createComponents, getDefaultComponents } from './components';
3
3
  import { createPaths } from './paths';
4
4
  export const createDocument = (zodOpenApiObject) => {
5
- const { schemas, parameters, headers, ...rest } = zodOpenApiObject.components ?? {};
6
- const components = getDefaultComponents({ headers, schemas, parameters }, zodOpenApiObject.openapi);
5
+ const components = zodOpenApiObject.components ?? {};
6
+ const defaultComponents = getDefaultComponents(components, zodOpenApiObject.openapi);
7
7
  return {
8
8
  ...zodOpenApiObject,
9
- paths: createPaths(zodOpenApiObject.paths, components),
10
- webhooks: createPaths(zodOpenApiObject.webhooks, components),
11
- components: createComponents(rest, components),
9
+ paths: createPaths(zodOpenApiObject.paths, defaultComponents),
10
+ webhooks: createPaths(zodOpenApiObject.webhooks, defaultComponents),
11
+ components: createComponents(components, defaultComponents),
12
12
  };
13
13
  };
14
14
  export const createDocumentJson = (params, jsonOptions) => {
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/create/document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAKjC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA4FtC,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,gBAAkC,EACb,EAAE;IACvB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAC7C,gBAAgB,CAAC,UAAU,IAAI,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,oBAAoB,CACrC,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAChC,gBAAgB,CAAC,OAAO,CACzB,CAAC;IAEF,OAAO;QACL,GAAG,gBAAgB;QACnB,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,CAAC;QACtD,QAAQ,EAAE,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC;QAC5D,UAAU,EAAE,gBAAgB,CAAC,IAAI,EAAE,UAAU,CAAC;KAC/C,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAwB,EACxB,WAGC,EACO,EAAE;IACV,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC,SAAS,CACnB,QAAQ,EACR,WAAW,EAAE,QAAQ,EACrB,WAAW,EAAE,OAAO,IAAI,CAAC,CAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAwB,EACxB,cAGI,EAAE,EACE,EAAE;IACV,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;AACxE,CAAC,CAAC"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/create/document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAKjC,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA4FtC,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,gBAAkC,EACb,EAAE;IACvB,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,IAAI,EAAE,CAAC;IACrD,MAAM,iBAAiB,GAAG,oBAAoB,CAC5C,UAAU,EACV,gBAAgB,CAAC,OAAO,CACzB,CAAC;IAEF,OAAO;QACL,GAAG,gBAAgB;QACnB,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,CAAC;QAC7D,QAAQ,EAAE,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE,iBAAiB,CAAC;QACnE,UAAU,EAAE,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,CAAC;KAC5D,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAwB,EACxB,WAGC,EACO,EAAE;IACV,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC,SAAS,CACnB,QAAQ,EACR,WAAW,EAAE,QAAQ,EACrB,WAAW,EAAE,OAAO,IAAI,CAAC,CAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAwB,EACxB,cAGI,EAAE,EACE,EAAE;IACV,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACxC,OAAO,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;AACxE,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export const throwTransformError = (zodType) => {
2
+ throw new Error(`${JSON.stringify(zodType)} contains a transform but is used in both an input and an output. This is likely a mistake. Set an \`effectType\` to resolve`);
3
+ };
4
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/create/errors.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAgB,EAAE,EAAE;IACtD,MAAM,IAAI,KAAK,CACb,GAAG,IAAI,CAAC,SAAS,CACf,OAAO,CACR,8HAA8H,CAChI,CAAC;AACJ,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { ZodArray, ZodBoolean, ZodCatch, ZodDate, ZodDefault, ZodDiscriminatedUnion, ZodEffects, ZodEnum, ZodIntersection, ZodLiteral, ZodNativeEnum, ZodNull, ZodNullable, ZodNumber, ZodObject, ZodOptional, ZodPipeline, ZodRecord, ZodString, ZodTuple, ZodUnion, ZodUnknown, } from 'zod';
2
2
  import { createComponentSchemaRef, } from '../components';
3
+ import { throwTransformError } from '../errors';
3
4
  import { createArraySchema } from './array';
4
5
  import { createBooleanSchema } from './boolean';
5
6
  import { createCatchSchema } from './catch';
@@ -112,15 +113,15 @@ export const createSchema = (zodSchema, state) => {
112
113
  };
113
114
  export const createRegisteredSchema = (zodSchema, state) => {
114
115
  const component = state.components.schemas.get(zodSchema);
115
- if (component) {
116
- if (!component.types?.includes(state.type)) {
116
+ if (component && component.type === 'complete') {
117
+ if (component.creationType && component.creationType !== state.type) {
117
118
  throw new Error(`schemaRef "${component.ref}" was created with a ZodTransform meaning that the input type is different from the output type. This type is currently being referenced in a response and request. Wrap it in a ZodPipeline, assign it a manual type or effectType`);
118
119
  }
119
120
  return {
120
121
  $ref: createComponentSchemaRef(component.ref),
121
122
  };
122
123
  }
123
- const schemaRef = zodSchema._def.openapi?.ref;
124
+ const schemaRef = zodSchema._def.openapi?.ref ?? component?.ref;
124
125
  if (!schemaRef) {
125
126
  return undefined;
126
127
  }
@@ -133,14 +134,18 @@ export const createRegisteredSchema = (zodSchema, state) => {
133
134
  if ('$ref' in schemaOrRef) {
134
135
  throw new Error('Unexpected Error: received a reference object');
135
136
  }
137
+ if (newState.effectType) {
138
+ if (state.effectType && newState.effectType !== state.effectType) {
139
+ throwTransformError(zodSchema);
140
+ }
141
+ state.effectType = newState.effectType;
142
+ }
136
143
  state.components.schemas.set(zodSchema, {
144
+ type: 'complete',
137
145
  ref: schemaRef,
138
146
  schemaObject: schemaOrRef,
139
- types: newState?.effectType ? [newState.effectType] : ['input', 'output'],
147
+ creationType: newState.effectType,
140
148
  });
141
- if (newState.effectType) {
142
- state.effectType = newState.effectType;
143
- }
144
149
  return {
145
150
  $ref: createComponentSchemaRef(schemaRef),
146
151
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/create/schema/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/create/schema/index.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,17 @@
1
+ import { throwTransformError } from '../errors';
1
2
  import { createManualTypeSchema } from './manual';
2
3
  import { createSchemaOrRef } from '.';
3
4
  export const createTransformSchema = (zodTransform, state) => {
4
5
  const creationType = zodTransform._def.openapi?.effectType ?? state.type;
5
- if (creationType === 'input') {
6
- if (state.type === 'input') {
7
- state.effectType = 'input';
6
+ if (creationType === 'output') {
7
+ return createManualTypeSchema(zodTransform);
8
+ }
9
+ if (!zodTransform._def.openapi?.effectType && state.type === 'input') {
10
+ if (state.effectType && state.effectType !== 'input') {
11
+ throwTransformError(zodTransform);
8
12
  }
9
- return createSchemaOrRef(zodTransform._def.schema, state);
13
+ state.effectType = 'input';
10
14
  }
11
- return createManualTypeSchema(zodTransform);
15
+ return createSchemaOrRef(zodTransform._def.schema, state);
12
16
  };
13
17
  //# sourceMappingURL=transform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/create/schema/transform.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,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,sBAAsB,CAAC,YAAY,CAAC,CAAC;AAC9C,CAAC,CAAC"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/create/schema/transform.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,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,QAAQ,EAAE;QAC7B,OAAO,sBAAsB,CAAC,YAAY,CAAC,CAAC;KAC7C;IAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;QACpE,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,EAAE;YACpD,mBAAmB,CAAC,YAAY,CAAC,CAAC;SACnC;QACD,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;KAC5B;IACD,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC;AACvE,CAAC,CAAC"}
@@ -2,11 +2,19 @@ import { oas30, oas31 } from 'openapi3-ts';
2
2
  import { ZodType } from 'zod';
3
3
  import { ZodOpenApiComponentsObject, ZodOpenApiVersion } from './document';
4
4
  export type CreationType = 'input' | 'output';
5
- export interface SchemaComponent {
6
- ref: string;
5
+ export interface CompleteSchemaComponent extends BaseSchemaComponent {
6
+ type: 'complete';
7
7
  schemaObject: oas31.SchemaObject | oas31.ReferenceObject | oas30.SchemaObject | oas30.ReferenceObject;
8
- types: [CreationType, ...CreationType[]];
8
+ /** Set when the created schemaObject is specific to a particular CreationType */
9
+ creationType?: CreationType;
10
+ }
11
+ export interface PartialSchemaComponent extends BaseSchemaComponent {
12
+ type: 'partial';
13
+ }
14
+ interface BaseSchemaComponent {
15
+ ref: string;
9
16
  }
17
+ export type SchemaComponent = CompleteSchemaComponent | PartialSchemaComponent;
10
18
  export type SchemaComponentMap = Map<ZodType, SchemaComponent>;
11
19
  export interface ParameterComponent {
12
20
  zodSchema?: ZodType;
@@ -28,7 +36,7 @@ export interface ComponentsObject {
28
36
  headers: HeadersComponentObject;
29
37
  openapi: ZodOpenApiVersion;
30
38
  }
31
- export declare const getDefaultComponents: (componentsObject?: Pick<ZodOpenApiComponentsObject, 'schemas' | 'parameters' | 'headers'>, openapi?: ZodOpenApiVersion) => ComponentsObject;
39
+ export declare const getDefaultComponents: (componentsObject?: ZodOpenApiComponentsObject, openapi?: ZodOpenApiVersion) => ComponentsObject;
32
40
  export declare const createComponentSchemaRef: (schemaRef: string) => string;
33
41
  export declare const createComponents: (componentsObject: ZodOpenApiComponentsObject, components: ComponentsObject) => oas31.ComponentsObject | undefined;
34
42
  export {};
@@ -0,0 +1,2 @@
1
+ import { ZodType } from 'zod';
2
+ export declare const throwTransformError: (zodType: ZodType) => never;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zod-openapi",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
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": {