zod-nest 3.2.2 → 3.2.3

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.
Files changed (32) hide show
  1. package/README.md +1 -0
  2. package/dist/{chunk-RAF7JGS6.mjs → chunk-47ML6LKE.mjs} +5 -5
  3. package/dist/{chunk-RAF7JGS6.mjs.map → chunk-47ML6LKE.mjs.map} +1 -1
  4. package/dist/{chunk-LXRBMFWD.js → chunk-4LOFWANL.js} +6 -6
  5. package/dist/{chunk-LXRBMFWD.js.map → chunk-4LOFWANL.js.map} +1 -1
  6. package/dist/{chunk-26E2XEJU.js → chunk-6FL3HR4I.js} +45 -45
  7. package/dist/{chunk-26E2XEJU.js.map → chunk-6FL3HR4I.js.map} +1 -1
  8. package/dist/{chunk-LHNXO52A.mjs → chunk-7IPDYJNI.mjs} +15 -26
  9. package/dist/chunk-7IPDYJNI.mjs.map +1 -0
  10. package/dist/{chunk-FKXVNCDD.js → chunk-DUQLL62I.js} +73 -84
  11. package/dist/chunk-DUQLL62I.js.map +1 -0
  12. package/dist/chunk-EV5I5HGT.js +127 -0
  13. package/dist/chunk-EV5I5HGT.js.map +1 -0
  14. package/dist/{chunk-WI4JKXT6.mjs → chunk-IMEFMJTS.mjs} +3 -3
  15. package/dist/{chunk-WI4JKXT6.mjs.map → chunk-IMEFMJTS.mjs.map} +1 -1
  16. package/dist/chunk-MPNAA53V.mjs +119 -0
  17. package/dist/chunk-MPNAA53V.mjs.map +1 -0
  18. package/dist/express/index.js +20 -20
  19. package/dist/express/index.mjs +5 -5
  20. package/dist/fastify/index.js +11 -11
  21. package/dist/fastify/index.mjs +5 -5
  22. package/dist/helpers/index.js +24 -24
  23. package/dist/helpers/index.mjs +3 -3
  24. package/dist/index.js +203 -203
  25. package/dist/index.mjs +4 -4
  26. package/package.json +1 -1
  27. package/dist/chunk-4RXGLSPP.js +0 -73
  28. package/dist/chunk-4RXGLSPP.js.map +0 -1
  29. package/dist/chunk-FKXVNCDD.js.map +0 -1
  30. package/dist/chunk-LHNXO52A.mjs.map +0 -1
  31. package/dist/chunk-ZZW54ETO.mjs +0 -67
  32. package/dist/chunk-ZZW54ETO.mjs.map +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk4RXGLSPP_js = require('./chunk-4RXGLSPP.js');
3
+ var chunkEV5I5HGT_js = require('./chunk-EV5I5HGT.js');
4
4
  var zod = require('zod');
5
5
  var common = require('@nestjs/common');
6
6
 
@@ -10,6 +10,8 @@ var DEFS_PREFIX = "#/$defs/";
10
10
  var ZOD_NEST_ERROR_EXTENSION = "x-zod-nest-error";
11
11
  var ZOD_NEST_ERROR_DUPLICATE_ID = "duplicate-id";
12
12
  var ZOD_NEST_DTO_EXTENSION = "x-zod-nest-dto";
13
+
14
+ // src/schema/discover-dependents.ts
13
15
  var INNER_TYPE_WRAPPERS = /* @__PURE__ */ new Set([
14
16
  "optional",
15
17
  "nullable",
@@ -21,15 +23,7 @@ var INNER_TYPE_WRAPPERS = /* @__PURE__ */ new Set([
21
23
  "readonly",
22
24
  "promise"
23
25
  ]);
24
- var readId = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema) => {
25
- const meta = zod.z.globalRegistry.get(schema);
26
- if (meta === void 0) {
27
- return void 0;
28
- }
29
- const id = meta.id;
30
- return typeof id === "string" ? id : void 0;
31
- }, "readId");
32
- var resolveLazyTarget = /* @__PURE__ */ chunk4RXGLSPP_js.__name((getter) => {
26
+ var resolveLazyTarget = /* @__PURE__ */ chunkEV5I5HGT_js.__name((getter) => {
33
27
  try {
34
28
  return [
35
29
  getter()
@@ -41,7 +35,7 @@ var resolveLazyTarget = /* @__PURE__ */ chunk4RXGLSPP_js.__name((getter) => {
41
35
  throw error;
42
36
  }
43
37
  }, "resolveLazyTarget");
44
- var collectChildren = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema) => {
38
+ var collectChildren = /* @__PURE__ */ chunkEV5I5HGT_js.__name((schema) => {
45
39
  const def = schema._zod.def;
46
40
  if (def.type === "object") {
47
41
  const shape = def.shape;
@@ -101,7 +95,7 @@ var collectChildren = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema) => {
101
95
  }
102
96
  return [];
103
97
  }, "collectChildren");
104
- var discoverDependents = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema) => {
98
+ var discoverDependents = /* @__PURE__ */ chunkEV5I5HGT_js.__name((schema) => {
105
99
  const visited = /* @__PURE__ */ new WeakSet();
106
100
  const out = [];
107
101
  const stack = [
@@ -117,11 +111,11 @@ var discoverDependents = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema) => {
117
111
  if (child === void 0 || visited.has(child)) {
118
112
  continue;
119
113
  }
120
- const id = readId(child);
121
- if (id !== void 0) {
114
+ const named = chunkEV5I5HGT_js.findRefTarget(child);
115
+ if (named !== void 0) {
122
116
  out.push([
123
- child,
124
- id
117
+ named.owner,
118
+ named.id
125
119
  ]);
126
120
  }
127
121
  stack.push(child);
@@ -131,12 +125,12 @@ var discoverDependents = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema) => {
131
125
  }, "discoverDependents");
132
126
 
133
127
  // src/schema/registry.ts
134
- var createRegistry = /* @__PURE__ */ chunk4RXGLSPP_js.__name(() => {
128
+ var createRegistry = /* @__PURE__ */ chunkEV5I5HGT_js.__name(() => {
135
129
  const seen = /* @__PURE__ */ new Map();
136
130
  const forceExposed = /* @__PURE__ */ new Set();
137
131
  const anonymous = /* @__PURE__ */ new Set();
138
132
  const pendingRoots = [];
139
- const recordOnce = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema, id) => {
133
+ const recordOnce = /* @__PURE__ */ chunkEV5I5HGT_js.__name((schema, id) => {
140
134
  let set = seen.get(id);
141
135
  if (set === void 0) {
142
136
  set = /* @__PURE__ */ new Set();
@@ -148,7 +142,7 @@ var createRegistry = /* @__PURE__ */ chunk4RXGLSPP_js.__name(() => {
148
142
  set.add(schema);
149
143
  return true;
150
144
  }, "recordOnce");
151
- const flushPendingDiscovery = /* @__PURE__ */ chunk4RXGLSPP_js.__name(() => {
145
+ const flushPendingDiscovery = /* @__PURE__ */ chunkEV5I5HGT_js.__name(() => {
152
146
  for (const root of pendingRoots.splice(0)) {
153
147
  for (const [child, childId] of discoverDependents(root)) {
154
148
  recordOnce(child, childId);
@@ -157,7 +151,7 @@ var createRegistry = /* @__PURE__ */ chunk4RXGLSPP_js.__name(() => {
157
151
  }, "flushPendingDiscovery");
158
152
  return {
159
153
  zodRegistry: zod.z.globalRegistry,
160
- register: /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema, id, flags) => {
154
+ register: /* @__PURE__ */ chunkEV5I5HGT_js.__name((schema, id, flags) => {
161
155
  if (flags?.expose === true) {
162
156
  forceExposed.add(id);
163
157
  }
@@ -182,12 +176,12 @@ var createRegistry = /* @__PURE__ */ chunk4RXGLSPP_js.__name(() => {
182
176
  }
183
177
  pendingRoots.push(schema);
184
178
  }, "register"),
185
- hasCollision: /* @__PURE__ */ chunk4RXGLSPP_js.__name((id) => {
179
+ hasCollision: /* @__PURE__ */ chunkEV5I5HGT_js.__name((id) => {
186
180
  flushPendingDiscovery();
187
181
  const set = seen.get(id);
188
182
  return set !== void 0 && set.size > 1;
189
183
  }, "hasCollision"),
190
- getCollisions: /* @__PURE__ */ chunk4RXGLSPP_js.__name(() => {
184
+ getCollisions: /* @__PURE__ */ chunkEV5I5HGT_js.__name(() => {
191
185
  flushPendingDiscovery();
192
186
  const out = /* @__PURE__ */ new Map();
193
187
  for (const [id, set] of seen) {
@@ -198,22 +192,22 @@ var createRegistry = /* @__PURE__ */ chunk4RXGLSPP_js.__name(() => {
198
192
  }
199
193
  return out;
200
194
  }, "getCollisions"),
201
- ids: /* @__PURE__ */ chunk4RXGLSPP_js.__name(() => {
195
+ ids: /* @__PURE__ */ chunkEV5I5HGT_js.__name(() => {
202
196
  flushPendingDiscovery();
203
197
  return [
204
198
  ...seen.keys()
205
199
  ];
206
200
  }, "ids"),
207
- forceExposedIds: /* @__PURE__ */ chunk4RXGLSPP_js.__name(() => [
201
+ forceExposedIds: /* @__PURE__ */ chunkEV5I5HGT_js.__name(() => [
208
202
  ...forceExposed
209
203
  ], "forceExposedIds"),
210
- anonymousIds: /* @__PURE__ */ chunk4RXGLSPP_js.__name(() => [
204
+ anonymousIds: /* @__PURE__ */ chunkEV5I5HGT_js.__name(() => [
211
205
  ...anonymous
212
206
  ], "anonymousIds")
213
207
  };
214
208
  }, "createRegistry");
215
- var defaultRegistry = chunk4RXGLSPP_js.singleton("default-registry", createRegistry);
216
- var registerSchema = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema, registry = defaultRegistry, options) => {
209
+ var defaultRegistry = chunkEV5I5HGT_js.singleton("default-registry", createRegistry);
210
+ var registerSchema = /* @__PURE__ */ chunkEV5I5HGT_js.__name((schema, registry = defaultRegistry, options) => {
217
211
  const flags = {
218
212
  expose: options?.expose,
219
213
  anonymous: options?.anonymous
@@ -223,30 +217,29 @@ var registerSchema = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema, registry =
223
217
  registry.register(schema, explicit, flags);
224
218
  return explicit;
225
219
  }
226
- const meta = registry.zodRegistry.get(schema);
227
- const metaId = meta === void 0 ? void 0 : meta.id;
228
- if (typeof metaId !== "string" || metaId === "") {
220
+ const named = chunkEV5I5HGT_js.findIdOwner(schema, registry.zodRegistry);
221
+ if (named === void 0) {
229
222
  return void 0;
230
223
  }
231
- registry.register(schema, metaId, flags);
232
- return metaId;
224
+ registry.register(named.owner, named.id, flags);
225
+ return named.id;
233
226
  }, "registerSchema");
234
227
 
235
228
  // src/schema/composition.ts
236
- var lineageMap = chunk4RXGLSPP_js.singleton("lineage-map", () => /* @__PURE__ */ new WeakMap());
229
+ var lineageMap = chunkEV5I5HGT_js.singleton("lineage-map", () => /* @__PURE__ */ new WeakMap());
237
230
  var OPTIONAL_WRAPPER_TYPES = /* @__PURE__ */ new Set([
238
231
  "optional",
239
232
  "default"
240
233
  ]);
241
- var isOptionalProp = /* @__PURE__ */ chunk4RXGLSPP_js.__name((propSchema) => OPTIONAL_WRAPPER_TYPES.has(propSchema._zod.def.type), "isOptionalProp");
242
- var computeShapeKeys = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema) => {
234
+ var isOptionalProp = /* @__PURE__ */ chunkEV5I5HGT_js.__name((propSchema) => OPTIONAL_WRAPPER_TYPES.has(propSchema._zod.def.type), "isOptionalProp");
235
+ var computeShapeKeys = /* @__PURE__ */ chunkEV5I5HGT_js.__name((schema) => {
243
236
  const entries = Object.entries(schema.shape);
244
237
  return {
245
238
  properties: entries.map(([key]) => key),
246
239
  required: entries.filter(([, propSchema]) => !isOptionalProp(propSchema)).map(([key]) => key)
247
240
  };
248
241
  }, "computeShapeKeys");
249
- var computeOverriddenKeys = /* @__PURE__ */ chunk4RXGLSPP_js.__name((parent, child) => {
242
+ var computeOverriddenKeys = /* @__PURE__ */ chunkEV5I5HGT_js.__name((parent, child) => {
250
243
  const overriddenKeys = /* @__PURE__ */ new Set();
251
244
  for (const key of Object.keys(child.shape)) {
252
245
  const parentProp = parent.shape[key];
@@ -256,7 +249,7 @@ var computeOverriddenKeys = /* @__PURE__ */ chunk4RXGLSPP_js.__name((parent, chi
256
249
  }
257
250
  return overriddenKeys;
258
251
  }, "computeOverriddenKeys");
259
- var extend = /* @__PURE__ */ chunk4RXGLSPP_js.__name((parent, build) => {
252
+ var extend = /* @__PURE__ */ chunkEV5I5HGT_js.__name((parent, build) => {
260
253
  const result = build(parent);
261
254
  lineageMap.set(result, {
262
255
  op: "extend",
@@ -267,9 +260,9 @@ var extend = /* @__PURE__ */ chunk4RXGLSPP_js.__name((parent, build) => {
267
260
  registerSchema(result);
268
261
  return result;
269
262
  }, "extend");
270
- var getLineage = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema) => lineageMap.get(schema), "getLineage");
271
- var DEFAULT_BUILD_REF = /* @__PURE__ */ chunk4RXGLSPP_js.__name((id) => `${DEFS_PREFIX}${id}`, "DEFAULT_BUILD_REF");
272
- var createCompositionOverride = /* @__PURE__ */ chunk4RXGLSPP_js.__name((opts) => {
263
+ var getLineage = /* @__PURE__ */ chunkEV5I5HGT_js.__name((schema) => lineageMap.get(schema), "getLineage");
264
+ var DEFAULT_BUILD_REF = /* @__PURE__ */ chunkEV5I5HGT_js.__name((id) => `${DEFS_PREFIX}${id}`, "DEFAULT_BUILD_REF");
265
+ var createCompositionOverride = /* @__PURE__ */ chunkEV5I5HGT_js.__name((opts) => {
273
266
  const { buildRef, registry } = opts;
274
267
  return (ctx) => {
275
268
  const { jsonSchema, zodSchema } = ctx;
@@ -278,11 +271,10 @@ var createCompositionOverride = /* @__PURE__ */ chunk4RXGLSPP_js.__name((opts) =
278
271
  return;
279
272
  }
280
273
  const parentCache = computeShapeKeys(entry.parent);
281
- const parentId = registry.zodRegistry.get(entry.parent)?.id;
274
+ const parentId = registerSchema(entry.parent, registry);
282
275
  if (parentId === void 0) {
283
276
  return;
284
277
  }
285
- registerSchema(entry.parent, registry);
286
278
  const childProps = jsonSchema.properties ?? {};
287
279
  const childRequired = jsonSchema.required ?? [];
288
280
  const parentPropSet = new Set(parentCache.properties);
@@ -319,7 +311,7 @@ var createCompositionOverride = /* @__PURE__ */ chunk4RXGLSPP_js.__name((opts) =
319
311
  // src/schema/errors.ts
320
312
  var ZodNestError = class extends Error {
321
313
  static {
322
- chunk4RXGLSPP_js.__name(this, "ZodNestError");
314
+ chunkEV5I5HGT_js.__name(this, "ZodNestError");
323
315
  }
324
316
  constructor(message) {
325
317
  super(message);
@@ -328,7 +320,7 @@ var ZodNestError = class extends Error {
328
320
  };
329
321
  var ZodNestUnrepresentableError = class extends ZodNestError {
330
322
  static {
331
- chunk4RXGLSPP_js.__name(this, "ZodNestUnrepresentableError");
323
+ chunkEV5I5HGT_js.__name(this, "ZodNestUnrepresentableError");
332
324
  }
333
325
  path;
334
326
  zodType;
@@ -339,7 +331,7 @@ var ZodNestUnrepresentableError = class extends ZodNestError {
339
331
  this.zodType = zodType;
340
332
  }
341
333
  };
342
- var formatPath = /* @__PURE__ */ chunk4RXGLSPP_js.__name((path) => {
334
+ var formatPath = /* @__PURE__ */ chunkEV5I5HGT_js.__name((path) => {
343
335
  if (path.length === 0) {
344
336
  return "<root>";
345
337
  }
@@ -347,7 +339,7 @@ var formatPath = /* @__PURE__ */ chunk4RXGLSPP_js.__name((path) => {
347
339
  }, "formatPath");
348
340
 
349
341
  // src/schema/override.ts
350
- var primitiveOverride = /* @__PURE__ */ chunk4RXGLSPP_js.__name(({ zodSchema, jsonSchema }) => {
342
+ var primitiveOverride = /* @__PURE__ */ chunkEV5I5HGT_js.__name(({ zodSchema, jsonSchema }) => {
351
343
  const type = zodSchema._zod.def.type;
352
344
  if (type === "bigint") {
353
345
  jsonSchema.type = "integer";
@@ -359,7 +351,7 @@ var primitiveOverride = /* @__PURE__ */ chunk4RXGLSPP_js.__name(({ zodSchema, js
359
351
  return;
360
352
  }
361
353
  }, "primitiveOverride");
362
- var combine = /* @__PURE__ */ chunk4RXGLSPP_js.__name((...overrides) => {
354
+ var combine = /* @__PURE__ */ chunkEV5I5HGT_js.__name((...overrides) => {
363
355
  const list = [];
364
356
  for (const candidate of overrides) {
365
357
  if (typeof candidate !== "function") {
@@ -375,7 +367,7 @@ var combine = /* @__PURE__ */ chunk4RXGLSPP_js.__name((...overrides) => {
375
367
  }, "combine");
376
368
 
377
369
  // src/schema/post-process.ts
378
- var rewriteRefs = /* @__PURE__ */ chunk4RXGLSPP_js.__name((node, rootRef) => {
370
+ var rewriteRefs = /* @__PURE__ */ chunkEV5I5HGT_js.__name((node, rootRef) => {
379
371
  if (Array.isArray(node)) {
380
372
  for (const item of node) {
381
373
  rewriteRefs(item, rootRef);
@@ -396,7 +388,7 @@ var rewriteRefs = /* @__PURE__ */ chunk4RXGLSPP_js.__name((node, rootRef) => {
396
388
  rewriteRefs(value, rootRef);
397
389
  }
398
390
  }, "rewriteRefs");
399
- var refsIn = /* @__PURE__ */ chunk4RXGLSPP_js.__name(function* (node) {
391
+ var refsIn = /* @__PURE__ */ chunkEV5I5HGT_js.__name(function* (node) {
400
392
  if (Array.isArray(node)) {
401
393
  for (const item of node) {
402
394
  yield* refsIn(item);
@@ -414,14 +406,14 @@ var refsIn = /* @__PURE__ */ chunk4RXGLSPP_js.__name(function* (node) {
414
406
  yield* refsIn(value);
415
407
  }
416
408
  }, "refsIn");
417
- var rootDefId = /* @__PURE__ */ chunk4RXGLSPP_js.__name((raw) => {
409
+ var rootDefId = /* @__PURE__ */ chunkEV5I5HGT_js.__name((raw) => {
418
410
  const ref = raw.$ref;
419
411
  if (typeof ref !== "string" || !ref.startsWith(DEFS_PREFIX)) {
420
412
  return void 0;
421
413
  }
422
414
  return ref.slice(DEFS_PREFIX.length);
423
415
  }, "rootDefId");
424
- var isReferenced = /* @__PURE__ */ chunk4RXGLSPP_js.__name((defs, id) => {
416
+ var isReferenced = /* @__PURE__ */ chunkEV5I5HGT_js.__name((defs, id) => {
425
417
  const ownRef = `${DEFS_PREFIX}${id}`;
426
418
  for (const ref of refsIn(defs)) {
427
419
  if (ref === "#" || ref === ownRef) {
@@ -430,7 +422,7 @@ var isReferenced = /* @__PURE__ */ chunk4RXGLSPP_js.__name((defs, id) => {
430
422
  }
431
423
  return false;
432
424
  }, "isReferenced");
433
- var referencesRoot = /* @__PURE__ */ chunk4RXGLSPP_js.__name((raw) => {
425
+ var referencesRoot = /* @__PURE__ */ chunkEV5I5HGT_js.__name((raw) => {
434
426
  for (const ref of refsIn(raw)) {
435
427
  if (ref === "#") {
436
428
  return true;
@@ -438,7 +430,7 @@ var referencesRoot = /* @__PURE__ */ chunk4RXGLSPP_js.__name((raw) => {
438
430
  }
439
431
  return false;
440
432
  }, "referencesRoot");
441
- var stripEnvelope = /* @__PURE__ */ chunk4RXGLSPP_js.__name((raw) => {
433
+ var stripEnvelope = /* @__PURE__ */ chunkEV5I5HGT_js.__name((raw) => {
442
434
  const root = {
443
435
  ...raw
444
436
  };
@@ -446,7 +438,7 @@ var stripEnvelope = /* @__PURE__ */ chunk4RXGLSPP_js.__name((raw) => {
446
438
  delete root.$defs;
447
439
  return root;
448
440
  }, "stripEnvelope");
449
- var resolveRoot = /* @__PURE__ */ chunk4RXGLSPP_js.__name((raw, refs, options) => {
441
+ var resolveRoot = /* @__PURE__ */ chunkEV5I5HGT_js.__name((raw, refs, options) => {
450
442
  const liftedId = rootDefId(raw);
451
443
  if (liftedId !== void 0) {
452
444
  const body = refs.get(liftedId);
@@ -488,7 +480,7 @@ var resolveRoot = /* @__PURE__ */ chunk4RXGLSPP_js.__name((raw, refs, options) =
488
480
  rootRef
489
481
  };
490
482
  }, "resolveRoot");
491
- var postProcess = /* @__PURE__ */ chunk4RXGLSPP_js.__name((raw, options) => {
483
+ var postProcess = /* @__PURE__ */ chunkEV5I5HGT_js.__name((raw, options) => {
492
484
  const refs = /* @__PURE__ */ new Map();
493
485
  const rawDefs = raw.$defs;
494
486
  if (rawDefs !== void 0) {
@@ -533,13 +525,13 @@ var ANNOTATION_ONLY_KEYS = /* @__PURE__ */ new Set([
533
525
  "$comment",
534
526
  "id"
535
527
  ]);
536
- var isStrictlyUnrepresentable = /* @__PURE__ */ chunk4RXGLSPP_js.__name((jsonSchema, zodSchema) => {
528
+ var isStrictlyUnrepresentable = /* @__PURE__ */ chunkEV5I5HGT_js.__name((jsonSchema, zodSchema) => {
537
529
  if (!STRICT_REQUIRES_OVERRIDE.has(zodSchema._zod.def.type)) {
538
530
  return false;
539
531
  }
540
532
  return Object.keys(jsonSchema).every((key) => ANNOTATION_ONLY_KEYS.has(key));
541
533
  }, "isStrictlyUnrepresentable");
542
- var descentTarget = /* @__PURE__ */ chunk4RXGLSPP_js.__name(($in, out, io) => {
534
+ var descentTarget = /* @__PURE__ */ chunkEV5I5HGT_js.__name(($in, out, io) => {
543
535
  if (io === "output") {
544
536
  return out;
545
537
  }
@@ -548,7 +540,7 @@ var descentTarget = /* @__PURE__ */ chunk4RXGLSPP_js.__name(($in, out, io) => {
548
540
  }
549
541
  return $in;
550
542
  }, "descentTarget");
551
- var markPipeCoverage = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema, io, covered) => {
543
+ var markPipeCoverage = /* @__PURE__ */ chunkEV5I5HGT_js.__name((schema, io, covered) => {
552
544
  const def = schema._zod.def;
553
545
  if (def.type !== "pipe" || def.in === void 0 || def.out === void 0) {
554
546
  return;
@@ -560,20 +552,20 @@ var markPipeCoverage = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema, io, cove
560
552
  covered.add(target);
561
553
  markPipeCoverage(target, io, covered);
562
554
  }, "markPipeCoverage");
563
- var buildToJsonSchemaOptions = /* @__PURE__ */ chunk4RXGLSPP_js.__name((params) => {
555
+ var buildToJsonSchemaOptions = /* @__PURE__ */ chunkEV5I5HGT_js.__name((params) => {
564
556
  const strict = params.strict ?? true;
565
557
  const compositionOverride = createCompositionOverride({
566
558
  buildRef: params.uri ?? DEFAULT_BUILD_REF,
567
559
  registry: params.registry
568
560
  });
569
- const customOverride = chunk4RXGLSPP_js.createCustomOverride(params.io);
561
+ const customOverride = chunkEV5I5HGT_js.createCustomOverride(params.io);
570
562
  const merged = combine(primitiveOverride, compositionOverride, customOverride, params.override);
571
563
  const unrepresentableHits = [];
572
564
  const coveredByPipe = /* @__PURE__ */ new WeakSet();
573
- const wrapped = /* @__PURE__ */ chunk4RXGLSPP_js.__name((ctx) => {
565
+ const wrapped = /* @__PURE__ */ chunkEV5I5HGT_js.__name((ctx) => {
574
566
  merged(ctx);
575
567
  if (ctx.zodSchema._zod.def.type === "pipe") {
576
- const record = chunk4RXGLSPP_js.peekRegistration(ctx.zodSchema);
568
+ const record = chunkEV5I5HGT_js.peekRegistration(ctx.zodSchema);
577
569
  if (record !== void 0 && record[params.io] !== void 0) {
578
570
  markPipeCoverage(ctx.zodSchema, params.io, coveredByPipe);
579
571
  }
@@ -603,7 +595,7 @@ var buildToJsonSchemaOptions = /* @__PURE__ */ chunk4RXGLSPP_js.__name((params)
603
595
  }
604
596
  return {
605
597
  options,
606
- consumeUnrepresentable: /* @__PURE__ */ chunk4RXGLSPP_js.__name(() => {
598
+ consumeUnrepresentable: /* @__PURE__ */ chunkEV5I5HGT_js.__name(() => {
607
599
  const firstHit = unrepresentableHits.find((hit) => !coveredByPipe.has(hit.zodSchema));
608
600
  if (firstHit !== void 0) {
609
601
  throw new ZodNestUnrepresentableError(firstHit.path, firstHit.zodType);
@@ -611,11 +603,8 @@ var buildToJsonSchemaOptions = /* @__PURE__ */ chunk4RXGLSPP_js.__name((params)
611
603
  }, "consumeUnrepresentable")
612
604
  };
613
605
  }, "buildToJsonSchemaOptions");
614
- var resolveRootId = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema, registry) => {
615
- const id = registry.zodRegistry.get(schema)?.id;
616
- return typeof id === "string" && id !== "" ? id : void 0;
617
- }, "resolveRootId");
618
- var toOpenApi = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema, opts) => {
606
+ var resolveRootId = /* @__PURE__ */ chunkEV5I5HGT_js.__name((schema, registry) => chunkEV5I5HGT_js.findIdOwner(schema, registry.zodRegistry)?.id, "resolveRootId");
607
+ var toOpenApi = /* @__PURE__ */ chunkEV5I5HGT_js.__name((schema, opts) => {
619
608
  const built = buildToJsonSchemaOptions({
620
609
  registry: opts.registry,
621
610
  io: opts.io,
@@ -643,11 +632,11 @@ var toOpenApi = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema, opts) => {
643
632
 
644
633
  // src/dto/symbols.ts
645
634
  var ZOD_DTO_SYMBOL = /* @__PURE__ */ Symbol.for("zod-nest.dto");
646
- var isZodDto = /* @__PURE__ */ chunk4RXGLSPP_js.__name((value) => typeof value === "function" && value[ZOD_DTO_SYMBOL] === true, "isZodDto");
647
- var isZodSchema = /* @__PURE__ */ chunk4RXGLSPP_js.__name((value) => value instanceof zod.z.ZodType, "isZodSchema");
635
+ var isZodDto = /* @__PURE__ */ chunkEV5I5HGT_js.__name((value) => typeof value === "function" && value[ZOD_DTO_SYMBOL] === true, "isZodDto");
636
+ var isZodSchema = /* @__PURE__ */ chunkEV5I5HGT_js.__name((value) => value instanceof zod.z.ZodType, "isZodSchema");
648
637
  var ZodValidationException = class extends common.BadRequestException {
649
638
  static {
650
- chunk4RXGLSPP_js.__name(this, "ZodValidationException");
639
+ chunkEV5I5HGT_js.__name(this, "ZodValidationException");
651
640
  }
652
641
  zodError;
653
642
  argMetadata;
@@ -667,11 +656,11 @@ var ZodValidationException = class extends common.BadRequestException {
667
656
  // src/schema/anon-id.ts
668
657
  var ANON_RESPONSE_PREFIX = "_AnonResponseSchema_";
669
658
  var ANON_BODY_PREFIX = "_AnonBodySchema_";
670
- var anonIdCache = chunk4RXGLSPP_js.singleton("anon-id-cache", () => /* @__PURE__ */ new WeakMap());
671
- var counterRef = chunk4RXGLSPP_js.singleton("anon-id-counter", () => ({
659
+ var anonIdCache = chunkEV5I5HGT_js.singleton("anon-id-cache", () => /* @__PURE__ */ new WeakMap());
660
+ var counterRef = chunkEV5I5HGT_js.singleton("anon-id-counter", () => ({
672
661
  value: 0
673
662
  }));
674
- var resolveAnonId = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema, prefix) => {
663
+ var resolveAnonId = /* @__PURE__ */ chunkEV5I5HGT_js.__name((schema, prefix) => {
675
664
  const cached = anonIdCache.get(schema);
676
665
  if (cached !== void 0) {
677
666
  return cached;
@@ -721,11 +710,11 @@ function resolveSchemaRef(schema, options) {
721
710
  schema: body
722
711
  };
723
712
  }
724
- chunk4RXGLSPP_js.__name(resolveSchemaRef, "resolveSchemaRef");
713
+ chunkEV5I5HGT_js.__name(resolveSchemaRef, "resolveSchemaRef");
725
714
 
726
715
  // src/decorators/internal/zod-param-expand.ts
727
- var isZodObject = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema) => schema._zod.def.type === "object", "isZodObject");
728
- var expandObjectSchema = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema, options) => {
716
+ var isZodObject = /* @__PURE__ */ chunkEV5I5HGT_js.__name((schema) => schema._zod.def.type === "object", "isZodObject");
717
+ var expandObjectSchema = /* @__PURE__ */ chunkEV5I5HGT_js.__name((schema, options) => {
729
718
  if (!isZodObject(schema)) {
730
719
  throw new ZodNestError(`${options.decoratorName} requires a \`z.object({...})\` schema (got \`${schema._zod.def.type}\`). Each property of the object becomes one OpenAPI parameter. For non-object body shapes (intersections, unions, primitives), use \`@ZodBody\` instead.`);
731
720
  }
@@ -747,8 +736,8 @@ var expandObjectSchema = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema, option
747
736
  }
748
737
  return result;
749
738
  }, "expandObjectSchema");
750
- var paramSchemaBody = /* @__PURE__ */ chunk4RXGLSPP_js.__name((resolution) => resolution.kind === "ref" ? resolution.ref : resolution.schema, "paramSchemaBody");
751
- var intersectionArms = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema) => {
739
+ var paramSchemaBody = /* @__PURE__ */ chunkEV5I5HGT_js.__name((resolution) => resolution.kind === "ref" ? resolution.ref : resolution.schema, "paramSchemaBody");
740
+ var intersectionArms = /* @__PURE__ */ chunkEV5I5HGT_js.__name((schema) => {
752
741
  if (schema._zod.def.type !== "intersection") {
753
742
  return null;
754
743
  }
@@ -758,14 +747,14 @@ var intersectionArms = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema) => {
758
747
  right: def.right
759
748
  };
760
749
  }, "intersectionArms");
761
- var unionOptions = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema) => {
750
+ var unionOptions = /* @__PURE__ */ chunkEV5I5HGT_js.__name((schema) => {
762
751
  if (schema._zod.def.type !== "union") {
763
752
  return null;
764
753
  }
765
754
  const def = schema._zod.def;
766
755
  return def.options;
767
756
  }, "unionOptions");
768
- var collectObjectShapes = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema) => {
757
+ var collectObjectShapes = /* @__PURE__ */ chunkEV5I5HGT_js.__name((schema) => {
769
758
  if (isZodObject(schema)) {
770
759
  return {
771
760
  shapes: [
@@ -809,7 +798,7 @@ var collectObjectShapes = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema) => {
809
798
  unionCrossed: left.unionCrossed || right.unionCrossed
810
799
  };
811
800
  }, "collectObjectShapes");
812
- var flattenObjectIntersection = /* @__PURE__ */ chunk4RXGLSPP_js.__name((schema, registry, decoratorName) => {
801
+ var flattenObjectIntersection = /* @__PURE__ */ chunkEV5I5HGT_js.__name((schema, registry, decoratorName) => {
813
802
  const collected = collectObjectShapes(schema);
814
803
  if (collected === null) {
815
804
  throw new ZodNestError(`${decoratorName} \`flatten: true\` requires every leaf of the schema to be a \`z.object({...})\` \u2014 intersections and unions of objects are supported, but primitives, tuples, transforms, and other non-object leaves are not. Drop \`flatten: true\` to emit the original schema with its composition intact.`);
@@ -859,5 +848,5 @@ exports.registerSchema = registerSchema;
859
848
  exports.resolveAnonId = resolveAnonId;
860
849
  exports.resolveSchemaRef = resolveSchemaRef;
861
850
  exports.toOpenApi = toOpenApi;
862
- //# sourceMappingURL=chunk-FKXVNCDD.js.map
863
- //# sourceMappingURL=chunk-FKXVNCDD.js.map
851
+ //# sourceMappingURL=chunk-DUQLL62I.js.map
852
+ //# sourceMappingURL=chunk-DUQLL62I.js.map