function e(e, t) {
let n = [],
r = new Set(),
i = [],
a = [e, []];
for (; a;) {
let [e, o] = a;
switch (e.type) {
case `leaf`: {
let i;
if (t === void 0) i = e.code;
else {
let n = t[e.code];
if (n === void 0) {
r.add(e.code);
break;
}
let { code: a, type: o, ...s } = e;
i = n(s);
}
n.push({ path: o, message: i });
break;
}
case `join`:
i.push([e.right, o], [e.left, o]);
break;
case `nest`:
i.push([e.child, [...o, e.key]]);
break;
}
a = i.pop();
}
if (r.size > 0) {
let e = [...r].sort();
throw Error(`No messages for codes: ${e.join(`, `)}.`);
}
return n;
}
var t = class {
ok = !1;
_issue;
constructor(e) {
this._issue = e;
}
get issue() {
return this._issue;
}
messages(t) {
return e(this._issue, t);
}
},
n = class extends Error {
_issue;
constructor(e) {
(super("Failed to parse. See `e.messages()` for details."), (this._issue = e));
}
messages(t) {
return e(this._issue, t);
}
};
function r(e) {
return e.ok === !0;
}
const i = {
INVALID_TYPE: `invalid_type`,
TOO_SHORT: `too_short`,
TOO_LONG: `too_long`,
DUPLICATE_KEY: `duplicate_key`,
TOO_DEEP: `too_deep`,
INVALID_EMAIL: `invalid_email`,
INVALID_EMOJI: `invalid_emoji`,
INVALID_UUID: `invalid_uuid`,
INVALID_NANOID: `invalid_nanoid`,
DOES_NOT_INCLUDE: `does_not_include`,
DOES_NOT_START_WITH: `does_not_start_with`,
DOES_NOT_END_WITH: `does_not_end_with`,
INVALID_DATE_STRING: `invalid_date_string`,
INVALID_TIME_STRING: `invalid_time_string`,
INVALID_DATE_TIME_STRING: `invalid_date_time_string`,
INVALID_IP_ADDRESS: `invalid_ip_address`,
INVALID_IP_ADDRESS_RANGE: `invalid_ip_address_range`,
INVALID_URL: `invalid_url`,
DOES_NOT_MATCH_REGEX: `does_not_match_regex`,
TOO_SMALL: `too_small`,
TOO_LARGE: `too_large`,
INVALID_INTEGER: `invalid_integer`,
INVALID_FINITE: `invalid_finite`,
INVALID_SAFE_INTEGER: `invalid_safe_integer`,
INVALID_VALUE: `invalid_value`,
INVALID_DISCRIMINATOR_VALUE: `invalid_discriminator_value`,
INVALID_ENUM_VALUE: `invalid_enum_value`,
UNRECOGNIZED_KEY: `unrecognized_key`,
MISSING_VALUE: `missing_value`,
INVALID_DATE: `invalid_date`,
TOO_RECENT: `too_recent`,
TOO_DATED: `too_dated`,
};
function a(e, t) {
return e ? { type: `join`, left: e, right: t } : t;
}
function o(e) {
return typeof e != `object` || !e || Array.isArray(e)
? !1
: e.constructor === Object
? !0
: e.constructor === void 0
? Object.getPrototypeOf(e) === null
: Object.hasOwn(e, `constructor`)
? Object.getPrototypeOf(e) === Object.prototype || Object.getPrototypeOf(e) === null
: !1;
}
function s(e, t) {
Object.defineProperty(e, "__proto__", {
value: t,
writable: !0,
enumerable: !0,
configurable: !0,
});
}
function c(e) {
return typeof e == `bigint` ? `${e}n` : typeof e == `string` ? `'${e}'` : String(e);
}
function l(e, t, n, r, i) {
if (e === void 0) return !1;
for (let a of e) if (a.tag === t && Math.sign(r(n, a.param)) === i) return !0;
return !1;
}
function u(e) {
return typeof Temporal > `u`
? !1
: e instanceof Temporal.Instant ||
e instanceof Temporal.PlainDate ||
e instanceof Temporal.PlainDateTime ||
e instanceof Temporal.PlainMonthDay ||
e instanceof Temporal.PlainTime ||
e instanceof Temporal.PlainYearMonth ||
e instanceof Temporal.ZonedDateTime ||
e instanceof Temporal.Duration;
}
function d(e) {
if (e === null) return e;
if (typeof e == `function` || typeof e == `symbol`)
throw Error(`A default value cannot be a ${typeof e}.`);
if (typeof e != `object` || u(e)) return e;
if (e instanceof Date) return new Date(e.getTime());
if (Array.isArray(e)) return e.map((e) => d(e));
if (e instanceof Map) {
let t = new Map();
for (let [n, r] of e) t.set(d(n), d(r));
return t;
}
if (e instanceof Set) {
let t = new Set();
for (let n of e) t.add(d(n));
return t;
}
if (o(e)) {
let t = e,
n = {};
for (let e of Object.keys(t)) e === `__proto__` ? s(n, d(t[e])) : (n[e] = d(t[e]));
return n;
}
let t = e.constructor?.name ?? `non-plain object`;
throw Error(`A default value cannot be a ${t}.`);
}
function f(e) {
if (typeof e != `object` || !e || Object.isFrozen(e)) return e;
if (e instanceof Map || e instanceof Set) {
if (e instanceof Map) for (let [t, n] of e) (f(t), f(n));
else for (let t of e) f(t);
let t = () => {
throw TypeError(`Cannot mutate a frozen default value.`);
},
n = e instanceof Map ? [`set`, `delete`, `clear`] : [`add`, `delete`, `clear`];
for (let r of n)
Object.defineProperty(e, r, { value: t, writable: !1, enumerable: !1, configurable: !1 });
}
Object.freeze(e);
for (let t of Reflect.ownKeys(e)) f(e[t]);
return e;
}
var p;
const m = 1e3,
h = new WeakMap();
p = `~standard`;
var g = class {
get [p]() {
if (this._standardProps === void 0) {
let e = Object.isExtensible(this);
if (!e) {
let e = h.get(this);
if (e !== void 0) return e;
}
let n = this,
i = Object.freeze({
version: 1,
vendor: `paseri`,
validate(e, i) {
let a = n._parse(e, 0, m);
return a === void 0
? { value: e }
: r(a)
? { value: a.value }
: { issues: new t(a).messages(i?.libraryOptions?.locale) };
},
});
return (e ? (this._standardProps = i) : h.set(this, i), i);
}
return this._standardProps;
}
_isOptional() {
return !1;
}
_hasDefault() {
return !1;
}
_unwrapOptional() {
return this;
}
_unwrapRefine() {
return this;
}
parse(e, t) {
let i = t?.maxDepth ?? m;
if (!Number.isInteger(i) || i < 1) throw Error(`maxDepth must be a positive integer.`);
let a = this._parse(e, 0, i);
if (a === void 0) return e;
if (r(a)) return a.value;
throw new n(a);
}
safeParse(e, n) {
let i = n?.maxDepth ?? m;
if (!Number.isInteger(i) || i < 1) throw Error(`maxDepth must be a positive integer.`);
let a = this._parse(e, 0, i);
return a === void 0 ? { ok: !0, value: e } : r(a) ? a : new t(a);
}
optional() {
return new _(this);
}
nullable() {
return new v(this);
}
chain(e, t) {
return new y(this, e, t);
}
refine(e, t) {
return new x(this, e, t);
}
},
_ = class e extends g {
_schema;
constructor(e) {
(super(), (this._schema = e));
}
_clone() {
return new e(this._schema);
}
_parse(e, t, n) {
if (e !== void 0) return this._schema._parse(e, t, n);
}
_isOptional() {
return !0;
}
_unwrapOptional() {
return this._schema;
}
default(e) {
return new b(this._schema, e);
}
},
v = class e extends g {
_schema;
constructor(e) {
(super(), (this._schema = e));
}
_clone() {
return new e(this._schema);
}
_parse(e, t, n) {
if (e !== null) return this._schema._parse(e, t, n);
}
_isOptional() {
return this._schema._isOptional();
}
_hasDefault() {
return this._schema._hasDefault();
}
_unwrapOptional() {
return new e(this._schema._unwrapOptional());
}
},
y = class extends g {
_fromSchema;
_toSchema;
_transformer;
constructor(e, t, n) {
(super(), (this._fromSchema = e), (this._toSchema = t), (this._transformer = n));
}
_clone() {
return this;
}
_parse(e, t, n) {
let i = this._fromSchema._parse(e, t, n),
a = this._transformer,
o;
if (i === void 0) o = a(e);
else if (r(i)) o = a(i.value);
else return i;
if (!o.ok) return o.issue;
let s = this._toSchema._parse(o.value, t, n);
return s === void 0 ? { ok: !0, value: o.value } : s;
}
},
b = class e extends g {
_schema;
_default;
constructor(e, t) {
(super(), (this._schema = e), (this._default = f(d(t))));
}
_clone() {
return new e(this._schema, this._default);
}
_parse(e, t, n) {
return e === void 0 ? { ok: !0, value: this._default } : this._schema._parse(e, t, n);
}
_getDefault() {
return this._default;
}
_hasDefault() {
return !0;
}
},
x = class e extends g {
_base;
_predicate;
_code;
_path;
_params;
constructor(e, t, n) {
(super(),
(this._base = e),
(this._predicate = t),
(this._code = n.code),
(this._path = n.path ?? []),
(this._params = n.params));
}
_clone() {
return this;
}
_isOptional() {
return this._base._isOptional();
}
_hasDefault() {
return this._base._hasDefault();
}
_unwrapRefine() {
return this._base._unwrapRefine();
}
_unwrapOptional() {
let t = new e(this._base._unwrapOptional(), this._predicate, {
code: this._code,
path: [...this._path],
...(this._params !== void 0 && { params: this._params }),
});
return ((t._callSiteFile = this._callSiteFile), t);
}
_parse(e, t, n) {
let i = this._base._parse(e, t, n);
if (i !== void 0 && !r(i)) return i;
let a = i === void 0 ? e : i.value,
o = this._predicate;
if (o(a)) return i;
let s = {
type: `leaf`,
code: this._code,
...(this._params !== void 0 && { params: this._params }),
};
for (let e = this._path.length - 1; e >= 0; e--)
s = { type: `nest`, key: this._path[e], child: s };
return s;
}
},
S = class e extends g {
_element;
_minLength = 0;
_maxLength = 1 / 0;
issues = {
INVALID_TYPE: { type: `leaf`, code: i.INVALID_TYPE, expected: `array` },
TOO_LONG: { type: `leaf`, code: i.TOO_LONG },
TOO_SHORT: { type: `leaf`, code: i.TOO_SHORT },
};
constructor(e) {
(super(), (this._element = e));
}
_clone() {
let t = new e(this._element);
return ((t._minLength = this._minLength), (t._maxLength = this._maxLength), t);
}
_parse(e, t, n) {
if (!Array.isArray(e)) return this.issues.INVALID_TYPE;
let i = e.length,
o = this._maxLength,
s = this._minLength;
if (i > o) return this.issues.TOO_LONG;
if (i < s) return this.issues.TOO_SHORT;
let c = this._element,
l,
u;
for (let o = 0; o < i; o++) {
let i = e[o],
s = c._parse(i, t, n);
if (s === void 0) {
u?.push(i);
continue;
}
r(s)
? ((u ||= e.slice(0, o)), u.push(s.value))
: (u?.push(i), (l = a(l, { type: `nest`, key: o, child: s })));
}
if (l) return l;
if (u) return { ok: !0, value: u };
}
min(e) {
if (!Number.isInteger(e) || e < 0) throw Error(`Length must be a non-negative integer.`);
if (e > this._maxLength) throw Error(`Minimum length must not exceed maximum length.`);
let t = this._clone();
return ((t._minLength = e), t);
}
max(e) {
if (!Number.isInteger(e) || e < 0) throw Error(`Length must be a non-negative integer.`);
if (e < this._minLength) throw Error(`Minimum length must not exceed maximum length.`);
let t = this._clone();
return ((t._maxLength = e), t);
}
length(e) {
if (!Number.isInteger(e) || e < 0) throw Error(`Length must be a non-negative integer.`);
let t = this._clone();
return ((t._minLength = e), (t._maxLength = e), t);
}
};
const C = (...e) => new S(...e);
function w(e, t, n) {
if (e === void 0) return;
let r;
for (let i of e) (i.tag === t || i.tag === n) && (r === void 0 || i.param > r) && (r = i.param);
if (r === void 0) return;
let i = !1;
for (let t of e) t.tag === n && t.param === r && (i = !0);
return { value: r, strict: i };
}
function T(e, t, n) {
if (e === void 0) return;
let r;
for (let i of e) (i.tag === t || i.tag === n) && (r === void 0 || i.param < r) && (r = i.param);
if (r === void 0) return;
let i = !1;
for (let t of e) t.tag === n && t.param === r && (i = !0);
return { value: r, strict: i };
}
function E(e, t, n) {
if (e !== void 0 && (t > e.value || (t === e.value && (n || e.strict))))
throw Error(`Lower bound must not exceed upper bound.`);
}
function D(e, t, n) {
if (e !== void 0 && (t < e.value || (t === e.value && (n || e.strict))))
throw Error(`Lower bound must not exceed upper bound.`);
}
const O = new (class e extends g {
_checks = void 0;
issues = {
INVALID_TYPE: { type: `leaf`, code: i.INVALID_TYPE, expected: `Date` },
INVALID_DATE: { type: `leaf`, code: i.INVALID_DATE },
TOO_DATED: { type: `leaf`, code: i.TOO_DATED },
TOO_RECENT: { type: `leaf`, code: i.TOO_RECENT },
};
_clone() {
let t = new e();
return ((t._checks = this._checks?.slice()), t);
}
_parse(e, t, n) {
if (!(e instanceof Date)) return this.issues.INVALID_TYPE;
if (Number.isNaN(e.getTime())) return this.issues.INVALID_DATE;
if (this._checks !== void 0) {
let t = this._checks;
for (let n = 0; n < t.length; n++) {
let { tag: r, param: i, issue: a } = t[n];
switch (r) {
case 0:
if (e < i) return a;
break;
case 1:
if (e > i) return a;
break;
}
}
}
}
min(e) {
if (Number.isNaN(e.getTime())) throw Error(`Invalid Date is not a valid boundary value.`);
if (l(this._checks, 1, e, (e, t) => e.getTime() - t.getTime(), 1))
throw Error(`Minimum must not exceed maximum.`);
let t = this._clone();
return (
(t._checks = t._checks || []),
t._checks.push({ tag: 0, param: new Date(e.getTime()), issue: this.issues.TOO_DATED }),
t
);
}
max(e) {
if (Number.isNaN(e.getTime())) throw Error(`Invalid Date is not a valid boundary value.`);
if (l(this._checks, 0, e, (e, t) => e.getTime() - t.getTime(), -1))
throw Error(`Minimum must not exceed maximum.`);
let t = this._clone();
return (
(t._checks = t._checks || []),
t._checks.push({ tag: 1, param: new Date(e.getTime()), issue: this.issues.TOO_RECENT }),
t
);
}
})(),
k = () => O;
var A = class e extends g {
_values;
_set;
issues;
constructor(...e) {
if ((super(), e.length === 0)) throw Error(`Enum must contain at least one value.`);
((this._values = Object.freeze([...e])),
(this._set = new Set(e)),
(this.issues = {
INVALID_ENUM_VALUE: {
type: `leaf`,
code: i.INVALID_ENUM_VALUE,
expected: this._values.map(c),
},
}));
}
_clone() {
return new e(...this._values);
}
_parse(e, t, n) {
if (!this._set.has(e)) return this.issues.INVALID_ENUM_VALUE;
}
extract(...t) {
return new e(...t);
}
exclude(...t) {
let n = new Set(t),
r = this._values.filter((e) => !n.has(e));
return new e(...r);
}
};
const j = (...e) => new A(...e),
M = new (class e extends g {
_checks = void 0;
issues = {
INVALID_TYPE: { type: `leaf`, code: i.INVALID_TYPE, expected: `number` },
TOO_SMALL: { type: `leaf`, code: i.TOO_SMALL },
TOO_LARGE: { type: `leaf`, code: i.TOO_LARGE },
INVALID_INTEGER: { type: `leaf`, code: i.INVALID_INTEGER },
INVALID_FINITE: { type: `leaf`, code: i.INVALID_FINITE },
INVALID_SAFE_INTEGER: { type: `leaf`, code: i.INVALID_SAFE_INTEGER },
};
_clone() {
let t = new e();
return ((t._checks = this._checks?.slice()), t);
}
_parse(e, t, n) {
if (typeof e != `number` || Number.isNaN(e)) return this.issues.INVALID_TYPE;
if (this._checks !== void 0) {
let t = this._checks;
for (let n = 0; n < t.length; n++) {
let { tag: r, param: i, issue: a } = t[n];
switch (r) {
case 0:
if (e < i) return a;
break;
case 1:
if (e <= i) return a;
break;
case 2:
if (e > i) return a;
break;
case 3:
if (e >= i) return a;
break;
case 4:
if (!Number.isInteger(e)) return a;
break;
case 5:
if (!Number.isFinite(e)) return a;
break;
case 6:
if (!Number.isSafeInteger(e)) return a;
break;
}
}
}
}
gte(e) {
if (Number.isNaN(e)) throw Error(`NaN is not a valid boundary value.`);
E(T(this._checks, 2, 3), e, !1);
let t = this._clone();
return (
(t._checks = t._checks || []),
t._checks.push({ tag: 0, param: e, issue: this.issues.TOO_SMALL }),
t
);
}
gt(e) {
if (Number.isNaN(e)) throw Error(`NaN is not a valid boundary value.`);
E(T(this._checks, 2, 3), e, !0);
let t = this._clone();
return (
(t._checks = t._checks || []),
t._checks.push({ tag: 1, param: e, issue: this.issues.TOO_SMALL }),
t
);
}
lte(e) {
if (Number.isNaN(e)) throw Error(`NaN is not a valid boundary value.`);
D(w(this._checks, 0, 1), e, !1);
let t = this._clone();
return (
(t._checks = t._checks || []),
t._checks.push({ tag: 2, param: e, issue: this.issues.TOO_LARGE }),
t
);
}
lt(e) {
if (Number.isNaN(e)) throw Error(`NaN is not a valid boundary value.`);
D(w(this._checks, 0, 1), e, !0);
let t = this._clone();
return (
(t._checks = t._checks || []),
t._checks.push({ tag: 3, param: e, issue: this.issues.TOO_LARGE }),
t
);
}
int() {
let e = this._clone();
return (
(e._checks = e._checks || []),
e._checks.push({ tag: 4, param: 0, issue: this.issues.INVALID_INTEGER }),
e
);
}
finite() {
let e = this._clone();
return (
(e._checks = e._checks || []),
e._checks.push({ tag: 5, param: 0, issue: this.issues.INVALID_FINITE }),
e
);
}
safe() {
let e = this._clone();
return (
(e._checks = e._checks || []),
e._checks.push({ tag: 6, param: 0, issue: this.issues.INVALID_SAFE_INTEGER }),
e
);
}
})(),
N = () => M;
function P(e, t) {
return { ...e, ...t };
}
var F = class e extends g {
_shape;
_shapeMap;
_shapeKeys;
_shapeSize;
_requiredKeys;
_mode = `strict`;
issues = {
INVALID_TYPE: { type: `leaf`, code: i.INVALID_TYPE, expected: `object` },
UNRECOGNIZED_KEY: { type: `leaf`, code: i.UNRECOGNIZED_KEY },
MISSING_VALUE: { type: `leaf`, code: i.MISSING_VALUE },
};
constructor(e, t = !1) {
if ((super(), !e)) throw Error(`Object must contain at least one field.`);
if (Object.getOwnPropertySymbols(e).length > 0)
throw Error(`Object fields must use string keys.`);
if (Object.keys(e).length === 0) throw Error(`Object must contain at least one field.`);
((this._shape = e),
(this._shapeMap = t ? new Map(Object.entries(e)) : void 0),
(this._shapeKeys = [...Object.keys(e)]),
(this._shapeSize = this._shapeKeys.length),
(this._requiredKeys = this._shapeKeys.filter((t) => !e[t]._isOptional())));
}
_clone() {
let t = new e(this._shape, this._shapeMap !== void 0);
return ((t._mode = this._mode), t);
}
_parse(e, t, n) {
if (!o(e)) return this.issues.INVALID_TYPE;
let i = 0,
c = {},
l,
u = !1,
d,
f,
p = this._shapeMap;
if (p === void 0)
for (let o in e) {
let d = this._shape[o];
if (d?._parse) {
i++;
let l = e[o],
p = d._parse(l, t, n);
if (p === void 0) continue;
r(p)
? ((u = !0), o === `__proto__` ? s(c, p.value) : (c[o] = p.value))
: (f = a(f, { type: `nest`, key: o, child: p }));
} else this._mode !== `passthrough` && ((l ||= new Set()), l.add(o));
}
else
for (let o in e) {
let d = p.get(o);
if (d?._parse) {
i++;
let l = e[o],
p = d._parse(l, t, n);
if (p === void 0) continue;
r(p)
? ((u = !0), o === `__proto__` ? s(c, p.value) : (c[o] = p.value))
: (f = a(f, { type: `nest`, key: o, child: p }));
} else this._mode !== `passthrough` && ((l ||= new Set()), l.add(o));
}
if (i < this._shapeSize) {
let i = Object.getOwnPropertyNames(e).length !== Object.keys(e).length;
for (let i of this._requiredKeys)
if (!Object.hasOwn(e, i)) {
let e = this._parseMissingKey(i, t, n);
if (e === void 0) continue;
r(e)
? ((u = !0), i === `__proto__` ? s(c, e.value) : (c[i] = e.value))
: (f = a(f, { type: `nest`, key: i, child: e }));
}
if (i) {
for (let i of this._shapeKeys)
if (Object.hasOwn(e, i) && !Object.prototype.propertyIsEnumerable.call(e, i)) {
(d === void 0 && (d = []), d.push(i));
let o = this._shape[i]._parse(e[i], t, n);
o !== void 0 &&
(r(o)
? ((u = !0), i === `__proto__` ? s(c, o.value) : (c[i] = o.value))
: (f = a(f, { type: `nest`, key: i, child: o })));
}
}
}
if (l && this._mode === `strict`)
for (let e of l) f = a(f, { type: `nest`, key: e, child: this.issues.UNRECOGNIZED_KEY });
if (f) return f;
if (l && this._mode === `strip`) {
let t = {};
for (let n in e)
l.has(n) ||
(u && Object.hasOwn(c, n)
? n === `__proto__`
? s(t, c[n])
: (t[n] = c[n])
: n === `__proto__`
? s(t, e[n])
: (t[n] = e[n]));
if (u)
for (let n in c) Object.hasOwn(e, n) || (n === `__proto__` ? s(t, c[n]) : (t[n] = c[n]));
if (d)
for (let n of d) {
let r = u && Object.hasOwn(c, n) ? c[n] : e[n];
n === `__proto__` ? s(t, r) : (t[n] = r);
}
return { ok: !0, value: t };
}
if (u) return { ok: !0, value: { ...e, ...c } };
}
_parseMissingKey(e, t, n) {
let r = this._shapeMap,
i = r === void 0 ? this._shape[e] : r.get(e);
return i instanceof b
? { ok: !0, value: i._getDefault() }
: i._hasDefault()
? i._parse(void 0, t, n)
: this.issues.MISSING_VALUE;
}
get shape() {
return this._shape;
}
strip() {
let e = this._clone();
return ((e._mode = `strip`), e);
}
strict() {
let e = this._clone();
return ((e._mode = `strict`), e);
}
passthrough() {
let e = this._clone();
return ((e._mode = `passthrough`), e);
}
merge(t) {
let n = new e(P(this._shape, t._shape), !0);
return ((n._mode = t._mode), n);
}
pick(...t) {
let n = new Set(t.map((e) => String(e))),
r = new e(Object.fromEntries(Object.entries(this._shape).filter(([e]) => n.has(e))), !0);
return ((r._mode = this._mode), r);
}
omit(...t) {
let n = new Set(t.map((e) => String(e))),
r = new e(Object.fromEntries(Object.entries(this._shape).filter(([e]) => !n.has(e))), !0);
return ((r._mode = this._mode), r);
}
partial(...t) {
let n = t.length === 0 ? null : new Set(t.map((e) => String(e))),
r = n === null ? () => !0 : (e) => n.has(e),
i = {};
for (let [e, t] of Object.entries(this._shape))
r(e) && !t._isOptional() && !t._hasDefault() ? (i[e] = t.optional()) : (i[e] = t);
let a = new e(i, !0);
return ((a._mode = this._mode), a);
}
required(...t) {
let n = t.length === 0 ? null : new Set(t.map((e) => String(e))),
r = n === null ? () => !0 : (e) => n.has(e),
i = {};
for (let [e, t] of Object.entries(this._shape))
r(e) ? (i[e] = t._unwrapOptional()) : (i[e] = t);
let a = new e(i, !0);
return ((a._mode = this._mode), a);
}
};
const I = (...e) => new F(...e),
L = () =>
/^(?:(?:[a-zA-Z\d\!\#\$\%\&'\*\-\/\=\?\^_\u0060\{\|\}\~\+]+)(?:\.(?:[a-zA-Z\d\!\#\$\%\&'\*\-\/\=\?\^_\u0060\{\|\}\~\+]+))*(?:)@(?:(?:[a-zA-Z\d](?:[a-zA-Z\d\-]*[a-zA-Z\d])?\.)+[a-zA-Z]{2,}))$/v,
R = () => /^\p{RGI_Emoji}+$/v,
z = () =>
/^(?:(?:\p{AHex}{8}-\p{AHex}{4}-[1-8]\p{AHex}{3}-[89ab]\p{AHex}{3}-\p{AHex}{12})|(?:00000000-0000-0000-0000-000000000000)|(?:ffffffff-ffff-ffff-ffff-ffffffffffff))$/iv,
B = () => /^[a-zA-Z\d_-]{21}$/,
V = () =>
/^(?:(?:(?:[hH][tT][tT][pP][sS]?|[fF][tT][pP]|[wW][sS][sS]?):\/\/(?:(?:(?:(?![xX][nN]--)[a-zA-Z\d_\-]+)\.)*(?:(?!(?:\d+|0[xX]\p{AHex}*)(?:[\:\/\?\#]|$))(?:(?![xX][nN]--)[a-zA-Z\d_\-]+)))(?::(?:6553[0-5]|655[0-2]\d|65[0-4]\d\d|6[0-4]\d{3}|[1-5]\d{4}|\d{1,4}))?(?:(?:[\/\?\#].*)?))|(?:(?!(?:(?:(?:[hH][tT][tT][pP][sS]?|[fF][tT][pP]|[wW][sS][sS]?)|[fF][iI][lL][eE]):))[a-zA-Z](?:(?=([a-zA-Z\d\+\.\-]*))\1):(?!\/\/).*))$/v,
H = () =>
/^(?:(?:\d{4}-(?:(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01]))|(?:(?:0[469]|11)-(?:0[1-9]|[12]\d|30))|(?:02-(?:0[1-9]|1\d|2[0-8])))|(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29)))$/v,
U = (e, t, n = !0) =>
RegExp(
`^(?:(?:(?:[01]\\d|2[0-3])):(?:[0-5]\\d):(?:[0-5]\\d)(?:${e === void 0 ? `(?:\\.\\d+)?` : e === 0 ? `` : `\\.\\d{${String(e)}}`})(?:${t && n ? `(?:(?:[+\\-](?:(?:[01]\\d|2[0-3])):(?:[0-5]\\d))|Z?)` : t ? `(?:(?:[+\\-](?:(?:[01]\\d|2[0-3])):(?:[0-5]\\d))|Z)` : n ? `Z?` : `Z`}))$`,
`v`,
),
W = (e, t, n) =>
RegExp(
`^(?:(?:(?:\\d{4}-(?:(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01]))|(?:(?:0[469]|11)-(?:0[1-9]|[12]\\d|30))|(?:02-(?:0[1-9]|1\\d|2[0-8])))|(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29)))T(?:(?:(?:[01]\\d|2[0-3])):(?:[0-5]\\d):(?:[0-5]\\d)(?:${e === void 0 ? `(?:\\.\\d+)?` : e === 0 ? `` : `\\.\\d{${String(e)}}`}))(?:${t && n ? `(?:(?:[+\\-](?:(?:[01]\\d|2[0-3])):(?:[0-5]\\d))|Z?)` : t ? `(?:(?:[+\\-](?:(?:[01]\\d|2[0-3])):(?:[0-5]\\d))|Z)` : n ? `Z?` : `Z`}))$`,
`v`,
),
G = (e) =>
RegExp(
`^(?:${e === void 0 ? `(?:(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?:(?:(?:(?:\\p{AHex}{1,4}):){7}(?:(?:\\p{AHex}{1,4})|:)|(?:(?:\\p{AHex}{1,4}):){6}(?:(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|:(?:\\p{AHex}{1,4})|:)|(?:(?:\\p{AHex}{1,4}):){5}(?::(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,2}|:)|(?:(?:\\p{AHex}{1,4}):){4}(?:(?::(?:\\p{AHex}{1,4})){0,1}(?:):(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,3}|:)|(?:(?:\\p{AHex}{1,4}):){3}(?:(?::(?:\\p{AHex}{1,4})){0,2}(?:):(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,4}|:)|(?:(?:\\p{AHex}{1,4}):){2}(?:(?::(?:\\p{AHex}{1,4})){0,3}(?:):(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,5}|:)|(?:(?:\\p{AHex}{1,4}):){1}(?:(?::(?:\\p{AHex}{1,4})){0,4}(?:):(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,6}|:)|(?::(?:(?::(?:\\p{AHex}{1,4})){0,5}(?:):(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,7}|:)))(?:%[\\da-zA-Z]+)?))` : e === 4 ? `(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))` : `(?:(?:(?:(?:\\p{AHex}{1,4}):){7}(?:(?:\\p{AHex}{1,4})|:)|(?:(?:\\p{AHex}{1,4}):){6}(?:(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|:(?:\\p{AHex}{1,4})|:)|(?:(?:\\p{AHex}{1,4}):){5}(?::(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,2}|:)|(?:(?:\\p{AHex}{1,4}):){4}(?:(?::(?:\\p{AHex}{1,4})){0,1}(?:):(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,3}|:)|(?:(?:\\p{AHex}{1,4}):){3}(?:(?::(?:\\p{AHex}{1,4})){0,2}(?:):(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,4}|:)|(?:(?:\\p{AHex}{1,4}):){2}(?:(?::(?:\\p{AHex}{1,4})){0,3}(?:):(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,5}|:)|(?:(?:\\p{AHex}{1,4}):){1}(?:(?::(?:\\p{AHex}{1,4})){0,4}(?:):(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,6}|:)|(?::(?:(?::(?:\\p{AHex}{1,4})){0,5}(?:):(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,7}|:)))(?:%[\\da-zA-Z]+)?)`})$`,
`v`,
),
K = (e) =>
RegExp(
`^(?:${e === void 0 ? `(?:(?:(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))\\/(?:(?:3[0-2]|2\\d|1\\d|\\d)))|(?:(?:(?:(?:(?:\\p{AHex}{1,4}):){7}(?:(?:\\p{AHex}{1,4})|:)|(?:(?:\\p{AHex}{1,4}):){6}(?:(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|:(?:\\p{AHex}{1,4})|:)|(?:(?:\\p{AHex}{1,4}):){5}(?::(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,2}|:)|(?:(?:\\p{AHex}{1,4}):){4}(?:(?::(?:\\p{AHex}{1,4})){0,1}(?:):(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,3}|:)|(?:(?:\\p{AHex}{1,4}):){3}(?:(?::(?:\\p{AHex}{1,4})){0,2}(?:):(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,4}|:)|(?:(?:\\p{AHex}{1,4}):){2}(?:(?::(?:\\p{AHex}{1,4})){0,3}(?:):(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,5}|:)|(?:(?:\\p{AHex}{1,4}):){1}(?:(?::(?:\\p{AHex}{1,4})){0,4}(?:):(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,6}|:)|(?::(?:(?::(?:\\p{AHex}{1,4})){0,5}(?:):(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,7}|:)))(?:%[\\da-zA-Z]+)?)\\/(?:(?:12[0-8]|1[01]\\d|\\d{1,2}))))` : e === 4 ? `(?:(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))\\/(?:(?:3[0-2]|2\\d|1\\d|\\d)))` : `(?:(?:(?:(?:(?:\\p{AHex}{1,4}):){7}(?:(?:\\p{AHex}{1,4})|:)|(?:(?:\\p{AHex}{1,4}):){6}(?:(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|:(?:\\p{AHex}{1,4})|:)|(?:(?:\\p{AHex}{1,4}):){5}(?::(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,2}|:)|(?:(?:\\p{AHex}{1,4}):){4}(?:(?::(?:\\p{AHex}{1,4})){0,1}(?:):(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,3}|:)|(?:(?:\\p{AHex}{1,4}):){3}(?:(?::(?:\\p{AHex}{1,4})){0,2}(?:):(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,4}|:)|(?:(?:\\p{AHex}{1,4}):){2}(?:(?::(?:\\p{AHex}{1,4})){0,3}(?:):(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,5}|:)|(?:(?:\\p{AHex}{1,4}):){1}(?:(?::(?:\\p{AHex}{1,4})){0,4}(?:):(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,6}|:)|(?::(?:(?::(?:\\p{AHex}{1,4})){0,5}(?:):(?:(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d))|(?::(?:\\p{AHex}{1,4})){1,7}|:)))(?:%[\\da-zA-Z]+)?)\\/(?:(?:12[0-8]|1[01]\\d|\\d{1,2})))`})$`,
`v`,
),
q = new (class e extends g {
_checks = void 0;
issues = {
INVALID_TYPE: { type: `leaf`, code: i.INVALID_TYPE, expected: `string` },
TOO_SHORT: { type: `leaf`, code: i.TOO_SHORT },
TOO_LONG: { type: `leaf`, code: i.TOO_LONG },
INVALID_EMAIL: { type: `leaf`, code: i.INVALID_EMAIL },
INVALID_EMOJI: { type: `leaf`, code: i.INVALID_EMOJI },
INVALID_UUID: { type: `leaf`, code: i.INVALID_UUID },
INVALID_NANOID: { type: `leaf`, code: i.INVALID_NANOID },
DOES_NOT_INCLUDE: { type: `leaf`, code: i.DOES_NOT_INCLUDE },
DOES_NOT_START_WITH: { type: `leaf`, code: i.DOES_NOT_START_WITH },
DOES_NOT_END_WITH: { type: `leaf`, code: i.DOES_NOT_END_WITH },
INVALID_DATE_STRING: { type: `leaf`, code: i.INVALID_DATE_STRING },
INVALID_TIME_STRING: { type: `leaf`, code: i.INVALID_TIME_STRING },
INVALID_DATE_TIME_STRING: { type: `leaf`, code: i.INVALID_DATE_TIME_STRING },
INVALID_IP_ADDRESS: { type: `leaf`, code: i.INVALID_IP_ADDRESS },
INVALID_IP_ADDRESS_RANGE: { type: `leaf`, code: i.INVALID_IP_ADDRESS_RANGE },
INVALID_URL: { type: `leaf`, code: i.INVALID_URL },
DOES_NOT_MATCH_REGEX: { type: `leaf`, code: i.DOES_NOT_MATCH_REGEX },
};
_clone() {
let t = new e();
return ((t._checks = this._checks?.slice()), t);
}
_parse(e, t, n) {
if (typeof e != `string`) return this.issues.INVALID_TYPE;
if (this._checks !== void 0) {
let t = this._checks;
for (let n = 0; n < t.length; n++) {
let r = t[n];
switch (r.tag) {
case 0:
if (e.length < r.param) return r.issue;
break;
case 1:
if (e.length > r.param) return r.issue;
break;
case 2:
if (((r.param.lastIndex = 0), !r.param.test(e))) return r.issue;
break;
case 3:
if (!e.includes(r.param)) return r.issue;
break;
case 4:
if (!e.startsWith(r.param)) return r.issue;
break;
case 5:
if (!e.endsWith(r.param)) return r.issue;
break;
case 6:
if (((r.param.lastIndex = 0), !r.param.test(e) && !URL.canParse(e))) return r.issue;
break;
}
}
}
}
min(e) {
if (!Number.isInteger(e) || e < 0) throw Error(`Length must be a non-negative integer.`);
if (e > this._effectiveMaxLength())
throw Error(`Minimum length must not exceed maximum length.`);
let t = this._clone();
return (
(t._checks = t._checks || []),
t._checks.push({ tag: 0, param: e, issue: this.issues.TOO_SHORT }),
t
);
}
max(e) {
if (!Number.isInteger(e) || e < 0) throw Error(`Length must be a non-negative integer.`);
if (e < this._effectiveMinLength())
throw Error(`Minimum length must not exceed maximum length.`);
let t = this._clone();
return (
(t._checks = t._checks || []),
t._checks.push({ tag: 1, param: e, issue: this.issues.TOO_LONG }),
t
);
}
_effectiveMinLength() {
let e = 0;
if (this._checks !== void 0)
for (let t of this._checks) t.tag === 0 && t.param > e && (e = t.param);
return e;
}
_effectiveMaxLength() {
let e = 1 / 0;
if (this._checks !== void 0)
for (let t of this._checks) t.tag === 1 && t.param < e && (e = t.param);
return e;
}
length(e) {
if (!Number.isInteger(e) || e < 0) throw Error(`Length must be a non-negative integer.`);
if (e < this._effectiveMinLength() || e > this._effectiveMaxLength())
throw Error(`Minimum length must not exceed maximum length.`);
let t = this._clone();
return (
(t._checks = t._checks || []),
t._checks.push({ tag: 1, param: e, issue: this.issues.TOO_LONG }),
t._checks.push({ tag: 0, param: e, issue: this.issues.TOO_SHORT }),
t
);
}
email() {
let e = L(),
t = this._clone();
return (
(t._checks = t._checks || []),
t._checks.push({ tag: 2, param: e, issue: this.issues.INVALID_EMAIL }),
t
);
}
emoji() {
let e = R(),
t = this._clone();
return (
(t._checks = t._checks || []),
t._checks.push({ tag: 2, param: e, issue: this.issues.INVALID_EMOJI }),
t
);
}
uuid() {
let e = z(),
t = this._clone();
return (
(t._checks = t._checks || []),
t._checks.push({ tag: 2, param: e, issue: this.issues.INVALID_UUID }),
t
);
}
nanoid() {
let e = B(),
t = this._clone();
return (
(t._checks = t._checks || []),
t._checks.push({ tag: 2, param: e, issue: this.issues.INVALID_NANOID }),
t
);
}
includes(e) {
let t = this._clone();
return (
(t._checks = t._checks || []),
t._checks.push({ tag: 3, param: e, issue: this.issues.DOES_NOT_INCLUDE }),
t
);
}
startsWith(e) {
let t = this._clone();
return (
(t._checks = t._checks || []),
t._checks.push({ tag: 4, param: e, issue: this.issues.DOES_NOT_START_WITH }),
t
);
}
endsWith(e) {
let t = this._clone();
return (
(t._checks = t._checks || []),
t._checks.push({ tag: 5, param: e, issue: this.issues.DOES_NOT_END_WITH }),
t
);
}
date() {
let e = H(),
t = this._clone();
return (
(t._checks = t._checks || []),
t._checks.push({ tag: 2, param: e, issue: this.issues.INVALID_DATE_STRING }),
t
);
}
time(e = {}) {
if (e.precision !== void 0 && (!Number.isInteger(e.precision) || e.precision < 0))
throw Error(`Precision must be a non-negative integer.`);
let t = U(e.precision, e.offset, e.local),
n = this._clone();
return (
(n._checks = n._checks || []),
n._checks.push({ tag: 2, param: t, issue: this.issues.INVALID_TIME_STRING }),
n
);
}
datetime(e = {}) {
if (e.precision !== void 0 && (!Number.isInteger(e.precision) || e.precision < 0))
throw Error(`Precision must be a non-negative integer.`);
let t = W(e.precision, e.offset, e.local),
n = this._clone();
return (
(n._checks = n._checks || []),
n._checks.push({ tag: 2, param: t, issue: this.issues.INVALID_DATE_TIME_STRING }),
n
);
}
ip(e = {}) {
let t = G(e.version),
n = this._clone();
return (
(n._checks = n._checks || []),
n._checks.push({ tag: 2, param: t, issue: this.issues.INVALID_IP_ADDRESS }),
n
);
}
cidr(e = {}) {
let t = K(e.version),
n = this._clone();
return (
(n._checks = n._checks || []),
n._checks.push({ tag: 2, param: t, issue: this.issues.INVALID_IP_ADDRESS_RANGE }),
n
);
}
url() {
let e = V(),
t = this._clone();
return (
(t._checks = t._checks || []),
t._checks.push({ tag: 6, param: e, issue: this.issues.INVALID_URL }),
t
);
}
regex(e) {
let t = this._clone();
return (
(t._checks = t._checks || []),
t._checks.push({ tag: 2, param: e, issue: this.issues.DOES_NOT_MATCH_REGEX }),
t
);
}
})(),
J = () => q,
Y = I({
id: N(),
created: k(),
title: J().min(1).max(100),
type: j(`jpg`, `png`),
size: N(),
url: J().url(),
}),
X = I({
id: N(),
stars: N().gte(0).lte(5),
title: J().min(1).max(100),
text: J().min(1).max(1e3),
images: C(Y),
});
I({
id: N(),
created: k(),
title: J().min(1).max(100),
brand: J().min(1).max(30),
description: J().min(1).max(500),
price: N().gte(1).lte(1e4),
discount: N().gte(1).lte(100).nullable(),
quantity: N().gte(0).lte(10),
tags: C(J().min(1).max(30)),
images: C(Y),
ratings: C(X),
}).safeParse({});