LogoLogo

Schema Benchmarks

    • home
      Home

    • download_2
      Download

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

    • error
      Stack

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

Preferences

Style
Theme
NPM browser
Code ligatures