@origins-digital/zod-openapi-utils 1.0.3 → 1.0.4

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.
@@ -6,7 +6,7 @@ const makeOpenAPIComponents = (components) => {
6
6
  return components.reduce((components, item) => {
7
7
  if (item._def.schemaName) {
8
8
  if (!components[item._def.schemaName]) {
9
- components[item._def.schemaName] = (0, zod_to_openapi_1.zodToOpenAPI)(item);
9
+ components[item._def.schemaName] = (0, zod_to_openapi_1.zodToOpenAPI)(item, {});
10
10
  }
11
11
  }
12
12
  return components;
@@ -1 +1 @@
1
- {"version":3,"file":"make-open-api.js","sourceRoot":"","sources":["../../src/openapi/make-open-api.ts"],"names":[],"mappings":";;;AACA,qDAAgD;AAEzC,MAAM,qBAAqB,GAAG,CAAC,UAAwB,EAAE,EAAE;IAChE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;QAC5C,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAA,6BAAY,EAAC,IAAI,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC;AATW,QAAA,qBAAqB,yBAShC"}
1
+ {"version":3,"file":"make-open-api.js","sourceRoot":"","sources":["../../src/openapi/make-open-api.ts"],"names":[],"mappings":";;;AACA,qDAAgD;AAEzC,MAAM,qBAAqB,GAAG,CAAC,UAAwB,EAAE,EAAE;IAChE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;QAC5C,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACtC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAA,6BAAY,EAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC,CAAC;AATW,QAAA,qBAAqB,yBAShC"}
@@ -1,6 +1,13 @@
1
1
  import { Type } from '@nestjs/common';
2
2
  import { SchemaObject } from '@nestjs/swagger/dist/interfaces/open-api-spec.interface';
3
3
  import { z } from 'zod';
4
+ import '../zod-openapi-extensions';
5
+ interface ZodToOpenAPIOptions {
6
+ visited?: Set<any>;
7
+ child?: boolean;
8
+ generateRef?: boolean;
9
+ }
4
10
  export declare function is<T extends Type<z.ZodTypeAny>>(input: z.ZodTypeAny, factory: T): input is InstanceType<T>;
5
- export declare function zodToOpenAPI(zodType: z.ZodTypeAny, visited?: Set<any>, child?: boolean): SchemaObject;
11
+ export declare function zodToOpenAPI(zodType: z.ZodTypeAny, options?: ZodToOpenAPIOptions): SchemaObject;
12
+ export {};
6
13
  //# sourceMappingURL=zod-to-openapi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"zod-to-openapi.d.ts","sourceRoot":"","sources":["../../src/openapi/zod-to-openapi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAEL,YAAY,EACb,MAAM,yDAAyD,CAAC;AAGjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,wBAAgB,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EAC7C,KAAK,EAAE,CAAC,CAAC,UAAU,EACnB,OAAO,EAAE,CAAC,GACT,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,CAG1B;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,CAAC,CAAC,UAAU,EACrB,OAAO,GAAE,GAAG,CAAC,GAAG,CAAa,EAC7B,KAAK,GAAE,OAAe,gBAoPvB"}
1
+ {"version":3,"file":"zod-to-openapi.d.ts","sourceRoot":"","sources":["../../src/openapi/zod-to-openapi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAEL,YAAY,EACb,MAAM,yDAAyD,CAAC;AAEjE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,2BAA2B,CAAC;AAKnC,UAAU,mBAAmB;IAC3B,OAAO,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EAC7C,KAAK,EAAE,CAAC,CAAC,UAAU,EACnB,OAAO,EAAE,CAAC,GACT,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,CAG1B;AA0CD,wBAAgB,YAAY,CAC1B,OAAO,EAAE,CAAC,CAAC,UAAU,EACrB,OAAO,GAAE,mBAAwB,gBA8TlC"}
@@ -7,18 +7,56 @@ exports.is = is;
7
7
  exports.zodToOpenAPI = zodToOpenAPI;
8
8
  const deepmerge_1 = __importDefault(require("deepmerge"));
9
9
  const zod_1 = require("zod");
10
+ require("../zod-openapi-extensions");
10
11
  function is(input, factory) {
11
12
  const factories = zod_1.z;
12
13
  return factory === factories[input._def.typeName];
13
14
  }
14
- function zodToOpenAPI(zodType, visited = new Set(), child = false) {
15
- var _a, _b;
16
- const object = {};
17
- if (zodType.description) {
15
+ function applyOpenAPIMetadata(zodType, object) {
16
+ var _a;
17
+ if ((_a = zodType === null || zodType === void 0 ? void 0 : zodType._def) === null || _a === void 0 ? void 0 : _a.metadata) {
18
+ const openapi = zodType._def.metadata;
19
+ if (openapi.title) {
20
+ object.title = openapi.title;
21
+ }
22
+ if (openapi.description) {
23
+ object.description = openapi.description;
24
+ }
25
+ if (openapi.example) {
26
+ object.example = openapi.example;
27
+ }
28
+ if (openapi.examples) {
29
+ object.examples = openapi.examples;
30
+ }
31
+ if (openapi.deprecated !== undefined) {
32
+ object.deprecated = openapi.deprecated;
33
+ }
34
+ if (openapi.readOnly !== undefined) {
35
+ object.readOnly = openapi.readOnly;
36
+ }
37
+ if (openapi.writeOnly !== undefined) {
38
+ object.writeOnly = openapi.writeOnly;
39
+ }
40
+ if (openapi.externalDocs) {
41
+ object.externalDocs = openapi.externalDocs;
42
+ }
43
+ }
44
+ else if (zodType && zodType.description) {
18
45
  object.description = zodType.description;
19
46
  }
20
- if (child && ((_a = zodType._def) === null || _a === void 0 ? void 0 : _a.schemaName)) {
21
- object['$ref'] = `#/components/schemas/${zodType._def.schemaName}`;
47
+ }
48
+ function zodToOpenAPI(zodType, options = {}) {
49
+ var _a, _b;
50
+ const { visited = new Set(), child = false, generateRef = true } = options;
51
+ // Safety check for undefined or null zodType
52
+ if (!zodType || typeof zodType !== 'object') {
53
+ return {};
54
+ }
55
+ const object = {};
56
+ // Handle OpenAPI metadata
57
+ applyOpenAPIMetadata(zodType, object);
58
+ if (generateRef && child && zodType && ((_b = (_a = zodType._def) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.title)) {
59
+ object['$ref'] = `#/components/schemas/${zodType._def.metadata.title}`;
22
60
  return object;
23
61
  }
24
62
  if (is(zodType, zod_1.z.ZodString)) {
@@ -101,13 +139,20 @@ function zodToOpenAPI(zodType, visited = new Set(), child = false) {
101
139
  object.minItems = minLength.value;
102
140
  if (maxLength)
103
141
  object.maxItems = maxLength.value;
104
- object.items = zodToOpenAPI(type, visited, true);
142
+ if (type) {
143
+ object.items = zodToOpenAPI(type, { visited, child: true, generateRef });
144
+ }
145
+ else {
146
+ object.items = {};
147
+ }
105
148
  }
106
149
  if (is(zodType, zod_1.z.ZodTuple)) {
107
150
  const { items } = zodType._def;
108
151
  object.type = 'array';
109
152
  object.items = {
110
- oneOf: items.map((item) => zodToOpenAPI(item, visited, true)),
153
+ oneOf: items
154
+ .filter((item) => item !== undefined && item !== null)
155
+ .map((item) => zodToOpenAPI(item, { visited, child: true, generateRef })),
111
156
  };
112
157
  }
113
158
  if (is(zodType, zod_1.z.ZodSet)) {
@@ -117,12 +162,29 @@ function zodToOpenAPI(zodType, visited = new Set(), child = false) {
117
162
  object.minItems = minSize.value;
118
163
  if (maxSize)
119
164
  object.maxItems = maxSize.value;
120
- object.items = zodToOpenAPI(valueType, visited, true);
165
+ object.items = zodToOpenAPI(valueType, {
166
+ visited,
167
+ child: true,
168
+ generateRef,
169
+ });
121
170
  object.uniqueItems = true;
122
171
  }
123
172
  if (is(zodType, zod_1.z.ZodUnion)) {
124
173
  const { options } = zodType._def;
125
- object.oneOf = options.map((option) => zodToOpenAPI(option, visited, true));
174
+ object.oneOf = [];
175
+ for (const schema of options) {
176
+ if (!schema) {
177
+ continue;
178
+ }
179
+ const schemaResult = zodToOpenAPI(schema, {
180
+ visited,
181
+ child: true,
182
+ generateRef,
183
+ });
184
+ if (schemaResult && Object.keys(schemaResult).length > 0) {
185
+ object.oneOf.push(schemaResult);
186
+ }
187
+ }
126
188
  }
127
189
  if (is(zodType, zod_1.z.ZodDiscriminatedUnion)) {
128
190
  const { options } = zodType._def;
@@ -131,7 +193,7 @@ function zodToOpenAPI(zodType, visited = new Set(), child = false) {
131
193
  };
132
194
  object.oneOf = [];
133
195
  for (const schema of options.values()) {
134
- object.oneOf.push(zodToOpenAPI(schema, visited, true));
196
+ object.oneOf.push(zodToOpenAPI(schema, { visited, child: true, generateRef }));
135
197
  }
136
198
  }
137
199
  if (is(zodType, zod_1.z.ZodLiteral)) {
@@ -164,53 +226,69 @@ function zodToOpenAPI(zodType, visited = new Set(), child = false) {
164
226
  }
165
227
  if (is(zodType, zod_1.z.ZodTransformer)) {
166
228
  const { schema } = zodType._def;
167
- Object.assign(object, zodToOpenAPI(schema, visited, true));
229
+ Object.assign(object, zodToOpenAPI(schema, { visited, child: true, generateRef }));
168
230
  }
169
231
  if (is(zodType, zod_1.z.ZodNullable)) {
170
232
  const { innerType } = zodType._def;
171
- Object.assign(object, zodToOpenAPI(innerType, visited, true));
233
+ Object.assign(object, zodToOpenAPI(innerType, { visited, child: true, generateRef }));
172
234
  object.nullable = true;
173
235
  }
174
236
  if (is(zodType, zod_1.z.ZodOptional)) {
175
237
  const { innerType } = zodType._def;
176
- Object.assign(object, zodToOpenAPI(innerType, visited, true));
238
+ const innerSchema = zodToOpenAPI(innerType, {
239
+ visited,
240
+ child: true,
241
+ generateRef,
242
+ });
243
+ Object.assign(object, innerSchema);
244
+ // Mark as optional by not adding to required array (handled in ZodObject)
177
245
  }
178
246
  if (is(zodType, zod_1.z.ZodDefault)) {
179
247
  const { defaultValue, innerType } = zodType._def;
180
- Object.assign(object, zodToOpenAPI(innerType, visited, true));
248
+ Object.assign(object, zodToOpenAPI(innerType, { visited, child: true, generateRef }));
181
249
  object.default = defaultValue();
182
250
  }
183
251
  if (is(zodType, zod_1.z.ZodObject)) {
184
- // If mergedSchemas exists, reference the original schemas
185
- if ((_b = zodType._def.mergedSchemas) === null || _b === void 0 ? void 0 : _b.length) {
186
- object.allOf = zodType._def.mergedSchemas.map((schema) => zodToOpenAPI(schema, visited, true));
252
+ const { shape } = zodType._def;
253
+ object.type = 'object';
254
+ object.properties = {};
255
+ object.required = [];
256
+ for (const [key, schema] of Object.entries(shape())) {
257
+ object.properties[key] = zodToOpenAPI(schema, {
258
+ visited,
259
+ child: true,
260
+ generateRef,
261
+ });
262
+ const optionalTypes = [zod_1.z.ZodOptional.name, zod_1.z.ZodDefault.name];
263
+ const isOptional = optionalTypes.includes(schema.constructor.name);
264
+ if (!isOptional)
265
+ object.required.push(key);
187
266
  }
188
- else {
189
- const { shape } = zodType._def;
190
- object.type = 'object';
191
- object.properties = {};
192
- object.required = [];
193
- for (const [key, schema] of Object.entries(shape())) {
194
- object.properties[key] = zodToOpenAPI(schema, visited, true);
195
- const optionalTypes = [zod_1.z.ZodOptional.name, zod_1.z.ZodDefault.name];
196
- const isOptional = optionalTypes.includes(schema.constructor.name);
197
- if (!isOptional)
198
- object.required.push(key);
199
- }
200
- if (object.required.length === 0) {
201
- delete object.required;
202
- }
267
+ if (object.required.length === 0) {
268
+ delete object.required;
203
269
  }
204
270
  }
205
271
  if (is(zodType, zod_1.z.ZodRecord)) {
206
272
  const { valueType } = zodType._def;
207
273
  object.type = 'object';
208
- object.additionalProperties = zodToOpenAPI(valueType, visited, true);
274
+ object.additionalProperties = zodToOpenAPI(valueType, {
275
+ visited,
276
+ child: true,
277
+ generateRef,
278
+ });
209
279
  }
210
280
  if (is(zodType, zod_1.z.ZodIntersection)) {
211
281
  const { left, right } = zodType._def;
212
- const leftSchema = zodToOpenAPI(left, visited, true);
213
- const rightSchema = zodToOpenAPI(right, visited, true);
282
+ const leftSchema = zodToOpenAPI(left, {
283
+ visited,
284
+ child: true,
285
+ generateRef,
286
+ });
287
+ const rightSchema = zodToOpenAPI(right, {
288
+ visited,
289
+ child: true,
290
+ generateRef,
291
+ });
214
292
  let merged;
215
293
  if ('$ref' in leftSchema || '$ref' in rightSchema) {
216
294
  merged = { allOf: [leftSchema, rightSchema] }; // Use OpenAPI's `allOf`
@@ -224,14 +302,28 @@ function zodToOpenAPI(zodType, visited = new Set(), child = false) {
224
302
  }
225
303
  if (is(zodType, zod_1.z.ZodEffects)) {
226
304
  const { schema } = zodType._def;
227
- Object.assign(object, zodToOpenAPI(schema, visited, true));
305
+ Object.assign(object, zodToOpenAPI(schema, { visited, child: true, generateRef }));
228
306
  }
229
307
  if (is(zodType, zod_1.z.ZodLazy)) {
230
308
  const { getter } = zodType._def;
231
309
  if (visited.has(getter))
232
310
  return object;
233
311
  visited.add(getter);
234
- Object.assign(object, zodToOpenAPI(getter(), visited, true));
312
+ try {
313
+ // Force evaluation of the lazy schema
314
+ const resolvedSchema = getter();
315
+ // Recursively process the resolved schema
316
+ const resolvedObject = zodToOpenAPI(resolvedSchema, {
317
+ visited,
318
+ child: true,
319
+ generateRef,
320
+ });
321
+ Object.assign(object, resolvedObject);
322
+ }
323
+ catch (error) {
324
+ // If we can't resolve the lazy schema, return an empty object
325
+ return object;
326
+ }
235
327
  }
236
328
  return object;
237
329
  }
@@ -1 +1 @@
1
- {"version":3,"file":"zod-to-openapi.js","sourceRoot":"","sources":["../../src/openapi/zod-to-openapi.ts"],"names":[],"mappings":";;;;;AAYA,gBAMC;AAED,oCAuPC;AArQD,0DAAkC;AAElC,6BAAwB;AAIxB,SAAgB,EAAE,CAChB,KAAmB,EACnB,OAAU;IAEV,MAAM,SAAS,GAAG,OAAkD,CAAC;IACrE,OAAO,OAAO,KAAK,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACpD,CAAC;AAED,SAAgB,YAAY,CAC1B,OAAqB,EACrB,UAAoB,IAAI,GAAG,EAAE,EAC7B,QAAiB,KAAK;;IAEtB,MAAM,MAAM,GAAyB,EAAE,CAAC;IAExC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAC3C,CAAC;IAED,IAAI,KAAK,KAAI,MAAA,OAAO,CAAC,IAAI,0CAAE,UAAU,CAAA,EAAE,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,GAAG,wBAAwB,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAEnE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAChC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QAEvB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACzB,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;YACjC,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAChC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC;YACjC,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAClC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;YAC1B,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAChC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;YACxB,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACjC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YACzB,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACjC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YACzB,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAClC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;YACtC,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACrC,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC;YAC9B,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACjC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;YACzB,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACjC,MAAM,CAAC,OAAO,GAAG,8BAA8B,CAAC;YAClD,CAAC;iBAAM,IACJ,KAAK,CAAC,IAAwC,KAAK,UAAU,EAC9D,CAAC;gBACD,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAChC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QAEvB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;YAC1B,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAChC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC7B,MAAM,CAAC,gBAAgB,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;YAC7C,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAChC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC;gBAC7B,MAAM,CAAC,gBAAgB,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;YAC7C,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACvC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAChC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QAEvB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;QACxB,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QACpD,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;QACtB,IAAI,SAAS;YAAE,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC;QACjD,IAAI,SAAS;YAAE,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC;QACjD,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAC/B,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;QACtB,MAAM,CAAC,KAAK,GAAG;YACb,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;SAC9D,CAAC;IACJ,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QACrD,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;QACtB,IAAI,OAAO;YAAE,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;QAC7C,IAAI,OAAO;YAAE,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;QAC7C,MAAM,CAAC,KAAK,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QACjC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACzC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QACjC,MAAM,CAAC,aAAa,GAAG;YACrB,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa;SACzC,CAAC;QACF,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACtC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAE/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YACvB,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YACvB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,CAAC;QAED,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,mEAAmE;YACnE,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAChC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QACvB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAChC,sDAAsD;QACtD,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QACvB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,OAAO,GAAG,YAAY,EAAE,CAAC;IAClC,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,0DAA0D;QAC1D,IAAI,MAAA,OAAO,CAAC,IAAI,CAAC,aAAa,0CAAE,MAAM,EAAE,CAAC;YACvC,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACvD,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CACpC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAC/B,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YACvB,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;YACvB,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;YAErB,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAe,KAAK,EAAE,CAAC,EAAE,CAAC;gBAClE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC7D,MAAM,aAAa,GAAG,CAAC,OAAC,CAAC,WAAW,CAAC,IAAI,EAAE,OAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC9D,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBACnE,IAAI,CAAC,UAAU;oBAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC7C,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,OAAO,MAAM,CAAC,QAAQ,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QACnC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;QACvB,MAAM,CAAC,oBAAoB,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,eAAe,CAAC,EAAE,CAAC;QACnC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAErC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACvD,IAAI,MAA4B,CAAC;QAEjC,IAAI,MAAM,IAAI,UAAU,IAAI,MAAM,IAAI,WAAW,EAAE,CAAC;YAClD,MAAM,GAAG,EAAE,KAAK,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,wBAAwB;QACzE,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,IAAA,mBAAS,EAAC,UAAU,EAAE,WAAW,EAAE;gBAC1C,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAC7B,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;aAC9C,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,EAAE,CAAC,OAAO,EAAE,OAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;QAChC,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QAEvC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpB,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"zod-to-openapi.js","sourceRoot":"","sources":["../../src/openapi/zod-to-openapi.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,6 @@
1
- import { BadRequestException } from '@nestjs/common';
2
- import { ZodError } from 'zod';
3
- export declare class ZodValidationException extends BadRequestException {
4
- private error;
5
- constructor(error: ZodError);
6
- getZodError(): ZodError<any>;
1
+ import { z } from 'zod';
2
+ export declare class ZodException extends Error {
3
+ readonly errors: z.ZodError;
4
+ constructor(errors: z.ZodError, message?: string);
7
5
  }
8
6
  //# sourceMappingURL=zod.exception.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"zod.exception.d.ts","sourceRoot":"","sources":["../../src/openapi/zod.exception.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAc,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAE/B,qBAAa,sBAAuB,SAAQ,mBAAmB;IACjD,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,QAAQ;IAQ5B,WAAW;CAGnB"}
1
+ {"version":3,"file":"zod.exception.d.ts","sourceRoot":"","sources":["../../src/openapi/zod.exception.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,qBAAa,YAAa,SAAQ,KAAK;aAEnB,MAAM,EAAE,CAAC,CAAC,QAAQ;gBAAlB,MAAM,EAAE,CAAC,CAAC,QAAQ,EAClC,OAAO,CAAC,EAAE,MAAM;CAKnB"}
@@ -1,19 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ZodValidationException = void 0;
4
- const common_1 = require("@nestjs/common");
5
- class ZodValidationException extends common_1.BadRequestException {
6
- constructor(error) {
7
- super({
8
- statusCode: common_1.HttpStatus.BAD_REQUEST,
9
- message: 'Validation failed',
10
- errors: error.errors,
11
- });
12
- this.error = error;
13
- }
14
- getZodError() {
15
- return this.error;
3
+ exports.ZodException = void 0;
4
+ class ZodException extends Error {
5
+ constructor(errors, message) {
6
+ super(message || 'Validation failed');
7
+ this.errors = errors;
8
+ this.name = 'ZodException';
16
9
  }
17
10
  }
18
- exports.ZodValidationException = ZodValidationException;
11
+ exports.ZodException = ZodException;
19
12
  //# sourceMappingURL=zod.exception.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zod.exception.js","sourceRoot":"","sources":["../../src/openapi/zod.exception.ts"],"names":[],"mappings":";;;AAAA,2CAAiE;AAGjE,MAAa,sBAAuB,SAAQ,4BAAmB;IAC7D,YAAoB,KAAe;QACjC,KAAK,CAAC;YACJ,UAAU,EAAE,mBAAU,CAAC,WAAW;YAClC,OAAO,EAAE,mBAAmB;YAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;QALe,UAAK,GAAL,KAAK,CAAU;IAMnC,CAAC;IAEM,WAAW;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF;AAZD,wDAYC"}
1
+ {"version":3,"file":"zod.exception.js","sourceRoot":"","sources":["../../src/openapi/zod.exception.ts"],"names":[],"mappings":";;;AAEA,MAAa,YAAa,SAAQ,KAAK;IACrC,YACkB,MAAkB,EAClC,OAAgB;QAEhB,KAAK,CAAC,OAAO,IAAI,mBAAmB,CAAC,CAAC;QAHtB,WAAM,GAAN,MAAM,CAAY;QAIlC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AARD,oCAQC"}
@@ -8,16 +8,29 @@ export type ZodStringCheckAugmented = ZodStringCheck | {
8
8
  kind: 'password';
9
9
  message?: string;
10
10
  };
11
+ export type ZodOpenAPIMetadata = {
12
+ title?: string;
13
+ description?: string;
14
+ example?: any;
15
+ examples?: Record<string, any>;
16
+ deprecated?: boolean;
17
+ readOnly?: boolean;
18
+ writeOnly?: boolean;
19
+ externalDocs?: {
20
+ description?: string;
21
+ url: string;
22
+ };
23
+ };
11
24
  declare module 'zod' {
12
25
  interface ZodTypeDef {
13
- schemaName?: string;
26
+ metadata?: ZodOpenAPIMetadata;
14
27
  }
15
28
  interface ZodObjectDef {
16
- schemaName?: string;
29
+ metadata?: ZodOpenAPIMetadata;
17
30
  mergedSchemas?: ZodType<any, any, any>[];
18
31
  }
19
32
  interface ZodType<Output = any, Def extends ZodTypeDef = ZodTypeDef, Input = Output> {
20
- dto(name: string): this;
33
+ openapi(metadata: ZodOpenAPIMetadata): this;
21
34
  }
22
35
  interface ZodObject<T extends ZodRawShape, UnknownKeys extends UnknownKeysParam = UnknownKeysParam, Catchall extends ZodTypeAny = ZodTypeAny, Output = objectOutputType<T, Catchall, UnknownKeys>, Input = objectInputType<T, Catchall, UnknownKeys>> {
23
36
  merge<Incoming extends AnyZodObject, Augmentation extends Incoming['shape']>(this: this, other: Incoming): ZodObject<objectUtil.extendShape<T, Augmentation>, Incoming['_def']['unknownKeys'], Incoming['_def']['catchall']>;
@@ -28,4 +41,5 @@ declare module 'zod' {
28
41
  }
29
42
  }
30
43
  export declare const ZodRecord: <KeyType extends string, ZodValueType extends z.ZodTypeAny>(keys: KeyType[], zodValueType: ZodValueType) => z.ZodObject<Record<KeyType, ZodValueType>, "strip", z.ZodTypeAny, objectUtil.addQuestionMarks<z.baseObjectOutputType<Record<KeyType, ZodValueType>>, any> extends infer T ? { [k in keyof T]: objectUtil.addQuestionMarks<z.baseObjectOutputType<Record<KeyType, ZodValueType>>, any>[k]; } : never, z.baseObjectInputType<Record<KeyType, ZodValueType>> extends infer T_1 ? { [k_1 in keyof T_1]: z.baseObjectInputType<Record<KeyType, ZodValueType>>[k_1]; } : never>;
44
+ export declare function extendZodWithOpenAPI<T extends z.ZodTypeAny>(schema: T, metadata: ZodOpenAPIMetadata): T;
31
45
  //# sourceMappingURL=zod.extension.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"zod.extension.d.ts","sourceRoot":"","sources":["../../src/openapi/zod.extension.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAsB,MAAM,KAAK,CAAC;AAGpE,MAAM,MAAM,uBAAuB,GAC/B,cAAc,GACd;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEN,OAAO,QAAQ,KAAK,CAAC;IACnB,UAAU,UAAU;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;IAED,UAAU,YAAY;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;KAC1C;IAED,UAAU,OAAO,CACf,MAAM,GAAG,GAAG,EACZ,GAAG,SAAS,UAAU,GAAG,UAAU,EACnC,KAAK,GAAG,MAAM;QAEd,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;KACzB;IAED,UAAU,SAAS,CACjB,CAAC,SAAS,WAAW,EACrB,WAAW,SAAS,gBAAgB,GAAG,gBAAgB,EACvD,QAAQ,SAAS,UAAU,GAAG,UAAU,EACxC,MAAM,GAAG,gBAAgB,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,EACnD,KAAK,GAAG,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC;QAEjD,KAAK,CACH,QAAQ,SAAS,YAAY,EAC7B,YAAY,SAAS,QAAQ,CAAC,OAAO,CAAC,EAEtC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,QAAQ,GACd,SAAS,CACV,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,YAAY,CAAC,EACvC,QAAQ,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAC/B,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAC7B,CAAC;KACH;IAED,UAAU,SAAS;QACjB,QAAQ,IAAI,IAAI,CAAC;QACjB,SAAS,CAAC,KAAK,EAAE,uBAAuB,GAAG,IAAI,CAAC;KACjD;CACF;AA4CD,eAAO,MAAM,SAAS,GACpB,OAAO,SAAS,MAAM,EACtB,YAAY,SAAS,CAAC,CAAC,UAAU,EAEjC,MAAM,OAAO,EAAE,EACf,cAAc,YAAY,8cAUzB,CAAC"}
1
+ {"version":3,"file":"zod.extension.d.ts","sourceRoot":"","sources":["../../src/openapi/zod.extension.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,CAAC,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAsB,MAAM,KAAK,CAAC;AAGpE,MAAM,MAAM,uBAAuB,GAC/B,cAAc,GACd;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEN,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH,CAAC;AAEF,OAAO,QAAQ,KAAK,CAAC;IACnB,UAAU,UAAU;QAClB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;KAC/B;IAED,UAAU,YAAY;QACpB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;QAC9B,aAAa,CAAC,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;KAC1C;IAED,UAAU,OAAO,CACf,MAAM,GAAG,GAAG,EACZ,GAAG,SAAS,UAAU,GAAG,UAAU,EACnC,KAAK,GAAG,MAAM;QAEd,OAAO,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;KAC7C;IAED,UAAU,SAAS,CACjB,CAAC,SAAS,WAAW,EACrB,WAAW,SAAS,gBAAgB,GAAG,gBAAgB,EACvD,QAAQ,SAAS,UAAU,GAAG,UAAU,EACxC,MAAM,GAAG,gBAAgB,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,EACnD,KAAK,GAAG,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC;QAEjD,KAAK,CACH,QAAQ,SAAS,YAAY,EAC7B,YAAY,SAAS,QAAQ,CAAC,OAAO,CAAC,EAEtC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,QAAQ,GACd,SAAS,CACV,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,YAAY,CAAC,EACvC,QAAQ,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAC/B,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAC7B,CAAC;KACH;IAED,UAAU,SAAS;QACjB,QAAQ,IAAI,IAAI,CAAC;QACjB,SAAS,CAAC,KAAK,EAAE,uBAAuB,GAAG,IAAI,CAAC;KACjD;CACF;AA+CD,eAAO,MAAM,SAAS,GACpB,OAAO,SAAS,MAAM,EACtB,YAAY,SAAS,CAAC,CAAC,UAAU,EAEjC,MAAM,OAAO,EAAE,EACf,cAAc,YAAY,8cAUzB,CAAC;AAEJ,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,EACzD,MAAM,EAAE,CAAC,EACT,QAAQ,EAAE,kBAAkB,GAC3B,CAAC,CAIH"}
@@ -1,12 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ZodRecord = void 0;
4
+ exports.extendZodWithOpenAPI = extendZodWithOpenAPI;
4
5
  /* eslint-disable @typescript-eslint/no-unused-vars */
5
6
  const zod_1 = require("zod");
6
7
  const zod_2 = require("zod");
7
8
  const zod_3 = require("zod");
8
- zod_2.ZodType.prototype.dto = function (name) {
9
- this._def.schemaName = name;
9
+ zod_2.ZodType.prototype.openapi = function (metadata) {
10
+ this._def.metadata = metadata;
10
11
  return this;
11
12
  };
12
13
  const originalMerge = zod_3.ZodObject.prototype.merge;
@@ -24,4 +25,8 @@ zod_2.ZodString.prototype.password = function () {
24
25
  };
25
26
  const ZodRecord = (keys, zodValueType) => zod_1.z.object(keys.reduce((agg, k) => (Object.assign(Object.assign({}, agg), { [k]: zodValueType })), {}));
26
27
  exports.ZodRecord = ZodRecord;
28
+ function extendZodWithOpenAPI(schema, metadata) {
29
+ schema._def.metadata = metadata;
30
+ return schema;
31
+ }
27
32
  //# sourceMappingURL=zod.extension.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zod.extension.js","sourceRoot":"","sources":["../../src/openapi/zod.extension.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,6BAA0D;AAK1D,6BAAoE;AACpE,6BAAgC;AAqDhC,aAAO,CAAC,SAAS,CAAC,GAAG,GAAG,UAAwC,IAAY;IAC1E,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,eAAS,CAAC,SAAS,CAAC,KAAK,CAAC;AAChD,eAAS,CAAC,SAAS,CAAC,KAAK,GAAG,UAM1B,KAAe;IAMf,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAElD,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE1C,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,eAAS,CAAC,SAAS,CAAC,SAAS,CAAC;AAC1D,eAAS,CAAC,SAAS,CAAC,SAAS,GAAG,UAE9B,KAKK;IAEL,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,eAAS,CAAC,SAAS,CAAC,QAAQ,GAAG;IAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEK,MAAM,SAAS,GAAG,CAIvB,IAAe,EACf,YAA0B,EAC1B,EAAE,CACF,OAAC,CAAC,MAAM,CACN,IAAI,CAAC,MAAM,CACT,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iCACP,GAAG,KACN,CAAC,CAAC,CAAC,EAAE,YAAY,IACjB,EACF,EAAmC,CACpC,CACF,CAAC;AAfS,QAAA,SAAS,aAelB"}
1
+ {"version":3,"file":"zod.extension.js","sourceRoot":"","sources":["../../src/openapi/zod.extension.ts"],"names":[],"mappings":";;;AAwIA,oDAOC;AA/ID,sDAAsD;AACtD,6BAA0D;AAK1D,6BAAoE;AACpE,6BAAgC;AAmEhC,aAAO,CAAC,SAAS,CAAC,OAAO,GAAG,UAE1B,QAA4B;IAE5B,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9B,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,eAAS,CAAC,SAAS,CAAC,KAAK,CAAC;AAChD,eAAS,CAAC,SAAS,CAAC,KAAK,GAAG,UAM1B,KAAe;IAMf,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAElD,MAAM,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE1C,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,eAAS,CAAC,SAAS,CAAC,SAAS,CAAC;AAC1D,eAAS,CAAC,SAAS,CAAC,SAAS,GAAG,UAE9B,KAKK;IAEL,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,eAAS,CAAC,SAAS,CAAC,QAAQ,GAAG;IAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEK,MAAM,SAAS,GAAG,CAIvB,IAAe,EACf,YAA0B,EAC1B,EAAE,CACF,OAAC,CAAC,MAAM,CACN,IAAI,CAAC,MAAM,CACT,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iCACP,GAAG,KACN,CAAC,CAAC,CAAC,EAAE,YAAY,IACjB,EACF,EAAmC,CACpC,CACF,CAAC;AAfS,QAAA,SAAS,aAelB;AAEJ,SAAgB,oBAAoB,CAClC,MAAS,EACT,QAA4B;IAE5B,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAEhC,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@origins-digital/zod-openapi-utils",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "Origins Zod OpenAPI Utils",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.d.ts",