zod-nest 3.2.2 → 3.2.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.
- package/README.md +1 -0
- package/dist/{chunk-LHNXO52A.mjs → chunk-2NVNXIOY.mjs} +15 -26
- package/dist/chunk-2NVNXIOY.mjs.map +1 -0
- package/dist/{chunk-LXRBMFWD.js → chunk-4LOFWANL.js} +6 -6
- package/dist/{chunk-LXRBMFWD.js.map → chunk-4LOFWANL.js.map} +1 -1
- package/dist/chunk-EV5I5HGT.js +127 -0
- package/dist/chunk-EV5I5HGT.js.map +1 -0
- package/dist/{chunk-WI4JKXT6.mjs → chunk-IMEFMJTS.mjs} +3 -3
- package/dist/{chunk-WI4JKXT6.mjs.map → chunk-IMEFMJTS.mjs.map} +1 -1
- package/dist/{chunk-FKXVNCDD.js → chunk-KNXYA5ER.js} +73 -84
- package/dist/chunk-KNXYA5ER.js.map +1 -0
- package/dist/chunk-MPNAA53V.mjs +119 -0
- package/dist/chunk-MPNAA53V.mjs.map +1 -0
- package/dist/{chunk-26E2XEJU.js → chunk-N3VWL7G7.js} +45 -45
- package/dist/{chunk-26E2XEJU.js.map → chunk-N3VWL7G7.js.map} +1 -1
- package/dist/{chunk-RAF7JGS6.mjs → chunk-VSI3SF7S.mjs} +5 -5
- package/dist/{chunk-RAF7JGS6.mjs.map → chunk-VSI3SF7S.mjs.map} +1 -1
- package/dist/express/index.d.mts +3 -3
- package/dist/express/index.d.ts +3 -3
- package/dist/express/index.js +20 -20
- package/dist/express/index.mjs +5 -5
- package/dist/fastify/index.d.mts +3 -3
- package/dist/fastify/index.d.ts +3 -3
- package/dist/fastify/index.js +11 -11
- package/dist/fastify/index.mjs +5 -5
- package/dist/helpers/index.js +24 -24
- package/dist/helpers/index.mjs +3 -3
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +215 -204
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +16 -5
- package/dist/index.mjs.map +1 -1
- package/dist/{param-decorators-Dfd2Cy08.d.mts → param-decorators-1UCi-qHq.d.mts} +1 -1
- package/dist/{param-decorators-23pStLeF.d.ts → param-decorators-CcuRJZXu.d.ts} +1 -1
- package/dist/{registry-Cs1Y0a-L.d.mts → registry-D99yMzJg.d.mts} +3 -2
- package/dist/{registry-Cs1Y0a-L.d.ts → registry-D99yMzJg.d.ts} +3 -2
- package/package.json +1 -1
- package/dist/chunk-4RXGLSPP.js +0 -73
- package/dist/chunk-4RXGLSPP.js.map +0 -1
- package/dist/chunk-FKXVNCDD.js.map +0 -1
- package/dist/chunk-LHNXO52A.mjs.map +0 -1
- package/dist/chunk-ZZW54ETO.mjs +0 -67
- package/dist/chunk-ZZW54ETO.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/helpers/fragments.ts"],"names":["dateTimeFragment","type","format","dateFragment","timeFragment","uuidFragment","emailFragment","uriFragment","hostnameFragment","ipv4Fragment","ipv6Fragment","binaryFragment","byteFragment","int32Fragment","int64Fragment","floatFragment","doubleFragment","opaqueFragment","additionalProperties","enrich","base","extras","binary","opts","opaque"],"mappings":";;;AAsBO,IAAMA,gBAAAA,GAAmB;EAC9BC,IAAAA,EAAM,QAAA;EACNC,MAAAA,EAAQ;AACV;AACO,IAAMC,YAAAA,GAAe;EAAEF,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAO;AACtD,IAAME,YAAAA,GAAe;EAAEH,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAO;AACtD,IAAMG,YAAAA,GAAe;EAAEJ,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAO;AACtD,IAAMI,aAAAA,GAAgB;EAAEL,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAQ;AACxD,IAAMK,WAAAA,GAAc;EAAEN,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAM;AACpD,IAAMM,gBAAAA,GAAmB;EAC9BP,IAAAA,EAAM,QAAA;EACNC,MAAAA,EAAQ;AACV;AACO,IAAMO,YAAAA,GAAe;EAAER,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAO;AACtD,IAAMQ,YAAAA,GAAe;EAAET,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAO;AAGtD,IAAMS,cAAAA,GAAiB;EAAEV,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAS;AAC1D,IAAMU,YAAAA,GAAe;EAAEX,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAO;AAGtD,IAAMW,aAAAA,GAAgB;EAAEZ,IAAAA,EAAM,SAAA;EAAWC,MAAAA,EAAQ;AAAQ;AACzD,IAAMY,aAAAA,GAAgB;EAAEb,IAAAA,EAAM,SAAA;EAAWC,MAAAA,EAAQ;AAAQ;AACzD,IAAMa,aAAAA,GAAgB;EAAEd,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAQ;AACxD,IAAMc,cAAAA,GAAiB;EAAEf,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAS;AAG1D,IAAMe,cAAAA,GAAiB;EAC5BhB,IAAAA,EAAM,QAAA;EACNiB,oBAAAA,EAAsB;AACxB;AAsEO,IAAMC,MAAAA,mBAAS,MAAA,CAAA,CAAyBC,IAAAA,EAASC,MAAAA,MAAyC;EAC/F,GAAGD,IAAAA;EACH,GAAGC;AACL,CAAA,CAAA,EAHsB,QAAA;AAmBf,IAAMC,MAAAA,2BAAUC,IAAAA,MAAgD;EACrE,GAAGZ,cAAAA;EACH,GAAGY;AACL,CAAA,CAAA,EAHsB,QAAA;AAcf,IAAMC,MAAAA,2BAAUD,IAAAA,MAAgD;EACrE,GAAGN,cAAAA;EACH,GAAGM;AACL,CAAA,CAAA,EAHsB,QAAA","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/helpers/fragments.ts"],"names":["dateTimeFragment","type","format","dateFragment","timeFragment","uuidFragment","emailFragment","uriFragment","hostnameFragment","ipv4Fragment","ipv6Fragment","binaryFragment","byteFragment","int32Fragment","int64Fragment","floatFragment","doubleFragment","opaqueFragment","additionalProperties","enrich","base","extras","binary","opts","opaque"],"mappings":";;;AAsBO,IAAMA,gBAAAA,GAAmB;EAC9BC,IAAAA,EAAM,QAAA;EACNC,MAAAA,EAAQ;AACV;AACO,IAAMC,YAAAA,GAAe;EAAEF,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAO;AACtD,IAAME,YAAAA,GAAe;EAAEH,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAO;AACtD,IAAMG,YAAAA,GAAe;EAAEJ,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAO;AACtD,IAAMI,aAAAA,GAAgB;EAAEL,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAQ;AACxD,IAAMK,WAAAA,GAAc;EAAEN,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAM;AACpD,IAAMM,gBAAAA,GAAmB;EAC9BP,IAAAA,EAAM,QAAA;EACNC,MAAAA,EAAQ;AACV;AACO,IAAMO,YAAAA,GAAe;EAAER,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAO;AACtD,IAAMQ,YAAAA,GAAe;EAAET,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAO;AAGtD,IAAMS,cAAAA,GAAiB;EAAEV,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAS;AAC1D,IAAMU,YAAAA,GAAe;EAAEX,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAO;AAGtD,IAAMW,aAAAA,GAAgB;EAAEZ,IAAAA,EAAM,SAAA;EAAWC,MAAAA,EAAQ;AAAQ;AACzD,IAAMY,aAAAA,GAAgB;EAAEb,IAAAA,EAAM,SAAA;EAAWC,MAAAA,EAAQ;AAAQ;AACzD,IAAMa,aAAAA,GAAgB;EAAEd,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAQ;AACxD,IAAMc,cAAAA,GAAiB;EAAEf,IAAAA,EAAM,QAAA;EAAUC,MAAAA,EAAQ;AAAS;AAG1D,IAAMe,cAAAA,GAAiB;EAC5BhB,IAAAA,EAAM,QAAA;EACNiB,oBAAAA,EAAsB;AACxB;AAsEO,IAAMC,MAAAA,mBAAS,MAAA,CAAA,CAAyBC,IAAAA,EAASC,MAAAA,MAAyC;EAC/F,GAAGD,IAAAA;EACH,GAAGC;AACL,CAAA,CAAA,EAHsB,QAAA;AAmBf,IAAMC,MAAAA,2BAAUC,IAAAA,MAAgD;EACrE,GAAGZ,cAAAA;EACH,GAAGY;AACL,CAAA,CAAA,EAHsB,QAAA;AAcf,IAAMC,MAAAA,2BAAUD,IAAAA,MAAgD;EACrE,GAAGN,cAAAA;EACH,GAAGM;AACL,CAAA,CAAA,EAHsB,QAAA","file":"chunk-IMEFMJTS.mjs","sourcesContent":["import type { SchemaObject } from '../schema/openapi.types.js';\n\n/**\n * Common JSON Schema fragment catalog — reusable building blocks for assembling\n * fragments by hand: alongside `z.custom<T>()`, in `overrideJSONSchema` calls,\n * in custom override callbacks, in tests that build expected fragments.\n *\n * The catalog overlaps with what Zod constructs already emit (`z.uuid()` →\n * `uuidFragment` shape, `z.email()` → `emailFragment` shape, etc.) — the\n * helpers don't *replace* those Zod constructs; they're a parallel catalog\n * for programmatic fragment assembly.\n *\n * Each fragment is `as const satisfies SchemaObject` so its literal type\n * powers the dispatch in {@link enrich} — passing wrong-family options\n * fails at compile time.\n */\n\n// ---------------------------------------------------------------------------\n// Layer 1 — Fragment catalog\n// ---------------------------------------------------------------------------\n\n// String formats (RFC-defined)\nexport const dateTimeFragment = {\n type: 'string',\n format: 'date-time',\n} as const satisfies SchemaObject;\nexport const dateFragment = { type: 'string', format: 'date' } as const satisfies SchemaObject;\nexport const timeFragment = { type: 'string', format: 'time' } as const satisfies SchemaObject;\nexport const uuidFragment = { type: 'string', format: 'uuid' } as const satisfies SchemaObject;\nexport const emailFragment = { type: 'string', format: 'email' } as const satisfies SchemaObject;\nexport const uriFragment = { type: 'string', format: 'uri' } as const satisfies SchemaObject;\nexport const hostnameFragment = {\n type: 'string',\n format: 'hostname',\n} as const satisfies SchemaObject;\nexport const ipv4Fragment = { type: 'string', format: 'ipv4' } as const satisfies SchemaObject;\nexport const ipv6Fragment = { type: 'string', format: 'ipv6' } as const satisfies SchemaObject;\n\n// Binary / encoded payloads\nexport const binaryFragment = { type: 'string', format: 'binary' } as const satisfies SchemaObject;\nexport const byteFragment = { type: 'string', format: 'byte' } as const satisfies SchemaObject;\n\n// Numeric formats (OpenAPI 3.1)\nexport const int32Fragment = { type: 'integer', format: 'int32' } as const satisfies SchemaObject;\nexport const int64Fragment = { type: 'integer', format: 'int64' } as const satisfies SchemaObject;\nexport const floatFragment = { type: 'number', format: 'float' } as const satisfies SchemaObject;\nexport const doubleFragment = { type: 'number', format: 'double' } as const satisfies SchemaObject;\n\n// Object passthrough\nexport const opaqueFragment = {\n type: 'object',\n additionalProperties: true,\n} as const satisfies SchemaObject;\n\n// ---------------------------------------------------------------------------\n// Layer 2 — Per-family option types\n// ---------------------------------------------------------------------------\n\nexport interface StringFormatOptions {\n description?: string;\n examples?: string[];\n minLength?: number;\n maxLength?: number;\n pattern?: string;\n}\n\nexport interface BinaryFragmentOptions {\n description?: string;\n contentMediaType?: string;\n contentEncoding?: string;\n}\n\nexport interface NumberFormatOptions {\n description?: string;\n examples?: number[];\n minimum?: number;\n maximum?: number;\n exclusiveMinimum?: number;\n exclusiveMaximum?: number;\n multipleOf?: number;\n}\n\nexport interface OpaqueFragmentOptions {\n description?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Layer 3 — Type-strict generic enrich\n// ---------------------------------------------------------------------------\n\n// `binary` discriminates before the generic string-format branch because its\n// option set diverges (contentMediaType / contentEncoding instead of length\n// constraints). Order matters here.\ntype OptionsFor<T> = T extends { readonly format: 'binary' }\n ? BinaryFragmentOptions\n : T extends {\n readonly format:\n | 'date-time'\n | 'date'\n | 'time'\n | 'uuid'\n | 'email'\n | 'uri'\n | 'hostname'\n | 'ipv4'\n | 'ipv6'\n | 'byte';\n }\n ? StringFormatOptions\n : T extends { readonly format: 'int32' | 'int64' | 'float' | 'double' }\n ? NumberFormatOptions\n : T extends { readonly type: 'object'; readonly additionalProperties: true }\n ? OpaqueFragmentOptions\n : never;\n\n/**\n * Merge a catalog fragment with extras whose shape is dictated by the base\n * fragment's family. Passing wrong-family extras (e.g. a `contentMediaType`\n * onto `uuidFragment`) is a compile-time error.\n *\n * Returns a fresh `SchemaObject` — the original fragment is never mutated.\n */\nexport const enrich = <T extends SchemaObject>(base: T, extras: OptionsFor<T>): SchemaObject => ({\n ...base,\n ...extras,\n});\n\n// ---------------------------------------------------------------------------\n// Layer 3b — Sugar functions\n// ---------------------------------------------------------------------------\n\n/**\n * Binary-content fragment with typed enrichment. Sugar for\n * `enrich(binaryFragment, opts)` — exists because the `binary` option set\n * (`contentMediaType` / `contentEncoding`) is nuanced enough to deserve a\n * dedicated entry point and discoverable via auto-complete.\n *\n * @example\n * overrideJSONSchema(z.instanceof(File), binary());\n * overrideJSONSchema(z.instanceof(File), binary({ contentMediaType: 'application/pdf' }));\n */\nexport const binary = (opts?: BinaryFragmentOptions): SchemaObject => ({\n ...binaryFragment,\n ...opts,\n});\n\n/**\n * Opaque-object fragment with typed enrichment. Sugar for\n * `enrich(opaqueFragment, opts)` — exists for parity with {@link binary}\n * and because opaque passthrough payloads commonly carry a description\n * explaining why the API doesn't introspect them.\n *\n * @example\n * overrideJSONSchema(z.unknown(), opaque({ description: 'JWT passthrough' }));\n */\nexport const opaque = (opts?: OpaqueFragmentOptions): SchemaObject => ({\n ...opaqueFragment,\n ...opts,\n});\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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
|
|
121
|
-
if (
|
|
114
|
+
const named = chunkEV5I5HGT_js.findRefTarget(child);
|
|
115
|
+
if (named !== void 0) {
|
|
122
116
|
out.push([
|
|
123
|
-
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
195
|
+
ids: /* @__PURE__ */ chunkEV5I5HGT_js.__name(() => {
|
|
202
196
|
flushPendingDiscovery();
|
|
203
197
|
return [
|
|
204
198
|
...seen.keys()
|
|
205
199
|
];
|
|
206
200
|
}, "ids"),
|
|
207
|
-
forceExposedIds: /* @__PURE__ */
|
|
201
|
+
forceExposedIds: /* @__PURE__ */ chunkEV5I5HGT_js.__name(() => [
|
|
208
202
|
...forceExposed
|
|
209
203
|
], "forceExposedIds"),
|
|
210
|
-
anonymousIds: /* @__PURE__ */
|
|
204
|
+
anonymousIds: /* @__PURE__ */ chunkEV5I5HGT_js.__name(() => [
|
|
211
205
|
...anonymous
|
|
212
206
|
], "anonymousIds")
|
|
213
207
|
};
|
|
214
208
|
}, "createRegistry");
|
|
215
|
-
var defaultRegistry =
|
|
216
|
-
var registerSchema = /* @__PURE__ */
|
|
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
|
|
227
|
-
|
|
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(
|
|
232
|
-
return
|
|
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 =
|
|
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__ */
|
|
242
|
-
var computeShapeKeys = /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
271
|
-
var DEFAULT_BUILD_REF = /* @__PURE__ */
|
|
272
|
-
var createCompositionOverride = /* @__PURE__ */
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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 =
|
|
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__ */
|
|
565
|
+
const wrapped = /* @__PURE__ */ chunkEV5I5HGT_js.__name((ctx) => {
|
|
574
566
|
merged(ctx);
|
|
575
567
|
if (ctx.zodSchema._zod.def.type === "pipe") {
|
|
576
|
-
const record =
|
|
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__ */
|
|
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__ */
|
|
615
|
-
|
|
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__ */
|
|
647
|
-
var isZodSchema = /* @__PURE__ */
|
|
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
|
-
|
|
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 =
|
|
671
|
-
var counterRef =
|
|
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__ */
|
|
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
|
-
|
|
713
|
+
chunkEV5I5HGT_js.__name(resolveSchemaRef, "resolveSchemaRef");
|
|
725
714
|
|
|
726
715
|
// src/decorators/internal/zod-param-expand.ts
|
|
727
|
-
var isZodObject = /* @__PURE__ */
|
|
728
|
-
var expandObjectSchema = /* @__PURE__ */
|
|
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__ */
|
|
751
|
-
var intersectionArms = /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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-
|
|
863
|
-
//# sourceMappingURL=chunk-
|
|
851
|
+
//# sourceMappingURL=chunk-KNXYA5ER.js.map
|
|
852
|
+
//# sourceMappingURL=chunk-KNXYA5ER.js.map
|