LogoLogo

Schema Benchmarks

    • home
      Home

    • download_2
      Download

    • timer
      Initialization
    • check_circle
      Validation
    • output_circle
      Parsing
    • swap_horiz
      Codec
    • schema
      Standard Schema
    • format_quote
      String

    • error
      Stack

  • JSON Schema

    • data_object
      Schema to JSON
    • code
      JSON to Schema
    • verified
      Compliance

    • deployed_code
      Libraries

    • article
      Blog
Expand sidebarExpand sidebar
sury/Compiled (minified)Compiled (minified)
github
GitHubGitHub
DiscordDiscord
PreferencesPreferences
schemas/libraries/sury/download_compiled/minified.js
code_off
View RawView Raw
Copy to clipboardCopy to clipboard
var e = (e, t) => (e & t) !== 0, t = 0, n = 1, r = ``, i = `[]`, a = /["\\\n\r]/, o = (e) => (a.test(e) ? JSON.stringify(e) : `"${e}"`), s = (e) => `[${e}]`, c = (e) => (e === `` ? [] : JSON.parse(e.split(`"]["`).join(`","`))), l = (e, t) => e + t, u = `string`, d = `number`, f = `bigint`, p = `boolean`, m = `symbol`, ee = `null`, h = `undefined`, te = `nan`, g = `function`, _ = `instance`, v = `array`, y = `object`, b = `anyOf`, x = `never`, ne = `unknown`, re = `ref`, S = 1, C = 2, ie = 4, w = 8, T = 16, ae = 32, E = 64, D = 128, O = 256, k = 512, oe = 1024, A = 2048, se = 4096, j = 8192, ce = 16384, le = 32768, M = { [ne]: 1, [u]: 2, [d]: 4, [p]: 8, [h]: 16, [ee]: 32, [y]: 64, [v]: 128, [b]: 256, [re]: 512, [f]: 1024, [te]: 2048, [g]: 4096, [_]: 8192, [x]: 32768, [m]: 16384, }, ue = `sury`, de = Symbol(ue); ue + ``; var N = void 0, fe = [], pe = Object.create(null), me = (e) => typeof e === y && e !== null && `~standard` in e, he = `const`, P = (e) => he in e, ge = (e) => e.type === h || (e.type === b && h in e.has), _e = (e) => { let t = Object.getPrototypeOf(e)?.constructor; return t !== Object && t?.name; }, ve = (t) => { let n = M[typeof t]; return e(n, T) ? h : e(n, E | se) ? t === null ? ee : Array.isArray(t) ? `Array(${t.length})` : _e(t) || y : e(n, C) ? `"${t}"` : e(n, oe) ? `${t}n` : t.toString(); }, ye = (e) => { if (e !== null && typeof e === y) { if (Array.isArray(e)) { let t = e, n = ``; for (let e = 0; e < t.length; e++) { if (e === 5) { n += `, ...`; break; } n = n + (e ? `, ` : ``) + ve(t[e]); } return `[${n}]`; } if (!_e(e)) { let t = e, n = ``, r = 0; for (let e in t) { if (r++ === 5) { n += `... `; break; } n = n + e + `: ` + ve(t[e]) + `; `; } return n ? `{ ${n}}` : `{}`; } } return ve(e); }, F = (e, t) => { if (e.name) return e.name; if (e.const !== N) return ye(e.const); if (e.expression && !t) return e.expression(e); if (e.anyOf !== N) { let t = e.anyOf, n = new Set(), r = ``; for (let e = 0; e < t.length; e++) { let i = F(t[e]); n.has(i) || (n.add(i), (r = r + (r ? ` | ` : ``) + i)); } return r; } if (e.type === y) { let t = e.properties, n = e.additionalItems, r = ``; for (let e in t) r = r + e + `: ` + F(t[e]) + `; `; return (typeof n === y && (r = r + `[key: string]: ` + F(n) + `; `), r ? `{ ${r}}` : `{}`); } if (e.type === v) { let t = e.additionalItems; if (typeof t === y) { let e = t, n = F(e); return (e.type === b || e.bounds !== N || e.multipleOf !== N ? `(${n})` : n) + `[]`; } let n = e.items, r = ``; for (let e = 0; e < n.length; e++) r = r + (e ? `, ` : ``) + F(n[e]); return `[${r}]`; } return e.format ? e.format : e.type === _ ? e.class.name : e.type; }; function be() {} var xe = Object.create(null); (Object.defineProperty(xe, "with", { value(e, ...t) { return e(this, ...t); }, }), (be.prototype = xe)); var Se = `r`; function Ce() {} var we = Object.create(xe); (Object.defineProperty(we, Se, { get: function () { return this; }, }), Object.defineProperty(we, "sr", { value: !0 }), (Ce.prototype = we)); var Te = 1, Ee = {}, De = class extends Error { constructor(e) { (super(), Object.assign(this, e)); } get message() { return ke(this); } get _1() { return this; } get RE_EXN_ID() { return Ee; } }; (Object.defineProperty(De.prototype, "name", { value: `SuryError` }), Object.defineProperty(De.prototype, "s", { value: de })); var Oe = (e) => { if (e && e.s === de) return e; throw e; }, I = (e) => { throw Error(`[Sury] ${e}`); }, ke = (e) => `${e.path === `` ? `` : `Failed at ${e.path}: `}${e.reason}`, Ae = { m: ke, d: N, a: `strip`, f: t }, je = {}, Me = { configurable: !0 }, Ne = `value`, L = (e, t, n) => { let r = new (t ? Ce : be)(); return ((r.type = e), (r.seq = Te++), (r.decoder = n), r); }, Pe = (e) => e, R = (e, t, n) => { let r = L(e, !0, t); return (n?.(r), r); }, z = L(ne, !0, Pe), Fe = (e) => { let t = Object.assign(new be(), e); return ((t.seq = Te++), t); }, B = (e, t) => { let n = Fe(e), r = n; for (; r.to !== N;) { let e = Fe(r.to); ((r.to = e), (r = e)); } return (t(r), n); }, Ie = (t, n) => { t[e(M[n], O | k) ? ne : n] = !0; }, Le = `JSON`; function V() { return this.i; } function Re() { return this.b.v(); } function ze() { return this.prev.v(); } function Be() { let e = this, t = W(e.g); return ((e.cp = `let ${t}=${e.i};`), (e.i = t), (e.v = V), t); } function Ve() { let e = this, t = e.p; if (t.fz) return ((e.v = V), e.i); { let n = W(e.g); return (Ke(t, `${n}=${e.i}`), (e.v = V), (e.i = n), n); } } function He() { let e = this; if (e.fz) return ((e.v = V), (e.i = `(${e.i})`), e.i); { let t = W(e.g); return ( e.prev === N ? e.i === `` ? Ke(e, t) : Ke(e, `${t}=${e.i}`) : e.i === `` ? (e.cp = `let ${t};` + e.cp) : (e.cp += `let ${t}=${e.i};`), (e.v = V), (e.i = t), t ); } } var Ue = `i`, H = (e) => { let t = e.e, n = t.errorMessage; return et( N, N, n === N ? N : t.format !== N && n.format !== N ? n.format : n.type === N ? n._ : n.type, )(e); }, U = (e, t) => (e.g.t++, We(e, t)), We = (e, t) => { let n = e.g.e, r = n.length; return ((n[r] = t), `e[${r}]`); }, Ge = (t, n) => { let r = M[n.type], i = n.const; return e(r, T) ? `void 0` : e(r, C) ? o(i) : e(r, oe) ? i + `n` : e(r, ce | se | j) ? U(t, n.const) : i; }, W = (e) => { let t = e.v + 1; return ((e.v = t), `v${t}`); }, Ke = (e, t) => { e.hd = e.hd === `` ? t : e.hd + `,` + t; }, qe = (e, n, i, a) => ({ b: N, p: N, v: V, i: Ue, s: e, io: N, e: n, prev: N, f: t, d: N, fv: N, cp: ``, hd: ``, fz: N, vc: N, u: N, t: N, path: r, g: { d: a, o: i, e: [], v: -1, t: 0 }, o: N, }), Je = (e) => { throw new De(e); }, Ye = (e, t, n) => Je({ code: `unsupported_decode`, from: t, to: n, reason: `Can't decode ${F(t)} to ${F(n)}. Use S.to to define a custom decoder`, path: e.path, }), Xe = (e, t, n) => `${U(e, (e) => { Je(t(e)); })}(${n})`, Ze = (e) => { e.g.t++; }, Qe = (e) => (e.prev === N ? e.s : e.prev.s), $e = (e, t, n, r, i, a) => { let o; if (a !== N) o = a; else { let t = F(e), n = ye(r); o = `Expected ${t}, received ${t === n ? `invalid ` : ``}${n}`; } if (i !== N) { let e = i, t = new Set(); for (let n = 0; n < e.length; n++) { let r = e[n], i = r.reason.split(` `).join(` `), a = ` - ${r.path === `` ? `` : `At ${r.path}: `}${i}`; t.has(a) || (t.add(a), (o += a)); } } return { code: `invalid_input`, expected: e, received: t, path: n, reason: o, unionErrors: i, input: r, }; }, et = (e, t = r, n) => (i) => { let a = e === N ? i.e : e, o = Qe(i), s = t === r ? i.path : l(i.path, t); return (e) => $e(a, o, s, e, N, n); }, tt = (e, t) => (n) => { let r = n.e.errorMessage, i = r === N ? N : r[e] === N ? r._ : r[e], a = i === N ? t : i; return a === N ? H(n) : et(N, N, a)(n); }, nt = (e, t = e.e) => Xe(e, et(t)(e), e.v()), rt = (e, t) => { let n = e.vc, r = n.length; if (r === 1) { let r = n[0]; return `${r.c(t)}||${Xe(e, r.f(e), t)};`; } { let i = ``, a = 0; for (; a < r;) { let o = n[a], s = o.f, c = o.c(t); for (a += 1; a < r && n[a].f === s;) ((c = c + `&&` + n[a].c(t)), (a += 1)); i += `${c}||${Xe(e, s(e), t)};`; } return i; } }, it = (e) => e.t !== !0 || (e.prev.t !== !0 && e.cp === ``), G = (e, t) => { let n = e, r = ``; for (; n !== N;) { let e = n; n = e.prev; let i = ``; if (e.vc) { if (t !== N && it(e)) { let r = n.v(), a = e.vc, o = ``; for (let t = 0; t < a.length; t++) { let n = a[t], s = n.c(r); n.f === H ? (o = o ? `${o}&&${s}` : s) : e.e.noValidation !== !0 && (i += `${s}||${Xe(e, n.f(e), r)};`); } o && ((t.c = t.c ? `${o}&&${t.c}` : o), t.h.unshift({ v: e, i: r, c: o })); } else e.e.noValidation !== !0 && (i = rt(e, n.v())); } (e.hd !== `` && (i += `let ${e.hd};`), (e.fz = !0), (i = e.cp + i), (r = i + r)); } return r; }, at = (e, t) => { let n = e.v.bind(e); e.v = () => { let e = n(); return ((t.i = e), (t.v = V), e); }; }, K = (e, n, r, i = e.e) => ({ b: N, p: N, v: He, i: n, s: r, io: N, e: i, prev: e, f: t, d: N, fv: N, cp: ``, hd: ``, fz: N, vc: N, u: N, t: !0, path: e.path, g: e.g, o: N, }), q = (e, t = e.s, n, r = e.e) => { let i = e.v !== V, a = { b: N, p: N, v: i ? ze : V, i: e.i, s: t, io: N, e: r, prev: e, f: e.f, d: e.d, fv: N, cp: ``, hd: ``, fz: N, vc: n, u: N, t: e.t, path: e.path, g: e.g, o: N, }; return (i && at(e, a), a); }, ot = (e, t) => { e.vc === N ? (e.vc = [t]) : e.vc.push(t); }, st = (e, t) => { let n, r = t.e.inputRefiner; if (r !== N) { let e = r(t); if (e.length > 0) { if (t.prev !== N) { for (let n = 0; n < e.length; n++) ot(t, e[n]); n = N; } else n = e; } else n = N; } else n = N; let i, a = e.e.refiner; if (a !== N) { let t = a(e); i = t.length > 0 ? t : N; } else i = N; let o; return ( (o = n !== N && i !== N ? q(e, N, n.concat(i)) : n === N ? i === N ? e : q(e, N, i) : q(e, N, n)), (o.io = !0), o ); }, ct = (e, t, n) => { if (t.vc) { let r = s(o(n)); (t.vc.forEach((t) => { ot(e, { c: (e) => t.c(e + r), f: t.f }); }), (t.vc = N)); } }, lt = (e, t) => { let n = e.s.additionalItems, i = e.e.additionalItems; return { b: N, p: e, v: Be, i: `${e.v()}[${t}]`, s: n !== N && typeof n != `string` ? n : z, io: N, e: i !== N && typeof i != `string` ? i : z, prev: N, f: e.f, d: N, fv: N, cp: ``, hd: ``, fz: N, vc: N, u: N, t: N, path: r, g: e.g, o: N, }; }, ut = (e, t, n) => K(e, Ge(e, t), t, n), dt = (e, t) => { let r = K(e, t, e.s); return ((r.f = n), r); }, ft = (t, r, i) => { (t.s.type === v ? t.s.items.push(i.s) : (i.o || t.s.required.push(r), (t.s.properties[r] = i.s)), e(i.f, n) && i.v(), (t.cp += G(i)), (t.d[r] = i)); }, pt = (e, t, n) => `${e.v()}[${t}]=${n.i}`, mt = (e) => { let t = e.v !== V, n = { b: e, p: N, v: t ? Re : V, i: e.i, s: e.s, io: e.io, e: e.e, prev: N, f: 0, d: e.d, fv: N, cp: ``, hd: ``, fz: N, vc: N, u: !1, t: !1, path: e.path, g: e.g, o: N, }; return (t && at(e, n), n); }, ht = (e) => gt(e, `Can't decode ${F(e.e)} to ${F(e.e.to)}. The conversion is marked as never`), gt = (e, t) => Je({ code: `invalid_operation`, reason: t, path: e.path }), _t = (t, r, i, a) => { let o = G(t), s = a !== N && t.g.t === a; if ((o === `` || s) && !e(t.f, n)) return i === N ? (s ? `` : o) : o + i(); { let a = W(t.g); Ze(t); let s = `${r(a)};throw ${a}`; return ( e(t.f, n) && (t.i = `${t.i}.catch(${a}=>{${s}})`), `try{${o}${i === N ? `` : i()}}catch(${a}){${s}}` ); } }, vt = (e, t, n, i, a) => e.path === r && n === N ? G(e) : _t( e, (e) => `${e}.path=${t.path === `` ? `` : `${o(t.path)}+`}${n === N ? `` : `'["'+${n}+'"]'+`}${e}.path`, i, a, ); function yt(e) { return e; } yt.embedded = fe; var bt = (e) => `${e}<=2147483647&&${e}>=-2147483648&&${e}%1===0`, xt = (e) => `${e}%1===0`, St = {}, Ct = (e) => St[e] || (St[e] = (t) => `typeof ${t}==="${e}"`), wt = (e) => `Number.isNaN(${e})`, Tt = (e) => `Array.isArray(${e})`, Et = (e) => `${Ct(y)(e)}&&${e}`, Dt = (e, t) => (n) => `${n} instanceof ${U(e, t)}`, Ot = {}, kt = (e) => Ot[e] || (Ot[e] = { c: Ct(e), f: H }), At = { c: (e) => `!${wt(e)}`, f: H }, jt = { c: bt, f: H }, Mt = { c: xt, f: H }, Nt = { c: (e) => `${e}<=2147483647&&${e}>=-2147483648`, f: H }, Pt = { c: wt, f: H }, Ft = (e, t) => q(e, e.e, [kt(t)]), It = (e, t) => { let n = K(e, W(e.g), t); return ((n.v = V), n); }, Lt = R(d, (t) => { let n = M[t.s.type], r = t.e.format; if (e(n, S)) { let n = [kt(d)]; return ( r === `int32` ? n.push(jt) : r === `integer` ? n.push(Mt) : e(t.g.o, 2) || n.push(At), q(t, t.e, n) ); } if (e(n, C)) { let e = It(t, t.e); return ( (e.cp = `let ${e.i}=+${t.v()};`), (e.vc = [ { c: (t) => (r === `int32` ? bt(e.i) : r === `integer` ? xt(e.i) : `!${wt(e.i)}`), f: H }, ]), e ); } return e(n, A) && r !== `int32` && r !== `integer` && e(t.g.o, 2) ? q(t, t.e) : e(n, ie) ? t.s.format !== r && r === `int32` ? q(t, t.e, [t.s.format === N ? jt : Nt]) : r === `integer` && t.s.format === N ? q(t, t.e, [Mt]) : t : Ye(t, t.s, t.e); }), Rt = (e) => K(e, `""+${e.i}`, Bt), zt = (t) => { let n = M[t.s.type]; if (e(n, S)) return Ft(t, u); if (e(n, w | ie | oe | T | ae | A) && P(t.s)) { let e = `` + t.s.const, n = L(u, !1, t.s.decoder); return ((n.const = e), K(t, `"${e}"`, n)); } return e(n, w | ie | oe) ? Rt(t) : e(n, C) ? t : Ye(t, t.s, t.e); }, Bt = R(u, zt), Vt = (t) => { let n = t.e; if (n.noValidation && !t.u) return ut(t, n); if (P(t.s)) return t.s.const === n.const ? t : ut(t, n); { let r = M[n.type]; if (e(M[t.s.type], C) && e(r, w | ie | oe | T | ae | A)) { let e = L(u, !1, Vt); e.const = `` + n.const; let r = ut(t, e, e); return ((r.vc = [{ c: (t) => `${t}==="${e.const}"`, f: H }]), ut(r, n, n)); } return e(r, A) ? q(t, n, [Pt]) : q(t, n, [{ c: (e) => `${e}===${Ge(t, n)}`, f: H }]); } }, Ht = R(h, Vt, (e) => { e.const = N; }), Ut = R(ee, Vt, (e) => { e.const = null; }), Wt = R(te, Vt, (e) => { e.const = NaN; }), Gt = (e) => { if (e === null) return Ut; { let t = typeof e; if (t === h) return Ht; if (t === d && Number.isNaN(e)) return Wt; if (t === y) { let t = L(_, !0, Vt); return ((t.class = e.constructor), (t.const = e), t); } { let n = L(t, !0, Vt); return ((n.const = e), n); } } }, J = (t) => { let r = t, i = N, a = 0; for (; !r.io || r.e.to;) { let t = i; i = N; let o = r; if (((a += 1), a > 50)) throw Error(`Loop count exceeded 50`); if ( (o.e.$defs && (o.g.d ? Object.assign(o.g.d, o.e.$defs) : (o.g.d = o.e.$defs)), e(o.f, n)) ) { let e = o.v(), t = mt(o), i = J(t), a = G(i); ((r = t.i !== i.i || a !== `` ? K(o, `${e}.then(${e}=>{${a}return ${i.i}})`, i.s, i.e) : q(o, i.s, N, i.e)), (r.f |= n), (r.io = !0)); } else if (o.io) { let e = o.e.to; r = o.e.parser === N ? q(r, N, N, e) : o.e.parser(o); } else { let e = o.s.encoder; (e && e !== t && o.s !== o.e && o.e.type !== ne && !o.e.noValidation && (r = e(o, o.e)), o === r ? ((r = o.e.decoder(o)), r.io || (r = st(r, r))) : (i = e)); } } return r; }, Kt = (e) => { try { return J(e); } catch (t) { let n = Oe(t); throw ((n.path = l(e.p === N ? r : e.p.path, l(l(e.path, i), n.path))), n); } }, qt = (t, r, i, a) => { let o = qe(P(t) ? z : t, r, i, a), s = J(o), c = G(s), l = e(s.f, n); if ( ((r.isAsync = l), (r.hasTransform = s.t === !0), c === `` && (s === o || s.i === o.i) && !e(i, 1)) ) return yt; { let t = s.i; e(i, 1) && !l && !a && (t = `Promise.resolve(${t})`); let n = `${Ue}=>{${c}return ${t}}`, r = Function(`e`, `s`, `return ${n}`)(o.g.e, de); return ((r.embedded = o.g.e), r); } }, Jt = (e) => (e.to === N ? e : Jt(e.to)), Yt = (e, t, n) => { let r = e[t]; (e[n] === N ? delete e[t] : (e[t] = e[n]), r === N ? delete e[n] : (e[n] = r)); }, Xt = (e) => { let t = Object.create(null); for (let n in e) t[n] = Zt(e[n]); return t; }; Object.defineProperty(xe, Se, { get: function () { let e = this, t = N, n = e; for (; n;) { let e = Fe(n), r = e.to; t === N ? delete e.to : (e.to = t); let i = e; if ( (Yt(i, `parser`, `serializer`), Yt(i, `refiner`, `inputRefiner`), delete i.default, e.items !== N && (e.items = e.items.map(Zt)), e.properties !== N && (e.properties = Xt(e.properties)), typeof e.additionalItems === y && (e.additionalItems = Zt(e.additionalItems)), e.anyOf !== N) ) { let t = e.anyOf, n = {}, r = []; for (let e = 0; e <= t.length - 1; e++) { let i = t[e], a = Zt(i); (r.push(a), Ie(n, a.type)); } ((e.has = n), (e.anyOf = r)); } (e.$defs !== N && (e.$defs = Xt(e.$defs)), (t = e), (n = r)); } let r = t; return ( (je[Ne] = r), Object.defineProperty(e, Se, je), (je[Ne] = e), Object.defineProperty(r, Se, je), r ); }, }); var Zt = (e) => e.r, Qt = `c`, $t = (e, t, n, r) => { let i = { a: t, f: n, v: r, n: e[Qt] }; return ((Me[Ne] = i), Object.defineProperty(e, Qt, Me), i); }; function en(...e) { let t = arguments, n = 0, r = N, i = 0, a = N; for (; r === N;) { let e = t[n]; if (!e) r = Ae.f; else if (typeof e === d) r = e | Ae.f; else { let t = e, r = t.seq; (r > i && ((i = r), (a = t)), (n += 1)); } } if (a === N) return I(`No schema provided for decoder.`); { let e = a[Qt]; for (; e !== N;) { let i = e.a; if (e.f === r && i.length === n) { let r = n; for (; r-- !== 0 && i[r] === t[r];); if (r < 0) return e.v; } e = e.n; } let i = t[n - 1]; for (let e = n - 2; e >= 0; e--) { let n = i; i = B(t[e], (e) => { e.to = n; }); } let o = qt(i, i, r, N); return ($t(a, fe.slice.call(t, 0, n), r, o), o); } } var tn = `BS_PRIVATE_NESTED_SOME_NONE`, nn = R(x, (e) => { let t = q(e, nn, N, nn); return ((t.cp = nt(e) + `;`), t); }), rn = (e) => { let t = e.e.to; return K(e, `{${tn}:${Jt(e.e).properties[tn].const}}`, t, t); }, an = (t) => { let n = M[t.s.type]; return e(n, S) ? q(t, t.e, [{ c: Dt(t, t.e.class), f: H }]) : e(n, j) && t.s.class === t.e.class ? t : Ye(t, t.s, t.e); }, on = (t, n, r) => { let i = M[n.type]; if (e(i, E)) return `${Et(r)}&&!${Tt(r)}`; if (e(i, D)) return Tt(r); if (e(i, j)) return Dt(t, n.class)(r); if (e(i, ie)) { let n = Ct(d)(r); return e(t.g.o, 2) ? n : `${n}&&!${wt(r)}`; } return e(i, A) ? wt(r) : e(i, T | ae) ? `${r}===${Ge(t, n)}` : e(i, C | w | oe | ce) ? Ct(n.type)(r) : ``; }, sn = -1, cn = O | k | se, ln = S | cn | le, un = (e, t) => e.type === t.type && e.class === t.class, dn = (e, t) => e === t || (un(e, t) && !(M[e.type] & (k | O)) && e.format === t.format), fn = (e, t) => e === t || (e !== e && t !== t), Y = (e) => { let t = e; for (; t.type !== x && t.to !== N;) { if (t.parser === ht) return nn; t = t.to; } return t; }, pn = (e) => { for (let t = e; t !== N && t.type !== x; t = t.to) if (t.parser === ht) return !0; return !1; }, mn = (e) => { if (e.type !== b) return !1; let t = 0; for (let n in e) n !== `isAsync` && n !== `hasTransform` && t++; return t === 6; }, hn = (e) => { let t = M[e.type], n = 0; if (t & cn || e.parser !== N) return 15; (e.refiner !== N || e.inputRefiner !== N ? (n |= 3) : t & (E | D | j) && (n |= 2), (e.format !== N || P(e)) && (n |= 1)); let r = e.to; r !== N && (r === e || r.parser !== N || M[r.type] & cn ? (n |= 15) : r.noValidation === !0 || M[r.type] & S || un(e, r) || (r.type === b && Tn(r, 1) & t) ? (n |= hn(r)) : (n |= 9)); let i = e.items || e.properties; for (let e in i) { let t = i[e]; n |= hn(t); } return (typeof e.additionalItems == `object` && (n |= hn(e.additionalItems)), n); }, gn = (e) => { if (e.to !== N || e.parser !== N || M[e.type] & k) return !1; let t = e.anyOf || e.items || e.properties; for (let e in t) if (!gn(t[e])) return !1; return typeof e.additionalItems != `object` || gn(e.additionalItems); }, _n = (e, t) => t.every((t, n) => { let r = e[n]; return ( r !== N && !(M[t.type] & (D | j | k | O | E)) && t.type === r.type && fn(t.const, r.const) && t.to === N && r.to === N ); }), vn = (e, t, n, ...r) => Je($e(e, z, t, n, r.length ? r : N)), yn = (e, t) => { if (e.length === 1) { let n = e[0]; return n.b === `` && n.c === `` ? `` : n.b === `` ? `if(!(${n.c})){${t.f(``)}}` : n.c === `` ? n.b + `;` : `if(${n.c}){${n.b}}else{${t.f(``)}}`; } let n = ``, r = !1, i = !1, a = (e, n) => { if (e.b === ``) return `break`; let i = e.b.endsWith(`;`) ? e.b : `${e.b};`; return e.f & 1 && (e.f & X || r) ? ((r = !0), `try{${i}break}catch(x){${e.f & 4 ? `x=${t.r()}(x);if(x.expected===${t.s()}){x=x.unionErrors;x&&(r||(r=[])).push(...x)}else{(r||(r=[])).push(x)}` : `(r||(r=[])).push(${t.r()}(x))`}${!(e.f & X) && o > n ? `;${t.f(`,...(r||[])`)}` : ``}}`) : `${i}break`; }, o = -1; for (let t = 0; t < e.length; t++) e[t].c === `` && (o = t); let s = ``, c = !1; for (let t = 0; t < e.length; t++) { let r = e[t], o = r.c !== `` && r.c === s; if (o && !c) continue; let l = a(r, t); if (((c = l[0] === `t`), (s = r.c), o)) n = `${n.slice(0, -1)}${l}}`; else if (r.c === ``) { if (((n += c ? l : `${l};`), !c)) { i = !0; break; } } else n += l === `break` ? `if(${r.c})break;` : `if(${r.c}){${l}}`; } return (i || (n += t.f(r ? `,...(r||[])` : ``)), `for(;;){${r ? `let r;` : ``}${n}}`); }, bn = (e) => { let t = M[e.type], n = E | D, r = L(e.type, !1, (i) => M[i.s.type] & S ? q(i, i.e, [{ c: (t) => on(i, e, t), f: H }]) : un(i.s, r) ? t & n ? q(i, i.e) : i : e.decoder(i), ); return ( (r.encoder = e.encoder), t & j ? (r.class = e.class) : t & n ? ((r.additionalItems = z), t & E ? (r.properties = pe) : (r.items = fe)) : t & (ae | T | A) && (r.const = e.const), r ); }, xn = E | j, Sn = E | D | j | k | O, Cn = (e, t) => e | (e & xn ? xn : e & M[d] ? t : 0), wn = (e) => { let t = e.$defs, n = e.$ref; if (t !== N && n !== N) { let r = t[n.slice(n.lastIndexOf(`/`) + 1)]; if (r !== N && r !== e) return r; } return N; }, Tn = (e, t, n = 0) => { if (t === 2) { let t = wn(e); if (t !== N) return Tn(t, 1, n); } let r = M[e.type]; if (!t && r & le) return 0; if (t && r & O) { let t = 0, r = e.anyOf; for (let e = 0; e < r.length; e++) t |= Tn(r[e], 1, n); return t; } return r & (S | O | k) ? sn : Cn(r, n); }, X = 8, En = 16, Dn = (e) => ({ m: e.m, a: [e], f: e.f & En, p: e.p, o: !1 }), On = (e) => { if (P(e)) return [``, e.const]; let t = e.properties || e.items; for (let e in t) { let n = t[e]; if (P(n)) return [e, n.const]; } return N; }, kn = (e, t, n, r, i) => { let a = i ? n : t, o = N, s = !1; for (let e = 0; e < r.length; e++) { let t = r[e], n = i ? Y(t) : t; t.type === x || (i ? n.type === x : pn(t)) || (dn(a, n) ? (o ||= t) : (s = !0)); } o !== N && s && jn( e, t, n, `${F(o)} has the same type as the ${i ? `target` : `source`} and the others don't`, ); }, An = (e, t, n, r) => jn(e, t, n, `${F(r)} has no same-type variant on the other side`), jn = (e, t, n, r) => gt( e, `Invalid operation: can't convert ${F(t)} to ${F(n)} \u2014 ${r}. Use S.to to say what you mean, or S.never to mark a variant unreachable`, ), Mn = (e, t, n) => { let r = 0, i = P(t); for (let n = 0; n < e.length; n++) { let a = e[n]; (i && P(a) && fn(a.const, t.const) && (r |= S), (r |= M[a.type] & (E | M[d]))); } return { m: Tn(t, 2, n), f: r, t: M[t.type] }; }, Nn = (e, t, n, r) => { let i = e.m, a = e.f, o = [], s = e.t, c = s & S, l = s & (O | k), u = l && i !== sn, f = On(n), p = a & S, m = a & E, te = a & M[d], g = M[d] | A; for (let e = 0; e < t.length; e++) { let a = t[e], s = M[a.type], d = Tn(a, 1, r), _ = On(a), v = un(n, a), b = f !== N && _ !== N && v && f[0] === _[0] && !fn(f[1], _[1]), ne = !(s & le) && !pn(a) && !b && (!p || (P(a) ? fn(a.const, n.const) : i & d)), re = i & s, S = ne && !c && !(u ? re : v), ie = Y(a), w = hn(a), E = l && (!u || S), O = ie.type === x ? 3 : w & 4 || E ? 4 : S || w & 8 ? 2 : w & 1 || s & Sn ? 1 : 0, k = a.type === y && tn in a.properties, oe = (w & 7) | (O === 0 ? 0 : 1) | (E ? 4 : 0) | ((!c && v) || s & ln ? En : 0), se = k || (m && s & (D | j)) || (te && s & A) ? 0 : _ === N ? 2 : 1; o.push({ i: e, s: a, m: ne ? c ? d : u ? re ? d : a.type === h && i & ae ? ae : a.type === ee && i & T ? T : i & C ? C : i : i : 0, o: !!ne && ie.type !== x, e: O, f: oe, p: se, k: s & j ? a.class : a.type, r: s & xn ? xn : s & g ? g : Cn(s, r), d: _, }); } return o; }, Pn = (e) => { var t; let n = [], r = [], i = [], a = 0, o = 0; for (let t = 0; t < e.length; t++) { let n = e[t]; n.e > 1 ? (o |= n.m) : n.e || (a |= n.m); } for (let s = 0; s < e.length; s++) { let c = e[s]; if (c.m === 0 || (c.e === 1 && !(c.f & 2) && !(c.m & (o | ~a)))) continue; let l = c.r !== sn && (c.m & ~c.r) === 0, u = c.e < 2 || (c.d !== N && (c.e === 4 || c.d[0] !== ``)), d = l ? (c.p === 0 && i[c.r]) || r[c.r] : N, f = N, p = !1; if (d !== N) for (let e = 0; e < d.t.length; e++) { let t = d.t[e], n = t.a[0]; ((p ||= t.p === 2), f === N && u && t.o && n.k === c.k && (n.e < 2 == c.e < 2 || (n.d !== N && n.d[0] === c.d?.[0])) && (t.p === 0) == (c.p === 0) ? (f = t) : t.o && t.m & c.m && (t.o = !1)); } for (let e in r) { let t = r[+e]; t !== d && t.m & c.m && delete r[+e]; } if (!l) { for (let e in i) i[+e].m & c.m && delete i[+e]; n.push(Dn(c)); continue; } if ( (d !== N && f === N && c.p === 1 && p && (delete r[c.r], (d = N)), d === N && ((d = { m: 0, t: [] }), (r[c.r] = d), i[(t = c.r)] || (i[t] = d), n.push(d)), (d.m |= c.m), f !== N) ) (f.a.push(c), (f.m |= c.m), (f.f &= ~En)); else { let e = Dn(c); ((e.o = u), d.t.push(e)); } u || delete r[c.r]; } let s = []; for (let e = 0; e < n.length; e++) { let t = n[e]; `a` in t ? s.push(t) : s.push(...t.t.sort((e, t) => e.p - t.p)); } let c = [], l = 0, d = 0; for (let e = s.length - 1; e >= 0; e--) { let t = s[e], n = N, r; for (let e = t.a.length - 1; e >= 0; e--) { let i = t.a[e], a = i.d, o = a === N || n === !1 || (n !== N && n !== a[0]); (n !== N && (o || r.has(a[1])) && ((i.f |= X), (t.f |= 2)), o ? (n = !1) : ((n = a[0]), (r ||= new Set()).add(a[1]))); } let i = t.a[0].r, a = c[i], o = !!(l & t.m) && (!!(d & t.m) || n === !1 || a === N || a === !1 || a[0] !== n); if (!o && a !== N && a !== !1) { for (let e of r) if (a[1].has(e)) { o = !0; break; } } if ( ((o || (l && M[t.a[0].s.type] & ln && (t.a[0].s.to !== N || t.a[0].s.parser !== N))) && (t.f |= X | 2), t.a.length !== 1 || !(t.f & En)) ) { t.n = bn(t.a[0].s); let e = t.a[0].s; t.a.length === 1 && e.format !== N && e.format !== `json` && t.n.type === u && ((t.n.format = e.format), (t.n.escapeFree = e.escapeFree), (t.n.noValidation = e.noValidation)); } if (i !== sn && (t.m & ~i) === 0) { if (n === !1) c[i] = !1; else if (a === N) c[i] = [n, r]; else if (a !== !1) { if (a[0] !== n) c[i] = !1; else for (let e of r) a[1].add(e); } } else d |= t.m; (l & t.m && (t.f |= 32), (l |= t.m)); } return s; }, Fn = (e, t) => { let n = wn(e); return n !== N && n.anyOf !== N ? n.anyOf.find((e) => e.type === t) : N; }, In = (e, t, r, i, a) => { let s = e.i, c = q(e), l = r.some((e) => e.f & 2), u = [], d = ``, f = ``, p = ``, m = { f: (n) => `${U(e, vn.bind(N, t, e.path))}(${e.v()}${d}${n})`, r: () => (f ||= U(e, Oe)), s: () => (p ||= U(e, t)), }, ee = (e) => { let t = e.d, n = M[e.s.type]; for (let i of r) for (let r of i.a) if (r !== e && (r.d === N ? r.m & n : r.d[0] === t[0] && fn(r.d[1], t[1]))) return !1; return !0; }, h = (r, i, s = i) => { let f = e.g.t, p = mt(i); ((p.u = !0), (p.t = i.t), (p.io = !1), (p.e = r.s)); let m = a && r.p === 1 && !(r.f & X) && r.d[0] !== `` && ee(r) ? r.d : N; m !== N && (p.s = r.s); let h, g = e.g.o; e.g.o |= 4; try { if (t.perVariant) try { h = J(p); } catch (t) { return ((d += `,${U(e, Oe(t))}`), N); } else h = J(p); } finally { e.g.o = g; } r.o && (u[r.i] = h.s); let _ = { c: ``, h: [] }, v = r.f & X, y = G(h, _), b = h.f & n; if (((c.f |= b), h.t)) { c.t = !0; let e = s.v(); (b || h.i !== e) && (y += `${e}=${b && l ? `await ` : ``}${h.i}`); } if (m !== N) { let e = (r.s.properties || r.s.items)[m[0]], t = `${i.v()}[${o(m[0])}]`, n = e.type === te ? `Number.isNaN(${t})` : `${t}===${Ge(p, e)}`; _.c = _.c ? `${n}&&${_.c}` : n; } let x = (y !== `` && e.g.t !== f) | (b && l ? 2 : 0) | (v ? X : 0); return { c: _.c, b: y, f: x }; }, g = []; for (let t = 0; t < r.length; t++) { let n = r[t]; if (n.a.length === 1 && n.f & En) { let t = h(n.a[0], e); if (t !== N && (n.f & X && (t.f |= X), g.push(t), t.c === `` && t.b === ``)) break; continue; } let i = e.g.t, a = mt(e); ((a.io = !1), (a.e = n.n)); let o = J(a); if (M[n.n.type] & (E | D)) { let t = Fn(e.s, n.n.type); t !== N && (o.s = t); } let s = []; for (let e = 0; e < n.a.length; e++) { let t = h(n.a[e], o, a); if (t !== N && (s.push(t), t.c === `` && t.b === ``)) break; } if (!s.length) continue; let c = { c: ``, h: [] }, l, u = !1; if (s.every((e) => e.b === ``)) { if (!s.some((e) => e.c === ``)) { let e = s.map((e) => e.c).join(`||`); (s.length > 1 && (e = `(${e})`), ot(o, { c: () => e, f: H })); } l = G(o, c); } else { let e = G(o, c), t = s.length === 1 ? s[0] : N; if (t !== N && e === ``) (t.c !== `` && (c.c = c.c ? `${c.c}&&${t.c}` : t.c), (l = t.b)); else { if (s.length > 1 && n.f & 32 && s.every((e) => e.c)) { let e = `(${s.map((e) => e.c).join(`||`)})`; c.c = c.c ? `${c.c}&&${e}` : e; } ((l = e + yn(s, m)), (u = s.length > 1)); } } let d = (l !== `` && e.g.t !== i) | (s.some((e) => e.f & 2) ? 2 : 0) | (n.f & X) | (u ? 4 : 0); if ((g.push({ c: c.c, b: l, f: d }), l === `` && c.c === ``)) break; } let _ = g.length > 0 && g.every((e) => e.b === ``) && g.some((e) => e.c === ``), v = !_ && g.length > 0 && g.every((e) => e.c !== `` && e.b === ``), y = g.some((e) => e.f & 2); if (v) { let e = g.map((e) => e.c).join(`||`); (g.length > 1 && (e = `(${e})`), (c = q(q(c, c.s, [{ c: () => e, f: H }], t)))); } else if (!_) { let t = yn(g, m); if (y) { let n = e.v(); c.i = `(async(${n})=>{${t};return ${n}})(${n})`; } else c.cp += t; } y || (c.i = e.i); let b; c.f & n ? ((c.i = `Promise.resolve(${c.i})`), (c.v = He), (b = c)) : c.v === V && e.cp === `` && c.cp === `` && !v && s === `i` ? ((e.hd = ``), (e.v = He), (e.i = s), (b = e)) : (b = c); let x = u.filter(Boolean); return ( (b.s = x.length ? Z(x) : nn), i === N ? ((b.e = t), st(b, e)) : ((b.io = !0), (b.e = Y(i)), b) ); }, Ln = (t) => { let n = t.e, r = n.parser === N && n.to !== N && n.to.noValidation !== !0 ? n.to : N, i = n.anyOf; if ( (t.io && t.e === t.s) || (t.s === n && r === N && i.every(gn)) || (t.s.type === b && r === N && _n(i, t.s.anyOf)) ) return t; let a = M[t.s.type], o = t.s === n || n.tr === !0; ((a & O || (t.s.encoder === N && a & k)) && (t.s = z), i.every(pn) && gt(t, `Every variant of ${F(n)} is marked as never`)); let s = t.s, c = e(t.g.o, 2) ? A : 0, l = Mn(i, s, c); if ((!(l.t & S) && !(l.f & S) && kn(t, s, n, i, !1), r !== N)) { let e = Bn(r) ? i.map((e) => (Y(e).type === x ? N : r)) : Wn(t, n, i, r), a = n.refiner !== N || n.inputRefiner !== N ? Rn(n) : N; i = i.map((t, n) => { let r = e[n]; return r === N && a === N ? t : B(t, (e) => { (a !== N && a(e), r !== N && (e.to = r)); }); }); } return In(t, n, Pn(Nn(l, i, s, c)), r, o); }, Rn = (e) => { let t = []; return (n) => { for (let r = 0; r < 2; r++) { let i = r ? `inputRefiner` : `refiner`, a = e[i]; if (a !== N) { let e = n[i]; n[i] = (n) => { let i = t[r] || (t[r] = a(n)); return e === N ? i : e(n).concat(i); }; } } }; }, zn = (e, t) => { let n = e.s.anyOf, r = [], i = {}; for (let e = 0; e < n.length; e++) { let a = t(n[e], e); (r.push(a), Ie(i, a.type)); } let a = L(b, !1, Ln); return ( (a.anyOf = r), (a.has = i), (a.encoder = Vn), (a.perVariant = e.s.perVariant), (a.tr = !0), q(e, z, N, a) ); }, Bn = (e) => e.noValidation === !0 || M[Y(e).type] & k || (e.type === b && e.anyOf.some((e) => M[e.type] & k)), Vn = (e, t) => { if (Bn(t)) return e; let n = e.s.anyOf; if (t.perVariant && t.anyOf.length === n.length) { let r = t.anyOf; return r.every((e, t) => e === n[t]) ? e : zn(e, (e, t) => r[t]); } let r = Wn(e, e.s, n, t); return r.every((e) => e === N) ? e : zn(e, (e, t) => { let n = r[t]; return n === N ? e : B(e, (e) => { e.to = n; }); }); }, Hn = ae | T, Un = (e) => (e.type === h ? ee : e.type === ee ? h : N), Wn = (e, t, n, r) => t.perVariant ? n.map(() => r) : mn(r) ? Gn(e, t, n, r) : (!(M[r.type] & S) && !r.noValidation && kn(e, t, r, n, !0), n.map((e) => (Y(e).type === x ? N : r))), Gn = (e, t, n, r) => { let i = r.anyOf, a = [], o = [], s = 0; for (let c = 0; c < n.length; c++) { let l = n[c], u = Y(l); if (l.type === x || u.type === x) continue; if (u === r || (r.anyOf !== N && u.anyOf === r.anyOf)) { for (let e = 0; e < i.length; e++) o[e] = !0; continue; } let d = i.filter((e, t) => e.type !== x && !pn(e) && dn(u, e) && (o[t] = !0)); if ( ((s |= M[u.type] & Hn), d.length === 1 ? (a[c] = d[0]) : d.length > 1 && (a[c] = M[u.type] & Sn && d.includes(u) ? u : Z(d)), a[c] !== N) ) continue; let f = Un(u); (f !== N && (a[c] = i.find((e) => e.type === f && !pn(e) && Y(e).type !== x)), a[c] === N && An(e, t, r, u)); } for (let n = 0; n < i.length; n++) { let a = i[n], c = Un(a); a.type !== x && !pn(a) && !o[n] && (c === N || Y(a).type === x || !(s & M[c])) && An(e, t, r, a); } return a.map((e, t) => (e !== N && Kn(e, Y(n[t])) ? N : e)); }, Kn = (e, t) => e === t || (gn(e) && e.refiner === N && e.inputRefiner === N && e.noValidation === N && (e.const === N || fn(e.const, t.const)) && !(M[e.type] & Sn) && dn(e, t)), Z = (e) => { if (e.length === 0) return I(`S.union requires at least one item`); if (e.length === 1) return e[0]; let t = {}, n = []; for (let r = 0; r < e.length; r++) { let i = e[r], a = mn(i) ? i.anyOf : N; for (let e = 0; e < (a === N ? 1 : a.length); e++) { let r = a === N ? i : a[e]; (n.push(r), Ie(t, r.type)); } } let r = L(b, !1, Ln); return ((r.anyOf = n), (r.encoder = Vn), (r.has = t), r); }, qn = (e) => e !== N && typeof e != `string`, Jn = (t, n, r) => { let i = n.to; if ( t.s.additionalItems === z && i !== N && i.format === `json` && !i.space && !e(t.g.o, 1) && !(r.to === N && e(M[r.type], C | w | ae)) ) { let e = Fe(n); return ((e.uv = !0), q(t, e)); } return N; }, Yn = (e) => { e.s.name === Le && e.e.format === `json` && e.e.to === N && (e.s = z); }, Xn = (e, n) => ({ b: N, p: N, v: He, i: ``, s: n.type === v ? { type: v, items: [], additionalItems: `strict`, decoder: er } : { type: y, required: [], properties: Object.create(null), additionalItems: `strict`, decoder: tr, }, io: N, e: e.e, prev: e, f: t, d: Object.create(null), fv: N, cp: ``, hd: ``, fz: N, vc: N, u: N, t: !0, path: e.path, g: e.g, o: N, }), Zn = (t) => { let r = t.s.type === v, i = ``, a = ``, s = N, c = Object.keys(t.d); for (let l = 0; l < c.length; l++) { let u = c[l], d = t.d[u]; if ((e(d.f, n) && (a = a + d.i + `,`), d.o)) { let e = s; s = (t) => (e === N ? `` : e(t)) + (u === `__proto__` ? `if(${d.v()}!==void 0){${t}={...${t},["__proto__"]:${d.i}}}` : `if(${d.v()}!==void 0){${t}[${o(u)}]=${d.i}}`); } else i = i + (r ? `${d.i}` : `${u === `__proto__` ? `["__proto__"]` : o(u)}:${d.i}`) + `,`; } t.i = r ? `[` + i + `]` : `{` + i + `}`; let l = t; if (a) { let e = mt(l); e.io = !0; let t = J(e), r = G(t); return ( (l.i = r === `` && a === `${t.i},` ? t.i : `Promise.all([${a}]).then(([${a}])=>{${r}return ${t.i}})`), (l.f |= n), (l.s = t.s), (l.e = t.e), (l.io = !0), l ); } if (s === N) return l; { let e = s(l.v()), t = q(l); return ((t.cp += e), t); } }, Qn = (e) => { let t = L(v, !!e.sr, er); return ((t.additionalItems = e), (t.items = fe), t); }, $n = (e) => Qn(rr(e)), er = (t) => { let r = t.u, i = t.e, a = M[t.s.type], o = i.items, s = o.length, c; if (e(a, S | D)) { let n = e(a, D), r; r = n ? t.s : Qn(z); let o = []; n || o.push({ c: Tt, f: H }); let l = r.additionalItems; if (!(!qn(l) && r.items.length === s)) { let e = i.additionalItems; e === `strict` ? o.push({ c: (e) => `${e}.length===${s}`, f: H }) : e === `strip` && o.push({ c: (e) => `${e}.length>=${s}`, f: H }); } c = o.length > 0 ? q(t, r, o) : q(t, r); } else c = Ye(t, t.s, i); let l, u = i.additionalItems; if (qn(u)) { let t = u; if (t === z) l = c; else { if (s === 0) { let e = Jn(c, i, t); if (e !== N) return st(e, c); } let r = c.v(), a = W(c.g), o = c.g.t, u = lt(c, a); Yn(u); let d = Kt(u), f = d.t, p = f ? K(c, `new Array(${r}.length)`, Qn(d.s)) : q(c, i), m = vt(d, c, a, f ? () => pt(p, a, d) : N, f ? N : o); ((f || m !== ``) && (p.cp += `for(let ${a}=${s};${a}<${r}.length;++${a}){${m}}`), (l = e(d.f, n) ? dt(p, `Promise.all(${p.i})`) : p)); } } else { let e = Xn(c, i), t; { let e = i.additionalItems; if (e === `strict`) t = !1; else if (e === `strip`) { let e = c.s.additionalItems; t = qn(e) ? !0 : c.s.items.length !== s; } else t = !0; } for (let n = 0; n < s; n++) { let i = o[n], a = String(n), s = lr(c, a); ((s.e = i), (s.io = !1), (s.u = r), Yn(s)); let l = J(s); (r && P(i) && ct(c, l, a), ft(e, a, l), (t ||= l.t)); } if (t) l = Zn(e); else { let t = q(c, i); ((t.cp = e.cp), (t.d = e.d), (l = t)); } } return st(l, c); }, tr = (t) => { let r = t.u, i = t.e, a = M[t.s.type], s; if (e(a, S | E)) { let n = e(a, E), r; if (n) r = t.s; else { let e = L(y, !1, tr); ((e.properties = pe), (e.additionalItems = z), (r = e)); } let i = []; (n || (i.push({ c: Et, f: H }), i.push({ c: (e) => `!${Tt(e)}`, f: H })), (s = i.length > 0 ? q(t, r, i) : q(t, r))); } else s = Ye(t, t.s, i); let c = i.additionalItems, l = qn(c) ? c : N, u = s.s.additionalItems, d = qn(u), f; if (l !== N && l === z) f = s; else if (l !== N && d) { let t = Jn(s, i, l); if (t !== N) return st(t, s); let r = s.v(), a = W(s.g), o = s.g.t, c = lt(s, a); Yn(c); let u = Kt(c), d = u.t, p = d ? K(s, `{}`, nr(u.s)) : q(s, i), m = vt(u, s, a, d ? () => pt(p, a, u) : N, d ? N : o); if (((d || m !== ``) && (p.cp += `for(let ${a} in ${r}){${m}}`), e(u.f, n))) { let e = W(p.g), t = W(p.g), n = W(p.g), r = W(p.g), i = p.v(); f = dt( p, `new Promise((${e},${t})=>{let ${r}=Object.keys(${i}).length;for(let ${a} in ${i}){${i}[${a}].then(${n}=>{${i}[${a}]=${n};if(${r}--===1){${e}(${i})}},${t})}})`, ); } else f = p; } else if (l !== N) { let e = l, t = Xn(s, i), n = Object.keys(s.s.properties); for (let i = 0; i < n.length; i++) { let a = n[i], o = lr(s, a); ((o.e = e), (o.io = !1), (o.u = r), Yn(o), ft(t, a, J(o))); } f = Zn(t); } else { let e = i.properties, t = Object.keys(e), n = t.length, a = Xn(s, i), c; { let e = i.additionalItems; c = e === `strict` ? !1 : e !== `strip` || d || Object.keys(s.s.properties).length !== n; } let l = qn(u) ? u.name === Le : !1; for (let i = 0; i < n; i++) { let n = t[i], o = e[n], u = lr(s, n); ((u.e = o), (u.io = !1), (u.u = r), l && o.type === b && o.has[h] && (u.i = `(${u.i}??null)`), Yn(u)); let d = J(u); (r && P(o) && ct(s, d, n), ft(a, n, d), (c ||= d.t)); } if (i.additionalItems === `strict` && qn(u)) { let e = W(a.g); if ((Ke(s, e), (a.cp += `for(${e} in ${s.v()}){if(`), t.length === 0)) a.cp += `true`; else for (let n = 0; n < t.length; n++) { let r = t[n]; (n !== 0 && (a.cp += `&&`), (a.cp += `${e}!==${o(r)}`)); } a.cp += `){${Xe(s, (e) => ({ code: `unrecognized_keys`, path: a.path, reason: `Unrecognized key "${e}"`, keys: [e] }), e)}}}`; } if (c) f = Zn(a); else { let e = q(s, i); ((e.cp = a.cp), (e.d = a.d), (f = e)); } } return st(f, s); }, nr = (e) => { let t = L(y, !!e.sr, tr); return ((t.properties = pe), (t.additionalItems = e), t); }, rr = (e) => (me(e) ? e : ir(e, (e) => (me(e) ? e : N))), ir = (e, t) => { if (typeof e === y && e !== null) { let n = t(e); if (n !== N) return n; if (Array.isArray(e)) { let n = e; for (let e = 0; e < n.length; e++) n[e] = ir(n[e], t); let r = n, i = L(v, !1, er); return ((i.items = r), (i.additionalItems = `strict`), i); } { let n = Object.getPrototypeOf(e); if (n !== null && n !== Object.prototype) { let t = L(_, !0, Vt); return ((t.class = e.constructor), (t.const = e), t); } { let n = e, r = Object.keys(n), i = r.length; for (let e = 0; e < i; e++) { let i = r[e]; n[i] = ir(n[i], t); } let a = L(y, !1, tr); return ((a.required = r), (a.properties = n), (a.additionalItems = Ae.a), a); } } } return Gt(e); }, ar = () => { let e = Gt(0), t = {}; t[tn] = e; let n = L(y, !1, tr); return ( (n.required = [tn]), (n.properties = t), (n.additionalItems = `strip`), (n.serializer = (e) => { let t = e.e.to; return ut(e, t, t); }), n ); }, or = (e) => B(e, (e) => { ((e.to = ar()), (e.parser = rn)); }), sr = (e, t = Ht) => { let n = Jt(e); if (n.type === h) return Z([t, or(e)]); if (n.type === b) { let r = n.anyOf, i = n.has; return B(e, (e) => { let n = r, a = { ...i }, o = []; for (let e = 0; e < n.length; e++) { let r = n[e], i, s = Jt(r); if (s.type === h) ((a[t.type] = !0), o.push(t), (i = or(r))); else if (s.properties !== N) { let e = s.properties[tn]; i = e === N ? r : B(r, (t) => { let n = Fe(e); n.const = e.const + 1; let r = {}; ((r[tn] = n), (t.properties = r)); }); } else i = r; o.push(i); } (o.length === n.length && ((a[t.type] = !0), o.push(t)), (e.anyOf = o), (e.has = a)); }); } return Z([e, t]); }, cr = (e) => sr(e, Ht), lr = (n, r) => { let i; if (n.d !== N) i = n.d; else { let e = Object.create(null); ((n.d = e), (i = e)); } let a = i[r]; if (a !== N) return mt(a); { let a; a = n.s.type === y ? n.s.properties[r] : n.s.items[Number(r)]; let c; if (a !== N) c = a; else { let t = n.s.additionalItems; if (qn(t)) { let r = t; n.s.type === y && r.type !== ne && !e(M[r.type], k) && !ge(r) ? ((c = cr(r)), (c.perVariant = !0)) : (c = r); } else c = Ye(n, n.s, n.e); } let u = s(o(r)), d = { b: N, p: n, v: Ve, i: P(c) ? Ge(n, c) : n.s.type === y && r in Object.prototype ? `(Object.hasOwn(${n.v()},${o(r)})?${n.v()}${u}:void 0)` : `${n.v()}${u}`, s: c, io: N, e: c, prev: N, f: t, d: N, fv: N, cp: ``, hd: ``, fz: N, vc: N, u: N, t: N, path: l(n.path, u), g: n.g, o: N, }; return ((i[r] = d), d); } }, ur = (e, t) => B(e, (e) => { let n = t(e), r = e.refiner; e.refiner = r === N ? n : (e) => { let t = r(e); return (t.push(...n(e)), t); }; }), dr = (e) => { let t = e.errorMessage ? { ...e.errorMessage } : {}; return ((e.errorMessage = t), t); }, fr = (e, t, n, r) => { let i = B(e, (e) => { if (r !== N) { let n = Fe(t); ((n.serializer = r), (e.to = n)); } else e.to = t; n !== N && (e.parser = n); }); return ((n !== N || r !== N) && (delete i.isAsync, delete i.hasTransform), i); }, pr = (() => { let e = Fe(Ut); return ((e.to = Ht), e); })(), mr = (e, t) => B(e, (e) => { let n = e.anyOf; if (n === N) return I(`Can't set default for ${F(e)}`); let r = [], i = []; for (let e = 0; e < n.length; e++) { let t = n[e], a = Jt(t); a.type !== h && (r.includes(a) || r.push(a), i.push(t)); } let a = r.length === 0 ? I(`Can't set default for ${F(e)}`) : r.length === 1 ? r[0] : Z(r); if (t.type === `value`) { let n = t.value; try { en(z, a)(n); } catch (t) { let n = Oe(t); I(`Invalid default for ${F(e)}: ${n.message}`); } let r = i.length === 1 ? i[0] : Z(i); try { e.default = en(Zt(r))(n); } catch {} } let o = (e) => { let n = e.e.to, r = K(e, t.type === `value` ? Ge(e, Gt(t.value)) : `${U(e, t.callback)}()`, n, n); return (t.type === `value` && (r.v = V), r); }; e.anyOf = n.map((e) => (Jt(e).type === h ? fr(e, a, o, ht) : e)); }), hr = (e, t) => mr(e, { type: `value`, value: t }), gr = (e, t) => mr(e, { type: `callback`, callback: t }), _r, vr = (e, t, n) => { if (_r !== N) return _r(e, t, n); throw new De({ code: `invalid_operation`, path: r, reason: `~standard.jsonSchema requires S.enableStandardJSONSchema() to be called first`, }); }; (Object.defineProperty(xe, "toString", { value: function () { let e = F(this), t = F(Zt(this)); return `Schema<${e === t ? e : `${e}, ${t}`}>`; }, }), Object.defineProperty(xe, "~standard", { get: function () { let e = this, t = N, n, i = { version: 1, vendor: ue, validate: (i) => { t !== Ae.f && ((n = en(z, e)), (t = Ae.f)); try { return { value: n(i) }; } catch (e) { let t = Oe(e); return { issues: [{ message: t.reason, path: t.path === r ? N : c(t.path) }] }; } }, jsonSchema: { input: (t) => vr(e, t, !1), output: (t) => vr(e, t, !0) }, }; return ((je[Ne] = i), Object.defineProperty(e, "~standard", je), i); }, })); var yr = (e) => q(e, e.e, [{ c: (e) => `!Number.isNaN(${e}.getTime())`, f: H }]), br = R(u, zt, (e) => { ((e.format = `date-time`), (e.escapeFree = !0)); }), xr = R( _, (t) => { let n = M[t.s.type]; return e(n, C) ? yr(K(t, `new Date(${t.i})`, xr)) : e(n, S) ? yr(an(t)) : e(n, j) && t.s.class === xr.class ? t : Ye(t, t.s, t.e); }, (t) => { ((t.class = Date), (t.encoder = (t, n) => { let r = M[n.type]; return e(r, C) ? J(q(K(t, `${t.i}.toISOString()`, br, n))) : t; })); }, ), Sr = (e) => rr(e), Cr = (e, t, n) => `S.${e} expects ${t}, got ${n}`, wr = (e, t, n) => { let i = t.type; if ( (i !== d && i !== f && I(Cr(e, `number | bigint schema`, F(t))), i === f ? typeof n !== f : typeof n !== d || Number.isNaN(n)) ) throw new De({ code: `invalid_operation`, path: r, reason: Cr(e, F(t), ye(n)) }); }, Tr = (e, t, n) => { if ( (t.type !== u && t.type !== v && I(Cr(e, `string | array schema`, F(t))), typeof n !== d || !Number.isSafeInteger(n) || n < 0) ) throw new De({ code: `invalid_operation`, path: r, reason: Cr(e, `integer >= 0`, ye(n)) }); }, Q = (e) => (typeof e === f ? `${e}n` : `${e}`), Er = (e, t) => e.type === v ? t ? `maxItems` : `minItems` : e.type === _ ? t ? `maxSize` : `minSize` : t ? `maxLength` : `minLength`, Dr = (e) => { let t = e.type; return t === _ ? `.size` : t === u || t === v ? `.length` : N; }, Or = (e, t) => { let n = e.bounds ?? 0, r = Dr(e), i = r !== N, a = i ? Er(e, !1) : `minimum`, o = i ? Er(e, !0) : `maximum`, s = n & 4 ? e.exclusiveMinimum : N, c = n & 8 ? e.exclusiveMaximum : N, l = s === N ? (n & 1 ? e[a] : N) : s, u = c === N ? (n & 2 ? e[o] : N) : c, d = e.multipleOf, f = i ? `${t}${r}` : t; if (l === N && u === N) return `${f} % ${Q(d)}`; let p = d === N ? f : `(${f} % ${Q(d)})`; return l === N ? `${p} ${c === N ? `<=` : `<`} ${Q(u)}` : u === N ? `${p} ${s === N ? `>=` : `>`} ${Q(l)}` : s === N && c === N && l === u ? `${p} == ${Q(l)}` : `${Q(l)} ${s === N ? `<=` : `<`} ${p} ${c === N ? `<=` : `<`} ${Q(u)}`; }, kr = (e, t) => { if (t.bounds === N && t.multipleOf === N) { let n = t.expression; e.expression = (e) => Or(e, n === N ? F(e, !0) : n(e)); } }, Ar = (e) => typeof e === f || Number.isInteger(e), jr = (e) => (t) => { let n = t / e; return Math.abs(n - Math.round(n)) < 2 ** -52 * Math.max(Math.abs(n), 1); }, Mr = (e) => { let t = e.e, n = t.bounds ?? 0, r = [], i = Dr(t); if (i !== N) { let e = Er(t, !1), a = Er(t, !0), o = n & 1 ? t[e] : N, s = n & 2 ? t[a] : N, c = t.errorMessage; o !== N && o === s && (c === N ? N : c[e]) === (c === N ? N : c[a]) ? r.push({ c: (e) => `${e}${i}===${o}`, f: tt(e) }) : (o !== N && r.push({ c: (e) => `${e}${i}>${o - 1}`, f: tt(e) }), s !== N && r.push({ c: (e) => `${e}${i}<${s + 1}`, f: tt(a) })); } else { let i = n & 4 ? t.exclusiveMinimum : N, a = i === N ? (n & 1 ? t.minimum : N) : i; a !== N && r.push({ c: (e) => `${e}${i === N ? `>=` : `>`}${Q(a)}`, f: tt(i === N ? `minimum` : `exclusiveMinimum`), }); let o = n & 8 ? t.exclusiveMaximum : N, s = o === N ? (n & 2 ? t.maximum : N) : o; s !== N && r.push({ c: (e) => `${e}${o === N ? `<=` : `<`}${Q(s)}`, f: tt(o === N ? `maximum` : `exclusiveMaximum`), }); let c = t.multipleOf; if (c !== N) { let t; if (typeof c === f) t = (e) => `!(${e}%${Q(c)})`; else if (Ar(c)) t = (e) => `${e}%${Q(c)}===0`; else { let n = U(e, jr(c)); t = (e) => `${n}(${e})`; } r.push({ c: t, f: tt(`multipleOf`) }); } } return r; }, Nr = (e, t) => (e.bounds !== N || e.multipleOf !== N ? B(e, t) : ur(e, (e) => (t(e), Mr))), Pr = (e, t, n) => n === N || t === N ? e : B(e, (e) => { dr(e)[t] = n; }), Fr = (e, t, n, r, i) => { let a = t.errorMessage; (r === N ? a !== N && a[n] !== N && (dr(e)[n] = N) : (dr(e)[n] = r), i !== N && a !== N && a[i] !== N && (dr(e)[i] = N)); }, Ir = (e, t, n) => { let r = t, i = e.minimum, a = e.exclusiveMinimum; return (i === N || (n ? r >= i : r > i)) && (a === N || r > a); }, Lr = (e, t, n) => { let r = t, i = e.maximum, a = e.exclusiveMaximum; return (i === N || (n ? r <= i : r < i)) && (a === N || r < a); }, Rr = (e, t, n) => (n ? e === N || t < e : t > (e ?? 0)), zr = (e, t) => { I(`${F(e)} contradicts ${F(t)}`); }, $ = (e, t, n, r) => { let i = { ...e, bounds: n }; return ((i[t] = r), kr(i, e), i); }, Br = (e, t, n) => { let r = n ? `exclusiveMinimum` : `minimum`, i = n ? 4 : 1, a = t, o = e.maximum, s = e.exclusiveMaximum; (o !== N && (n ? a >= o : a > o) && zr($(e, r, i, t), $(e, `maximum`, 2, o)), s !== N && a >= s && zr($(e, r, i, t), $(e, `exclusiveMaximum`, 8, s))); }, Vr = (e, t, n) => { let r = n ? `exclusiveMaximum` : `maximum`, i = n ? 8 : 2, a = t, o = e.minimum, s = e.exclusiveMinimum; (o !== N && (n ? a <= o : a < o) && zr($(e, r, i, t), $(e, `minimum`, 1, o)), s !== N && a <= s && zr($(e, r, i, t), $(e, `exclusiveMinimum`, 4, s))); }, Hr = (e, t, n) => { let r = Er(e, !n), i = e[r]; i !== N && (n ? t < i : t > i) && zr($(e, Er(e, n), n ? 2 : 1, t), $(e, r, n ? 1 : 2, i)); }, Ur = (e, t, n) => { if ((wr(`gte`, e, t), Br(e, t, !1), !Ir(e, t, !1))) { let t = e.bounds ?? 0; return Pr(e, t & 4 ? `exclusiveMinimum` : t & 1 ? `minimum` : N, n); } return Nr(e, (r) => { (kr(r, e), (r.bounds = ((e.bounds ?? 0) & -5) | 1), (r.minimum = t), (r.exclusiveMinimum = N), Fr(r, e, `minimum`, n, `exclusiveMinimum`)); }); }, Wr = (e, t, n) => { if ((wr(`lte`, e, t), Vr(e, t, !1), !Lr(e, t, !1))) { let t = e.bounds ?? 0; return Pr(e, t & 8 ? `exclusiveMaximum` : t & 2 ? `maximum` : N, n); } return Nr(e, (r) => { (kr(r, e), (r.bounds = ((e.bounds ?? 0) & -9) | 2), (r.maximum = t), (r.exclusiveMaximum = N), Fr(r, e, `maximum`, n, `exclusiveMaximum`)); }); }, Gr = (e, t, n) => { (Tr(`minLength`, e, t), Hr(e, t, !1)); let r = Er(e, !1); return Rr(e[r], t, !1) ? Nr(e, (i) => { (kr(i, e), (i.bounds = (e.bounds ?? 0) | 1), (i[r] = t), Fr(i, e, r, n)); }) : Pr(e, (e.bounds ?? 0) & 1 ? r : N, n); }, Kr = (e, t, n) => { (Tr(`maxLength`, e, t), Hr(e, t, !0)); let r = Er(e, !0); return Rr(e[r], t, !0) ? Nr(e, (i) => { (kr(i, e), (i.bounds = (e.bounds ?? 0) | 2), (i[r] = t), Fr(i, e, r, n)); }) : Pr(e, (e.bounds ?? 0) & 2 ? r : N, n); }, qr = (e, t) => Gr(e, 1, t), Jr = (e, t, n, r) => R(u, zt, (i) => { let a = typeof t == `string` ? new RegExp(t, `i`) : t; ((i.format = e), n && (i.escapeFree = n), (i.refiner = (e) => [ { c: (t) => `${U(e, a)}${a instanceof RegExp ? `.test` : ``}(${t})`, f: tt(`format`, r) }, ])); }), Yr = `(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)`, Xr = () => `(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|` + Yr + `)|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)`, Zr = Jr( `uri`, ((e) => `^(?:[a-z][a-z0-9+\\-.]*:)` + e + `(?:\\/\\/(?:(?:[a-z0-9\\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\\[(?:` + Xr() + `|[Vv][0-9a-f]+\\.[a-z0-9\\-._~!$&'()*+,;=:]+)\\]|` + Yr + `|(?:[a-z0-9\\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\\d*)?(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\\/(?:(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\\?(?:[a-z0-9\\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$`)( ``, ), !0, ), Qr = (...e) => en(z, ...e), $r = (e) => Z(e.map(rr)), ei = (e, t) => { let n = rr(e); if (t !== N) { let e = Z([n, pr]); return typeof t === g ? gr(e, t) : hr(e, t); } return Z([n, Ut]); }; const ti = Sr({ id: Lt, created: xr, title: Bt.with(qr).with(Kr, 100), type: $r([`jpg`, `png`]), size: Lt, url: Zr, }), ni = Sr({ id: Lt, stars: Lt.with(Ur, 1).with(Wr, 5), title: Bt.with(qr).with(Kr, 100), text: Bt.with(qr).with(Kr, 1e3), images: $n(ti), }); Qr( Sr({ id: Lt, created: xr, title: Bt.with(qr).with(Kr, 100), brand: Bt.with(qr).with(Kr, 30), description: Bt.with(qr).with(Kr, 500), price: Lt.with(Ur, 1).with(Wr, 1e4), discount: Lt.with(Ur, 1).with(Wr, 100).with(ei), quantity: Lt.with(Ur, 0).with(Wr, 10), tags: $n(Bt.with(qr).with(Kr, 30)), images: $n(ti), ratings: $n(ni), }), )({});
Created by eskimojo for Open Circle

Preferences

Style
Theme
NPM browser
Code ligatures