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
decoders/Compiled (minified)Compiled (minified)
github
GitHubGitHub
DiscordDiscord
PreferencesPreferences
Created by eskimojo for Open Circle

Preferences

Style
Theme
NPM browser
Code ligatures
schemas/libraries/decoders/download_compiled/index/minified.js
code_off
View RawView Raw
Copy to clipboardCopy to clipboard
schemas/libraries/decoders/download_compiled/index/minified.js
code_off
View RawView Raw
Copy to clipboardCopy to clipboard
schemas/libraries/decoders/download_compiled/index/minified.js
code_off
View RawView Raw
Copy to clipboardCopy to clipboard
schemas/libraries/decoders/download_compiled/index/minified.js
code_off
View RawView Raw
Copy to clipboardCopy to clipboard
// @__NO_SIDE_EFFECTS__ function e(e, t) { return e === 1 ? `${e} ${t}` : `${e} ${t}s`; } // @__NO_SIDE_EFFECTS__ function t(e) { return typeof e == `number`; } // @__NO_SIDE_EFFECTS__ function n(e) { return typeof e == `string`; } // @__NO_SIDE_EFFECTS__ function r(e) { return ( !!e && Object.prototype.toString.call( e, ) === `[object Date]` && !isNaN(e) ); } // @__NO_SIDE_EFFECTS__ function i(e) { return ( typeof e == `object` && !!e && `then` in e && typeof e.then == `function` ); } // @__NO_SIDE_EFFECTS__ function a(e) { return ( typeof e == `object` && !!e && Object.prototype.toString.call( e, ) === `[object Object]` ); } var o = /* @__PURE__ */ Symbol.for( `decoders.kAnnotationRegistry`, ), s = (globalThis[o] ??= /* @__PURE__ */ new WeakSet()); function c(e) { return (s.add(e), e); } function l(e, t) { return c({ type: `object`, fields: e, text: t, }); } function u(e, t) { return c({ type: `array`, items: e, text: t, }); } function d(e, t) { return c({ type: `opaque`, value: e, text: t, }); } function ee(e, t) { return c({ type: `scalar`, value: e, text: t, }); } function f(e, t) { return t === void 0 ? e : c({ ...e, text: t }); } function p(e, t) { return l( new Map([...e.fields, ...t]), e.text, ); } function m(e) { return s.has(e); } function h(e, t, n) { n.add(e); let r = []; for (let t of e) r.push(_(t, void 0, n)); return u(r, t); } function g(e, t, n) { n.add(e); let r = /* @__PURE__ */ new Map(); for (let t of Object.keys(e)) { let i = e[t]; r.set(t, _(i, void 0, n)); } return l(r, t); } function _(e, t, n) { return e == null || typeof e == `string` || typeof e == `number` || typeof e == `boolean` || typeof e == `symbol` || typeof e == `bigint` || typeof e.getMonth == `function` ? ee(e, t) : m(e) ? f(e, t) : Array.isArray(e) ? n.has(e) ? d(`<circular ref>`, t) : h(e, t, n) : /* @__PURE__ */ a(e) ? n.has(e) ? d(`<circular ref>`, t) : g(e, t, n) : typeof e == `function` ? d(`<function>`, t) : /* @__PURE__ */ i(e) ? d(`<Promise>`, t) : e?.constructor?.name ? d( `<${e.constructor.name}>`, t, ) : d(`???`, t); } function v(e, t) { return _( e, t, /* @__PURE__ */ new WeakSet(), ); } function y(e, t) { return g( e, t, /* @__PURE__ */ new WeakSet(), ); } var b = ` `; // @__NO_SIDE_EFFECTS__ function x(e) { return e.includes(` `); } // @__NO_SIDE_EFFECTS__ function S(e, t = b) { return /* @__PURE__ */ x(e) ? e .split(` `) .map((e) => `${t}${e}`).join(` `) : `${t}${e}`; } var C = /'/g; // @__NO_SIDE_EFFECTS__ function w(e) { return typeof e == `string` ? `'` + e.replace(C, `\\'`) + `'` : e === void 0 ? `undefined` : JSON.stringify(e); } // @__NO_SIDE_EFFECTS__ function T(e, t = []) { let n = []; if (e.type === `array`) { let r = e.items, i = 0; for (let e of r) for (let r of /* @__PURE__ */ T( e, [...t, i++], )) n.push(r); } else if (e.type === `object`) { let r = e.fields; for (let [e, i] of r) for (let r of /* @__PURE__ */ T( i, [...t, e], )) n.push(r); } let r = e.text; if (!r) return n; let i; return ( (i = t.length === 0 ? `` : t.length === 1 ? typeof t[0] == `number` ? `Value at index ${t[0]}: ` : `Value at key ${/* @__PURE__ */ w(t[0])}: ` : `Value at keypath ${/* @__PURE__ */ w(t.map(String).join(`.`))}: `), [...n, `${i}${r}`] ); } function te(e, t = 80) { let n = JSON.stringify(e); if (n.length <= t) return n; let r = `${e.substring(0, t - 15)}...`; return ( (n = `${JSON.stringify(r)} [truncated]`), n ); } function ne(e, t) { let { items: n } = e; if (n.length === 0) return `[]`; let r = []; for (let e of n) { let [n, i] = O(e, `${t}${b}`); (r.push(`${t}${b}${n},`), i !== void 0 && r.push( /* @__PURE__ */ S( i, `${t}${b}`, ), )); } return [`[`, ...r, `${t}]`].join(` `); } function E(e, t) { let { fields: n } = e; if (n.size === 0) return `{}`; let r = []; for (let [e, i] of n) { let n = D(e), a = `${t}${b}${` `.repeat(n.length + 2)}`, [o, s] = O(i, `${t}${b}`); (r.push(`${t}${b}${n}: ${o},`), s !== void 0 && r.push( /* @__PURE__ */ S(s, a), )); } return [`{`, ...r, `${t}}`].join(` `); } function D(e) { return typeof e == `string` ? te(e) : typeof e == `number` || typeof e == `boolean` || typeof e == `symbol` ? e.toString() : e === null ? `null` : e === void 0 ? `undefined` : typeof e == `bigint` ? `${e.toString()}n` : /* @__PURE__ */ r(e) ? `new Date(${/* @__PURE__ */ w(e.toISOString())})` : e instanceof Date ? `(Invalid Date)` : `(unserializable)`; } function O(e, t = ``) { let n; n = e.type === `array` ? ne(e, t) : e.type === `object` ? E(e, t) : e.type === `scalar` ? D(e.value) : e.value; let r = e.text; if (r !== void 0) { let e = `^`.repeat( /* @__PURE__ */ x(n) ? 1 : n.length, ); return [ n, [e, r].join( /* @__PURE__ */ x(r) ? ` ` : ` `, ), ]; } return [n, void 0]; } function k(e) { let [t, n] = O(e); return n === void 0 ? t : `${t} ${n}`; } function* A(e, t) { switch ( (e.text && (t.length > 0 ? yield { message: e.text, path: [...t], } : yield { message: e.text }), e.type) ) { case `array`: { let n = 0; for (let r of e.items) (t.push(n++), yield* A(r, t), t.pop()); break; } case `object`: for (let [n, r] of e.fields) (t.push(n), yield* A(r, t), t.pop()); } } function j(e) { return Array.from(A(e, [])); } // @__NO_SIDE_EFFECTS__ function M(e) { return { ok: !0, value: e, error: void 0, }; } // @__NO_SIDE_EFFECTS__ function N(e) { return { ok: !1, value: void 0, error: e, }; } function re(e) { return (t) => { try { return /* @__PURE__ */ M(e(t)); } catch (e) { return /* @__PURE__ */ N( v( t, e instanceof Error ? e.message : String(e), ), ); } }; } function ie(e, t) { let n = t(e); if (typeof n == `string`) { let e = /* @__PURE__ */ Error(` ${n}`); return ( (e.name = `Decoding error`), e ); } return n; } // @__NO_SIDE_EFFECTS__ function P(e) { function t(t) { return e(t, M, (e) => /* @__PURE__ */ N( m(e) ? e : v(t, e), ), ); } function n(e, n = k) { let r = t(e); if (r.ok) return r.value; throw ie(r.error, n); } function r(e) { return t(e).value; } function i(e) { return s(re(e)); } function a(e, t) { return l((n) => (e(n) ? null : t)); } function o() { return d; } function s(e) { return /* @__PURE__ */ P( (n, r, i) => { let a = t(n); if (!a.ok) return a; let o = /* @__PURE__ */ R(e) ? e : e(a.value, r, i); return /* @__PURE__ */ R(o) ? o.decode(a.value) : o; }, ); } function c(e) { return s(e); } function l(e) { return s((t, n, r) => { let i = e(t); return i === null ? n(t) : r( typeof i == `string` ? v(t, i) : i, ); }); } function u(e) { return /* @__PURE__ */ P( (n, r, i) => { let a = t(n); return a.ok ? a : i(v(a.error, e)); }, ); } let d = L({ verify: n, value: r, decode: t, transform: i, refine: a, refineType: o, reject: l, describe: u, chain: s, pipe: c, "~standard": { version: 1, vendor: `decoders`, validate: (e) => { let n = t(e); return n.ok ? { value: n.value } : { issues: j(n.error) }; }, }, }); return d; } var F = /* @__PURE__ */ Symbol.for( `decoders.kDecoderRegistry`, ), I = (globalThis[F] ??= /* @__PURE__ */ new WeakSet()); function L(e) { return (I.add(e), e); } // @__NO_SIDE_EFFECTS__ function R(e) { return I.has(e); } var z = /* @__PURE__ */ P((e, t, n) => Array.isArray(e) ? t(e) : n(`Must be an array`), ); // @__NO_SIDE_EFFECTS__ function B(e) { let t = e.decode; return z.chain((e, n, r) => { let i = []; for (let n = 0; n < e.length; ++n) { let a = e[n], o = t(a); if (o.ok) i.push(o.value); else { i.length = 0; let t = o.error, a = e.slice(); return ( a.splice( n, 1, v( t, t.text ? `${t.text} (at index ${n})` : `index ${n}`, ), ), r(v(a)) ); } } return n(i); }); } // @__NO_SIDE_EFFECTS__ function V(t) { let n = t.size, r = n ?? t.min, i = n ?? t.max, a = r === i ? `` : `at least `, o = r === i ? `` : `at most `; return (t) => { let n = t.length ?? t.size; if (typeof t == `string`) { if (r !== void 0 && n < r) return `Too short, must be ${a}${/* @__PURE__ */ e(r, `char`)}`; if (i !== void 0 && n > i) return `Too long, must be ${o}${/* @__PURE__ */ e(i, `char`)}`; } else { if (r !== void 0 && n < r) return `Must have ${a}${/* @__PURE__ */ e(r, `item`)}`; if (i !== void 0 && n > i) return `Must have ${o}${/* @__PURE__ */ e(i, `item`)}`; } return null; }; } // @__NO_SIDE_EFFECTS__ function H(e, t) { return e.reject(/* @__PURE__ */ V(t)); } // @__NO_SIDE_EFFECTS__ function U(e, t) { let n = /* @__PURE__ */ new Set(); for (let r of e) t.has(r) || n.add(r); return n; } var W = /* @__PURE__ */ P((e, t, n) => /* @__PURE__ */ a(e) ? t(e) : n(`Must be an object`), ); // @__NO_SIDE_EFFECTS__ function G(e) { let t = new Set(Object.keys(e)); return W.chain((n, r, i) => { let a = new Set(Object.keys(n)), o = /* @__PURE__ */ U(t, a), s = {}, c = null; for (let t of Object.keys(e)) { let r = e[t], i = n[t], a = r.decode(i); if (a.ok) { let e = a.value; (e !== void 0 && (s[t] = e), o.delete(t)); } else { let e = a.error; i === void 0 ? o.add(t) : ((c ??= /* @__PURE__ */ new Map()), c.set(t, e)); } } if (c || o.size > 0) { let e = y(n); if ( (c && (e = p(e, c)), o.size > 0) ) { let t = Array.from(o) .map(w) .join(`, `), n = o.size > 1 ? `keys` : `key`; e = f(e, `Missing ${n}: ${t}`); } return i(e); } return r(s); }); } // @__NO_SIDE_EFFECTS__ function K(e) { return /* @__PURE__ */ G(e); } var q = `Either: `; function J(e) { return `-${/* @__PURE__ */ S(e).substring(1)}`; } function ae(e) { return e.startsWith(q) ? e.substring(q.length) : J(e); } // @__NO_SIDE_EFFECTS__ function oe(...e) { if (e.length === 0) throw Error( `Pass at least one decoder to either()`, ); return /* @__PURE__ */ P( (t, n, r) => { let i = []; for (let n of e) { let e = n.decode(t); if (e.ok) return e; i.push(e.error); } return r( q + i.map((e) => ae( /* @__PURE__ */ T(e) .join(` `), ), ).join(` `), ); }, ); } // @__NO_SIDE_EFFECTS__ function se(e) { return /* @__PURE__ */ P( (t, n, r) => { let i = e.indexOf(t); return i === -1 ? r( `Must be one of ${e.map((e) => /* @__PURE__ */ w(e)).join(`, `)}`, ) : n(e[i]); }, ); } function ce(e) { return typeof e == `function` ? e() : e; } var le = /* @__PURE__ */ de(null); // @__NO_SIDE_EFFECTS__ function ue(e, t) { let n = /* @__PURE__ */ oe(le, e); return arguments.length >= 2 ? n.transform((e) => e ?? ce(t)) : n; } // @__NO_SIDE_EFFECTS__ function de(e) { return /* @__PURE__ */ P((t, n, r) => t === e ? n(e) : r( `Must be ${typeof e == `symbol` ? String(e) : /* @__PURE__ */ w(e)}`, ), ); } var fe = /^[A-Za-z]{2,12}(?:[+][A-Za-z]{2,12})?:\/\/(?:[^@]*@)?[A-Za-z0-9.-]+(?::[0-9]{2,5})?(?:\/[-+~%/.,!$&'()*:;=@\w]*(?:\?[-+~%/.,!$&'()*:;=@?\w]*)?)?(?:#[^\s#]*)?$/, Y = /* @__PURE__ */ P((e, t, r) => /* @__PURE__ */ n(e) ? t(e) : r(`Must be string`), ); // @__NO_SIDE_EFFECTS__ function pe(e, t) { return Y.refine((t) => e.test(t), t); } var me = /* @__PURE__ */ pe( fe, `Must be URL`, ), X = /* @__PURE__ */ P((e, t, n) => /* @__PURE__ */ r(e) ? t(e) : n(`Must be a Date`), ), Z = /* @__PURE__ */ /* @__PURE__ */ P( (e, n, r) => /* @__PURE__ */ t(e) ? n(e) : r(`Must be number`), ).refine( (e) => Number.isFinite(e), `Number must be finite`, ); // @__NO_SIDE_EFFECTS__ function Q(e, t, n = Z) { return n.reject((n) => n < e ? `Too low, must be between ${e} and ${t}` : n > t ? `Too high, must be between ${e} and ${t}` : null, ); } // istanbul ignore else -- @preserve const $ = /* @__PURE__ */ K({ id: Z, created: X, title: /* @__PURE__ */ H(Y, { min: 1, max: 100, }), type: /* @__PURE__ */ se([ `jpg`, `png`, ]), size: Z, url: me, }); /* @__PURE__ */ K({ id: Z, created: X, title: /* @__PURE__ */ H(Y, { min: 1, max: 100, }), brand: /* @__PURE__ */ H(Y, { min: 1, max: 30, }), description: /* @__PURE__ */ H(Y, { min: 1, max: 500, }), price: /* @__PURE__ */ Q(1, 1e4), discount: /* @__PURE__ */ ue( /* @__PURE__ */ Q(1, 100), ), quantity: /* @__PURE__ */ Q(0, 10), tags: /* @__PURE__ */ B( /* @__PURE__ */ H(Y, { min: 1, max: 30, }), ), images: /* @__PURE__ */ B($), ratings: /* @__PURE__ */ B( /* @__PURE__ */ K({ id: Z, stars: /* @__PURE__ */ Q(1, 5), title: /* @__PURE__ */ H(Y, { min: 1, max: 100, }), text: /* @__PURE__ */ H(Y, { min: 1, max: 1e3, }), images: /* @__PURE__ */ B($), }), ), }).verify({});
// @__NO_SIDE_EFFECTS__ function e(e, t) { return e === 1 ? `${e} ${t}` : `${e} ${t}s`; } // @__NO_SIDE_EFFECTS__ function t(e) { return typeof e == `number`; } // @__NO_SIDE_EFFECTS__ function n(e) { return typeof e == `string`; } // @__NO_SIDE_EFFECTS__ function r(e) { return ( !!e && Object.prototype.toString.call(e) === `[object Date]` && !isNaN(e) ); } // @__NO_SIDE_EFFECTS__ function i(e) { return ( typeof e == `object` && !!e && `then` in e && typeof e.then == `function` ); } // @__NO_SIDE_EFFECTS__ function a(e) { return ( typeof e == `object` && !!e && Object.prototype.toString.call(e) === `[object Object]` ); } var o = /* @__PURE__ */ Symbol.for( `decoders.kAnnotationRegistry`, ), s = (globalThis[o] ??= /* @__PURE__ */ new WeakSet()); function c(e) { return (s.add(e), e); } function l(e, t) { return c({ type: `object`, fields: e, text: t }); } function u(e, t) { return c({ type: `array`, items: e, text: t }); } function d(e, t) { return c({ type: `opaque`, value: e, text: t }); } function ee(e, t) { return c({ type: `scalar`, value: e, text: t }); } function f(e, t) { return t === void 0 ? e : c({ ...e, text: t }); } function p(e, t) { return l(new Map([...e.fields, ...t]), e.text); } function m(e) { return s.has(e); } function h(e, t, n) { n.add(e); let r = []; for (let t of e) r.push(_(t, void 0, n)); return u(r, t); } function g(e, t, n) { n.add(e); let r = /* @__PURE__ */ new Map(); for (let t of Object.keys(e)) { let i = e[t]; r.set(t, _(i, void 0, n)); } return l(r, t); } function _(e, t, n) { return e == null || typeof e == `string` || typeof e == `number` || typeof e == `boolean` || typeof e == `symbol` || typeof e == `bigint` || typeof e.getMonth == `function` ? ee(e, t) : m(e) ? f(e, t) : Array.isArray(e) ? n.has(e) ? d(`<circular ref>`, t) : h(e, t, n) : /* @__PURE__ */ a(e) ? n.has(e) ? d(`<circular ref>`, t) : g(e, t, n) : typeof e == `function` ? d(`<function>`, t) : /* @__PURE__ */ i(e) ? d(`<Promise>`, t) : e?.constructor?.name ? d(`<${e.constructor.name}>`, t) : d(`???`, t); } function v(e, t) { return _(e, t, /* @__PURE__ */ new WeakSet()); } function y(e, t) { return g(e, t, /* @__PURE__ */ new WeakSet()); } var b = ` `; // @__NO_SIDE_EFFECTS__ function x(e) { return e.includes(` `); } // @__NO_SIDE_EFFECTS__ function S(e, t = b) { return /* @__PURE__ */ x(e) ? e .split(` `) .map((e) => `${t}${e}`).join(` `) : `${t}${e}`; } var C = /'/g; // @__NO_SIDE_EFFECTS__ function w(e) { return typeof e == `string` ? `'` + e.replace(C, `\\'`) + `'` : e === void 0 ? `undefined` : JSON.stringify(e); } // @__NO_SIDE_EFFECTS__ function T(e, t = []) { let n = []; if (e.type === `array`) { let r = e.items, i = 0; for (let e of r) for (let r of /* @__PURE__ */ T(e, [...t, i++])) n.push(r); } else if (e.type === `object`) { let r = e.fields; for (let [e, i] of r) for (let r of /* @__PURE__ */ T(i, [...t, e])) n.push(r); } let r = e.text; if (!r) return n; let i; return ( (i = t.length === 0 ? `` : t.length === 1 ? typeof t[0] == `number` ? `Value at index ${t[0]}: ` : `Value at key ${/* @__PURE__ */ w(t[0])}: ` : `Value at keypath ${/* @__PURE__ */ w(t.map(String).join(`.`))}: `), [...n, `${i}${r}`] ); } function te(e, t = 80) { let n = JSON.stringify(e); if (n.length <= t) return n; let r = `${e.substring(0, t - 15)}...`; return ((n = `${JSON.stringify(r)} [truncated]`), n); } function ne(e, t) { let { items: n } = e; if (n.length === 0) return `[]`; let r = []; for (let e of n) { let [n, i] = O(e, `${t}${b}`); (r.push(`${t}${b}${n},`), i !== void 0 && r.push(/* @__PURE__ */ S(i, `${t}${b}`))); } return [`[`, ...r, `${t}]`].join(` `); } function E(e, t) { let { fields: n } = e; if (n.size === 0) return `{}`; let r = []; for (let [e, i] of n) { let n = D(e), a = `${t}${b}${` `.repeat(n.length + 2)}`, [o, s] = O(i, `${t}${b}`); (r.push(`${t}${b}${n}: ${o},`), s !== void 0 && r.push(/* @__PURE__ */ S(s, a))); } return [`{`, ...r, `${t}}`].join(` `); } function D(e) { return typeof e == `string` ? te(e) : typeof e == `number` || typeof e == `boolean` || typeof e == `symbol` ? e.toString() : e === null ? `null` : e === void 0 ? `undefined` : typeof e == `bigint` ? `${e.toString()}n` : /* @__PURE__ */ r(e) ? `new Date(${/* @__PURE__ */ w(e.toISOString())})` : e instanceof Date ? `(Invalid Date)` : `(unserializable)`; } function O(e, t = ``) { let n; n = e.type === `array` ? ne(e, t) : e.type === `object` ? E(e, t) : e.type === `scalar` ? D(e.value) : e.value; let r = e.text; if (r !== void 0) { let e = `^`.repeat(/* @__PURE__ */ x(n) ? 1 : n.length); return [ n, [e, r].join( /* @__PURE__ */ x(r) ? ` ` : ` `, ), ]; } return [n, void 0]; } function k(e) { let [t, n] = O(e); return n === void 0 ? t : `${t} ${n}`; } function* A(e, t) { switch ( (e.text && (t.length > 0 ? yield { message: e.text, path: [...t] } : yield { message: e.text }), e.type) ) { case `array`: { let n = 0; for (let r of e.items) (t.push(n++), yield* A(r, t), t.pop()); break; } case `object`: for (let [n, r] of e.fields) (t.push(n), yield* A(r, t), t.pop()); } } function j(e) { return Array.from(A(e, [])); } // @__NO_SIDE_EFFECTS__ function M(e) { return { ok: !0, value: e, error: void 0 }; } // @__NO_SIDE_EFFECTS__ function N(e) { return { ok: !1, value: void 0, error: e }; } function re(e) { return (t) => { try { return /* @__PURE__ */ M(e(t)); } catch (e) { return /* @__PURE__ */ N( v(t, e instanceof Error ? e.message : String(e)), ); } }; } function ie(e, t) { let n = t(e); if (typeof n == `string`) { let e = /* @__PURE__ */ Error(` ${n}`); return ((e.name = `Decoding error`), e); } return n; } // @__NO_SIDE_EFFECTS__ function P(e) { function t(t) { return e(t, M, (e) => /* @__PURE__ */ N(m(e) ? e : v(t, e)), ); } function n(e, n = k) { let r = t(e); if (r.ok) return r.value; throw ie(r.error, n); } function r(e) { return t(e).value; } function i(e) { return s(re(e)); } function a(e, t) { return l((n) => (e(n) ? null : t)); } function o() { return d; } function s(e) { return /* @__PURE__ */ P((n, r, i) => { let a = t(n); if (!a.ok) return a; let o = /* @__PURE__ */ R(e) ? e : e(a.value, r, i); return /* @__PURE__ */ R(o) ? o.decode(a.value) : o; }); } function c(e) { return s(e); } function l(e) { return s((t, n, r) => { let i = e(t); return i === null ? n(t) : r(typeof i == `string` ? v(t, i) : i); }); } function u(e) { return /* @__PURE__ */ P((n, r, i) => { let a = t(n); return a.ok ? a : i(v(a.error, e)); }); } let d = L({ verify: n, value: r, decode: t, transform: i, refine: a, refineType: o, reject: l, describe: u, chain: s, pipe: c, "~standard": { version: 1, vendor: `decoders`, validate: (e) => { let n = t(e); return n.ok ? { value: n.value } : { issues: j(n.error) }; }, }, }); return d; } var F = /* @__PURE__ */ Symbol.for( `decoders.kDecoderRegistry`, ), I = (globalThis[F] ??= /* @__PURE__ */ new WeakSet()); function L(e) { return (I.add(e), e); } // @__NO_SIDE_EFFECTS__ function R(e) { return I.has(e); } var z = /* @__PURE__ */ P((e, t, n) => Array.isArray(e) ? t(e) : n(`Must be an array`), ); // @__NO_SIDE_EFFECTS__ function B(e) { let t = e.decode; return z.chain((e, n, r) => { let i = []; for (let n = 0; n < e.length; ++n) { let a = e[n], o = t(a); if (o.ok) i.push(o.value); else { i.length = 0; let t = o.error, a = e.slice(); return ( a.splice( n, 1, v( t, t.text ? `${t.text} (at index ${n})` : `index ${n}`, ), ), r(v(a)) ); } } return n(i); }); } // @__NO_SIDE_EFFECTS__ function V(t) { let n = t.size, r = n ?? t.min, i = n ?? t.max, a = r === i ? `` : `at least `, o = r === i ? `` : `at most `; return (t) => { let n = t.length ?? t.size; if (typeof t == `string`) { if (r !== void 0 && n < r) return `Too short, must be ${a}${/* @__PURE__ */ e(r, `char`)}`; if (i !== void 0 && n > i) return `Too long, must be ${o}${/* @__PURE__ */ e(i, `char`)}`; } else { if (r !== void 0 && n < r) return `Must have ${a}${/* @__PURE__ */ e(r, `item`)}`; if (i !== void 0 && n > i) return `Must have ${o}${/* @__PURE__ */ e(i, `item`)}`; } return null; }; } // @__NO_SIDE_EFFECTS__ function H(e, t) { return e.reject(/* @__PURE__ */ V(t)); } // @__NO_SIDE_EFFECTS__ function U(e, t) { let n = /* @__PURE__ */ new Set(); for (let r of e) t.has(r) || n.add(r); return n; } var W = /* @__PURE__ */ P((e, t, n) => /* @__PURE__ */ a(e) ? t(e) : n(`Must be an object`), ); // @__NO_SIDE_EFFECTS__ function G(e) { let t = new Set(Object.keys(e)); return W.chain((n, r, i) => { let a = new Set(Object.keys(n)), o = /* @__PURE__ */ U(t, a), s = {}, c = null; for (let t of Object.keys(e)) { let r = e[t], i = n[t], a = r.decode(i); if (a.ok) { let e = a.value; (e !== void 0 && (s[t] = e), o.delete(t)); } else { let e = a.error; i === void 0 ? o.add(t) : ((c ??= /* @__PURE__ */ new Map()), c.set(t, e)); } } if (c || o.size > 0) { let e = y(n); if ((c && (e = p(e, c)), o.size > 0)) { let t = Array.from(o).map(w).join(`, `), n = o.size > 1 ? `keys` : `key`; e = f(e, `Missing ${n}: ${t}`); } return i(e); } return r(s); }); } // @__NO_SIDE_EFFECTS__ function K(e) { return /* @__PURE__ */ G(e); } var q = `Either: `; function J(e) { return `-${/* @__PURE__ */ S(e).substring(1)}`; } function ae(e) { return e.startsWith(q) ? e.substring(q.length) : J(e); } // @__NO_SIDE_EFFECTS__ function oe(...e) { if (e.length === 0) throw Error(`Pass at least one decoder to either()`); return /* @__PURE__ */ P((t, n, r) => { let i = []; for (let n of e) { let e = n.decode(t); if (e.ok) return e; i.push(e.error); } return r( q + i.map((e) => ae( /* @__PURE__ */ T(e).join(` `), ), ).join(` `), ); }); } // @__NO_SIDE_EFFECTS__ function se(e) { return /* @__PURE__ */ P((t, n, r) => { let i = e.indexOf(t); return i === -1 ? r( `Must be one of ${e.map((e) => /* @__PURE__ */ w(e)).join(`, `)}`, ) : n(e[i]); }); } function ce(e) { return typeof e == `function` ? e() : e; } var le = /* @__PURE__ */ de(null); // @__NO_SIDE_EFFECTS__ function ue(e, t) { let n = /* @__PURE__ */ oe(le, e); return arguments.length >= 2 ? n.transform((e) => e ?? ce(t)) : n; } // @__NO_SIDE_EFFECTS__ function de(e) { return /* @__PURE__ */ P((t, n, r) => t === e ? n(e) : r( `Must be ${typeof e == `symbol` ? String(e) : /* @__PURE__ */ w(e)}`, ), ); } var fe = /^[A-Za-z]{2,12}(?:[+][A-Za-z]{2,12})?:\/\/(?:[^@]*@)?[A-Za-z0-9.-]+(?::[0-9]{2,5})?(?:\/[-+~%/.,!$&'()*:;=@\w]*(?:\?[-+~%/.,!$&'()*:;=@?\w]*)?)?(?:#[^\s#]*)?$/, Y = /* @__PURE__ */ P((e, t, r) => /* @__PURE__ */ n(e) ? t(e) : r(`Must be string`), ); // @__NO_SIDE_EFFECTS__ function pe(e, t) { return Y.refine((t) => e.test(t), t); } var me = /* @__PURE__ */ pe(fe, `Must be URL`), X = /* @__PURE__ */ P((e, t, n) => /* @__PURE__ */ r(e) ? t(e) : n(`Must be a Date`), ), Z = /* @__PURE__ */ /* @__PURE__ */ P((e, n, r) => /* @__PURE__ */ t(e) ? n(e) : r(`Must be number`), ).refine( (e) => Number.isFinite(e), `Number must be finite`, ); // @__NO_SIDE_EFFECTS__ function Q(e, t, n = Z) { return n.reject((n) => n < e ? `Too low, must be between ${e} and ${t}` : n > t ? `Too high, must be between ${e} and ${t}` : null, ); } // istanbul ignore else -- @preserve const $ = /* @__PURE__ */ K({ id: Z, created: X, title: /* @__PURE__ */ H(Y, { min: 1, max: 100 }), type: /* @__PURE__ */ se([`jpg`, `png`]), size: Z, url: me, }); /* @__PURE__ */ K({ id: Z, created: X, title: /* @__PURE__ */ H(Y, { min: 1, max: 100 }), brand: /* @__PURE__ */ H(Y, { min: 1, max: 30 }), description: /* @__PURE__ */ H(Y, { min: 1, max: 500 }), price: /* @__PURE__ */ Q(1, 1e4), discount: /* @__PURE__ */ ue(/* @__PURE__ */ Q(1, 100)), quantity: /* @__PURE__ */ Q(0, 10), tags: /* @__PURE__ */ B( /* @__PURE__ */ H(Y, { min: 1, max: 30 }), ), images: /* @__PURE__ */ B($), ratings: /* @__PURE__ */ B( /* @__PURE__ */ K({ id: Z, stars: /* @__PURE__ */ Q(1, 5), title: /* @__PURE__ */ H(Y, { min: 1, max: 100 }), text: /* @__PURE__ */ H(Y, { min: 1, max: 1e3 }), images: /* @__PURE__ */ B($), }), ), }).verify({});
// @__NO_SIDE_EFFECTS__ function e(e, t) { return e === 1 ? `${e} ${t}` : `${e} ${t}s`; } // @__NO_SIDE_EFFECTS__ function t(e) { return typeof e == `number`; } // @__NO_SIDE_EFFECTS__ function n(e) { return typeof e == `string`; } // @__NO_SIDE_EFFECTS__ function r(e) { return ( !!e && Object.prototype.toString.call(e) === `[object Date]` && !isNaN(e) ); } // @__NO_SIDE_EFFECTS__ function i(e) { return ( typeof e == `object` && !!e && `then` in e && typeof e.then == `function` ); } // @__NO_SIDE_EFFECTS__ function a(e) { return ( typeof e == `object` && !!e && Object.prototype.toString.call(e) === `[object Object]` ); } var o = /* @__PURE__ */ Symbol.for(`decoders.kAnnotationRegistry`), s = (globalThis[o] ??= /* @__PURE__ */ new WeakSet()); function c(e) { return (s.add(e), e); } function l(e, t) { return c({ type: `object`, fields: e, text: t }); } function u(e, t) { return c({ type: `array`, items: e, text: t }); } function d(e, t) { return c({ type: `opaque`, value: e, text: t }); } function ee(e, t) { return c({ type: `scalar`, value: e, text: t }); } function f(e, t) { return t === void 0 ? e : c({ ...e, text: t }); } function p(e, t) { return l(new Map([...e.fields, ...t]), e.text); } function m(e) { return s.has(e); } function h(e, t, n) { n.add(e); let r = []; for (let t of e) r.push(_(t, void 0, n)); return u(r, t); } function g(e, t, n) { n.add(e); let r = /* @__PURE__ */ new Map(); for (let t of Object.keys(e)) { let i = e[t]; r.set(t, _(i, void 0, n)); } return l(r, t); } function _(e, t, n) { return e == null || typeof e == `string` || typeof e == `number` || typeof e == `boolean` || typeof e == `symbol` || typeof e == `bigint` || typeof e.getMonth == `function` ? ee(e, t) : m(e) ? f(e, t) : Array.isArray(e) ? n.has(e) ? d(`<circular ref>`, t) : h(e, t, n) : /* @__PURE__ */ a(e) ? n.has(e) ? d(`<circular ref>`, t) : g(e, t, n) : typeof e == `function` ? d(`<function>`, t) : /* @__PURE__ */ i(e) ? d(`<Promise>`, t) : e?.constructor?.name ? d(`<${e.constructor.name}>`, t) : d(`???`, t); } function v(e, t) { return _(e, t, /* @__PURE__ */ new WeakSet()); } function y(e, t) { return g(e, t, /* @__PURE__ */ new WeakSet()); } var b = ` `; // @__NO_SIDE_EFFECTS__ function x(e) { return e.includes(` `); } // @__NO_SIDE_EFFECTS__ function S(e, t = b) { return /* @__PURE__ */ x(e) ? e .split(` `) .map((e) => `${t}${e}`).join(` `) : `${t}${e}`; } var C = /'/g; // @__NO_SIDE_EFFECTS__ function w(e) { return typeof e == `string` ? `'` + e.replace(C, `\\'`) + `'` : e === void 0 ? `undefined` : JSON.stringify(e); } // @__NO_SIDE_EFFECTS__ function T(e, t = []) { let n = []; if (e.type === `array`) { let r = e.items, i = 0; for (let e of r) for (let r of /* @__PURE__ */ T(e, [...t, i++])) n.push(r); } else if (e.type === `object`) { let r = e.fields; for (let [e, i] of r) for (let r of /* @__PURE__ */ T(i, [...t, e])) n.push(r); } let r = e.text; if (!r) return n; let i; return ( (i = t.length === 0 ? `` : t.length === 1 ? typeof t[0] == `number` ? `Value at index ${t[0]}: ` : `Value at key ${/* @__PURE__ */ w(t[0])}: ` : `Value at keypath ${/* @__PURE__ */ w(t.map(String).join(`.`))}: `), [...n, `${i}${r}`] ); } function te(e, t = 80) { let n = JSON.stringify(e); if (n.length <= t) return n; let r = `${e.substring(0, t - 15)}...`; return ((n = `${JSON.stringify(r)} [truncated]`), n); } function ne(e, t) { let { items: n } = e; if (n.length === 0) return `[]`; let r = []; for (let e of n) { let [n, i] = O(e, `${t}${b}`); (r.push(`${t}${b}${n},`), i !== void 0 && r.push(/* @__PURE__ */ S(i, `${t}${b}`))); } return [`[`, ...r, `${t}]`].join(` `); } function E(e, t) { let { fields: n } = e; if (n.size === 0) return `{}`; let r = []; for (let [e, i] of n) { let n = D(e), a = `${t}${b}${` `.repeat(n.length + 2)}`, [o, s] = O(i, `${t}${b}`); (r.push(`${t}${b}${n}: ${o},`), s !== void 0 && r.push(/* @__PURE__ */ S(s, a))); } return [`{`, ...r, `${t}}`].join(` `); } function D(e) { return typeof e == `string` ? te(e) : typeof e == `number` || typeof e == `boolean` || typeof e == `symbol` ? e.toString() : e === null ? `null` : e === void 0 ? `undefined` : typeof e == `bigint` ? `${e.toString()}n` : /* @__PURE__ */ r(e) ? `new Date(${/* @__PURE__ */ w(e.toISOString())})` : e instanceof Date ? `(Invalid Date)` : `(unserializable)`; } function O(e, t = ``) { let n; n = e.type === `array` ? ne(e, t) : e.type === `object` ? E(e, t) : e.type === `scalar` ? D(e.value) : e.value; let r = e.text; if (r !== void 0) { let e = `^`.repeat(/* @__PURE__ */ x(n) ? 1 : n.length); return [ n, [e, r].join( /* @__PURE__ */ x(r) ? ` ` : ` `, ), ]; } return [n, void 0]; } function k(e) { let [t, n] = O(e); return n === void 0 ? t : `${t} ${n}`; } function* A(e, t) { switch ( (e.text && (t.length > 0 ? yield { message: e.text, path: [...t] } : yield { message: e.text }), e.type) ) { case `array`: { let n = 0; for (let r of e.items) (t.push(n++), yield* A(r, t), t.pop()); break; } case `object`: for (let [n, r] of e.fields) (t.push(n), yield* A(r, t), t.pop()); } } function j(e) { return Array.from(A(e, [])); } // @__NO_SIDE_EFFECTS__ function M(e) { return { ok: !0, value: e, error: void 0 }; } // @__NO_SIDE_EFFECTS__ function N(e) { return { ok: !1, value: void 0, error: e }; } function re(e) { return (t) => { try { return /* @__PURE__ */ M(e(t)); } catch (e) { return /* @__PURE__ */ N( v(t, e instanceof Error ? e.message : String(e)), ); } }; } function ie(e, t) { let n = t(e); if (typeof n == `string`) { let e = /* @__PURE__ */ Error(` ${n}`); return ((e.name = `Decoding error`), e); } return n; } // @__NO_SIDE_EFFECTS__ function P(e) { function t(t) { return e(t, M, (e) => /* @__PURE__ */ N(m(e) ? e : v(t, e))); } function n(e, n = k) { let r = t(e); if (r.ok) return r.value; throw ie(r.error, n); } function r(e) { return t(e).value; } function i(e) { return s(re(e)); } function a(e, t) { return l((n) => (e(n) ? null : t)); } function o() { return d; } function s(e) { return /* @__PURE__ */ P((n, r, i) => { let a = t(n); if (!a.ok) return a; let o = /* @__PURE__ */ R(e) ? e : e(a.value, r, i); return /* @__PURE__ */ R(o) ? o.decode(a.value) : o; }); } function c(e) { return s(e); } function l(e) { return s((t, n, r) => { let i = e(t); return i === null ? n(t) : r(typeof i == `string` ? v(t, i) : i); }); } function u(e) { return /* @__PURE__ */ P((n, r, i) => { let a = t(n); return a.ok ? a : i(v(a.error, e)); }); } let d = L({ verify: n, value: r, decode: t, transform: i, refine: a, refineType: o, reject: l, describe: u, chain: s, pipe: c, "~standard": { version: 1, vendor: `decoders`, validate: (e) => { let n = t(e); return n.ok ? { value: n.value } : { issues: j(n.error) }; }, }, }); return d; } var F = /* @__PURE__ */ Symbol.for(`decoders.kDecoderRegistry`), I = (globalThis[F] ??= /* @__PURE__ */ new WeakSet()); function L(e) { return (I.add(e), e); } // @__NO_SIDE_EFFECTS__ function R(e) { return I.has(e); } var z = /* @__PURE__ */ P((e, t, n) => Array.isArray(e) ? t(e) : n(`Must be an array`), ); // @__NO_SIDE_EFFECTS__ function B(e) { let t = e.decode; return z.chain((e, n, r) => { let i = []; for (let n = 0; n < e.length; ++n) { let a = e[n], o = t(a); if (o.ok) i.push(o.value); else { i.length = 0; let t = o.error, a = e.slice(); return ( a.splice( n, 1, v(t, t.text ? `${t.text} (at index ${n})` : `index ${n}`), ), r(v(a)) ); } } return n(i); }); } // @__NO_SIDE_EFFECTS__ function V(t) { let n = t.size, r = n ?? t.min, i = n ?? t.max, a = r === i ? `` : `at least `, o = r === i ? `` : `at most `; return (t) => { let n = t.length ?? t.size; if (typeof t == `string`) { if (r !== void 0 && n < r) return `Too short, must be ${a}${/* @__PURE__ */ e(r, `char`)}`; if (i !== void 0 && n > i) return `Too long, must be ${o}${/* @__PURE__ */ e(i, `char`)}`; } else { if (r !== void 0 && n < r) return `Must have ${a}${/* @__PURE__ */ e(r, `item`)}`; if (i !== void 0 && n > i) return `Must have ${o}${/* @__PURE__ */ e(i, `item`)}`; } return null; }; } // @__NO_SIDE_EFFECTS__ function H(e, t) { return e.reject(/* @__PURE__ */ V(t)); } // @__NO_SIDE_EFFECTS__ function U(e, t) { let n = /* @__PURE__ */ new Set(); for (let r of e) t.has(r) || n.add(r); return n; } var W = /* @__PURE__ */ P((e, t, n) => /* @__PURE__ */ a(e) ? t(e) : n(`Must be an object`), ); // @__NO_SIDE_EFFECTS__ function G(e) { let t = new Set(Object.keys(e)); return W.chain((n, r, i) => { let a = new Set(Object.keys(n)), o = /* @__PURE__ */ U(t, a), s = {}, c = null; for (let t of Object.keys(e)) { let r = e[t], i = n[t], a = r.decode(i); if (a.ok) { let e = a.value; (e !== void 0 && (s[t] = e), o.delete(t)); } else { let e = a.error; i === void 0 ? o.add(t) : ((c ??= /* @__PURE__ */ new Map()), c.set(t, e)); } } if (c || o.size > 0) { let e = y(n); if ((c && (e = p(e, c)), o.size > 0)) { let t = Array.from(o).map(w).join(`, `), n = o.size > 1 ? `keys` : `key`; e = f(e, `Missing ${n}: ${t}`); } return i(e); } return r(s); }); } // @__NO_SIDE_EFFECTS__ function K(e) { return /* @__PURE__ */ G(e); } var q = `Either: `; function J(e) { return `-${/* @__PURE__ */ S(e).substring(1)}`; } function ae(e) { return e.startsWith(q) ? e.substring(q.length) : J(e); } // @__NO_SIDE_EFFECTS__ function oe(...e) { if (e.length === 0) throw Error(`Pass at least one decoder to either()`); return /* @__PURE__ */ P((t, n, r) => { let i = []; for (let n of e) { let e = n.decode(t); if (e.ok) return e; i.push(e.error); } return r( q + i.map((e) => ae( /* @__PURE__ */ T(e).join(` `), ), ).join(` `), ); }); } // @__NO_SIDE_EFFECTS__ function se(e) { return /* @__PURE__ */ P((t, n, r) => { let i = e.indexOf(t); return i === -1 ? r(`Must be one of ${e.map((e) => /* @__PURE__ */ w(e)).join(`, `)}`) : n(e[i]); }); } function ce(e) { return typeof e == `function` ? e() : e; } var le = /* @__PURE__ */ de(null); // @__NO_SIDE_EFFECTS__ function ue(e, t) { let n = /* @__PURE__ */ oe(le, e); return arguments.length >= 2 ? n.transform((e) => e ?? ce(t)) : n; } // @__NO_SIDE_EFFECTS__ function de(e) { return /* @__PURE__ */ P((t, n, r) => t === e ? n(e) : r(`Must be ${typeof e == `symbol` ? String(e) : /* @__PURE__ */ w(e)}`), ); } var fe = /^[A-Za-z]{2,12}(?:[+][A-Za-z]{2,12})?:\/\/(?:[^@]*@)?[A-Za-z0-9.-]+(?::[0-9]{2,5})?(?:\/[-+~%/.,!$&'()*:;=@\w]*(?:\?[-+~%/.,!$&'()*:;=@?\w]*)?)?(?:#[^\s#]*)?$/, Y = /* @__PURE__ */ P((e, t, r) => /* @__PURE__ */ n(e) ? t(e) : r(`Must be string`), ); // @__NO_SIDE_EFFECTS__ function pe(e, t) { return Y.refine((t) => e.test(t), t); } var me = /* @__PURE__ */ pe(fe, `Must be URL`), X = /* @__PURE__ */ P((e, t, n) => /* @__PURE__ */ r(e) ? t(e) : n(`Must be a Date`), ), Z = /* @__PURE__ */ /* @__PURE__ */ P((e, n, r) => /* @__PURE__ */ t(e) ? n(e) : r(`Must be number`), ).refine((e) => Number.isFinite(e), `Number must be finite`); // @__NO_SIDE_EFFECTS__ function Q(e, t, n = Z) { return n.reject((n) => n < e ? `Too low, must be between ${e} and ${t}` : n > t ? `Too high, must be between ${e} and ${t}` : null, ); } // istanbul ignore else -- @preserve const $ = /* @__PURE__ */ K({ id: Z, created: X, title: /* @__PURE__ */ H(Y, { min: 1, max: 100 }), type: /* @__PURE__ */ se([`jpg`, `png`]), size: Z, url: me, }); /* @__PURE__ */ K({ id: Z, created: X, title: /* @__PURE__ */ H(Y, { min: 1, max: 100 }), brand: /* @__PURE__ */ H(Y, { min: 1, max: 30 }), description: /* @__PURE__ */ H(Y, { min: 1, max: 500 }), price: /* @__PURE__ */ Q(1, 1e4), discount: /* @__PURE__ */ ue(/* @__PURE__ */ Q(1, 100)), quantity: /* @__PURE__ */ Q(0, 10), tags: /* @__PURE__ */ B(/* @__PURE__ */ H(Y, { min: 1, max: 30 })), images: /* @__PURE__ */ B($), ratings: /* @__PURE__ */ B( /* @__PURE__ */ K({ id: Z, stars: /* @__PURE__ */ Q(1, 5), title: /* @__PURE__ */ H(Y, { min: 1, max: 100 }), text: /* @__PURE__ */ H(Y, { min: 1, max: 1e3 }), images: /* @__PURE__ */ B($), }), ), }).verify({});
// @__NO_SIDE_EFFECTS__ function e(e, t) { return e === 1 ? `${e} ${t}` : `${e} ${t}s`; } // @__NO_SIDE_EFFECTS__ function t(e) { return typeof e == `number`; } // @__NO_SIDE_EFFECTS__ function n(e) { return typeof e == `string`; } // @__NO_SIDE_EFFECTS__ function r(e) { return !!e && Object.prototype.toString.call(e) === `[object Date]` && !isNaN(e); } // @__NO_SIDE_EFFECTS__ function i(e) { return typeof e == `object` && !!e && `then` in e && typeof e.then == `function`; } // @__NO_SIDE_EFFECTS__ function a(e) { return typeof e == `object` && !!e && Object.prototype.toString.call(e) === `[object Object]`; } var o = /* @__PURE__ */ Symbol.for(`decoders.kAnnotationRegistry`), s = (globalThis[o] ??= /* @__PURE__ */ new WeakSet()); function c(e) { return (s.add(e), e); } function l(e, t) { return c({ type: `object`, fields: e, text: t }); } function u(e, t) { return c({ type: `array`, items: e, text: t }); } function d(e, t) { return c({ type: `opaque`, value: e, text: t }); } function ee(e, t) { return c({ type: `scalar`, value: e, text: t }); } function f(e, t) { return t === void 0 ? e : c({ ...e, text: t }); } function p(e, t) { return l(new Map([...e.fields, ...t]), e.text); } function m(e) { return s.has(e); } function h(e, t, n) { n.add(e); let r = []; for (let t of e) r.push(_(t, void 0, n)); return u(r, t); } function g(e, t, n) { n.add(e); let r = /* @__PURE__ */ new Map(); for (let t of Object.keys(e)) { let i = e[t]; r.set(t, _(i, void 0, n)); } return l(r, t); } function _(e, t, n) { return e == null || typeof e == `string` || typeof e == `number` || typeof e == `boolean` || typeof e == `symbol` || typeof e == `bigint` || typeof e.getMonth == `function` ? ee(e, t) : m(e) ? f(e, t) : Array.isArray(e) ? n.has(e) ? d(`<circular ref>`, t) : h(e, t, n) : /* @__PURE__ */ a(e) ? n.has(e) ? d(`<circular ref>`, t) : g(e, t, n) : typeof e == `function` ? d(`<function>`, t) : /* @__PURE__ */ i(e) ? d(`<Promise>`, t) : e?.constructor?.name ? d(`<${e.constructor.name}>`, t) : d(`???`, t); } function v(e, t) { return _(e, t, /* @__PURE__ */ new WeakSet()); } function y(e, t) { return g(e, t, /* @__PURE__ */ new WeakSet()); } var b = ` `; // @__NO_SIDE_EFFECTS__ function x(e) { return e.includes(` `); } // @__NO_SIDE_EFFECTS__ function S(e, t = b) { return /* @__PURE__ */ x(e) ? e .split(` `) .map((e) => `${t}${e}`).join(` `) : `${t}${e}`; } var C = /'/g; // @__NO_SIDE_EFFECTS__ function w(e) { return typeof e == `string` ? `'` + e.replace(C, `\\'`) + `'` : e === void 0 ? `undefined` : JSON.stringify(e); } // @__NO_SIDE_EFFECTS__ function T(e, t = []) { let n = []; if (e.type === `array`) { let r = e.items, i = 0; for (let e of r) for (let r of /* @__PURE__ */ T(e, [...t, i++])) n.push(r); } else if (e.type === `object`) { let r = e.fields; for (let [e, i] of r) for (let r of /* @__PURE__ */ T(i, [...t, e])) n.push(r); } let r = e.text; if (!r) return n; let i; return ( (i = t.length === 0 ? `` : t.length === 1 ? typeof t[0] == `number` ? `Value at index ${t[0]}: ` : `Value at key ${/* @__PURE__ */ w(t[0])}: ` : `Value at keypath ${/* @__PURE__ */ w(t.map(String).join(`.`))}: `), [...n, `${i}${r}`] ); } function te(e, t = 80) { let n = JSON.stringify(e); if (n.length <= t) return n; let r = `${e.substring(0, t - 15)}...`; return ((n = `${JSON.stringify(r)} [truncated]`), n); } function ne(e, t) { let { items: n } = e; if (n.length === 0) return `[]`; let r = []; for (let e of n) { let [n, i] = O(e, `${t}${b}`); (r.push(`${t}${b}${n},`), i !== void 0 && r.push(/* @__PURE__ */ S(i, `${t}${b}`))); } return [`[`, ...r, `${t}]`].join(` `); } function E(e, t) { let { fields: n } = e; if (n.size === 0) return `{}`; let r = []; for (let [e, i] of n) { let n = D(e), a = `${t}${b}${` `.repeat(n.length + 2)}`, [o, s] = O(i, `${t}${b}`); (r.push(`${t}${b}${n}: ${o},`), s !== void 0 && r.push(/* @__PURE__ */ S(s, a))); } return [`{`, ...r, `${t}}`].join(` `); } function D(e) { return typeof e == `string` ? te(e) : typeof e == `number` || typeof e == `boolean` || typeof e == `symbol` ? e.toString() : e === null ? `null` : e === void 0 ? `undefined` : typeof e == `bigint` ? `${e.toString()}n` : /* @__PURE__ */ r(e) ? `new Date(${/* @__PURE__ */ w(e.toISOString())})` : e instanceof Date ? `(Invalid Date)` : `(unserializable)`; } function O(e, t = ``) { let n; n = e.type === `array` ? ne(e, t) : e.type === `object` ? E(e, t) : e.type === `scalar` ? D(e.value) : e.value; let r = e.text; if (r !== void 0) { let e = `^`.repeat(/* @__PURE__ */ x(n) ? 1 : n.length); return [ n, [e, r].join( /* @__PURE__ */ x(r) ? ` ` : ` `, ), ]; } return [n, void 0]; } function k(e) { let [t, n] = O(e); return n === void 0 ? t : `${t} ${n}`; } function* A(e, t) { switch ( (e.text && (t.length > 0 ? yield { message: e.text, path: [...t] } : yield { message: e.text }), e.type) ) { case `array`: { let n = 0; for (let r of e.items) (t.push(n++), yield* A(r, t), t.pop()); break; } case `object`: for (let [n, r] of e.fields) (t.push(n), yield* A(r, t), t.pop()); } } function j(e) { return Array.from(A(e, [])); } // @__NO_SIDE_EFFECTS__ function M(e) { return { ok: !0, value: e, error: void 0 }; } // @__NO_SIDE_EFFECTS__ function N(e) { return { ok: !1, value: void 0, error: e }; } function re(e) { return (t) => { try { return /* @__PURE__ */ M(e(t)); } catch (e) { return /* @__PURE__ */ N(v(t, e instanceof Error ? e.message : String(e))); } }; } function ie(e, t) { let n = t(e); if (typeof n == `string`) { let e = /* @__PURE__ */ Error(` ${n}`); return ((e.name = `Decoding error`), e); } return n; } // @__NO_SIDE_EFFECTS__ function P(e) { function t(t) { return e(t, M, (e) => /* @__PURE__ */ N(m(e) ? e : v(t, e))); } function n(e, n = k) { let r = t(e); if (r.ok) return r.value; throw ie(r.error, n); } function r(e) { return t(e).value; } function i(e) { return s(re(e)); } function a(e, t) { return l((n) => (e(n) ? null : t)); } function o() { return d; } function s(e) { return /* @__PURE__ */ P((n, r, i) => { let a = t(n); if (!a.ok) return a; let o = /* @__PURE__ */ R(e) ? e : e(a.value, r, i); return /* @__PURE__ */ R(o) ? o.decode(a.value) : o; }); } function c(e) { return s(e); } function l(e) { return s((t, n, r) => { let i = e(t); return i === null ? n(t) : r(typeof i == `string` ? v(t, i) : i); }); } function u(e) { return /* @__PURE__ */ P((n, r, i) => { let a = t(n); return a.ok ? a : i(v(a.error, e)); }); } let d = L({ verify: n, value: r, decode: t, transform: i, refine: a, refineType: o, reject: l, describe: u, chain: s, pipe: c, "~standard": { version: 1, vendor: `decoders`, validate: (e) => { let n = t(e); return n.ok ? { value: n.value } : { issues: j(n.error) }; }, }, }); return d; } var F = /* @__PURE__ */ Symbol.for(`decoders.kDecoderRegistry`), I = (globalThis[F] ??= /* @__PURE__ */ new WeakSet()); function L(e) { return (I.add(e), e); } // @__NO_SIDE_EFFECTS__ function R(e) { return I.has(e); } var z = /* @__PURE__ */ P((e, t, n) => (Array.isArray(e) ? t(e) : n(`Must be an array`))); // @__NO_SIDE_EFFECTS__ function B(e) { let t = e.decode; return z.chain((e, n, r) => { let i = []; for (let n = 0; n < e.length; ++n) { let a = e[n], o = t(a); if (o.ok) i.push(o.value); else { i.length = 0; let t = o.error, a = e.slice(); return (a.splice(n, 1, v(t, t.text ? `${t.text} (at index ${n})` : `index ${n}`)), r(v(a))); } } return n(i); }); } // @__NO_SIDE_EFFECTS__ function V(t) { let n = t.size, r = n ?? t.min, i = n ?? t.max, a = r === i ? `` : `at least `, o = r === i ? `` : `at most `; return (t) => { let n = t.length ?? t.size; if (typeof t == `string`) { if (r !== void 0 && n < r) return `Too short, must be ${a}${/* @__PURE__ */ e(r, `char`)}`; if (i !== void 0 && n > i) return `Too long, must be ${o}${/* @__PURE__ */ e(i, `char`)}`; } else { if (r !== void 0 && n < r) return `Must have ${a}${/* @__PURE__ */ e(r, `item`)}`; if (i !== void 0 && n > i) return `Must have ${o}${/* @__PURE__ */ e(i, `item`)}`; } return null; }; } // @__NO_SIDE_EFFECTS__ function H(e, t) { return e.reject(/* @__PURE__ */ V(t)); } // @__NO_SIDE_EFFECTS__ function U(e, t) { let n = /* @__PURE__ */ new Set(); for (let r of e) t.has(r) || n.add(r); return n; } var W = /* @__PURE__ */ P((e, t, n) => (/* @__PURE__ */ a(e) ? t(e) : n(`Must be an object`))); // @__NO_SIDE_EFFECTS__ function G(e) { let t = new Set(Object.keys(e)); return W.chain((n, r, i) => { let a = new Set(Object.keys(n)), o = /* @__PURE__ */ U(t, a), s = {}, c = null; for (let t of Object.keys(e)) { let r = e[t], i = n[t], a = r.decode(i); if (a.ok) { let e = a.value; (e !== void 0 && (s[t] = e), o.delete(t)); } else { let e = a.error; i === void 0 ? o.add(t) : ((c ??= /* @__PURE__ */ new Map()), c.set(t, e)); } } if (c || o.size > 0) { let e = y(n); if ((c && (e = p(e, c)), o.size > 0)) { let t = Array.from(o).map(w).join(`, `), n = o.size > 1 ? `keys` : `key`; e = f(e, `Missing ${n}: ${t}`); } return i(e); } return r(s); }); } // @__NO_SIDE_EFFECTS__ function K(e) { return /* @__PURE__ */ G(e); } var q = `Either: `; function J(e) { return `-${/* @__PURE__ */ S(e).substring(1)}`; } function ae(e) { return e.startsWith(q) ? e.substring(q.length) : J(e); } // @__NO_SIDE_EFFECTS__ function oe(...e) { if (e.length === 0) throw Error(`Pass at least one decoder to either()`); return /* @__PURE__ */ P((t, n, r) => { let i = []; for (let n of e) { let e = n.decode(t); if (e.ok) return e; i.push(e.error); } return r( q + i.map((e) => ae( /* @__PURE__ */ T(e).join(` `), ), ).join(` `), ); }); } // @__NO_SIDE_EFFECTS__ function se(e) { return /* @__PURE__ */ P((t, n, r) => { let i = e.indexOf(t); return i === -1 ? r(`Must be one of ${e.map((e) => /* @__PURE__ */ w(e)).join(`, `)}`) : n(e[i]); }); } function ce(e) { return typeof e == `function` ? e() : e; } var le = /* @__PURE__ */ de(null); // @__NO_SIDE_EFFECTS__ function ue(e, t) { let n = /* @__PURE__ */ oe(le, e); return arguments.length >= 2 ? n.transform((e) => e ?? ce(t)) : n; } // @__NO_SIDE_EFFECTS__ function de(e) { return /* @__PURE__ */ P((t, n, r) => t === e ? n(e) : r(`Must be ${typeof e == `symbol` ? String(e) : /* @__PURE__ */ w(e)}`), ); } var fe = /^[A-Za-z]{2,12}(?:[+][A-Za-z]{2,12})?:\/\/(?:[^@]*@)?[A-Za-z0-9.-]+(?::[0-9]{2,5})?(?:\/[-+~%/.,!$&'()*:;=@\w]*(?:\?[-+~%/.,!$&'()*:;=@?\w]*)?)?(?:#[^\s#]*)?$/, Y = /* @__PURE__ */ P((e, t, r) => (/* @__PURE__ */ n(e) ? t(e) : r(`Must be string`))); // @__NO_SIDE_EFFECTS__ function pe(e, t) { return Y.refine((t) => e.test(t), t); } var me = /* @__PURE__ */ pe(fe, `Must be URL`), X = /* @__PURE__ */ P((e, t, n) => (/* @__PURE__ */ r(e) ? t(e) : n(`Must be a Date`))), Z = /* @__PURE__ */ /* @__PURE__ */ P((e, n, r) => /* @__PURE__ */ t(e) ? n(e) : r(`Must be number`), ).refine((e) => Number.isFinite(e), `Number must be finite`); // @__NO_SIDE_EFFECTS__ function Q(e, t, n = Z) { return n.reject((n) => n < e ? `Too low, must be between ${e} and ${t}` : n > t ? `Too high, must be between ${e} and ${t}` : null, ); } // istanbul ignore else -- @preserve const $ = /* @__PURE__ */ K({ id: Z, created: X, title: /* @__PURE__ */ H(Y, { min: 1, max: 100 }), type: /* @__PURE__ */ se([`jpg`, `png`]), size: Z, url: me, }); /* @__PURE__ */ K({ id: Z, created: X, title: /* @__PURE__ */ H(Y, { min: 1, max: 100 }), brand: /* @__PURE__ */ H(Y, { min: 1, max: 30 }), description: /* @__PURE__ */ H(Y, { min: 1, max: 500 }), price: /* @__PURE__ */ Q(1, 1e4), discount: /* @__PURE__ */ ue(/* @__PURE__ */ Q(1, 100)), quantity: /* @__PURE__ */ Q(0, 10), tags: /* @__PURE__ */ B(/* @__PURE__ */ H(Y, { min: 1, max: 30 })), images: /* @__PURE__ */ B($), ratings: /* @__PURE__ */ B( /* @__PURE__ */ K({ id: Z, stars: /* @__PURE__ */ Q(1, 5), title: /* @__PURE__ */ H(Y, { min: 1, max: 100 }), text: /* @__PURE__ */ H(Y, { min: 1, max: 1e3 }), images: /* @__PURE__ */ B($), }), ), }).verify({});