zod-openapi 2.2.0 → 2.2.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/README.md CHANGED
@@ -181,7 +181,26 @@ createDocument({
181
181
  });
182
182
  ```
183
183
 
184
- If you would like to declare parameters using OpenAPI syntax you may also declare them using the [parameters](https://swagger.io/docs/specification/describing-parameters/) key. The definitions will then all be combined.
184
+ If you would like to declare parameters in a more traditional way you may also declare them using the [parameters](https://swagger.io/docs/specification/describing-parameters/) key. The definitions will then all be combined.
185
+
186
+ ```ts
187
+ createDocument({
188
+ paths: {
189
+ '/jobs/:a': {
190
+ put: {
191
+ parameters: [
192
+ z.string().openapi({
193
+ param: {
194
+ name: 'job-header',
195
+ in: 'header',
196
+ },
197
+ }),
198
+ ],
199
+ },
200
+ },
201
+ },
202
+ });
203
+ ```
185
204
 
186
205
  ### Request Body
187
206
 
@@ -296,38 +315,68 @@ createDocument({
296
315
 
297
316
  ##### Zod Effects
298
317
 
299
- `.transform()` is complicated because it technically comprises of two types (input & output). This means that we need to understand which type you are creating. If you are adding the ZodSchema directly to the `components` section, context is required with knowing to create an input schema or an output schema. You can do this by setting the `refType` field to `input` or `output` in `.openapi()`. This defaults to `output` by default.
318
+ `.transform()` is complicated because it technically comprises of two types (input & output). This means that we need to understand which type you are creating.
300
319
 
301
- If a registered schema with a transform is used in both a request and response schema you will receive an error because the created schema for each will be different. To override the creation type for a specific ZodEffect, add an `.openapi()` field and set the `effectType` field to `input`. This will force this library to always generate the input type even if we are creating a response type.
320
+ If a registered schema with a transform or pipeline is used in both a request and response schema you will receive an error because the created schema for each will be different. To override the creation type for a specific ZodEffect, add an `.openapi()` field and set the `effectType` field to `input` or `output`. This will force this library to always generate the input/output type even if we are creating a response (output) or request (input) type. You typically want to use this when your know your transform has not changed the type.
302
321
 
303
322
  `.preprocess()` will always return the `output` type even if we are creating an input schema. If a different input type is required you can achieve this with a `.transform()` combined with a `.pipe()` or simply declare a manual `type` in `.openapi()`.
304
323
 
324
+ If you are adding the ZodSchema directly to the `components` section which is not referenced anywhere in the document, context may required with knowing to create an input schema or an output schema. You can do this by setting the `refType` field to `input` or `output` in `.openapi()`. This defaults to `output` by default.
325
+
305
326
  #### Parameters
306
327
 
307
328
  Query, Path, Header & Cookie parameters can be similarly registered:
308
329
 
309
330
  ```typescript
331
+ // Easy auto registration
310
332
  const jobId = z.string().openapi({
311
333
  description: 'Job ID',
312
334
  example: '1234',
313
- param: { ref: 'jobId' },
335
+ param: { ref: 'jobRef' },
314
336
  });
315
337
 
316
- // or
338
+ createDocument({
339
+ paths: {
340
+ '/jobs/{jobId}': {
341
+ put: {
342
+ requestParams: {
343
+ header: z.object({
344
+ jobId,
345
+ }),
346
+ },
347
+ },
348
+ },
349
+ },
350
+ });
317
351
 
318
- const commonHeaders = z.object({
319
- jobId: z.string(),
352
+ // or more verbose auto registration
353
+ const jobId = z.string().openapi({
354
+ description: 'Job ID',
355
+ example: '1234',
356
+ param: { in: 'header', name: 'jobId', ref: 'jobRef' },
320
357
  });
321
358
 
322
- const path = z.string();
359
+ createDocument({
360
+ paths: {
361
+ '/jobs/{jobId}': {
362
+ put: {
363
+ parameters: [jobId],
364
+ },
365
+ },
366
+ },
367
+ });
368
+
369
+ // or manual registeration
370
+ const otherJobId = z.string().openapi({
371
+ description: 'Job ID',
372
+ example: '1234',
373
+ param: { in: 'header', name: 'jobId' },
374
+ });
323
375
 
324
376
  createDocument({
325
377
  components: {
326
- requestParams: {
327
- header: commonHeaders,
328
- path: z.object({ path }),
329
- query: z.object({ query: z.string() }),
330
- cookie: z.object({ cookie: z.string() }),
378
+ parameters: {
379
+ jobRef: jobId,
331
380
  },
332
381
  },
333
382
  });
@@ -348,14 +397,14 @@ const header = z.string().openapi({
348
397
 
349
398
  const jobIdHeader = z.string().openapi({
350
399
  description: 'Job ID',
351
- example: '1234'
400
+ example: '1234',
352
401
  });
353
402
 
354
403
  createDocument({
355
404
  components: {
356
- headers: z.object(
357
- 'some-header': jobIdHeader
358
- )
405
+ headers: {
406
+ someHeaderRef: jobIdHeader,
407
+ },
359
408
  },
360
409
  });
361
410
  ```
@@ -504,7 +553,7 @@ zod-openapi was created while trying to add a feature to support auto registerin
504
553
 
505
554
  3. No transform support or safety. You can use a `type` to override the transform type but what happens when that transform logic changes?
506
555
 
507
- 4. Eslint rules. I initially created some rules for that library, however, I had to add some awkward logic to account for the registry class. With more creative control, I can create better rules going forward. See [eslint-plugin-zod-openapi](https://github.com/samchungy/eslint-plugin-zod-openapi) for some magic.
556
+ 4. No input/output validation with components. What happens when you register a component with a transform which technically comprises of two types in a request and a response?
508
557
 
509
558
  Did I really rewrite an entire library just for this? Absolutely. I believe that creating documentation and types should be as simple and as frictionless as possible.
510
559
 
@@ -19,7 +19,7 @@ const getDefaultComponents = (componentsObject, openapi = '3.1.0') => {
19
19
  return defaultComponents;
20
20
  }
21
21
  createSchemas(componentsObject.schemas, defaultComponents);
22
- createParameters(componentsObject.requestParams, defaultComponents);
22
+ createParameters(componentsObject.parameters, defaultComponents);
23
23
  createRequestBodies(componentsObject.requestBodies, defaultComponents);
24
24
  createHeaders(componentsObject.headers, defaultComponents);
25
25
  createResponses(componentsObject.responses, defaultComponents);
@@ -42,38 +42,28 @@ const createSchemas = (schemas, components) => {
42
42
  });
43
43
  }
44
44
  });
45
- return Array.from(components.schemas).forEach(([schema, { type }]) => {
46
- if (type === 'partial') {
47
- const state = {
48
- components,
49
- type: schema._def.openapi?.refType ?? 'output',
50
- };
51
- (0, schema_1.createSchemaOrRef)(schema, state);
52
- }
53
- });
54
45
  };
55
- const createParameters = (requestParams, components) => {
56
- if (!requestParams) {
46
+ const createParameters = (parameters, components) => {
47
+ if (!parameters) {
57
48
  return;
58
49
  }
59
- Object.entries(requestParams).forEach(([paramType, zodObject]) => {
60
- Object.entries(zodObject._def.shape()).forEach(([key, schema]) => {
61
- if (schema instanceof zod_1.ZodType) {
62
- if (components.parameters.has(schema)) {
63
- throw new Error(`Parameter ${JSON.stringify(schema._def)} is already registered`);
64
- }
65
- const ref = schema._def.openapi?.param?.ref ?? key;
66
- components.parameters.set(schema, {
67
- type: 'partial',
68
- ref,
69
- in: paramType,
70
- });
50
+ Object.entries(parameters).forEach(([key, schema]) => {
51
+ if (schema instanceof zod_1.ZodType) {
52
+ if (components.parameters.has(schema)) {
53
+ throw new Error(`Parameter ${JSON.stringify(schema._def)} is already registered`);
71
54
  }
72
- });
73
- });
74
- return Array.from(components.parameters).forEach(([schema, component]) => {
75
- if (component.type === 'partial') {
76
- (0, parameters_1.createParamOrRef)(schema, component.in, component.ref, components);
55
+ const ref = schema._def.openapi?.param?.ref ?? key;
56
+ const name = schema._def.openapi?.param?.name;
57
+ const location = schema._def.openapi?.param?.in;
58
+ if (!name || !location) {
59
+ throw new Error('`name` or `in` missing in .openapi()');
60
+ }
61
+ components.parameters.set(schema, {
62
+ type: 'partial',
63
+ ref,
64
+ in: location,
65
+ name,
66
+ });
77
67
  }
78
68
  });
79
69
  };
@@ -81,22 +71,16 @@ const createHeaders = (responseHeaders, components) => {
81
71
  if (!responseHeaders) {
82
72
  return;
83
73
  }
84
- if (!(responseHeaders instanceof zod_1.ZodType)) {
85
- return;
86
- }
87
- Object.entries(responseHeaders._def.shape()).forEach(([key, schema]) => {
88
- if (components.parameters.has(schema)) {
89
- throw new Error(`Header ${JSON.stringify(schema._def)} is already registered`);
90
- }
91
- const ref = schema._def.openapi?.param?.ref ?? key;
92
- components.headers.set(schema, {
93
- type: 'partial',
94
- ref,
95
- });
96
- });
97
- return Array.from(components.headers).forEach(([schema, component]) => {
98
- if (component.type === 'partial') {
99
- (0, responses_1.createHeaderOrRef)(schema, components);
74
+ Object.entries(responseHeaders).forEach(([key, schema]) => {
75
+ if (schema instanceof zod_1.ZodType) {
76
+ if (components.parameters.has(schema)) {
77
+ throw new Error(`Header ${JSON.stringify(schema._def)} is already registered`);
78
+ }
79
+ const ref = schema._def.openapi?.param?.ref ?? key;
80
+ components.headers.set(schema, {
81
+ type: 'partial',
82
+ ref,
83
+ });
100
84
  }
101
85
  });
102
86
  };
@@ -114,11 +98,6 @@ const createResponses = (responses, components) => {
114
98
  ref,
115
99
  });
116
100
  });
117
- return Array.from(components.responses).forEach(([schema, component]) => {
118
- if (component.type === 'partial') {
119
- (0, responses_1.createResponse)(schema, components);
120
- }
121
- });
122
101
  };
123
102
  const createRequestBodies = (requestBodies, components) => {
124
103
  if (!requestBodies) {
@@ -134,11 +113,6 @@ const createRequestBodies = (requestBodies, components) => {
134
113
  ref,
135
114
  });
136
115
  });
137
- return Array.from(components.requestBodies).forEach(([schema, component]) => {
138
- if (component.type === 'partial') {
139
- (0, paths_1.createRequestBody)(schema, components);
140
- }
141
- });
142
116
  };
143
117
  const createComponentSchemaRef = (schemaRef) => `#/components/schemas/${schemaRef}`;
144
118
  exports.createComponentSchemaRef = createComponentSchemaRef;
@@ -147,11 +121,11 @@ exports.createComponentResponseRef = createComponentResponseRef;
147
121
  const createComponentRequestBodyRef = (requestBodyRef) => `#/components/requestBodies/${requestBodyRef}`;
148
122
  exports.createComponentRequestBodyRef = createComponentRequestBodyRef;
149
123
  const createComponents = (componentsObject, components) => {
150
- const combinedSchemas = createSchemaComponents(componentsObject, components.schemas);
151
- const combinedParameters = createParamComponents(componentsObject, components.parameters);
152
- const combinedHeaders = createHeaderComponents(componentsObject, components.headers);
153
- const combinedResponses = createResponseComponents(components.responses);
154
- const combinedRequestBodies = createRequestBodiesComponents(components.requestBodies);
124
+ const combinedSchemas = createSchemaComponents(componentsObject, components);
125
+ const combinedParameters = createParamComponents(componentsObject, components);
126
+ const combinedHeaders = createHeaderComponents(componentsObject, components);
127
+ const combinedResponses = createResponseComponents(components);
128
+ const combinedRequestBodies = createRequestBodiesComponents(components);
155
129
  const { schemas, parameters, headers, responses, requestBodies, ...rest } = componentsObject;
156
130
  const finalComponents = {
157
131
  ...rest,
@@ -164,7 +138,16 @@ const createComponents = (componentsObject, components) => {
164
138
  return Object.keys(finalComponents).length ? finalComponents : undefined;
165
139
  };
166
140
  exports.createComponents = createComponents;
167
- const createSchemaComponents = (componentsObject, componentMap) => {
141
+ const createSchemaComponents = (componentsObject, components) => {
142
+ Array.from(components.schemas).forEach(([schema, { type }]) => {
143
+ if (type === 'partial') {
144
+ const state = {
145
+ components,
146
+ type: schema._def.openapi?.refType ?? 'output',
147
+ };
148
+ (0, schema_1.createSchemaOrRef)(schema, state);
149
+ }
150
+ });
168
151
  const customComponents = Object.entries(componentsObject.schemas ?? {}).reduce((acc, [key, value]) => {
169
152
  if (value instanceof zod_1.ZodType) {
170
153
  return acc;
@@ -175,7 +158,7 @@ const createSchemaComponents = (componentsObject, componentMap) => {
175
158
  acc[key] = value;
176
159
  return acc;
177
160
  }, {});
178
- const components = Array.from(componentMap).reduce((acc, [_zodType, component]) => {
161
+ const finalComponents = Array.from(components.schemas).reduce((acc, [_zodType, component]) => {
179
162
  if (component.type === 'complete') {
180
163
  if (acc[component.ref]) {
181
164
  throw new Error(`Schema "${component.ref}" is already registered`);
@@ -184,17 +167,24 @@ const createSchemaComponents = (componentsObject, componentMap) => {
184
167
  }
185
168
  return acc;
186
169
  }, customComponents);
187
- return Object.keys(components).length ? components : undefined;
170
+ return Object.keys(finalComponents).length ? finalComponents : undefined;
188
171
  };
189
- const createParamComponents = (componentsObject, componentMap) => {
172
+ const createParamComponents = (componentsObject, components) => {
173
+ Array.from(components.parameters).forEach(([schema, component]) => {
174
+ if (component.type === 'partial') {
175
+ (0, parameters_1.createParamOrRef)(schema, components, component.in, component.ref);
176
+ }
177
+ });
190
178
  const customComponents = Object.entries(componentsObject.parameters ?? {}).reduce((acc, [key, value]) => {
191
- if (acc[key]) {
192
- throw new Error(`Parameter "${key}" is already registered`);
179
+ if (!(value instanceof zod_1.ZodType)) {
180
+ if (acc[key]) {
181
+ throw new Error(`Parameter "${key}" is already registered`);
182
+ }
183
+ acc[key] = value;
193
184
  }
194
- acc[key] = value;
195
185
  return acc;
196
186
  }, {});
197
- const components = Array.from(componentMap).reduce((acc, [_zodType, component]) => {
187
+ const finalComponents = Array.from(components.parameters).reduce((acc, [_zodType, component]) => {
198
188
  if (component.type === 'complete') {
199
189
  if (acc[component.ref]) {
200
190
  throw new Error(`Parameter "${component.ref}" is already registered`);
@@ -203,20 +193,25 @@ const createParamComponents = (componentsObject, componentMap) => {
203
193
  }
204
194
  return acc;
205
195
  }, customComponents);
206
- return Object.keys(components).length ? components : undefined;
196
+ return Object.keys(finalComponents).length ? finalComponents : undefined;
207
197
  };
208
- const createHeaderComponents = (componentsObject, componentMap) => {
198
+ const createHeaderComponents = (componentsObject, components) => {
199
+ Array.from(components.headers).forEach(([schema, component]) => {
200
+ if (component.type === 'partial') {
201
+ (0, responses_1.createHeaderOrRef)(schema, components);
202
+ }
203
+ });
209
204
  const headers = componentsObject.headers ?? {};
210
- const customComponents = headers instanceof zod_1.ZodType
211
- ? {}
212
- : Object.entries(headers).reduce((acc, [key, value]) => {
205
+ const customComponents = Object.entries(headers).reduce((acc, [key, value]) => {
206
+ if (!(value instanceof zod_1.ZodType)) {
213
207
  if (acc[key]) {
214
- throw new Error(`Header "${key}" is already registered`);
208
+ throw new Error(`Header Ref "${key}" is already registered`);
215
209
  }
216
210
  acc[key] = value;
217
- return acc;
218
- }, {});
219
- const components = Array.from(componentMap).reduce((acc, [_zodType, component]) => {
211
+ }
212
+ return acc;
213
+ }, {});
214
+ const finalComponents = Array.from(components.headers).reduce((acc, [_zodType, component]) => {
220
215
  if (component.type === 'complete') {
221
216
  if (acc[component.ref]) {
222
217
  throw new Error(`Header "${component.ref}" is already registered`);
@@ -225,10 +220,15 @@ const createHeaderComponents = (componentsObject, componentMap) => {
225
220
  }
226
221
  return acc;
227
222
  }, customComponents);
228
- return Object.keys(components).length ? components : undefined;
223
+ return Object.keys(finalComponents).length ? finalComponents : undefined;
229
224
  };
230
- const createResponseComponents = (componentMap) => {
231
- const components = Array.from(componentMap).reduce((acc, [_zodType, component]) => {
225
+ const createResponseComponents = (components) => {
226
+ Array.from(components.responses).forEach(([schema, component]) => {
227
+ if (component.type === 'partial') {
228
+ (0, responses_1.createResponse)(schema, components);
229
+ }
230
+ });
231
+ const finalComponents = Array.from(components.responses).reduce((acc, [_zodType, component]) => {
232
232
  if (component.type === 'complete') {
233
233
  if (acc[component.ref]) {
234
234
  throw new Error(`Response "${component.ref}" is already registered`);
@@ -237,10 +237,15 @@ const createResponseComponents = (componentMap) => {
237
237
  }
238
238
  return acc;
239
239
  }, {});
240
- return Object.keys(components).length ? components : undefined;
240
+ return Object.keys(finalComponents).length ? finalComponents : undefined;
241
241
  };
242
- const createRequestBodiesComponents = (componentMap) => {
243
- const components = Array.from(componentMap).reduce((acc, [_zodType, component]) => {
242
+ const createRequestBodiesComponents = (components) => {
243
+ Array.from(components.requestBodies).forEach(([schema, component]) => {
244
+ if (component.type === 'partial') {
245
+ (0, paths_1.createRequestBody)(schema, components);
246
+ }
247
+ });
248
+ const finalComponents = Array.from(components.requestBodies).reduce((acc, [_zodType, component]) => {
244
249
  if (component.type === 'complete') {
245
250
  if (acc[component.ref]) {
246
251
  throw new Error(`RequestBody "${component.ref}" is already registered`);
@@ -250,6 +255,6 @@ const createRequestBodiesComponents = (componentMap) => {
250
255
  }
251
256
  return acc;
252
257
  }, {});
253
- return Object.keys(components).length ? components : undefined;
258
+ return Object.keys(finalComponents).length ? finalComponents : undefined;
254
259
  };
255
260
  //# sourceMappingURL=components.js.map
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/create/document.ts"],"names":[],"mappings":";;;AAKA,6CAAsE;AACtE,mCAAsC;AA8G/B,MAAM,cAAc,GAAG,CAC5B,gBAAkC,EACb,EAAE;IACvB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,gBAAgB,CAAC;IACvE,MAAM,iBAAiB,GAAG,IAAA,iCAAoB,EAC5C,UAAU,EACV,gBAAgB,CAAC,OAAO,CACzB,CAAC;IAEF,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,IAAA,mBAAW,EAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACjE,MAAM,iBAAiB,GAAG,IAAA,6BAAgB,EAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAE1E,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,YAAY,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QAC5C,GAAG,CAAC,eAAe,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;QACrD,GAAG,CAAC,iBAAiB,IAAI,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC,CAAC;AAnBW,QAAA,cAAc,kBAmBzB"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/create/document.ts"],"names":[],"mappings":";;;AAKA,6CAAsE;AACtE,mCAAsC;AAmI/B,MAAM,cAAc,GAAG,CAC5B,gBAAkC,EACb,EAAE;IACvB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,gBAAgB,CAAC;IACvE,MAAM,iBAAiB,GAAG,IAAA,iCAAoB,EAC5C,UAAU,EACV,gBAAgB,CAAC,OAAO,CACzB,CAAC;IAEF,MAAM,YAAY,GAAG,IAAA,mBAAW,EAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,IAAA,mBAAW,EAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACjE,MAAM,iBAAiB,GAAG,IAAA,6BAAgB,EAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAE1E,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,YAAY,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QAC5C,GAAG,CAAC,eAAe,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;QACrD,GAAG,CAAC,iBAAiB,IAAI,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC,CAAC;AAnBW,QAAA,cAAc,kBAmBzB"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createParametersObject = exports.createParamOrRef = exports.createBaseParameter = exports.createComponentParamRef = void 0;
3
+ exports.createParametersObject = exports.createManualParameters = exports.createParamOrRef = exports.createBaseParameter = exports.createComponentParamRef = void 0;
4
+ const zod_1 = require("zod");
4
5
  const schema_1 = require("./schema");
5
6
  const createComponentParamRef = (ref) => `#/components/parameters/${ref}`;
6
7
  exports.createComponentParamRef = createComponentParamRef;
@@ -18,11 +19,19 @@ const createBaseParameter = (schema, components) => {
18
19
  };
19
20
  };
20
21
  exports.createBaseParameter = createBaseParameter;
21
- const createParamOrRef = (zodSchema, type, name, components) => {
22
+ const createParamOrRef = (zodSchema, components, type, name) => {
22
23
  const component = components.parameters.get(zodSchema);
24
+ const paramType = zodSchema._def?.openapi?.param?.in ?? component?.in ?? type;
25
+ const paramName = zodSchema._def?.openapi?.param?.name ?? component?.name ?? name;
26
+ if (!paramType) {
27
+ throw new Error('Parameter type missing');
28
+ }
29
+ if (!paramName) {
30
+ throw new Error('Parameter name missing');
31
+ }
23
32
  if (component && component.type === 'complete') {
24
33
  if (!('$ref' in component.paramObject) &&
25
- (component.paramObject.in !== type || component.paramObject.name !== name)) {
34
+ (component.in !== type || component.name !== name)) {
26
35
  throw new Error(`parameterRef "${component.ref}" is already registered`);
27
36
  }
28
37
  return {
@@ -36,8 +45,8 @@ const createParamOrRef = (zodSchema, type, name, components) => {
36
45
  }
37
46
  const ref = zodSchema?._def?.openapi?.param?.ref ?? component?.ref;
38
47
  const paramObject = {
39
- in: type,
40
- name,
48
+ in: paramType,
49
+ name: paramName,
41
50
  ...baseParamOrRef,
42
51
  };
43
52
  if (ref) {
@@ -45,6 +54,8 @@ const createParamOrRef = (zodSchema, type, name, components) => {
45
54
  type: 'complete',
46
55
  paramObject,
47
56
  ref,
57
+ in: paramType,
58
+ name: paramName,
48
59
  });
49
60
  return {
50
61
  $ref: (0, exports.createComponentParamRef)(ref),
@@ -57,7 +68,7 @@ const createParameters = (type, zodObject, components) => {
57
68
  if (!zodObject) {
58
69
  return [];
59
70
  }
60
- return Object.entries(zodObject.shape).map(([key, zodSchema]) => (0, exports.createParamOrRef)(zodSchema, type, key, components));
71
+ return Object.entries(zodObject.shape).map(([key, zodSchema]) => (0, exports.createParamOrRef)(zodSchema, components, type, key));
61
72
  };
62
73
  const createRequestParams = (requestParams, components) => {
63
74
  if (!requestParams) {
@@ -69,10 +80,18 @@ const createRequestParams = (requestParams, components) => {
69
80
  const headerParams = createParameters('header', requestParams.header, components);
70
81
  return [...pathParams, ...queryParams, ...cookieParams, ...headerParams];
71
82
  };
83
+ const createManualParameters = (parameters, components) => parameters?.map((param) => {
84
+ if (param instanceof zod_1.ZodType) {
85
+ return (0, exports.createParamOrRef)(param, components);
86
+ }
87
+ return param;
88
+ }) ?? [];
89
+ exports.createManualParameters = createManualParameters;
72
90
  const createParametersObject = (parameters, requestParams, components) => {
91
+ const manualParameters = (0, exports.createManualParameters)(parameters, components);
73
92
  const createdParams = createRequestParams(requestParams, components);
74
93
  const combinedParameters = [
75
- ...(parameters ? parameters : []),
94
+ ...manualParameters,
76
95
  ...createdParams,
77
96
  ];
78
97
  return combinedParameters.length ? combinedParameters : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/create/parameters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/create/parameters.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createPipelineSchema = void 0;
4
+ const errors_1 = require("../errors");
4
5
  const _1 = require(".");
5
6
  const createPipelineSchema = (zodPipeline, state) => {
7
+ if (zodPipeline._def.openapi?.effectType === 'input') {
8
+ return (0, _1.createSchemaOrRef)(zodPipeline._def.in, state);
9
+ }
10
+ if (zodPipeline._def.openapi?.effectType === 'output') {
11
+ return (0, _1.createSchemaOrRef)(zodPipeline._def.out, state);
12
+ }
6
13
  if (state.type === 'input') {
14
+ if (state.effectType === 'output') {
15
+ (0, errors_1.throwTransformError)(zodPipeline);
16
+ }
17
+ state.effectType = 'input';
7
18
  return (0, _1.createSchemaOrRef)(zodPipeline._def.in, state);
8
19
  }
20
+ if (state.effectType === 'input') {
21
+ (0, errors_1.throwTransformError)(zodPipeline);
22
+ }
23
+ state.effectType = 'output';
9
24
  return (0, _1.createSchemaOrRef)(zodPipeline._def.out, state);
10
25
  };
11
26
  exports.createPipelineSchema = createPipelineSchema;
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/create/schema/pipeline.ts"],"names":[],"mappings":";;;AAIA,wBAAwD;AAEjD,MAAM,oBAAoB,GAAG,CAClC,WAAkC,EAClC,KAAkB,EAC0B,EAAE;IAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;QAC1B,OAAO,IAAA,oBAAiB,EAAC,WAAW,CAAC,IAAI,CAAC,EAAgB,EAAE,KAAK,CAAC,CAAC;KACpE;IACD,OAAO,IAAA,oBAAiB,EAAC,WAAW,CAAC,IAAI,CAAC,GAAiB,EAAE,KAAK,CAAC,CAAC;AACtE,CAAC,CAAC;AARW,QAAA,oBAAoB,wBAQ/B"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/create/schema/pipeline.ts"],"names":[],"mappings":";;;AAGA,sCAAgD;AAEhD,wBAAwD;AAEjD,MAAM,oBAAoB,GAAG,CAClC,WAAkC,EAClC,KAAkB,EAC0B,EAAE;IAC9C,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,EAAE;QACpD,OAAO,IAAA,oBAAiB,EAAC,WAAW,CAAC,IAAI,CAAC,EAAgB,EAAE,KAAK,CAAC,CAAC;KACpE;IAED,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,QAAQ,EAAE;QACrD,OAAO,IAAA,oBAAiB,EAAC,WAAW,CAAC,IAAI,CAAC,GAAiB,EAAE,KAAK,CAAC,CAAC;KACrE;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;QAC1B,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE;YACjC,IAAA,4BAAmB,EAAC,WAAW,CAAC,CAAC;SAClC;QACD,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;QAC3B,OAAO,IAAA,oBAAiB,EAAC,WAAW,CAAC,IAAI,CAAC,EAAgB,EAAE,KAAK,CAAC,CAAC;KACpE;IAED,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,EAAE;QAChC,IAAA,4BAAmB,EAAC,WAAW,CAAC,CAAC;KAClC;IACD,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC5B,OAAO,IAAA,oBAAiB,EAAC,WAAW,CAAC,IAAI,CAAC,GAAiB,EAAE,KAAK,CAAC,CAAC;AACtE,CAAC,CAAC;AAzBW,QAAA,oBAAoB,wBAyB/B"}
@@ -5,16 +5,19 @@ const errors_1 = require("../errors");
5
5
  const manual_1 = require("./manual");
6
6
  const _1 = require(".");
7
7
  const createTransformSchema = (zodTransform, state) => {
8
- const creationType = zodTransform._def.openapi?.effectType ?? state.type;
9
- if (creationType === 'output') {
8
+ if (zodTransform._def.openapi?.effectType === 'output') {
10
9
  return (0, manual_1.createManualTypeSchema)(zodTransform);
11
10
  }
12
- if (!zodTransform._def.openapi?.effectType && state.type === 'input') {
13
- if (state.effectType && state.effectType !== 'input') {
14
- (0, errors_1.throwTransformError)(zodTransform);
15
- }
16
- state.effectType = 'input';
11
+ if (zodTransform._def.openapi?.effectType === 'input') {
12
+ return (0, _1.createSchemaOrRef)(zodTransform._def.schema, state);
17
13
  }
14
+ if (state.type === 'output') {
15
+ return (0, manual_1.createManualTypeSchema)(zodTransform);
16
+ }
17
+ if (state.effectType === 'output') {
18
+ (0, errors_1.throwTransformError)(zodTransform);
19
+ }
20
+ state.effectType = 'input';
18
21
  return (0, _1.createSchemaOrRef)(zodTransform._def.schema, state);
19
22
  };
20
23
  exports.createTransformSchema = createTransformSchema;
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/create/schema/transform.ts"],"names":[],"mappings":";;;AAGA,sCAAgD;AAEhD,qCAAkD;AAElD,wBAAwD;AAEjD,MAAM,qBAAqB,GAAG,CACnC,YAAuC,EACvC,KAAkB,EAC0B,EAAE;IAC9C,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC;IACzE,IAAI,YAAY,KAAK,QAAQ,EAAE;QAC7B,OAAO,IAAA,+BAAsB,EAAC,YAAY,CAAC,CAAC;KAC7C;IAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;QACpE,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,EAAE;YACpD,IAAA,4BAAmB,EAAC,YAAY,CAAC,CAAC;SACnC;QACD,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;KAC5B;IACD,OAAO,IAAA,oBAAiB,EAAC,YAAY,CAAC,IAAI,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC;AACvE,CAAC,CAAC;AAhBW,QAAA,qBAAqB,yBAgBhC"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/create/schema/transform.ts"],"names":[],"mappings":";;;AAGA,sCAAgD;AAEhD,qCAAkD;AAElD,wBAAwD;AAEjD,MAAM,qBAAqB,GAAG,CACnC,YAAuC,EACvC,KAAkB,EAC0B,EAAE;IAC9C,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,QAAQ,EAAE;QACtD,OAAO,IAAA,+BAAsB,EAAC,YAAY,CAAC,CAAC;KAC7C;IAED,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,EAAE;QACrD,OAAO,IAAA,oBAAiB,EAAC,YAAY,CAAC,IAAI,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC;KACtE;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC3B,OAAO,IAAA,+BAAsB,EAAC,YAAY,CAAC,CAAC;KAC7C;IAED,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE;QACjC,IAAA,4BAAmB,EAAC,YAAY,CAAC,CAAC;KACnC;IACD,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;IAC3B,OAAO,IAAA,oBAAiB,EAAC,YAAY,CAAC,IAAI,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC;AACvE,CAAC,CAAC;AArBW,QAAA,qBAAqB,yBAqBhC"}
@@ -16,7 +16,7 @@ export const getDefaultComponents = (componentsObject, openapi = '3.1.0') => {
16
16
  return defaultComponents;
17
17
  }
18
18
  createSchemas(componentsObject.schemas, defaultComponents);
19
- createParameters(componentsObject.requestParams, defaultComponents);
19
+ createParameters(componentsObject.parameters, defaultComponents);
20
20
  createRequestBodies(componentsObject.requestBodies, defaultComponents);
21
21
  createHeaders(componentsObject.headers, defaultComponents);
22
22
  createResponses(componentsObject.responses, defaultComponents);
@@ -38,38 +38,28 @@ const createSchemas = (schemas, components) => {
38
38
  });
39
39
  }
40
40
  });
41
- return Array.from(components.schemas).forEach(([schema, { type }]) => {
42
- if (type === 'partial') {
43
- const state = {
44
- components,
45
- type: schema._def.openapi?.refType ?? 'output',
46
- };
47
- createSchemaOrRef(schema, state);
48
- }
49
- });
50
41
  };
51
- const createParameters = (requestParams, components) => {
52
- if (!requestParams) {
42
+ const createParameters = (parameters, components) => {
43
+ if (!parameters) {
53
44
  return;
54
45
  }
55
- Object.entries(requestParams).forEach(([paramType, zodObject]) => {
56
- Object.entries(zodObject._def.shape()).forEach(([key, schema]) => {
57
- if (schema instanceof ZodType) {
58
- if (components.parameters.has(schema)) {
59
- throw new Error(`Parameter ${JSON.stringify(schema._def)} is already registered`);
60
- }
61
- const ref = schema._def.openapi?.param?.ref ?? key;
62
- components.parameters.set(schema, {
63
- type: 'partial',
64
- ref,
65
- in: paramType,
66
- });
46
+ Object.entries(parameters).forEach(([key, schema]) => {
47
+ if (schema instanceof ZodType) {
48
+ if (components.parameters.has(schema)) {
49
+ throw new Error(`Parameter ${JSON.stringify(schema._def)} is already registered`);
67
50
  }
68
- });
69
- });
70
- return Array.from(components.parameters).forEach(([schema, component]) => {
71
- if (component.type === 'partial') {
72
- createParamOrRef(schema, component.in, component.ref, components);
51
+ const ref = schema._def.openapi?.param?.ref ?? key;
52
+ const name = schema._def.openapi?.param?.name;
53
+ const location = schema._def.openapi?.param?.in;
54
+ if (!name || !location) {
55
+ throw new Error('`name` or `in` missing in .openapi()');
56
+ }
57
+ components.parameters.set(schema, {
58
+ type: 'partial',
59
+ ref,
60
+ in: location,
61
+ name,
62
+ });
73
63
  }
74
64
  });
75
65
  };
@@ -77,22 +67,16 @@ const createHeaders = (responseHeaders, components) => {
77
67
  if (!responseHeaders) {
78
68
  return;
79
69
  }
80
- if (!(responseHeaders instanceof ZodType)) {
81
- return;
82
- }
83
- Object.entries(responseHeaders._def.shape()).forEach(([key, schema]) => {
84
- if (components.parameters.has(schema)) {
85
- throw new Error(`Header ${JSON.stringify(schema._def)} is already registered`);
86
- }
87
- const ref = schema._def.openapi?.param?.ref ?? key;
88
- components.headers.set(schema, {
89
- type: 'partial',
90
- ref,
91
- });
92
- });
93
- return Array.from(components.headers).forEach(([schema, component]) => {
94
- if (component.type === 'partial') {
95
- createHeaderOrRef(schema, components);
70
+ Object.entries(responseHeaders).forEach(([key, schema]) => {
71
+ if (schema instanceof ZodType) {
72
+ if (components.parameters.has(schema)) {
73
+ throw new Error(`Header ${JSON.stringify(schema._def)} is already registered`);
74
+ }
75
+ const ref = schema._def.openapi?.param?.ref ?? key;
76
+ components.headers.set(schema, {
77
+ type: 'partial',
78
+ ref,
79
+ });
96
80
  }
97
81
  });
98
82
  };
@@ -110,11 +94,6 @@ const createResponses = (responses, components) => {
110
94
  ref,
111
95
  });
112
96
  });
113
- return Array.from(components.responses).forEach(([schema, component]) => {
114
- if (component.type === 'partial') {
115
- createResponse(schema, components);
116
- }
117
- });
118
97
  };
119
98
  const createRequestBodies = (requestBodies, components) => {
120
99
  if (!requestBodies) {
@@ -130,21 +109,16 @@ const createRequestBodies = (requestBodies, components) => {
130
109
  ref,
131
110
  });
132
111
  });
133
- return Array.from(components.requestBodies).forEach(([schema, component]) => {
134
- if (component.type === 'partial') {
135
- createRequestBody(schema, components);
136
- }
137
- });
138
112
  };
139
113
  export const createComponentSchemaRef = (schemaRef) => `#/components/schemas/${schemaRef}`;
140
114
  export const createComponentResponseRef = (responseRef) => `#/components/responses/${responseRef}`;
141
115
  export const createComponentRequestBodyRef = (requestBodyRef) => `#/components/requestBodies/${requestBodyRef}`;
142
116
  export const createComponents = (componentsObject, components) => {
143
- const combinedSchemas = createSchemaComponents(componentsObject, components.schemas);
144
- const combinedParameters = createParamComponents(componentsObject, components.parameters);
145
- const combinedHeaders = createHeaderComponents(componentsObject, components.headers);
146
- const combinedResponses = createResponseComponents(components.responses);
147
- const combinedRequestBodies = createRequestBodiesComponents(components.requestBodies);
117
+ const combinedSchemas = createSchemaComponents(componentsObject, components);
118
+ const combinedParameters = createParamComponents(componentsObject, components);
119
+ const combinedHeaders = createHeaderComponents(componentsObject, components);
120
+ const combinedResponses = createResponseComponents(components);
121
+ const combinedRequestBodies = createRequestBodiesComponents(components);
148
122
  const { schemas, parameters, headers, responses, requestBodies, ...rest } = componentsObject;
149
123
  const finalComponents = {
150
124
  ...rest,
@@ -156,7 +130,16 @@ export const createComponents = (componentsObject, components) => {
156
130
  };
157
131
  return Object.keys(finalComponents).length ? finalComponents : undefined;
158
132
  };
159
- const createSchemaComponents = (componentsObject, componentMap) => {
133
+ const createSchemaComponents = (componentsObject, components) => {
134
+ Array.from(components.schemas).forEach(([schema, { type }]) => {
135
+ if (type === 'partial') {
136
+ const state = {
137
+ components,
138
+ type: schema._def.openapi?.refType ?? 'output',
139
+ };
140
+ createSchemaOrRef(schema, state);
141
+ }
142
+ });
160
143
  const customComponents = Object.entries(componentsObject.schemas ?? {}).reduce((acc, [key, value]) => {
161
144
  if (value instanceof ZodType) {
162
145
  return acc;
@@ -167,7 +150,7 @@ const createSchemaComponents = (componentsObject, componentMap) => {
167
150
  acc[key] = value;
168
151
  return acc;
169
152
  }, {});
170
- const components = Array.from(componentMap).reduce((acc, [_zodType, component]) => {
153
+ const finalComponents = Array.from(components.schemas).reduce((acc, [_zodType, component]) => {
171
154
  if (component.type === 'complete') {
172
155
  if (acc[component.ref]) {
173
156
  throw new Error(`Schema "${component.ref}" is already registered`);
@@ -176,17 +159,24 @@ const createSchemaComponents = (componentsObject, componentMap) => {
176
159
  }
177
160
  return acc;
178
161
  }, customComponents);
179
- return Object.keys(components).length ? components : undefined;
162
+ return Object.keys(finalComponents).length ? finalComponents : undefined;
180
163
  };
181
- const createParamComponents = (componentsObject, componentMap) => {
164
+ const createParamComponents = (componentsObject, components) => {
165
+ Array.from(components.parameters).forEach(([schema, component]) => {
166
+ if (component.type === 'partial') {
167
+ createParamOrRef(schema, components, component.in, component.ref);
168
+ }
169
+ });
182
170
  const customComponents = Object.entries(componentsObject.parameters ?? {}).reduce((acc, [key, value]) => {
183
- if (acc[key]) {
184
- throw new Error(`Parameter "${key}" is already registered`);
171
+ if (!(value instanceof ZodType)) {
172
+ if (acc[key]) {
173
+ throw new Error(`Parameter "${key}" is already registered`);
174
+ }
175
+ acc[key] = value;
185
176
  }
186
- acc[key] = value;
187
177
  return acc;
188
178
  }, {});
189
- const components = Array.from(componentMap).reduce((acc, [_zodType, component]) => {
179
+ const finalComponents = Array.from(components.parameters).reduce((acc, [_zodType, component]) => {
190
180
  if (component.type === 'complete') {
191
181
  if (acc[component.ref]) {
192
182
  throw new Error(`Parameter "${component.ref}" is already registered`);
@@ -195,20 +185,25 @@ const createParamComponents = (componentsObject, componentMap) => {
195
185
  }
196
186
  return acc;
197
187
  }, customComponents);
198
- return Object.keys(components).length ? components : undefined;
188
+ return Object.keys(finalComponents).length ? finalComponents : undefined;
199
189
  };
200
- const createHeaderComponents = (componentsObject, componentMap) => {
190
+ const createHeaderComponents = (componentsObject, components) => {
191
+ Array.from(components.headers).forEach(([schema, component]) => {
192
+ if (component.type === 'partial') {
193
+ createHeaderOrRef(schema, components);
194
+ }
195
+ });
201
196
  const headers = componentsObject.headers ?? {};
202
- const customComponents = headers instanceof ZodType
203
- ? {}
204
- : Object.entries(headers).reduce((acc, [key, value]) => {
197
+ const customComponents = Object.entries(headers).reduce((acc, [key, value]) => {
198
+ if (!(value instanceof ZodType)) {
205
199
  if (acc[key]) {
206
- throw new Error(`Header "${key}" is already registered`);
200
+ throw new Error(`Header Ref "${key}" is already registered`);
207
201
  }
208
202
  acc[key] = value;
209
- return acc;
210
- }, {});
211
- const components = Array.from(componentMap).reduce((acc, [_zodType, component]) => {
203
+ }
204
+ return acc;
205
+ }, {});
206
+ const finalComponents = Array.from(components.headers).reduce((acc, [_zodType, component]) => {
212
207
  if (component.type === 'complete') {
213
208
  if (acc[component.ref]) {
214
209
  throw new Error(`Header "${component.ref}" is already registered`);
@@ -217,10 +212,15 @@ const createHeaderComponents = (componentsObject, componentMap) => {
217
212
  }
218
213
  return acc;
219
214
  }, customComponents);
220
- return Object.keys(components).length ? components : undefined;
215
+ return Object.keys(finalComponents).length ? finalComponents : undefined;
221
216
  };
222
- const createResponseComponents = (componentMap) => {
223
- const components = Array.from(componentMap).reduce((acc, [_zodType, component]) => {
217
+ const createResponseComponents = (components) => {
218
+ Array.from(components.responses).forEach(([schema, component]) => {
219
+ if (component.type === 'partial') {
220
+ createResponse(schema, components);
221
+ }
222
+ });
223
+ const finalComponents = Array.from(components.responses).reduce((acc, [_zodType, component]) => {
224
224
  if (component.type === 'complete') {
225
225
  if (acc[component.ref]) {
226
226
  throw new Error(`Response "${component.ref}" is already registered`);
@@ -229,10 +229,15 @@ const createResponseComponents = (componentMap) => {
229
229
  }
230
230
  return acc;
231
231
  }, {});
232
- return Object.keys(components).length ? components : undefined;
232
+ return Object.keys(finalComponents).length ? finalComponents : undefined;
233
233
  };
234
- const createRequestBodiesComponents = (componentMap) => {
235
- const components = Array.from(componentMap).reduce((acc, [_zodType, component]) => {
234
+ const createRequestBodiesComponents = (components) => {
235
+ Array.from(components.requestBodies).forEach(([schema, component]) => {
236
+ if (component.type === 'partial') {
237
+ createRequestBody(schema, components);
238
+ }
239
+ });
240
+ const finalComponents = Array.from(components.requestBodies).reduce((acc, [_zodType, component]) => {
236
241
  if (component.type === 'complete') {
237
242
  if (acc[component.ref]) {
238
243
  throw new Error(`RequestBody "${component.ref}" is already registered`);
@@ -242,6 +247,6 @@ const createRequestBodiesComponents = (componentMap) => {
242
247
  }
243
248
  return acc;
244
249
  }, {});
245
- return Object.keys(components).length ? components : undefined;
250
+ return Object.keys(finalComponents).length ? finalComponents : undefined;
246
251
  };
247
252
  //# sourceMappingURL=components.js.map
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/create/document.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA8GtC,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,gBAAkC,EACb,EAAE;IACvB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,gBAAgB,CAAC;IACvE,MAAM,iBAAiB,GAAG,oBAAoB,CAC5C,UAAU,EACV,gBAAgB,CAAC,OAAO,CACzB,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACjE,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAE1E,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,YAAY,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QAC5C,GAAG,CAAC,eAAe,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;QACrD,GAAG,CAAC,iBAAiB,IAAI,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/create/document.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAmItC,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,gBAAkC,EACb,EAAE;IACvB,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,gBAAgB,CAAC;IACvE,MAAM,iBAAiB,GAAG,oBAAoB,CAC5C,UAAU,EACV,gBAAgB,CAAC,OAAO,CACzB,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,WAAW,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACjE,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAE1E,OAAO;QACL,GAAG,IAAI;QACP,GAAG,CAAC,YAAY,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QAC5C,GAAG,CAAC,eAAe,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;QACrD,GAAG,CAAC,iBAAiB,IAAI,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;KAC5D,CAAC;AACJ,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { ZodType } from 'zod';
1
2
  import { createSchemaOrRef } from './schema';
2
3
  export const createComponentParamRef = (ref) => `#/components/parameters/${ref}`;
3
4
  export const createBaseParameter = (schema, components) => {
@@ -13,11 +14,19 @@ export const createBaseParameter = (schema, components) => {
13
14
  ...(required && { required }),
14
15
  };
15
16
  };
16
- export const createParamOrRef = (zodSchema, type, name, components) => {
17
+ export const createParamOrRef = (zodSchema, components, type, name) => {
17
18
  const component = components.parameters.get(zodSchema);
19
+ const paramType = zodSchema._def?.openapi?.param?.in ?? component?.in ?? type;
20
+ const paramName = zodSchema._def?.openapi?.param?.name ?? component?.name ?? name;
21
+ if (!paramType) {
22
+ throw new Error('Parameter type missing');
23
+ }
24
+ if (!paramName) {
25
+ throw new Error('Parameter name missing');
26
+ }
18
27
  if (component && component.type === 'complete') {
19
28
  if (!('$ref' in component.paramObject) &&
20
- (component.paramObject.in !== type || component.paramObject.name !== name)) {
29
+ (component.in !== type || component.name !== name)) {
21
30
  throw new Error(`parameterRef "${component.ref}" is already registered`);
22
31
  }
23
32
  return {
@@ -31,8 +40,8 @@ export const createParamOrRef = (zodSchema, type, name, components) => {
31
40
  }
32
41
  const ref = zodSchema?._def?.openapi?.param?.ref ?? component?.ref;
33
42
  const paramObject = {
34
- in: type,
35
- name,
43
+ in: paramType,
44
+ name: paramName,
36
45
  ...baseParamOrRef,
37
46
  };
38
47
  if (ref) {
@@ -40,6 +49,8 @@ export const createParamOrRef = (zodSchema, type, name, components) => {
40
49
  type: 'complete',
41
50
  paramObject,
42
51
  ref,
52
+ in: paramType,
53
+ name: paramName,
43
54
  });
44
55
  return {
45
56
  $ref: createComponentParamRef(ref),
@@ -51,7 +62,7 @@ const createParameters = (type, zodObject, components) => {
51
62
  if (!zodObject) {
52
63
  return [];
53
64
  }
54
- return Object.entries(zodObject.shape).map(([key, zodSchema]) => createParamOrRef(zodSchema, type, key, components));
65
+ return Object.entries(zodObject.shape).map(([key, zodSchema]) => createParamOrRef(zodSchema, components, type, key));
55
66
  };
56
67
  const createRequestParams = (requestParams, components) => {
57
68
  if (!requestParams) {
@@ -63,10 +74,17 @@ const createRequestParams = (requestParams, components) => {
63
74
  const headerParams = createParameters('header', requestParams.header, components);
64
75
  return [...pathParams, ...queryParams, ...cookieParams, ...headerParams];
65
76
  };
77
+ export const createManualParameters = (parameters, components) => parameters?.map((param) => {
78
+ if (param instanceof ZodType) {
79
+ return createParamOrRef(param, components);
80
+ }
81
+ return param;
82
+ }) ?? [];
66
83
  export const createParametersObject = (parameters, requestParams, components) => {
84
+ const manualParameters = createManualParameters(parameters, components);
67
85
  const createdParams = createRequestParams(requestParams, components);
68
86
  const combinedParameters = [
69
- ...(parameters ? parameters : []),
87
+ ...manualParameters,
70
88
  ...createdParams,
71
89
  ];
72
90
  return combinedParameters.length ? combinedParameters : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/create/parameters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../src/create/parameters.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,23 @@
1
+ import { throwTransformError } from '../errors';
1
2
  import { createSchemaOrRef } from '.';
2
3
  export const createPipelineSchema = (zodPipeline, state) => {
4
+ if (zodPipeline._def.openapi?.effectType === 'input') {
5
+ return createSchemaOrRef(zodPipeline._def.in, state);
6
+ }
7
+ if (zodPipeline._def.openapi?.effectType === 'output') {
8
+ return createSchemaOrRef(zodPipeline._def.out, state);
9
+ }
3
10
  if (state.type === 'input') {
11
+ if (state.effectType === 'output') {
12
+ throwTransformError(zodPipeline);
13
+ }
14
+ state.effectType = 'input';
4
15
  return createSchemaOrRef(zodPipeline._def.in, state);
5
16
  }
17
+ if (state.effectType === 'input') {
18
+ throwTransformError(zodPipeline);
19
+ }
20
+ state.effectType = 'output';
6
21
  return createSchemaOrRef(zodPipeline._def.out, state);
7
22
  };
8
23
  //# sourceMappingURL=pipeline.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/create/schema/pipeline.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAExD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,WAAkC,EAClC,KAAkB,EAC0B,EAAE;IAC9C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;QAC1B,OAAO,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAgB,EAAE,KAAK,CAAC,CAAC;KACpE;IACD,OAAO,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,GAAiB,EAAE,KAAK,CAAC,CAAC;AACtE,CAAC,CAAC"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/create/schema/pipeline.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAoB,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAExD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,WAAkC,EAClC,KAAkB,EAC0B,EAAE;IAC9C,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,EAAE;QACpD,OAAO,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAgB,EAAE,KAAK,CAAC,CAAC;KACpE;IAED,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,QAAQ,EAAE;QACrD,OAAO,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,GAAiB,EAAE,KAAK,CAAC,CAAC;KACrE;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;QAC1B,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE;YACjC,mBAAmB,CAAC,WAAW,CAAC,CAAC;SAClC;QACD,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;QAC3B,OAAO,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAgB,EAAE,KAAK,CAAC,CAAC;KACpE;IAED,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,EAAE;QAChC,mBAAmB,CAAC,WAAW,CAAC,CAAC;KAClC;IACD,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC5B,OAAO,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,GAAiB,EAAE,KAAK,CAAC,CAAC;AACtE,CAAC,CAAC"}
@@ -2,16 +2,19 @@ import { throwTransformError } from '../errors';
2
2
  import { createManualTypeSchema } from './manual';
3
3
  import { createSchemaOrRef } from '.';
4
4
  export const createTransformSchema = (zodTransform, state) => {
5
- const creationType = zodTransform._def.openapi?.effectType ?? state.type;
6
- if (creationType === 'output') {
5
+ if (zodTransform._def.openapi?.effectType === 'output') {
7
6
  return createManualTypeSchema(zodTransform);
8
7
  }
9
- if (!zodTransform._def.openapi?.effectType && state.type === 'input') {
10
- if (state.effectType && state.effectType !== 'input') {
11
- throwTransformError(zodTransform);
12
- }
13
- state.effectType = 'input';
8
+ if (zodTransform._def.openapi?.effectType === 'input') {
9
+ return createSchemaOrRef(zodTransform._def.schema, state);
14
10
  }
11
+ if (state.type === 'output') {
12
+ return createManualTypeSchema(zodTransform);
13
+ }
14
+ if (state.effectType === 'output') {
15
+ throwTransformError(zodTransform);
16
+ }
17
+ state.effectType = 'input';
15
18
  return createSchemaOrRef(zodTransform._def.schema, state);
16
19
  };
17
20
  //# sourceMappingURL=transform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/create/schema/transform.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,EAAoB,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAExD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,YAAuC,EACvC,KAAkB,EAC0B,EAAE;IAC9C,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC;IACzE,IAAI,YAAY,KAAK,QAAQ,EAAE;QAC7B,OAAO,sBAAsB,CAAC,YAAY,CAAC,CAAC;KAC7C;IAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;QACpE,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,EAAE;YACpD,mBAAmB,CAAC,YAAY,CAAC,CAAC;SACnC;QACD,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;KAC5B;IACD,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC;AACvE,CAAC,CAAC"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../../../src/create/schema/transform.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,EAAoB,iBAAiB,EAAE,MAAM,GAAG,CAAC;AAExD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,YAAuC,EACvC,KAAkB,EAC0B,EAAE;IAC9C,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,QAAQ,EAAE;QACtD,OAAO,sBAAsB,CAAC,YAAY,CAAC,CAAC;KAC7C;IAED,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,KAAK,OAAO,EAAE;QACrD,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC;KACtE;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC3B,OAAO,sBAAsB,CAAC,YAAY,CAAC,CAAC;KAC7C;IAED,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,EAAE;QACjC,mBAAmB,CAAC,YAAY,CAAC,CAAC;KACnC;IACD,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;IAC3B,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,MAAiB,EAAE,KAAK,CAAC,CAAC;AACvE,CAAC,CAAC"}
@@ -22,10 +22,11 @@ export interface CompleteParameterComponent extends BaseParameterComponent {
22
22
  }
23
23
  export interface PartialParameterComponent extends BaseParameterComponent {
24
24
  type: 'partial';
25
- in: oas31.ParameterLocation;
26
25
  }
27
26
  interface BaseParameterComponent {
28
27
  ref: string;
28
+ in: oas31.ParameterLocation;
29
+ name: string;
29
30
  }
30
31
  export type ParameterComponent = CompleteParameterComponent | PartialParameterComponent;
31
32
  export type ParameterComponentMap = Map<ZodType, ParameterComponent>;
@@ -26,7 +26,8 @@ export interface ZodOpenApiResponsesObject extends oas31.ISpecificationExtension
26
26
  export type ZodOpenApiParameters = {
27
27
  [type in oas31.ParameterLocation & oas30.ParameterLocation]?: AnyZodObject;
28
28
  };
29
- export interface ZodOpenApiOperationObject extends Omit<oas31.OperationObject & oas30.OperationObject, 'requestBody' | 'responses'> {
29
+ export interface ZodOpenApiOperationObject extends Omit<oas31.OperationObject & oas30.OperationObject, 'requestBody' | 'responses' | 'parameters'> {
30
+ parameters?: (ZodType | oas31.ParameterObject | oas30.ParameterObject | oas31.ReferenceObject | oas30.ReferenceObject)[];
30
31
  requestBody?: ZodOpenApiRequestBodyObject;
31
32
  requestParams?: ZodOpenApiParameters;
32
33
  responses: ZodOpenApiResponsesObject;
@@ -44,15 +45,19 @@ export interface ZodOpenApiPathItemObject extends Omit<oas31.PathItemObject & oa
44
45
  export interface ZodOpenApiPathsObject extends oas31.ISpecificationExtension {
45
46
  [path: string]: ZodOpenApiPathItemObject;
46
47
  }
47
- export interface ZodOpenApiComponentsObject extends Omit<oas31.ComponentsObject & oas30.ComponentsObject, 'schemas' | 'responses' | 'requestBodies' | 'headers'> {
48
+ export interface ZodOpenApiComponentsObject extends Omit<oas31.ComponentsObject & oas30.ComponentsObject, 'schemas' | 'responses' | 'requestBodies' | 'headers' | 'parameters'> {
49
+ parameters?: {
50
+ [parameter: string]: ZodType | oas31.ParameterObject | oas30.ParameterObject | oas31.ReferenceObject | oas30.ReferenceObject;
51
+ };
48
52
  schemas?: {
49
53
  [ref: string]: ZodType | oas31.SchemaObject | oas31.ReferenceObject | oas30.SchemaObject | oas30.ReferenceObject;
50
54
  };
51
55
  requestBodies?: {
52
56
  [ref: string]: ZodOpenApiRequestBodyObject;
53
57
  };
54
- requestParams?: ZodOpenApiParameters;
55
- headers?: AnyZodObject | oas31.HeadersObject | oas30.HeadersObject;
58
+ headers?: {
59
+ [header: string]: ZodType | oas31.HeaderObject | oas30.HeaderObject | oas31.ReferenceObject | oas30.ReferenceObject;
60
+ };
56
61
  responses?: {
57
62
  [ref: string]: ZodOpenApiResponseObject;
58
63
  };
@@ -1,8 +1,9 @@
1
- import type { ZodType } from 'zod';
2
- import type { oas31 } from '../openapi3-ts/dist';
1
+ import { ZodType } from 'zod';
2
+ import type { oas30, oas31 } from '../openapi3-ts/dist';
3
3
  import type { ComponentsObject } from './components';
4
4
  import type { ZodOpenApiParameters } from './document';
5
5
  export declare const createComponentParamRef: (ref: string) => string;
6
6
  export declare const createBaseParameter: (schema: ZodType, components: ComponentsObject) => oas31.BaseParameterObject;
7
- export declare const createParamOrRef: (zodSchema: ZodType, type: keyof ZodOpenApiParameters, name: string, components: ComponentsObject) => oas31.ParameterObject | oas31.ReferenceObject;
8
- export declare const createParametersObject: (parameters: (oas31.ParameterObject | oas31.ReferenceObject)[] | undefined, requestParams: ZodOpenApiParameters | undefined, components: ComponentsObject) => (oas31.ParameterObject | oas31.ReferenceObject)[] | undefined;
7
+ export declare const createParamOrRef: (zodSchema: ZodType, components: ComponentsObject, type?: keyof ZodOpenApiParameters, name?: string) => oas31.ParameterObject | oas31.ReferenceObject;
8
+ export declare const createManualParameters: (parameters: (oas31.ParameterObject | oas31.ReferenceObject | oas30.ParameterObject | oas30.ReferenceObject | ZodType)[] | undefined, components: ComponentsObject) => (oas31.ParameterObject | oas31.ReferenceObject)[];
9
+ export declare const createParametersObject: (parameters: (oas31.ParameterObject | oas31.ReferenceObject | oas30.ParameterObject | oas30.ReferenceObject | ZodType)[] | undefined, requestParams: ZodOpenApiParameters | undefined, components: ComponentsObject) => (oas31.ParameterObject | oas31.ReferenceObject)[] | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zod-openapi",
3
- "version": "2.2.0",
3
+ "version": "2.2.2",
4
4
  "description": "A library to create full OpenAPI documents from your Zod types",
5
5
  "homepage": "https://github.com/samchungy/zod-openapi#readme",
6
6
  "bugs": {
@@ -35,7 +35,7 @@
35
35
  "dependencies": {},
36
36
  "devDependencies": {
37
37
  "@redocly/cli": "1.0.0-beta.125",
38
- "@types/node": "^18.15.13",
38
+ "@types/node": "^20.1.0",
39
39
  "eslint-plugin-zod-openapi": "^0.1.0",
40
40
  "openapi3-ts": "^4.1.2",
41
41
  "skuba": "6.1.0",