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

    • article
      Blog
Code styleCode style
Normal styleNormal style
System themeSystem theme
Light themeLight theme
Dark themeDark theme
Expand sidebarExpand sidebar
sury (compile)/Compiled (minified)Compiled (minified)
Code styleCode style
Normal styleNormal style
System themeSystem theme
Light themeLight theme
Dark themeDark theme
github
GitHubGitHub
DiscordDiscord
schemas/libraries/sury/download_compiled/compile/minified.js
Copy to clipboardCopy to clipboard
function e(e){if(e===null||e.BS_PRIVATE_NESTED_SOME_NONE===void 0)return e;let t=e.BS_PRIVATE_NESTED_SOME_NONE;if(t!==0)return{BS_PRIVATE_NESTED_SOME_NONE:t-1|0}}let t={};function n(e){let n=t[e];if(n!==void 0){let r=n+1|0;return t[e]=r,e+(`/`+r)}return t[e]=1,e}let r=[];function i(e){return e.slice(0,1).toUpperCase()+e.slice(1)}let a=(e=>({...e}));function o(e){let t=0;for(;;){let n=t,r=e[n];if(r===void 0)return`"`+e+`"`;switch(r){case`"`:case` `:return JSON.stringify(e);default:t=n+1|0;continue}}}function s(e){return e===``?[]:JSON.parse(e.split(`"]["`).join(`","`))}let c=`sury`,l=Symbol(c);Symbol(c+`:item`);let u=n(`Sury.Error`),d=`const`;function f(e,t){return(e&t)!==0}let p={unknown:1,string:2,number:4,boolean:8,undefined:16,null:32,object:64,array:128,union:256,ref:512,bigint:1024,nan:2048,function:4096,instance:8192,never:16384,symbol:32768};function m(e){let t=p[typeof e];if(t&16)return`undefined`;if(!(t&64))return t&2?`"`+e+`"`:t&1024?e+`n`:e.toString();if(e===null)return`null`;if(Array.isArray(e)){let t=`[`;for(let n=0,r=e.length;n<r;++n)n!==0&&(t+=`, `),t+=m(e[n]);return t+`]`}if(e.constructor!==Object)return Object.prototype.toString.call(e);let n=Object.keys(e),r=`{ `;for(let t=0,i=n.length;t<i;++t){let i=n[t],a=e[i];r=r+i+`: `+m(a)+`; `}return r+`}`}function h(e){let t=e.type,n=e.const,r=e.name;if(r!==void 0)return r;if(n!==void 0)return m(n);let i=e.format,a=e.anyOf;if(a!==void 0)return a.map(h).join(` | `);if(i!==void 0)return i;switch(t){case`nan`:return`NaN`;case`object`:let n=e.additionalItems,r=e.properties,i=Object.keys(r);return i.length===0?typeof n==`object`?`{ [key: string]: `+h(n)+`; }`:`{}`:`{ `+i.map(e=>e+`: `+h(r[e])+`;`).join(` `)+` }`;default:if(e.b)return t;switch(t){case`instance`:return e.class.name;case`array`:let n=e.additionalItems,r=e.items;if(typeof n!=`object`)return`[`+r.map(e=>h(e.schema)).join(`, `)+`]`;let i=h(n);return(n.type===`union`?`(`+i+`)`:i)+`[]`;default:return t}}}var g=class extends Error{constructor(e,t,n){super(),this.flag=t,this.code=e,this.path=n}},_=Object.defineProperty,v=g.prototype;_(v,`message`,{get(){return C(this)}}),_(v,`reason`,{get(){return S(this)}}),_(v,`name`,{value:`SuryError`}),_(v,`s`,{value:l}),_(v,`_1`,{get(){return this}}),_(v,`RE_EXN_ID`,{value:u});var y=function(e){this.type=e},b=Object.create(null);_(b,`with`,{get(){return(e,...t)=>e(this,...t)}}),y.prototype=b;function x(e){if(e&&e.s===l)return e;throw e}function S(e,t){let n=t===void 0?0:t,r=e.code;if(typeof r!=`object`)return`Encountered unexpected async transform or refine. Use parseAsyncOrThrow operation instead`;switch(r.TAG){case`OperationFailed`:return r._0;case`InvalidOperation`:return r.description;case`InvalidType`:let e=r.unionErrors,t=`Expected `+h(r.expected)+`, received `+m(r.received);if(e!==void 0){let r=` `+` `.repeat(n<<1),i={};for(let a=0,o=e.length;a<o;++a){let o=e[a],s=S(o,n+1),c=o.path,l=`- `+(c===``?``:`At `+c+`: `)+s;i[l]||(i[l]=1,t=t+r+l)}}return t;case`UnsupportedTransformation`:return`Unsupported transformation from `+h(r.from)+` to `+h(r.to);case`ExcessField`:return`Unrecognized key "`+r._0+`"`;case`InvalidJsonSchema`:return h(r._0)+` is not valid JSON`}}function C(e){let t=e.flag,n=`Failed `;t&2&&(n+=`async `),n+=t&1?t&4?`asserting`:`parsing`:`converting`,t&8&&(n=n+` to JSON`+(t&16?` string`:``));let r=e.path,i=r===``?``:` at `+r;return n+i+`: `+S(e,void 0)}let w={m:C,d:void 0,a:`strip`,n:!1},ee={get:(t,n)=>{let r=t.as;if(r===void 0||n===`as`)return t[n];let a=e(r),o=`Schema S.`+a+` is not enabled. To start using it, add S.enable`+i(a)+`() at the project root.`;throw Error(`[Sury] `+o)}};function te(e){let t=new y(`never`);return t.as=e,new Proxy(t,ee)}let T=new y(`unknown`);new y(`boolean`),new y(`symbol`);let ne=new y(`string`),re=new y(`number`);re.format=`int32`;let ie=new y(`number`);new y(`bigint`);let E=new y(`undefined`);E.const=void 0;let D=(e=>{let t=new y(e.type);for(let n in e)(n>`a`||n===`$ref`||n===`$defs`)&&(t[n]=e[n]);return t});function O(e,t){let n=D(e),r=n;for(;r.to;){let e=D(r.to);r.to=e,r=e}return t(r),n}let ae=g;function oe(e,t,n){return new g(e,t,n)}let se={value:ae,constructor:oe};function k(e,t){let n=e.g.e,r=n.length;return n[r]=t,`e[`+r+`]`}function ce(e,t){let n=p[t.type],r=t.const;return n&16?`void 0`:n&2?o(r):n&1024?r+`n`:n&45056?k(e,t.const):r}function A(e,t){let n=`"`+t+`"`,r=e.g[n];if(r!==void 0)return r;let i=o(t);return e.g[n]=i,i}function le(e){let t=this;t.l=t.l+`,`+e}function j(e){let t=this;t.l=e,t.a=le}function ue(e,t){let n={c:``,l:``,a:j,v:-1,o:e,f:``,e:[],d:t};return n.g=n,n}function M(e){delete e.a;let t=e.l;return t===``?e.f+e.c:e.f+`let `+t+`;`+e.c}function N(e){let t=e.v+1;return e.v=t,`v`+t}function P(e){return this.i}function F(e){let t=this,n=N(e.g),r=t.i;return r===``?t.b.a(n):e.a===void 0?(e.c+=n+`=`+r+`;`,e.g.a(n)):e.a(n+`=`+r),t.v=P,t.i=n,n}function I(e,t){let n=N(e.g);return e.a(n),{b:e,v:P,i:n,f:0,type:t.type}}function L(e,t,n){return{b:e,v:F,i:t,f:0,type:n.type}}function R(e,t){return{b:e,v:F,i:ce(e,t),f:0,type:t.type,const:t.const}}function de(e,t){return{b:e,v:F,i:t,f:2,type:`unknown`}}function fe(e,t){return e+`:`+t+`,`}function pe(e,t){return t+`,`}function me(e,t){return{b:e,v:F,i:``,f:0,type:t?`array`:`object`,properties:{},additionalItems:`strict`,j:t?pe:fe,c:0,r:``}}function he(e,t,n){let r=A(e.b,t);e.properties[t]=n,n.f&2?(e.r=e.r+n.i+`,`,e.i+=e.j(r,`a[`+ e.c+++`]`)):e.i+=e.j(r,n.i)}function ge(e,t){return e.i=t?`[`+e.i+`]`:`{`+e.i+`}`,e.c&&(e.f|=2,e.i=`Promise.all([`+e.r+`]).then(a=>(`+e.i+`))`),e.additionalItems=`strict`,e}function _e(e,t,n,r){return t.v(e)+`[`+n+`]=`+r.i}function ve(e,t,n){if(t===n)return``;let r=t.v(e),i=t.f&2,a=n.f&2;if(i){if(!a)return r+`=Promise.resolve(`+n.i+`)`}else if(a)return t.f|=2,r+`=`+n.i;return r+`=`+n.i}function ye(e,t,n){let r=t.properties,i=r[n];if(i!==void 0)return i;let a=t.additionalItems,s;if(a===`strip`||a===`strict`)throw Error(`[Sury] The schema doesn't have additional items`);s=a;let c={b:e,v:F,i:t.v(e)+(`[`+o(n)+`]`),f:0,type:s.type};return r[n]=c,c}function be(e,t,n){return t.v(e)+`=`+n}function xe(e,t){return{b:t.b,v:F,i:e+`(`+t.i+`)`,f:0,type:`unknown`}}function z(e,t,n){throw new g(t,e.g.o,n)}function B(e,t,n,r){return k(e,r=>z(e,n(r),t))+`(`+r+`)`}function V(e,t,n){return k(e,()=>z(e,{TAG:`OperationFailed`,_0:t},n))+`()`}function Se(e,t,n,r,i,a){if(n===``&&r===void 0)return a(e,t,n);try{let s=(e,t)=>{e.c=t+`.path=`+o(n)+`+`+(r===void 0?``:`'["'+`+r+`+'"]'+`)+t+`.path`},c=e=>a(e,t,``),l=e.c;e.c=``;let u=N(e.g),d=s(e,u),f=`if(`+(u+`&&`+u+`.s===s`)+`){`+e.c;e.c=``;let p={c:``,l:``,a:j,f:``,g:e.g},m=c(p);e.c+=M(p);let h=m.i===t.i&&e.c===``;if(i!==void 0&&i(e,m),h)return m;let g=m.f&2,_=t===m?t:i===void 0?{b:e,v:F,i:``,f:g?2:0,type:`unknown`}:m,v=d===void 0?e=>f+`}throw `+u:t=>f+(t===1?`return `+d.i:ve(e,_,d))+(`}else{throw `+u+`}`);return e.c=l+(`try{`+e.c+(g?be(e,_,m.i+`.catch(`+u+`=>{`+v(1)+`})`):ve(e,_,m))+`}catch(`+u+`){`+v(0)+`}`),_}catch(e){let t=x(e);throw new g(t.code,t.flag,n+`[]`+t.path)}}function H(e,t,n,r){let i=r?`!==`:`===`,a=r?`||`:`&&`,o=r?`!`:``,s=n.type,c=p[s];if(c&2048)return o+(`Number.isNaN(`+t+`)`);if(d in n)return t+i+ce(e,n);if(c&4)return`typeof `+t+i+`"`+s+`"`;if(c&64)return`typeof `+t+i+`"`+s+`"`+a+o+t;if(c&128)return o+`Array.isArray(`+t+`)`;if(!(c&8192))return`typeof `+t+i+`"`+s+`"`;let l=t+` instanceof `+k(e,n.class);return r?`!(`+l+`)`:l}function U(e,t,n,r){let i=r?`!==`:`===`,a=r?`||`:`&&`,o=r?``:`!`,s=r?`>`:`<`,c=r?`<`:`>`,l=n.type,u,f=0;if(n.const!==void 0)return``;let p=n.format;if(p!==void 0)switch(p){case`int32`:return a+t+s+`2147483647`+a+t+c+`-2147483648`+a+t+`%1`+i+`0`;case`port`:case`json`:f=2;break}else f=2;if(f===2)switch(l){case`number`:return w.n?``:a+o+`Number.isNaN(`+t+`)`;case`array`:case`object`:u=l;break;default:return``}let m=n.additionalItems,h=n.items,g=h.length,_=u===`array`?m===`strip`||m===`strict`?m===`strip`?a+t+`.length`+c+g:a+t+`.length`+i+g:``:m===`strip`?``:a+o+`Array.isArray(`+t+`)`;for(let i=0,o=h.length;i<o;++i){let o=h[i],s=o.location,c=o.schema,l;if(d in c||n.unnest)l=H(e,t+(`[`+A(e,s)+`]`),c,r);else if(c.items){let n=t+(`[`+A(e,s)+`]`);l=H(e,n,c,r)+U(e,n,c,r)}else l=``;l!==``&&(_=_+a+l)}return _}function Ce(e,t,n){let r={b:e,v:t.v,i:t.i,f:t.f,type:n.type},i=(t,n)=>{d in n&&(t.const=n.const);let r=n.items;if(r===void 0)return;let a={};r.forEach(n=>{let r=n.schema,o=d in r;if(!(o||r.items))return;let s;if(o)s=ce(e,r);else{let r=A(e,n.location);s=t.v(e)+(`[`+r+`]`)}let c={b:t.b,v:F,i:s,f:0,type:r.type};i(c,r),a[n.location]=c}),t.properties=a,t.additionalItems=T};return i(r,n),r}function we(e,t,n,r){if(t.noValidation||p[t.type]&17153)return``;let i=n.v(e);return`if(`+H(e,i,t,!0)+U(e,i,t,!0)+`){`+B(e,r,e=>({TAG:`InvalidType`,expected:t,received:e}),i)+`}`}function Te(e,t,n,r){return z(e,{TAG:`UnsupportedTransformation`,from:t,to:n},r)}function Ee(e){return e}function De(e,t){e[t===`union`||t===`ref`?`unknown`:t]=!0}let Oe=te(`jsonString`);function ke(e,t){return L(e,`""+`+t.i,ne)}function W(t,n,r,i){let o={c:``,l:``,a:j,f:``,g:t.g};n.$defs&&(o.g.d=n.$defs);let s=r,c=d in s,l=d in n,u=s.type===n.type,f=p[n.type],m=p[s.type],h=!1;if(!(f&257||n.format===`json`)){if(n.name===`JSON`&&!(m&1))m&14||(m&1024?s=ke(o,s):h=!0);else if(l)if(c)s.const!==n.const&&(s=R(o,n));else if(m&2&&f&3132){let e=s.v(o);o.f=n.noValidation?``:s.i+`==="`+n.const+`"||`+B(o,i,e=>({TAG:`InvalidType`,expected:n,received:e}),e)+`;`,s=R(o,n)}else n.noValidation?s=R(o,n):(o.f=we(t,n,s,i),s.type=n.type,s.const=n.const);else if(c&&!l){if(!u)if(f&2&&m&3132){let e=``+s.const;s={b:o,v:F,i:`"`+e+`"`,f:0,type:`string`,const:e}}else h=!0}else if(m&1){let r=n.$ref;if(r!==void 0){let t=o.g.d,c=r.slice(8),l=t[c],u=n.noValidation?(o.g.o|1)^1:o.g.o,d=l[u],f;if(d!==void 0){let t=e(d);f=t===0?k(o,l)+(`[`+u+`]`):k(o,t)}else{l[u]=0;let e=je(l,u,o.g.d);l[u]=e,f=k(o,e)}s=Se(o,s,i,void 0,void 0,(e,n,r)=>{let i=xe(f,n);if(l.isAsync===void 0){let e=a(t);e[c]=T,Me(l,e)}return l.isAsync&&(i.f|=2),i}),s.v(o)}else{o.g.o&1&&(o.f=we(t,n,s,i));let e=Ce(o,s,n);s.type=e.type,s.i=e.i,s.v=e.v,s.additionalItems=e.additionalItems,s.properties=e.properties,d in e&&(s.const=e.const)}}else if(f&2&&m&1036)s=ke(o,s);else if(!u)if(m&2){let e=s.v(o);if(f&8){let t=I(o,n);o.c+=`(`+t.i+`=`+e+`==="true")||`+e+`==="false"||`+B(o,i,e=>({TAG:`InvalidType`,expected:n,received:e}),e)+`;`,s=t}else if(f&4){let t=L(o,`+`+e,n),r=t.v(o),a=n.format;o.c=o.c+(a===void 0?`Number.isNaN(`+r+`)`:`(`+U(o,r,n,!0).slice(2)+`)`)+(`&&`+B(o,i,e=>({TAG:`InvalidType`,expected:n,received:e}),e)+`;`),s=t}else if(f&1024){let t=I(o,n);o.c+=`try{`+t.i+`=BigInt(`+e+`)}catch(_){`+B(o,i,e=>({TAG:`InvalidType`,expected:n,received:e}),e)+`}`,s=t}else h=!0}else m&4&&f&1024?s=L(o,`BigInt(`+s.i+`)`,n):h=!0}h&&Te(o,s,n,i);let g=n.compiler;if(g!==void 0&&(s=g(o,s,n,i)),s.t!==!0){let e=n.refiner;e!==void 0&&(o.c+=e(o,s.v(o),n,i))}let _=n.to;if(_!==void 0){let e=n.parser;e!==void 0&&(s=e(o,s,n,i)),s.t!==!0&&(s=W(o,_,s,i))}return t.c+=M(o),s}function Ae(e){for(;;){let t=e,n=t.to;if(n===void 0)return t;e=n}}function G(e,t,n,r){let i=p[e.type];if(i&48129||i&16&&t.type!==`object`)throw new g({TAG:`InvalidJsonSchema`,_0:t},r,n);if(i&256){e.anyOf.forEach(e=>G(e,t,n,r));return}if(!(i&192))return;let a=e.additionalItems;a===`strip`||a===`strict`||G(a,t,n,r);let s=e.properties;if(s!==void 0){let e=Object.keys(s);for(let i=0,a=e.length;i<a;++i){let a=e[i];G(s[a],t,n,r)}return}e.items.forEach(t=>G(t.schema,e,n+(`[`+o(t.location)+`]`),r))}function K(e){let t,n=e;for(;n;){let e=D(n),r=e.to,i=t;i===void 0?delete e.to:e.to=i;let a=e.parser,o=e.serializer;o===void 0?delete e.parser:e.parser=o,a===void 0?delete e.serializer:e.serializer=a;let s=e.fromDefault,c=e.default;c===void 0?delete e.fromDefault:e.fromDefault=c,s===void 0?delete e.default:e.default=s;let l=e.items;if(l!==void 0){let t={},n=Array(l.length);for(let e=0,r=l.length;e<r;++e){let r=l[e],i=K(r.schema),a={schema:i,location:r.location};r.r&&(a.r=r.r),t[r.location]=i,n[e]=a}e.items=n,e.properties!==void 0&&(e.properties=t)}typeof e.additionalItems==`object`&&(e.additionalItems=K(e.additionalItems));let u=e.anyOf;if(u!==void 0){let t={},n=[];for(let e=0,r=u.length;e<r;++e){let r=u[e],i=K(r);n.push(i),De(t,i.type)}e.has=t,e.anyOf=n}let d=e.$defs;if(d!==void 0){let t={};for(let e=0,n=Object.keys(d).length;e<n;++e){let n=Object.keys(d)[e];t[n]=K(d[n])}e.$defs=t}t=e,n=r}return t}function je(e,t,n){let r=ue(t,n);if(t&8){let n=K(e);G(n,n,``,t)}let i={b:r,v:P,i:`i`,f:0,type:`unknown`},a=t&4?O(e,e=>{let t=new y(E.type);t.const=E.const,t.noValidation=!0,e.to=t}):t&16?O(e,e=>{e.to=Oe}):e,o=W(r,a,i,``),s=M(r),c=f(o.f,2);if(a.isAsync=c,s===``&&o===i&&!(t&2))return Ee;let u=o.i;t&2&&!c&&!n&&(u=`Promise.resolve(`+u+`)`);let d=`i=>{`+s+`return `+u+`}`,p=r.g.e;return Function(`e`,`s`,`return `+d)(p,l)}function Me(e,t){try{let n=ue(2,t),r=f(W(n,e,{b:n,v:P,i:`i`,f:0,type:`unknown`},``).f,2);return e.isAsync=r,r}catch(e){return x(e),!1}}function Ne(e,t){if(t in e)return e[t];let n=je(t&32?K(e):e,t,0);return e[t]=n,n}_(b,`~standard`,{get:function(){let e=this;return{version:1,vendor:c,validate:t=>{try{return{value:Ne(e,1)(t)}}catch(e){let t=x(e);return{issues:[{message:S(t,void 0),path:t.path===``?void 0:s(t.path)}]}}}}}});function Pe(e,t,n,r,i){let a=i===void 0?!0:i,o=0,s=0;switch(n){case`Output`:case`Input`:s=1;break;case`Assert`:o|=4;break;case`Json`:o|=8;break;case`JsonString`:o|=24;break}if(s===1&&n===t)throw Error(`[Sury] Can't compile operation to converting value to self`);r!==`Sync`&&(o|=2),a&&(o|=1),t===`Output`&&(o|=32);let c=Ne(e,o);if(t!==`JsonString`)return c;let l=o;return e=>{try{return c(JSON.parse(e))}catch(e){throw new g({TAG:`OperationFailed`,_0:e.message},l,``)}}}let Fe=new y(`null`);Fe.const=null;function Ie(e){if(e===null)return Fe;let t=typeof e,n;if(t===`object`){let t=new y(`instance`);t.class=e.constructor,n=t}else n=t===`undefined`?E:t===`number`&&Number.isNaN(e)?new y(`nan`):new y(t);return n.const=e,n}function Le(e,t,n){let r=D(e);return r[t]=n,r}function Re(e,t){return e===void 0?t:(n,r,i,a)=>e(n,r,i,a)+t(n,r,i,a)}function ze(e,t){return O(e,e=>{e.refiner=Re(e.refiner,t)})}function q(e,t,n,r){let i=e[t];return ze(Le(e,t,i===void 0?[n]:i.concat(n)),r)}let Be=new y(`null`);Be.const=null,Be.to=E;function Ve(e,t,n,r){return e.c=e.c+B(e,r,e=>({TAG:`InvalidType`,expected:n,received:e}),t.i)+`;`,t}let He=new y(`never`);He.compiler=Ve;function Ue(e,t,n,r,i,o){try{let s=e.g.o;i&&(e.g.o=s|1);let c={c:``,l:``,a:j,f:``,g:e.g},l=i?a(n):Ce(c,n,t),u=W(c,t,l,o);return u!==l&&(u.b=c,u.f&2&&(r.f|=2),c.c+=r.v(e)+`=`+u.i),e.g.o=s,M(c)}catch(t){return`throw `+k(e,x(t))}}function We(e,t){return e&8320&&`object`in t?!0:e&2048?`number`in t:!1}function Ge(e,t){return t.every((t,n)=>{let r=e[n];return r!==void 0&&!(p[t.type]&9152)&&t.type===r.type?t.const===r.const:!1})}function Ke(e,t,n,r){let i=n.anyOf,o=t.anyOf;if(o!==void 0)return Ge(i,o)?t:Te(e,t,n,r);let s=i=>k(e,function(){let t=arguments;return z(e,{TAG:`InvalidType`,expected:n,received:t[0],unionErrors:t.length>1?Array.from(t).slice(1):void 0},r)})+`(`+t.v(e)+i+`)`,c=e.g.o&1,l=t.i,u=-1,f=i.length-1|0,m={},h=[];for(let e=0;e<=f;++e){let r=n.to,a=r!==void 0&&!n.parser&&r.type!==`union`?O(i[e],e=>{let t=n.refiner;t!==void 0&&(e.refiner=Re(e.refiner,t)),e.to=r}):i[e],o=a.type,s=p[o];if(!(s&16&&`fromDefault`in n))if(s&17153||!(p[t.type]&1)&&t.type!==o)u=e,m={},h=[];else{let e=s&8192?a.class.name:o,t=m[e];t===void 0?(We(s,m)?h.unshift(e):h.push(e),m[e]=[a]):s&64&&`BS_PRIVATE_NESTED_SOME_NONE`in a.properties?t.unshift(a):s&2096||t.push(a)}}let g=u,_=m,v=h,y=``,b=``,x=``,S=!1;if(g!==-1){for(let n=0;n<=g;++n)if(!S){let a=i[n],o=Ue(e,a,t,t,!0,r);if(o){let e=`e`+n;y+=`try{`+o+`}catch(`+e+`){`,b=`}`+b,x=x+`,`+e}else S=!0}}if(!S){let n=!1,i=``;for(let a=0,o=v.length;a<o;++a){let o=_[v[a]],l=o.length>1,u=o[0],f=0,m;if(l){let n=t.v(e),i=``,a=``,l=!1,p={contents:``},h=``,g={},_=0,v=o.length-1|0;for(;_<=v;){let c=o[_],u=(d in c?H(e,n,c,!1):``)+U(e,n,c,!1).slice(2),f=Ue(e,c,t,t,!1,r);if(u)if(f){let e=g[u];e===void 0?g[u]=f:typeof e==`string`?g[u]=[e,f]:e.push(f)}else p.contents=p.contents?p.contents+`||`+u:u;if(!u||_===v){let e=Object.keys(g);for(let t=0,n=e.length;t<n;++t){let n=e[t];i=i+(l?`else if`:`if`)+(`(`+n+`){`);let r=g[n];if(typeof r==`string`)i=i+r+`}`;else{let e=``;for(let t=0,n=r.length;t<n;++t){let n=r[t],a=`e`+t;i+=`try{`+n+`}catch(`+a+`){`,e=e+`,`+a}i=i+s(e)+`}`.repeat(r.length)+`}`}l=!0}g={}}if(!u)if(f){p.contents&&(i=i+(l?`else if`:`if`)+(`(!(`+p.contents+`)){`),a=`}`+a,p.contents=``,l=!1);let e=`e`+_;i+=(l?`else{`:``)+`try{`+f+`}catch(`+e+`){`,a=(l?`}`:``)+`}`+a,h=h+`,`+e,l=!1}else p.contents=``,_=v;_+=1}if(f=t=>H(e,t,{type:u.type,parser:0},!1),p.contents)if(i)c&&(i=i+(l?`else if`:`if`)+(`(!(`+p.contents+`)){`+s(h)+`}`));else{let e=f;f=t=>e(t)+(`&&(`+p.contents+`)`)}else if(c&&i){let e=s(h);i+=l?`else{`+e+`}`:e}m=i+a}else f=t=>H(e,t,u,!1)+U(e,t,u,!1),m=Ue(e,u,t,t,!1,r);if(m||We(p[u.type],_))y=y+(n?`else if`:`if`)+(`(`+f(t.v(e))+`){`+m+`}`),n=!0;else if(c){let n=f(t.v(e));i=i?i+`||`+n:n}}if(c||g===f){let e=s(x),t;t=i?(n?`else if`:`if`)+(`(!(`+i+`)){`+e+`}`):n?`else{`+e+`}`:e,y+=t}}e.c=e.c+y+b;let C=t.f&2?de(e,`Promise.resolve(`+t.i+`)`):t.v===P?e.c===``&&t.b.c===``&&(t.b.l===t.i+`=`+l||l===`i`)?(t.b.l=``,t.b.a=j,t.v=F,t.i=l,t):a(t):t;C.anyOf=n.anyOf;let w=n.to;return C.type=w!==void 0&&w.type!==`union`?(C.t=!0,Ae(w).type):`union`,C}function qe(e){let t=e.length;if(t===1)return e[0];if(t!==0){let t={},n=new Set;for(let r=0,i=e.length;r<i;++r){let i=e[r];i.type===`union`&&i.to===void 0?(i.anyOf.forEach(e=>{n.add(e)}),Object.assign(t,i.has)):(n.add(i),De(t,i.type))}let r=new y(`union`);return r.anyOf=Array.from(n),r.compiler=Ke,r.has=t,r}throw Error(`[Sury] S.union requires at least one item`)}let Je=`m:Array.refinements`;function Ye(e,t,n,r){let i=n.additionalItems,a=t.v(e),o=N(e.g),s={c:``,l:``,a:j,f:``,g:e.g},c=L(s,a+`[`+o+`]`,T),l=Se(s,c,r,o,void 0,(e,t,n)=>W(e,i,t,n)),u=M(s),d=c!==l,f=d?L(e,`new Array(`+a+`.length)`,n):t;return f.type=n.type,f.additionalItems=n.additionalItems,(d||u!==``)&&(e.c+=`for(let `+o+`=0;`+o+`<`+a+`.length;++`+o+`){`+u+(d?_e(e,f,o,l):``)+`}`),l.f&2?de(f.b,`Promise.all(`+f.i+`)`):f}function Xe(e){let t=new y(`array`);return t.additionalItems=e,t.items=r,t.compiler=Ye,t}let Ze=`m:String.refinements`;te(`json`);let Qe=`m:Int.refinements`,$e=`m:Float.refinements`;function et(e){let t=new y(`instance`);return t.class=e,t}function tt(e,t,n,r,i){if(!(r.type===`object`&&r.additionalItems===`strict`&&e.g.o&1))return;let a=I(e,T).i;if(e.c+=`for(`+a+` in `+t.v(e)+`){if(`,n.length!==0)for(let t=0,r=n.length;t<r;++t){let r=n[t];t!==0&&(e.c+=`&&`),e.c+=a+`!==`+A(e,r.location)}else e.c+=`true`;e.c+=`){`+B(e,i,e=>({TAG:`ExcessField`,_0:e}),a)+`}}`}function nt(e,t,n,r){let i=n.additionalItems,a=n.items,o=p[n.type]&128;if(e.g.o&64){let n=me(e,o);for(let e=0,r=a.length;e<r;++e){let r=a[e].location;he(n,r,t.properties[r])}return ge(n,o)}let s=me(e,o);for(let n=0,i=a.length;n<i;++n){let i=a[n],o=i.location,c=ye(e,t,o),l=r+(`[`+A(e,o)+`]`);he(s,o,W(e,i.schema,c,l))}return tt(e,t,a,n,r),(i!==`strip`||e.g.o&32)&&a.every(e=>s.properties[e.location]===t.properties[e.location])?(t.additionalItems=`strip`,t):ge(s,o)}function J(e){if(typeof e!=`object`||!e)return Ie(e);if(e[`~standard`])return e;if(Array.isArray(e)){for(let t=0,n=e.length;t<n;++t)e[t]={schema:J(e[t]),location:t.toString()};let t=new y(`array`);return t.items=e,t.additionalItems=`strict`,t.compiler=nt,t}let t=e.constructor;if(t&&t!==Object)return{type:`instance`,const:e,class:t};let n=Object.keys(e),r=n.length,i=[];for(let t=0;t<r;++t){let r=n[t],a=J(e[r]),o={schema:a,location:r};e[r]=a,i[t]=o}let a=new y(`object`);return a.items=i,a.properties=e,a.additionalItems=w.a,a.compiler=nt,a}let rt=J;function it(e,t,n){let r=n===void 0?`Number must be greater than or equal to `+t:n;return q(e,Qe,{kind:{TAG:`Min`,value:t},message:r},(e,n,i,a)=>`if(`+n+`<`+k(e,t)+`){`+V(e,r,a)+`}`)}function at(e,t,n){let r=n===void 0?`Number must be lower than or equal to `+t:n;return q(e,Qe,{kind:{TAG:`Max`,value:t},message:r},(e,n,i,a)=>`if(`+n+`>`+k(e,t)+`){`+V(e,r,a)+`}`)}function ot(e,t,n){let r=n===void 0?`Number must be greater than or equal to `+t:n;return q(e,$e,{kind:{TAG:`Min`,value:t},message:r},(e,n,i,a)=>`if(`+n+`<`+k(e,t)+`){`+V(e,r,a)+`}`)}function st(e,t,n){let r=n===void 0?`Number must be lower than or equal to `+t:n;return q(e,$e,{kind:{TAG:`Max`,value:t},message:r},(e,n,i,a)=>`if(`+n+`>`+k(e,t)+`){`+V(e,r,a)+`}`)}function ct(e,t,n){let r=n===void 0?`Array must be `+t+` or more items long`:n;return q(e,Je,{kind:{TAG:`Min`,length:t},message:r},(e,n,i,a)=>`if(`+n+`.length<`+k(e,t)+`){`+V(e,r,a)+`}`)}function lt(e,t,n){let r=n===void 0?`Array must be `+t+` or fewer items long`:n;return q(e,Je,{kind:{TAG:`Max`,length:t},message:r},(e,n,i,a)=>`if(`+n+`.length>`+k(e,t)+`){`+V(e,r,a)+`}`)}function ut(e,t,n){let r=n===void 0?`String must be `+t+` or more characters long`:n;return q(e,Ze,{kind:{TAG:`Min`,length:t},message:r},(e,n,i,a)=>`if(`+n+`.length<`+k(e,t)+`){`+V(e,r,a)+`}`)}function dt(e,t,n){let r=n===void 0?`String must be `+t+` or fewer characters long`:n;return q(e,Ze,{kind:{TAG:`Max`,length:t},message:r},(e,n,i,a)=>`if(`+n+`.length>`+k(e,t)+`){`+V(e,r,a)+`}`)}function ft(e,t){let n=t===void 0?`Invalid url`:t;return q(e,Ze,{kind:`Url`,message:n},(e,t,r,i)=>`try{new URL(`+t+`)}catch(_){`+V(e,n,i)+`}`)}function pt(e){return qe(e.map(J))}function mt(e,t,n){switch(e.type){case`string`:return ut(e,t,n);case`number`:return e.format===void 0?ot(e,t,n):it(e,t,n);case`array`:return ct(e,t,n);default:let r=`S.min is not supported for `+h(e)+` schema. Coerce the schema to string, number or array using S.to first.`;throw Error(`[Sury] `+r)}}function ht(e,t,n){switch(e.type){case`string`:return dt(e,t,n);case`number`:return e.format===void 0?st(e,t,n):at(e,t,n);case`array`:return lt(e,t,n);default:let r=`S.max is not supported for `+h(e)+` schema. Coerce the schema to string, number or array using S.to first.`;throw Error(`[Sury] `+r)}}let gt=Xe;se.value;var Y=ne,X=ie,Z=gt,_t=et,vt=pt,yt=rt,bt=Pe,Q=mt,$=ht,xt=ft;const St=yt({id:X,created:_t(Date),title:Q($(Y,100),1),type:vt([`jpg`,`png`]),size:X,url:xt(Y)}),Ct=yt({id:X,stars:Q($(X,5),0),title:Q($(Y,100),1),text:Q($(Y,1e3),1),images:Z(St)});bt(yt({id:X,created:_t(Date),title:Q($(Y,100),1),brand:Q($(Y,30),1),description:Q($(Y,500),1),price:Q($(X,1e4),1),discount:vt([Q($(X,100),1),null]),quantity:Q($(X,10),0),tags:Z(Q($(Y,30),1)),images:Z(St),ratings:Z(Ct)}),`Any`,`Output`,`Sync`)({});
Created by eskimojo for Open Circle