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

    • 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 = (e) => e.includes(`"`) || e.includes(` `) ? JSON.stringify(e) : `"${e}"`, o = (e) => `[${e}]`, s = (e) => (e === `` ? [] : JSON.parse(e.split(`"]["`).join(`","`))), c = (e, t) => e + t, l = `string`, u = `number`, d = `bigint`, f = `boolean`, ee = `symbol`, p = `null`, m = `undefined`, h = `nan`, g = `function`, _ = `instance`, v = `array`, y = `object`, b = `anyOf`, x = `never`, S = `unknown`, te = `ref`, C = 1, w = 2, ne = 4, re = 8, T = 16, ie = 32, E = 64, D = 128, O = 256, k = 512, ae = 1024, A = 2048, oe = 4096, j = 8192, se = 16384, ce = 32768, M = { [S]: 1, [l]: 2, [u]: 4, [f]: 8, [m]: 16, [p]: 32, [y]: 64, [v]: 128, [b]: 256, [te]: 512, [d]: 1024, [h]: 2048, [g]: 4096, [_]: 8192, [x]: 32768, [ee]: 16384, }, le = `sury`, ue = Symbol(le); le + ``; var N = void 0, de = [], fe = Object.create(null), pe = (e) => typeof e === y && e !== null && `~standard` in e, me = `const`, P = (e) => me in e, he = (e) => e.type === m || (e.type === b && m in e.has), ge = (t) => { let n = M[typeof t]; if (e(n, T)) return m; if (e(n, E)) { if (t === null) return p; if (Array.isArray(t)) return `[${t.map(ge).join(`, `)}]`; if (t.constructor === Object) { let e = t; return `{ ${Object.keys(e) .map((t) => `${t}: ${ge(e[t])}; `) .join(``)}}`; } return Object.prototype.toString.call(t); } return e(n, w) ? `"${t}"` : e(n, ae) ? `${t}n` : e(n, oe) ? `Function` : t.toString(); }, F = (e) => { if (e.name !== N) return e.name; if (e.const !== N) return ge(e.const); if (e.anyOf !== N) return [...new Set(e.anyOf)].map(F).join(` | `); if (e.format === `compactColumns`) { let t = e.to; if (t !== N) { let e = t.properties; return e === N ? `unknown[][]` : `[${Object.keys(e) .map((t) => { let n = e[t]; return `${F(n)}[]`; }) .join(`, `)}]`; } { let t = e.additionalItems; return t !== N && typeof t == `object` ? `${F(t)}[]` : `unknown[][]`; } } if (e.format !== N) return e.format; if (e.type === y) { let t = e.properties, n = Object.keys(t); if (n.length === 0) { if (typeof e.additionalItems === y) { let t = e.additionalItems; return `{ [key: string]: ${F(t)}; }`; } return `{}`; } return `{ ${n.map((e) => `${e}: ${F(t[e])};`).join(` `)} }`; } if (e.type === h) return `NaN`; if (e.type === v) { let t = e.items; if (typeof e.additionalItems === y) { let t = e.additionalItems, n = F(t); return (t.type === b ? `(${n})` : n) + `[]`; } return `[${t.map((e) => F(e)).join(`, `)}]`; } return e.type === _ ? e.class.name : e.type; }; function _e() {} var ve = Object.create(null); (Object.defineProperty(ve, "with", { value(e, ...t) { return e(this, ...t); }, }), (_e.prototype = ve)); var ye = 1, be = {}, xe = class extends Error { constructor(e) { (super(), Object.assign(this, e)); } get message() { return we(this); } get _1() { return this; } get RE_EXN_ID() { return be; } }; (Object.defineProperty(xe.prototype, "name", { value: `SuryError` }), Object.defineProperty(xe.prototype, "s", { value: ue })); var Se = (e) => { if (e && e.s === ue) return e; throw e; }, Ce = (e) => { throw Error(`[Sury] ${e}`); }, we = (e) => `${e.path === `` ? `` : `Failed at ${e.path}: `}${e.reason}`, Te = { m: we, d: N, a: `strip`, f: t }, Ee = {}, De = `value`, Oe = `r`, ke = _e, I = (e, t) => { let n = new ke(); return ((n.type = e), (n.seq = ye++), t && ((Ee[De] = n), Object.defineProperty(n, Oe, Ee)), n); }, Ae = (e) => e, je = {}, Me = (e, t, n) => { let r = je[e]; if (r !== N) return r; { let r = I(t, !0); return (n(r), (je[e] = r), r); } }, L = I(S, !0); L.decoder = Ae; var Ne = (e) => { let t = Object.assign(new ke(), e); return ((t.seq = ye++), t); }, Pe = (e, t) => { let n = Ne(e), r = n; for (; r.to !== N;) { let e = Ne(r.to); ((r.to = e), (r = e)); } return (t(r), n); }, Fe = (t, n) => { t[e(M[n], O | k) ? S : n] = !0; }, Ie = `JSON`; function R() { return this.i; } function Le() { return this.b.v(); } function Re() { return this.prev.v(); } function ze() { let e = this, t = V(e.g); return ((e.cp = `let ${t}=${e.i};`), (e.i = t), (e.v = R), t); } function Be() { let e = this, t = e.p; if (t.fz) return ((e.v = R), e.i); { let n = V(e.g); return (We(t, `${n}=${e.i}`), (e.v = R), (e.i = n), n); } } function Ve() { let e = this; if (e.fz) return ((e.v = R), (e.i = `(${e.i})`), e.i); { let t = V(e.g); return ( e.prev === N ? e.i === `` ? We(e, t) : We(e, `${t}=${e.i}`) : e.i === `` ? (e.cp = `let ${t};` + e.cp) : (e.cp += `let ${t}=${e.i};`), (e.v = R), (e.i = t), t ); } } var He = `i`, z = (e) => { let t = e.e.errorMessage; return Qe(N, N, t === N ? N : t.type === N ? t._ : t.type)(e); }, B = (e, t) => { let n = e.g.e, r = n.length; return ((n[r] = t), e.g.t++, `e[${r}]`); }, Ue = (t, n) => { let r = M[n.type], i = n.const; return e(r, T) ? `void 0` : e(r, w) ? a(i) : e(r, ae) ? i + `n` : e(r, se | oe | j) ? B(t, n.const) : i; }, V = (e) => { let t = e.v + 1; return ((e.v = t), `v${t}`); }, We = (e, t) => { e.hd = e.hd === `` ? t : e.hd + `,` + t; }, Ge = (e, n, i, a) => ({ b: N, p: N, v: R, i: He, 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, }), Ke = (e) => { throw new xe(e); }, qe = (e, t, n) => Ke({ 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, }), Je = (e, t, n) => `${B(e, (e) => { Ke(t(e)); })}(${n})`, Ye = (e) => { e.g.t++; }, Xe = (e) => (e.prev === N ? e.s : e.prev.s), Ze = (e, t, n, r, i, a, o) => { let s = o === N ? `Expected ${F(e)}, received ${i ? ge(r) : F(t)}` : o; if (a !== N) { let e = a, 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), (s += a)); } } let c = { code: `invalid_input`, expected: e, received: t, path: n, reason: s, unionErrors: a }; return (i && (c.input = r), c); }, Qe = (e, t = r, n, i = !0) => (a) => { let o = e === N ? a.e : e, s = Xe(a), l = t === r ? a.path : c(a.path, t); return (e) => Ze(o, s, l, e, i, N, n); }, H = (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 ? z(n) : Qe(N, N, a)(n); }, $e = (e, t = e.e) => Je(e, Qe(t)(e), e.v()), et = (e, t) => { let n = e.vc, r = n.length; if (r === 1) { let r = n[0]; return `${r.c(t)}||${Je(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}||${Je(e, s(e), t)};`; } return i; } }, tt = (e) => e.t !== !0 || (e.prev.t !== !0 && e.cp === ``), U = (e, t) => { let n = e, r = ``; for (; n !== N;) { let e = n; n = e.prev; let i = ``; if (e.vc) { if (t !== N && tt(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 === z ? (o = o ? `${o}&&${s}` : s) : e.e.noValidation !== !0 && (i += `${s}||${Je(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 = et(e, n.v())); } (e.hd !== `` && (i += `let ${e.hd};`), (e.fz = !0), (i = e.cp + i), (r = i + r)); } return r; }, nt = (e, t) => { let n = e.v.bind(e); e.v = () => { let e = n(); return ((t.i = e), (t.v = R), e); }; }, W = (e, n, r, i = e.e) => ({ b: N, p: N, v: Ve, i: n, s: r, io: N, e: i, prev: e, f: t, d: e.d, fv: N, cp: ``, hd: ``, fz: N, vc: N, u: N, t: !0, path: e.path, g: e.g, o: N, }), G = (e, t = e.s, n, r = e.e) => { let i = e.v !== R, a = { b: N, p: N, v: i ? Re : R, 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 && nt(e, a), a); }, rt = (e, t) => { e.vc === N ? (e.vc = [t]) : e.vc.push(t); }, it = (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++) rt(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 ? G(e, N, n.concat(i)) : n === N ? i === N ? e : G(e, N, i) : G(e, N, n)), (o.io = !0), o ); }, at = (e, t, n) => { if (t.vc) { let r = o(a(n)); (t.vc.forEach((t) => { rt(e, { c: (e) => t.c(e + r), f: t.f }); }), (t.vc = N)); } }, ot = (e, t) => { let n = e.s.additionalItems, i = e.e.additionalItems; return { b: N, p: e, v: ze, i: `${e.v()}[${t}]`, s: n !== N && typeof n != `string` ? n : L, io: N, e: i !== N && typeof i != `string` ? i : L, 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, }; }, st = (e, t, n) => W(e, Ue(e, t), t, n), ct = (e, t) => { let r = W(e, t, e.s); return ((r.f = n), r); }, lt = (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 += U(i)), (t.d[r] = i)); }, ut = (e, t, n) => `${e.v()}[${t}]=${n.i}`, dt = (e) => { let t = e.v !== R, n = { b: e, p: N, v: t ? Le : R, 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 && nt(e, n), n); }, ft = (e, t) => Ke({ code: `invalid_operation`, reason: t, path: e.path }), pt = (t, r, i) => { let a = U(t); if (a === `` && !e(t.f, n)) return a + (i === N ? `` : i()); { let o = V(t.g); Ye(t); let s = `${r(o)};throw ${o}`; return ( e(t.f, n) && (t.i = `${t.i}.catch(${o}=>{${s}})`), `try{${a}${i === N ? `` : i()}}catch(${o}){${s}}` ); } }, mt = (e, t, n, i) => e.path === r && n === N ? U(e) : pt( e, (e) => `${e}.path=${t.path === `` ? `` : `${a(t.path)}+`}${n === N ? `` : `'["'+${n}+'"]'+`}${e}.path`, i, ); function ht(e) { return e; } ht.embedded = de; var gt = (e) => `${e}<=2147483647&&${e}>=-2147483648&&${e}%1===0`, _t = {}, vt = (e) => _t[e] || (_t[e] = (t) => `typeof ${t}==="${e}"`), yt = (e) => `Number.isNaN(${e})`, bt = (e) => `Array.isArray(${e})`, xt = (e) => `${vt(y)(e)}&&${e}`, St = (e, t) => (n) => `${n} instanceof ${B(e, t)}`, Ct = {}, wt = (e) => Ct[e] || (Ct[e] = { c: vt(e), f: z }), Tt = { c: (e) => `!${yt(e)}`, f: z }, Et = { c: gt, f: z }, Dt = { c: yt, f: z }, Ot = (e, t) => G(e, e.e, [wt(t)]), kt = (e, t) => { let n = W(e, V(e.g), t); return ((n.v = R), n); }, At = (t) => { let n = M[t.s.type]; if (e(n, C)) { let n = [wt(u)]; return (t.e.format === `int32` ? n.push(Et) : e(t.g.o, 2) || n.push(Tt), G(t, t.e, n)); } if (e(n, w)) { let e = kt(t, t.e); return ( (e.cp = `let ${e.i}=+${t.v()};`), (e.vc = [{ c: (n) => (t.e.format === `int32` ? gt(e.i) : `!${yt(e.i)}`), f: z }]), e ); } return e(n, A) && t.e.format !== `int32` && e(t.g.o, 2) ? G(t, t.e) : e(n, ne) ? t.s.format !== t.e.format && t.e.format === `int32` ? G(t, t.e, [Et]) : t : qe(t, t.s, t.e); }, jt = () => Me(u, u, (e) => { e.decoder = At; }), Mt = (e) => W(e, `""+${e.i}`, Pt()), Nt = (t) => { let n = M[t.s.type]; if (e(n, C)) return Ot(t, l); if (e(n, re | ne | ae | T | ie | A) && P(t.s)) { let e = `` + t.s.const, n = I(l, !1); return ((n.const = e), W(t, `"${e}"`, n)); } return e(n, re | ne | ae) ? Mt(t) : e(n, w) ? t : qe(t, t.s, t.e); }, Pt = () => Me(l, l, (e) => { e.decoder = Nt; }), Ft = (t) => { let n = t.e; if (n.noValidation && !t.u) return st(t, n); if (P(t.s)) return t.s.const === n.const ? t : st(t, n); { let r = M[n.type]; if (e(M[t.s.type], w) && e(r, re | ne | ae | T | ie | A)) { let e = I(l, !1); e.const = `` + n.const; let r = st(t, e, e); return ((r.vc = [{ c: (t) => `${t}==="${e.const}"`, f: z }]), st(r, n, n)); } return e(r, A) ? G(t, n, [Dt]) : G(t, n, [{ c: (e) => `${e}===${Ue(t, n)}`, f: z }]); } }, It = () => Me(m, m, (e) => { ((e.const = N), (e.decoder = Ft)); }), Lt = () => Me(p, p, (e) => { ((e.const = null), (e.decoder = Ft)); }), Rt = () => Me(h, h, (e) => { ((e.const = NaN), (e.decoder = Ft)); }), zt = (e) => { if (e === null) return Lt(); { let t = typeof e; if (t === m) return It(); if (t === u && Number.isNaN(e)) return Rt(); if (t === y) { let t = I(_, !0); return ((t.class = e.constructor), (t.const = e), (t.decoder = Ft), t); } { let n = I(t, !0); return ((n.const = e), (n.decoder = Ft), n); } } }, K = (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 = dt(o), i = K(t), a = U(i); ((r = t.i !== i.i || a !== `` ? W(o, `${e}.then(${e}=>{${a}return ${i.i}})`, i.s, i.e) : G(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 ? G(r, N, N, e) : o.e.parser(o); } else { let e = o.s.encoder; (e && e !== t && o.s !== o.e && o.e.type !== S && !o.e.noValidation && (r = e(o, o.e)), o === r ? ((r = o.e.decoder(o)), r.io || (r = it(r, r))) : (i = e)); } } return r; }, Bt = (e) => { try { return K(e); } catch (t) { let n = Se(t); throw ((n.path = c(e.p === N ? r : e.p.path, c(c(e.path, i), n.path))), n); } }, Vt = (t, r, i, a) => { let o = Ge(P(t) ? L : t, r, i, a), s = K(o), c = U(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 ht; { let t = s.i; e(i, 1) && !l && !a && (t = `Promise.resolve(${t})`); let n = `${He}=>{${c}return ${t}}`, r = Function(`e`, `s`, `return ${n}`)(o.g.e, ue); return ((r.embedded = o.g.e), r); } }, Ht = (e) => (e.to === N ? e : Ht(e.to)); function Ut(...e) { let t = arguments, n = 0, r = N, i = ``, a = 0, o = N; for (; r === N;) { let e = t[n]; if (!e) { let e = Te.f; ((r = e), (i = i + `-` + e)); } else if (typeof e === u) { let t = e | Te.f; ((r = t), (i = i + `-` + t)); } else { let t = e, r = t.seq; (r > a && ((a = r), (o = t)), (i = i + r + `-`), (n += 1)); } } if (o === N) return Ce(`No schema provided for decoder.`); { let e = i, a = o; if (e in a) return a[e]; { let i = t[n - 1]; for (let e = n - 2; e >= 0; e--) { let n = i; i = Pe(t[e], (e) => { e.to = n; }); } let a = Vt(i, i, r, N); return ((Ee[De] = a), Object.defineProperty(o, e, Ee), a); } } } var Wt = `BS_PRIVATE_NESTED_SOME_NONE`, Gt = (e) => { let t = G(e, Kt(), N, Kt()); return ((t.cp = $e(e) + `;`), t); }, Kt = () => Me(x, x, (e) => { e.decoder = Gt; }), qt = (e) => { let t = e.e.to; return W(e, `{${Wt}:${Ht(e.e).properties[Wt].const}}`, t, t); }, Jt = (t) => { let n = M[t.s.type]; return e(n, C) ? G(t, t.e, [{ c: St(t, t.e.class), f: z }]) : e(n, j) && t.s.class === t.e.class ? t : qe(t, t.s, t.e); }, Yt = (t, n, r) => { let i = M[n.type]; if (e(i, E)) return `${xt(r)}&&!${bt(r)}`; if (e(i, D)) return bt(r); if (e(i, j)) return St(t, n.class)(r); if (e(i, ne)) { let n = vt(u)(r); return e(t.g.o, 2) ? n : `${n}&&!${yt(r)}`; } return e(i, A) ? yt(r) : e(i, T | ie) ? `${r}===${Ue(t, n)}` : e(i, w | re | ae | se) ? vt(n.type)(r) : ``; }, Xt = -1, Zt = O | k | oe, Qt = C | Zt | ce, $t = (e, t) => e.type === t.type && e.class === t.class, en = (e, t) => e === t || ($t(e, t) && !(M[e.type] & (k | O)) && e.format === t.format), tn = (e, t) => e === t || (e !== e && t !== t), q = (e) => { let t = e; for (; t.type !== x && t.to !== N;) t = t.to; return t; }, nn = (e) => { if (e.type !== b) return !1; let t = 0; for (let n in e) n !== `isAsync` && n !== `hasTransform` && t++; return t === 6; }, rn = (e) => { let t = M[e.type], n = 0; if (t & Zt || 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] & Zt ? (n |= 15) : r.noValidation === !0 || M[r.type] & C || $t(e, r) || (r.type === b && pn(r, 1) & t) ? (n |= rn(r)) : (n |= 9)); let i = e.items || e.properties; for (let e in i) { let t = i[e]; n |= rn(t); } return (typeof e.additionalItems == `object` && (n |= rn(e.additionalItems)), n); }, an = (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 (!an(t[e])) return !1; return typeof e.additionalItems != `object` || an(e.additionalItems); }, on = (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 && tn(t.const, r.const) && t.to === N && r.to === N ); }), sn = (e, t, n, ...r) => Ke(Ze(e, L, t, n, !0, r.length ? r : N)), cn = (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 & J || 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 & J) && 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}}`); }, ln = (e) => { let t = M[e.type], n = E | D, r = I(e.type, !1); return ( (r.encoder = e.encoder), t & j ? (r.class = e.class) : t & n ? ((r.additionalItems = L), t & E ? (r.properties = fe) : (r.items = de)) : t & (ie | T | A) && (r.const = e.const), (r.decoder = (i) => M[i.s.type] & C ? G(i, i.e, [{ c: (t) => Yt(i, e, t), f: z }]) : $t(i.s, r) ? t & n ? G(i, i.e) : i : e.decoder(i)), r ); }, un = E | j, dn = E | D | j | k | O, fn = (e, t) => e | (e & un ? un : e & M[u] ? t : 0), pn = (e, t, n = 0) => { if (t === 2) { let t = e.$defs, r = e.$ref; if (t !== N && r !== N) { let i = t[r.slice(r.lastIndexOf(`/`) + 1)]; if (i !== N && i !== e) return pn(i, 1, n); } } let r = M[e.type]; if (!t && r & ce) return 0; if (t && r & O) { let t = 0, r = e.anyOf; for (let e = 0; e < r.length; e++) t |= pn(r[e], 1, n); return t; } return r & (C | O | k) ? Xt : fn(r, n); }, J = 8, mn = 16, hn = (e) => ({ m: e.m, a: [e], f: e.f & mn, p: e.p, o: !1 }), gn = (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; }, _n = (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 ? q(t) : t; t.type === x || (i && n.type === x) || (en(a, n) ? (o ||= t) : (s = !0)); } o !== N && s && yn( e, t, n, `${F(o)} has the same type as the ${i ? `target` : `source`} and the others don't`, ); }, vn = (e, t, n, r) => yn(e, t, n, `${F(r)} has no same-type variant on the other side`), yn = (e, t, n, r) => ft( 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`, ), bn = (e, t, n, r) => { let i = n ? T : 0, a = P(t); for (let n = 0; n < e.length; n++) { let r = e[n]; (a && P(r) && tn(r.const, t.const) && (i |= C), (i |= M[r.type] & (E | M[u]))); } return { m: pn(t, 2, r), f: i, t: M[t.type] }; }, xn = (e, t, n, r) => { let i = e.m, a = e.f, o = [], s = e.t, c = s & C, l = s & (O | k), d = l && i !== Xt, f = gn(n), ee = a & C, h = a & E, g = a & M[u], _ = M[u] | A; for (let e = 0; e < t.length; e++) { let s = t[e], u = M[s.type], v = pn(s, 1, r), b = gn(s), S = $t(n, s), te = f !== N && b !== N && S && f[0] === b[0] && !tn(f[1], b[1]), C = !(u & ce) && !(a & T && u & T) && !te && (!ee || (P(s) ? tn(s.const, n.const) : i & v)), ne = i & u, re = C && !c && !(d ? ne : S), E = q(s), O = rn(s), k = l && (!d || re), ae = E.type === x ? 3 : O & 4 || k ? 4 : re || O & 8 ? 2 : O & 1 || u & dn ? 1 : 0, oe = s.type === y && Wt in s.properties, se = (O & 7) | (ae === 0 ? 0 : 1) | (k ? 4 : 0) | ((!c && S) || u & Qt ? mn : 0), le = oe || (h && u & (D | j)) || (g && u & A) ? 0 : b === N ? 2 : 1; o.push({ i: e, s, m: C ? c ? v : d ? ne ? v : s.type === m && i & ie ? ie : s.type === p && i & T ? T : i & w ? w : i : i : 0, o: !!C && E.type !== x, e: ae, f: se, p: le, k: u & j ? s.class : s.type, r: u & un ? un : u & _ ? _ : fn(u, r), d: b, }); } return o; }, Sn = (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 !== Xt && (c.m & ~c.r) === 0, u = c.e < 2 || (c.e === 4 && c.d?.[0] === ``), d = l ? (c.p === 0 && i[c.r]) || r[c.r] : N, f = N, ee = !1; if (d !== N) for (let e = 0; e < d.t.length; e++) { let t = d.t[e], n = t.a[0]; ((ee ||= t.p === 2), f === N && u && t.o && n.k === c.k && n.e < 2 == c.e < 2 && (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(hn(c)); continue; } if ( (d !== N && f === N && c.p === 1 && ee && (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 &= ~mn)); else { let e = hn(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, u = 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 |= J), (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) && (!!(u & 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] & Qt && (t.a[0].s.to !== N || t.a[0].s.parser !== N))) && (t.f |= J | 2), (t.a.length !== 1 || !(t.f & mn)) && (t.n = ln(t.a[0].s)), i !== Xt && (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 u |= t.m; l |= t.m; } return s; }, Cn = (e, t, r, i) => { let a = e.i, o = G(e), s = r.some((e) => e.f & 2), c = [], l = ``, u = ``, d = ``, f = { f: (n) => `${B(e, sn.bind(N, t, e.path))}(${e.v()}${l}${n})`, r: () => (u ||= B(e, Se)), s: () => (d ||= B(e, t)), }, ee = (r, i, a = i) => { let u = e.g.t, d = dt(i); ((d.u = !0), (d.t = i.t), (d.io = !1), (d.e = r.s)); let f, ee = e.g.o; e.g.o |= 4; try { if (t.perVariant) try { f = K(d); } catch (t) { return ((l += `,${B(e, Se(t))}`), N); } else f = K(d); } finally { e.g.o = ee; } r.o && (c[r.i] = f.s); let p = { c: ``, h: [] }, m = r.f & J, h = U(f, p), g = f.f & n; if (((o.f |= g), f.t)) { o.t = !0; let e = a.v(); (g || f.i !== e) && (h += `${e}=${g && s ? `await ` : ``}${f.i}`); } let _ = (h !== `` && e.g.t !== u) | (g && s ? 2 : 0) | (m ? J : 0); return { c: p.c, b: h, f: _ }; }, p = []; for (let t = 0; t < r.length; t++) { let n = r[t]; if (n.a.length === 1 && n.f & mn) { let t = ee(n.a[0], e); if (t !== N && (n.f & J && (t.f |= J), p.push(t), t.c === `` && t.b === ``)) break; continue; } let i = e.g.t, a = dt(e); ((a.io = !1), (a.e = n.n)); let o = K(a), s = []; for (let e = 0; e < n.a.length; e++) { let t = ee(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})`), rt(o, { c: () => e, f: z })); } l = U(o, c); } else { let e = U(o, c), t = s.length === 1 ? s[0] : N; t !== N && e === `` ? (t.c !== `` && (c.c = c.c ? `${c.c}&&${t.c}` : t.c), (l = t.b)) : ((l = e + cn(s, f)), (u = s.length > 1)); } let d = (l !== `` && e.g.t !== i) | (s.some((e) => e.f & 2) ? 2 : 0) | (n.f & J) | (u ? 4 : 0); if ((p.push({ c: c.c, b: l, f: d }), l === `` && c.c === ``)) break; } let m = p.length > 0 && p.every((e) => e.b === ``) && p.some((e) => e.c === ``), h = !m && p.length > 0 && p.every((e) => e.c !== `` && e.b === ``), g = p.some((e) => e.f & 2); if (h) { let e = p.map((e) => e.c).join(`||`); (p.length > 1 && (e = `(${e})`), (o = G(G(o, o.s, [{ c: () => e, f: z }], t)))); } else if (!m) { let t = cn(p, f); if (g) { let n = e.v(); o.i = `(async(${n})=>{${t};return ${n}})(${n})`; } else o.cp += t; } g || (o.i = e.i); let _; o.f & n ? ((o.i = `Promise.resolve(${o.i})`), (o.v = Ve), (_ = o)) : o.v === R && e.cp === `` && o.cp === `` && !h && a === `i` ? ((e.hd = ``), (e.v = Ve), (e.i = a), (_ = e)) : (_ = o); let v = c.filter(Boolean); return ( (_.s = v.length ? Pn(v) : Kt()), i === N ? ((_.e = t), it(_, e)) : ((_.io = !0), (_.e = q(i)), _) ); }, wn = (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(an)) || (t.s.type === b && r === N && on(i, t.s.anyOf)) ) return t; let a = M[t.s.type]; (a & O || (t.s.encoder === N && a & k)) && (t.s = L); let o = t.s, s = e(t.g.o, 2) ? A : 0, c = bn(i, o, `fromDefault` in n, s); if ((!(c.t & C) && !(c.f & C) && _n(t, o, n, i, !1), r !== N)) { let e = Dn(r) ? i.map((e) => (q(e).type === x ? N : r)) : jn(t, n, i, r), a = n.refiner !== N || n.inputRefiner !== N ? Tn(n) : N; i = i.map((t, n) => { let r = e[n]; return r === N && a === N ? t : Pe(t, (e) => { (a !== N && a(e), r !== N && (e.to = r)); }); }); } return Cn(t, n, Sn(xn(c, i, o, s)), r); }, Tn = (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); }; } } }; }, En = (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), Fe(i, a.type)); } let a = I(b, !1); return ( (a.anyOf = r), (a.has = i), (a.decoder = wn), (a.encoder = On), (a.perVariant = e.s.perVariant), G(e, L, N, a) ); }, Dn = (e) => e.noValidation === !0 || M[q(e).type] & k || (e.type === b && e.anyOf.some((e) => M[e.type] & k)), On = (e, t) => { if (Dn(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 : En(e, (e, t) => r[t]); } let r = jn(e, e.s, n, t); return r.every((e) => e === N) ? e : En(e, (e, t) => { let n = r[t]; return n === N ? e : Pe(e, (e) => { e.to = n; }); }); }, kn = ie | T, An = (e) => (e.type === m ? p : e.type === p ? m : N), jn = (e, t, n, r) => t.perVariant ? n.map(() => r) : nn(r) ? Mn(e, t, n, r) : (!(M[r.type] & C) && !r.noValidation && _n(e, t, r, n, !0), n.map((e) => (q(e).type === x ? N : r))), Mn = (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 = q(l); if (l.type === x || u.type === x) continue; let d = i.filter((e, t) => e.type !== x && en(u, e) && (o[t] = !0)); if ( ((s |= M[u.type] & kn), d.length === 1 ? (a[c] = d[0]) : d.length > 1 && (a[c] = M[u.type] & dn && d.includes(u) ? u : Pn(d)), a[c] !== N) ) continue; let f = An(u); (f !== N && (a[c] = i.find((e) => e.type === f && q(e).type !== x)), a[c] === N && vn(e, t, r, u)); } for (let n = 0; n < i.length; n++) { let a = i[n], c = An(a); a.type !== x && !o[n] && (c === N || q(a).type === x || !(s & M[c])) && vn(e, t, r, a); } return a.map((e, t) => (e !== N && Nn(e, q(n[t])) ? N : e)); }, Nn = (e, t) => e === t || (an(e) && e.refiner === N && e.inputRefiner === N && e.noValidation === N && (e.const === N || tn(e.const, t.const)) && !(M[e.type] & dn) && en(e, t)), Pn = (e) => { if (e.length === 0) return Ce(`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 = nn(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), Fe(t, r.type)); } } let r = I(b, !1); return ((r.anyOf = n), (r.decoder = wn), (r.encoder = On), (r.has = t), r); }, Y = (e, t) => Pe(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); }; }), X = (e) => { let t = e.errorMessage ? { ...e.errorMessage } : {}; return ((e.errorMessage = t), t); }, Z = (e) => e !== N && typeof e != `string`, Fn = (e, n) => ({ b: N, p: N, v: Ve, i: ``, s: n.type === v ? { type: v, items: [], additionalItems: `strict`, decoder: Rn } : { type: y, required: [], properties: Object.create(null), additionalItems: `strict`, decoder: zn, }, 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, }), In = (t) => { let r = t.s.type === v, i = ``, o = ``, 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) && (o = o + d.i + `,`), d.o)) { let e = s; s = (t) => (e === N ? `` : e(t)) + `if(${d.v()}!==void 0){${t}[${a(u)}]=${d.i}}`; } else i = i + (r ? `${d.i}` : `${a(u)}:${d.i}`) + `,`; } t.i = r ? `[` + i + `]` : `{` + i + `}`; let l = t; if (o) { let e = dt(l); e.io = !0; let t = K(e), r = U(t); return ( (l.i = r === `` && o === `${t.i},` ? t.i : `Promise.all([${o}]).then(([${o}])=>{${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 = G(l); return ((t.cp += e), t); } }, Ln = (e) => { let t = e, n = I(v, t.r === t); return ((n.additionalItems = t), (n.items = de), (n.decoder = Rn), n); }, Rn = (t) => { let r = t.u, i = t.e, a = M[t.s.type], o = i.items, s = o.length, c; if (e(a, C | D)) { let n = e(a, D), r; r = n ? t.s : Ln(L); let o = []; n || o.push({ c: bt, f: z }); let l = r.additionalItems; if (!(!Z(l) && r.items.length === s)) { let e = i.additionalItems; e === `strict` ? o.push({ c: (e) => `${e}.length===${s}`, f: z }) : e === `strip` && o.push({ c: (e) => `${e}.length>=${s}`, f: z }); } c = o.length > 0 ? G(t, r, o) : G(t, r); } else c = qe(t, t.s, i); let l, u = i.additionalItems; if (Z(u)) { if (u === L) l = c; else { let t = c.v(), r = V(c.g), a = Bt(ot(c, r)), o = a.t, u = o ? W(c, `new Array(${t}.length)`, Ln(a.s)) : G(c, i), d = mt(a, c, r, o ? () => ut(u, r, a) : N); ((o || d !== ``) && (u.cp += `for(let ${r}=${s};${r}<${t}.length;++${r}){${d}}`), (l = e(a.f, n) ? ct(u, `Promise.all(${u.i})`) : u)); } } else { let e = Fn(c, i), t; { let e = i.additionalItems; if (e === `strict`) t = !1; else if (e === `strip`) { let e = c.s.additionalItems; t = Z(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 = Gn(c, a); ((s.e = i), (s.io = !1), (s.u = r)); let l = K(s); (r && P(i) && at(c, l, a), lt(e, a, l), (t ||= l.t)); } if (t) l = In(e); else { let t = G(c, i); ((t.cp = e.cp), (t.d = e.d), (l = t)); } } return it(l, c); }, zn = (t) => { let r = t.u, i = t.e, o = M[t.s.type], s; if (e(o, C | E)) { let n = e(o, E), r; if (n) r = t.s; else { let e = I(y, !1); ((e.properties = fe), (e.additionalItems = L), (r = e)); } let i = []; (n || (i.push({ c: xt, f: z }), i.push({ c: (e) => `!${bt(e)}`, f: z })), (s = i.length > 0 ? G(t, r, i) : G(t, r))); } else s = qe(t, t.s, i); let c = i.additionalItems, l = Z(c) ? c : N, u = s.s.additionalItems, d = Z(u), f; if (l !== N && l === L) f = s; else if (l !== N && d) { let t = s.v(), r = V(s.g), a = Bt(ot(s, r)), o = a.t, c = o ? W(s, `{}`, Bn(a.s)) : G(s, i), l = mt(a, s, r, o ? () => ut(c, r, a) : N); if (((o || l !== ``) && (c.cp += `for(let ${r} in ${t}){${l}}`), e(a.f, n))) { let e = V(c.g), t = V(c.g), n = V(c.g), i = V(c.g), a = c.v(); f = ct( c, `new Promise((${e},${t})=>{let ${i}=Object.keys(${a}).length;for(let ${r} in ${a}){${a}[${r}].then(${n}=>{${a}[${r}]=${n};if(${i}--===1){${e}(${a})}},${t})}})`, ); } else f = c; } else if (l !== N) { let e = l, t = Fn(s, i), n = Object.keys(s.s.properties); for (let i = 0; i < n.length; i++) { let a = n[i], o = Gn(s, a); ((o.e = e), (o.io = !1), (o.u = r), lt(t, a, K(o))); } f = In(t); } else { let e = i.properties, t = Object.keys(e), n = t.length, o = Fn(s, i), c; { let e = i.additionalItems; c = e === `strict` ? !1 : e !== `strip` || d || Object.keys(s.s.properties).length !== n; } let l = Z(u) ? u.name === Ie : !1; for (let i = 0; i < n; i++) { let n = t[i], a = e[n], u = Gn(s, n); ((u.e = a), (u.io = !1), (u.u = r), l && a.type === b && a.has[m] && (u.i = `(${u.i}??null)`)); let d = K(u); (r && P(a) && at(s, d, n), lt(o, n, d), (c ||= d.t)); } if (i.additionalItems === `strict` && Z(u)) { let e = V(o.g); if ((We(s, e), (o.cp += `for(${e} in ${s.v()}){if(`), t.length === 0)) o.cp += `true`; else for (let n = 0; n < t.length; n++) { let r = t[n]; (n !== 0 && (o.cp += `&&`), (o.cp += `${e}!==${a(r)}`)); } o.cp += `){${Je(s, (e) => ({ code: `unrecognized_keys`, path: o.path, reason: `Unrecognized key "${e}"`, keys: [e] }), e)}}}`; } if (c) f = In(o); else { let e = G(s, i); ((e.cp = o.cp), (e.d = o.d), (f = e)); } } return it(f, s); }, Bn = (e) => { let t = I(y, e.r === e); return ((t.properties = fe), (t.additionalItems = e), (t.decoder = zn), t); }, Vn = () => { let e = zt(0), t = {}; return ( (t[Wt] = e), { type: y, required: [Wt], properties: t, additionalItems: `strip`, decoder: zn, serializer: (e) => { let t = e.e.to; return st(e, t, t); }, } ); }, Hn = (e) => Pe(e, (e) => { ((e.to = Vn()), (e.parser = qt)); }), Un = (e, t = It()) => { let n = Ht(e); if (n.type === m) return Pn([t, Hn(e)]); if (n.type === b) { let r = n.anyOf, i = n.has; return Pe(e, (e) => { let n = r, a = { ...i }, o = []; for (let e = 0; e < n.length; e++) { let r = n[e], i, s = Ht(r); if (s.type === m) ((a[t.type] = !0), o.push(t), (i = Hn(r))); else if (s.properties !== N) { let e = s.properties[Wt]; i = e === N ? r : Pe(r, (t) => { let n = {}; ((n[Wt] = { ...e, const: e.const + 1 }), (t.properties = n)); }); } else i = r; o.push(i); } (o.length === n.length && ((a[t.type] = !0), o.push(t)), (e.anyOf = o), (e.has = a)); }); } return Pn([e, t]); }, Wn = (e) => Un(e, It()), Gn = (n, r) => { let i; if (n.d !== N) i = n.d; else { let e = Object.create(null); ((n.d = e), (i = e)); } let s = i[r]; if (s !== N) return dt(s); { let s; s = n.s.type === y ? n.s.properties[r] : n.s.items[Number(r)]; let l; if (s !== N) l = s; else { let t = n.s.additionalItems; if (Z(t)) { let r = t; n.s.type === y && r.type !== S && !e(M[r.type], k) && !he(r) ? ((l = Wn(r)), (l.perVariant = !0)) : (l = r); } else l = qe(n, n.s, n.e); } let u = o(a(r)), d = { b: N, p: n, v: Be, i: P(l) ? Ue(n, l) : `${n.v()}${u}`, s: l, io: N, e: l, prev: N, f: t, d: N, fv: N, cp: ``, hd: ``, fz: N, vc: N, u: N, t: N, path: c(n.path, u), g: n.g, o: N, }; return ((i[r] = d), d); } }, Kn = (e) => G(e, e.e, [{ c: (e) => `!Number.isNaN(${e}.getTime())`, f: z }]), qn = () => Me(_, _, (t) => { ((t.class = Date), (t.decoder = (n) => { let r = M[n.s.type]; return e(r, w) ? Kn(W(n, `new Date(${n.i})`, t)) : e(r, C) ? Kn(Jt(n)) : e(r, j) && n.s.class === t.class ? n : qe(n, n.s, n.e); }), (t.encoder = (t, n) => { let r = M[n.type]; if (e(r, w)) { let e = I(l, !1); return ((e.format = `date-time`), K(W(t, `${t.i}.toISOString()`, e, n))); } return t; })); }), Jn = (e) => Yn(e, (e) => (pe(e) ? e : N)), Yn = (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] = Yn(n[e], t); let r = n, i = I(v, !1); return ((i.items = r), (i.additionalItems = `strict`), (i.decoder = Rn), i); } { let n = Object.getPrototypeOf(e); if (n !== null && n !== Object.prototype) { let t = I(_, !0); return ((t.class = e.constructor), (t.const = e), (t.decoder = Ft), t); } { let n = e, r = Object.keys(n), i = r.length; for (let e = 0; e < i; e++) { let i = r[e]; n[i] = Yn(n[i], t); } let a = I(y, !1); return ( (a.required = r), (a.properties = n), (a.additionalItems = Te.a), (a.decoder = zn), a ); } } } return zt(e); }, Xn = (e) => Jn(e), Zn = (e, t) => { if (typeof t !== u || Number.isNaN(t)) throw new xe({ code: `invalid_operation`, path: r, reason: `[S.${e}] Expected number, received ${ge(t)}`, }); }, Qn = (e, t, n) => { Zn(`min`, t); let r = n ?? `Number must be greater than or equal to ${t}`; return Y( e, (e) => ( (e.minimum = t), (X(e).minimum = r), (e) => [{ c: (e) => `${e}>${t - 1}`, f: H(`minimum`, r) }] ), ); }, $n = (e, t, n) => { Zn(`max`, t); let r = n ?? `Number must be lower than or equal to ${t}`; return Y( e, (e) => ( (e.maximum = t), (X(e).maximum = r), (e) => [{ c: (e) => `${e}<${t + 1}`, f: H(`maximum`, r) }] ), ); }, er = (e, t, n) => { Zn(`min`, t); let r = n ?? `Number must be greater than or equal to ${t}`; return Y( e, (e) => ( (e.minimum = t), (X(e).minimum = r), (e) => [{ c: (n) => `${n}>=${B(e, t)}`, f: H(`minimum`, r) }] ), ); }, tr = (e, t, n) => { Zn(`max`, t); let r = n ?? `Number must be lower than or equal to ${t}`; return Y( e, (e) => ( (e.maximum = t), (X(e).maximum = r), (e) => [{ c: (n) => `${n}<=${B(e, t)}`, f: H(`maximum`, r) }] ), ); }, nr = (e, t, n) => { Zn(`min`, t); let r = n ?? `Array must be ${t} or more items long`; return Y( e, (e) => ( (e.minItems = t), (X(e).minItems = r), (e) => [{ c: (e) => `${e}.length>${t - 1}`, f: H(`minItems`, r) }] ), ); }, rr = (e, t, n) => { Zn(`max`, t); let r = n ?? `Array must be ${t} or fewer items long`; return Y( e, (e) => ( (e.maxItems = t), (X(e).maxItems = r), (e) => [{ c: (e) => `${e}.length<${t + 1}`, f: H(`maxItems`, r) }] ), ); }, ir = (e, t, n) => { Zn(`min`, t); let r = n ?? `String must be ${t} or more characters long`; return Y( e, (e) => ( (e.minLength = t), (X(e).minLength = r), (e) => [{ c: (e) => `${e}.length>${t - 1}`, f: H(`minLength`, r) }] ), ); }, ar = (e, t, n) => { Zn(`max`, t); let r = n ?? `String must be ${t} or fewer characters long`; return Y( e, (e) => ( (e.maxLength = t), (X(e).maxLength = r), (e) => [{ c: (e) => `${e}.length<${t + 1}`, f: H(`maxLength`, r) }] ), ); }, or = () => Me(`url`, l, (e) => { let t = (e) => { try { return (new URL(e), !0); } catch { return !1; } }; ((e.decoder = Nt), (e.format = `url`), (e.refiner = (e) => [{ c: (n) => `${B(e, t)}(${n})`, f: H(`format`) }])); }), sr, cr = (e, t, n) => { if (sr !== N) return sr(e, t, n); throw new xe({ code: `invalid_operation`, path: r, reason: `~standard.jsonSchema requires S.enableStandardJSONSchema() to be called first`, }); }; Object.defineProperty(ve, "~standard", { get: function () { let e = this, t = { version: 1, vendor: le, validate: (t) => { try { return { value: Ut(L, e)(t) }; } catch (e) { let t = Se(e); return { issues: [{ message: t.reason, path: t.path === r ? N : s(t.path) }] }; } }, jsonSchema: { input: (t) => cr(e, t, !1), output: (t) => cr(e, t, !0) }, }; return ((Ee[De] = t), Object.defineProperty(e, "~standard", Ee), t); }, }); var lr = (...e) => Ut(L, ...e), ur = (e) => Pn(e.map(Jn)), Q = (e, t, n) => { switch (e.type) { case l: return ir(e, t, n); case v: return nr(e, t, n); case u: return e.format === `int32` || e.format === `port` ? Qn(e, t, n) : er(e, t, n); default: return Ce( `S.min is not supported for ${F(e)} schema. Coerce the schema to string, number or array using S.to first.`, ); } }, $ = (e, t, n) => { switch (e.type) { case l: return ar(e, t, n); case v: return rr(e, t, n); case u: return e.format === `int32` || e.format === `port` ? $n(e, t, n) : tr(e, t, n); default: return Ce( `S.max is not supported for ${F(e)} schema. Coerce the schema to string, number or array using S.to first.`, ); } }, dr = Pt(), fr = jt(), pr = qn(); const mr = Xn({ id: fr, created: pr, title: Q($(dr, 100), 1), type: ur([`jpg`, `png`]), size: fr, url: or(), }); lr( Xn({ id: fr, created: pr, title: Q($(dr, 100), 1), brand: Q($(dr, 30), 1), description: Q($(dr, 500), 1), price: Q($(fr, 1e4), 1), discount: ur([Q($(fr, 100), 1), null]), quantity: Q($(fr, 10), 0), tags: Ln(Q($(dr, 30), 1)), images: Ln(mr), ratings: Ln( Xn({ id: fr, stars: Q($(fr, 5), 0), title: Q($(dr, 100), 1), text: Q($(dr, 1e3), 1), images: Ln(mr), }), ), }), )({});
Created by eskimojo for Open Circle

Preferences

Style
Theme
NPM browser
Code ligatures