tinybase 9.4.0 → 9.5.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/_internal/store/with-schemas/index.d.ts +43 -8
- package/@types/mergeable-store/with-schemas/index.d.ts +30 -11
- package/@types/queries/index.d.ts +11 -11
- package/@types/queries/with-schemas/index.d.ts +17 -3
- package/@types/schematizers/index.d.ts +6 -4
- package/@types/schematizers/schematizer-arktype/index.d.ts +6 -6
- package/@types/schematizers/schematizer-arktype/with-schemas/index.d.ts +112 -1
- package/@types/schematizers/schematizer-effect/index.d.ts +9 -11
- package/@types/schematizers/schematizer-effect/with-schemas/index.d.ts +114 -1
- package/@types/schematizers/schematizer-typebox/index.d.ts +7 -7
- package/@types/schematizers/schematizer-typebox/with-schemas/index.d.ts +114 -1
- package/@types/schematizers/schematizer-valibot/index.d.ts +6 -6
- package/@types/schematizers/schematizer-valibot/with-schemas/index.d.ts +112 -1
- package/@types/schematizers/schematizer-yup/index.d.ts +5 -4
- package/@types/schematizers/schematizer-yup/with-schemas/index.d.ts +112 -1
- package/@types/schematizers/schematizer-zod/index.d.ts +6 -6
- package/@types/schematizers/schematizer-zod/with-schemas/index.d.ts +112 -1
- package/@types/schematizers/with-schemas/index.d.ts +113 -4
- package/@types/store/index.d.ts +175 -16
- package/@types/store/with-schemas/index.d.ts +238 -55
- package/@types/synchronizers/with-schemas/index.d.ts +12 -2
- package/@types/ui-react/with-schemas/index.d.ts +576 -7
- package/@types/ui-react-dom/index.d.ts +10 -10
- package/@types/ui-react-dom/with-schemas/index.d.ts +94 -10
- package/@types/ui-react-dom-charts/index.d.ts +7 -7
- package/@types/ui-react-dom-charts/with-schemas/index.d.ts +7 -7
- package/@types/ui-react-inspector/index.d.ts +1 -1
- package/@types/ui-react-inspector/with-schemas/index.d.ts +1 -1
- package/@types/ui-solid/with-schemas/index.d.ts +340 -7
- package/@types/ui-solid-dom/index.d.ts +10 -10
- package/@types/ui-solid-dom/with-schemas/index.d.ts +94 -10
- package/@types/ui-solid-inspector/index.d.ts +1 -1
- package/@types/ui-solid-inspector/with-schemas/index.d.ts +1 -1
- package/@types/ui-svelte/with-schemas/index.d.ts +30 -0
- package/@types/ui-svelte-dom/index.d.ts +10 -10
- package/@types/ui-svelte-dom/with-schemas/index.d.ts +94 -10
- package/@types/ui-svelte-inspector/index.d.ts +1 -1
- package/@types/ui-svelte-inspector/with-schemas/index.d.ts +1 -1
- package/agents.md +4 -0
- package/index.js +76 -22
- package/mergeable-store/index.js +76 -22
- package/mergeable-store/with-schemas/index.js +76 -22
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/mergeable-store/index.js +1 -1
- package/min/mergeable-store/index.js.gz +0 -0
- package/min/mergeable-store/with-schemas/index.js +1 -1
- package/min/mergeable-store/with-schemas/index.js.gz +0 -0
- package/min/omni/index.js +1 -1
- package/min/omni/index.js.gz +0 -0
- package/min/omni/with-schemas/index.js +1 -1
- package/min/omni/with-schemas/index.js.gz +0 -0
- package/min/schematizers/index.js +1 -1
- package/min/schematizers/index.js.gz +0 -0
- package/min/schematizers/schematizer-arktype/index.js +1 -1
- package/min/schematizers/schematizer-arktype/index.js.gz +0 -0
- package/min/schematizers/schematizer-arktype/with-schemas/index.js +1 -1
- package/min/schematizers/schematizer-arktype/with-schemas/index.js.gz +0 -0
- package/min/schematizers/schematizer-effect/index.js +1 -1
- package/min/schematizers/schematizer-effect/index.js.gz +0 -0
- package/min/schematizers/schematizer-effect/with-schemas/index.js +1 -1
- package/min/schematizers/schematizer-effect/with-schemas/index.js.gz +0 -0
- package/min/schematizers/schematizer-typebox/index.js +1 -1
- package/min/schematizers/schematizer-typebox/index.js.gz +0 -0
- package/min/schematizers/schematizer-typebox/with-schemas/index.js +1 -1
- package/min/schematizers/schematizer-typebox/with-schemas/index.js.gz +0 -0
- package/min/schematizers/schematizer-valibot/index.js +1 -1
- package/min/schematizers/schematizer-valibot/index.js.gz +0 -0
- package/min/schematizers/schematizer-valibot/with-schemas/index.js +1 -1
- package/min/schematizers/schematizer-valibot/with-schemas/index.js.gz +0 -0
- package/min/schematizers/schematizer-yup/index.js +1 -1
- package/min/schematizers/schematizer-yup/index.js.gz +0 -0
- package/min/schematizers/schematizer-yup/with-schemas/index.js +1 -1
- package/min/schematizers/schematizer-yup/with-schemas/index.js.gz +0 -0
- package/min/schematizers/schematizer-zod/index.js +1 -1
- package/min/schematizers/schematizer-zod/index.js.gz +0 -0
- package/min/schematizers/schematizer-zod/with-schemas/index.js +1 -1
- package/min/schematizers/schematizer-zod/with-schemas/index.js.gz +0 -0
- package/min/schematizers/with-schemas/index.js +1 -1
- package/min/schematizers/with-schemas/index.js.gz +0 -0
- package/min/store/index.js +1 -1
- package/min/store/index.js.gz +0 -0
- package/min/store/with-schemas/index.js +1 -1
- package/min/store/with-schemas/index.js.gz +0 -0
- package/min/ui-react-inspector/index.js +1 -1
- package/min/ui-react-inspector/index.js.gz +0 -0
- package/min/ui-react-inspector/with-schemas/index.js +1 -1
- package/min/ui-react-inspector/with-schemas/index.js.gz +0 -0
- package/min/ui-solid-inspector/index.js +1 -1
- package/min/ui-solid-inspector/index.js.gz +0 -0
- package/min/ui-solid-inspector/with-schemas/index.js +1 -1
- package/min/ui-solid-inspector/with-schemas/index.js.gz +0 -0
- package/min/ui-svelte-inspector/index.js +1 -1
- package/min/ui-svelte-inspector/index.js.gz +0 -0
- package/min/ui-svelte-inspector/with-schemas/index.js +1 -1
- package/min/ui-svelte-inspector/with-schemas/index.js.gz +0 -0
- package/min/with-schemas/index.js +1 -1
- package/min/with-schemas/index.js.gz +0 -0
- package/omni/index.js +76 -22
- package/omni/with-schemas/index.js +76 -22
- package/package.json +2 -2
- package/readme.md +14 -14
- package/releases.md +95 -65
- package/schematizers/index.js +54 -6
- package/schematizers/schematizer-arktype/index.js +99 -19
- package/schematizers/schematizer-arktype/with-schemas/index.js +99 -19
- package/schematizers/schematizer-effect/index.js +101 -11
- package/schematizers/schematizer-effect/with-schemas/index.js +101 -11
- package/schematizers/schematizer-typebox/index.js +87 -11
- package/schematizers/schematizer-typebox/with-schemas/index.js +87 -11
- package/schematizers/schematizer-valibot/index.js +125 -21
- package/schematizers/schematizer-valibot/with-schemas/index.js +125 -21
- package/schematizers/schematizer-yup/index.js +58 -14
- package/schematizers/schematizer-yup/with-schemas/index.js +58 -14
- package/schematizers/schematizer-zod/index.js +131 -12
- package/schematizers/schematizer-zod/with-schemas/index.js +131 -12
- package/schematizers/with-schemas/index.js +54 -6
- package/store/index.js +76 -22
- package/store/with-schemas/index.js +76 -22
- package/ui-react-inspector/index.js +76 -22
- package/ui-react-inspector/with-schemas/index.js +76 -22
- package/ui-solid-inspector/index.js +76 -22
- package/ui-solid-inspector/with-schemas/index.js +76 -22
- package/ui-svelte-inspector/index.js +76 -22
- package/ui-svelte-inspector/with-schemas/index.js +76 -22
- package/with-schemas/index.js +76 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",n=e(t),s=e(!0),r=e(0),o=e(e),l="object",a="array",i="type",d="default",c="allowNull",u="Listener",g="Result",h="add",f="Has",b="Ids",w="Table",C=w+"s",v=w+b,I="Row",L=I+"Count",R=I+b,T="Sorted"+I+b,p="Cell",S=p+b,y="Value",V=y+"s",m=y+b,k="required",M=e=>t+e,D=(e,t)=>e.startsWith(t),E=(e,t)=>e.endsWith(t),W=Math,_=e=>(t,n,s)=>e(t)?s?.():n(t),H=globalThis,x=W.max,J=W.min,P=W.floor,F=W.random,O=1/0,A=isFinite,Q=e=>null==e,z=e=>void 0===e,N=e=>null===e,j=e=>!0===e,q=_(Q),B=_(z),U=e=>e==n||e==s,Z=t=>e(t)==n,$=t=>e(t)==o,G=e=>Array.isArray(e),K=(e,t,n)=>e.slice(t,n),X=e=>e.length,Y=e=>0==X(e),ee=(e,t)=>e.test(t),te=()=>{},ne=e=>e,se=H.structuredClone,re=(e,t)=>e.includes(t),oe=(e,t)=>e.every(t),le=(e,t)=>X(e)===X(t)&&oe(e,(e,n)=>t[n]===e),ae=(e,t)=>oe(e,(n,s)=>0==s||t(e[s-1],n)<=0),ie=(e,t)=>e.sort(t),de=(e,t)=>e.forEach(t),ce=(e,t)=>e.map(t),ue=e=>ge(e,(e,t)=>e+t,0),ge=(e,t,n)=>e.reduce(t,n),he=(e,t=X(e))=>e.splice(0,t),fe=(e,...t)=>e.push(...t),be=e=>e.pop(),we=e=>e.shift(),Ce=Object,ve=e=>Ce.getPrototypeOf(e),Ie=Ce.isFrozen,Le=Ce.entries,Re=e=>!Q(e)&&q(ve(e),e=>e==Ce.prototype||Q(ve(e)),()=>!0),Te=Ce.keys,pe=Ce.freeze,Se=(e,t)=>Ce.hasOwn(e,t),ye=(e,t)=>B(e,e=>B(Ce.getOwnPropertyDescriptor(e,t),()=>e[t])),Ve=(e,t,n)=>(Ce.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}),n),me=(e=[])=>{const t=Ce.create(null);return de(e,([e,n])=>Ve(t,e,n)),t},ke=(e,t)=>(delete e[t],e),Me=(e,t)=>de(Te(e),n=>t(e[n],n)),De=(e,t)=>{for(const n in e)if(Se(e,n)&&!t(e[n],n))return!1;return!0},Ee=(e,t)=>{const n=me();return Me(e,(e,s)=>Ve(n,s,t(e,s))),n},We=(e,t)=>Ee(e,e=>Ee(e,t)),_e=(e,t)=>Ee(e,e=>We(e,t)),He=e=>X(Te(e)),xe=e=>Re(e)&&0==He(e),Je=(e,t,n=(e,t)=>e===t)=>He(e)===He(t)&&De(e,(e,s)=>!!Se(t,s)&&(Re(e)?!!Re(t[s])&&Je(t[s],e,n):n(e,t[s]))),Pe=(e,t,n)=>(Se(e,t)||Ve(e,t,n()),e[t]),Fe=(e,t,n)=>Q(e)||!Re(e)||xe(e)||Ie(e)?(n?.(),!1):(Me(e,(n,s)=>{t(n,s)||ke(e,s)}),!xe(e)),Oe=JSON.stringify,Ae=JSON.parse,Qe=e=>Oe(e,(e,t)=>t instanceof Map?me([...t]):t),ze=t=>{if(N(t))return"null";if(G(t))return a;if(Re(t))return l;const n=e(t);return U(n)||n==r&&A(t)?n:void 0},Ne=e=>e==l||e==a,je=e=>Re(e)||G(e)?"�"+Oe(e):e,qe=e=>Z(e)&&"�"==e[0],Be=(e,t=0)=>""===e||!t&&qe(e),Ue=(e,t,n)=>!n&&qe(e)?Ae(K(e,1)):e,Ze=e=>t=>{let n=0;for(const s of t.values())n+=e(s);return n},$e=e=>e?.size??0,Ge=Ze($e),Ke=Ze(Ge),Xe=Ze(Ke),Ye=(e,t)=>e?.has(t)??!1,et=e=>z(e)||0==$e(e),tt=e=>[...e?.values()??[]],nt=(e,t)=>{for(const[n,s]of e?.entries()??[])if(!t(s,n))return!1;return!0},st=e=>e.clear(),rt=(e,t)=>e?.forEach(t),ot=(e,t)=>e?.delete(t),lt=(e,n)=>{throw((e,n)=>Error("tinybase:"+e+(z(n)?t:":"+n)))(e,n)},at=(e,t)=>{try{return e()}catch{return t}},it=(e,t)=>{try{return e()}catch(e){t?.(e)}},dt=(e,t)=>{try{return e()}finally{t()}},ct=Map,ut=e=>new ct(e),gt=e=>[...e?.keys()??[]],ht=(e,t)=>e?.get(t),ft=(e,t)=>rt(e,(e,n)=>t(n,e)),bt=(e,t,n)=>z(n)?(ot(e,t),e):e?.set(t,n),wt=(e,t,n,s)=>{let r=ht(e,t);return Ye(e,t)?s?.(r):bt(e,t,r=n()),r},Ct=(e,t,n,s=bt)=>(Me(t,(t,s)=>n(e,s,t)),ft(e,n=>Se(t,n)?0:s(e,n)),e),vt=(e,t,n,s)=>{const r=me();return rt(e,(e,o)=>{if(!n?.(e,o)){const n=t?t(e,o):e;s?.(n)||Ve(r,o,n)}}),r},It=(e,t,n)=>vt(e,e=>vt(e,t,n),et,xe),Lt=(e,t,n)=>vt(e,e=>It(e,t,n),et,xe),Rt=(e,t)=>{const n=ut();return rt(e,(e,s)=>n.set(s,t?.(e)??e)),n},Tt=e=>Rt(e,Rt),pt=e=>Rt(e,Tt),St=(e,t,n,s,r=0)=>B((n?wt:ht)(e,t[r],r>X(t)-2?n:ut),o=>{if(r>X(t)-2)return s?.(o)&&bt(e,t[r]),o;const l=St(o,t,n,s,r+1);return et(o)&&bt(e,t[r]),l}),yt=e=>new Set(G(e)||z(e)?e:[e]),Vt=(e,t)=>e?.add(t),mt=(e,t,n,s,r)=>{const o=e.hasRow,l=ut(),a=ut(),i=ut(),d=ut(),c=ut(),u=ut(),g=t=>B(ht(u,t),n=>{rt(n,t=>{e.delListener(t),ot(n,t)}),bt(u,t)}),h=(e,n)=>{bt(l,e,n),Ye(a,e)||(bt(a,e,t()),bt(d,e,ut()),bt(c,e,ut()),it(()=>r(i),t=>{throw bt(l,e),bt(a,e),bt(d,e),bt(c,e),t}))},f=e=>{bt(l,e),bt(a,e),bt(d,e),bt(c,e),g(e),r(i)};return[()=>e,()=>gt(l),e=>ft(a,e),e=>Ye(a,e),e=>ht(l,e),e=>ht(a,e),(e,t)=>bt(a,e,t),h,(t,s,r,l,a)=>{h(t,s);const i=ut(),f=ut(),b=ht(d,t),w=ht(c,t),C=t=>{const r=n=>e.getCell(s,t,n),d=ht(b,t),c=o(s,t)?n(l(r,t)):void 0;if(d===c||G(d)&&G(c)&&le(d,c)||bt(i,t,[d,c]),!z(a)){const e=ht(w,t),n=o(s,t)?a(r,t):void 0;(u=e)===(g=n)||(Re(u)||G(u))&&Oe(u)===Oe(g)||bt(f,t,n)}var u,g},v=e=>{r(()=>{rt(i,([,e],t)=>bt(b,t,e)),rt(f,(e,t)=>bt(w,t,e))},i,f,b,w,e),st(i),st(f)};ft(b,C),e.hasTable(s)&&de(e.getRowIds(s),e=>{Ye(b,e)||C(e)}),v(!0),g(t),((e,...t)=>{const n=wt(u,e,yt);de(t,e=>Vt(n,e))})(t,e.addRowListener(s,null,(e,t,n)=>C(n)),e.addTableListener(s,()=>v()))},f,e=>s(e,i),()=>ft(u,f)]},kt=(e,n)=>Z(e)?t=>t(e):e??(()=>n??t),Mt=(e,t)=>{const n=new WeakMap;return s=>{if(!n.has(s)){const t=e(s,()=>n.get(s)===t&&(n.delete(s),!0));n.set(s,t)}const r=n.get(s);return t?.(r),r}},Dt=/^\d+$/,Et=()=>{const e=[];let n=0;return[s=>(s?we(e):null)??t+n++,t=>{ee(Dt,t)&&X(e)<1e3&&fe(e,t)}]},Wt=e=>{let n;const[s,r]=Et(),o=ut(),l=(e,s,r,l)=>{let a,i=!1;if(de(((e,n=[t])=>{const s=[],r=(e,t)=>t==X(n)?fe(s,e):N(n[t])?rt(e,e=>r(e,t+1)):de([n[t],null],n=>r(ht(e,n),t+1));return r(e,0),s})(s,r),t=>rt(t,t=>{const s=()=>ht(o,t)[0](n,...r??[],...l);e?it(s,e=>{i||(a=e),i=!0}):s()})),i)throw a};return[(r,l,a,i=[],d=()=>[])=>{n??=e();const c=s(1);return bt(o,c,[r,l,a,i,d]),Vt(St(l,a??[t],yt),c),c},(e,t,...n)=>l(!1,e,t,n),e=>B(ht(o,e),([,n,s])=>(St(n,s??[t],void 0,t=>(ot(t,e),et(t)?1:0)),bt(o,e),r(e),s)),e=>B(ht(o,e),([e,,t=[],s,r])=>{const o=(...l)=>{const a=X(l);a==X(t)?e(n,...l,...r(l)):N(t[a])?de(s[a]?.(...l)??[],e=>o(...l,e)):o(...l,t[a])};o()}),(e,t,...n)=>l(!0,e,t,n)]},_t=(e,t)=>e===t||!z(e)&&!z(t)&&je(e)===je(t),Ht=Mt(e=>{let n,s,r,o=100,l=ut(),a=ut(),i=1,d=0;const c=ut(),u=ut(),[g,h,f]=Wt(()=>H),b=ut(),w=ut(),C=[],v=[],I=(t,n)=>{i=0,dt(()=>e.transaction(()=>{const[s,r]=ht(b,n);rt(s,(n,s)=>rt(n,(n,r)=>rt(n,(n,o)=>e._[5](s,r,o,n[t],!0)))),rt(r,(n,s)=>e._[6](s,n[t],!0))}),()=>i=1)},L=e=>{bt(b,e),bt(w,e),h(u,[e])},R=(e,t)=>de(he(e,t??X(e)),L),T=()=>R(C,X(C)-o),p=()=>B(n,()=>{fe(C,n),T(),R(v),n=void 0,r=1}),S=()=>{n=be(C),r=1};let y,V;const m=(e=t)=>(z(n)&&(n=t+s++,bt(b,n,[l,a]),W(n,e),l=ut(),a=ut(),r=1),n),k=()=>{Y(C)||(((e,...t)=>{e.unshift(...t)})(v,m()),I(0,n),n=be(C),r=1)},M=()=>{Y(v)||(fe(C,n),n=we(v),I(1,n),r=1)},D=()=>{r&&(h(c),r=0)},E=e=>{const t=m(e);return D(),t},W=(e,t)=>(_(e)&&ht(w,e)!==t&&(bt(w,e,t),h(u,[e])),H),_=e=>Ye(b,e),H={setSize:e=>(o=e,T(),H),addCheckpoint:E,setCheckpoint:W,getStore:()=>e,getCheckpointIds:()=>[[...C],n,[...v]],forEachCheckpoint:e=>ft(w,e),hasCheckpoint:_,getCheckpoint:e=>ht(w,e),goBackward:()=>(k(),D(),H),goForward:()=>(M(),D(),H),goTo:e=>{const t=re(C,e)?k:re(v,e)?M:void 0;for(;!z(t)&&e!=n;)t();return D(),H},addCheckpointIdsListener:e=>g(e,c),addCheckpointListener:(e,t)=>g(t,u,[e]),delListener:e=>(f(e),H),clear:()=>(R(C),R(v),z(n)||L(n),n=void 0,s=0,E(),H),clearForward:()=>(Y(v)||(R(v),h(c)),H),destroy:()=>{d&&(d=0,e.delListener(y),e.delListener(V))},getListenerStats:()=>({checkpointIds:Ge(c),checkpoint:Ge(u)}),_registerListeners:()=>{d||(d=1,y=e.addCellListener(null,null,null,(e,t,n,s,r,o)=>{if(i){p();const e=wt(l,t,ut),a=wt(e,n,ut),i=wt(a,s,()=>[o,void 0]);i[1]=r,_t(i[0],r)&&et(bt(a,s))&&et(bt(e,n))&&et(bt(l,t))&&S(),D()}}),V=e.addValueListener(null,(e,t,n,s)=>{if(i){p();const e=wt(a,t,()=>[s,void 0]);e[1]=n,_t(e[0],n)&&et(bt(a,t))&&S(),D()}}))}};return pe(H.clear())},e=>e._registerListeners()),xt=((e,n=t)=>"-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(n,void 0))(),Jt=ut(ce(xt,(e,t)=>[e,t])),Pt=e=>xt[63&e],Ft=(e,t)=>ht(Jt,e[t])??0,Ot=H.crypto?e=>H.crypto.getRandomValues(e):e=>ce(e,()=>P(256*F())),At=(e=16)=>ge(Ot(new Uint8Array(e)),(e,t)=>e+Pt(t),t),Qt=new H.TextEncoder,zt=e=>{let t=2166136261;return de(Qt.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},Nt=(e,t)=>(e^t)>>>0,jt=e=>ge(Le(e),(e,[t,n])=>Nt(e,qt(t,n)^qt(t,0)),0),qt=(e,t)=>zt(e+":"+t),Bt=(e,t)=>zt(Qe(e??null)+":"+t),Ut=Bt,Zt=qt,$t=jt,Gt=qt,Kt=e=>ge(Le(e),(e,[t,n])=>Nt(e,qt(t,n)),0),Xt=qt,Yt=Kt,en=3e5,tn=2**36,nn=2**30,sn=2**24,rn=2**18,on=4096,ln=/^[-0-9A-Z_a-z]{16}$/,an=e=>{const t=zt(e);return Pt(t/sn)+Pt(t/rn)+Pt(t/on)+Pt(t/64)+Pt(t)},dn=e=>Ft(e,0)*tn+Ft(e,1)*nn+Ft(e,2)*sn+Ft(e,3)*rn+Ft(e,4)*on+64*Ft(e,5)+Ft(e,6),cn=(e,n)=>e==t||Z(e)&&ee(ln,e)&&dn(e)<=n,un=(e,n=Date.now)=>{let s=0,r=-1;const o=B(e,an,()=>At(5)),l=e=>{const o=n();if(!z(e)&&!cn(e,o+en))return;const l=s,[a,d]=z(e)||e==t?[0,0]:i(e);s=x(l,a,o),r=s==l?s==a?x(r,d):r:s==a?d:-1},a=(e,t,n)=>Pt(e/tn)+Pt(e/nn)+Pt(e/sn)+Pt(e/rn)+Pt(e/on)+Pt(e/64)+Pt(e)+Pt(t/rn)+Pt(t/on)+Pt(t/64)+Pt(t)+(z(n)?o:an(n)),i=e=>[dn(e),Ft(e,7)*rn+Ft(e,8)*on+64*Ft(e,9)+Ft(e,10),K(e,11)];return[()=>(l(),++r==sn&&(s++,r=0),a(s,r)),l,a,i,()=>s,()=>r,()=>o]},gn=(e,t)=>(e??0)<(t??0)?-1:1,hn=Mt(e=>{const n=ut(),s=ut(),r=ut(),o=ut(),[l,a,i]=Wt(()=>R),[d,c,u,g,h,f,b,,w,C,v,I]=mt(e,ut,e=>z(e)?t:G(e)?ce(e,M):M(e),l,a),L=(t,n,s)=>{const r=h(t);rt(s,(t,s)=>n(s,n=>rt(t,t=>n(t,n=>e.forEachCell(r,t,n)))))},R={setIndexDefinition:(e,t,l,i,d,c=gn)=>{const u=g(e),h=kt(l),C=z(d)?void 0:([e],[t])=>d(e,t);return w(e,t,(t,n,l,d,u,g)=>{let h=0;const w=yt(),v=ut(),I=yt(),L=f(e),R=e=>{Ye(v,e)||bt(v,e,Ye(L,e))};if(rt(n,([e,t],n)=>{const s=yt(e),r=yt(t);rt(s,e=>ot(r,e)?ot(s,e):0),rt(s,e=>{R(e),Vt(w,e),B(ht(L,e),t=>{ot(t,n),et(t)&&(bt(L,e),h=1)})}),rt(r,e=>{R(e),Vt(w,e),Ye(L,e)||(bt(L,e,yt()),h=1),Vt(ht(L,e),n),z(i)||Vt(I,e)})}),t(),et(u)||(g?ft(L,e=>Vt(I,e)):ft(l,e=>B(ht(d,e),e=>de(G(e)?e:[e],e=>Vt(I,e)))),rt(I,e=>{const t=(t,n)=>c(ht(u,t),ht(u,n),e),n=[...ht(L,e)];ae(n,t)||(bt(L,e,yt(ie(n,t))),Vt(w,e))})),(h||g)&&!z(C)){const t=[...L];ae(t,C)||(b(e,ut(ie(t,C))),h=1)}h&&a(s,[e]),ft(v,(t,n)=>{const s=Ye(L,t);n!=s&&a(r,[e,t],s)}),rt(w,t=>a(o,[e,t]))},(e,t)=>{const n=h(e,t);return Z(l)&&!z(n)?je(n):n},B(i,kt)),u||a(n,[e],!0),R},delIndexDefinition:e=>{const t=f(e),l=g(e),i=l?gt(t):[];return C(e),l&&(a(n,[e],!1),Y(i)||(a(s,[e]),de(i,t=>{a(r,[e,t],!1),a(o,[e,t])}))),R},getStore:d,getIndexIds:c,forEachIndex:e=>u((t,n)=>e(t,e=>L(t,e,n))),forEachSlice:(e,t)=>L(e,t,f(e)),hasIndex:g,hasSlice:(e,t)=>Ye(f(e),t),getTableId:h,getSliceIds:e=>gt(f(e)),getSliceRowIds:(e,t)=>tt(ht(f(e),t)),addIndexIdsListener:v,addHasIndexListener:(e,t)=>l(t,n,[e]),addSliceIdsListener:(e,t)=>l(t,s,[e]),addHasSliceListener:(e,t,n)=>l(n,r,[e,t]),addSliceRowIdsListener:(e,t,n)=>l(n,o,[e,t]),delListener:e=>(i(e),R),destroy:I,getListenerStats:()=>({sliceIds:Ge(s),sliceRowIds:Ke(o)})};return pe(R)}),fn=([e,t])=>bn(e,t),bn=(e,t)=>t?[e,t]:[e],wn=(e,t,n)=>[e,t,n],Cn=e=>e[2],vn=(e,t)=>t>e?(e?zt(e):0)^zt(t):0,In=(e,n)=>((e??t)>(n??t)?e:n)??t,Ln=(e,t,n)=>{t>e[1]&&(e[1]=t),e[2]=n>>>0},Rn=(e=t)=>bn(me(),e),Tn=(e=t)=>[ut(),e,0],pn=([e,t,n],s)=>[vt(e,s),t,n],Sn=([e,t],n=fn)=>bn(vt(e,n),t),yn=e=>[e,e],Vn=(e,t=Ge)=>t(e[0])+t(e[1]),mn=()=>[ut(),ut()],kn=e=>[...e],Mn=([e,t])=>e===t,Dn=e=>G(e)?ce(e,Dn):Re(e)?Ee(e,Dn):e,En=e=>Ee(e,(e,t)=>t==d?Ue(e):e),Wn=(e,t,n)=>bt(e,t,ht(e,t)==-n?void 0:n),_n=([e,t],[n,s])=>Je(e,n)&&Je(t,s),Hn=()=>{let e,t,n,s,o=!1,l=!1,a=0,g=0,b=[],T=[],D=0,E=0;const W=ut(),_=ut(),H=ut(),x=ut(),J=ut(),P=ut(),F=ut(),O=ut(),A=ut(),Q=yt(),j=ut(),q=ut(),Z=ut(),X=ut(),Y=ut(),ee=ut(),te=yt(),oe=yt(),ae=ut(),ue=ut(),ge=ut(),he=ut(),be=mn(),we=mn(),Ce=mn(),ve=mn(),Ie=mn(),Le=mn(),Te=mn(),ye=mn(),me=mn(),De=mn(),We=mn(),_e=mn(),He=mn(),Pe=mn(),Oe=mn(),Ze=mn(),tt=mn(),lt=mn(),ct=mn(),St=mn(),mt=mn(),kt=mn(),Mt=ut(),Dt=mn(),[_t,Ht,xt,Jt,Pt]=Wt(()=>Js),Ft=e=>{const t=E;return E=1,dt(e,()=>E=t)},Ot=e=>{const t=D;return D=1,dt(e,()=>D=t)},At=(e,t,n,s=Object.is)=>B(t(),t=>e===t||s(e,t)?n(t):Ft(()=>n(t))),Qt=e=>{if(!Fe(e,(e,t)=>re([i,d,c,k],t)))return!1;const t=e[i];if(!U(t)&&t!=r&&!Ne(t))return!1;const n=e[d];return!(N(n)&&!e[c]||(N(n)||(ze(n)!=t||Be(n)?ke(e,d):B(at(()=>je(n)),t=>e[d]=t,()=>ke(e,d))),0))},zt=(e,t)=>B(at(()=>je(e)),e=>e,t),Nt=e=>Re(e)?Ee(e,ne):e,jt=e=>Re(e)?Ee(e,Nt):e,qt=e=>Re(e)?Ee(e,ne):e,Bt=(e,t)=>1==D&&qe(e)&&1==at(()=>{const n=ze(Ue(e));return Ne(n)&&(z(t)||t==n)},!1),Ut=G,Zt=(t,n)=>(!e||Ye(Z,n)||On(n))&&Fe(t,(e,t)=>$t(n,t,e),()=>On(n)),$t=(e,t,n,s)=>{const r=s?n:Yt(n,e,t);return Fe(r,(s,r)=>B(Gt(e,t,r,s),e=>(Ve(n,r,e),!0),()=>!1),()=>On(e,t))&&(!!s||nt(ht(X,e)?.[2],e=>Se(r,e)))},Gt=(t,n,s,r)=>e?B(ht(ht(Z,t),s),e=>N(r)?e[c]?r:On(t,n,s,r,e[d]):Be(r,D)?On(t,n,s,r,e[d]):qe(r)?Bt(r,e[i])?r:On(t,n,s,r,e[d]):ze(r)===e[i]?zt(r,()=>On(t,n,s,r,e[d])):On(t,n,s,r,e[d]),()=>On(t,n,s,r)):z(ze(r))||Be(r,D)||qe(r)&&!Bt(r)?On(t,n,s,r):zt(r,()=>On(t,n,s,r)),Kt=(e,t)=>{const n=t?e:en(e);return Fe(n,(t,n)=>B(Xt(n,t),t=>(Ve(e,n,t),!0),()=>!1),()=>An())&&(!!t||nt(oe,e=>Se(n,e)))},Xt=(e,n)=>t?B(ht(Y,e),t=>N(n)?t[c]?n:An(e,n,t[d]):Be(n,D)?An(e,n,t[d]):qe(n)?Bt(n,t[i])?n:An(e,n,t[d]):ze(n)===t[i]?zt(n,()=>An(e,n,t[d])):An(e,n,t[d]),()=>An(e,n)):z(ze(n))||Be(n,D)||qe(n)&&!Bt(n)?An(e,n):zt(n,()=>An(e,n)),Yt=(e,t,n)=>(B(ht(X,t),([s,r])=>{rt(s,(s,r)=>{Se(e,r)||(Ve(e,r,s),B(n,e=>Vt(wt(wt(F,t,ut),e,yt),r)))}),rt(r,s=>{Se(e,s)||On(t,n,s)})}),e),en=e=>(t&&(rt(ee,(t,n)=>{Se(e,n)||(Ve(e,n,t),Vt(Q,n))}),rt(te,t=>{Se(e,t)||An(t)})),e),tn=e=>Ct(Z,e,(e,t,n)=>{const s=ut(),r=yt(),o=yt();Ct(wt(Z,t,ut),n,(e,t,n)=>{bt(e,t,n),B(n[d],e=>{bt(s,t,e)},()=>{Vt(r,t),!0===n[k]&&Vt(o,t)})}),bt(X,t,[s,r,o])},(e,t)=>{bt(Z,t),bt(X,t)}),nn=e=>Ct(Y,e,(e,t,n)=>{bt(Y,t,n),B(n[d],e=>{bt(ee,t,e),ot(te,t),ot(oe,t)},()=>{bt(ee,t),Vt(te,t),!0===n[k]?Vt(oe,t):ot(oe,t)})},(e,t)=>{bt(Y,t),bt(ee,t),ot(te,t),ot(oe,t)}),sn=()=>{n??=[!!e,It(Z)]},rn=()=>{s??=[!!t,vt(Y)]},on=e=>xe(e)?Ss():ws(e),ln=(e,t,n,s,r,o)=>z(s)?ms(e,t,n,!0,r):Cs(e,t,n,s,r,o),an=e=>xe(e)?ks():vs(e),dn=(e,t,n)=>z(t)?Ms(e,n):Is(e,t,n),cn=(e,t)=>At(e,()=>t?e:B(b[1],t=>Ft(()=>t(se(e))),()=>e),e=>Ct(ge,e,(e,t,n)=>un(t,n),(e,t)=>In(t)),Je),un=(e,t,n)=>At(t,()=>n?t:B(b[2],n=>Ft(()=>n(e,se(t))),()=>t),t=>Ct(wt(ge,e,()=>(pn(e,1),bt(ae,e,Et()),bt(ue,e,ut()),ut())),t,(t,n,s)=>hn(e,t,n,s),(t,n)=>Ln(e,t,n)),Je),hn=(e,t,n,s,r)=>At(s,()=>r?s:B(b[3],t=>Ft(()=>t(e,n,se(s))),()=>s),s=>Ct(wt(t,n,()=>(Sn(e,n,1),ut())),s,(t,s,r)=>fn(e,n,t,s,r),(s,o)=>Rn(e,t,n,s,o,r)),Je),fn=(e,t,n,s,r,o)=>At(r,()=>B(o?void 0:b[4],n=>Ft(()=>n(e,t,s,r)),()=>r),r=>B(E?Gt(e,t,s,Ue(r)):r,r=>{Ye(n,s)||xn(e,t,s,1);const o=ht(n,s);r!==o&&(Jn(e,t,s,o,r),bt(n,s,r))})),bn=(e,t,n,s,r,o)=>B(ht(t,n),t=>fn(e,n,t,s,r,o),()=>{const l=ut();bt(t,n,l),Sn(e,n,1),Me(Yt({[s]:r},e,n),(t,s)=>fn(e,n,l,s,t,o))}),wn=(e,t)=>At(e,()=>t?e:B(b[5],t=>Ft(()=>t(se(e))),()=>e),e=>Ct(he,e,(e,t,n)=>Cn(t,n),(e,t)=>Tn(t)),Je),Cn=(e,t,n)=>At(t,()=>B(n?void 0:b[6],n=>Ft(()=>n(e,t)),()=>t),t=>B(E?Xt(e,Ue(t)):t,t=>{Ye(he,e)||Pn(e,1);const n=ht(he,e);t!==n&&(Fn(e,n,t),bt(he,e,t))})),vn=e=>wt(ge,e,()=>(pn(e,1),bt(ae,e,Et()),bt(ue,e,ut()),ut())),In=e=>Ft(()=>b[8]?.(e))??1?un(e,{},!0):ht(ge,e),Ln=(e,t,n)=>{if(Ft(()=>b[9]?.(e,n))??1){const[,s]=ht(ae,e);s(n),hn(e,t,n,{},!0)}},Rn=(e,t,n,s,r,o,l)=>{const a=ht(ht(X,e)?.[0],r);if(!z(a)&&!o)return fn(e,n,s,r,a);if(l||(Ft(()=>b[10]?.(e,n,r))??1)){const o=t=>{Jn(e,n,t,ht(s,t)),xn(e,n,t,-1),bt(s,t)};z(a)?o(r):ft(s,o),et(s)&&(Sn(e,n,-1),et(bt(t,n))&&(pn(e,-1),bt(ge,e),bt(ae,e),bt(ue,e)))}},Tn=(e,t)=>{const n=ht(ee,e);if(!z(n))return Cn(e,n);(t||(Ft(()=>b[12]?.(e))??1))&&(Fn(e,ht(he,e)),Pn(e,-1),bt(he,e))},pn=(e,t)=>Wn(W,e,t),Sn=(e,t,n)=>Wn(wt(x,e,ut),t,n)&&bt(H,e,wt(H,e,()=>0)+n),xn=(e,t,n,s)=>{const r=ht(ue,e),o=ht(r,n)??0;(0==o&&1==s||1==o&&-1==s)&&Wn(wt(_,e,ut),n,s),bt(r,n,o!=-s?o+s:void 0),Wn(wt(wt(J,e,ut),t,ut),n,s)},Jn=(e,t,n,s,r)=>{const o=Ye(ht(ht(F,e),t),n)&&z(s)?1:0;wt(wt(wt(P,e,ut),t,ut),n,()=>[s,0])[1]=r,T[3]?.(e,t,n,r,E,o),ot(ht(ht(F,e),t),n)},Pn=(e,t)=>Wn(O,e,t),Fn=(e,t,n)=>{const s=Ye(Q,e)&&z(t)?1:0;wt(A,e,()=>[t,0])[1]=n,T[4]?.(e,n,E,s),ot(Q,e)},On=(e,t,n,s,r)=>(fe(wt(wt(wt(j,e,ut),t,ut),n,()=>[]),s),r),An=(e,t,n)=>(fe(wt(q,e,()=>[]),t),n),Qn=(e,t,n)=>B(ht(ht(ht(P,e),t),n),([e,t])=>[!0,Ue(e),Ue(t)],()=>[!1,...yn(rs(e,t,n))]),zn=e=>B(ht(A,e),([e,t])=>[!0,Ue(e),Ue(t)],()=>[!1,...yn(as(e))]),Nn=e=>et(j)||et(Ze[e])?0:rt(e?pt(j):j,(t,n)=>rt(t,(t,s)=>rt(t,(t,r)=>Ht(Ze[e],[n,s,r],t)))),jn=e=>et(q)||et(tt[e])?0:rt(e?Rt(q):q,(t,n)=>Ht(tt[e],[n],t)),qn=(e,t,n,s)=>{if(!et(e))return Ht(t,s,()=>vt(e)),ft(e,(e,t)=>Ht(n,[...s??[],e],1==t)),1},Bn=e=>{const t=!et(be[e]),n=!et(De[e]),s=!(et(He[e])&&et(Pe[e])&&et(me[e])&&et(We[e])&&et(Le[e])&&et(Te[e])&&et(ye[e])&&!n&&et(Ce[e])&&et(ve[e])),r=!(et(Oe[e])&&et(_e[e])&&et(Ie[e])&&et(we[e]));if(t||s||r){const a=e?[Rt(W),Tt(_),Rt(H),Tt(x),pt(J),(l=P,Rt(l,e=>Rt(e,e=>Rt(e,kn))))]:[W,_,H,x,J,P];if(t){const t=is();t!=o&&Ht(be[e],void 0,t)}if(s){qn(a[0],Ce[e],ve[e]),rt(a[1],(t,n)=>qn(t,Le[e],Te[e],[n])),rt(a[2],(t,n)=>{0!=t&&Ht(ye[e],[n],es(n))});const t=yt();rt(a[3],(s,r)=>{qn(s,me[e],We[e],[r])&&n&&(Ht(De[e],[r,null]),Vt(t,r))}),n&&rt(a[5],(n,s)=>{if(!Ye(t,s)){const t=yt();rt(n,e=>rt(e,([n,s],r)=>s!==n?Vt(t,r):ot(e,r))),rt(t,t=>Ht(De[e],[s,t]))}}),rt(a[4],(t,n)=>rt(t,(t,s)=>qn(t,He[e],Pe[e],[n,s])))}if(r){let t;rt(a[5],(n,s)=>{let r;rt(n,(n,o)=>{let l;rt(n,([n,a],i)=>{a!==n&&(Ht(Oe[e],[s,o,i],Ue(a),Ue(n),Qn),t=r=l=1)}),l&&Ht(_e[e],[s,o],Qn)}),r&&Ht(Ie[e],[s],Qn)}),t&&Ht(we[e],void 0,Qn)}}var l},Un=e=>{const t=!et(lt[e]),n=!et(St[e])||!et(mt[e]),s=!et(kt[e])||!et(ct[e]);if(t||n||s){const r=e?[Rt(O),Rt(A,kn)]:[O,A];if(t){const t=hs();t!=l&&Ht(lt[e],void 0,t)}if(n&&qn(r[0],St[e],mt[e]),s){let t;rt(r[1],([n,s],r)=>{s!==n&&(Ht(kt[e],[r],Ue(s),Ue(n),zn),t=1)}),t&&Ht(ct[e],void 0,zn)}}},Zn=(e,...t)=>(Ws(()=>e(...ce(t,M))),Js),$n=(e,t,n,s,r)=>{const[o,l,a,i]=n;let d=ns(e,t,o,l,a,i);return _t(()=>{const n=ns(e,t,o,l,a,i);le(n,d)||(d=n,s(Js,e,t,o,l,a,d))},De[r?1:0],[e,t],[Xn])},Gn=(e=!1)=>[vt(P,(t,n)=>-1===ht(W,n)?void 0:vt(t,(t,s)=>-1===ht(ht(x,n),s)?void 0:vt(t,([,t])=>Ue(t,0,e),e=>Mn(e)),et,xe),et,xe),vt(A,([,t])=>Ue(t,0,e),e=>Mn(e)),1],Kn=()=>Lt(ge,Ue),Xn=()=>gt(ge),Yn=e=>gt(ht(ue,M(e))),es=e=>$e(ht(ge,M(e))),ts=e=>gt(ht(ge,M(e))),ns=(e,t,n,s=0,r,o=gn)=>Re(e)?ns(e.tableId,e.cellId,e.descending,e.offset,e.limit,e.sorter):ce(K(ie((e=>{const n=[];return ft(e,(e,s)=>{return fe(n,(r=s,o=e,[z(t)?o:Ue(ht(r,M(t))),o]));var r,o}),n})(ht(ge,M(e))),([e],[t])=>o(e,t)*(n?-1:1)),s,z(r)?r:s+r),([,e])=>e),ss=(e,t)=>gt(ht(ht(ge,M(e)),M(t))),rs=(e,t,n)=>Ue(ht(ht(ht(ge,M(e)),M(t)),M(n))),os=()=>vt(he,Ue),ls=()=>gt(he),as=e=>Ue(ht(he,M(e))),is=()=>!et(ge),ds=e=>Ye(ge,M(e)),cs=(e,t)=>Ye(ht(ue,M(e)),M(t)),us=(e,t)=>Ye(ht(ge,M(e)),M(t)),gs=(e,t,n)=>Ye(ht(ht(ge,M(e)),M(t)),M(n)),hs=()=>!et(he),fs=e=>Ye(he,M(e)),bs=e=>Zn(()=>{const t=$(e)?e():e;Ut(t)&&(e=>{At(e,()=>B(b[0],t=>Ft(()=>t(se(e),D)),()=>e),([e,t])=>{(xe(e)?Ss:ws)(e),(xe(t)?ks:vs)(t)},_n)})(t)}),ws=e=>Zn(()=>{const t=(e=>Re(e)?Ee(e,jt):e)(e);return(e=>Fe(e,Zt,On))(t)?cn(t):0}),Cs=(e,t,n,s,r,o)=>Zn((e,t,n)=>B(Gt(e,t,n,$(s)?s(rs(e,t,n)):s),s=>{const l=vn(e);B(r||o||!b[14]?.()?void 0:b[3],o=>{const a=ht(l,t),i={...a?vt(a):{},[n]:s};B(Ft(()=>o(e,t,se(i))),n=>((e,t,n,s,r)=>{Ct(wt(t,n,()=>(Sn(e,n,1),ut())),s,(t,s,o)=>B(Gt(e,n,s,Ue(o)),o=>fn(e,n,t,s,o,r)),(s,r)=>Rn(e,t,n,s,r,!0))})(e,l,t,n,r))},()=>bn(e,l,t,n,s,r))}),e,t,n),vs=e=>Zn(()=>{const t=qt(e);return Kt(t)?wn(t):0}),Is=(e,t,n)=>Zn(e=>B(Xt(e,$(t)?t(as(e)):t),t=>Cn(e,t,n)),e),Ls=e=>Zn(()=>At(e,()=>B(b[13],t=>Ft(()=>t(se(e),D)),()=>e),e=>{Me(e[0],(e,t)=>z(e)?ys(t):Me(e,(e,n)=>z(e)?Vs(t,n):Me(e,(e,s)=>ln(t,n,s,e,void 0,!0)))),Me(e[1],(e,t)=>dn(t,e))},_n)),Rs=e=>(it(()=>Ot(()=>on(Ae(e)))),Js),Ts=t=>Zn(()=>{const n=Dn(t);if(Fe(n,e=>Fe(e,Qt))&&(sn(),e=!0,tn(n),!et(ge))){const e=Kn();Ss(),ws(e)}}),ps=e=>Zn(()=>{const n=Dn(e);if((e=>Fe(e,Qt))(n)){rn();const e=os();Es(),ks(),t=!0,nn(n),vs(e)}}),Ss=()=>Zn(()=>Ft(()=>b[7]?.())??1?cn({},!0):0),ys=e=>Zn(e=>Ye(ge,e)?In(e):0,e),Vs=(e,t)=>Zn((e,t)=>B(ht(ge,e),n=>Ye(n,t)?Ln(e,n,t):0),e,t),ms=(e,t,n,s,r)=>Zn((e,t,n)=>B(ht(ge,e),o=>B(ht(o,t),l=>Ye(l,n)?Rn(e,o,t,l,n,s,r):0)),e,t,n),ks=()=>Zn(()=>Ft(()=>b[11]?.())??1?wn({},!0):0),Ms=(e,t)=>Zn(e=>Ye(he,e)?Tn(e,t):0,e),Ds=()=>Zn(()=>{sn(),tn({}),e=!1}),Es=()=>Zn(()=>{rn(),nn({}),t=!1}),Ws=(e,t)=>{if(-1!=g){_s();try{const n=e();return xs(t),n}catch(e){throw g>0&&(a=1,it(xs)),e}}},_s=()=>{if(-1!=g&&g++,1==g)try{T[0]?.(),Ht(Mt)}catch(e){throw a=1,it(xs),e}return Js},Hs=()=>{g=0,a=0,n=s=void 0,o=is(),l=hs(),de([W,_,H,x,J,P,F,j,O,A,Q,q],st)},xs=r=>{if(g>0&&(g--,0==g)){g=1;let o=!1,l=!1;const i=()=>{l=!0,B(n,([t,n])=>{tn(n),e=t}),B(s,([e,n])=>{nn(n),t=e}),rt(P,(e,t)=>rt(e,(e,n)=>rt(e,([e],s)=>ln(t,n,s,e,!0)))),st(P),rt(A,([e],t)=>dn(t,e,!0)),st(A)};let d=!1,c=!1;dt(()=>{let e,t=!1;const n=n=>{t||(e=n),t=!0};if(it(()=>{try{a?i():(Ft(()=>{Nn(1),et(P)||Bn(1),jn(1),et(A)||Un(1)}),r?.(Js)&&i(),T[1]?.(l),d=!0,Pt(Dt[0],void 0),g=-1,o=!0,Nn(0),et(P)||Bn(0),jn(0),et(A)||Un(0))}catch(e){throw o||i(),e}},n),d&&l&&(o||it(()=>T[1]?.(!0),n),it(()=>{T[2]?.(!0),c=!0},n)),d&&it(()=>{g=-1,Pt(Dt[1],void 0)},n),t)throw e},()=>dt(()=>c?0:T[2]?.(l),Hs))}return Js},Js={getContent:()=>[Kn(),os()],getTables:Kn,getTableIds:Xn,getTable:e=>It(ht(ge,M(e)),Ue),getTableCellIds:Yn,getRowCount:es,getRowIds:ts,getSortedRowIds:ns,getRow:(e,t)=>vt(ht(ht(ge,M(e)),M(t)),Ue),getCellIds:ss,getCell:rs,getValues:os,getValueIds:ls,getValue:as,hasTables:is,hasTable:ds,hasTableCell:cs,hasRow:us,hasCell:gs,hasValues:hs,hasValue:fs,getTablesJson:()=>Qe(ge),getValuesJson:()=>Qe(he),getJson:()=>Qe([ge,he]),getTablesSchemaJson:()=>Qe(It(Z,En)),getValuesSchemaJson:()=>Qe(vt(Y,En)),getSchemaJson:()=>Qe([It(Z,En),vt(Y,En)]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:bs,setTables:ws,setTable:(e,t)=>Zn(e=>{const n=jt(t);return Zt(n,e)?un(e,n):0},e),setRow:(e,t,n)=>Zn((e,t)=>{const s=Nt(n);return $t(e,t,s)?hn(e,vn(e),t,s):0},e,t),addRow:(e,t,n=!0)=>Ws(()=>{let s;const r=Nt(t);return $t(e,s,r)&&(e=M(e),hn(e,vn(e),s=((e,t)=>{const[n]=ht(ae,e);let s;do{s=n(t)}while(Ye(ht(ge,e),s));return s})(e,n?1:0),r)),s}),setPartialRow:(e,t,n)=>Zn((e,t)=>{const s=Nt(n);if($t(e,t,s,1)){const n=vn(e);Me(s,(s,r)=>bn(e,n,t,r,s))}},e,t),setCell:Cs,setValues:vs,setPartialValues:e=>Zn(()=>{const t=qt(e);return Kt(t,1)?Me(t,(e,t)=>Cn(t,e)):0}),setValue:Is,applyChanges:Ls,setTablesJson:Rs,setValuesJson:e=>(it(()=>Ot(()=>an(Ae(e)))),Js),setJson:e=>Zn(()=>it(()=>Ot(()=>{const[t,n]=Ae(e);on(t),an(n)}),()=>Rs(e))),setTablesSchema:Ts,setValuesSchema:ps,setSchema:(e,t)=>Zn(()=>{Ts(e),ps(t)}),delTables:Ss,delTable:ys,delRow:Vs,delCell:ms,delValues:ks,delValue:Ms,delTablesSchema:Ds,delValuesSchema:Es,delSchema:()=>Zn(()=>{Ds(),Es()}),transaction:Ws,startTransaction:_s,getTransactionChanges:()=>Gn(),getTransactionLog:()=>[!et(P),!et(A),Lt(P,kn,Mn),Lt(j),vt(A,kn,Mn),vt(q),vt(W),It(x),Lt(J),vt(O)],finishTransaction:xs,forEachTable:e=>rt(ge,(t,n)=>e(n,e=>rt(t,(t,n)=>e(n,e=>ft(t,(t,n)=>e(t,Ue(n))))))),forEachTableCell:(e,t)=>ft(ht(ue,M(e)),t),forEachRow:(e,t)=>rt(ht(ge,M(e)),(e,n)=>t(n,t=>ft(e,(e,n)=>t(e,Ue(n))))),forEachCell:(e,t,n)=>ft(ht(ht(ge,M(e)),M(t)),(e,t)=>n(e,Ue(t))),forEachValue:e=>ft(he,(t,n)=>e(t,Ue(n))),addSortedRowIdsListener:(e,t,n,s,r,o,l)=>Re(e)?$n(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit,e.sorter],t,n):$n(e,t,[n,s,r,void 0],o,l),addStartTransactionListener:e=>_t(e,Mt),addWillFinishTransactionListener:e=>_t(e,Dt[0]),addDidFinishTransactionListener:e=>_t(e,Dt[1]),callListener:e=>(Jt(e),Js),delListener:e=>(xt(e),Js),getListenerStats:()=>({hasTables:Vn(be),tables:Vn(we),tableIds:Vn(Ce),hasTable:Vn(ve),table:Vn(Ie),tableCellIds:Vn(Le),hasTableCell:Vn(Te,Ke),rowCount:Vn(ye),rowIds:Vn(me),sortedRowIds:Vn(De),hasRow:Vn(We,Ke),row:Vn(_e,Ke),cellIds:Vn(He,Ke),hasCell:Vn(Pe,Xe),cell:Vn(Oe,Xe),invalidCell:Vn(Ze,Xe),hasValues:Vn(lt),values:Vn(ct),valueIds:Vn(St),hasValue:Vn(mt),value:Vn(kt),invalidValue:Vn(tt),transaction:Ge(Mt)+Vn(Dt)}),isMergeable:()=>!1,_:[Hn,_t,Ht,(e,t,n,s,r)=>T=[e,t,n,s,r],(e,t,n,s,r,o,l,a,i,d,c,u,g,h,f)=>b=[e,t,n,s,r,o,l,a,i,d,c,u,g,h,f],ln,dn,()=>[Lt(ge),vt(he)],()=>Gn(!0),e=>Ot(()=>bs(e)),e=>Ot(()=>Ls(e))]};return Me({[f+C]:[0,be,[],()=>[is()]],[C]:[0,we],[v]:[0,Ce],[f+w]:[1,ve,[Xn],e=>[ds(...e)]],[w]:[1,Ie,[Xn]],[w+S]:[1,Le,[Xn]],[f+w+p]:[2,Te,[Xn,Yn],e=>[cs(...e)]],[L]:[1,ye,[Xn]],[R]:[1,me,[Xn]],[f+I]:[2,We,[Xn,ts],e=>[us(...e)]],[I]:[2,_e,[Xn,ts]],[S]:[2,He,[Xn,ts]],[f+p]:[3,Pe,[Xn,ts,ss],e=>[gs(...e)]],[p]:[3,Oe,[Xn,ts,ss],e=>yn(rs(...e))],InvalidCell:[3,Ze],[f+V]:[0,lt,[],()=>[hs()]],[V]:[0,ct],[m]:[0,St],[f+y]:[1,mt,[ls],e=>[fs(...e)]],[y]:[1,kt,[ls],e=>yn(as(e[0]))],InvalidValue:[1,tt]},([e,t,n,s],r)=>{Js[h+r+u]=(...r)=>_t(r[e],t[r[e+1]?1:0],e>0?K(r,0,e):void 0,n,s)}),pe(Js)},xn={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},Jn=(e=t)=>[Tn(e),Tn(e)],Pn=(e,t)=>Re(e)&&De(e,t),Fn=(t,n,s,o)=>{if(!G(t))return!1;if(s?2!=X(t):2!=X(t)&&(3!=X(t)||1!==t[2]))return!1;const l=(t,o)=>((t,n,s,o)=>G(t)&&(3==X(t)?((t,n)=>{return G(t)&&3==X(t)&&Z(t[1])&&(s=t[2],e(s)==r)&&A(t[2])&&n(t[0]);var s})(t,n)&&cn(t[1],s):!o&&n(t[0])&&(1==X(t)||2==X(t)&&cn(t[1],s))))(t,o,n,s),a=e=>(e=>z(e)||!z(ze(e)))(e)&&!Be(e,o);return l(t[0],e=>Pn(e,e=>l(e,e=>Pn(e,e=>l(e,e=>Pn(e,e=>l(e,a)))))))&&l(t[1],e=>Pn(e,e=>l(e,a)))},On=(e,n=Date.now)=>{let s=1,r=Jn(),o=r,l=0,a=0,i=a;const d=[],c=ut(),g=yt(),[f,b]=un(e,n),w=Hn(),C=e=>{const t=s;return s=0,dt(e,()=>s=t),M},v=e=>{const[t,n,s]=e;fe(d,()=>{e[0]=t,e[1]=n,e[2]=s})},I=(e,t,n)=>(Ye(e,t)||fe(d,()=>bt(e,t)),wt(e,t,n)),L=(e,n=0)=>{const s=me(),o=me(),[[l,a=t,i=0],d]=e,[c,u]=r,[g,h,f]=c;let w=n?i:f,C=a;Me(l,([e,r=t,o=0],l)=>{const a=I(g,l,Tn),[i,d,c]=a;let u=n?o:c,h=r;Me(e,(e,t)=>{const[r,o,a]=R(e,I(i,t,Tn),Pe(Pe(s,l,me),t,me),n);u^=n?0:Nt(o?qt(t,o):0,qt(t,a)),h=In(h,r)}),u^=n?0:vn(d,r),v(a),Ln(a,r,u),w^=n?0:Nt(c?qt(l,c):0,qt(l,a[2])),C=In(C,h)}),w^=n?0:vn(h,a),v(c),Ln(c,a,w);const[L]=R(d,u,o,n);return b(In(C,L)),[s,o,1]},R=(e,n,s,r)=>{const[o,l=t,a=0]=e,[i,d,c]=n;let u=l,g=r?a:c;return Me(o,([e,n=t,o=0],l)=>{const a=I(i,l,()=>[void 0,t,0]),[,d,c]=a;(!d||n>d)&&(v(a),Ln(a,n,r?o:Bt(e,n)),a[0]=e,Ve(s,l,e),g^=r?0:Nt(qt(l,c),qt(l,a[2])),u=In(u,n))}),g^=r?0:vn(d,l),v(n),Ln(n,l,g),[u,c,n[2]]},T=()=>{for(;X(d);)be(d)?.();r=o,a=i},p=(e=!1)=>[pn(r[0],t=>pn(t,t=>pn(t,([t,n,s])=>[Ue(t,0,e),n,s]))),pn(r[1],([t,n,s])=>[Ue(t,0,e),n,s])],S=(e,t=!1)=>{const[[n,s,o],[l,a,i]]=r,d=e?wn:bn,u=me();rt(c,(e,s)=>B(ht(n,s),([n,r,o])=>{const l=me();rt(e,(e,s)=>B(ht(n,s),([n,r,o])=>{const a=me();rt(e,e=>{B(ht(n,e),([n,s,r])=>Ve(a,e,d(t?n:Ue(n),s,r)))}),Ve(l,s,d(a,r,o))})),Ve(u,s,d(l,r,o))}));const h=me();return rt(g,e=>B(ht(l,e),([n,s,r])=>Ve(h,e,d(t?n:Ue(n),s,r)))),[d(u,s,o),d(h,a,i),1]},y=()=>p(),V=(e,t)=>Fn(e,n()+en,1,t?1:0)?C(()=>w.transaction(()=>{w.delTables().delValues(),r=Jn();const n=L(e,1);(t?w._[10]:w.applyChanges)(n)})):M,m=(e,t)=>Fn(e,n()+en,0,t?1:0)?C(()=>w.transaction(()=>(t?w._[10]:w.applyChanges)(L(e)))):M,k=e=>m(e),M={getMergeableContent:y,getMergeableContentHashes:()=>[r[0][2],r[1][2]],getMergeableTableHashes:()=>vt(r[0][0],Cn),getMergeableTableDiff:e=>{const t=Rn(r[0][1]),n=me();return ft(r[0][0],(s,[r,o,l])=>Se(e,s)?l!=ye(e,s)?Ve(n,s,l):0:Ve(t[0],s,Sn([r,o],e=>Sn(e)))),[t,n]},getMergeableRowHashes:e=>{const t=me();return Me(e,(e,n)=>B(ht(r[0][0],n),([s,,r])=>r!=e?ft(s,(e,[,,s])=>Ve(Pe(t,n,me),e,s)):0)),t},getMergeableRowDiff:e=>{const t=Rn(r[0][1]),n=me();return Me(e,(e,s)=>ft(ht(r[0][0],s)?.[0],(r,[o,l,a])=>Se(e,r)?a!==ye(e,r)?Ve(Pe(n,s,me),r,a):0:Ve(Pe(t[0],s,Rn)[0],r,Sn([o,l])))),[t,n]},getMergeableCellHashes:e=>{const t=me();return Me(e,(e,n)=>B(ht(r[0][0],n),([s])=>Me(e,(e,r)=>B(ht(s,r),([s,,o])=>o!==e?ft(s,(e,[,,s])=>Ve(Pe(Pe(t,n,me),r,me),e,s)):0)))),t},getMergeableCellDiff:e=>{const[[t,n]]=r,s=me();return Me(e,(e,n)=>Me(e,(e,r)=>B(ht(t,n),([t,o])=>B(ht(t,r),([t,l])=>ft(t,(t,[a,i,d])=>d!==ye(e,t)?Ve(Pe(Pe(s,n,()=>Rn(o))[0],r,()=>Rn(l))[0],t,[a,i]):0))))),bn(s,n)},getMergeableValueHashes:()=>vt(r[1][0],Cn),getMergeableValueDiff:e=>{const[,[t,n]]=r,s=vt(t,fn,([,,t],n)=>t==ye(e,n));return bn(s,n)},setMergeableContent:e=>V(e),setDefaultContent:e=>(w.transaction(()=>{l=1,dt(()=>w.setContent(e),()=>l=0)}),M),getTransactionMergeableChanges:(e=!1)=>S(e),applyMergeableChanges:k,merge:e=>{const t=y(),n=e.getMergeableContent();return e.applyMergeableChanges(t),k(n)},__:[()=>{const e=a;return a=0,e},()=>p(!0),e=>S(e,!0),e=>V(e,!0),e=>m(e,!0)]};return w._[3](()=>{o=r,i=a},e=>e?T():0,e=>{e?T():he(d),st(c),st(g)},(e,n,r,o,i,d)=>{if(Vt(wt(wt(c,e,ut),n,yt),r),s||i){i&&(a=1);const s=l||d?t:f(),[c]=L([[{[e]:[{[n]:[{[r]:[o,s]}]}]}],[{}],1]),u=ye(ye(c,e),n);!s||u&&Se(u,r)||lt(13)}},(e,n,r,o)=>{if(Vt(g,e),s||r){r&&(a=1);const s=l||o?t:f(),[,i]=L([[{}],[{[e]:[n,s]}],1]);s&&!Se(i,e)&<(13)}}),Me(w,(e,t)=>Ve(M,t,D(t,"set")||D(t,"del")||D(t,"apply")||E(t,"Transaction")||t=="call"+u||"use"==t?(...t)=>(e(...t),M):D(t,h)&&E(t,u)?(...n)=>{const s=xn[K(t,3,-8)]??0,r=n[s];return n[s]=(e,...t)=>r(M,...t),e(...n)}:"isMergeable"==t?()=>!0:e)),pe(M)},An=ut([["avg",[(e,t)=>ue(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>ge(e,(e,t)=>x(e,t),-1/0),(e,t)=>x(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:x(t,e)]],["min",[e=>ge(e,(e,t)=>J(e,t),O),(e,t)=>J(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:J(t,e)]],["sum",[e=>ue(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Qn=(e,t,n,s,r,o=!1)=>{if(et(n))return;const[l,a,i,d]=r;return o||=z(e),rt(s,([n,s])=>{o||(e=z(n)?a?.(e,s,t++):z(s)?i?.(e,n,t--):d?.(e,s,n,t),o||=z(e))}),o?l(tt(n),$e(n)):e},zn=Mt(e=>{const n=ut(),[s,r,o]=Wt(()=>C),[l,a,i,d,c,u,g,,h,f,b,w]=mt(e,te,e=>isNaN(e)||z(e)||j(e)||!1===e||e===t?void 0:1*e,s,r),C={setMetricDefinition:(e,t,s,o,l,a,i)=>{const d=$(s)?[s,l,a,i]:ht(An,s)??ht(An,"sum");return h(e,t,(t,s,o,l,a,i)=>{const c=u(e),h=$e(l);i||=z(c),t();let f=Qn(c,h,l,s,d,i);A(f)||(f=void 0),f!=c&&(g(e,f),r(n,[e],f,c))},kt(o,1)),C},delMetricDefinition:e=>(f(e),C),getStore:l,getMetricIds:a,forEachMetric:i,hasMetric:d,getTableId:c,getMetric:u,addMetricIdsListener:b,addMetricListener:(e,t)=>s(t,n,[e]),delListener:e=>(o(e),C),destroy:w,getListenerStats:()=>({metric:Ge(n)})};return pe(C)}),Nn=(e,t,...n)=>ge(e,(e,t)=>z(e)?e:t(...n,e),t),jn=([e,t,n],s)=>[Ee(e,e=>z(e)?e:Ee(e,e=>z(e)?e:Ee(e,e=>z(e)?e:s(e)))),Ee(t,e=>z(e)?e:s(e)),n],qn=(e,t,n,...s)=>Y(e)?t:B(Nn(e,n(t,Ue),...s),e=>n(e,e=>at(()=>je(e),e))),Bn=(e,...t)=>oe(e,e=>e(...t)),Un=Mt((e,t)=>{const n=e=>t=>(fe(e,t),W),s=[],r=[],o=[],l=[],a=[],i=[],d=[],c=[],u=[],g=[],h=[],f=[],b=[],w=[],C=[s,r,o,l,a,i,d,c,u,g,h,f,b,w],v=n(s),I=n(r),L=n(o),R=n(l),T=n(a),p=n(i),S=n(d),y=n(c),V=n(u),m=n(g),k=n(h),M=n(f),D=n(b),E=n(w),W=pe({getStore:()=>e,addWillSetContentCallback:v,addWillSetTablesCallback:I,addWillSetTableCallback:L,addWillSetRowCallback:R,addWillSetCellCallback:T,addWillSetValuesCallback:p,addWillSetValueCallback:S,addWillDelTablesCallback:y,addWillDelTableCallback:V,addWillDelRowCallback:m,addWillDelCellCallback:k,addWillDelValuesCallback:M,addWillDelValueCallback:D,addWillApplyChangesCallback:E,destroy:()=>{t()&&(e._[4](),de(C,he))}});return e._[4]((e,t)=>t?qn(s,e,([e,t],n)=>[_e(e,n),Ee(t,n)]):Nn(s,e),e=>qn(r,e,_e),(e,t)=>qn(o,t,We,e),(e,t,n)=>qn(l,n,Ee,e,t),(e,t,n,s)=>qn(a,s,(e,t)=>t(e),e,t,n),e=>qn(i,e,Ee),(e,t)=>qn(d,t,(e,t)=>t(e),e),()=>Bn(c),e=>Bn(u,e),(e,t)=>Bn(g,e,t),(e,t,n)=>Bn(h,e,t,n),()=>Bn(f),e=>Bn(b,e),(e,t)=>t?qn(w,e,jn):Nn(w,e),()=>!Y(l)),W}),Zn="_",$n=Mt(e=>{const n=e._[0],s=n(),r=n(),o=ut(),l=ut(),a=yt(),i=ut(),d=ut(),c={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},f=ut(),b=ut(),C=ut(),v=ut(),y=ut(),V=ut(),{_:[,m,k],delListener:M}=r,[D,E,W,_,H,x,J,P,,F,O,A]=mt(e,()=>[],te,m,k),Q=e=>wt(l,e,n),N=(e,t,...n)=>de(n,n=>Vt(wt(t,e,yt),n)),q=e=>ft(e,(e,t)=>rt(t,t=>e.delListener(t))),U=(e,t,n,...s)=>{const r=wt(t,e,yt);return de(s,t=>{Vt(r,t),n&&e.callListener(t)}),s},Z=(e,t,n)=>B(ht(t,e),s=>{e.delListener(n),ot(s,n),et(s)&&bt(t,e)}),G=e=>B(ht(v,e),t=>{ft(t,(e,t)=>ft(t,(t,n)=>e.delListener(n))),bt(v,e)}),ee=(e,t=ut())=>{const n=wt(C,e,ut);ft(n,(e,s)=>{ft(s,(n,r)=>Ye(ht(t,e),n)?0:(e.delListener(r),bt(s,n))),et(s)&&bt(n,e)}),ft(t,(t,s)=>{const r=wt(n,t,ut);rt(s,n=>wt(r,n,()=>t.addTableCellIdsListener(n,()=>it(()=>le(e),s=>{throw((e,t,n)=>{const s=wt(wt(v,e,ut),t,ut);wt(s,n,()=>t.addTableListener(n,()=>le(e)))})(e,t,n),s}))))}),et(n)&&bt(C,e)},ne=()=>{ft(o,e=>_(e)?0:bt(o,e)),ft(l,(e,t)=>_(e)||((e,t)=>!(nt(i,([,e])=>nt(e,([e])=>e!==t))&&nt(V,t=>!Ye(t,e))&&oe([f,b],e=>nt(e,e=>!Ye(e,t)))))(e,t)?0:bt(l,e))},se=(e,t,n)=>{N(e,n,e.addWillFinishTransactionListener(t.startTransaction)),N(e,n,e.addDidFinishTransactionListener(()=>t.finishTransaction()))},re=(e,t)=>(xe(t)?s.delRow:s.setRow)(Zn,e,{...t}),le=(s,r)=>{const l=[ut(),ut(),void 0,ut(),yt(),ut()];let a=!1;return it(()=>((s,r,o,l)=>Q(s).transaction(()=>B(((e,n)=>z(n)?x(e):[n[1],t,n[2]])(s,o),([a,,i])=>{const[d,c]=r,u=o?.[0]??H(s),g=i?Q(u):e,h=Q(s),f=o?.[3]??ue(s),b=r[4];i&&Vt(b,u);const w=[];let C=!1,v=0;const I=[[void 0,[u,void 0,void 0,[],ut(),g]]],L=[],R=[],T=[];a({select:(e,n,s)=>{const r=j(e)?n:e,o=j(e)?s:n,l=$(e)?[0,v+t,e]:z(o)?[0,e,t=>t(e)]:[0,o,t=>j(e)?t(!0,r,o):t(r,o)];return v++,fe(w,l),{as:e=>l[1]=e}},selectAll:(e,n,s)=>{C=!0;const r=j(e)?n:e,o=j(e)?s:n;fe(w,[1,r,$(o)?o:e=>(o??t)+e,$(o)||!z(o)&&o!==t?1:0])},join:(t,n,s,r)=>{const o=j(t)?n:t,[l,a]=j(t)?z(r)||$(s)?[void 0,s]:[s,r]:z(s)||$(n)?[void 0,n]:[n,s],i=j(t),d=i?Q(o):e;i&&Vt(b,o);const c=[o,[o,l,$(a)?a:e=>e(a),[],ut(),d]];return fe(I,c),{as:e=>c[0]=e}},where:(e,t,n,s)=>fe(L,$(e)?e:j(e)?e=>e(!0,t,n)===s:z(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,$(t)?[t,n,s,r]:ht(An,t)??[(e,t)=>t]]];return fe(R,o),{as:e=>o[0]=e}},having:(e,t)=>fe(T,$(e)?e:n=>n(e)===t),param:e=>ye(f,e)});const p=ut(I);ft(p,(e,[,t])=>B(ht(p,t),({3:t})=>z(e)?0:fe(t,e)));const S=e=>z(e),V=e=>ht(p,S(e)?void 0:e),m=r[5];if(de(w,([t,n,,s=0])=>t?B(V(n),([t,,,,,n])=>n===e?0:bt(m,t,ht(m,t)||s?1:0)):0),((e,t)=>{const n=(s,r,o=yt())=>s===r||!Ye(o,s)&&(Vt(o,s),!nt((n=>n===e?t:ht(y,n))(s),(e,t)=>!n(t,r,o))),s=(e,t)=>!nt(t,(t,s)=>!t||!n(s,e));!s(e,t)&&nt(y,(t,n)=>n===e||!s(n,t))||lt(16)})(s,m),h.delTable(s),Y(w))return l?.(),ge;const k=ut(R),M=!et(k)||!Y(T),D=[],E=r[3];de(w,([e,t,n])=>{e?M&&B(V(t),([e,,,,,t])=>{Vt(wt(E,t,yt),e),de(ie(t.getTableCellIds(e)),e=>fe(D,[n(e),te]))}):fe(D,[t,n])});const W=ut(D);if(M&&et(W))return l?.(),ge;const _=M?r[2]=n():h;if(M){const e=ut();ft(k,(t,[n,s])=>Vt(wt(e,n,yt),[t,s]));const t=yt();ft(W,n=>Ye(e,n)?0:Vt(t,n));const n=ut(),r=e=>z(e)?void 0:je(e),o=(t,n,r,o)=>B(t,([l,a,i,d])=>{ft(n,(t,[n])=>{const s=wt(l,t,ut),a=ht(s,r),i=o?void 0:n;if(a!==i){const n=yt([[a,i]]),o=$e(s);bt(s,r,i),rt(ht(e,t),([e,t])=>{const r=Qn(d[e],o,s,n,t);Ve(d,e,z(ze(r))?void 0:r)})}}),et(a)||!oe(T,e=>e(e=>d[e]))?h.delRow(s,i):z(i)?t[2]=h.addRow(s,{...d}):h.setRow(s,i,{...d})});N(_,d,_.addRowListener(s,null,(l,a,i,d)=>{const c=[],u=[],g=ut(),h=_.hasRow(s,i);let f=!h;rt(t,e=>{const[t,n,o]=d(s,i,e);fe(c,r(n)),fe(u,r(o)),f||=t}),ft(e,e=>{const[t,,n]=d(s,i,e);(f||t)&&bt(g,e,[n])}),f&&o(St(n,c,void 0,([,e])=>(ot(e,i),et(e))),g,i,1),h&&o(St(n,u,()=>{const e=me();return rt(t,t=>Ve(e,t,_.getCell(s,i,t))),[ut(),yt(),void 0,e]},([,e])=>{Vt(e,i)}),g,i)}))}const x=(e,t,n,r,o)=>{const l=e=>t.getCell(n,r,e);de(o,t=>{const[n,,s,r,o,a]=ht(p,t),i=s?.(l,e),d=ht(o,e),u=d?.[0];i!=u&&(B(d,([,e,t])=>Z(e,c,t)),bt(o,e,z(i)?void 0:[i,a,...U(a,c,1,a.addRowListener(n,i,()=>x(e,a,n,i,r)))]))}),(e=>{const t=(t,n,s)=>{const r=j(t)?n:t,o=j(t)?s:n;if(z(o))return g.getCell(u,e,t);if(r===u&&!j(t))return g.getCell(u,e,o);const l=ht(p,r);return z(l)?void 0:l[5].getCell(l[0],ht(l[4],e)?.[0],o)};_.transaction(()=>{oe(L,e=>e(t))?C?(()=>{const n=me();de(w,([s,r,o])=>{if(s)B(V(r),([t,,,,s,l])=>{const a=S(r)?e:ht(s,e)?.[0];B(a,e=>de(ie(l.getCellIds(t,e)),s=>Ve(n,o(s),l.getCell(t,e,s))))});else{const s=o(t,e),l=r;z(s)?ke(n,l):Ve(n,l,s)}}),xe(n)?_.delRow(s,e):_.setRow(s,e,n)})():ft(W,(n,r)=>_._[5](s,e,n,r(t,e))):_.delRow(s,e)})})(e)},{3:J}=ht(p,void 0),P=(e,t,n)=>{g.hasRow(u,n)?x(n,g,u,n,J):(_.delRow(s,n),rt(p,({4:e})=>B(ht(e,n),([,t,s])=>{Z(t,c,s),bt(e,n)})))};return _.transaction(()=>{de(g.getRowIds(u),e=>P(0,0,e)),U(g,c,0,g.addRowListener(u,null,P))}),M&&se(_,h,d),se(g,_,d),l?.(),ge})))(s,l,r,()=>{B(r,e=>ae(s,e)),q(ht(f,s)),q(ht(b,s)),bt(f,s,et(l[0])?void 0:l[0]),bt(b,s,et(l[1])?void 0:l[1]),bt(o,s,l[2]),ee(s,l[3]),G(s),bt(V,s,et(l[4])?void 0:l[4]),bt(y,s,et(l[5])?void 0:l[5]),a=!0}),e=>{throw a||(q(l[0]),q(l[1])),ne(),e}),ge},ae=(e,[t,n,r,o])=>{B(x(e),([,e])=>s.delListener(e)),Vt(a,e),dt(()=>{P(e,t),J(e,[n,s.addRowListener(Zn,e,()=>Ye(a,e)?0:le(e),!0),r]),re(e,o)},()=>ot(a,e))},ce=e=>(B(x(e),([,e])=>s.delListener(e)),s.delRow(Zn,e),(e=>{q(ht(f,e)),bt(f,e),de([ht(l,e),ht(o,e)],t=>t?.delTable(e))})(e),(e=>{q(ht(b,e)),bt(b,e)})(e),ee(e),G(e),bt(V,e),bt(y,e),F(e),ne(),ge),ue=e=>s.getRow(Zn,e),ge={setQueryDefinition:(e,t,n,s,r={})=>{const[o,l,a,i]=j(t)?[n,s,1,r]:[t,n,0,s??{}];return le(e,[o,l,a,i]),ne(),ge},delQueryDefinition:ce,getParamValues:ue,getParamValue:(e,t)=>s.getCell(Zn,e,t),setParamValues:(e,t)=>(_(e)&&re(e,t),ge),setParamValue:(e,t,n)=>(_(e)&&s.setCell(Zn,e,t,n),ge),getStore:D,getQueryIds:E,forEachQuery:W,hasQuery:_,getTableId:H,forEachResultTable:e=>W(t=>Q(t).hasTable(t)?e(t,e=>ge.forEachResultRow(t,e)):0),addQueryIdsListener:e=>O(()=>e(ge)),addParamValuesListener:(e,t)=>"p"+s.addRowListener(Zn,e,(e,n,s)=>t(ge,s,ue(s))),addParamValueListener:(e,t,n)=>"p"+s.addCellListener(Zn,e,t,(e,t,s,r,o)=>n(ge,s,r,o)),delListener:e=>{const t=ht(i,e);if("p"==e[0])s.delListener(K(e,1));else if(z(t))M(e);else{const[n,s,r]=t;ft(s,(e,[t,n])=>t.delListener(n)),B(r,M),bt(i,e),M(e),c[n]--}return ne(),ge},destroy:()=>{de(E(),ce),A()},getListenerStats:()=>({...c,paramValues:s.getListenerStats().row-X(E()),paramValue:s.getListenerStats().cell})};return Me({[w]:[2,1],[w+S]:[1,1],[L]:[1,1],[R]:[1,1],[T]:[1,5],[I]:[3,2],[S]:[1,2],[p]:[3,3]},([e,t],n)=>{de(K(["get","has","forEach"],0,e),e=>Ve(ge,e+g+n,(...t)=>(ht(l,t[0])??r)[e+n](...t))),Ve(ge,h+g+n+u,(...e)=>((s,r)=>{const o=m(te,d),l=ut(),a=()=>{const s=null==r?E():[r];de(s,s=>{return Ye(l,s)?0:bt(l,s,[Q(s),(r=Q(s),r[h+n+u](...((e,t)=>5==t?[e[0],e[1]??void 0,e[2],e[3],e[4]]:K(e,0,t))(e,t),(n,...s)=>e[t](ge,...s),!0))]);var r}),ft(l,(e,[t,n])=>null==r&&_(e)||e==r?0:(t.delListener(n),void bt(l,e)))};return a(),bt(i,o,[s,l,null==r?O(a):void 0]),c[s]++,o})((e=>e[0].toLowerCase()+K(e,1))(n),e[0]))}),pe(ge)}),Gn=Mt(e=>{const n=ut(),s=ut(),r=ut(),o=ut(),[l,a,i]=Wt(()=>T),[d,c,u,g,h,f,,,b,w,C,v]=mt(e,()=>[ut(),ut(),ut(),ut()],e=>z(e)?void 0:e+t,l,a),I=(e,t,n)=>B(f(e),([s,,r])=>{if(!Ye(r,t)){const o=yt();if(h(e)!=R(e))Vt(o,t);else{let e=t;for(;!z(e)&&!Ye(o,e);)Vt(o,e),e=ht(s,e)}if(n)return o;bt(r,t,o)}return ht(r,t)}),L=(e,t)=>B(f(e),([,,e])=>bt(e,t)),R=e=>ht(n,e),T={setRelationshipDefinition:(e,t,l,i)=>(bt(n,e,l),b(e,t,(t,n)=>{const l=yt(),i=yt(),d=yt(),[c,u]=f(e);rt(n,([t,n],s)=>{z(t)||(Vt(i,t),B(ht(u,t),e=>{ot(e,s),et(e)&&bt(u,t)})),z(n)||(Vt(i,n),Ye(u,n)||bt(u,n,yt()),Vt(ht(u,n),s)),Vt(l,s),bt(c,s,n),ft(ht(o,e),t=>{Ye(I(e,t),s)&&Vt(d,t)})}),t(),rt(l,t=>a(s,[e,t])),rt(i,t=>a(r,[e,t])),rt(d,t=>{L(e,t),a(o,[e,t])})},kt(i)),T),delRelationshipDefinition:e=>(bt(n,e),w(e),T),getStore:d,getRelationshipIds:c,forEachRelationship:t=>u(n=>t(n,t=>e.forEachRow(h(n),t))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:R,getRemoteRowId:(e,t)=>ht(f(e)?.[0],t),getLocalRowIds:(e,t)=>tt(ht(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>z(f(e))?[t]:tt(I(e,t,!0)),addRelationshipIdsListener:C,addRemoteRowIdListener:(e,t,n)=>l(n,s,[e,t]),addLocalRowIdsListener:(e,t,n)=>l(n,r,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(I(e,t),l(n,o,[e,t])),delListener:e=>(L(...i(e)??[]),T),destroy:v,getListenerStats:()=>({remoteRowId:Ke(s),localRowIds:Ke(r),linkedRowIds:Ke(o)})};return pe(T)});export{Nt as addOrRemoveHash,Ht as createCheckpoints,hn as createIndexes,On as createMergeableStore,zn as createMetrics,Un as createMiddleware,$n as createQueries,Gn as createRelationships,Hn as createStore,gn as defaultSorter,Ut as getCellHash,Zt as getCellInRowHash,zt as getHash,un as getHlcFunctions,$t as getRowHash,Gt as getRowInTableHash,Kt as getTableHash,Xt as getTableInTablesHash,Yt as getTablesHash,At as getUniqueId,Bt as getValueHash,qt as getValueInValuesHash,jt as getValuesHash};
|
|
1
|
+
const e=e=>typeof e,t="",n=e(t),s=e(!0),r=e(0),o=e(e),l="object",a="array",i="type",d="enum",c="default",u="allowNull",g="Listener",h="Result",f="add",b="Has",w="Ids",C="Table",v=C+"s",I=C+w,L="Row",R=L+"Count",T=L+w,p="Sorted"+L+w,S="Cell",y=S+w,V="Value",m=V+"s",k=V+w,M="required",D=e=>t+e,E=(e,t)=>e.startsWith(t),W=(e,t)=>e.endsWith(t),_=Math,H=e=>(t,n,s)=>e(t)?s?.():n(t),x=globalThis,J=_.max,P=_.min,F=_.floor,O=_.random,A=1/0,Q=isFinite,z=e=>null==e,N=e=>void 0===e,j=e=>null===e,q=e=>!0===e,B=H(z),U=H(N),Z=e=>e==n||e==s,$=t=>e(t)==n,G=t=>e(t)==o,K=e=>Array.isArray(e),X=(e,t,n)=>e.slice(t,n),Y=e=>e.length,ee=e=>0==Y(e),te=(e,t)=>e.test(t),ne=()=>{},se=e=>e,re=x.structuredClone,oe=(e,t)=>e.includes(t),le=(e,t)=>e.every(t),ae=(e,t)=>Y(e)===Y(t)&&le(e,(e,n)=>t[n]===e),ie=(e,t)=>le(e,(n,s)=>0==s||t(e[s-1],n)<=0),de=(e,t)=>e.sort(t),ce=(e,t)=>e.forEach(t),ue=(e,t)=>e.map(t),ge=e=>he(e,(e,t)=>e+t,0),he=(e,t,n)=>e.reduce(t,n),fe=(e,t=Y(e))=>e.splice(0,t),be=(e,...t)=>e.push(...t),we=e=>e.pop(),Ce=e=>e.shift(),ve=Object,Ie=e=>ve.getPrototypeOf(e),Le=ve.isFrozen,Re=ve.entries,Te=e=>!z(e)&&B(Ie(e),e=>e==ve.prototype||z(Ie(e)),()=>!0),pe=ve.keys,Se=ve.freeze,ye=(e,t)=>ve.hasOwn(e,t),Ve=(e,t)=>U(e,e=>U(ve.getOwnPropertyDescriptor(e,t),()=>e[t])),me=(e,t,n)=>(ve.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}),n),ke=(e=[])=>{const t=ve.create(null);return ce(e,([e,n])=>me(t,e,n)),t},Me=(e,t)=>(delete e[t],e),De=(e,t)=>ce(pe(e),n=>t(e[n],n)),Ee=(e,t)=>{for(const n in e)if(ye(e,n)&&!t(e[n],n))return!1;return!0},We=(e,t)=>{const n=ke();return De(e,(e,s)=>me(n,s,t(e,s))),n},_e=(e,t)=>We(e,e=>We(e,t)),He=(e,t)=>We(e,e=>_e(e,t)),xe=e=>Y(pe(e)),Je=e=>Te(e)&&0==xe(e),Pe=(e,t,n=(e,t)=>e===t)=>xe(e)===xe(t)&&Ee(e,(e,s)=>!!ye(t,s)&&(Te(e)?!!Te(t[s])&&Pe(t[s],e,n):n(e,t[s]))),Fe=(e,t,n)=>(ye(e,t)||me(e,t,n()),e[t]),Oe=(e,t,n)=>z(e)||!Te(e)||Je(e)||Le(e)?(n?.(),!1):(De(e,(n,s)=>{t(n,s)||Me(e,s)}),!Je(e)),Ae=JSON.stringify,Qe=JSON.parse,ze=e=>Ae(e,(e,t)=>t instanceof Map?ke([...t]):t),Ne=t=>{if(j(t))return"null";if(K(t))return a;if(Te(t))return l;const n=e(t);return Z(n)||n==r&&Q(t)?n:void 0},je=e=>e==l||e==a,qe=e=>Z(e)||e==r||je(e),Be=(e,t)=>K(e)?oe(e,t):e==t,Ue=e=>Te(e)||K(e)?"�"+Ae(e):e,Ze=e=>$(e)&&"�"==e[0],$e=(e,t=0)=>""===e||!t&&Ze(e),Ge=(e,t,n)=>!n&&Ze(e)?Qe(X(e,1)):e,Ke=e=>t=>{let n=0;for(const s of t.values())n+=e(s);return n},Xe=e=>e?.size??0,Ye=Ke(Xe),et=Ke(Ye),tt=Ke(et),nt=(e,t)=>e?.has(t)??!1,st=e=>N(e)||0==Xe(e),rt=e=>[...e?.values()??[]],ot=(e,t)=>{for(const[n,s]of e?.entries()??[])if(!t(s,n))return!1;return!0},lt=e=>e.clear(),at=(e,t)=>e?.forEach(t),it=(e,t)=>e?.delete(t),dt=(e,n)=>{throw((e,n)=>Error("tinybase:"+e+(N(n)?t:":"+n)))(e,n)},ct=(e,t)=>{try{return e()}catch{return t}},ut=(e,t)=>{try{return e()}catch(e){t?.(e)}},gt=(e,t)=>{try{return e()}finally{t()}},ht=Map,ft=e=>new ht(e),bt=e=>[...e?.keys()??[]],wt=(e,t)=>e?.get(t),Ct=(e,t)=>at(e,(e,n)=>t(n,e)),vt=(e,t,n)=>N(n)?(it(e,t),e):e?.set(t,n),It=(e,t,n,s)=>{let r=wt(e,t);return nt(e,t)?s?.(r):vt(e,t,r=n()),r},Lt=(e,t,n,s=vt)=>(De(t,(t,s)=>n(e,s,t)),Ct(e,n=>ye(t,n)?0:s(e,n)),e),Rt=(e,t,n,s)=>{const r=ke();return at(e,(e,o)=>{if(!n?.(e,o)){const n=t?t(e,o):e;s?.(n)||me(r,o,n)}}),r},Tt=(e,t,n)=>Rt(e,e=>Rt(e,t,n),st,Je),pt=(e,t,n)=>Rt(e,e=>Tt(e,t,n),st,Je),St=(e,t)=>{const n=ft();return at(e,(e,s)=>n.set(s,t?.(e)??e)),n},yt=e=>St(e,St),Vt=e=>St(e,yt),mt=(e,t,n,s,r=0)=>U((n?It:wt)(e,t[r],r>Y(t)-2?n:ft),o=>{if(r>Y(t)-2)return s?.(o)&&vt(e,t[r]),o;const l=mt(o,t,n,s,r+1);return st(o)&&vt(e,t[r]),l}),kt=e=>new Set(K(e)||N(e)?e:[e]),Mt=(e,t)=>e?.add(t),Dt=(e,t,n,s,r)=>{const o=e.hasRow,l=ft(),a=ft(),i=ft(),d=ft(),c=ft(),u=ft(),g=t=>U(wt(u,t),n=>{at(n,t=>{e.delListener(t),it(n,t)}),vt(u,t)}),h=(e,n)=>{vt(l,e,n),nt(a,e)||(vt(a,e,t()),vt(d,e,ft()),vt(c,e,ft()),ut(()=>r(i),t=>{throw vt(l,e),vt(a,e),vt(d,e),vt(c,e),t}))},f=e=>{vt(l,e),vt(a,e),vt(d,e),vt(c,e),g(e),r(i)};return[()=>e,()=>bt(l),e=>Ct(a,e),e=>nt(a,e),e=>wt(l,e),e=>wt(a,e),(e,t)=>vt(a,e,t),h,(t,s,r,l,a)=>{h(t,s);const i=ft(),f=ft(),b=wt(d,t),w=wt(c,t),C=t=>{const r=n=>e.getCell(s,t,n),d=wt(b,t),c=o(s,t)?n(l(r,t)):void 0;if(d===c||K(d)&&K(c)&&ae(d,c)||vt(i,t,[d,c]),!N(a)){const e=wt(w,t),n=o(s,t)?a(r,t):void 0;(u=e)===(g=n)||(Te(u)||K(u))&&Ae(u)===Ae(g)||vt(f,t,n)}var u,g},v=e=>{r(()=>{at(i,([,e],t)=>vt(b,t,e)),at(f,(e,t)=>vt(w,t,e))},i,f,b,w,e),lt(i),lt(f)};Ct(b,C),e.hasTable(s)&&ce(e.getRowIds(s),e=>{nt(b,e)||C(e)}),v(!0),g(t),((e,...t)=>{const n=It(u,e,kt);ce(t,e=>Mt(n,e))})(t,e.addRowListener(s,null,(e,t,n)=>C(n)),e.addTableListener(s,()=>v()))},f,e=>s(e,i),()=>Ct(u,f)]},Et=(e,n)=>$(e)?t=>t(e):e??(()=>n??t),Wt=(e,t)=>{const n=new WeakMap;return s=>{if(!n.has(s)){const t=e(s,()=>n.get(s)===t&&(n.delete(s),!0));n.set(s,t)}const r=n.get(s);return t?.(r),r}},_t=/^\d+$/,Ht=()=>{const e=[];let n=0;return[s=>(s?Ce(e):null)??t+n++,t=>{te(_t,t)&&Y(e)<1e3&&be(e,t)}]},xt=e=>{let n;const[s,r]=Ht(),o=ft(),l=(e,s,r,l)=>{let a,i=!1;if(ce(((e,n=[t])=>{const s=[],r=(e,t)=>t==Y(n)?be(s,e):j(n[t])?at(e,e=>r(e,t+1)):ce([n[t],null],n=>r(wt(e,n),t+1));return r(e,0),s})(s,r),t=>at(t,t=>{const s=()=>wt(o,t)[0](n,...r??[],...l);e?ut(s,e=>{i||(a=e),i=!0}):s()})),i)throw a};return[(r,l,a,i=[],d=()=>[])=>{n??=e();const c=s(1);return vt(o,c,[r,l,a,i,d]),Mt(mt(l,a??[t],kt),c),c},(e,t,...n)=>l(!1,e,t,n),e=>U(wt(o,e),([,n,s])=>(mt(n,s??[t],void 0,t=>(it(t,e),st(t)?1:0)),vt(o,e),r(e),s)),e=>U(wt(o,e),([e,,t=[],s,r])=>{const o=(...l)=>{const a=Y(l);a==Y(t)?e(n,...l,...r(l)):j(t[a])?ce(s[a]?.(...l)??[],e=>o(...l,e)):o(...l,t[a])};o()}),(e,t,...n)=>l(!0,e,t,n)]},Jt=(e,t)=>e===t||!N(e)&&!N(t)&&Ue(e)===Ue(t),Pt=Wt(e=>{let n,s,r,o=100,l=ft(),a=ft(),i=1,d=0;const c=ft(),u=ft(),[g,h,f]=xt(()=>H),b=ft(),w=ft(),C=[],v=[],I=(t,n)=>{i=0,gt(()=>e.transaction(()=>{const[s,r]=wt(b,n);at(s,(n,s)=>at(n,(n,r)=>at(n,(n,o)=>e._[5](s,r,o,n[t],!0)))),at(r,(n,s)=>e._[6](s,n[t],!0))}),()=>i=1)},L=e=>{vt(b,e),vt(w,e),h(u,[e])},R=(e,t)=>ce(fe(e,t??Y(e)),L),T=()=>R(C,Y(C)-o),p=()=>U(n,()=>{be(C,n),T(),R(v),n=void 0,r=1}),S=()=>{n=we(C),r=1};let y,V;const m=(e=t)=>(N(n)&&(n=t+s++,vt(b,n,[l,a]),W(n,e),l=ft(),a=ft(),r=1),n),k=()=>{ee(C)||(((e,...t)=>{e.unshift(...t)})(v,m()),I(0,n),n=we(C),r=1)},M=()=>{ee(v)||(be(C,n),n=Ce(v),I(1,n),r=1)},D=()=>{r&&(h(c),r=0)},E=e=>{const t=m(e);return D(),t},W=(e,t)=>(_(e)&&wt(w,e)!==t&&(vt(w,e,t),h(u,[e])),H),_=e=>nt(b,e),H={setSize:e=>(o=e,T(),H),addCheckpoint:E,setCheckpoint:W,getStore:()=>e,getCheckpointIds:()=>[[...C],n,[...v]],forEachCheckpoint:e=>Ct(w,e),hasCheckpoint:_,getCheckpoint:e=>wt(w,e),goBackward:()=>(k(),D(),H),goForward:()=>(M(),D(),H),goTo:e=>{const t=oe(C,e)?k:oe(v,e)?M:void 0;for(;!N(t)&&e!=n;)t();return D(),H},addCheckpointIdsListener:e=>g(e,c),addCheckpointListener:(e,t)=>g(t,u,[e]),delListener:e=>(f(e),H),clear:()=>(R(C),R(v),N(n)||L(n),n=void 0,s=0,E(),H),clearForward:()=>(ee(v)||(R(v),h(c)),H),destroy:()=>{d&&(d=0,e.delListener(y),e.delListener(V))},getListenerStats:()=>({checkpointIds:Ye(c),checkpoint:Ye(u)}),_registerListeners:()=>{d||(d=1,y=e.addCellListener(null,null,null,(e,t,n,s,r,o)=>{if(i){p();const e=It(l,t,ft),a=It(e,n,ft),i=It(a,s,()=>[o,void 0]);i[1]=r,Jt(i[0],r)&&st(vt(a,s))&&st(vt(e,n))&&st(vt(l,t))&&S(),D()}}),V=e.addValueListener(null,(e,t,n,s)=>{if(i){p();const e=It(a,t,()=>[s,void 0]);e[1]=n,Jt(e[0],n)&&st(vt(a,t))&&S(),D()}}))}};return Se(H.clear())},e=>e._registerListeners()),Ft=((e,n=t)=>"-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(n,void 0))(),Ot=ft(ue(Ft,(e,t)=>[e,t])),At=e=>Ft[63&e],Qt=(e,t)=>wt(Ot,e[t])??0,zt=x.crypto?e=>x.crypto.getRandomValues(e):e=>ue(e,()=>F(256*O())),Nt=(e=16)=>he(zt(new Uint8Array(e)),(e,t)=>e+At(t),t),jt=new x.TextEncoder,qt=e=>{let t=2166136261;return ce(jt.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},Bt=(e,t)=>(e^t)>>>0,Ut=e=>he(Re(e),(e,[t,n])=>Bt(e,Zt(t,n)^Zt(t,0)),0),Zt=(e,t)=>qt(e+":"+t),$t=(e,t)=>qt(ze(e??null)+":"+t),Gt=$t,Kt=Zt,Xt=Ut,Yt=Zt,en=e=>he(Re(e),(e,[t,n])=>Bt(e,Zt(t,n)),0),tn=Zt,nn=en,sn=3e5,rn=2**36,on=2**30,ln=2**24,an=2**18,dn=4096,cn=/^[-0-9A-Z_a-z]{16}$/,un=e=>{const t=qt(e);return At(t/ln)+At(t/an)+At(t/dn)+At(t/64)+At(t)},gn=e=>Qt(e,0)*rn+Qt(e,1)*on+Qt(e,2)*ln+Qt(e,3)*an+Qt(e,4)*dn+64*Qt(e,5)+Qt(e,6),hn=(e,n)=>e==t||$(e)&&te(cn,e)&&gn(e)<=n,fn=(e,n=Date.now)=>{let s=0,r=-1;const o=U(e,un,()=>Nt(5)),l=e=>{const o=n();if(!N(e)&&!hn(e,o+sn))return;const l=s,[a,d]=N(e)||e==t?[0,0]:i(e);s=J(l,a,o),r=s==l?s==a?J(r,d):r:s==a?d:-1},a=(e,t,n)=>At(e/rn)+At(e/on)+At(e/ln)+At(e/an)+At(e/dn)+At(e/64)+At(e)+At(t/an)+At(t/dn)+At(t/64)+At(t)+(N(n)?o:un(n)),i=e=>[gn(e),Qt(e,7)*an+Qt(e,8)*dn+64*Qt(e,9)+Qt(e,10),X(e,11)];return[()=>(l(),++r==ln&&(s++,r=0),a(s,r)),l,a,i,()=>s,()=>r,()=>o]},bn=(e,t)=>(e??0)<(t??0)?-1:1,wn=Wt(e=>{const n=ft(),s=ft(),r=ft(),o=ft(),[l,a,i]=xt(()=>R),[d,c,u,g,h,f,b,,w,C,v,I]=Dt(e,ft,e=>N(e)?t:K(e)?ue(e,D):D(e),l,a),L=(t,n,s)=>{const r=h(t);at(s,(t,s)=>n(s,n=>at(t,t=>n(t,n=>e.forEachCell(r,t,n)))))},R={setIndexDefinition:(e,t,l,i,d,c=bn)=>{const u=g(e),h=Et(l),C=N(d)?void 0:([e],[t])=>d(e,t);return w(e,t,(t,n,l,d,u,g)=>{let h=0;const w=kt(),v=ft(),I=kt(),L=f(e),R=e=>{nt(v,e)||vt(v,e,nt(L,e))};if(at(n,([e,t],n)=>{const s=kt(e),r=kt(t);at(s,e=>it(r,e)?it(s,e):0),at(s,e=>{R(e),Mt(w,e),U(wt(L,e),t=>{it(t,n),st(t)&&(vt(L,e),h=1)})}),at(r,e=>{R(e),Mt(w,e),nt(L,e)||(vt(L,e,kt()),h=1),Mt(wt(L,e),n),N(i)||Mt(I,e)})}),t(),st(u)||(g?Ct(L,e=>Mt(I,e)):Ct(l,e=>U(wt(d,e),e=>ce(K(e)?e:[e],e=>Mt(I,e)))),at(I,e=>{const t=(t,n)=>c(wt(u,t),wt(u,n),e),n=[...wt(L,e)];ie(n,t)||(vt(L,e,kt(de(n,t))),Mt(w,e))})),(h||g)&&!N(C)){const t=[...L];ie(t,C)||(b(e,ft(de(t,C))),h=1)}h&&a(s,[e]),Ct(v,(t,n)=>{const s=nt(L,t);n!=s&&a(r,[e,t],s)}),at(w,t=>a(o,[e,t]))},(e,t)=>{const n=h(e,t);return $(l)&&!N(n)?Ue(n):n},U(i,Et)),u||a(n,[e],!0),R},delIndexDefinition:e=>{const t=f(e),l=g(e),i=l?bt(t):[];return C(e),l&&(a(n,[e],!1),ee(i)||(a(s,[e]),ce(i,t=>{a(r,[e,t],!1),a(o,[e,t])}))),R},getStore:d,getIndexIds:c,forEachIndex:e=>u((t,n)=>e(t,e=>L(t,e,n))),forEachSlice:(e,t)=>L(e,t,f(e)),hasIndex:g,hasSlice:(e,t)=>nt(f(e),t),getTableId:h,getSliceIds:e=>bt(f(e)),getSliceRowIds:(e,t)=>rt(wt(f(e),t)),addIndexIdsListener:v,addHasIndexListener:(e,t)=>l(t,n,[e]),addSliceIdsListener:(e,t)=>l(t,s,[e]),addHasSliceListener:(e,t,n)=>l(n,r,[e,t]),addSliceRowIdsListener:(e,t,n)=>l(n,o,[e,t]),delListener:e=>(i(e),R),destroy:I,getListenerStats:()=>({sliceIds:Ye(s),sliceRowIds:et(o)})};return Se(R)}),Cn=([e,t])=>vn(e,t),vn=(e,t)=>t?[e,t]:[e],In=(e,t,n)=>[e,t,n],Ln=e=>e[2],Rn=(e,t)=>t>e?(e?qt(e):0)^qt(t):0,Tn=(e,n)=>((e??t)>(n??t)?e:n)??t,pn=(e,t,n)=>{t>e[1]&&(e[1]=t),e[2]=n>>>0},Sn=(e=t)=>vn(ke(),e),yn=(e=t)=>[ft(),e,0],Vn=([e,t,n],s)=>[Rt(e,s),t,n],mn=([e,t],n=Cn)=>vn(Rt(e,n),t),kn=e=>[e,e],Mn=(e,t=Ye)=>t(e[0])+t(e[1]),Dn=()=>[ft(),ft()],En=e=>[...e],Wn=([e,t])=>e===t,_n=e=>K(e)?ue(e,_n):Te(e)?We(e,_n):e,Hn=e=>We(e,(e,t)=>t==c?Ge(e):e),xn=(e,t,n)=>vt(e,t,wt(e,t)==-n?void 0:n),Jn=([e,t],[n,s])=>Pe(e,n)&&Pe(t,s),Pn=()=>{let e,t,n,s,r=!1,o=!1,l=0,a=0,h=[],w=[],p=0,E=0;const W=ft(),_=ft(),H=ft(),x=ft(),J=ft(),P=ft(),F=ft(),O=ft(),A=ft(),Q=kt(),z=ft(),q=ft(),B=ft(),Z=ft(),$=ft(),Y=ft(),ee=kt(),te=kt(),ne=ft(),ie=ft(),ge=ft(),he=ft(),fe=Dn(),we=Dn(),Ce=Dn(),ve=Dn(),Ie=Dn(),Le=Dn(),Re=Dn(),pe=Dn(),Ve=Dn(),ke=Dn(),Ee=Dn(),_e=Dn(),He=Dn(),xe=Dn(),Fe=Dn(),Ae=Dn(),Ke=Dn(),rt=Dn(),dt=Dn(),ht=Dn(),mt=Dn(),Dt=Dn(),Et=ft(),Wt=Dn(),[_t,Jt,Pt,Ft,Ot]=xt(()=>Fs),At=e=>{const t=E;return E=1,gt(e,()=>E=t)},Qt=e=>{const t=p;return p=1,gt(e,()=>p=t)},zt=(e,t,n,s=Object.is)=>U(t(),t=>e===t||s(e,t)?n(t):At(()=>n(t))),Nt=e=>{if(!Oe(e,(e,t)=>oe([i,d,c,u,M],t)))return!1;const t=e[i],n=e[d];if(N(n)?!(K(s=t)?!N(s[0])&&le(s,qe):qe(s)):!N(t)||!K(n)||N(n[0])||!le(n,e=>{const t=Ne(e);return!(j(e)||N(t)||je(t)||$e(e))}))return!1;var s;const r=e[c];return!(j(r)&&!e[u]||(j(r)||((N(n)?Be(t,Ne(r)):oe(n,r))&&!$e(r)?U(ct(()=>Ue(r)),t=>e[c]=t,()=>Me(e,c)):Me(e,c)),0))},jt=(e,t)=>U(ct(()=>Ue(e)),e=>e,t),qt=e=>Te(e)?We(e,se):e,Bt=e=>Te(e)?We(e,qt):e,Ut=e=>Te(e)?We(e,se):e,Zt=(e,t)=>1==p&&Ze(e)&&1==ct(()=>{const n=Ne(Ge(e));return je(n)&&(N(t)||Be(t,n))},!1),$t=K,Gt=(t,n)=>(!e||nt(B,n)||Qn(n))&&Oe(t,(e,t)=>Kt(n,t,e),()=>Qn(n)),Kt=(e,t,n,s)=>{const r=s?n:tn(n,e,t);return Oe(r,(s,r)=>U(Xt(e,t,r,s),e=>(me(n,r,e),!0),()=>!1),()=>Qn(e,t))&&(!!s||ot(wt(Z,e)?.[2],e=>ye(r,e)))},Xt=(t,n,s,r)=>e?U(wt(wt(B,t),s),e=>j(r)?e[u]?r:Qn(t,n,s,r,e[c]):$e(r,p)?Qn(t,n,s,r,e[c]):Ze(r)?N(e[d])&&Zt(r,e[i])?r:Qn(t,n,s,r,e[c]):N(e[d])?Be(e[i],Ne(r))?jt(r,()=>Qn(t,n,s,r,e[c])):Qn(t,n,s,r,e[c]):oe(e[d],r)?r:Qn(t,n,s,r,e[c]),()=>Qn(t,n,s,r)):N(Ne(r))||$e(r,p)||Ze(r)&&!Zt(r)?Qn(t,n,s,r):jt(r,()=>Qn(t,n,s,r)),Yt=(e,t)=>{const n=t?e:nn(e);return Oe(n,(t,n)=>U(en(n,t),t=>(me(e,n,t),!0),()=>!1),()=>zn())&&(!!t||ot(te,e=>ye(n,e)))},en=(e,n)=>t?U(wt($,e),t=>j(n)?t[u]?n:zn(e,n,t[c]):$e(n,p)?zn(e,n,t[c]):Ze(n)?N(t[d])&&Zt(n,t[i])?n:zn(e,n,t[c]):N(t[d])?Be(t[i],Ne(n))?jt(n,()=>zn(e,n,t[c])):zn(e,n,t[c]):oe(t[d],n)?n:zn(e,n,t[c]),()=>zn(e,n)):N(Ne(n))||$e(n,p)||Ze(n)&&!Zt(n)?zn(e,n):jt(n,()=>zn(e,n)),tn=(e,t,n)=>(U(wt(Z,t),([s,r])=>{at(s,(s,r)=>{ye(e,r)||(me(e,r,s),U(n,e=>Mt(It(It(F,t,ft),e,kt),r)))}),at(r,s=>{ye(e,s)||Qn(t,n,s)})}),e),nn=e=>(t&&(at(Y,(t,n)=>{ye(e,n)||(me(e,n,t),Mt(Q,n))}),at(ee,t=>{ye(e,t)||zn(t)})),e),sn=e=>Lt(B,e,(e,t,n)=>{const s=ft(),r=kt(),o=kt();Lt(It(B,t,ft),n,(e,t,n)=>{vt(e,t,n),U(n[c],e=>{vt(s,t,e)},()=>{Mt(r,t),!0===n[M]&&Mt(o,t)})}),vt(Z,t,[s,r,o])},(e,t)=>{vt(B,t),vt(Z,t)}),rn=e=>Lt($,e,(e,t,n)=>{vt($,t,n),U(n[c],e=>{vt(Y,t,e),it(ee,t),it(te,t)},()=>{vt(Y,t),Mt(ee,t),!0===n[M]?Mt(te,t):it(te,t)})},(e,t)=>{vt($,t),vt(Y,t),it(ee,t),it(te,t)}),on=()=>{n??=[!!e,Tt(B)]},ln=()=>{s??=[!!t,Rt($)]},an=e=>Je(e)?Vs():vs(e),dn=(e,t,n,s,r,o)=>N(s)?Ms(e,t,n,!0,r):Is(e,t,n,s,r,o),cn=e=>Je(e)?Ds():Ls(e),un=(e,t,n)=>N(t)?Es(e,n):Rs(e,t,n),gn=(e,t)=>zt(e,()=>t?e:U(h[1],t=>At(()=>t(re(e))),()=>e),e=>Lt(ge,e,(e,t,n)=>hn(t,n),(e,t)=>Rn(t)),Pe),hn=(e,t,n)=>zt(t,()=>n?t:U(h[2],n=>At(()=>n(e,re(t))),()=>t),t=>Lt(It(ge,e,()=>(yn(e,1),vt(ne,e,Ht()),vt(ie,e,ft()),ft())),t,(t,n,s)=>fn(e,t,n,s),(t,n)=>Tn(e,t,n)),Pe),fn=(e,t,n,s,r)=>zt(s,()=>r?s:U(h[3],t=>At(()=>t(e,n,re(s))),()=>s),s=>Lt(It(t,n,()=>(Vn(e,n,1),ft())),s,(t,s,r)=>wn(e,n,t,s,r),(s,o)=>pn(e,t,n,s,o,r)),Pe),wn=(e,t,n,s,r,o)=>zt(r,()=>U(o?void 0:h[4],n=>At(()=>n(e,t,s,r)),()=>r),r=>U(E?Xt(e,t,s,Ge(r)):r,r=>{nt(n,s)||mn(e,t,s,1);const o=wt(n,s);r!==o&&(Fn(e,t,s,o,r),vt(n,s,r))})),Cn=(e,t,n,s,r,o)=>U(wt(t,n),t=>wn(e,n,t,s,r,o),()=>{const l=ft();vt(t,n,l),Vn(e,n,1),De(tn({[s]:r},e,n),(t,s)=>wn(e,n,l,s,t,o))}),vn=(e,t)=>zt(e,()=>t?e:U(h[5],t=>At(()=>t(re(e))),()=>e),e=>Lt(he,e,(e,t,n)=>In(t,n),(e,t)=>Sn(t)),Pe),In=(e,t,n)=>zt(t,()=>U(n?void 0:h[6],n=>At(()=>n(e,t)),()=>t),t=>U(E?en(e,Ge(t)):t,t=>{nt(he,e)||On(e,1);const n=wt(he,e);t!==n&&(An(e,n,t),vt(he,e,t))})),Ln=e=>It(ge,e,()=>(yn(e,1),vt(ne,e,Ht()),vt(ie,e,ft()),ft())),Rn=e=>At(()=>h[8]?.(e))??1?hn(e,{},!0):wt(ge,e),Tn=(e,t,n)=>{if(At(()=>h[9]?.(e,n))??1){const[,s]=wt(ne,e);s(n),fn(e,t,n,{},!0)}},pn=(e,t,n,s,r,o,l)=>{const a=wt(wt(Z,e)?.[0],r);if(!N(a)&&!o)return wn(e,n,s,r,a);if(l||(At(()=>h[10]?.(e,n,r))??1)){const o=t=>{Fn(e,n,t,wt(s,t)),mn(e,n,t,-1),vt(s,t)};N(a)?o(r):Ct(s,o),st(s)&&(Vn(e,n,-1),st(vt(t,n))&&(yn(e,-1),vt(ge,e),vt(ne,e),vt(ie,e)))}},Sn=(e,t)=>{const n=wt(Y,e);if(!N(n))return In(e,n);(t||(At(()=>h[12]?.(e))??1))&&(An(e,wt(he,e)),On(e,-1),vt(he,e))},yn=(e,t)=>xn(W,e,t),Vn=(e,t,n)=>xn(It(x,e,ft),t,n)&&vt(H,e,It(H,e,()=>0)+n),mn=(e,t,n,s)=>{const r=wt(ie,e),o=wt(r,n)??0;(0==o&&1==s||1==o&&-1==s)&&xn(It(_,e,ft),n,s),vt(r,n,o!=-s?o+s:void 0),xn(It(It(J,e,ft),t,ft),n,s)},Fn=(e,t,n,s,r)=>{const o=nt(wt(wt(F,e),t),n)&&N(s)?1:0;It(It(It(P,e,ft),t,ft),n,()=>[s,0])[1]=r,w[3]?.(e,t,n,r,E,o),it(wt(wt(F,e),t),n)},On=(e,t)=>xn(O,e,t),An=(e,t,n)=>{const s=nt(Q,e)&&N(t)?1:0;It(A,e,()=>[t,0])[1]=n,w[4]?.(e,n,E,s),it(Q,e)},Qn=(e,t,n,s,r)=>(be(It(It(It(z,e,ft),t,ft),n,()=>[]),s),r),zn=(e,t,n)=>(be(It(q,e,()=>[]),t),n),Nn=(e,t,n)=>U(wt(wt(wt(P,e),t),n),([e,t])=>[!0,Ge(e),Ge(t)],()=>[!1,...kn(ls(e,t,n))]),jn=e=>U(wt(A,e),([e,t])=>[!0,Ge(e),Ge(t)],()=>[!1,...kn(ds(e))]),qn=e=>st(z)||st(Ae[e])?0:at(e?Vt(z):z,(t,n)=>at(t,(t,s)=>at(t,(t,r)=>Jt(Ae[e],[n,s,r],t)))),Bn=e=>st(q)||st(Ke[e])?0:at(e?St(q):q,(t,n)=>Jt(Ke[e],[n],t)),Un=(e,t,n,s)=>{if(!st(e))return Jt(t,s,()=>Rt(e)),Ct(e,(e,t)=>Jt(n,[...s??[],e],1==t)),1},Zn=e=>{const t=!st(fe[e]),n=!st(ke[e]),s=!(st(He[e])&&st(xe[e])&&st(Ve[e])&&st(Ee[e])&&st(Le[e])&&st(Re[e])&&st(pe[e])&&!n&&st(Ce[e])&&st(ve[e])),o=!(st(Fe[e])&&st(_e[e])&&st(Ie[e])&&st(we[e]));if(t||s||o){const a=e?[St(W),yt(_),St(H),yt(x),Vt(J),(l=P,St(l,e=>St(e,e=>St(e,En))))]:[W,_,H,x,J,P];if(t){const t=cs();t!=r&&Jt(fe[e],void 0,t)}if(s){Un(a[0],Ce[e],ve[e]),at(a[1],(t,n)=>Un(t,Le[e],Re[e],[n])),at(a[2],(t,n)=>{0!=t&&Jt(pe[e],[n],ns(n))});const t=kt();at(a[3],(s,r)=>{Un(s,Ve[e],Ee[e],[r])&&n&&(Jt(ke[e],[r,null]),Mt(t,r))}),n&&at(a[5],(n,s)=>{if(!nt(t,s)){const t=kt();at(n,e=>at(e,([n,s],r)=>s!==n?Mt(t,r):it(e,r))),at(t,t=>Jt(ke[e],[s,t]))}}),at(a[4],(t,n)=>at(t,(t,s)=>Un(t,He[e],xe[e],[n,s])))}if(o){let t;at(a[5],(n,s)=>{let r;at(n,(n,o)=>{let l;at(n,([n,a],i)=>{a!==n&&(Jt(Fe[e],[s,o,i],Ge(a),Ge(n),Nn),t=r=l=1)}),l&&Jt(_e[e],[s,o],Nn)}),r&&Jt(Ie[e],[s],Nn)}),t&&Jt(we[e],void 0,Nn)}}var l},$n=e=>{const t=!st(rt[e]),n=!st(ht[e])||!st(mt[e]),s=!st(Dt[e])||!st(dt[e]);if(t||n||s){const r=e?[St(O),St(A,En)]:[O,A];if(t){const t=bs();t!=o&&Jt(rt[e],void 0,t)}if(n&&Un(r[0],ht[e],mt[e]),s){let t;at(r[1],([n,s],r)=>{s!==n&&(Jt(Dt[e],[r],Ge(s),Ge(n),jn),t=1)}),t&&Jt(dt[e],void 0,jn)}}},Gn=(e,...t)=>(Hs(()=>e(...ue(t,D))),Fs),Kn=(e,t,n,s,r)=>{const[o,l,a,i]=n;let d=rs(e,t,o,l,a,i);return _t(()=>{const n=rs(e,t,o,l,a,i);ae(n,d)||(d=n,s(Fs,e,t,o,l,a,d))},ke[r?1:0],[e,t],[es])},Xn=(e=!1)=>[Rt(P,(t,n)=>-1===wt(W,n)?void 0:Rt(t,(t,s)=>-1===wt(wt(x,n),s)?void 0:Rt(t,([,t])=>Ge(t,0,e),e=>Wn(e)),st,Je),st,Je),Rt(A,([,t])=>Ge(t,0,e),e=>Wn(e)),1],Yn=()=>pt(ge,Ge),es=()=>bt(ge),ts=e=>bt(wt(ie,D(e))),ns=e=>Xe(wt(ge,D(e))),ss=e=>bt(wt(ge,D(e))),rs=(e,t,n,s=0,r,o=bn)=>Te(e)?rs(e.tableId,e.cellId,e.descending,e.offset,e.limit,e.sorter):ue(X(de((e=>{const n=[];return Ct(e,(e,s)=>{return be(n,(r=s,o=e,[N(t)?o:Ge(wt(r,D(t))),o]));var r,o}),n})(wt(ge,D(e))),([e],[t])=>o(e,t)*(n?-1:1)),s,N(r)?r:s+r),([,e])=>e),os=(e,t)=>bt(wt(wt(ge,D(e)),D(t))),ls=(e,t,n)=>Ge(wt(wt(wt(ge,D(e)),D(t)),D(n))),as=()=>Rt(he,Ge),is=()=>bt(he),ds=e=>Ge(wt(he,D(e))),cs=()=>!st(ge),us=e=>nt(ge,D(e)),gs=(e,t)=>nt(wt(ie,D(e)),D(t)),hs=(e,t)=>nt(wt(ge,D(e)),D(t)),fs=(e,t,n)=>nt(wt(wt(ge,D(e)),D(t)),D(n)),bs=()=>!st(he),ws=e=>nt(he,D(e)),Cs=e=>Gn(()=>{const t=G(e)?e():e;$t(t)&&(e=>{zt(e,()=>U(h[0],t=>At(()=>t(re(e),p)),()=>e),([e,t])=>{(Je(e)?Vs:vs)(e),(Je(t)?Ds:Ls)(t)},Jn)})(t)}),vs=e=>Gn(()=>{const t=(e=>Te(e)?We(e,Bt):e)(e);return(e=>Oe(e,Gt,Qn))(t)?gn(t):0}),Is=(e,t,n,s,r,o)=>Gn((e,t,n)=>U(Xt(e,t,n,G(s)?s(ls(e,t,n)):s),s=>{const l=Ln(e);U(r||o||!h[14]?.()?void 0:h[3],o=>{const a=wt(l,t),i={...a?Rt(a):{},[n]:s};U(At(()=>o(e,t,re(i))),n=>((e,t,n,s,r)=>{Lt(It(t,n,()=>(Vn(e,n,1),ft())),s,(t,s,o)=>U(Xt(e,n,s,Ge(o)),o=>wn(e,n,t,s,o,r)),(s,r)=>pn(e,t,n,s,r,!0))})(e,l,t,n,r))},()=>Cn(e,l,t,n,s,r))}),e,t,n),Ls=e=>Gn(()=>{const t=Ut(e);return Yt(t)?vn(t):0}),Rs=(e,t,n)=>Gn(e=>U(en(e,G(t)?t(ds(e)):t),t=>In(e,t,n)),e),Ts=e=>Gn(()=>zt(e,()=>U(h[13],t=>At(()=>t(re(e),p)),()=>e),e=>{De(e[0],(e,t)=>N(e)?ms(t):De(e,(e,n)=>N(e)?ks(t,n):De(e,(e,s)=>dn(t,n,s,e,void 0,!0)))),De(e[1],(e,t)=>un(t,e))},Jn)),ps=e=>(ut(()=>Qt(()=>an(Qe(e)))),Fs),Ss=t=>Gn(()=>{const n=_n(t);if(Oe(n,e=>Oe(e,Nt))&&(on(),e=!0,sn(n),!st(ge))){const e=Yn();Vs(),vs(e)}}),ys=e=>Gn(()=>{const n=_n(e);if((e=>Oe(e,Nt))(n)){ln();const e=as();_s(),Ds(),t=!0,rn(n),Ls(e)}}),Vs=()=>Gn(()=>At(()=>h[7]?.())??1?gn({},!0):0),ms=e=>Gn(e=>nt(ge,e)?Rn(e):0,e),ks=(e,t)=>Gn((e,t)=>U(wt(ge,e),n=>nt(n,t)?Tn(e,n,t):0),e,t),Ms=(e,t,n,s,r)=>Gn((e,t,n)=>U(wt(ge,e),o=>U(wt(o,t),l=>nt(l,n)?pn(e,o,t,l,n,s,r):0)),e,t,n),Ds=()=>Gn(()=>At(()=>h[11]?.())??1?vn({},!0):0),Es=(e,t)=>Gn(e=>nt(he,e)?Sn(e,t):0,e),Ws=()=>Gn(()=>{on(),sn({}),e=!1}),_s=()=>Gn(()=>{ln(),rn({}),t=!1}),Hs=(e,t)=>{if(-1!=a){xs();try{const n=e();return Ps(t),n}catch(e){throw a>0&&(l=1,ut(Ps)),e}}},xs=()=>{if(-1!=a&&a++,1==a)try{w[0]?.(),Jt(Et)}catch(e){throw l=1,ut(Ps),e}return Fs},Js=()=>{a=0,l=0,n=s=void 0,r=cs(),o=bs(),ce([W,_,H,x,J,P,F,z,O,A,Q,q],lt)},Ps=r=>{if(a>0&&(a--,0==a)){a=1;let o=!1,i=!1;const d=()=>{i=!0,U(n,([t,n])=>{sn(n),e=t}),U(s,([e,n])=>{rn(n),t=e}),at(P,(e,t)=>at(e,(e,n)=>at(e,([e],s)=>dn(t,n,s,e,!0)))),lt(P),at(A,([e],t)=>un(t,e,!0)),lt(A)};let c=!1,u=!1;gt(()=>{let e,t=!1;const n=n=>{t||(e=n),t=!0};if(ut(()=>{try{l?d():(At(()=>{qn(1),st(P)||Zn(1),Bn(1),st(A)||$n(1)}),r?.(Fs)&&d(),w[1]?.(i),c=!0,Ot(Wt[0],void 0),a=-1,o=!0,qn(0),st(P)||Zn(0),Bn(0),st(A)||$n(0))}catch(e){throw o||d(),e}},n),c&&i&&(o||ut(()=>w[1]?.(!0),n),ut(()=>{w[2]?.(!0),u=!0},n)),c&&ut(()=>{a=-1,Ot(Wt[1],void 0)},n),t)throw e},()=>gt(()=>u?0:w[2]?.(i),Js))}return Fs},Fs={getContent:()=>[Yn(),as()],getTables:Yn,getTableIds:es,getTable:e=>Tt(wt(ge,D(e)),Ge),getTableCellIds:ts,getRowCount:ns,getRowIds:ss,getSortedRowIds:rs,getRow:(e,t)=>Rt(wt(wt(ge,D(e)),D(t)),Ge),getCellIds:os,getCell:ls,getValues:as,getValueIds:is,getValue:ds,hasTables:cs,hasTable:us,hasTableCell:gs,hasRow:hs,hasCell:fs,hasValues:bs,hasValue:ws,getTablesJson:()=>ze(ge),getValuesJson:()=>ze(he),getJson:()=>ze([ge,he]),getTablesSchemaJson:()=>ze(Tt(B,Hn)),getValuesSchemaJson:()=>ze(Rt($,Hn)),getSchemaJson:()=>ze([Tt(B,Hn),Rt($,Hn)]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:Cs,setTables:vs,setTable:(e,t)=>Gn(e=>{const n=Bt(t);return Gt(n,e)?hn(e,n):0},e),setRow:(e,t,n)=>Gn((e,t)=>{const s=qt(n);return Kt(e,t,s)?fn(e,Ln(e),t,s):0},e,t),addRow:(e,t,n=!0)=>Hs(()=>{let s;const r=qt(t);return Kt(e,s,r)&&(e=D(e),fn(e,Ln(e),s=((e,t)=>{const[n]=wt(ne,e);let s;do{s=n(t)}while(nt(wt(ge,e),s));return s})(e,n?1:0),r)),s}),setPartialRow:(e,t,n)=>Gn((e,t)=>{const s=qt(n);if(Kt(e,t,s,1)){const n=Ln(e);De(s,(s,r)=>Cn(e,n,t,r,s))}},e,t),setCell:Is,setValues:Ls,setPartialValues:e=>Gn(()=>{const t=Ut(e);return Yt(t,1)?De(t,(e,t)=>In(t,e)):0}),setValue:Rs,applyChanges:Ts,setTablesJson:ps,setValuesJson:e=>(ut(()=>Qt(()=>cn(Qe(e)))),Fs),setJson:e=>Gn(()=>ut(()=>Qt(()=>{const[t,n]=Qe(e);an(t),cn(n)}),()=>ps(e))),setTablesSchema:Ss,setValuesSchema:ys,setSchema:(e,t)=>Gn(()=>{Ss(e),ys(t)}),delTables:Vs,delTable:ms,delRow:ks,delCell:Ms,delValues:Ds,delValue:Es,delTablesSchema:Ws,delValuesSchema:_s,delSchema:()=>Gn(()=>{Ws(),_s()}),transaction:Hs,startTransaction:xs,getTransactionChanges:()=>Xn(),getTransactionLog:()=>[!st(P),!st(A),pt(P,En,Wn),pt(z),Rt(A,En,Wn),Rt(q),Rt(W),Tt(x),pt(J),Rt(O)],finishTransaction:Ps,forEachTable:e=>at(ge,(t,n)=>e(n,e=>at(t,(t,n)=>e(n,e=>Ct(t,(t,n)=>e(t,Ge(n))))))),forEachTableCell:(e,t)=>Ct(wt(ie,D(e)),t),forEachRow:(e,t)=>at(wt(ge,D(e)),(e,n)=>t(n,t=>Ct(e,(e,n)=>t(e,Ge(n))))),forEachCell:(e,t,n)=>Ct(wt(wt(ge,D(e)),D(t)),(e,t)=>n(e,Ge(t))),forEachValue:e=>Ct(he,(t,n)=>e(t,Ge(n))),addSortedRowIdsListener:(e,t,n,s,r,o,l)=>Te(e)?Kn(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit,e.sorter],t,n):Kn(e,t,[n,s,r,void 0],o,l),addStartTransactionListener:e=>_t(e,Et),addWillFinishTransactionListener:e=>_t(e,Wt[0]),addDidFinishTransactionListener:e=>_t(e,Wt[1]),callListener:e=>(Ft(e),Fs),delListener:e=>(Pt(e),Fs),getListenerStats:()=>({hasTables:Mn(fe),tables:Mn(we),tableIds:Mn(Ce),hasTable:Mn(ve),table:Mn(Ie),tableCellIds:Mn(Le),hasTableCell:Mn(Re,et),rowCount:Mn(pe),rowIds:Mn(Ve),sortedRowIds:Mn(ke),hasRow:Mn(Ee,et),row:Mn(_e,et),cellIds:Mn(He,et),hasCell:Mn(xe,tt),cell:Mn(Fe,tt),invalidCell:Mn(Ae,tt),hasValues:Mn(rt),values:Mn(dt),valueIds:Mn(ht),hasValue:Mn(mt),value:Mn(Dt),invalidValue:Mn(Ke),transaction:Ye(Et)+Mn(Wt)}),isMergeable:()=>!1,_:[Pn,_t,Jt,(e,t,n,s,r)=>w=[e,t,n,s,r],(e,t,n,s,r,o,l,a,i,d,c,u,g,f,b)=>h=[e,t,n,s,r,o,l,a,i,d,c,u,g,f,b],dn,un,()=>[pt(ge),Rt(he)],()=>Xn(!0),e=>Qt(()=>Cs(e)),e=>Qt(()=>Ts(e))]};return De({[b+v]:[0,fe,[],()=>[cs()]],[v]:[0,we],[I]:[0,Ce],[b+C]:[1,ve,[es],e=>[us(...e)]],[C]:[1,Ie,[es]],[C+y]:[1,Le,[es]],[b+C+S]:[2,Re,[es,ts],e=>[gs(...e)]],[R]:[1,pe,[es]],[T]:[1,Ve,[es]],[b+L]:[2,Ee,[es,ss],e=>[hs(...e)]],[L]:[2,_e,[es,ss]],[y]:[2,He,[es,ss]],[b+S]:[3,xe,[es,ss,os],e=>[fs(...e)]],[S]:[3,Fe,[es,ss,os],e=>kn(ls(...e))],InvalidCell:[3,Ae],[b+m]:[0,rt,[],()=>[bs()]],[m]:[0,dt],[k]:[0,ht],[b+V]:[1,mt,[is],e=>[ws(...e)]],[V]:[1,Dt,[is],e=>kn(ds(e[0]))],InvalidValue:[1,Ke]},([e,t,n,s],r)=>{Fs[f+r+g]=(...r)=>_t(r[e],t[r[e+1]?1:0],e>0?X(r,0,e):void 0,n,s)}),Se(Fs)},Fn={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},On=(e=t)=>[yn(e),yn(e)],An=(e,t)=>Te(e)&&Ee(e,t),Qn=(t,n,s,o)=>{if(!K(t))return!1;if(s?2!=Y(t):2!=Y(t)&&(3!=Y(t)||1!==t[2]))return!1;const l=(t,o)=>((t,n,s,o)=>K(t)&&(3==Y(t)?((t,n)=>{return K(t)&&3==Y(t)&&$(t[1])&&(s=t[2],e(s)==r)&&Q(t[2])&&n(t[0]);var s})(t,n)&&hn(t[1],s):!o&&n(t[0])&&(1==Y(t)||2==Y(t)&&hn(t[1],s))))(t,o,n,s),a=e=>(e=>N(e)||!N(Ne(e)))(e)&&!$e(e,o);return l(t[0],e=>An(e,e=>l(e,e=>An(e,e=>l(e,e=>An(e,e=>l(e,a)))))))&&l(t[1],e=>An(e,e=>l(e,a)))},zn=(e,n=Date.now)=>{let s=1,r=On(),o=r,l=0,a=0,i=a;const d=[],c=ft(),u=kt(),[h,b]=fn(e,n),w=Pn(),C=e=>{const t=s;return s=0,gt(e,()=>s=t),M},v=e=>{const[t,n,s]=e;be(d,()=>{e[0]=t,e[1]=n,e[2]=s})},I=(e,t,n)=>(nt(e,t)||be(d,()=>vt(e,t)),It(e,t,n)),L=(e,n=0)=>{const s=ke(),o=ke(),[[l,a=t,i=0],d]=e,[c,u]=r,[g,h,f]=c;let w=n?i:f,C=a;De(l,([e,r=t,o=0],l)=>{const a=I(g,l,yn),[i,d,c]=a;let u=n?o:c,h=r;De(e,(e,t)=>{const[r,o,a]=R(e,I(i,t,yn),Fe(Fe(s,l,ke),t,ke),n);u^=n?0:Bt(o?Zt(t,o):0,Zt(t,a)),h=Tn(h,r)}),u^=n?0:Rn(d,r),v(a),pn(a,r,u),w^=n?0:Bt(c?Zt(l,c):0,Zt(l,a[2])),C=Tn(C,h)}),w^=n?0:Rn(h,a),v(c),pn(c,a,w);const[L]=R(d,u,o,n);return b(Tn(C,L)),[s,o,1]},R=(e,n,s,r)=>{const[o,l=t,a=0]=e,[i,d,c]=n;let u=l,g=r?a:c;return De(o,([e,n=t,o=0],l)=>{const a=I(i,l,()=>[void 0,t,0]),[,d,c]=a;(!d||n>d)&&(v(a),pn(a,n,r?o:$t(e,n)),a[0]=e,me(s,l,e),g^=r?0:Bt(Zt(l,c),Zt(l,a[2])),u=Tn(u,n))}),g^=r?0:Rn(d,l),v(n),pn(n,l,g),[u,c,n[2]]},T=()=>{for(;Y(d);)we(d)?.();r=o,a=i},p=(e=!1)=>[Vn(r[0],t=>Vn(t,t=>Vn(t,([t,n,s])=>[Ge(t,0,e),n,s]))),Vn(r[1],([t,n,s])=>[Ge(t,0,e),n,s])],S=(e,t=!1)=>{const[[n,s,o],[l,a,i]]=r,d=e?In:vn,g=ke();at(c,(e,s)=>U(wt(n,s),([n,r,o])=>{const l=ke();at(e,(e,s)=>U(wt(n,s),([n,r,o])=>{const a=ke();at(e,e=>{U(wt(n,e),([n,s,r])=>me(a,e,d(t?n:Ge(n),s,r)))}),me(l,s,d(a,r,o))})),me(g,s,d(l,r,o))}));const h=ke();return at(u,e=>U(wt(l,e),([n,s,r])=>me(h,e,d(t?n:Ge(n),s,r)))),[d(g,s,o),d(h,a,i),1]},y=()=>p(),V=(e,t)=>Qn(e,n()+sn,1,t?1:0)?C(()=>w.transaction(()=>{w.delTables().delValues(),r=On();const n=L(e,1);(t?w._[10]:w.applyChanges)(n)})):M,m=(e,t)=>Qn(e,n()+sn,0,t?1:0)?C(()=>w.transaction(()=>(t?w._[10]:w.applyChanges)(L(e)))):M,k=e=>m(e),M={getMergeableContent:y,getMergeableContentHashes:()=>[r[0][2],r[1][2]],getMergeableTableHashes:()=>Rt(r[0][0],Ln),getMergeableTableDiff:e=>{const t=Sn(r[0][1]),n=ke();return Ct(r[0][0],(s,[r,o,l])=>ye(e,s)?l!=Ve(e,s)?me(n,s,l):0:me(t[0],s,mn([r,o],e=>mn(e)))),[t,n]},getMergeableRowHashes:e=>{const t=ke();return De(e,(e,n)=>U(wt(r[0][0],n),([s,,r])=>r!=e?Ct(s,(e,[,,s])=>me(Fe(t,n,ke),e,s)):0)),t},getMergeableRowDiff:e=>{const t=Sn(r[0][1]),n=ke();return De(e,(e,s)=>Ct(wt(r[0][0],s)?.[0],(r,[o,l,a])=>ye(e,r)?a!==Ve(e,r)?me(Fe(n,s,ke),r,a):0:me(Fe(t[0],s,Sn)[0],r,mn([o,l])))),[t,n]},getMergeableCellHashes:e=>{const t=ke();return De(e,(e,n)=>U(wt(r[0][0],n),([s])=>De(e,(e,r)=>U(wt(s,r),([s,,o])=>o!==e?Ct(s,(e,[,,s])=>me(Fe(Fe(t,n,ke),r,ke),e,s)):0)))),t},getMergeableCellDiff:e=>{const[[t,n]]=r,s=ke();return De(e,(e,n)=>De(e,(e,r)=>U(wt(t,n),([t,o])=>U(wt(t,r),([t,l])=>Ct(t,(t,[a,i,d])=>d!==Ve(e,t)?me(Fe(Fe(s,n,()=>Sn(o))[0],r,()=>Sn(l))[0],t,[a,i]):0))))),vn(s,n)},getMergeableValueHashes:()=>Rt(r[1][0],Ln),getMergeableValueDiff:e=>{const[,[t,n]]=r,s=Rt(t,Cn,([,,t],n)=>t==Ve(e,n));return vn(s,n)},setMergeableContent:e=>V(e),setDefaultContent:e=>(w.transaction(()=>{l=1,gt(()=>w.setContent(e),()=>l=0)}),M),getTransactionMergeableChanges:(e=!1)=>S(e),applyMergeableChanges:k,merge:e=>{const t=y(),n=e.getMergeableContent();return e.applyMergeableChanges(t),k(n)},__:[()=>{const e=a;return a=0,e},()=>p(!0),e=>S(e,!0),e=>V(e,!0),e=>m(e,!0)]};return w._[3](()=>{o=r,i=a},e=>e?T():0,e=>{e?T():fe(d),lt(c),lt(u)},(e,n,r,o,i,d)=>{if(Mt(It(It(c,e,ft),n,kt),r),s||i){i&&(a=1);const s=l||d?t:h(),[c]=L([[{[e]:[{[n]:[{[r]:[o,s]}]}]}],[{}],1]),u=Ve(Ve(c,e),n);!s||u&&ye(u,r)||dt(13)}},(e,n,r,o)=>{if(Mt(u,e),s||r){r&&(a=1);const s=l||o?t:h(),[,i]=L([[{}],[{[e]:[n,s]}],1]);s&&!ye(i,e)&&dt(13)}}),De(w,(e,t)=>me(M,t,E(t,"set")||E(t,"del")||E(t,"apply")||W(t,"Transaction")||t=="call"+g||"use"==t?(...t)=>(e(...t),M):E(t,f)&&W(t,g)?(...n)=>{const s=Fn[X(t,3,-8)]??0,r=n[s];return n[s]=(e,...t)=>r(M,...t),e(...n)}:"isMergeable"==t?()=>!0:e)),Se(M)},Nn=ft([["avg",[(e,t)=>ge(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>he(e,(e,t)=>J(e,t),-1/0),(e,t)=>J(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:J(t,e)]],["min",[e=>he(e,(e,t)=>P(e,t),A),(e,t)=>P(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:P(t,e)]],["sum",[e=>ge(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),jn=(e,t,n,s,r,o=!1)=>{if(st(n))return;const[l,a,i,d]=r;return o||=N(e),at(s,([n,s])=>{o||(e=N(n)?a?.(e,s,t++):N(s)?i?.(e,n,t--):d?.(e,s,n,t),o||=N(e))}),o?l(rt(n),Xe(n)):e},qn=Wt(e=>{const n=ft(),[s,r,o]=xt(()=>C),[l,a,i,d,c,u,g,,h,f,b,w]=Dt(e,ne,e=>isNaN(e)||N(e)||q(e)||!1===e||e===t?void 0:1*e,s,r),C={setMetricDefinition:(e,t,s,o,l,a,i)=>{const d=G(s)?[s,l,a,i]:wt(Nn,s)??wt(Nn,"sum");return h(e,t,(t,s,o,l,a,i)=>{const c=u(e),h=Xe(l);i||=N(c),t();let f=jn(c,h,l,s,d,i);Q(f)||(f=void 0),f!=c&&(g(e,f),r(n,[e],f,c))},Et(o,1)),C},delMetricDefinition:e=>(f(e),C),getStore:l,getMetricIds:a,forEachMetric:i,hasMetric:d,getTableId:c,getMetric:u,addMetricIdsListener:b,addMetricListener:(e,t)=>s(t,n,[e]),delListener:e=>(o(e),C),destroy:w,getListenerStats:()=>({metric:Ye(n)})};return Se(C)}),Bn=(e,t,...n)=>he(e,(e,t)=>N(e)?e:t(...n,e),t),Un=([e,t,n],s)=>[We(e,e=>N(e)?e:We(e,e=>N(e)?e:We(e,e=>N(e)?e:s(e)))),We(t,e=>N(e)?e:s(e)),n],Zn=(e,t,n,...s)=>ee(e)?t:U(Bn(e,n(t,Ge),...s),e=>n(e,e=>ct(()=>Ue(e),e))),$n=(e,...t)=>le(e,e=>e(...t)),Gn=Wt((e,t)=>{const n=e=>t=>(be(e,t),W),s=[],r=[],o=[],l=[],a=[],i=[],d=[],c=[],u=[],g=[],h=[],f=[],b=[],w=[],C=[s,r,o,l,a,i,d,c,u,g,h,f,b,w],v=n(s),I=n(r),L=n(o),R=n(l),T=n(a),p=n(i),S=n(d),y=n(c),V=n(u),m=n(g),k=n(h),M=n(f),D=n(b),E=n(w),W=Se({getStore:()=>e,addWillSetContentCallback:v,addWillSetTablesCallback:I,addWillSetTableCallback:L,addWillSetRowCallback:R,addWillSetCellCallback:T,addWillSetValuesCallback:p,addWillSetValueCallback:S,addWillDelTablesCallback:y,addWillDelTableCallback:V,addWillDelRowCallback:m,addWillDelCellCallback:k,addWillDelValuesCallback:M,addWillDelValueCallback:D,addWillApplyChangesCallback:E,destroy:()=>{t()&&(e._[4](),ce(C,fe))}});return e._[4]((e,t)=>t?Zn(s,e,([e,t],n)=>[He(e,n),We(t,n)]):Bn(s,e),e=>Zn(r,e,He),(e,t)=>Zn(o,t,_e,e),(e,t,n)=>Zn(l,n,We,e,t),(e,t,n,s)=>Zn(a,s,(e,t)=>t(e),e,t,n),e=>Zn(i,e,We),(e,t)=>Zn(d,t,(e,t)=>t(e),e),()=>$n(c),e=>$n(u,e),(e,t)=>$n(g,e,t),(e,t,n)=>$n(h,e,t,n),()=>$n(f),e=>$n(b,e),(e,t)=>t?Zn(w,e,Un):Bn(w,e),()=>!ee(l)),W}),Kn="_",Xn=Wt(e=>{const n=e._[0],s=n(),r=n(),o=ft(),l=ft(),a=kt(),i=ft(),d=ft(),c={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},u=ft(),b=ft(),w=ft(),v=ft(),I=ft(),V=ft(),{_:[,m,k],delListener:M}=r,[D,E,W,_,H,x,J,P,,F,O,A]=Dt(e,()=>[],ne,m,k),Q=e=>It(l,e,n),z=(e,t,...n)=>ce(n,n=>Mt(It(t,e,kt),n)),j=e=>Ct(e,(e,t)=>at(t,t=>e.delListener(t))),B=(e,t,n,...s)=>{const r=It(t,e,kt);return ce(s,t=>{Mt(r,t),n&&e.callListener(t)}),s},Z=(e,t,n)=>U(wt(t,e),s=>{e.delListener(n),it(s,n),st(s)&&vt(t,e)}),$=e=>U(wt(v,e),t=>{Ct(t,(e,t)=>Ct(t,(t,n)=>e.delListener(n))),vt(v,e)}),K=(e,t=ft())=>{const n=It(w,e,ft);Ct(n,(e,s)=>{Ct(s,(n,r)=>nt(wt(t,e),n)?0:(e.delListener(r),vt(s,n))),st(s)&&vt(n,e)}),Ct(t,(t,s)=>{const r=It(n,t,ft);at(s,n=>It(r,n,()=>t.addTableCellIdsListener(n,()=>ut(()=>oe(e),s=>{throw((e,t,n)=>{const s=It(It(v,e,ft),t,ft);It(s,n,()=>t.addTableListener(n,()=>oe(e)))})(e,t,n),s}))))}),st(n)&&vt(w,e)},te=()=>{Ct(o,e=>_(e)?0:vt(o,e)),Ct(l,(e,t)=>_(e)||((e,t)=>!(ot(i,([,e])=>ot(e,([e])=>e!==t))&&ot(V,t=>!nt(t,e))&&le([u,b],e=>ot(e,e=>!nt(e,t)))))(e,t)?0:vt(l,e))},se=(e,t,n)=>{z(e,n,e.addWillFinishTransactionListener(t.startTransaction)),z(e,n,e.addDidFinishTransactionListener(()=>t.finishTransaction()))},re=(e,t)=>(Je(t)?s.delRow:s.setRow)(Kn,e,{...t}),oe=(s,r)=>{const l=[ft(),ft(),void 0,ft(),kt(),ft()];let a=!1;return ut(()=>((s,r,o,l)=>Q(s).transaction(()=>U(((e,n)=>N(n)?x(e):[n[1],t,n[2]])(s,o),([a,,i])=>{const[d,c]=r,u=o?.[0]??H(s),g=i?Q(u):e,h=Q(s),f=o?.[3]??ue(s),b=r[4];i&&Mt(b,u);const w=[];let C=!1,v=0;const L=[[void 0,[u,void 0,void 0,[],ft(),g]]],R=[],T=[],p=[];a({select:(e,n,s)=>{const r=q(e)?n:e,o=q(e)?s:n,l=G(e)?[0,v+t,e]:N(o)?[0,e,t=>t(e)]:[0,o,t=>q(e)?t(!0,r,o):t(r,o)];return v++,be(w,l),{as:e=>l[1]=e}},selectAll:(e,n,s)=>{C=!0;const r=q(e)?n:e,o=q(e)?s:n;be(w,[1,r,G(o)?o:e=>(o??t)+e,G(o)||!N(o)&&o!==t?1:0])},join:(t,n,s,r)=>{const o=q(t)?n:t,[l,a]=q(t)?N(r)||G(s)?[void 0,s]:[s,r]:N(s)||G(n)?[void 0,n]:[n,s],i=q(t),d=i?Q(o):e;i&&Mt(b,o);const c=[o,[o,l,G(a)?a:e=>e(a),[],ft(),d]];return be(L,c),{as:e=>c[0]=e}},where:(e,t,n,s)=>be(R,G(e)?e:q(e)?e=>e(!0,t,n)===s:N(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,G(t)?[t,n,s,r]:wt(Nn,t)??[(e,t)=>t]]];return be(T,o),{as:e=>o[0]=e}},having:(e,t)=>be(p,G(e)?e:n=>n(e)===t),param:e=>Ve(f,e)});const S=ft(L);Ct(S,(e,[,t])=>U(wt(S,t),({3:t})=>N(e)?0:be(t,e)));const y=e=>N(e),V=e=>wt(S,y(e)?void 0:e),m=r[5];if(ce(w,([t,n,,s=0])=>t?U(V(n),([t,,,,,n])=>n===e?0:vt(m,t,wt(m,t)||s?1:0)):0),((e,t)=>{const n=(s,r,o=kt())=>s===r||!nt(o,s)&&(Mt(o,s),!ot((n=>n===e?t:wt(I,n))(s),(e,t)=>!n(t,r,o))),s=(e,t)=>!ot(t,(t,s)=>!t||!n(s,e));!s(e,t)&&ot(I,(t,n)=>n===e||!s(n,t))||dt(16)})(s,m),h.delTable(s),ee(w))return l?.(),ge;const k=ft(T),M=!st(k)||!ee(p),D=[],E=r[3];ce(w,([e,t,n])=>{e?M&&U(V(t),([e,,,,,t])=>{Mt(It(E,t,kt),e),ce(de(t.getTableCellIds(e)),e=>be(D,[n(e),ne]))}):be(D,[t,n])});const W=ft(D);if(M&&st(W))return l?.(),ge;const _=M?r[2]=n():h;if(M){const e=ft();Ct(k,(t,[n,s])=>Mt(It(e,n,kt),[t,s]));const t=kt();Ct(W,n=>nt(e,n)?0:Mt(t,n));const n=ft(),r=e=>N(e)?void 0:Ue(e),o=(t,n,r,o)=>U(t,([l,a,i,d])=>{Ct(n,(t,[n])=>{const s=It(l,t,ft),a=wt(s,r),i=o?void 0:n;if(a!==i){const n=kt([[a,i]]),o=Xe(s);vt(s,r,i),at(wt(e,t),([e,t])=>{const r=jn(d[e],o,s,n,t);me(d,e,N(Ne(r))?void 0:r)})}}),st(a)||!le(p,e=>e(e=>d[e]))?h.delRow(s,i):N(i)?t[2]=h.addRow(s,{...d}):h.setRow(s,i,{...d})});z(_,d,_.addRowListener(s,null,(l,a,i,d)=>{const c=[],u=[],g=ft(),h=_.hasRow(s,i);let f=!h;at(t,e=>{const[t,n,o]=d(s,i,e);be(c,r(n)),be(u,r(o)),f||=t}),Ct(e,e=>{const[t,,n]=d(s,i,e);(f||t)&&vt(g,e,[n])}),f&&o(mt(n,c,void 0,([,e])=>(it(e,i),st(e))),g,i,1),h&&o(mt(n,u,()=>{const e=ke();return at(t,t=>me(e,t,_.getCell(s,i,t))),[ft(),kt(),void 0,e]},([,e])=>{Mt(e,i)}),g,i)}))}const x=(e,t,n,r,o)=>{const l=e=>t.getCell(n,r,e);ce(o,t=>{const[n,,s,r,o,a]=wt(S,t),i=s?.(l,e),d=wt(o,e),u=d?.[0];i!=u&&(U(d,([,e,t])=>Z(e,c,t)),vt(o,e,N(i)?void 0:[i,a,...B(a,c,1,a.addRowListener(n,i,()=>x(e,a,n,i,r)))]))}),(e=>{const t=(t,n,s)=>{const r=q(t)?n:t,o=q(t)?s:n;if(N(o))return g.getCell(u,e,t);if(r===u&&!q(t))return g.getCell(u,e,o);const l=wt(S,r);return N(l)?void 0:l[5].getCell(l[0],wt(l[4],e)?.[0],o)};_.transaction(()=>{le(R,e=>e(t))?C?(()=>{const n=ke();ce(w,([s,r,o])=>{if(s)U(V(r),([t,,,,s,l])=>{const a=y(r)?e:wt(s,e)?.[0];U(a,e=>ce(de(l.getCellIds(t,e)),s=>me(n,o(s),l.getCell(t,e,s))))});else{const s=o(t,e),l=r;N(s)?Me(n,l):me(n,l,s)}}),Je(n)?_.delRow(s,e):_.setRow(s,e,n)})():Ct(W,(n,r)=>_._[5](s,e,n,r(t,e))):_.delRow(s,e)})})(e)},{3:J}=wt(S,void 0),P=(e,t,n)=>{g.hasRow(u,n)?x(n,g,u,n,J):(_.delRow(s,n),at(S,({4:e})=>U(wt(e,n),([,t,s])=>{Z(t,c,s),vt(e,n)})))};return _.transaction(()=>{ce(g.getRowIds(u),e=>P(0,0,e)),B(g,c,0,g.addRowListener(u,null,P))}),M&&se(_,h,d),se(g,_,d),l?.(),ge})))(s,l,r,()=>{U(r,e=>ae(s,e)),j(wt(u,s)),j(wt(b,s)),vt(u,s,st(l[0])?void 0:l[0]),vt(b,s,st(l[1])?void 0:l[1]),vt(o,s,l[2]),K(s,l[3]),$(s),vt(V,s,st(l[4])?void 0:l[4]),vt(I,s,st(l[5])?void 0:l[5]),a=!0}),e=>{throw a||(j(l[0]),j(l[1])),te(),e}),ge},ae=(e,[t,n,r,o])=>{U(x(e),([,e])=>s.delListener(e)),Mt(a,e),gt(()=>{P(e,t),J(e,[n,s.addRowListener(Kn,e,()=>nt(a,e)?0:oe(e),!0),r]),re(e,o)},()=>it(a,e))},ie=e=>(U(x(e),([,e])=>s.delListener(e)),s.delRow(Kn,e),(e=>{j(wt(u,e)),vt(u,e),ce([wt(l,e),wt(o,e)],t=>t?.delTable(e))})(e),(e=>{j(wt(b,e)),vt(b,e)})(e),K(e),$(e),vt(V,e),vt(I,e),F(e),te(),ge),ue=e=>s.getRow(Kn,e),ge={setQueryDefinition:(e,t,n,s,r={})=>{const[o,l,a,i]=q(t)?[n,s,1,r]:[t,n,0,s??{}];return oe(e,[o,l,a,i]),te(),ge},delQueryDefinition:ie,getParamValues:ue,getParamValue:(e,t)=>s.getCell(Kn,e,t),setParamValues:(e,t)=>(_(e)&&re(e,t),ge),setParamValue:(e,t,n)=>(_(e)&&s.setCell(Kn,e,t,n),ge),getStore:D,getQueryIds:E,forEachQuery:W,hasQuery:_,getTableId:H,forEachResultTable:e=>W(t=>Q(t).hasTable(t)?e(t,e=>ge.forEachResultRow(t,e)):0),addQueryIdsListener:e=>O(()=>e(ge)),addParamValuesListener:(e,t)=>"p"+s.addRowListener(Kn,e,(e,n,s)=>t(ge,s,ue(s))),addParamValueListener:(e,t,n)=>"p"+s.addCellListener(Kn,e,t,(e,t,s,r,o)=>n(ge,s,r,o)),delListener:e=>{const t=wt(i,e);if("p"==e[0])s.delListener(X(e,1));else if(N(t))M(e);else{const[n,s,r]=t;Ct(s,(e,[t,n])=>t.delListener(n)),U(r,M),vt(i,e),M(e),c[n]--}return te(),ge},destroy:()=>{ce(E(),ie),A()},getListenerStats:()=>({...c,paramValues:s.getListenerStats().row-Y(E()),paramValue:s.getListenerStats().cell})};return De({[C]:[2,1],[C+y]:[1,1],[R]:[1,1],[T]:[1,1],[p]:[1,5],[L]:[3,2],[y]:[1,2],[S]:[3,3]},([e,t],n)=>{ce(X(["get","has","forEach"],0,e),e=>me(ge,e+h+n,(...t)=>(wt(l,t[0])??r)[e+n](...t))),me(ge,f+h+n+g,(...e)=>((s,r)=>{const o=m(ne,d),l=ft(),a=()=>{const s=null==r?E():[r];ce(s,s=>{return nt(l,s)?0:vt(l,s,[Q(s),(r=Q(s),r[f+n+g](...((e,t)=>5==t?[e[0],e[1]??void 0,e[2],e[3],e[4]]:X(e,0,t))(e,t),(n,...s)=>e[t](ge,...s),!0))]);var r}),Ct(l,(e,[t,n])=>null==r&&_(e)||e==r?0:(t.delListener(n),void vt(l,e)))};return a(),vt(i,o,[s,l,null==r?O(a):void 0]),c[s]++,o})((e=>e[0].toLowerCase()+X(e,1))(n),e[0]))}),Se(ge)}),Yn=Wt(e=>{const n=ft(),s=ft(),r=ft(),o=ft(),[l,a,i]=xt(()=>T),[d,c,u,g,h,f,,,b,w,C,v]=Dt(e,()=>[ft(),ft(),ft(),ft()],e=>N(e)?void 0:e+t,l,a),I=(e,t,n)=>U(f(e),([s,,r])=>{if(!nt(r,t)){const o=kt();if(h(e)!=R(e))Mt(o,t);else{let e=t;for(;!N(e)&&!nt(o,e);)Mt(o,e),e=wt(s,e)}if(n)return o;vt(r,t,o)}return wt(r,t)}),L=(e,t)=>U(f(e),([,,e])=>vt(e,t)),R=e=>wt(n,e),T={setRelationshipDefinition:(e,t,l,i)=>(vt(n,e,l),b(e,t,(t,n)=>{const l=kt(),i=kt(),d=kt(),[c,u]=f(e);at(n,([t,n],s)=>{N(t)||(Mt(i,t),U(wt(u,t),e=>{it(e,s),st(e)&&vt(u,t)})),N(n)||(Mt(i,n),nt(u,n)||vt(u,n,kt()),Mt(wt(u,n),s)),Mt(l,s),vt(c,s,n),Ct(wt(o,e),t=>{nt(I(e,t),s)&&Mt(d,t)})}),t(),at(l,t=>a(s,[e,t])),at(i,t=>a(r,[e,t])),at(d,t=>{L(e,t),a(o,[e,t])})},Et(i)),T),delRelationshipDefinition:e=>(vt(n,e),w(e),T),getStore:d,getRelationshipIds:c,forEachRelationship:t=>u(n=>t(n,t=>e.forEachRow(h(n),t))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:R,getRemoteRowId:(e,t)=>wt(f(e)?.[0],t),getLocalRowIds:(e,t)=>rt(wt(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>N(f(e))?[t]:rt(I(e,t,!0)),addRelationshipIdsListener:C,addRemoteRowIdListener:(e,t,n)=>l(n,s,[e,t]),addLocalRowIdsListener:(e,t,n)=>l(n,r,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(I(e,t),l(n,o,[e,t])),delListener:e=>(L(...i(e)??[]),T),destroy:v,getListenerStats:()=>({remoteRowId:et(s),localRowIds:et(r),linkedRowIds:et(o)})};return Se(T)});export{Bt as addOrRemoveHash,Pt as createCheckpoints,wn as createIndexes,zn as createMergeableStore,qn as createMetrics,Gn as createMiddleware,Xn as createQueries,Yn as createRelationships,Pn as createStore,bn as defaultSorter,Gt as getCellHash,Kt as getCellInRowHash,qt as getHash,fn as getHlcFunctions,Xt as getRowHash,Yt as getRowInTableHash,en as getTableHash,tn as getTableInTablesHash,nn as getTablesHash,Nt as getUniqueId,$t as getValueHash,Zt as getValueInValuesHash,Ut as getValuesHash};
|
|
Binary file
|
package/omni/index.js
CHANGED
|
@@ -28,6 +28,7 @@ const OBJECT = 'object';
|
|
|
28
28
|
const ARRAY = 'array';
|
|
29
29
|
const TRUE = 'true';
|
|
30
30
|
const TYPE = 'type';
|
|
31
|
+
const ENUM = 'enum';
|
|
31
32
|
const DEFAULT = 'default';
|
|
32
33
|
const ALLOW_NULL = 'allowNull';
|
|
33
34
|
const NULL = 'null';
|
|
@@ -307,6 +308,14 @@ const getCellOrValueType = (cellOrValue) => {
|
|
|
307
308
|
const isCellOrValueOrUndefined = (cellOrValue) =>
|
|
308
309
|
isUndefined(cellOrValue) || !isUndefined(getCellOrValueType(cellOrValue));
|
|
309
310
|
const isJsonType = (type) => type == OBJECT || type == ARRAY;
|
|
311
|
+
const isCellOrValueSchemaType = (type) =>
|
|
312
|
+
isTypeStringOrBoolean(type) || type == NUMBER || isJsonType(type);
|
|
313
|
+
const isCellOrValueSchemaTypes = (types) =>
|
|
314
|
+
isArray(types)
|
|
315
|
+
? !isUndefined(types[0]) && arrayEvery(types, isCellOrValueSchemaType)
|
|
316
|
+
: isCellOrValueSchemaType(types);
|
|
317
|
+
const cellOrValueSchemaTypeIncludes = (types, type) =>
|
|
318
|
+
isArray(types) ? arrayHas(types, type) : types == type;
|
|
310
319
|
const encodeIfJson = (value) =>
|
|
311
320
|
isObject(value) || isArray(value) ? JSON_PREFIX + jsonString(value) : value;
|
|
312
321
|
const isEncodedJson = (value) => isString(value) && value[0] == JSON_PREFIX;
|
|
@@ -1625,13 +1634,29 @@ const createStore = () => {
|
|
|
1625
1634
|
const validateCellOrValueSchema = (schema) => {
|
|
1626
1635
|
if (
|
|
1627
1636
|
!objValidate(schema, (_child, id2) =>
|
|
1628
|
-
arrayHas([TYPE, DEFAULT, ALLOW_NULL, REQUIRED], id2),
|
|
1637
|
+
arrayHas([TYPE, ENUM, DEFAULT, ALLOW_NULL, REQUIRED], id2),
|
|
1629
1638
|
)
|
|
1630
1639
|
) {
|
|
1631
1640
|
return false;
|
|
1632
1641
|
}
|
|
1633
1642
|
const type = schema[TYPE];
|
|
1634
|
-
|
|
1643
|
+
const enumValues = schema[ENUM];
|
|
1644
|
+
if (
|
|
1645
|
+
isUndefined(enumValues)
|
|
1646
|
+
? !isCellOrValueSchemaTypes(type)
|
|
1647
|
+
: !isUndefined(type) ||
|
|
1648
|
+
!isArray(enumValues) ||
|
|
1649
|
+
isUndefined(enumValues[0]) ||
|
|
1650
|
+
!arrayEvery(enumValues, (enumValue) => {
|
|
1651
|
+
const enumType = getCellOrValueType(enumValue);
|
|
1652
|
+
return (
|
|
1653
|
+
!isNull(enumValue) &&
|
|
1654
|
+
!isUndefined(enumType) &&
|
|
1655
|
+
!isJsonType(enumType) &&
|
|
1656
|
+
!isReservedString(enumValue)
|
|
1657
|
+
);
|
|
1658
|
+
})
|
|
1659
|
+
) {
|
|
1635
1660
|
return false;
|
|
1636
1661
|
}
|
|
1637
1662
|
const defaultValue = schema[DEFAULT];
|
|
@@ -1640,7 +1665,12 @@ const createStore = () => {
|
|
|
1640
1665
|
}
|
|
1641
1666
|
if (!isNull(defaultValue)) {
|
|
1642
1667
|
if (
|
|
1643
|
-
|
|
1668
|
+
(isUndefined(enumValues)
|
|
1669
|
+
? !cellOrValueSchemaTypeIncludes(
|
|
1670
|
+
type,
|
|
1671
|
+
getCellOrValueType(defaultValue),
|
|
1672
|
+
)
|
|
1673
|
+
: !arrayHas(enumValues, defaultValue)) ||
|
|
1644
1674
|
isReservedString(defaultValue)
|
|
1645
1675
|
) {
|
|
1646
1676
|
objDel(schema, DEFAULT);
|
|
@@ -1667,13 +1697,15 @@ const createStore = () => {
|
|
|
1667
1697
|
isObject(tables) ? objMap(tables, cloneTable) : tables;
|
|
1668
1698
|
const cloneValues = (values) =>
|
|
1669
1699
|
isObject(values) ? objMap(values, getArg) : values;
|
|
1670
|
-
const isValidEncodedJson = (cellOrValue,
|
|
1700
|
+
const isValidEncodedJson = (cellOrValue, types) =>
|
|
1671
1701
|
acceptingEncodedData == 1 &&
|
|
1672
1702
|
isEncodedJson(cellOrValue) &&
|
|
1673
1703
|
tryReturn(() => {
|
|
1674
1704
|
const encodedType = getCellOrValueType(decodeIfJson(cellOrValue));
|
|
1675
1705
|
return (
|
|
1676
|
-
isJsonType(encodedType) &&
|
|
1706
|
+
isJsonType(encodedType) &&
|
|
1707
|
+
(isUndefined(types) ||
|
|
1708
|
+
cellOrValueSchemaTypeIncludes(types, encodedType))
|
|
1677
1709
|
);
|
|
1678
1710
|
}, false) == true;
|
|
1679
1711
|
const validateContent = isArray;
|
|
@@ -1726,7 +1758,8 @@ const createStore = () => {
|
|
|
1726
1758
|
: isReservedString(cell, acceptingEncodedData)
|
|
1727
1759
|
? cellInvalid(tableId, rowId, cellId, cell, cellSchema[DEFAULT])
|
|
1728
1760
|
: isEncodedJson(cell)
|
|
1729
|
-
?
|
|
1761
|
+
? isUndefined(cellSchema[ENUM]) &&
|
|
1762
|
+
isValidEncodedJson(cell, cellSchema[TYPE])
|
|
1730
1763
|
? cell
|
|
1731
1764
|
: cellInvalid(
|
|
1732
1765
|
tableId,
|
|
@@ -1735,23 +1768,36 @@ const createStore = () => {
|
|
|
1735
1768
|
cell,
|
|
1736
1769
|
cellSchema[DEFAULT],
|
|
1737
1770
|
)
|
|
1738
|
-
:
|
|
1739
|
-
?
|
|
1740
|
-
|
|
1771
|
+
: isUndefined(cellSchema[ENUM])
|
|
1772
|
+
? cellOrValueSchemaTypeIncludes(
|
|
1773
|
+
cellSchema[TYPE],
|
|
1774
|
+
getCellOrValueType(cell),
|
|
1775
|
+
)
|
|
1776
|
+
? encodeValid(cell, () =>
|
|
1777
|
+
cellInvalid(
|
|
1778
|
+
tableId,
|
|
1779
|
+
rowId,
|
|
1780
|
+
cellId,
|
|
1781
|
+
cell,
|
|
1782
|
+
cellSchema[DEFAULT],
|
|
1783
|
+
),
|
|
1784
|
+
)
|
|
1785
|
+
: cellInvalid(
|
|
1786
|
+
tableId,
|
|
1787
|
+
rowId,
|
|
1788
|
+
cellId,
|
|
1789
|
+
cell,
|
|
1790
|
+
cellSchema[DEFAULT],
|
|
1791
|
+
)
|
|
1792
|
+
: arrayHas(cellSchema[ENUM], cell)
|
|
1793
|
+
? cell
|
|
1794
|
+
: cellInvalid(
|
|
1741
1795
|
tableId,
|
|
1742
1796
|
rowId,
|
|
1743
1797
|
cellId,
|
|
1744
1798
|
cell,
|
|
1745
1799
|
cellSchema[DEFAULT],
|
|
1746
1800
|
),
|
|
1747
|
-
)
|
|
1748
|
-
: cellInvalid(
|
|
1749
|
-
tableId,
|
|
1750
|
-
rowId,
|
|
1751
|
-
cellId,
|
|
1752
|
-
cell,
|
|
1753
|
-
cellSchema[DEFAULT],
|
|
1754
|
-
),
|
|
1755
1801
|
() => cellInvalid(tableId, rowId, cellId, cell),
|
|
1756
1802
|
)
|
|
1757
1803
|
: isUndefined(getCellOrValueType(cell)) ||
|
|
@@ -1796,14 +1842,22 @@ const createStore = () => {
|
|
|
1796
1842
|
: isReservedString(value, acceptingEncodedData)
|
|
1797
1843
|
? valueInvalid(valueId, value, valueSchema[DEFAULT])
|
|
1798
1844
|
: isEncodedJson(value)
|
|
1799
|
-
?
|
|
1845
|
+
? isUndefined(valueSchema[ENUM]) &&
|
|
1846
|
+
isValidEncodedJson(value, valueSchema[TYPE])
|
|
1800
1847
|
? value
|
|
1801
1848
|
: valueInvalid(valueId, value, valueSchema[DEFAULT])
|
|
1802
|
-
:
|
|
1803
|
-
?
|
|
1804
|
-
|
|
1849
|
+
: isUndefined(valueSchema[ENUM])
|
|
1850
|
+
? cellOrValueSchemaTypeIncludes(
|
|
1851
|
+
valueSchema[TYPE],
|
|
1852
|
+
getCellOrValueType(value),
|
|
1805
1853
|
)
|
|
1806
|
-
|
|
1854
|
+
? encodeValid(value, () =>
|
|
1855
|
+
valueInvalid(valueId, value, valueSchema[DEFAULT]),
|
|
1856
|
+
)
|
|
1857
|
+
: valueInvalid(valueId, value, valueSchema[DEFAULT])
|
|
1858
|
+
: arrayHas(valueSchema[ENUM], value)
|
|
1859
|
+
? value
|
|
1860
|
+
: valueInvalid(valueId, value, valueSchema[DEFAULT]),
|
|
1807
1861
|
() => valueInvalid(valueId, value),
|
|
1808
1862
|
)
|
|
1809
1863
|
: isUndefined(getCellOrValueType(value)) ||
|
|
@@ -28,6 +28,7 @@ const OBJECT = 'object';
|
|
|
28
28
|
const ARRAY = 'array';
|
|
29
29
|
const TRUE = 'true';
|
|
30
30
|
const TYPE = 'type';
|
|
31
|
+
const ENUM = 'enum';
|
|
31
32
|
const DEFAULT = 'default';
|
|
32
33
|
const ALLOW_NULL = 'allowNull';
|
|
33
34
|
const NULL = 'null';
|
|
@@ -307,6 +308,14 @@ const getCellOrValueType = (cellOrValue) => {
|
|
|
307
308
|
const isCellOrValueOrUndefined = (cellOrValue) =>
|
|
308
309
|
isUndefined(cellOrValue) || !isUndefined(getCellOrValueType(cellOrValue));
|
|
309
310
|
const isJsonType = (type) => type == OBJECT || type == ARRAY;
|
|
311
|
+
const isCellOrValueSchemaType = (type) =>
|
|
312
|
+
isTypeStringOrBoolean(type) || type == NUMBER || isJsonType(type);
|
|
313
|
+
const isCellOrValueSchemaTypes = (types) =>
|
|
314
|
+
isArray(types)
|
|
315
|
+
? !isUndefined(types[0]) && arrayEvery(types, isCellOrValueSchemaType)
|
|
316
|
+
: isCellOrValueSchemaType(types);
|
|
317
|
+
const cellOrValueSchemaTypeIncludes = (types, type) =>
|
|
318
|
+
isArray(types) ? arrayHas(types, type) : types == type;
|
|
310
319
|
const encodeIfJson = (value) =>
|
|
311
320
|
isObject(value) || isArray(value) ? JSON_PREFIX + jsonString(value) : value;
|
|
312
321
|
const isEncodedJson = (value) => isString(value) && value[0] == JSON_PREFIX;
|
|
@@ -1625,13 +1634,29 @@ const createStore = () => {
|
|
|
1625
1634
|
const validateCellOrValueSchema = (schema) => {
|
|
1626
1635
|
if (
|
|
1627
1636
|
!objValidate(schema, (_child, id2) =>
|
|
1628
|
-
arrayHas([TYPE, DEFAULT, ALLOW_NULL, REQUIRED], id2),
|
|
1637
|
+
arrayHas([TYPE, ENUM, DEFAULT, ALLOW_NULL, REQUIRED], id2),
|
|
1629
1638
|
)
|
|
1630
1639
|
) {
|
|
1631
1640
|
return false;
|
|
1632
1641
|
}
|
|
1633
1642
|
const type = schema[TYPE];
|
|
1634
|
-
|
|
1643
|
+
const enumValues = schema[ENUM];
|
|
1644
|
+
if (
|
|
1645
|
+
isUndefined(enumValues)
|
|
1646
|
+
? !isCellOrValueSchemaTypes(type)
|
|
1647
|
+
: !isUndefined(type) ||
|
|
1648
|
+
!isArray(enumValues) ||
|
|
1649
|
+
isUndefined(enumValues[0]) ||
|
|
1650
|
+
!arrayEvery(enumValues, (enumValue) => {
|
|
1651
|
+
const enumType = getCellOrValueType(enumValue);
|
|
1652
|
+
return (
|
|
1653
|
+
!isNull(enumValue) &&
|
|
1654
|
+
!isUndefined(enumType) &&
|
|
1655
|
+
!isJsonType(enumType) &&
|
|
1656
|
+
!isReservedString(enumValue)
|
|
1657
|
+
);
|
|
1658
|
+
})
|
|
1659
|
+
) {
|
|
1635
1660
|
return false;
|
|
1636
1661
|
}
|
|
1637
1662
|
const defaultValue = schema[DEFAULT];
|
|
@@ -1640,7 +1665,12 @@ const createStore = () => {
|
|
|
1640
1665
|
}
|
|
1641
1666
|
if (!isNull(defaultValue)) {
|
|
1642
1667
|
if (
|
|
1643
|
-
|
|
1668
|
+
(isUndefined(enumValues)
|
|
1669
|
+
? !cellOrValueSchemaTypeIncludes(
|
|
1670
|
+
type,
|
|
1671
|
+
getCellOrValueType(defaultValue),
|
|
1672
|
+
)
|
|
1673
|
+
: !arrayHas(enumValues, defaultValue)) ||
|
|
1644
1674
|
isReservedString(defaultValue)
|
|
1645
1675
|
) {
|
|
1646
1676
|
objDel(schema, DEFAULT);
|
|
@@ -1667,13 +1697,15 @@ const createStore = () => {
|
|
|
1667
1697
|
isObject(tables) ? objMap(tables, cloneTable) : tables;
|
|
1668
1698
|
const cloneValues = (values) =>
|
|
1669
1699
|
isObject(values) ? objMap(values, getArg) : values;
|
|
1670
|
-
const isValidEncodedJson = (cellOrValue,
|
|
1700
|
+
const isValidEncodedJson = (cellOrValue, types) =>
|
|
1671
1701
|
acceptingEncodedData == 1 &&
|
|
1672
1702
|
isEncodedJson(cellOrValue) &&
|
|
1673
1703
|
tryReturn(() => {
|
|
1674
1704
|
const encodedType = getCellOrValueType(decodeIfJson(cellOrValue));
|
|
1675
1705
|
return (
|
|
1676
|
-
isJsonType(encodedType) &&
|
|
1706
|
+
isJsonType(encodedType) &&
|
|
1707
|
+
(isUndefined(types) ||
|
|
1708
|
+
cellOrValueSchemaTypeIncludes(types, encodedType))
|
|
1677
1709
|
);
|
|
1678
1710
|
}, false) == true;
|
|
1679
1711
|
const validateContent = isArray;
|
|
@@ -1726,7 +1758,8 @@ const createStore = () => {
|
|
|
1726
1758
|
: isReservedString(cell, acceptingEncodedData)
|
|
1727
1759
|
? cellInvalid(tableId, rowId, cellId, cell, cellSchema[DEFAULT])
|
|
1728
1760
|
: isEncodedJson(cell)
|
|
1729
|
-
?
|
|
1761
|
+
? isUndefined(cellSchema[ENUM]) &&
|
|
1762
|
+
isValidEncodedJson(cell, cellSchema[TYPE])
|
|
1730
1763
|
? cell
|
|
1731
1764
|
: cellInvalid(
|
|
1732
1765
|
tableId,
|
|
@@ -1735,23 +1768,36 @@ const createStore = () => {
|
|
|
1735
1768
|
cell,
|
|
1736
1769
|
cellSchema[DEFAULT],
|
|
1737
1770
|
)
|
|
1738
|
-
:
|
|
1739
|
-
?
|
|
1740
|
-
|
|
1771
|
+
: isUndefined(cellSchema[ENUM])
|
|
1772
|
+
? cellOrValueSchemaTypeIncludes(
|
|
1773
|
+
cellSchema[TYPE],
|
|
1774
|
+
getCellOrValueType(cell),
|
|
1775
|
+
)
|
|
1776
|
+
? encodeValid(cell, () =>
|
|
1777
|
+
cellInvalid(
|
|
1778
|
+
tableId,
|
|
1779
|
+
rowId,
|
|
1780
|
+
cellId,
|
|
1781
|
+
cell,
|
|
1782
|
+
cellSchema[DEFAULT],
|
|
1783
|
+
),
|
|
1784
|
+
)
|
|
1785
|
+
: cellInvalid(
|
|
1786
|
+
tableId,
|
|
1787
|
+
rowId,
|
|
1788
|
+
cellId,
|
|
1789
|
+
cell,
|
|
1790
|
+
cellSchema[DEFAULT],
|
|
1791
|
+
)
|
|
1792
|
+
: arrayHas(cellSchema[ENUM], cell)
|
|
1793
|
+
? cell
|
|
1794
|
+
: cellInvalid(
|
|
1741
1795
|
tableId,
|
|
1742
1796
|
rowId,
|
|
1743
1797
|
cellId,
|
|
1744
1798
|
cell,
|
|
1745
1799
|
cellSchema[DEFAULT],
|
|
1746
1800
|
),
|
|
1747
|
-
)
|
|
1748
|
-
: cellInvalid(
|
|
1749
|
-
tableId,
|
|
1750
|
-
rowId,
|
|
1751
|
-
cellId,
|
|
1752
|
-
cell,
|
|
1753
|
-
cellSchema[DEFAULT],
|
|
1754
|
-
),
|
|
1755
1801
|
() => cellInvalid(tableId, rowId, cellId, cell),
|
|
1756
1802
|
)
|
|
1757
1803
|
: isUndefined(getCellOrValueType(cell)) ||
|
|
@@ -1796,14 +1842,22 @@ const createStore = () => {
|
|
|
1796
1842
|
: isReservedString(value, acceptingEncodedData)
|
|
1797
1843
|
? valueInvalid(valueId, value, valueSchema[DEFAULT])
|
|
1798
1844
|
: isEncodedJson(value)
|
|
1799
|
-
?
|
|
1845
|
+
? isUndefined(valueSchema[ENUM]) &&
|
|
1846
|
+
isValidEncodedJson(value, valueSchema[TYPE])
|
|
1800
1847
|
? value
|
|
1801
1848
|
: valueInvalid(valueId, value, valueSchema[DEFAULT])
|
|
1802
|
-
:
|
|
1803
|
-
?
|
|
1804
|
-
|
|
1849
|
+
: isUndefined(valueSchema[ENUM])
|
|
1850
|
+
? cellOrValueSchemaTypeIncludes(
|
|
1851
|
+
valueSchema[TYPE],
|
|
1852
|
+
getCellOrValueType(value),
|
|
1805
1853
|
)
|
|
1806
|
-
|
|
1854
|
+
? encodeValid(value, () =>
|
|
1855
|
+
valueInvalid(valueId, value, valueSchema[DEFAULT]),
|
|
1856
|
+
)
|
|
1857
|
+
: valueInvalid(valueId, value, valueSchema[DEFAULT])
|
|
1858
|
+
: arrayHas(valueSchema[ENUM], value)
|
|
1859
|
+
? value
|
|
1860
|
+
: valueInvalid(valueId, value, valueSchema[DEFAULT]),
|
|
1807
1861
|
() => valueInvalid(valueId, value),
|
|
1808
1862
|
)
|
|
1809
1863
|
: isUndefined(getCellOrValueType(value)) ||
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tinybase",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.5.0-beta.1",
|
|
4
4
|
"author": "jamesgpearce",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"sideEffects": false,
|
|
35
35
|
"peerDependencies": {
|
|
36
36
|
"@automerge/automerge-repo": "^2.5.6",
|
|
37
|
-
"@cloudflare/workers-types": "^5.
|
|
37
|
+
"@cloudflare/workers-types": "^5.20260809.1",
|
|
38
38
|
"@electric-sql/pglite": "^0.5.4",
|
|
39
39
|
"@libsql/client": "^0.17.4",
|
|
40
40
|
"@powersync/common": "^2.0.0",
|