zod-schema-faker
Version:
Generates mock data from zod schema. Powered by @faker-js/faker and randexp.js
931 lines (929 loc) • 25.5 kB
JavaScript
import { SimpleFaker as F } from "@faker-js/faker";
import S from "randexp";
import * as d from "zod/v4/core";
const v = 10;
let g;
function Se(e) {
g = e;
}
function o() {
if (g)
return g;
throw ReferenceError("Faker instance not set. Use `setFaker` to set it.");
}
const w = new F(), s = (e, t) => {
const n = new S(e, t);
return n.randInt = (a, r) => w.number.int({ min: a, max: r }), n.gen();
}, je = (e) => {
g.seed(e), w.seed(e);
};
function j(e, t, n) {
let a, r, i;
for (const c of e._zod.def.checks ?? [])
switch (c._zod.def.check) {
case "length_equals": {
if (i !== void 0 && i !== c._zod.def.length)
throw new RangeError();
i = c._zod.def.length;
break;
}
case "max_length": {
r = Math.min(r ?? 1 / 0, c._zod.def.maximum);
break;
}
case "min_length": {
a = Math.max(a ?? 0, c._zod.def.minimum);
break;
}
default: {
c._zod.def.check;
break;
}
}
return a = a ?? i ?? 0, r = r ?? i ?? a + 3, t.depth > v && (r = a), o().helpers.multiple(() => n(e._zod.def.element, t), { count: { min: a, max: r } });
}
function b(e) {
return e.replace(/\\([.*+?^${}()|[\]\\])/g, "$1");
}
function T(e, t) {
return e * t / M(e, t);
}
function M(e, t) {
return t === 0n || t === 0 ? e : M(t, e % t);
}
function N(e, t, n) {
let a, r, i = 1n;
for (const c of e._zod.def.checks ?? [])
switch (c._zod.def.check) {
case "greater_than": {
const u = BigInt(c._zod.def.value) + (c._zod.def.inclusive ? 0n : 1n);
a = a !== void 0 && a > u ? a : u;
break;
}
case "less_than": {
const u = BigInt(c._zod.def.value) - (c._zod.def.inclusive ? 0n : 1n);
r = r !== void 0 && r < u ? r : u;
break;
}
case "multiple_of": {
const f = BigInt(c._zod.def.value), u = f < 0n ? -f : f;
i = T(i, u);
break;
}
default: {
c._zod.def.check;
break;
}
}
return a === void 0 && (r === void 0 ? a = 0n : a = r - 10n), o().number.bigInt({ min: a, max: r, multipleOf: i });
}
function A(e, t, n) {
return o().datatype.boolean();
}
function I(e, t, n) {
return n(e._zod.def.innerType, t);
}
const E = /* @__PURE__ */ new Map();
function Ne(e, t) {
E.set(e, t);
}
function C(e, t, n) {
return E.get(e)(e, t, n);
}
function O(e, t, n) {
const a = e._zod.bag.minimum ?? /* @__PURE__ */ new Date(-864e13), r = e._zod.bag.maximum ?? /* @__PURE__ */ new Date(864e13);
return o().date.between({ from: a, to: r });
}
function D(e, t, n) {
return o().datatype.boolean() ? n(e._zod.def.innerType, t) : e._zod.def.defaultValue;
}
function L(e, t, n) {
return o().helpers.objectValue(e._zod.def.entries);
}
const h = 100 * 1024 * 1024, B = {
minSize: 0,
maxSize: 1024,
// Default 1KB
exactSize: void 0,
allowedMimeTypes: []
}, $ = {
// Text types
"text/plain": { extension: "txt", category: "text" },
"text/html": { extension: "html", category: "text" },
"text/css": { extension: "css", category: "text" },
"text/javascript": { extension: "js", category: "text" },
"text/csv": { extension: "csv", category: "text" },
"text/markdown": { extension: "md", category: "text" },
"text/xml": { extension: "xml", category: "text" },
"text/yaml": { extension: "yaml", category: "text" },
// Application types
"application/json": { extension: "json", category: "application" },
"application/xml": { extension: "xml", category: "application" },
"application/javascript": { extension: "js", category: "application" },
"application/pdf": { extension: "pdf", category: "application" },
"application/zip": { extension: "zip", category: "application" },
"application/octet-stream": { extension: "bin", category: "application" },
"application/graphql": { extension: "graphql", category: "application" },
"application/x-www-form-urlencoded": { extension: "form", category: "application" },
"application/vnd.ms-excel": { extension: "xls", category: "application" },
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": { extension: "xlsx", category: "application" },
"application/msword": { extension: "doc", category: "application" },
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": {
extension: "docx",
category: "application"
},
"application/vnd.ms-powerpoint": { extension: "ppt", category: "application" },
"application/vnd.openxmlformats-officedocument.presentationml.presentation": {
extension: "pptx",
category: "application"
},
// Image types
"image/jpeg": { extension: "jpg", category: "image" },
"image/png": { extension: "png", category: "image" },
"image/gif": { extension: "gif", category: "image" },
"image/svg+xml": { extension: "svg", category: "image" },
"image/webp": { extension: "webp", category: "image" },
// Audio types
"audio/mpeg": { extension: "mp3", category: "audio" },
"audio/wav": { extension: "wav", category: "audio" },
"audio/ogg": { extension: "ogg", category: "audio" },
// Video types
"video/mp4": { extension: "mp4", category: "video" },
"video/webm": { extension: "webm", category: "video" },
"video/ogg": { extension: "ogv", category: "video" },
// Font types
"font/woff": { extension: "woff", category: "font" },
"font/woff2": { extension: "woff2", category: "font" },
"font/ttf": { extension: "ttf", category: "font" },
"font/otf": { extension: "otf", category: "font" },
// Multipart types
"multipart/form-data": { extension: "form", category: "multipart" }
};
function P(e, t, n) {
const a = o(), r = R(e), i = r.exactSize !== void 0 ? r.exactSize : a.number.int({ min: r.minSize, max: r.maxSize }), c = q(r.allowedMimeTypes, a), f = W(c), u = X(c, i);
return new File([u], f, {
type: c,
lastModified: a.date.recent().getTime()
});
}
function R(e) {
const t = { ...B };
for (const n of e._zod.def.checks ?? [])
switch (n._zod.def.check) {
case "min_size": {
const a = n._zod.def.minimum;
_(a, "minimum"), t.minSize = Math.max(t.minSize, k(a));
break;
}
case "max_size": {
const a = n._zod.def.maximum;
_(a, "maximum"), t.maxSize = Math.min(t.maxSize, k(a));
break;
}
case "size_equals": {
const a = n._zod.def.size;
_(a, "exact"), t.exactSize = k(a);
break;
}
case "mime_type": {
U(n, t);
break;
}
}
return Z(t), t;
}
function _(e, t) {
if (e < 0)
throw new Error(`Invalid file size constraint: ${t} size cannot be negative (${e})`);
}
function k(e) {
const t = Math.min(e, h);
return t !== e && console.warn(`Large size constraint (${e}) capped at ${h} bytes`), t;
}
function U(e, t) {
const n = e;
if (n._zod?.def?.mime && Array.isArray(n._zod.def.mime)) {
if (t.allowedMimeTypes.length > 0) {
const a = t.allowedMimeTypes.join(", "), r = n._zod.def.mime.join(", ");
throw new Error(
`Conflicting MIME type constraints: cannot have both [${a}] and [${r}] constraints on the same file`
);
}
t.allowedMimeTypes = [...n._zod.def.mime];
}
}
function Z(e) {
if (e.exactSize === void 0 && e.minSize > e.maxSize)
throw new Error(
`Conflicting file size constraints: minimum size (${e.minSize}) cannot be greater than maximum size (${e.maxSize})`
);
}
function q(e, t) {
if (e.length > 0) {
const n = [...new Set(e)];
return t.helpers.arrayElement(n);
}
return "text/plain";
}
function V(e) {
const t = $[e];
if (t)
return t.extension;
const n = e.split("/");
if (n.length === 2) {
const r = n[1].replace(/[^a-z0-9]/gi, "").toLowerCase();
if (r.length > 0 && r.length <= 10)
return r;
}
return "dat";
}
function G(e) {
const t = $[e];
if (t)
return t.category;
switch (e.split("/")[0]) {
case "text":
return "text";
case "image":
return "image";
case "audio":
return "audio";
case "video":
return "video";
case "font":
return "font";
case "multipart":
return "multipart";
default:
return "application";
}
}
function W(e) {
const t = o(), n = V(e);
return `${t.system.fileName({ extensionCount: 0 })}.${n}`;
}
function X(e, t) {
if (t === 0)
return new ArrayBuffer(0);
if (t > 10 * 1024 * 1024)
return H(t);
const n = o();
let a;
switch (G(e)) {
case "text":
a = J(e, n);
break;
case "application":
a = Y(e, n);
break;
default:
a = K(e, n);
break;
}
a = Q(a, t);
const c = new TextEncoder().encode(a);
if (c.length !== t) {
const f = new ArrayBuffer(t), u = new Uint8Array(f);
return c.length < t ? u.set(c) : u.set(c.slice(0, t)), f;
}
return c.buffer;
}
function H(e) {
const t = new ArrayBuffer(e), n = new Uint8Array(t), a = new TextEncoder().encode(`LARGE_FILE_CONTENT_PLACEHOLDER
`);
for (let r = 0; r < e; r += a.length) {
const i = Math.min(a.length, e - r);
n.set(a.slice(0, i), r);
}
return t;
}
function J(e, t) {
switch (e) {
case "text/html":
return `<html><head><title>${t.lorem.words(2)}</title></head><body><h1>${t.lorem.words(3)}</h1><p>${t.lorem.sentence()}</p></body></html>`;
case "text/css":
return "body { font-family: Arial; color: #333; } h1 { margin: 10px; }";
case "text/javascript":
return `function ${t.hacker.noun().replace(/\s+/g, "")}() { return "${t.lorem.word()}"; }`;
case "text/csv":
return `name,email
${t.person.fullName()},${t.internet.email()}`;
case "text/markdown":
return `# ${t.lorem.words(2)}
${t.lorem.sentence()}`;
case "text/xml":
return `<?xml version="1.0"?><root><item>${t.lorem.word()}</item></root>`;
case "text/yaml":
return `name: ${t.lorem.word()}
version: 1.0.0`;
default:
return t.lorem.paragraphs(2);
}
}
function Y(e, t) {
switch (e) {
case "application/json":
return JSON.stringify({
id: t.string.uuid(),
name: t.person.fullName(),
email: t.internet.email()
});
case "application/xml":
return `<?xml version="1.0"?><data><user id="${t.string.uuid()}">${t.person.fullName()}</user></data>`;
case "application/javascript":
return `const data = { message: "${t.lorem.sentence()}" }; export default data;`;
default:
return `Binary file content for ${e}
Generated: ${(/* @__PURE__ */ new Date()).toISOString()}
Data: ${t.string.alphanumeric(50)}`;
}
}
function K(e, t) {
return `${e.toUpperCase()} file placeholder
Generated: ${(/* @__PURE__ */ new Date()).toISOString()}
ID: ${t.string.uuid()}
Data: ${t.string.alphanumeric(100)}`;
}
function Q(e, t) {
if (e.length === t)
return e;
if (e.length < t) {
const n = e;
for (; e.length < t; ) {
const a = t - e.length;
a >= n.length ? e += n : e += n.slice(0, a);
}
} else
e = e.slice(0, t);
return e;
}
function ee(e, t, n) {
return (...a) => (d.parse(e._zod.def.input, a), n(e._zod.def.output, t));
}
function te(e, t, n) {
return n(e._zod.def.getter(), t);
}
function ne(e, t, n) {
return o().helpers.arrayElement(e._zod.def.values);
}
function ae(e, t, n) {
return new Map(
o().helpers.multiple(
() => [n(e._zod.def.keyType, t), n(e._zod.def.valueType, t)],
{
count: { min: 0, max: 10 }
}
)
);
}
function re(e, t, n) {
return NaN;
}
function oe(e, t, n) {
throw Error();
}
function ie(e, t, n) {
return n(e._zod.def.innerType, t);
}
function se(e, t, n) {
return null;
}
function ce(e, t, n) {
return o().datatype.boolean() ? n(e._zod.def.innerType, t) : null;
}
function de(e, t, n) {
let a = Number.MIN_SAFE_INTEGER, r = Number.MAX_SAFE_INTEGER, i, c = !1;
switch (e._zod.def.format) {
case "float32": {
c = !1;
break;
}
case "float64": {
c = !1;
break;
}
case "int32": {
c = !0, a = Math.max(a, -2147483647), r = Math.min(r, 2147483646);
break;
}
case "safeint": {
c = !0;
break;
}
case "uint32": {
c = !0, a = Math.max(a, 0), r = Math.min(r, 4294967295);
break;
}
}
for (const u of e._zod.def.checks ?? [])
switch (u._zod.def.check) {
case "greater_than": {
const m = Number(u._zod.def.value) + (u._zod.def.inclusive ? 0 : 1e-15);
a = a !== void 0 ? Math.max(a, m) : m;
break;
}
case "less_than": {
const m = Number(u._zod.def.value) - (u._zod.def.inclusive ? 0 : 1e-15);
r = r !== void 0 ? Math.min(r, m) : m;
break;
}
case "multiple_of": {
const m = Number(u._zod.def.value);
i = i !== void 0 ? T(i, m) : m;
break;
}
case "number_format": {
switch (u._zod.def.format) {
case "float32": {
c = !1;
break;
}
case "float64": {
c = !1;
break;
}
case "int32": {
c = !0, a = Math.max(a, -2147483647), r = Math.min(r, 2147483646);
break;
}
case "safeint": {
c = !0;
break;
}
case "uint32": {
c = !0, a = Math.max(a, 0), r = Math.min(r, 4294967295);
break;
}
}
break;
}
default: {
u._zod.def.check;
break;
}
}
return i !== void 0 && i === parseInt(i.toString(), 10) && (c = !0), c ? o().number.int({ min: a, max: r, multipleOf: i }) : o().number.float({ min: a, max: r, multipleOf: i });
}
function ue(e, t, n) {
return Object.fromEntries(
Object.entries(e._zod.def.shape).concat(
e._zod.def.catchall && e._zod.def.catchall._zod.def.type !== "never" ? o().helpers.multiple(() => o().string.uuid()).filter((a) => !e._zod.def.shape[a]).map((a) => [a, e._zod.def.catchall]) : []
).map(([a, r]) => [a, n(r, { ...t, depth: t.depth + 1 })])
);
}
function le(e, t, n) {
return o().datatype.boolean() ? n(e._zod.def.innerType, t) : void 0;
}
const fe = ["true", "1", "yes", "on", "y", "enabled"], me = ["false", "0", "no", "off", "n", "disabled"], pe = [...fe, ...me];
function xe(e, t, n) {
if (e._zod.def.out._zod.def.type === "boolean")
return o().helpers.arrayElement(pe);
const a = n(e._zod.def.in, t), r = { value: a, issues: a.issues }, i = {}, c = e._zod.def.out._zod.run(r, i);
return r.value = c, a;
}
function ge(e, t, n) {
return o().datatype.boolean() ? n(e._zod.def.innerType, t) : e._zod.def.defaultValue;
}
function be(e, t, n) {
return Promise.resolve(n(e._zod.def.innerType, t));
}
function _e(e, t, n) {
return Object.freeze(n(e._zod.def.innerType, t));
}
function ke(e, t, n) {
return e._zod.def.keyType instanceof d.$ZodEnum ? Object.fromEntries(
Object.values(e._zod.def.keyType._zod.def.entries).map((a) => [
a,
n(e._zod.def.valueType, t)
])
) : e._zod.def.keyType instanceof d.$ZodLiteral ? Object.fromEntries(
e._zod.def.keyType._zod.def.values.map((a) => [a, n(e._zod.def.valueType, t)])
) : Object.fromEntries(
o().helpers.multiple(() => [
n(e._zod.def.keyType, t),
n(e._zod.def.valueType, t)
])
);
}
function ze(e, t, n) {
let a = 0, r = 1 / 0;
for (const i of e._zod.def.checks ?? [])
switch (i._zod.def.check) {
case "max_size": {
r = Math.min(r, i._zod.def.maximum);
break;
}
case "min_size": {
a = Math.max(a, i._zod.def.minimum);
break;
}
case "size_equals": {
a = i._zod.def.size, r = i._zod.def.size;
break;
}
default: {
i._zod.def.check;
break;
}
}
return r = r === 1 / 0 ? a + o().number.int({ min: 0, max: 10 }) : r, t.depth > v && (r = a), new Set(
o().helpers.multiple(() => n(e._zod.def.valueType, t), { count: { min: a, max: r } })
);
}
const he = /^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;
function y(e, t) {
let n;
switch (e._zod.def.format) {
case "base64": {
n = s(d.regexes.base64);
break;
}
case "base64url": {
n = "Zm9vK2Jhci9iYXo";
break;
}
case "cidrv4": {
n = s(d.regexes.cidrv4);
break;
}
case "cidrv6": {
n = o().internet.ipv6() + "/" + o().number.int({ min: 0, max: 128 });
break;
}
case "cuid": {
n = s(d.regexes.cuid);
break;
}
case "cuid2": {
n = s(d.regexes.cuid2);
break;
}
case "date": {
n = s(d.regexes.date);
break;
}
case "datetime": {
const r = e._zod.def;
n = s(
d.regexes.datetime({
local: r.local,
offset: r.offset,
precision: r.precision
})
);
break;
}
case "duration": {
n = [
"P",
o().datatype.boolean() ? o().number.int({ min: 0, max: 10 * 2e3 }) + "Y" : "",
o().datatype.boolean() ? o().number.int({ min: 0, max: 120 }) + "M" : "",
o().datatype.boolean() ? o().number.int({ min: 0, max: 310 }) + "D" : "",
"T",
o().datatype.boolean() ? o().number.int({ min: 0, max: 240 }) + "H" : "",
o().datatype.boolean() ? o().number.int({ min: 0, max: 600 }) + "M" : "",
o().datatype.boolean() ? o().number.int({ min: 0, max: 600 }) + "S" : ""
].join("").replace(/T$/, "").replace(/^P$/, "P" + o().number.int({ min: 0, max: 100 }) + "W");
break;
}
case "e164": {
n = s(d.regexes.e164);
break;
}
case "email": {
const r = e._zod.def.pattern ? e._zod.def.pattern : d.regexes.email;
n = s(r), he.source === r.source && (n = n.replace(/\.\./g, ".").replace(/^\./, "a"));
break;
}
case "emoji": {
n = "☘";
break;
}
case "hex": {
n = s(d.regexes.hex);
break;
}
case "hostname": {
n = o().internet.domainName();
break;
}
case "httpUrl": {
n = o().internet.url();
break;
}
case "guid": {
n = s(d.regexes.guid);
break;
}
case "ipv4": {
n = s(d.regexes.ipv4);
break;
}
case "ipv6": {
n = o().internet.ipv6();
break;
}
case "jwt": {
const r = e._zod.def;
n = o().internet.jwt({
header: {
alg: r.alg || o().internet.jwtAlgorithm(),
typ: "JWT"
}
});
break;
}
case "ksuid": {
n = s(d.regexes.ksuid);
break;
}
case "md5_base64": {
n = s(d.regexes.md5_base64);
break;
}
case "md5_base64url": {
n = s(d.regexes.md5_base64url);
break;
}
case "md5_hex": {
n = s(d.regexes.md5_hex);
break;
}
case "nanoid": {
n = s(d.regexes.nanoid);
break;
}
case "regex": {
n = s(e._zod.def.pattern);
break;
}
case "sha1_base64": {
n = s(d.regexes.sha1_base64);
break;
}
case "sha1_base64url": {
n = s(d.regexes.sha1_base64url);
break;
}
case "sha1_hex": {
n = s(d.regexes.sha1_hex);
break;
}
case "sha256_base64": {
n = s(d.regexes.sha256_base64);
break;
}
case "sha256_base64url": {
n = s(d.regexes.sha256_base64url);
break;
}
case "sha256_hex": {
n = s(d.regexes.sha256_hex);
break;
}
case "sha384_base64": {
n = s(d.regexes.sha384_base64);
break;
}
case "sha384_base64url": {
n = s(d.regexes.sha384_base64url);
break;
}
case "sha384_hex": {
n = s(d.regexes.sha384_hex);
break;
}
case "sha512_base64": {
n = s(d.regexes.sha512_base64);
break;
}
case "sha512_base64url": {
n = s(d.regexes.sha512_base64url);
break;
}
case "sha512_hex": {
n = s(d.regexes.sha512_hex);
break;
}
case "time": {
const r = e._zod.def;
n = s(
d.regexes.time({
precision: r.precision
})
);
break;
}
case "ulid": {
n = s(d.regexes.ulid);
break;
}
case "url": {
const r = e._zod.def.protocol, i = e._zod.def.hostname;
r && i ? n = s(r) + "://" + s(i) : r ? n = s(r) + "://" + o().internet.domainName() : i ? n = "https://" + s(i) : n = o().internet.url();
break;
}
case "uuid": {
switch (e._zod.def.version) {
case "v1":
n = s(d.regexes.uuid(1));
break;
case "v2":
n = s(d.regexes.uuid(2));
break;
case "v3":
n = s(d.regexes.uuid(3));
break;
case "v4":
n = s(d.regexes.uuid(4));
break;
case "v5":
n = s(d.regexes.uuid(5));
break;
case "v6":
n = s(d.regexes.uuid(6));
break;
case "v7":
n = s(d.regexes.uuid(7));
break;
case "v8":
n = s(d.regexes.uuid(8));
break;
default:
n = s(d.regexes.uuid());
}
break;
}
case "xid": {
n = s(d.regexes.xid);
break;
}
}
return n;
}
function ye(e, t, n) {
let a = o().lorem.sentence(), r, i, c = "", f = "", u = "", m = !1, z = !1;
a = y(e) ?? a;
for (const p of e._zod.def.checks ?? [])
switch (p._zod.def.check) {
case "length_equals": {
r = p._zod.def.length, i = p._zod.def.length;
break;
}
case "max_length": {
i = Math.min(i ?? p._zod.def.maximum, p._zod.def.maximum);
break;
}
case "min_length": {
r = Math.max(r ?? p._zod.def.minimum, p._zod.def.minimum);
break;
}
case "string_format": {
a = y(p) ?? a;
const x = p;
switch (x._zod.def.format) {
case "ends_with": {
u = b(x._zod.def.pattern?.source ?? "").replace(/^\.\*/, "").replace(/\$$/, "");
break;
}
case "includes": {
f = b(x._zod.def.pattern?.source ?? "");
break;
}
case "lowercase": {
z = !0;
break;
}
case "starts_with": {
c = b(x._zod.def.pattern?.source ?? "").replace(/^\^/, "").replace(/\.\*$/, "");
break;
}
case "uppercase": {
m = !0;
break;
}
}
break;
}
default: {
p._zod.def.check;
break;
}
}
return i = i === 1 / 0 ? r : i, r !== void 0 && a.length < r && (a = a.padEnd(r, " ")), i !== void 0 && a.length > i && (a = a.slice(0, o().number.int({ min: r, max: i }))), m && (a = a.toUpperCase()), z && (a = a.toLowerCase()), c && !a.startsWith(c) && (a = c + a), f && !a.includes(f) && (a = a + f), u && !a.endsWith(u) && (a = a + u), a;
}
function ve(e, t, n) {
return /* @__PURE__ */ Symbol();
}
function we(e, t, n) {
return e._zod.def.parts.map((a) => a instanceof d.$ZodType ? n(a, t) : a).map((a) => a + "").join("");
}
function Te(e, t, n) {
return e._zod.def.items.map((a) => n(a, t)).concat(
e._zod.def.rest ? o().helpers.multiple(() => n(e._zod.def.rest, t), { count: { min: 0, max: 5 } }) : []
);
}
function Me(e, t, n) {
const a = e._zod.def.options.filter((r) => r._zod.def.type !== "never");
return a.length === 0 && a.push(e._zod.def.options[0]), n(o().helpers.arrayElement(a), t);
}
const l = ((e, t) => {
switch (e._zod.def.type) {
case "any":
return void 0;
case "array":
return j(e, t, l);
case "bigint":
return N(e);
case "boolean":
return A();
case "catch":
return I(e, t, l);
case "custom":
return C(e, t, l);
case "date":
return O(e);
case "default":
return D(e, t, l);
case "enum":
return L(e);
case "function":
return ee(e, t, l);
case "file":
return P(e);
case "int":
break;
case "intersection":
break;
case "lazy":
return te(e, t, l);
case "literal":
return ne(e);
case "map":
return ae(e, t, l);
case "nan":
return re();
case "never":
return oe();
case "nonoptional":
return ie(e, t, l);
case "null":
return se();
case "nullable":
return ce(e, t, l);
case "number":
return de(e);
case "object":
return ue(e, t, l);
case "optional":
return le(e, t, l);
case "pipe":
return xe(e, t, l);
case "prefault":
return ge(e, t, l);
case "promise":
return be(e, t, l);
case "readonly":
return _e(e, t, l);
case "record":
return ke(e, t, l);
case "set":
return ze(e, t, l);
case "string":
return ye(e);
case "success":
break;
case "symbol":
return ve();
case "template_literal":
return we(e, t, l);
case "transform":
break;
case "tuple":
return Te(e, t, l);
case "undefined":
return void 0;
case "union":
return Me(e, t, l);
case "unknown":
return void 0;
case "void":
return void 0;
default: {
e._zod.def.type;
break;
}
}
throw TypeError();
});
function Ae(e) {
return l(e, { depth: 0 });
}
export {
Ne as custom,
Ae as fake,
o as getFaker,
s as randexp,
je as seed,
Se as setFaker
};