tinybase 9.7.0-beta.1 → 9.7.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/indexes/index.d.ts +3 -3
- package/@types/indexes/with-schemas/index.d.ts +3 -3
- package/@types/persisters/persister-electric-sql/index.d.ts +12 -0
- package/@types/persisters/persister-electric-sql/with-schemas/index.d.ts +12 -0
- package/@types/persisters/persister-sqlite3/index.d.ts +12 -0
- package/@types/persisters/persister-sqlite3/with-schemas/index.d.ts +12 -0
- package/@types/ui-react-dom/index.d.ts +10 -10
- package/@types/ui-react-dom/with-schemas/index.d.ts +10 -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-dom/index.d.ts +10 -10
- package/@types/ui-solid-dom/with-schemas/index.d.ts +10 -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-dom/index.d.ts +10 -10
- package/@types/ui-svelte-dom/with-schemas/index.d.ts +10 -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 +7 -0
- package/checkpoints/index.js +4 -2
- package/checkpoints/with-schemas/index.js +4 -2
- package/index.js +37 -4
- package/metrics/index.js +2 -1
- package/metrics/with-schemas/index.js +2 -1
- package/min/checkpoints/index.js +1 -1
- package/min/checkpoints/index.js.gz +0 -0
- package/min/checkpoints/with-schemas/index.js +1 -1
- package/min/checkpoints/with-schemas/index.js.gz +0 -0
- package/min/index.js +1 -1
- package/min/index.js.gz +0 -0
- package/min/metrics/index.js +1 -1
- package/min/metrics/index.js.gz +0 -0
- package/min/metrics/with-schemas/index.js +1 -1
- package/min/metrics/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/queries/index.js +1 -1
- package/min/queries/index.js.gz +0 -0
- package/min/queries/with-schemas/index.js +1 -1
- package/min/queries/with-schemas/index.js.gz +0 -0
- package/min/relationships/index.js +1 -1
- package/min/relationships/index.js.gz +0 -0
- package/min/relationships/with-schemas/index.js +1 -1
- package/min/relationships/with-schemas/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/index.js +1 -1
- package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
- package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/min/synchronizers/synchronizer-local/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 +38 -5
- package/omni/with-schemas/index.js +38 -5
- package/package.json +5 -5
- package/queries/index.js +2 -1
- package/queries/with-schemas/index.js +2 -1
- package/readme.md +14 -14
- package/relationships/index.js +39 -9
- package/relationships/with-schemas/index.js +39 -9
- package/releases.md +72 -72
- package/synchronizers/synchronizer-local/index.js +1 -1
- package/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
- package/with-schemas/index.js +37 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",r=e(t),n=e(!0),s=e(0),o=e(e),l="Listener",a="Result",i="Ids",d="Table",c="Row",u=c+"Count",v=c+i,w="Sorted"+c+i,f="Cell",L=f+i,g=Math,h=e=>(t,r,n)=>e(t)?n?.():r(t),R=g.max,y=g.min,b=1/0,p=isFinite,C=e=>null==e,m=e=>void 0===e,T=e=>!0===e,I=h(C),P=h(m),V=t=>e(t)==o,E=e=>Array.isArray(e),S=(e,t,r)=>e.slice(t,r),Q=e=>e.length,D=e=>0==Q(e),O=()=>{},_=(e,t)=>e.every(t),j=(e,t)=>e.sort(t),k=(e,t)=>e.forEach(t),x=e=>A(e,(e,t)=>e+t,0),A=(e,t,r)=>e.reduce(t,r),F=(e,...t)=>e.push(...t),M=e=>e?.size??0,z=(e,t)=>e?.has(t)??!1,W=e=>m(e)||0==M(e),J=(e,t)=>{for(const[r,n]of e?.entries()??[])if(!t(n,r))return!1;return!0},N=e=>e.clear(),q=(e,t)=>e?.forEach(t),B=(e,t)=>e?.delete(t),G=Object,H=e=>G.getPrototypeOf(e),K=e=>!C(e)&&I(H(e),e=>e==G.prototype||C(H(e)),()=>!0),U=G.keys,X=G.freeze,Y=(e,t,r)=>(G.defineProperty(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}),r),Z=(e=[])=>{const t=G.create(null);return k(e,([e,r])=>Y(t,e,r)),t},$=e=>K(e)&&0==(e=>Q(U(e)))(e),ee=Map,te=e=>new ee(e),re=(e,t)=>e?.get(t),ne=(e,t)=>q(e,(e,r)=>t(r,e)),se=(e,t,r)=>m(r)?(B(e,t),e):e?.set(t,r),oe=(e,t,r,n)=>{let s=re(e,t);return z(e,t)?n?.(s):se(e,t,s=r()),s},le=(e,t,r,n,s=0)=>P((r?oe:re)(e,t[s],s>Q(t)-2?r:te),o=>{if(s>Q(t)-2)return n?.(o)&&se(e,t[s]),o;const l=le(o,t,r,n,s+1);return W(o)&&se(e,t[s]),l}),ae=te([["avg",[(e,t)=>x(e)/t,(e,t,r)=>e+(t-e)/(r+1),(e,t,r)=>e+(e-t)/(r-1),(e,t,r,n)=>e+(t-r)/n]],["max",[e=>A(e,(e,t)=>R(e,t),-1/0),(e,t)=>R(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:R(t,e)]],["min",[e=>A(e,(e,t)=>y(e,t),b),(e,t)=>y(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:y(t,e)]],["sum",[e=>x(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,r)=>e-r+t]]]),ie=JSON.stringify,de=(e,t)=>{try{return e()}catch(e){t?.(e)}},ce=e=>new Set(E(e)||m(e)?e:[e]),ue=(e,t)=>e?.add(t),ve="_",we=(()=>{const o=new WeakMap;return i=>{if(!o.has(i)){const g=(o=>{const i=o._[0],g=i(),h=i(),R=te(),y=te(),b=ce(),C=te(),I=te(),x={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},A=te(),H=te(),ee=te(),we=te(),fe=te(),Le=te(),{_:[,ge,he],delListener:Re}=h,[ye,be,pe,Ce,me,Te,Ie,Pe,,Ve,Ee,Se]=((e,t,r,n,s)=>{const o=e.hasRow,l=te(),a=te(),i=te(),d=te(),c=te(),u=te(),v=t=>P(re(u,t),r=>{q(r,t=>{e.delListener(t),B(r,t)}),se(u,t)}),w=(e,t)=>{se(l,e,t),z(a,e)||(se(a,e,[]),se(d,e,te()),se(c,e,te()),de(()=>s(i),t=>{throw se(l,e),se(a,e),se(d,e),se(c,e),t}))},f=e=>{se(l,e),se(a,e),se(d,e),se(c,e),v(e),s(i)};return[()=>e,()=>{return e=l,[...e?.keys()??[]];var e},e=>ne(a,e),e=>z(a,e),e=>re(l,e),e=>re(a,e),(e,t)=>se(a,e,t),w,(t,n,s,l,a)=>{w(t,n);const i=te(),f=te(),L=re(d,t),g=re(c,t),h=t=>{const s=r=>e.getCell(n,t,r),d=re(L,t),c=o(n,t)?r(l(s,t)):void 0;var u,v,w,h;if(d===c||E(d)&&E(c)&&(v=c,Q(u=d)===Q(v)&&_(u,(e,t)=>v[t]===e))||se(i,t,[d,c]),!m(a)){const e=re(g,t),r=o(n,t)?a(s,t):void 0;(w=e)===(h=r)||(K(w)||E(w))&&ie(w)===ie(h)||se(f,t,r)}},R=e=>{s(()=>{q(i,([,e],t)=>se(L,t,e)),q(f,(e,t)=>se(g,t,e))},i,f,L,g,e),N(i),N(f)};ne(L,h),e.hasTable(n)&&k(e.getRowIds(n),e=>{z(L,e)||h(e)}),R(!0),v(t),((e,...t)=>{const r=oe(u,e,ce);k(t,e=>ue(r,e))})(t,e.addRowListener(n,null,(e,t,r)=>h(r)),e.addTableListener(n,()=>R()))},f,e=>n(e,i),()=>ne(u,f)]})(o,0,O,ge,he),Qe=e=>oe(y,e,i),De=(e,t,...r)=>k(r,r=>ue(oe(t,e,ce),r)),Oe=e=>ne(e,(e,t)=>q(t,t=>e.delListener(t))),_e=(e,t,r,...n)=>{const s=oe(t,e,ce);return k(n,t=>{ue(s,t),r&&e.callListener(t)}),n},je=(e,t,r)=>P(re(t,e),n=>{e.delListener(r),B(n,r),W(n)&&se(t,e)}),ke=e=>P(re(we,e),t=>{ne(t,(e,t)=>ne(t,(t,r)=>e.delListener(r))),se(we,e)}),xe=(e,t=te())=>{const r=oe(ee,e,te);ne(r,(e,n)=>{ne(n,(r,s)=>z(re(t,e),r)?0:(e.delListener(s),se(n,r))),W(n)&&se(r,e)}),ne(t,(t,n)=>{const s=oe(r,t,te);q(n,r=>oe(s,r,()=>t.addTableCellIdsListener(r,()=>de(()=>We(e),n=>{throw((e,t,r)=>{const n=oe(oe(we,e,te),t,te);oe(n,r,()=>t.addTableListener(r,()=>We(e)))})(e,t,r),n}))))}),W(r)&&se(ee,e)},Ae=()=>{ne(R,e=>Ce(e)?0:se(R,e)),ne(y,(e,t)=>Ce(e)||((e,t)=>!(J(C,([,e])=>J(e,([e])=>e!==t))&&J(Le,t=>!z(t,e))&&_([A,H],e=>J(e,e=>!z(e,t)))))(e,t)?0:se(y,e))},Fe=(e,t,r)=>{De(e,r,e.addWillFinishTransactionListener(t.startTransaction)),De(e,r,e.addDidFinishTransactionListener(()=>t.finishTransaction()))},Me=(e,t)=>($(t)?g.delRow:g.setRow)(ve,e,{...t}),ze=(l,a,d,c)=>Qe(l).transaction(()=>P(((e,r)=>m(r)?Te(e):[r[1],t,r[2]])(l,d),([u,,v])=>{const[w,f]=a,L=d?.[0]??me(l),g=v?Qe(L):o,h=Qe(l),R=d?.[3]??qe(l),y=a[4];v&&ue(y,L);const b=[];let C=!1,I=0;const S=[[void 0,[L,void 0,void 0,[],te(),g]]],Q=[],x=[],A=[];u({select:(e,r,n)=>{const s=T(e)?r:e,o=T(e)?n:r,l=V(e)?[0,I+t,e]:m(o)?[0,e,t=>t(e)]:[0,o,t=>T(e)?t(!0,s,o):t(s,o)];return I++,F(b,l),{as:e=>l[1]=e}},selectAll:(e,r,n)=>{C=!0;const s=T(e)?r:e,o=T(e)?n:r;F(b,[1,s,V(o)?o:e=>(o??t)+e,V(o)||!m(o)&&o!==t?1:0])},join:(e,t,r,n)=>{const s=T(e)?t:e,[l,a]=T(e)?m(n)||V(r)?[void 0,r]:[r,n]:m(r)||V(t)?[void 0,t]:[t,r],i=T(e),d=i?Qe(s):o;i&&ue(y,s);const c=[s,[s,l,V(a)?a:e=>e(a),[],te(),d]];return F(S,c),{as:e=>c[0]=e}},where:(e,t,r,n)=>F(Q,V(e)?e:T(e)?e=>e(!0,t,r)===n:m(r)?r=>r(e)===t:n=>n(e,t)===r),group:(e,t,r,n,s)=>{const o=[e,[e,V(t)?[t,r,n,s]:re(ae,t)??[(e,t)=>t]]];return F(x,o),{as:e=>o[0]=e}},having:(e,t)=>F(A,V(e)?e:r=>r(e)===t),param:e=>{return t=e,P(R,e=>P(G.getOwnPropertyDescriptor(e,t),()=>e[t]));var t}});const N=te(S);ne(N,(e,[,t])=>P(re(N,t),({3:t})=>m(e)?0:F(t,e)));const H=e=>m(e),U=e=>re(N,H(e)?void 0:e),X=a[5];if(k(b,([e,t,,r=0])=>e?P(U(t),([e,,,,,t])=>t===o?0:se(X,e,re(X,e)||r?1:0)):0),((e,r)=>{const n=(t,s,o=ce())=>t===s||!z(o,t)&&(ue(o,t),!J((t=>t===e?r:re(fe,t))(t),(e,t)=>!n(t,s,o))),s=(e,t)=>!J(t,(t,r)=>!t||!n(r,e));!s(e,r)&&J(fe,(t,r)=>r===e||!s(r,t))||(()=>{throw Error("tinybase:16"+(m(e=void 0)?t:":"+e));var e})()})(l,X),h.delTable(l),D(b))return c?.(),Be;const ee=te(x),de=!W(ee)||!D(A),ve=[],we=a[3];k(b,([e,t,r])=>{e?de&&P(U(t),([e,,,,,t])=>{ue(oe(we,t,ce),e),k(j(t.getTableCellIds(e)),e=>F(ve,[r(e),O]))}):F(ve,[t,r])});const Le=te(ve);if(de&&W(Le))return c?.(),Be;const ge=de?a[2]=i():h;if(de){const t=te();ne(ee,(e,[r,n])=>ue(oe(t,r,ce),[e,n]));const o=ce();ne(Le,e=>z(t,e)?0:ue(o,e));const a=te(),i=e=>{return m(e)?void 0:K(t=e)||E(t)?"�"+ie(t):t;var t},d=(o,a,i,d)=>P(o,([c,u,v,w])=>{ne(a,(o,[l])=>{const a=oe(c,o,te),u=re(a,i),v=d?void 0:l;if(u!==v){const l=ce([[u,v]]),d=M(a);se(a,i,v),q(re(t,o),([t,o])=>{const i=((e,t,r,n,s,o=!1)=>{if(W(r))return;const[l,a,i,d]=s;return o||=m(e),q(n,([r,n])=>{o||(e=m(r)?a?.(e,n,t++):m(n)?i?.(e,r,t--):d?.(e,n,r,t),o||=m(e))}),o?l((c=r,[...c?.values()??[]]),M(r)):e;var c})(w[t],d,a,l,o);Y(w,t,m((t=>{if(null===t)return"null";if(E(t))return"array";if(K(t))return"object";const o=e(t);return(e=>e==r||e==n)(o)||o==s&&p(t)?o:void 0})(i))?void 0:i)})}}),W(u)||!_(A,e=>e(e=>w[e]))?h.delRow(l,v):m(v)?o[2]=h.addRow(l,{...w}):h.setRow(l,v,{...w})});De(ge,w,ge.addRowListener(l,null,(e,r,n,s)=>{const c=[],u=[],v=te(),w=ge.hasRow(l,n);let f=!w;q(o,e=>{const[t,r,o]=s(l,n,e);F(c,i(r)),F(u,i(o)),f||=t}),ne(t,e=>{const[t,,r]=s(l,n,e);(f||t)&&se(v,e,[r])}),f&&d(le(a,c,void 0,([,e])=>(B(e,n),W(e))),v,n,1),w&&d(le(a,u,()=>{const e=Z();return q(o,t=>Y(e,t,ge.getCell(l,n,t))),[te(),ce(),void 0,e]},([,e])=>{ue(e,n)}),v,n)}))}const he=(e,t,r,n,s)=>{const o=e=>t.getCell(r,n,e);k(s,t=>{const[r,,n,s,l,a]=re(N,t),i=n?.(o,e),d=re(l,e),c=d?.[0];i!=c&&(P(d,([,e,t])=>je(e,f,t)),se(l,e,m(i)?void 0:[i,a,..._e(a,f,1,a.addRowListener(r,i,()=>he(e,a,r,i,s)))]))}),(e=>{const t=(t,r,n)=>{const s=T(t)?r:t,o=T(t)?n:r;if(m(o))return g.getCell(L,e,t);if(s===L&&!T(t))return g.getCell(L,e,o);const l=re(N,s);return m(l)?void 0:l[5].getCell(l[0],re(l[4],e)?.[0],o)};ge.transaction(()=>{_(Q,e=>e(t))?C?(()=>{const r=Z();k(b,([n,s,o])=>{if(n)P(U(s),([t,,,,n,l])=>{const a=H(s)?e:re(n,e)?.[0];P(a,e=>k(j(l.getCellIds(t,e)),n=>Y(r,o(n),l.getCell(t,e,n))))});else{const n=o(t,e),l=s;m(n)?delete r[l]:Y(r,l,n)}}),$(r)?ge.delRow(l,e):ge.setRow(l,e,r)})():ne(Le,(r,n)=>ge._[5](l,e,r,n(t,e))):ge.delRow(l,e)})})(e)},{3:Re}=re(N,void 0),ye=(e,t,r)=>{g.hasRow(L,r)?he(r,g,L,r,Re):(ge.delRow(l,r),q(N,({4:e})=>P(re(e,r),([,t,n])=>{je(t,f,n),se(e,r)})))};return ge.transaction(()=>{k(g.getRowIds(L),e=>ye(0,0,e)),_e(g,f,0,g.addRowListener(L,null,ye))}),de&&Fe(ge,h,w),Fe(g,ge,w),c?.(),Be})),We=(e,t)=>{const r=[te(),te(),void 0,te(),ce(),te()];let n=!1;return de(()=>ze(e,r,t,()=>{P(t,t=>Je(e,t)),Oe(re(A,e)),Oe(re(H,e)),se(A,e,W(r[0])?void 0:r[0]),se(H,e,W(r[1])?void 0:r[1]),se(R,e,r[2]),xe(e,r[3]),ke(e),se(Le,e,W(r[4])?void 0:r[4]),se(fe,e,W(r[5])?void 0:r[5]),n=!0}),e=>{throw n||(Oe(r[0]),Oe(r[1])),Ae(),e}),Be},Je=(e,[t,r,n,s])=>{P(Te(e),([,e])=>g.delListener(e)),ue(b,e),(()=>{try{return Pe(e,t),Ie(e,[r,g.addRowListener(ve,e,()=>z(b,e)?0:We(e),!0),n]),void Me(e,s)}finally{B(b,e)}})()},Ne=e=>(P(Te(e),([,e])=>g.delListener(e)),g.delRow(ve,e),(e=>{Oe(re(A,e)),se(A,e),k([re(y,e),re(R,e)],t=>t?.delTable(e))})(e),(e=>{Oe(re(H,e)),se(H,e)})(e),xe(e),ke(e),se(Le,e),se(fe,e),Ve(e),Ae(),Be),qe=e=>g.getRow(ve,e),Be={setQueryDefinition:(e,t,r,n,s={})=>{const[o,l,a,i]=T(t)?[r,n,1,s]:[t,r,0,n??{}];return We(e,[o,l,a,i]),Ae(),Be},delQueryDefinition:Ne,getParamValues:qe,getParamValue:(e,t)=>g.getCell(ve,e,t),setParamValues:(e,t)=>(Ce(e)&&Me(e,t),Be),setParamValue:(e,t,r)=>(Ce(e)&&g.setCell(ve,e,t,r),Be),getStore:ye,getQueryIds:be,forEachQuery:pe,hasQuery:Ce,getTableId:me,forEachResultTable:e=>pe(t=>Qe(t).hasTable(t)?e(t,e=>Be.forEachResultRow(t,e)):0),addQueryIdsListener:e=>Ee(()=>e(Be)),addParamValuesListener:(e,t)=>"p"+g.addRowListener(ve,e,(e,r,n)=>t(Be,n,qe(n))),addParamValueListener:(e,t,r)=>"p"+g.addCellListener(ve,e,t,(e,t,n,s,o)=>r(Be,n,s,o)),delListener:e=>{const t=re(C,e);if("p"==e[0])g.delListener(S(e,1));else if(m(t))Re(e);else{const[r,n,s]=t;ne(n,(e,[t,r])=>t.delListener(r)),P(s,Re),se(C,e),Re(e),x[r]--}return Ae(),Be},destroy:()=>{k(be(),Ne),Se()},getListenerStats:()=>({...x,paramValues:g.getListenerStats().row-Q(be()),paramValue:g.getListenerStats().cell})};var Ge,He;return He=([e,t],r)=>{k(S(["get","has","forEach"],0,e),e=>Y(Be,e+a+r,(...t)=>(re(y,t[0])??h)[e+r](...t))),Y(Be,"add"+a+r+l,(...e)=>((n,s)=>{const o=ge(O,I),a=te(),i=()=>{const n=null==s?be():[s];k(n,n=>{return z(a,n)?0:se(a,n,[Qe(n),(s=Qe(n),s["add"+r+l](...((e,t)=>5==t?[e[0],e[1]??void 0,e[2],e[3],e[4]]:S(e,0,t))(e,t),(r,...n)=>e[t](Be,...n),!0))]);var s}),ne(a,(e,[t,r])=>null==s&&Ce(e)||e==s?0:(t.delListener(r),void se(a,e)))};return i(),se(C,o,[n,a,null==s?Ee(i):void 0]),x[n]++,o})((e=>e[0].toLowerCase()+S(e,1))(r),e[0]))},k(U(Ge={[d]:[2,1],[d+L]:[1,1],[u]:[1,1],[v]:[1,1],[w]:[1,5],[c]:[3,2],[L]:[1,2],[f]:[3,3]}),e=>He(Ge[e],e)),X(Be)})(i);o.set(i,g)}return o.get(i)}})();export{we as createQueries};
|
|
1
|
+
const e=e=>typeof e,t="",r=e(t),n=e(!0),s=e(0),o=e(e),l="Listener",a="Result",i="Ids",d="Table",c="Row",u=c+"Count",v=c+i,w="Sorted"+c+i,f="Cell",L=f+i,g=Math,h=e=>(t,r,n)=>e(t)?n?.():r(t),R=g.max,y=g.min,b=1/0,p=isFinite,C=e=>null==e,m=e=>void 0===e,T=e=>!0===e,I=h(C),P=h(m),V=t=>e(t)==o,E=e=>Array.isArray(e),S=(e,t,r)=>e.slice(t,r),Q=e=>e.length,D=e=>0==Q(e),O=()=>{},_=(e,t)=>e.every(t),j=(e,t)=>e.sort(t),k=(e,t)=>e.forEach(t),x=e=>A(e,(e,t)=>e+t,0),A=(e,t,r)=>e.reduce(t,r),F=(e,...t)=>e.push(...t),M=e=>e?.size??0,z=(e,t)=>e?.has(t)??!1,W=e=>m(e)||0==M(e),J=(e,t)=>{for(const[r,n]of e?.entries()??[])if(!t(n,r))return!1;return!0},N=e=>e.clear(),q=(e,t)=>e?.forEach(t),B=(e,t)=>e?.delete(t),G=Object,H=e=>G.getPrototypeOf(e),K=e=>!C(e)&&I(H(e),e=>e==G.prototype||C(H(e)),()=>!0),U=G.keys,X=G.freeze,Y=(e,t,r)=>(G.defineProperty(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}),r),Z=(e=[])=>{const t=G.create(null);return k(e,([e,r])=>Y(t,e,r)),t},$=e=>K(e)&&0==(e=>Q(U(e)))(e),ee=Map,te=e=>new ee(e),re=(e,t)=>e?.get(t),ne=(e,t)=>q(e,(e,r)=>t(r,e)),se=(e,t,r)=>m(r)?(B(e,t),e):e?.set(t,r),oe=(e,t,r,n)=>{let s=re(e,t);return z(e,t)?n?.(s):se(e,t,s=r()),s},le=(e,t,r,n,s=0)=>P((r?oe:re)(e,t[s],s>Q(t)-2?r:te),o=>{if(s>Q(t)-2)return n?.(o)&&se(e,t[s]),o;const l=le(o,t,r,n,s+1);return W(o)&&se(e,t[s]),l}),ae=te([["avg",[(e,t)=>x(e)/t,(e,t,r)=>e+(t-e)/(r+1),(e,t,r)=>r>1?e+(e-t)/(r-1):void 0,(e,t,r,n)=>e+(t-r)/n]],["max",[e=>A(e,(e,t)=>R(e,t),-1/0),(e,t)=>R(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:R(t,e)]],["min",[e=>A(e,(e,t)=>y(e,t),b),(e,t)=>y(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:y(t,e)]],["sum",[e=>x(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,r)=>e-r+t]]]),ie=JSON.stringify,de=(e,t)=>{try{return e()}catch(e){t?.(e)}},ce=e=>new Set(E(e)||m(e)?e:[e]),ue=(e,t)=>e?.add(t),ve="_",we=(()=>{const o=new WeakMap;return i=>{if(!o.has(i)){const g=(o=>{const i=o._[0],g=i(),h=i(),R=te(),y=te(),b=ce(),C=te(),I=te(),x={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},A=te(),H=te(),ee=te(),we=te(),fe=te(),Le=te(),{_:[,ge,he],delListener:Re}=h,[ye,be,pe,Ce,me,Te,Ie,Pe,,Ve,Ee,Se]=((e,t,r,n,s)=>{const o=e.hasRow,l=te(),a=te(),i=te(),d=te(),c=te(),u=te(),v=t=>P(re(u,t),r=>{q(r,t=>{e.delListener(t),B(r,t)}),se(u,t)}),w=(e,t)=>{se(l,e,t),z(a,e)||(se(a,e,[]),se(d,e,te()),se(c,e,te()),de(()=>s(i),t=>{throw se(l,e),se(a,e),se(d,e),se(c,e),t}))},f=e=>{se(l,e),se(a,e),se(d,e),se(c,e),v(e),s(i)};return[()=>e,()=>{return e=l,[...e?.keys()??[]];var e},e=>ne(a,e),e=>z(a,e),e=>re(l,e),e=>re(a,e),(e,t)=>se(a,e,t),w,(t,n,s,l,a)=>{w(t,n);const i=te(),f=te(),L=re(d,t),g=re(c,t),h=t=>{const s=r=>e.getCell(n,t,r),d=re(L,t),c=o(n,t)?r(l(s,t)):void 0;var u,v,w,h;if(d===c||E(d)&&E(c)&&(v=c,Q(u=d)===Q(v)&&_(u,(e,t)=>v[t]===e))||se(i,t,[d,c]),!m(a)){const e=re(g,t),r=o(n,t)?a(s,t):void 0;(w=e)===(h=r)||(K(w)||E(w))&&ie(w)===ie(h)||se(f,t,r)}},R=e=>{s(()=>{q(i,([,e],t)=>se(L,t,e)),q(f,(e,t)=>se(g,t,e))},i,f,L,g,e),N(i),N(f)};ne(L,h),e.hasTable(n)&&k(e.getRowIds(n),e=>{z(L,e)||h(e)}),R(!0),v(t),((e,...t)=>{const r=oe(u,e,ce);k(t,e=>ue(r,e))})(t,e.addRowListener(n,null,(e,t,r)=>h(r)),e.addTableListener(n,()=>R()))},f,e=>n(e,i),()=>ne(u,f)]})(o,0,O,ge,he),Qe=e=>oe(y,e,i),De=(e,t,...r)=>k(r,r=>ue(oe(t,e,ce),r)),Oe=e=>ne(e,(e,t)=>q(t,t=>e.delListener(t))),_e=(e,t,r,...n)=>{const s=oe(t,e,ce);return k(n,t=>{ue(s,t),r&&e.callListener(t)}),n},je=(e,t,r)=>P(re(t,e),n=>{e.delListener(r),B(n,r),W(n)&&se(t,e)}),ke=e=>P(re(we,e),t=>{ne(t,(e,t)=>ne(t,(t,r)=>e.delListener(r))),se(we,e)}),xe=(e,t=te())=>{const r=oe(ee,e,te);ne(r,(e,n)=>{ne(n,(r,s)=>z(re(t,e),r)?0:(e.delListener(s),se(n,r))),W(n)&&se(r,e)}),ne(t,(t,n)=>{const s=oe(r,t,te);q(n,r=>oe(s,r,()=>t.addTableCellIdsListener(r,()=>de(()=>We(e),n=>{throw((e,t,r)=>{const n=oe(oe(we,e,te),t,te);oe(n,r,()=>t.addTableListener(r,()=>We(e)))})(e,t,r),n}))))}),W(r)&&se(ee,e)},Ae=()=>{ne(R,e=>Ce(e)?0:se(R,e)),ne(y,(e,t)=>Ce(e)||((e,t)=>!(J(C,([,e])=>J(e,([e])=>e!==t))&&J(Le,t=>!z(t,e))&&_([A,H],e=>J(e,e=>!z(e,t)))))(e,t)?0:se(y,e))},Fe=(e,t,r)=>{De(e,r,e.addWillFinishTransactionListener(t.startTransaction)),De(e,r,e.addDidFinishTransactionListener(()=>t.finishTransaction()))},Me=(e,t)=>($(t)?g.delRow:g.setRow)(ve,e,{...t}),ze=(l,a,d,c)=>Qe(l).transaction(()=>P(((e,r)=>m(r)?Te(e):[r[1],t,r[2]])(l,d),([u,,v])=>{const[w,f]=a,L=d?.[0]??me(l),g=v?Qe(L):o,h=Qe(l),R=d?.[3]??qe(l),y=a[4];v&&ue(y,L);const b=[];let C=!1,I=0;const S=[[void 0,[L,void 0,void 0,[],te(),g]]],Q=[],x=[],A=[];u({select:(e,r,n)=>{const s=T(e)?r:e,o=T(e)?n:r,l=V(e)?[0,I+t,e]:m(o)?[0,e,t=>t(e)]:[0,o,t=>T(e)?t(!0,s,o):t(s,o)];return I++,F(b,l),{as:e=>l[1]=e}},selectAll:(e,r,n)=>{C=!0;const s=T(e)?r:e,o=T(e)?n:r;F(b,[1,s,V(o)?o:e=>(o??t)+e,V(o)||!m(o)&&o!==t?1:0])},join:(e,t,r,n)=>{const s=T(e)?t:e,[l,a]=T(e)?m(n)||V(r)?[void 0,r]:[r,n]:m(r)||V(t)?[void 0,t]:[t,r],i=T(e),d=i?Qe(s):o;i&&ue(y,s);const c=[s,[s,l,V(a)?a:e=>e(a),[],te(),d]];return F(S,c),{as:e=>c[0]=e}},where:(e,t,r,n)=>F(Q,V(e)?e:T(e)?e=>e(!0,t,r)===n:m(r)?r=>r(e)===t:n=>n(e,t)===r),group:(e,t,r,n,s)=>{const o=[e,[e,V(t)?[t,r,n,s]:re(ae,t)??[(e,t)=>t]]];return F(x,o),{as:e=>o[0]=e}},having:(e,t)=>F(A,V(e)?e:r=>r(e)===t),param:e=>{return t=e,P(R,e=>P(G.getOwnPropertyDescriptor(e,t),()=>e[t]));var t}});const N=te(S);ne(N,(e,[,t])=>P(re(N,t),({3:t})=>m(e)?0:F(t,e)));const H=e=>m(e),U=e=>re(N,H(e)?void 0:e),X=a[5];if(k(b,([e,t,,r=0])=>e?P(U(t),([e,,,,,t])=>t===o?0:se(X,e,re(X,e)||r?1:0)):0),((e,r)=>{const n=(t,s,o=ce())=>t===s||!z(o,t)&&(ue(o,t),!J((t=>t===e?r:re(fe,t))(t),(e,t)=>!n(t,s,o))),s=(e,t)=>!J(t,(t,r)=>!t||!n(r,e));!s(e,r)&&J(fe,(t,r)=>r===e||!s(r,t))||(()=>{throw Error("tinybase:16"+(m(e=void 0)?t:":"+e));var e})()})(l,X),h.delTable(l),D(b))return c?.(),Be;const ee=te(x),de=!W(ee)||!D(A),ve=[],we=a[3];k(b,([e,t,r])=>{e?de&&P(U(t),([e,,,,,t])=>{ue(oe(we,t,ce),e),k(j(t.getTableCellIds(e)),e=>F(ve,[r(e),O]))}):F(ve,[t,r])});const Le=te(ve);if(de&&W(Le))return c?.(),Be;const ge=de?a[2]=i():h;if(de){const t=te();ne(ee,(e,[r,n])=>ue(oe(t,r,ce),[e,n]));const o=ce();ne(Le,e=>z(t,e)?0:ue(o,e));const a=te(),i=e=>{return m(e)?void 0:K(t=e)||E(t)?"�"+ie(t):t;var t},d=(o,a,i,d)=>P(o,([c,u,v,w])=>{ne(a,(o,[l])=>{const a=oe(c,o,te),u=re(a,i),v=d?void 0:l;if(u!==v){const l=ce([[u,v]]),d=M(a);se(a,i,v),q(re(t,o),([t,o])=>{const i=((e,t,r,n,s,o=!1)=>{if(W(r))return;const[l,a,i,d]=s;return o||=m(e),q(n,([r,n])=>{o||(e=m(r)?a?.(e,n,t++):m(n)?i?.(e,r,t--):d?.(e,n,r,t),o||=m(e))}),o?l((c=r,[...c?.values()??[]]),M(r)):e;var c})(w[t],d,a,l,o);Y(w,t,m((t=>{if(null===t)return"null";if(E(t))return"array";if(K(t))return"object";const o=e(t);return(e=>e==r||e==n)(o)||o==s&&p(t)?o:void 0})(i))?void 0:i)})}}),W(u)||!_(A,e=>e(e=>w[e]))?h.delRow(l,v):m(v)?o[2]=h.addRow(l,{...w}):h.setRow(l,v,{...w})});De(ge,w,ge.addRowListener(l,null,(e,r,n,s)=>{const c=[],u=[],v=te(),w=ge.hasRow(l,n);let f=!w;q(o,e=>{const[t,r,o]=s(l,n,e);F(c,i(r)),F(u,i(o)),f||=t}),ne(t,e=>{const[t,,r]=s(l,n,e);(f||t)&&se(v,e,[r])}),f&&d(le(a,c,void 0,([,e])=>(B(e,n),W(e))),v,n,1),w&&d(le(a,u,()=>{const e=Z();return q(o,t=>Y(e,t,ge.getCell(l,n,t))),[te(),ce(),void 0,e]},([,e])=>{ue(e,n)}),v,n)}))}const he=(e,t,r,n,s)=>{const o=e=>t.getCell(r,n,e);k(s,t=>{const[r,,n,s,l,a]=re(N,t),i=n?.(o,e),d=re(l,e),c=d?.[0];i!=c&&(P(d,([,e,t])=>je(e,f,t)),se(l,e,m(i)?void 0:[i,a,..._e(a,f,1,a.addRowListener(r,i,()=>he(e,a,r,i,s)))]))}),(e=>{const t=(t,r,n)=>{const s=T(t)?r:t,o=T(t)?n:r;if(m(o))return g.getCell(L,e,t);if(s===L&&!T(t))return g.getCell(L,e,o);const l=re(N,s);return m(l)?void 0:l[5].getCell(l[0],re(l[4],e)?.[0],o)};ge.transaction(()=>{_(Q,e=>e(t))?C?(()=>{const r=Z();k(b,([n,s,o])=>{if(n)P(U(s),([t,,,,n,l])=>{const a=H(s)?e:re(n,e)?.[0];P(a,e=>k(j(l.getCellIds(t,e)),n=>Y(r,o(n),l.getCell(t,e,n))))});else{const n=o(t,e),l=s;m(n)?delete r[l]:Y(r,l,n)}}),$(r)?ge.delRow(l,e):ge.setRow(l,e,r)})():ne(Le,(r,n)=>ge._[5](l,e,r,n(t,e))):ge.delRow(l,e)})})(e)},{3:Re}=re(N,void 0),ye=(e,t,r)=>{g.hasRow(L,r)?he(r,g,L,r,Re):(ge.delRow(l,r),q(N,({4:e})=>P(re(e,r),([,t,n])=>{je(t,f,n),se(e,r)})))};return ge.transaction(()=>{k(g.getRowIds(L),e=>ye(0,0,e)),_e(g,f,0,g.addRowListener(L,null,ye))}),de&&Fe(ge,h,w),Fe(g,ge,w),c?.(),Be})),We=(e,t)=>{const r=[te(),te(),void 0,te(),ce(),te()];let n=!1;return de(()=>ze(e,r,t,()=>{P(t,t=>Je(e,t)),Oe(re(A,e)),Oe(re(H,e)),se(A,e,W(r[0])?void 0:r[0]),se(H,e,W(r[1])?void 0:r[1]),se(R,e,r[2]),xe(e,r[3]),ke(e),se(Le,e,W(r[4])?void 0:r[4]),se(fe,e,W(r[5])?void 0:r[5]),n=!0}),e=>{throw n||(Oe(r[0]),Oe(r[1])),Ae(),e}),Be},Je=(e,[t,r,n,s])=>{P(Te(e),([,e])=>g.delListener(e)),ue(b,e),(()=>{try{return Pe(e,t),Ie(e,[r,g.addRowListener(ve,e,()=>z(b,e)?0:We(e),!0),n]),void Me(e,s)}finally{B(b,e)}})()},Ne=e=>(P(Te(e),([,e])=>g.delListener(e)),g.delRow(ve,e),(e=>{Oe(re(A,e)),se(A,e),k([re(y,e),re(R,e)],t=>t?.delTable(e))})(e),(e=>{Oe(re(H,e)),se(H,e)})(e),xe(e),ke(e),se(Le,e),se(fe,e),Ve(e),Ae(),Be),qe=e=>g.getRow(ve,e),Be={setQueryDefinition:(e,t,r,n,s={})=>{const[o,l,a,i]=T(t)?[r,n,1,s]:[t,r,0,n??{}];return We(e,[o,l,a,i]),Ae(),Be},delQueryDefinition:Ne,getParamValues:qe,getParamValue:(e,t)=>g.getCell(ve,e,t),setParamValues:(e,t)=>(Ce(e)&&Me(e,t),Be),setParamValue:(e,t,r)=>(Ce(e)&&g.setCell(ve,e,t,r),Be),getStore:ye,getQueryIds:be,forEachQuery:pe,hasQuery:Ce,getTableId:me,forEachResultTable:e=>pe(t=>Qe(t).hasTable(t)?e(t,e=>Be.forEachResultRow(t,e)):0),addQueryIdsListener:e=>Ee(()=>e(Be)),addParamValuesListener:(e,t)=>"p"+g.addRowListener(ve,e,(e,r,n)=>t(Be,n,qe(n))),addParamValueListener:(e,t,r)=>"p"+g.addCellListener(ve,e,t,(e,t,n,s,o)=>r(Be,n,s,o)),delListener:e=>{const t=re(C,e);if("p"==e[0])g.delListener(S(e,1));else if(m(t))Re(e);else{const[r,n,s]=t;ne(n,(e,[t,r])=>t.delListener(r)),P(s,Re),se(C,e),Re(e),x[r]--}return Ae(),Be},destroy:()=>{k(be(),Ne),Se()},getListenerStats:()=>({...x,paramValues:g.getListenerStats().row-Q(be()),paramValue:g.getListenerStats().cell})};var Ge,He;return He=([e,t],r)=>{k(S(["get","has","forEach"],0,e),e=>Y(Be,e+a+r,(...t)=>(re(y,t[0])??h)[e+r](...t))),Y(Be,"add"+a+r+l,(...e)=>((n,s)=>{const o=ge(O,I),a=te(),i=()=>{const n=null==s?be():[s];k(n,n=>{return z(a,n)?0:se(a,n,[Qe(n),(s=Qe(n),s["add"+r+l](...((e,t)=>5==t?[e[0],e[1]??void 0,e[2],e[3],e[4]]:S(e,0,t))(e,t),(r,...n)=>e[t](Be,...n),!0))]);var s}),ne(a,(e,[t,r])=>null==s&&Ce(e)||e==s?0:(t.delListener(r),void se(a,e)))};return i(),se(C,o,[n,a,null==s?Ee(i):void 0]),x[n]++,o})((e=>e[0].toLowerCase()+S(e,1))(r),e[0]))},k(U(Ge={[d]:[2,1],[d+L]:[1,1],[u]:[1,1],[v]:[1,1],[w]:[1,5],[c]:[3,2],[L]:[1,2],[f]:[3,3]}),e=>He(Ge[e],e)),X(Be)})(i);o.set(i,g)}return o.get(i)}})();export{we as createQueries};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",o=e(t),
|
|
1
|
+
const e=e=>typeof e,t="",o=e(t),r=e=>(t,o,r)=>e(t)?r?.():o(t),n=e=>null==e,s=e=>void 0===e,i=e=>null===e,a=r(n),l=r(s),d=e=>Array.isArray(e),c=e=>e.length,u=(e,t)=>{return c(e)===c(t)&&(o=(e,o)=>t[o]===e,e.every(o));var o},R=(e,t)=>e.forEach(t),f=(e,...t)=>e.push(...t),h=e=>t=>{let o=0;for(const r of t.values())o+=e(r);return o},w=e=>e?.size??0,g=h(w),p=h(g),I=(e,t)=>e?.has(t)??!1,L=e=>s(e)||0==w(e),v=e=>[...e?.values()??[]],y=e=>e.clear(),b=(e,t)=>e?.forEach(t),k=(e,t)=>e?.delete(t),m=(e,t)=>{try{return e()}catch(e){t?.(e)}},E=Object,S=e=>E.getPrototypeOf(e),T=E.freeze,O=JSON.stringify,z=Map,A=e=>new z(e),D=(e,t)=>e?.get(t),M=(e,t)=>b(e,(e,o)=>t(o,e)),j=(e,t,o)=>s(o)?(k(e,t),e):e?.set(t,o),x=(e,t,o,r)=>{let n=D(e,t);return I(e,t)?r?.(n):j(e,t,n=o()),n},C=(e,t,o,r,n=0)=>l((o?x:D)(e,t[n],n>c(t)-2?o:A),s=>{if(n>c(t)-2)return r?.(s)&&j(e,t[n]),s;const i=C(s,t,o,r,n+1);return L(s)&&j(e,t[n]),i}),J=e=>new Set(d(e)||s(e)?e:[e]),N=(e,t)=>e?.add(t),P=/^\d+$/,W=(()=>{const r=new WeakMap;return h=>{if(!r.has(h)){const w=(r=>{const h=A(),w=A(),g=A(),z=A(),[W,$,q]=(()=>{let e;const[o,r]=(()=>{const e=[];let o=0;return[r=>(r?e.shift():null)??t+o++,t=>{P.test(t)&&c(e)<1e3&&f(e,t)}]})(),n=A(),s=(o,r,s,a)=>{let l,d=!1;if(R(((e,o=[t])=>{const r=[],n=(e,t)=>t==c(o)?f(r,e):i(o[t])?b(e,e=>n(e,t+1)):R([o[t],null],o=>n(D(e,o),t+1));return n(e,0),r})(r,s),t=>b(t,t=>{const r=()=>D(n,t)[0](e,...s??[],...a);o?m(r,e=>{d||(l=e),d=!0}):r()})),d)throw l};return[(r,s,i,a=[],l=()=>[])=>{e??=oe;const d=o(1);return j(n,d,[r,s,i,a,l]),N(C(s,i??[t],J),d),d},(e,t,...o)=>s(!1,e,t,o),e=>l(D(n,e),([,o,s])=>(C(o,s??[t],void 0,t=>(k(t,e),L(t)?1:0)),j(n,e),r(e),s)),t=>l(D(n,t),([t,,o=[],r,n])=>{const s=(...a)=>{const l=c(a);l==c(o)?t(e,...a,...n(a)):i(o[l])?R(r[l]?.(...a)??[],e=>s(...a,e)):s(...a,o[l])};s()}),(e,t,...o)=>s(!0,e,t,o)]})(),[B,F,G,H,K,Q,,,U,V,X,Y]=((e,t,o,r,i)=>{const c=e.hasRow,f=A(),h=A(),w=A(),g=A(),p=A(),L=A(),v=t=>l(D(L,t),o=>{b(o,t=>{e.delListener(t),k(o,t)}),j(L,t)}),T=(e,o)=>{j(f,e,o),I(h,e)||(j(h,e,t()),j(g,e,A()),j(p,e,A()),m(()=>i(w),t=>{throw j(f,e),j(h,e),j(g,e),j(p,e),t}))},z=e=>{j(f,e),j(h,e),j(g,e),j(p,e),v(e),i(w)};return[()=>e,()=>{return e=f,[...e?.keys()??[]];var e},e=>M(h,e),e=>I(h,e),e=>D(f,e),e=>D(h,e),(e,t)=>j(h,e,t),T,(t,r,i,l,f)=>{T(t,r);const h=A(),w=A(),k=D(g,t),m=D(p,t),z=t=>{const i=o=>e.getCell(r,t,o),R=D(k,t),g=c(r,t)?o(l(i,t)):void 0;if(R===g||d(R)&&d(g)&&u(R,g)||j(h,t,[R,g]),!s(f)){const e=D(m,t),o=c(r,t)?f(i,t):void 0;(p=e)===(I=o)||(!n(L=p)&&a(S(L),e=>e==E.prototype||n(S(e)),()=>!0)||d(p))&&O(p)===O(I)||j(w,t,o)}var p,I,L},C=e=>{i(()=>{b(h,([,e],t)=>j(k,t,e)),b(w,(e,t)=>j(m,t,e))},h,w,k,m,e),y(h),y(w)};M(k,z),e.hasTable(r)&&R(e.getRowIds(r),e=>{I(k,e)||z(e)}),C(!0),v(t),((e,...t)=>{const o=x(L,e,J);R(t,e=>N(o,e))})(t,e.addRowListener(r,null,(e,t,o)=>z(o)),e.addTableListener(r,()=>C()))},z,e=>r(e,w),()=>M(L,z)]})(r,()=>[A(),A(),A(),A()],e=>s(e)?void 0:e+t,W,$),Z=(e,t,o)=>l(Q(e),([r,,n])=>{if(!I(n,t)){const i=J();if(K(e)!=ee(e))N(i,t);else{let e=t;for(;!s(e)&&!I(i,e);)N(i,e),e=D(r,e)}if(o)return i;j(n,t,i)}return D(n,t)}),_=(e,t)=>l(Q(e),([,,e])=>j(e,t)),ee=e=>D(h,e),te=(e,t)=>s(Q(e))?[t]:v(Z(e,t,!0)),oe={setRelationshipDefinition:(r,n,i,a)=>{return M(D(z,r),e=>Z(r,e)),j(h,r,i),U(r,n,(e,t,o,n,i,a)=>{const d=J(),c=J(),R=J(),[f,h]=Q(r);b(t,([e,t],o)=>{s(e)||(N(c,e),l(D(h,e),t=>{k(t,o),L(t)&&j(h,e)})),s(t)||(N(c,t),I(h,t)||j(h,t,J()),N(D(h,t),o)),N(d,o),j(f,o,t),M(D(z,r),e=>{I(Z(r,e),o)&&N(R,e)})}),e(),a&&M(D(z,r),e=>{const t=te(r,e);_(r,e),u(t,te(r,e))||N(R,e)}),b(d,e=>$(w,[r,e])),b(c,e=>$(g,[r,e])),b(R,e=>{_(r,e),$(z,[r,e])})},e(d=a)==o?e=>e(d):d??(()=>t)),oe;var d},delRelationshipDefinition:e=>(j(h,e),V(e),oe),getStore:B,getRelationshipIds:F,forEachRelationship:e=>G(t=>e(t,e=>r.forEachRow(K(t),e))),hasRelationship:H,getLocalTableId:K,getRemoteTableId:ee,getRemoteRowId:(e,t)=>D(Q(e)?.[0],t),getLocalRowIds:(e,t)=>v(D(Q(e)?.[1],t)),getLinkedRowIds:te,addRelationshipIdsListener:X,addRemoteRowIdListener:(e,t,o)=>W(o,w,[e,t]),addLocalRowIdsListener:(e,t,o)=>W(o,g,[e,t]),addLinkedRowIdsListener:(e,t,o)=>(Z(e,t),W(o,z,[e,t])),delListener:e=>(_(...q(e)??[]),oe),destroy:Y,getListenerStats:()=>({remoteRowId:p(w),localRowIds:p(g),linkedRowIds:p(z)})};return T(oe)})(h);r.set(h,w)}return r.get(h)}})();export{W as createRelationships};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",o=e(t),
|
|
1
|
+
const e=e=>typeof e,t="",o=e(t),r=e=>(t,o,r)=>e(t)?r?.():o(t),n=e=>null==e,s=e=>void 0===e,i=e=>null===e,a=r(n),l=r(s),d=e=>Array.isArray(e),c=e=>e.length,u=(e,t)=>{return c(e)===c(t)&&(o=(e,o)=>t[o]===e,e.every(o));var o},R=(e,t)=>e.forEach(t),f=(e,...t)=>e.push(...t),h=e=>t=>{let o=0;for(const r of t.values())o+=e(r);return o},w=e=>e?.size??0,g=h(w),p=h(g),I=(e,t)=>e?.has(t)??!1,L=e=>s(e)||0==w(e),v=e=>[...e?.values()??[]],y=e=>e.clear(),b=(e,t)=>e?.forEach(t),k=(e,t)=>e?.delete(t),m=(e,t)=>{try{return e()}catch(e){t?.(e)}},E=Object,S=e=>E.getPrototypeOf(e),T=E.freeze,O=JSON.stringify,z=Map,A=e=>new z(e),D=(e,t)=>e?.get(t),M=(e,t)=>b(e,(e,o)=>t(o,e)),j=(e,t,o)=>s(o)?(k(e,t),e):e?.set(t,o),x=(e,t,o,r)=>{let n=D(e,t);return I(e,t)?r?.(n):j(e,t,n=o()),n},C=(e,t,o,r,n=0)=>l((o?x:D)(e,t[n],n>c(t)-2?o:A),s=>{if(n>c(t)-2)return r?.(s)&&j(e,t[n]),s;const i=C(s,t,o,r,n+1);return L(s)&&j(e,t[n]),i}),J=e=>new Set(d(e)||s(e)?e:[e]),N=(e,t)=>e?.add(t),P=/^\d+$/,W=(()=>{const r=new WeakMap;return h=>{if(!r.has(h)){const w=(r=>{const h=A(),w=A(),g=A(),z=A(),[W,$,q]=(()=>{let e;const[o,r]=(()=>{const e=[];let o=0;return[r=>(r?e.shift():null)??t+o++,t=>{P.test(t)&&c(e)<1e3&&f(e,t)}]})(),n=A(),s=(o,r,s,a)=>{let l,d=!1;if(R(((e,o=[t])=>{const r=[],n=(e,t)=>t==c(o)?f(r,e):i(o[t])?b(e,e=>n(e,t+1)):R([o[t],null],o=>n(D(e,o),t+1));return n(e,0),r})(r,s),t=>b(t,t=>{const r=()=>D(n,t)[0](e,...s??[],...a);o?m(r,e=>{d||(l=e),d=!0}):r()})),d)throw l};return[(r,s,i,a=[],l=()=>[])=>{e??=oe;const d=o(1);return j(n,d,[r,s,i,a,l]),N(C(s,i??[t],J),d),d},(e,t,...o)=>s(!1,e,t,o),e=>l(D(n,e),([,o,s])=>(C(o,s??[t],void 0,t=>(k(t,e),L(t)?1:0)),j(n,e),r(e),s)),t=>l(D(n,t),([t,,o=[],r,n])=>{const s=(...a)=>{const l=c(a);l==c(o)?t(e,...a,...n(a)):i(o[l])?R(r[l]?.(...a)??[],e=>s(...a,e)):s(...a,o[l])};s()}),(e,t,...o)=>s(!0,e,t,o)]})(),[B,F,G,H,K,Q,,,U,V,X,Y]=((e,t,o,r,i)=>{const c=e.hasRow,f=A(),h=A(),w=A(),g=A(),p=A(),L=A(),v=t=>l(D(L,t),o=>{b(o,t=>{e.delListener(t),k(o,t)}),j(L,t)}),T=(e,o)=>{j(f,e,o),I(h,e)||(j(h,e,t()),j(g,e,A()),j(p,e,A()),m(()=>i(w),t=>{throw j(f,e),j(h,e),j(g,e),j(p,e),t}))},z=e=>{j(f,e),j(h,e),j(g,e),j(p,e),v(e),i(w)};return[()=>e,()=>{return e=f,[...e?.keys()??[]];var e},e=>M(h,e),e=>I(h,e),e=>D(f,e),e=>D(h,e),(e,t)=>j(h,e,t),T,(t,r,i,l,f)=>{T(t,r);const h=A(),w=A(),k=D(g,t),m=D(p,t),z=t=>{const i=o=>e.getCell(r,t,o),R=D(k,t),g=c(r,t)?o(l(i,t)):void 0;if(R===g||d(R)&&d(g)&&u(R,g)||j(h,t,[R,g]),!s(f)){const e=D(m,t),o=c(r,t)?f(i,t):void 0;(p=e)===(I=o)||(!n(L=p)&&a(S(L),e=>e==E.prototype||n(S(e)),()=>!0)||d(p))&&O(p)===O(I)||j(w,t,o)}var p,I,L},C=e=>{i(()=>{b(h,([,e],t)=>j(k,t,e)),b(w,(e,t)=>j(m,t,e))},h,w,k,m,e),y(h),y(w)};M(k,z),e.hasTable(r)&&R(e.getRowIds(r),e=>{I(k,e)||z(e)}),C(!0),v(t),((e,...t)=>{const o=x(L,e,J);R(t,e=>N(o,e))})(t,e.addRowListener(r,null,(e,t,o)=>z(o)),e.addTableListener(r,()=>C()))},z,e=>r(e,w),()=>M(L,z)]})(r,()=>[A(),A(),A(),A()],e=>s(e)?void 0:e+t,W,$),Z=(e,t,o)=>l(Q(e),([r,,n])=>{if(!I(n,t)){const i=J();if(K(e)!=ee(e))N(i,t);else{let e=t;for(;!s(e)&&!I(i,e);)N(i,e),e=D(r,e)}if(o)return i;j(n,t,i)}return D(n,t)}),_=(e,t)=>l(Q(e),([,,e])=>j(e,t)),ee=e=>D(h,e),te=(e,t)=>s(Q(e))?[t]:v(Z(e,t,!0)),oe={setRelationshipDefinition:(r,n,i,a)=>{return M(D(z,r),e=>Z(r,e)),j(h,r,i),U(r,n,(e,t,o,n,i,a)=>{const d=J(),c=J(),R=J(),[f,h]=Q(r);b(t,([e,t],o)=>{s(e)||(N(c,e),l(D(h,e),t=>{k(t,o),L(t)&&j(h,e)})),s(t)||(N(c,t),I(h,t)||j(h,t,J()),N(D(h,t),o)),N(d,o),j(f,o,t),M(D(z,r),e=>{I(Z(r,e),o)&&N(R,e)})}),e(),a&&M(D(z,r),e=>{const t=te(r,e);_(r,e),u(t,te(r,e))||N(R,e)}),b(d,e=>$(w,[r,e])),b(c,e=>$(g,[r,e])),b(R,e=>{_(r,e),$(z,[r,e])})},e(d=a)==o?e=>e(d):d??(()=>t)),oe;var d},delRelationshipDefinition:e=>(j(h,e),V(e),oe),getStore:B,getRelationshipIds:F,forEachRelationship:e=>G(t=>e(t,e=>r.forEachRow(K(t),e))),hasRelationship:H,getLocalTableId:K,getRemoteTableId:ee,getRemoteRowId:(e,t)=>D(Q(e)?.[0],t),getLocalRowIds:(e,t)=>v(D(Q(e)?.[1],t)),getLinkedRowIds:te,addRelationshipIdsListener:X,addRemoteRowIdListener:(e,t,o)=>W(o,w,[e,t]),addLocalRowIdsListener:(e,t,o)=>W(o,g,[e,t]),addLinkedRowIdsListener:(e,t,o)=>(Z(e,t),W(o,z,[e,t])),delListener:e=>(_(...q(e)??[]),oe),destroy:Y,getListenerStats:()=>({remoteRowId:p(w),localRowIds:p(g),linkedRowIds:p(z)})};return T(oe)})(h);r.set(h,w)}return r.get(h)}})();export{W as createRelationships};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>typeof t,a="",e=t(a),n=t(!0),s=t(0),r=Promise,i=Math,o=t=>(a,e,n)=>t(a)?n?.():e(a),c=globalThis,l=(t,a=0)=>setTimeout(t,1e3*a),u=t=>clearTimeout(t),y=i.floor,w=i.random,d=isFinite,g=Number.isInteger,f=t=>null==t,v=t=>void 0===t,h=t=>null===t,b=o(f),p=o(v),A=a=>t(a)==e,_=a=>t(a)==s,M=t=>Array.isArray(t),S=t=>t.length,m=t=>0==S(t),L=(t,a)=>t.test(a),C=()=>{},H=t=>new r(t),P=(t,a)=>t.forEach(a),T=(t,a)=>t.map(a),D=(t,a=S(t))=>t.splice(0,a),z=(t,...a)=>t.push(...a),E=t=>t?.size??0,O=t=>v(t)||0==E(t),R=(t,a)=>t?.forEach(a),V=(t,a)=>t?.delete(a),j=Object,x=t=>j.getPrototypeOf(t),F=t=>!f(t)&&b(x(t),t=>t==j.prototype||f(x(t)),()=>!0),k=j.keys,q=j.freeze,I=(t,a)=>j.hasOwn(t,a),N=(t,a,e)=>(j.defineProperty(t,a,{configurable:!0,enumerable:!0,value:e,writable:!0}),e),U=(t,a)=>P(k(t),e=>a(t[e],e)),Z=(t,a)=>{for(const e in t)if(I(t,e)&&!a(t[e],e))return!1;return!0},$=t=>F(t)&&0==(t=>S(k(t)))(t),B=(t,a,e)=>(I(t,a)||N(t,a,e()),t[a]),G=Map,J=t=>new G(t),K=(t,a)=>t?.get(a),Q=(t,a)=>R(t,(t,e)=>a(e,t)),W=(t,a,e)=>v(e)?(V(t,a),t):t?.set(a,e),X=(t,a,e,n)=>{let s=K(t,a);var r,i;return r=t,i=a,r?.has(i)?n?.(s):W(t,a,s=e()),s},Y=(t,a,e,n,s=0)=>p((e?X:K)(t,a[s],s>S(a)-2?e:J),r=>{if(s>S(a)-2)return n?.(r)&&W(t,a[s]),r;const i=Y(r,a,e,n,s+1);return O(r)&&W(t,a[s]),i}),tt=((t,a="")=>"-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(a,void 0))(),at=J(T(tt,(t,a)=>[t,a])),et=(t,a)=>K(at,t[a])??0,nt=c.crypto?t=>c.crypto.getRandomValues(t):t=>T(t,()=>y(256*w())),st=(t=16)=>{return a=(t,a)=>t+tt[63&a],nt(new Uint8Array(t)).reduce(a,"");var a},rt=t=>new Set(M(t)||v(t)?t:[t]),it=(t,a)=>t?.add(a),ot=(t,e)=>Error("tinybase:"+t+(v(e)?a:":"+e)),ct=(t,a)=>{throw ot(t,a)},lt=async(t,a)=>{try{return await t()}catch(t){a?.(t)}},ut=(t,a)=>lt(t,t=>{lt(()=>a?.(t))}),yt=async(t,a)=>{try{return await t()}finally{await a()}};new c.TextEncoder;const wt=(t,a)=>a?[t,a]:[t],dt=(t,e)=>((t??a)>(e??a)?t:e)??a,gt=(t="")=>wt(((t=[])=>{const a=j.create(null);return P(t,([t,e])=>N(a,t,e)),a})(),t),ft=/^\d+$/,vt=J(),ht=J(),bt=J(),pt=(t,e,n,s,r,i,o,c={},l=0,u=[])=>{let y,w,d,g,f,b=0,A=0,_=0,C=0,E=0,j=0,x=0,F=0,k=0;const I={},N=c.destroy;X(vt,u,()=>0),X(ht,u,()=>[]),W(bt,u,(K(bt,u)??0)+1);const U=J(),[Z,B,G,Q,tt]=((t=1,a,e)=>1!=t&&a.isMergeable()?[1,a.__[1],()=>a.__[2](!e),([[t],[a]])=>!$(t)||!$(a),a.setDefaultContent]:2!=t?[0,a._[7],a._[8],([t,a])=>!$(t)||!$(a),a.setContent]:ct(0))(o,t,l),[at,et,nt]=(t=>{let e;const[n,s]=(()=>{const t=[];let e=0;return[n=>(n?t.shift():null)??a+e++,a=>{L(ft,a)&&S(t)<1e3&&z(t,a)}]})(),r=J(),i=(t,n,s,i)=>{let o,c=!1;if(P(((t,e=[a])=>{const n=[],s=(t,a)=>a==S(e)?z(n,t):h(e[a])?R(t,t=>s(t,a+1)):P([e[a],null],e=>s(K(t,e),a+1));return s(t,0),n})(n,s),a=>R(a,a=>{const n=()=>K(r,a)[0](e,...s??[],...i);t?(t=>{try{return t()}catch(t){(t=>{c||(o=t),c=!0})?.(t)}})(n):n()})),c)throw o};return[(s,i,o,c=[],l=()=>[])=>{e??=t();const u=n(1);return W(r,u,[s,i,o,c,l]),it(Y(i,o??[a],rt),u),u},(t,a,...e)=>i(!1,t,a,e),t=>p(K(r,t),([,e,n])=>(Y(e,n??[a],void 0,a=>(V(a,t),O(a)?1:0)),W(r,t),s(t),n)),t=>p(K(r,t),([t,,a=[],n,s])=>{const r=(...i)=>{const o=S(i);o==S(a)?t(e,...i,...s(i)):h(a[o])?P(n[o]?.(...i)??[],t=>r(...i,t)):r(...i,a[o])};r()}),(t,a,...e)=>i(!0,t,a,e)]})(()=>Tt),st=t=>{t!=b&&(b=t,et(U,void 0,b))},ot=()=>{K(bt,u)||K(vt,u)||!m(K(ht,u)??[])||(W(vt,u),W(ht,u),W(bt,u))},wt=a=>{(Z&&M(a?.[0])?1===a?.[2]?t.__[4]:t.__[3]:1===a?.[2]?t._[10]:t._[9])(a)},dt=async()=>{Ct()&&t.__?.[0]?.()&&await St()},gt=t=>yt(()=>w=t,()=>{w==t&&(w=void 0)}),pt=async t=>(2!=b&&(await yt(async()=>{st(1),A++,await Pt(()=>lt(async()=>{const a=await e();M(a)?wt(a):v(a)&&t?tt(t):v(a)||ct(1,a)},a=>{i?.(a),t&&tt(t)}))},()=>st(0)),await dt()),Tt),At=async()=>{const t=x;x=0,t&&t==C&&!k&&(2==b?x=t:await pt())},_t=async t=>{const a=++C;let e=!0;if(await Mt(!0),a==C&&!k){const n=lt(async()=>{const t=await s(async(t,n)=>{if(a==C&&!k)if(n||t){const a=e||2==b||!!j;E++,a&&j++,await yt(async()=>{st(1),A++,await(a?Pt(()=>wt(n??t)):(()=>{try{return wt(n??t)}finally{st(0)}})())},()=>{a&&j--,--E||st(0)}),E||await dt()}else 2==b?x=a:await pt()});a!=C||k?v(t)||await r(t):y=t},i);await gt(n),a!=C||k||await yt(()=>pt(t),()=>{e=!1})}return Tt},Mt=async(t=!1)=>{x=0,t||C++;const a=w,e=y;return y=void 0,await gt(yt(async()=>{await a},async()=>{v(e)||await lt(()=>r(e),i)})),Tt},St=async t=>(1!=b&&await yt(()=>yt(async()=>{st(2),_++,await Pt(()=>lt(()=>n(B,t),i))},()=>st(0)),At),Tt),mt=async()=>{const a=++F;return await Lt(!0),a!=F||k||(await St(),a!=F||k||(d=t.addDidFinishTransactionListener(()=>{if(a==F&&!k){const t=G();Q(t)&<(()=>St(t))}}))),Tt},Lt=async(a=!1)=>{a||F++;const e=d;return d=void 0,v(e)||t.delListener(e),Tt},Ct=()=>!v(d),Ht=async(t=!1)=>{const[a,e]=t?[Lt,Mt]:[Mt,Lt];return await yt(()=>a(),async()=>{await e()}),Tt},Pt=async(...t)=>{let a,e=!1;const n=H(n=>m(t)?n():z(K(ht,u),...T(t,(s,r)=>{const o=r==S(t)-1;return[async()=>{let t;f=H(a=>t=a),await yt(async()=>{try{await lt(s,i)}catch(t){e||(e=!0,a=t)}o&&n()},()=>{f=void 0,t()})},o?n:void 0,I]})));if(await(async()=>{if(!K(vt,u)){W(vt,u,1);const t=K(ht,u);let a=0;await yt(async()=>{for(;a<S(t);){const e=t[a++];e[2]=void 0,await e[0]()}},()=>{D(t,a),W(vt,u,0),ot()})}})(),await n,e)throw a;return Tt},Tt={load:pt,startAutoLoad:_t,stopAutoLoad:Mt,isAutoLoading:()=>!v(y),save:St,startAutoSave:mt,stopAutoSave:Lt,isAutoSaving:Ct,startAutoPersisting:async(t,a=!1)=>{const[e,n,s,r]=a?[mt,_t,Lt,Mt]:[_t,mt,Mt,Lt],i=e(t),o=a?F:C;await i;const c=n(t),l=a?C:F;try{await c}catch(t){throw l==(a?C:F)&&await ut(r),o==(a?F:C)&&await ut(s),t}return Tt},stopAutoPersisting:Ht,getStatus:()=>b,addStatusListener:t=>at(t,U),delListener:a=>(nt(a),t),schedule:Pt,getStore:()=>t,getStats:()=>({loads:A,saves:_}),...c,destroy:async()=>(v(g)&&(k=1,g=(async()=>{const t=K(ht,u),a=(e=([,t,a])=>a!=I||(t?.(),!1),t.filter(e));var e;const n=f;D(t),z(t,...a),await yt(()=>yt(()=>yt(Ht,()=>n),()=>N?.()),()=>{const t=(K(bt,u)??1)-1;W(bt,u,t||void 0),ot()})})()),await g,Tt)};return q(Tt)};J();const At=2**36,_t=2**30,Mt=/^[-0-9A-Z_a-z]{16}$/,St=t=>_(t)&&d(t)&&g(t)&&t>=0&&t<=4294967295,mt=(t,a)=>F(t)&&Z(t,t=>a?mt(t,a-1):St(t)),Lt=(r,i)=>{return M(r)&&(1==S(r)||2==S(r)&&A(r[1])&&(c=1/0,(o=r[1])==a||A(o)&&L(Mt,o)&&(t=>et(t,0)*At+et(t,1)*_t+16777216*et(t,2)+262144*et(t,3)+4096*et(t,4)+64*et(t,5)+et(t,6))(o)<=c))&&(i?F(r[0])&&Z(r[0],t=>Lt(t,i-1)):(l=r[0],v(l)||!v((a=>{if(h(a))return"null";if(M(a))return"array";if(F(a))return"object";const r=t(a);return(t=>t==e||t==n)(r)||r==s&&d(a)?r:void 0})(l))));var o,c,l},Ct=t=>M(t)&&2==S(t)&&St(t[0])&&St(t[1]),Ht=J(),Pt=(t,e,n,s)=>{const r=st(),i=rt();return((t,e,n,s,r,i,o,c,y={},w=C)=>{let f,b=0,m=0,L=0,P=!1;const T=J(),D=()=>st(11),z=t=>Q(T,(a,[,,e,n])=>{u(n),V(T,a),e(t)}),O=(t,a,n,s)=>{m++,i?.(t,a,n,s),e(t,a,n,s)},R=async(t,e,n,s)=>H((i,o)=>{if(E(T)>=100)return void o(ot(15,"requests"));const c=s+"."+st(4),y=l(()=>{V(T,c),o(ot(3,(t??a)+"."+c+"."+e))},r);W(T,c,[t,(t,a)=>{u(y),V(T,c),i([t,a,s])},o,y]);try{O(t,c,e,n)}catch(t){u(y),V(T,c),o(t)}}),j=(t,[a,e])=>{U(a,([a,e],n)=>{const s=B(t[0],n,gt);U(a,([t,a],e)=>{const n=B(s[0],e,gt);U(t,([t,a],e)=>N(n[0],e,wt(t,a))),n[1]=dt(n[1],a)}),s[1]=dt(s[1],e)}),t[1]=dt(t[1],e)},x=(e=null,n,s=D())=>lt(async()=>{v(n)&&([n,e,s]=await R(null,1,a,s));const[r,i]=n,[o,c]=t.getMergeableContentHashes();let l=gt();if(o!=r){const[a,n]=(await R(e,4,t.getMergeableTableHashes(),s))[0];if(l=a,!$(n)){const[a,r]=(await R(e,5,t.getMergeableRowHashes(n),s))[0];if(j(l,a),!$(r)){const a=(await R(e,6,t.getMergeableCellHashes(r),s))[0];j(l,a)}}}return[l,c==i?gt():(await R(e,7,t.getMergeableValueHashes(),s))[0],1]},c),F=pt(t,async()=>{const t=await x();return!t||$(t[0][0])&&$(t[1][0])?void 0:t},async(a,e)=>e?O(null,D(),3,e):O(null,D(),2,t.getMergeableContentHashes()),t=>f=t,()=>f=void 0,c,2,{startSync:async t=>(b=1,await F.startAutoPersisting(t)),stopSync:async()=>(b=0,await F.stopAutoPersisting(),F),destroy:async()=>(P=!0,z(ot(3,"destroyed")),w(),await F.stopSync(),s(),F),getSynchronizerStats:()=>({sends:m,receives:L}),...y},1);return n((e,n,s,r)=>{if(P)return;if(!((t,e,n)=>(h(t)||A(t))&&_(e)&&d(e)&&g(e)&&((t,e)=>0==t?(t=>Ct(t)||Lt(t,3)||Lt(t,1)||M(t)&&2==S(t)&&Lt(t[0],3)&&(mt(t[1],0)||mt(t[1],1)))(e):1==t?e===a:2==t?Ct(e):3==t?(t=>M(t)&&(2==S(t)||3==S(t)&&1===t[2])&&Lt(t[0],3)&&Lt(t[1],1))(e):4==t?mt(e,0):5==t?mt(e,1):6==t?mt(e,2):7==t&&mt(e,0))(e,n))(n,s,r))return void c?.(ot(14));const i=b||F.isAutoLoading();L++,o?.(e,n,s,r),0==s?p(K(T,n),([t,a])=>h(t)||t==e?a(r,e):0):2==s&&i?x(e,r,n??void 0).then(t=>{f?.(void 0,t)}).catch(c):3==s&&i?f?.(void 0,r):p(1==s&&(b||F.isAutoSaving())?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(r):5==s?t.getMergeableRowDiff(r):6==s?t.getMergeableCellDiff(r):7==s?t.getMergeableValueDiff(r):void 0,t=>{O(e,n,0,t)})},z),F})(t,(t,a,e,n)=>{const s=h(t)?[]:[t];h(t)&&Q(Ht,t=>t!=r?z(s,t):0);const o=l(()=>{V(i,o),P(s,t=>K(Ht,t)?.(r,a,e,n))});return it(i,o),o},t=>{W(Ht,r,t)},()=>{V(Ht,r)},.
|
|
1
|
+
const t=t=>typeof t,a="",e=t(a),n=t(!0),s=t(0),r=Promise,i=Math,o=t=>(a,e,n)=>t(a)?n?.():e(a),c=globalThis,l=(t,a=0)=>setTimeout(t,1e3*a),u=t=>clearTimeout(t),y=i.floor,w=i.random,d=isFinite,g=Number.isInteger,f=t=>null==t,v=t=>void 0===t,h=t=>null===t,b=o(f),p=o(v),A=a=>t(a)==e,_=a=>t(a)==s,M=t=>Array.isArray(t),S=t=>t.length,m=t=>0==S(t),L=(t,a)=>t.test(a),C=()=>{},H=t=>new r(t),P=(t,a)=>t.forEach(a),T=(t,a)=>t.map(a),D=(t,a=S(t))=>t.splice(0,a),z=(t,...a)=>t.push(...a),E=t=>t?.size??0,O=t=>v(t)||0==E(t),R=(t,a)=>t?.forEach(a),V=(t,a)=>t?.delete(a),j=Object,x=t=>j.getPrototypeOf(t),F=t=>!f(t)&&b(x(t),t=>t==j.prototype||f(x(t)),()=>!0),k=j.keys,q=j.freeze,I=(t,a)=>j.hasOwn(t,a),N=(t,a,e)=>(j.defineProperty(t,a,{configurable:!0,enumerable:!0,value:e,writable:!0}),e),U=(t,a)=>P(k(t),e=>a(t[e],e)),Z=(t,a)=>{for(const e in t)if(I(t,e)&&!a(t[e],e))return!1;return!0},$=t=>F(t)&&0==(t=>S(k(t)))(t),B=(t,a,e)=>(I(t,a)||N(t,a,e()),t[a]),G=Map,J=t=>new G(t),K=(t,a)=>t?.get(a),Q=(t,a)=>R(t,(t,e)=>a(e,t)),W=(t,a,e)=>v(e)?(V(t,a),t):t?.set(a,e),X=(t,a,e,n)=>{let s=K(t,a);var r,i;return r=t,i=a,r?.has(i)?n?.(s):W(t,a,s=e()),s},Y=(t,a,e,n,s=0)=>p((e?X:K)(t,a[s],s>S(a)-2?e:J),r=>{if(s>S(a)-2)return n?.(r)&&W(t,a[s]),r;const i=Y(r,a,e,n,s+1);return O(r)&&W(t,a[s]),i}),tt=((t,a="")=>"-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(a,void 0))(),at=J(T(tt,(t,a)=>[t,a])),et=(t,a)=>K(at,t[a])??0,nt=c.crypto?t=>c.crypto.getRandomValues(t):t=>T(t,()=>y(256*w())),st=(t=16)=>{return a=(t,a)=>t+tt[63&a],nt(new Uint8Array(t)).reduce(a,"");var a},rt=t=>new Set(M(t)||v(t)?t:[t]),it=(t,a)=>t?.add(a),ot=(t,e)=>Error("tinybase:"+t+(v(e)?a:":"+e)),ct=(t,a)=>{throw ot(t,a)},lt=async(t,a)=>{try{return await t()}catch(t){a?.(t)}},ut=(t,a)=>lt(t,t=>{lt(()=>a?.(t))}),yt=async(t,a)=>{try{return await t()}finally{await a()}};new c.TextEncoder;const wt=(t,a)=>a?[t,a]:[t],dt=(t,e)=>((t??a)>(e??a)?t:e)??a,gt=(t="")=>wt(((t=[])=>{const a=j.create(null);return P(t,([t,e])=>N(a,t,e)),a})(),t),ft=/^\d+$/,vt=J(),ht=J(),bt=J(),pt=(t,e,n,s,r,i,o,c={},l=0,u=[])=>{let y,w,d,g,f,b=0,A=0,_=0,C=0,E=0,j=0,x=0,F=0,k=0;const I={},N=c.destroy;X(vt,u,()=>0),X(ht,u,()=>[]),W(bt,u,(K(bt,u)??0)+1);const U=J(),[Z,B,G,Q,tt]=((t=1,a,e)=>1!=t&&a.isMergeable()?[1,a.__[1],()=>a.__[2](!e),([[t],[a]])=>!$(t)||!$(a),a.setDefaultContent]:2!=t?[0,a._[7],a._[8],([t,a])=>!$(t)||!$(a),a.setContent]:ct(0))(o,t,l),[at,et,nt]=(t=>{let e;const[n,s]=(()=>{const t=[];let e=0;return[n=>(n?t.shift():null)??a+e++,a=>{L(ft,a)&&S(t)<1e3&&z(t,a)}]})(),r=J(),i=(t,n,s,i)=>{let o,c=!1;if(P(((t,e=[a])=>{const n=[],s=(t,a)=>a==S(e)?z(n,t):h(e[a])?R(t,t=>s(t,a+1)):P([e[a],null],e=>s(K(t,e),a+1));return s(t,0),n})(n,s),a=>R(a,a=>{const n=()=>K(r,a)[0](e,...s??[],...i);t?(t=>{try{return t()}catch(t){(t=>{c||(o=t),c=!0})?.(t)}})(n):n()})),c)throw o};return[(s,i,o,c=[],l=()=>[])=>{e??=t();const u=n(1);return W(r,u,[s,i,o,c,l]),it(Y(i,o??[a],rt),u),u},(t,a,...e)=>i(!1,t,a,e),t=>p(K(r,t),([,e,n])=>(Y(e,n??[a],void 0,a=>(V(a,t),O(a)?1:0)),W(r,t),s(t),n)),t=>p(K(r,t),([t,,a=[],n,s])=>{const r=(...i)=>{const o=S(i);o==S(a)?t(e,...i,...s(i)):h(a[o])?P(n[o]?.(...i)??[],t=>r(...i,t)):r(...i,a[o])};r()}),(t,a,...e)=>i(!0,t,a,e)]})(()=>Tt),st=t=>{t!=b&&(b=t,et(U,void 0,b))},ot=()=>{K(bt,u)||K(vt,u)||!m(K(ht,u)??[])||(W(vt,u),W(ht,u),W(bt,u))},wt=a=>{(Z&&M(a?.[0])?1===a?.[2]?t.__[4]:t.__[3]:1===a?.[2]?t._[10]:t._[9])(a)},dt=async()=>{Ct()&&t.__?.[0]?.()&&await St()},gt=t=>yt(()=>w=t,()=>{w==t&&(w=void 0)}),pt=async t=>(2!=b&&(await yt(async()=>{st(1),A++,await Pt(()=>lt(async()=>{const a=await e();M(a)?wt(a):v(a)&&t?tt(t):v(a)||ct(1,a)},a=>{i?.(a),t&&tt(t)}))},()=>st(0)),await dt()),Tt),At=async()=>{const t=x;x=0,t&&t==C&&!k&&(2==b?x=t:await pt())},_t=async t=>{const a=++C;let e=!0;if(await Mt(!0),a==C&&!k){const n=lt(async()=>{const t=await s(async(t,n)=>{if(a==C&&!k)if(n||t){const a=e||2==b||!!j;E++,a&&j++,await yt(async()=>{st(1),A++,await(a?Pt(()=>wt(n??t)):(()=>{try{return wt(n??t)}finally{st(0)}})())},()=>{a&&j--,--E||st(0)}),E||await dt()}else 2==b?x=a:await pt()});a!=C||k?v(t)||await r(t):y=t},i);await gt(n),a!=C||k||await yt(()=>pt(t),()=>{e=!1})}return Tt},Mt=async(t=!1)=>{x=0,t||C++;const a=w,e=y;return y=void 0,await gt(yt(async()=>{await a},async()=>{v(e)||await lt(()=>r(e),i)})),Tt},St=async t=>(1!=b&&await yt(()=>yt(async()=>{st(2),_++,await Pt(()=>lt(()=>n(B,t),i))},()=>st(0)),At),Tt),mt=async()=>{const a=++F;return await Lt(!0),a!=F||k||(await St(),a!=F||k||(d=t.addDidFinishTransactionListener(()=>{if(a==F&&!k){const t=G();Q(t)&<(()=>St(t))}}))),Tt},Lt=async(a=!1)=>{a||F++;const e=d;return d=void 0,v(e)||t.delListener(e),Tt},Ct=()=>!v(d),Ht=async(t=!1)=>{const[a,e]=t?[Lt,Mt]:[Mt,Lt];return await yt(()=>a(),async()=>{await e()}),Tt},Pt=async(...t)=>{let a,e=!1;const n=H(n=>m(t)?n():z(K(ht,u),...T(t,(s,r)=>{const o=r==S(t)-1;return[async()=>{let t;f=H(a=>t=a),await yt(async()=>{try{await lt(s,i)}catch(t){e||(e=!0,a=t)}o&&n()},()=>{f=void 0,t()})},o?n:void 0,I]})));if(await(async()=>{if(!K(vt,u)){W(vt,u,1);const t=K(ht,u);let a=0;await yt(async()=>{for(;a<S(t);){const e=t[a++];e[2]=void 0,await e[0]()}},()=>{D(t,a),W(vt,u,0),ot()})}})(),await n,e)throw a;return Tt},Tt={load:pt,startAutoLoad:_t,stopAutoLoad:Mt,isAutoLoading:()=>!v(y),save:St,startAutoSave:mt,stopAutoSave:Lt,isAutoSaving:Ct,startAutoPersisting:async(t,a=!1)=>{const[e,n,s,r]=a?[mt,_t,Lt,Mt]:[_t,mt,Mt,Lt],i=e(t),o=a?F:C;await i;const c=n(t),l=a?C:F;try{await c}catch(t){throw l==(a?C:F)&&await ut(r),o==(a?F:C)&&await ut(s),t}return Tt},stopAutoPersisting:Ht,getStatus:()=>b,addStatusListener:t=>at(t,U),delListener:a=>(nt(a),t),schedule:Pt,getStore:()=>t,getStats:()=>({loads:A,saves:_}),...c,destroy:async()=>(v(g)&&(k=1,g=(async()=>{const t=K(ht,u),a=(e=([,t,a])=>a!=I||(t?.(),!1),t.filter(e));var e;const n=f;D(t),z(t,...a),await yt(()=>yt(()=>yt(Ht,()=>n),()=>N?.()),()=>{const t=(K(bt,u)??1)-1;W(bt,u,t||void 0),ot()})})()),await g,Tt)};return q(Tt)};J();const At=2**36,_t=2**30,Mt=/^[-0-9A-Z_a-z]{16}$/,St=t=>_(t)&&d(t)&&g(t)&&t>=0&&t<=4294967295,mt=(t,a)=>F(t)&&Z(t,t=>a?mt(t,a-1):St(t)),Lt=(r,i)=>{return M(r)&&(1==S(r)||2==S(r)&&A(r[1])&&(c=1/0,(o=r[1])==a||A(o)&&L(Mt,o)&&(t=>et(t,0)*At+et(t,1)*_t+16777216*et(t,2)+262144*et(t,3)+4096*et(t,4)+64*et(t,5)+et(t,6))(o)<=c))&&(i?F(r[0])&&Z(r[0],t=>Lt(t,i-1)):(l=r[0],v(l)||!v((a=>{if(h(a))return"null";if(M(a))return"array";if(F(a))return"object";const r=t(a);return(t=>t==e||t==n)(r)||r==s&&d(a)?r:void 0})(l))));var o,c,l},Ct=t=>M(t)&&2==S(t)&&St(t[0])&&St(t[1]),Ht=J(),Pt=(t,e,n,s)=>{const r=st(),i=rt();return((t,e,n,s,r,i,o,c,y={},w=C)=>{let f,b=0,m=0,L=0,P=!1;const T=J(),D=()=>st(11),z=t=>Q(T,(a,[,,e,n])=>{u(n),V(T,a),e(t)}),O=(t,a,n,s)=>{m++,i?.(t,a,n,s),e(t,a,n,s)},R=async(t,e,n,s)=>H((i,o)=>{if(E(T)>=100)return void o(ot(15,"requests"));const c=s+"."+st(4),y=l(()=>{V(T,c),o(ot(3,(t??a)+"."+c+"."+e))},r);W(T,c,[t,(t,a)=>{u(y),V(T,c),i([t,a,s])},o,y]);try{O(t,c,e,n)}catch(t){u(y),V(T,c),o(t)}}),j=(t,[a,e])=>{U(a,([a,e],n)=>{const s=B(t[0],n,gt);U(a,([t,a],e)=>{const n=B(s[0],e,gt);U(t,([t,a],e)=>N(n[0],e,wt(t,a))),n[1]=dt(n[1],a)}),s[1]=dt(s[1],e)}),t[1]=dt(t[1],e)},x=(e=null,n,s=D())=>lt(async()=>{v(n)&&([n,e,s]=await R(null,1,a,s));const[r,i]=n,[o,c]=t.getMergeableContentHashes();let l=gt();if(o!=r){const[a,n]=(await R(e,4,t.getMergeableTableHashes(),s))[0];if(l=a,!$(n)){const[a,r]=(await R(e,5,t.getMergeableRowHashes(n),s))[0];if(j(l,a),!$(r)){const a=(await R(e,6,t.getMergeableCellHashes(r),s))[0];j(l,a)}}}return[l,c==i?gt():(await R(e,7,t.getMergeableValueHashes(),s))[0],1]},c),F=pt(t,async()=>{const t=await x();return!t||$(t[0][0])&&$(t[1][0])?void 0:t},async(a,e)=>e?O(null,D(),3,e):O(null,D(),2,t.getMergeableContentHashes()),t=>f=t,()=>f=void 0,c,2,{startSync:async t=>(b=1,await F.startAutoPersisting(t)),stopSync:async()=>(b=0,await F.stopAutoPersisting(),F),destroy:async()=>(P=!0,z(ot(3,"destroyed")),w(),await F.stopSync(),s(),F),getSynchronizerStats:()=>({sends:m,receives:L}),...y},1);return n((e,n,s,r)=>{if(P)return;if(!((t,e,n)=>(h(t)||A(t))&&_(e)&&d(e)&&g(e)&&((t,e)=>0==t?(t=>Ct(t)||Lt(t,3)||Lt(t,1)||M(t)&&2==S(t)&&Lt(t[0],3)&&(mt(t[1],0)||mt(t[1],1)))(e):1==t?e===a:2==t?Ct(e):3==t?(t=>M(t)&&(2==S(t)||3==S(t)&&1===t[2])&&Lt(t[0],3)&&Lt(t[1],1))(e):4==t?mt(e,0):5==t?mt(e,1):6==t?mt(e,2):7==t&&mt(e,0))(e,n))(n,s,r))return void c?.(ot(14));const i=b||F.isAutoLoading();L++,o?.(e,n,s,r),0==s?p(K(T,n),([t,a])=>h(t)||t==e?a(r,e):0):2==s&&i?x(e,r,n??void 0).then(t=>{f?.(void 0,t)}).catch(c):3==s&&i?f?.(void 0,r):p(1==s&&(b||F.isAutoSaving())?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(r):5==s?t.getMergeableRowDiff(r):6==s?t.getMergeableCellDiff(r):7==s?t.getMergeableValueDiff(r):void 0,t=>{O(e,n,0,t)})},z),F})(t,(t,a,e,n)=>{const s=h(t)?[]:[t];h(t)&&Q(Ht,t=>t!=r?z(s,t):0);const o=l(()=>{V(i,o),P(s,t=>K(Ht,t)?.(r,a,e,n))});return it(i,o),o},t=>{W(Ht,r,t)},()=>{V(Ht,r)},.05,e,n,s,{},()=>{R(i,u),i.clear()})};export{Pt as createLocalSynchronizer};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>typeof t,a="",e=t(a),n=t(!0),s=t(0),r=Promise,i=Math,o=t=>(a,e,n)=>t(a)?n?.():e(a),c=globalThis,l=(t,a=0)=>setTimeout(t,1e3*a),u=t=>clearTimeout(t),y=i.floor,w=i.random,d=isFinite,g=Number.isInteger,f=t=>null==t,v=t=>void 0===t,h=t=>null===t,b=o(f),p=o(v),A=a=>t(a)==e,_=a=>t(a)==s,M=t=>Array.isArray(t),S=t=>t.length,m=t=>0==S(t),L=(t,a)=>t.test(a),C=()=>{},H=t=>new r(t),P=(t,a)=>t.forEach(a),T=(t,a)=>t.map(a),D=(t,a=S(t))=>t.splice(0,a),z=(t,...a)=>t.push(...a),E=t=>t?.size??0,O=t=>v(t)||0==E(t),R=(t,a)=>t?.forEach(a),V=(t,a)=>t?.delete(a),j=Object,x=t=>j.getPrototypeOf(t),F=t=>!f(t)&&b(x(t),t=>t==j.prototype||f(x(t)),()=>!0),k=j.keys,q=j.freeze,I=(t,a)=>j.hasOwn(t,a),N=(t,a,e)=>(j.defineProperty(t,a,{configurable:!0,enumerable:!0,value:e,writable:!0}),e),U=(t,a)=>P(k(t),e=>a(t[e],e)),Z=(t,a)=>{for(const e in t)if(I(t,e)&&!a(t[e],e))return!1;return!0},$=t=>F(t)&&0==(t=>S(k(t)))(t),B=(t,a,e)=>(I(t,a)||N(t,a,e()),t[a]),G=Map,J=t=>new G(t),K=(t,a)=>t?.get(a),Q=(t,a)=>R(t,(t,e)=>a(e,t)),W=(t,a,e)=>v(e)?(V(t,a),t):t?.set(a,e),X=(t,a,e,n)=>{let s=K(t,a);var r,i;return r=t,i=a,r?.has(i)?n?.(s):W(t,a,s=e()),s},Y=(t,a,e,n,s=0)=>p((e?X:K)(t,a[s],s>S(a)-2?e:J),r=>{if(s>S(a)-2)return n?.(r)&&W(t,a[s]),r;const i=Y(r,a,e,n,s+1);return O(r)&&W(t,a[s]),i}),tt=((t,a="")=>"-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(a,void 0))(),at=J(T(tt,(t,a)=>[t,a])),et=(t,a)=>K(at,t[a])??0,nt=c.crypto?t=>c.crypto.getRandomValues(t):t=>T(t,()=>y(256*w())),st=(t=16)=>{return a=(t,a)=>t+tt[63&a],nt(new Uint8Array(t)).reduce(a,"");var a},rt=t=>new Set(M(t)||v(t)?t:[t]),it=(t,a)=>t?.add(a),ot=(t,e)=>Error("tinybase:"+t+(v(e)?a:":"+e)),ct=(t,a)=>{throw ot(t,a)},lt=async(t,a)=>{try{return await t()}catch(t){a?.(t)}},ut=(t,a)=>lt(t,t=>{lt(()=>a?.(t))}),yt=async(t,a)=>{try{return await t()}finally{await a()}};new c.TextEncoder;const wt=(t,a)=>a?[t,a]:[t],dt=(t,e)=>((t??a)>(e??a)?t:e)??a,gt=(t="")=>wt(((t=[])=>{const a=j.create(null);return P(t,([t,e])=>N(a,t,e)),a})(),t),ft=/^\d+$/,vt=J(),ht=J(),bt=J(),pt=(t,e,n,s,r,i,o,c={},l=0,u=[])=>{let y,w,d,g,f,b=0,A=0,_=0,C=0,E=0,j=0,x=0,F=0,k=0;const I={},N=c.destroy;X(vt,u,()=>0),X(ht,u,()=>[]),W(bt,u,(K(bt,u)??0)+1);const U=J(),[Z,B,G,Q,tt]=((t=1,a,e)=>1!=t&&a.isMergeable()?[1,a.__[1],()=>a.__[2](!e),([[t],[a]])=>!$(t)||!$(a),a.setDefaultContent]:2!=t?[0,a._[7],a._[8],([t,a])=>!$(t)||!$(a),a.setContent]:ct(0))(o,t,l),[at,et,nt]=(t=>{let e;const[n,s]=(()=>{const t=[];let e=0;return[n=>(n?t.shift():null)??a+e++,a=>{L(ft,a)&&S(t)<1e3&&z(t,a)}]})(),r=J(),i=(t,n,s,i)=>{let o,c=!1;if(P(((t,e=[a])=>{const n=[],s=(t,a)=>a==S(e)?z(n,t):h(e[a])?R(t,t=>s(t,a+1)):P([e[a],null],e=>s(K(t,e),a+1));return s(t,0),n})(n,s),a=>R(a,a=>{const n=()=>K(r,a)[0](e,...s??[],...i);t?(t=>{try{return t()}catch(t){(t=>{c||(o=t),c=!0})?.(t)}})(n):n()})),c)throw o};return[(s,i,o,c=[],l=()=>[])=>{e??=t();const u=n(1);return W(r,u,[s,i,o,c,l]),it(Y(i,o??[a],rt),u),u},(t,a,...e)=>i(!1,t,a,e),t=>p(K(r,t),([,e,n])=>(Y(e,n??[a],void 0,a=>(V(a,t),O(a)?1:0)),W(r,t),s(t),n)),t=>p(K(r,t),([t,,a=[],n,s])=>{const r=(...i)=>{const o=S(i);o==S(a)?t(e,...i,...s(i)):h(a[o])?P(n[o]?.(...i)??[],t=>r(...i,t)):r(...i,a[o])};r()}),(t,a,...e)=>i(!0,t,a,e)]})(()=>Tt),st=t=>{t!=b&&(b=t,et(U,void 0,b))},ot=()=>{K(bt,u)||K(vt,u)||!m(K(ht,u)??[])||(W(vt,u),W(ht,u),W(bt,u))},wt=a=>{(Z&&M(a?.[0])?1===a?.[2]?t.__[4]:t.__[3]:1===a?.[2]?t._[10]:t._[9])(a)},dt=async()=>{Ct()&&t.__?.[0]?.()&&await St()},gt=t=>yt(()=>w=t,()=>{w==t&&(w=void 0)}),pt=async t=>(2!=b&&(await yt(async()=>{st(1),A++,await Pt(()=>lt(async()=>{const a=await e();M(a)?wt(a):v(a)&&t?tt(t):v(a)||ct(1,a)},a=>{i?.(a),t&&tt(t)}))},()=>st(0)),await dt()),Tt),At=async()=>{const t=x;x=0,t&&t==C&&!k&&(2==b?x=t:await pt())},_t=async t=>{const a=++C;let e=!0;if(await Mt(!0),a==C&&!k){const n=lt(async()=>{const t=await s(async(t,n)=>{if(a==C&&!k)if(n||t){const a=e||2==b||!!j;E++,a&&j++,await yt(async()=>{st(1),A++,await(a?Pt(()=>wt(n??t)):(()=>{try{return wt(n??t)}finally{st(0)}})())},()=>{a&&j--,--E||st(0)}),E||await dt()}else 2==b?x=a:await pt()});a!=C||k?v(t)||await r(t):y=t},i);await gt(n),a!=C||k||await yt(()=>pt(t),()=>{e=!1})}return Tt},Mt=async(t=!1)=>{x=0,t||C++;const a=w,e=y;return y=void 0,await gt(yt(async()=>{await a},async()=>{v(e)||await lt(()=>r(e),i)})),Tt},St=async t=>(1!=b&&await yt(()=>yt(async()=>{st(2),_++,await Pt(()=>lt(()=>n(B,t),i))},()=>st(0)),At),Tt),mt=async()=>{const a=++F;return await Lt(!0),a!=F||k||(await St(),a!=F||k||(d=t.addDidFinishTransactionListener(()=>{if(a==F&&!k){const t=G();Q(t)&<(()=>St(t))}}))),Tt},Lt=async(a=!1)=>{a||F++;const e=d;return d=void 0,v(e)||t.delListener(e),Tt},Ct=()=>!v(d),Ht=async(t=!1)=>{const[a,e]=t?[Lt,Mt]:[Mt,Lt];return await yt(()=>a(),async()=>{await e()}),Tt},Pt=async(...t)=>{let a,e=!1;const n=H(n=>m(t)?n():z(K(ht,u),...T(t,(s,r)=>{const o=r==S(t)-1;return[async()=>{let t;f=H(a=>t=a),await yt(async()=>{try{await lt(s,i)}catch(t){e||(e=!0,a=t)}o&&n()},()=>{f=void 0,t()})},o?n:void 0,I]})));if(await(async()=>{if(!K(vt,u)){W(vt,u,1);const t=K(ht,u);let a=0;await yt(async()=>{for(;a<S(t);){const e=t[a++];e[2]=void 0,await e[0]()}},()=>{D(t,a),W(vt,u,0),ot()})}})(),await n,e)throw a;return Tt},Tt={load:pt,startAutoLoad:_t,stopAutoLoad:Mt,isAutoLoading:()=>!v(y),save:St,startAutoSave:mt,stopAutoSave:Lt,isAutoSaving:Ct,startAutoPersisting:async(t,a=!1)=>{const[e,n,s,r]=a?[mt,_t,Lt,Mt]:[_t,mt,Mt,Lt],i=e(t),o=a?F:C;await i;const c=n(t),l=a?C:F;try{await c}catch(t){throw l==(a?C:F)&&await ut(r),o==(a?F:C)&&await ut(s),t}return Tt},stopAutoPersisting:Ht,getStatus:()=>b,addStatusListener:t=>at(t,U),delListener:a=>(nt(a),t),schedule:Pt,getStore:()=>t,getStats:()=>({loads:A,saves:_}),...c,destroy:async()=>(v(g)&&(k=1,g=(async()=>{const t=K(ht,u),a=(e=([,t,a])=>a!=I||(t?.(),!1),t.filter(e));var e;const n=f;D(t),z(t,...a),await yt(()=>yt(()=>yt(Ht,()=>n),()=>N?.()),()=>{const t=(K(bt,u)??1)-1;W(bt,u,t||void 0),ot()})})()),await g,Tt)};return q(Tt)};J();const At=2**36,_t=2**30,Mt=/^[-0-9A-Z_a-z]{16}$/,St=t=>_(t)&&d(t)&&g(t)&&t>=0&&t<=4294967295,mt=(t,a)=>F(t)&&Z(t,t=>a?mt(t,a-1):St(t)),Lt=(r,i)=>{return M(r)&&(1==S(r)||2==S(r)&&A(r[1])&&(c=1/0,(o=r[1])==a||A(o)&&L(Mt,o)&&(t=>et(t,0)*At+et(t,1)*_t+16777216*et(t,2)+262144*et(t,3)+4096*et(t,4)+64*et(t,5)+et(t,6))(o)<=c))&&(i?F(r[0])&&Z(r[0],t=>Lt(t,i-1)):(l=r[0],v(l)||!v((a=>{if(h(a))return"null";if(M(a))return"array";if(F(a))return"object";const r=t(a);return(t=>t==e||t==n)(r)||r==s&&d(a)?r:void 0})(l))));var o,c,l},Ct=t=>M(t)&&2==S(t)&&St(t[0])&&St(t[1]),Ht=J(),Pt=(t,e,n,s)=>{const r=st(),i=rt();return((t,e,n,s,r,i,o,c,y={},w=C)=>{let f,b=0,m=0,L=0,P=!1;const T=J(),D=()=>st(11),z=t=>Q(T,(a,[,,e,n])=>{u(n),V(T,a),e(t)}),O=(t,a,n,s)=>{m++,i?.(t,a,n,s),e(t,a,n,s)},R=async(t,e,n,s)=>H((i,o)=>{if(E(T)>=100)return void o(ot(15,"requests"));const c=s+"."+st(4),y=l(()=>{V(T,c),o(ot(3,(t??a)+"."+c+"."+e))},r);W(T,c,[t,(t,a)=>{u(y),V(T,c),i([t,a,s])},o,y]);try{O(t,c,e,n)}catch(t){u(y),V(T,c),o(t)}}),j=(t,[a,e])=>{U(a,([a,e],n)=>{const s=B(t[0],n,gt);U(a,([t,a],e)=>{const n=B(s[0],e,gt);U(t,([t,a],e)=>N(n[0],e,wt(t,a))),n[1]=dt(n[1],a)}),s[1]=dt(s[1],e)}),t[1]=dt(t[1],e)},x=(e=null,n,s=D())=>lt(async()=>{v(n)&&([n,e,s]=await R(null,1,a,s));const[r,i]=n,[o,c]=t.getMergeableContentHashes();let l=gt();if(o!=r){const[a,n]=(await R(e,4,t.getMergeableTableHashes(),s))[0];if(l=a,!$(n)){const[a,r]=(await R(e,5,t.getMergeableRowHashes(n),s))[0];if(j(l,a),!$(r)){const a=(await R(e,6,t.getMergeableCellHashes(r),s))[0];j(l,a)}}}return[l,c==i?gt():(await R(e,7,t.getMergeableValueHashes(),s))[0],1]},c),F=pt(t,async()=>{const t=await x();return!t||$(t[0][0])&&$(t[1][0])?void 0:t},async(a,e)=>e?O(null,D(),3,e):O(null,D(),2,t.getMergeableContentHashes()),t=>f=t,()=>f=void 0,c,2,{startSync:async t=>(b=1,await F.startAutoPersisting(t)),stopSync:async()=>(b=0,await F.stopAutoPersisting(),F),destroy:async()=>(P=!0,z(ot(3,"destroyed")),w(),await F.stopSync(),s(),F),getSynchronizerStats:()=>({sends:m,receives:L}),...y},1);return n((e,n,s,r)=>{if(P)return;if(!((t,e,n)=>(h(t)||A(t))&&_(e)&&d(e)&&g(e)&&((t,e)=>0==t?(t=>Ct(t)||Lt(t,3)||Lt(t,1)||M(t)&&2==S(t)&&Lt(t[0],3)&&(mt(t[1],0)||mt(t[1],1)))(e):1==t?e===a:2==t?Ct(e):3==t?(t=>M(t)&&(2==S(t)||3==S(t)&&1===t[2])&&Lt(t[0],3)&&Lt(t[1],1))(e):4==t?mt(e,0):5==t?mt(e,1):6==t?mt(e,2):7==t&&mt(e,0))(e,n))(n,s,r))return void c?.(ot(14));const i=b||F.isAutoLoading();L++,o?.(e,n,s,r),0==s?p(K(T,n),([t,a])=>h(t)||t==e?a(r,e):0):2==s&&i?x(e,r,n??void 0).then(t=>{f?.(void 0,t)}).catch(c):3==s&&i?f?.(void 0,r):p(1==s&&(b||F.isAutoSaving())?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(r):5==s?t.getMergeableRowDiff(r):6==s?t.getMergeableCellDiff(r):7==s?t.getMergeableValueDiff(r):void 0,t=>{O(e,n,0,t)})},z),F})(t,(t,a,e,n)=>{const s=h(t)?[]:[t];h(t)&&Q(Ht,t=>t!=r?z(s,t):0);const o=l(()=>{V(i,o),P(s,t=>K(Ht,t)?.(r,a,e,n))});return it(i,o),o},t=>{W(Ht,r,t)},()=>{V(Ht,r)},.
|
|
1
|
+
const t=t=>typeof t,a="",e=t(a),n=t(!0),s=t(0),r=Promise,i=Math,o=t=>(a,e,n)=>t(a)?n?.():e(a),c=globalThis,l=(t,a=0)=>setTimeout(t,1e3*a),u=t=>clearTimeout(t),y=i.floor,w=i.random,d=isFinite,g=Number.isInteger,f=t=>null==t,v=t=>void 0===t,h=t=>null===t,b=o(f),p=o(v),A=a=>t(a)==e,_=a=>t(a)==s,M=t=>Array.isArray(t),S=t=>t.length,m=t=>0==S(t),L=(t,a)=>t.test(a),C=()=>{},H=t=>new r(t),P=(t,a)=>t.forEach(a),T=(t,a)=>t.map(a),D=(t,a=S(t))=>t.splice(0,a),z=(t,...a)=>t.push(...a),E=t=>t?.size??0,O=t=>v(t)||0==E(t),R=(t,a)=>t?.forEach(a),V=(t,a)=>t?.delete(a),j=Object,x=t=>j.getPrototypeOf(t),F=t=>!f(t)&&b(x(t),t=>t==j.prototype||f(x(t)),()=>!0),k=j.keys,q=j.freeze,I=(t,a)=>j.hasOwn(t,a),N=(t,a,e)=>(j.defineProperty(t,a,{configurable:!0,enumerable:!0,value:e,writable:!0}),e),U=(t,a)=>P(k(t),e=>a(t[e],e)),Z=(t,a)=>{for(const e in t)if(I(t,e)&&!a(t[e],e))return!1;return!0},$=t=>F(t)&&0==(t=>S(k(t)))(t),B=(t,a,e)=>(I(t,a)||N(t,a,e()),t[a]),G=Map,J=t=>new G(t),K=(t,a)=>t?.get(a),Q=(t,a)=>R(t,(t,e)=>a(e,t)),W=(t,a,e)=>v(e)?(V(t,a),t):t?.set(a,e),X=(t,a,e,n)=>{let s=K(t,a);var r,i;return r=t,i=a,r?.has(i)?n?.(s):W(t,a,s=e()),s},Y=(t,a,e,n,s=0)=>p((e?X:K)(t,a[s],s>S(a)-2?e:J),r=>{if(s>S(a)-2)return n?.(r)&&W(t,a[s]),r;const i=Y(r,a,e,n,s+1);return O(r)&&W(t,a[s]),i}),tt=((t,a="")=>"-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(a,void 0))(),at=J(T(tt,(t,a)=>[t,a])),et=(t,a)=>K(at,t[a])??0,nt=c.crypto?t=>c.crypto.getRandomValues(t):t=>T(t,()=>y(256*w())),st=(t=16)=>{return a=(t,a)=>t+tt[63&a],nt(new Uint8Array(t)).reduce(a,"");var a},rt=t=>new Set(M(t)||v(t)?t:[t]),it=(t,a)=>t?.add(a),ot=(t,e)=>Error("tinybase:"+t+(v(e)?a:":"+e)),ct=(t,a)=>{throw ot(t,a)},lt=async(t,a)=>{try{return await t()}catch(t){a?.(t)}},ut=(t,a)=>lt(t,t=>{lt(()=>a?.(t))}),yt=async(t,a)=>{try{return await t()}finally{await a()}};new c.TextEncoder;const wt=(t,a)=>a?[t,a]:[t],dt=(t,e)=>((t??a)>(e??a)?t:e)??a,gt=(t="")=>wt(((t=[])=>{const a=j.create(null);return P(t,([t,e])=>N(a,t,e)),a})(),t),ft=/^\d+$/,vt=J(),ht=J(),bt=J(),pt=(t,e,n,s,r,i,o,c={},l=0,u=[])=>{let y,w,d,g,f,b=0,A=0,_=0,C=0,E=0,j=0,x=0,F=0,k=0;const I={},N=c.destroy;X(vt,u,()=>0),X(ht,u,()=>[]),W(bt,u,(K(bt,u)??0)+1);const U=J(),[Z,B,G,Q,tt]=((t=1,a,e)=>1!=t&&a.isMergeable()?[1,a.__[1],()=>a.__[2](!e),([[t],[a]])=>!$(t)||!$(a),a.setDefaultContent]:2!=t?[0,a._[7],a._[8],([t,a])=>!$(t)||!$(a),a.setContent]:ct(0))(o,t,l),[at,et,nt]=(t=>{let e;const[n,s]=(()=>{const t=[];let e=0;return[n=>(n?t.shift():null)??a+e++,a=>{L(ft,a)&&S(t)<1e3&&z(t,a)}]})(),r=J(),i=(t,n,s,i)=>{let o,c=!1;if(P(((t,e=[a])=>{const n=[],s=(t,a)=>a==S(e)?z(n,t):h(e[a])?R(t,t=>s(t,a+1)):P([e[a],null],e=>s(K(t,e),a+1));return s(t,0),n})(n,s),a=>R(a,a=>{const n=()=>K(r,a)[0](e,...s??[],...i);t?(t=>{try{return t()}catch(t){(t=>{c||(o=t),c=!0})?.(t)}})(n):n()})),c)throw o};return[(s,i,o,c=[],l=()=>[])=>{e??=t();const u=n(1);return W(r,u,[s,i,o,c,l]),it(Y(i,o??[a],rt),u),u},(t,a,...e)=>i(!1,t,a,e),t=>p(K(r,t),([,e,n])=>(Y(e,n??[a],void 0,a=>(V(a,t),O(a)?1:0)),W(r,t),s(t),n)),t=>p(K(r,t),([t,,a=[],n,s])=>{const r=(...i)=>{const o=S(i);o==S(a)?t(e,...i,...s(i)):h(a[o])?P(n[o]?.(...i)??[],t=>r(...i,t)):r(...i,a[o])};r()}),(t,a,...e)=>i(!0,t,a,e)]})(()=>Tt),st=t=>{t!=b&&(b=t,et(U,void 0,b))},ot=()=>{K(bt,u)||K(vt,u)||!m(K(ht,u)??[])||(W(vt,u),W(ht,u),W(bt,u))},wt=a=>{(Z&&M(a?.[0])?1===a?.[2]?t.__[4]:t.__[3]:1===a?.[2]?t._[10]:t._[9])(a)},dt=async()=>{Ct()&&t.__?.[0]?.()&&await St()},gt=t=>yt(()=>w=t,()=>{w==t&&(w=void 0)}),pt=async t=>(2!=b&&(await yt(async()=>{st(1),A++,await Pt(()=>lt(async()=>{const a=await e();M(a)?wt(a):v(a)&&t?tt(t):v(a)||ct(1,a)},a=>{i?.(a),t&&tt(t)}))},()=>st(0)),await dt()),Tt),At=async()=>{const t=x;x=0,t&&t==C&&!k&&(2==b?x=t:await pt())},_t=async t=>{const a=++C;let e=!0;if(await Mt(!0),a==C&&!k){const n=lt(async()=>{const t=await s(async(t,n)=>{if(a==C&&!k)if(n||t){const a=e||2==b||!!j;E++,a&&j++,await yt(async()=>{st(1),A++,await(a?Pt(()=>wt(n??t)):(()=>{try{return wt(n??t)}finally{st(0)}})())},()=>{a&&j--,--E||st(0)}),E||await dt()}else 2==b?x=a:await pt()});a!=C||k?v(t)||await r(t):y=t},i);await gt(n),a!=C||k||await yt(()=>pt(t),()=>{e=!1})}return Tt},Mt=async(t=!1)=>{x=0,t||C++;const a=w,e=y;return y=void 0,await gt(yt(async()=>{await a},async()=>{v(e)||await lt(()=>r(e),i)})),Tt},St=async t=>(1!=b&&await yt(()=>yt(async()=>{st(2),_++,await Pt(()=>lt(()=>n(B,t),i))},()=>st(0)),At),Tt),mt=async()=>{const a=++F;return await Lt(!0),a!=F||k||(await St(),a!=F||k||(d=t.addDidFinishTransactionListener(()=>{if(a==F&&!k){const t=G();Q(t)&<(()=>St(t))}}))),Tt},Lt=async(a=!1)=>{a||F++;const e=d;return d=void 0,v(e)||t.delListener(e),Tt},Ct=()=>!v(d),Ht=async(t=!1)=>{const[a,e]=t?[Lt,Mt]:[Mt,Lt];return await yt(()=>a(),async()=>{await e()}),Tt},Pt=async(...t)=>{let a,e=!1;const n=H(n=>m(t)?n():z(K(ht,u),...T(t,(s,r)=>{const o=r==S(t)-1;return[async()=>{let t;f=H(a=>t=a),await yt(async()=>{try{await lt(s,i)}catch(t){e||(e=!0,a=t)}o&&n()},()=>{f=void 0,t()})},o?n:void 0,I]})));if(await(async()=>{if(!K(vt,u)){W(vt,u,1);const t=K(ht,u);let a=0;await yt(async()=>{for(;a<S(t);){const e=t[a++];e[2]=void 0,await e[0]()}},()=>{D(t,a),W(vt,u,0),ot()})}})(),await n,e)throw a;return Tt},Tt={load:pt,startAutoLoad:_t,stopAutoLoad:Mt,isAutoLoading:()=>!v(y),save:St,startAutoSave:mt,stopAutoSave:Lt,isAutoSaving:Ct,startAutoPersisting:async(t,a=!1)=>{const[e,n,s,r]=a?[mt,_t,Lt,Mt]:[_t,mt,Mt,Lt],i=e(t),o=a?F:C;await i;const c=n(t),l=a?C:F;try{await c}catch(t){throw l==(a?C:F)&&await ut(r),o==(a?F:C)&&await ut(s),t}return Tt},stopAutoPersisting:Ht,getStatus:()=>b,addStatusListener:t=>at(t,U),delListener:a=>(nt(a),t),schedule:Pt,getStore:()=>t,getStats:()=>({loads:A,saves:_}),...c,destroy:async()=>(v(g)&&(k=1,g=(async()=>{const t=K(ht,u),a=(e=([,t,a])=>a!=I||(t?.(),!1),t.filter(e));var e;const n=f;D(t),z(t,...a),await yt(()=>yt(()=>yt(Ht,()=>n),()=>N?.()),()=>{const t=(K(bt,u)??1)-1;W(bt,u,t||void 0),ot()})})()),await g,Tt)};return q(Tt)};J();const At=2**36,_t=2**30,Mt=/^[-0-9A-Z_a-z]{16}$/,St=t=>_(t)&&d(t)&&g(t)&&t>=0&&t<=4294967295,mt=(t,a)=>F(t)&&Z(t,t=>a?mt(t,a-1):St(t)),Lt=(r,i)=>{return M(r)&&(1==S(r)||2==S(r)&&A(r[1])&&(c=1/0,(o=r[1])==a||A(o)&&L(Mt,o)&&(t=>et(t,0)*At+et(t,1)*_t+16777216*et(t,2)+262144*et(t,3)+4096*et(t,4)+64*et(t,5)+et(t,6))(o)<=c))&&(i?F(r[0])&&Z(r[0],t=>Lt(t,i-1)):(l=r[0],v(l)||!v((a=>{if(h(a))return"null";if(M(a))return"array";if(F(a))return"object";const r=t(a);return(t=>t==e||t==n)(r)||r==s&&d(a)?r:void 0})(l))));var o,c,l},Ct=t=>M(t)&&2==S(t)&&St(t[0])&&St(t[1]),Ht=J(),Pt=(t,e,n,s)=>{const r=st(),i=rt();return((t,e,n,s,r,i,o,c,y={},w=C)=>{let f,b=0,m=0,L=0,P=!1;const T=J(),D=()=>st(11),z=t=>Q(T,(a,[,,e,n])=>{u(n),V(T,a),e(t)}),O=(t,a,n,s)=>{m++,i?.(t,a,n,s),e(t,a,n,s)},R=async(t,e,n,s)=>H((i,o)=>{if(E(T)>=100)return void o(ot(15,"requests"));const c=s+"."+st(4),y=l(()=>{V(T,c),o(ot(3,(t??a)+"."+c+"."+e))},r);W(T,c,[t,(t,a)=>{u(y),V(T,c),i([t,a,s])},o,y]);try{O(t,c,e,n)}catch(t){u(y),V(T,c),o(t)}}),j=(t,[a,e])=>{U(a,([a,e],n)=>{const s=B(t[0],n,gt);U(a,([t,a],e)=>{const n=B(s[0],e,gt);U(t,([t,a],e)=>N(n[0],e,wt(t,a))),n[1]=dt(n[1],a)}),s[1]=dt(s[1],e)}),t[1]=dt(t[1],e)},x=(e=null,n,s=D())=>lt(async()=>{v(n)&&([n,e,s]=await R(null,1,a,s));const[r,i]=n,[o,c]=t.getMergeableContentHashes();let l=gt();if(o!=r){const[a,n]=(await R(e,4,t.getMergeableTableHashes(),s))[0];if(l=a,!$(n)){const[a,r]=(await R(e,5,t.getMergeableRowHashes(n),s))[0];if(j(l,a),!$(r)){const a=(await R(e,6,t.getMergeableCellHashes(r),s))[0];j(l,a)}}}return[l,c==i?gt():(await R(e,7,t.getMergeableValueHashes(),s))[0],1]},c),F=pt(t,async()=>{const t=await x();return!t||$(t[0][0])&&$(t[1][0])?void 0:t},async(a,e)=>e?O(null,D(),3,e):O(null,D(),2,t.getMergeableContentHashes()),t=>f=t,()=>f=void 0,c,2,{startSync:async t=>(b=1,await F.startAutoPersisting(t)),stopSync:async()=>(b=0,await F.stopAutoPersisting(),F),destroy:async()=>(P=!0,z(ot(3,"destroyed")),w(),await F.stopSync(),s(),F),getSynchronizerStats:()=>({sends:m,receives:L}),...y},1);return n((e,n,s,r)=>{if(P)return;if(!((t,e,n)=>(h(t)||A(t))&&_(e)&&d(e)&&g(e)&&((t,e)=>0==t?(t=>Ct(t)||Lt(t,3)||Lt(t,1)||M(t)&&2==S(t)&&Lt(t[0],3)&&(mt(t[1],0)||mt(t[1],1)))(e):1==t?e===a:2==t?Ct(e):3==t?(t=>M(t)&&(2==S(t)||3==S(t)&&1===t[2])&&Lt(t[0],3)&&Lt(t[1],1))(e):4==t?mt(e,0):5==t?mt(e,1):6==t?mt(e,2):7==t&&mt(e,0))(e,n))(n,s,r))return void c?.(ot(14));const i=b||F.isAutoLoading();L++,o?.(e,n,s,r),0==s?p(K(T,n),([t,a])=>h(t)||t==e?a(r,e):0):2==s&&i?x(e,r,n??void 0).then(t=>{f?.(void 0,t)}).catch(c):3==s&&i?f?.(void 0,r):p(1==s&&(b||F.isAutoSaving())?t.getMergeableContentHashes():4==s?t.getMergeableTableDiff(r):5==s?t.getMergeableRowDiff(r):6==s?t.getMergeableCellDiff(r):7==s?t.getMergeableValueDiff(r):void 0,t=>{O(e,n,0,t)})},z),F})(t,(t,a,e,n)=>{const s=h(t)?[]:[t];h(t)&&Q(Ht,t=>t!=r?z(s,t):0);const o=l(()=>{V(i,o),P(s,t=>K(Ht,t)?.(r,a,e,n))});return it(i,o),o},t=>{W(Ht,r,t)},()=>{V(Ht,r)},.05,e,n,s,{},()=>{R(i,u),i.clear()})};export{Pt as createLocalSynchronizer};
|
|
Binary file
|
|
@@ -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="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};
|
|
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),i=It(e,n,ft),d=It(i,s,()=>[o,void 0]);d[1]=r,Jt(d[0],r)&&st(vt(i,s))&&st(vt(e,n))&&st(vt(l,t))&&st(a)&&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))&&st(l)&&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)=>n>1?e+(e-t)/(n-1):void 0,(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(()=>p),[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=(e,t)=>N(f(e))?[t]:rt(I(e,t,!0)),p={setRelationshipDefinition:(e,t,l,i)=>(Ct(wt(o,e),t=>I(e,t)),vt(n,e,l),b(e,t,(t,n,l,i,d,c)=>{const u=kt(),g=kt(),h=kt(),[b,w]=f(e);at(n,([t,n],s)=>{N(t)||(Mt(g,t),U(wt(w,t),e=>{it(e,s),st(e)&&vt(w,t)})),N(n)||(Mt(g,n),nt(w,n)||vt(w,n,kt()),Mt(wt(w,n),s)),Mt(u,s),vt(b,s,n),Ct(wt(o,e),t=>{nt(I(e,t),s)&&Mt(h,t)})}),t(),c&&Ct(wt(o,e),t=>{const n=T(e,t);L(e,t),ae(n,T(e,t))||Mt(h,t)}),at(u,t=>a(s,[e,t])),at(g,t=>a(r,[e,t])),at(h,t=>{L(e,t),a(o,[e,t])})},Et(i)),p),delRelationshipDefinition:e=>(vt(n,e),w(e),p),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:T,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)??[]),p),destroy:v,getListenerStats:()=>({remoteRowId:et(s),localRowIds:et(r),linkedRowIds:et(o)})};return Se(p)});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
|
@@ -1012,7 +1012,8 @@ const createCheckpoints = getCreateFunction(
|
|
|
1012
1012
|
cellOrValueIsEqual(oldNew[0], newCell) &&
|
|
1013
1013
|
collIsEmpty(mapSet(row, cellId)) &&
|
|
1014
1014
|
collIsEmpty(mapSet(table, rowId)) &&
|
|
1015
|
-
collIsEmpty(mapSet(cellsDelta, tableId))
|
|
1015
|
+
collIsEmpty(mapSet(cellsDelta, tableId)) &&
|
|
1016
|
+
collIsEmpty(valuesDelta)
|
|
1016
1017
|
) {
|
|
1017
1018
|
storeUnchanged();
|
|
1018
1019
|
}
|
|
@@ -1032,7 +1033,8 @@ const createCheckpoints = getCreateFunction(
|
|
|
1032
1033
|
oldNew[1] = newValue;
|
|
1033
1034
|
if (
|
|
1034
1035
|
cellOrValueIsEqual(oldNew[0], newValue) &&
|
|
1035
|
-
collIsEmpty(mapSet(valuesDelta, valueId))
|
|
1036
|
+
collIsEmpty(mapSet(valuesDelta, valueId)) &&
|
|
1037
|
+
collIsEmpty(cellsDelta)
|
|
1036
1038
|
) {
|
|
1037
1039
|
storeUnchanged();
|
|
1038
1040
|
}
|
|
@@ -4274,7 +4276,8 @@ const numericAggregators = mapNew([
|
|
|
4274
4276
|
[
|
|
4275
4277
|
(numbers, length) => arraySum(numbers) / length,
|
|
4276
4278
|
(metric, add, length) => metric + (add - metric) / (length + 1),
|
|
4277
|
-
(metric, remove, length) =>
|
|
4279
|
+
(metric, remove, length) =>
|
|
4280
|
+
length > 1 ? metric + (metric - remove) / (length - 1) : void 0,
|
|
4278
4281
|
(metric, add, remove, length) => metric + (add - remove) / length,
|
|
4279
4282
|
],
|
|
4280
4283
|
],
|
|
@@ -9737,11 +9740,21 @@ const createRelationships = getCreateFunction((store) => {
|
|
|
9737
9740
|
remoteTableId,
|
|
9738
9741
|
getRemoteRowId2,
|
|
9739
9742
|
) => {
|
|
9743
|
+
mapForEach(mapGet(linkedRowIdsListeners, relationshipId), (firstRowId) =>
|
|
9744
|
+
getLinkedRowIdsCache(relationshipId, firstRowId),
|
|
9745
|
+
);
|
|
9740
9746
|
mapSet(remoteTableIds, relationshipId, remoteTableId);
|
|
9741
9747
|
setDefinitionAndListen(
|
|
9742
9748
|
relationshipId,
|
|
9743
9749
|
localTableId,
|
|
9744
|
-
(
|
|
9750
|
+
(
|
|
9751
|
+
change,
|
|
9752
|
+
changedRemoteRowIds,
|
|
9753
|
+
_changedSortKeys,
|
|
9754
|
+
_rowValues,
|
|
9755
|
+
_sortKeys,
|
|
9756
|
+
force,
|
|
9757
|
+
) => {
|
|
9745
9758
|
const changedLocalRows = setNew();
|
|
9746
9759
|
const changedRemoteRows = setNew();
|
|
9747
9760
|
const changedLinkedRows = setNew();
|
|
@@ -9786,6 +9799,26 @@ const createRelationships = getCreateFunction((store) => {
|
|
|
9786
9799
|
},
|
|
9787
9800
|
);
|
|
9788
9801
|
change();
|
|
9802
|
+
if (force) {
|
|
9803
|
+
mapForEach(
|
|
9804
|
+
mapGet(linkedRowIdsListeners, relationshipId),
|
|
9805
|
+
(firstRowId) => {
|
|
9806
|
+
const oldLinkedRowIds = getLinkedRowIds(
|
|
9807
|
+
relationshipId,
|
|
9808
|
+
firstRowId,
|
|
9809
|
+
);
|
|
9810
|
+
delLinkedRowIdsCache(relationshipId, firstRowId);
|
|
9811
|
+
if (
|
|
9812
|
+
!arrayIsEqual(
|
|
9813
|
+
oldLinkedRowIds,
|
|
9814
|
+
getLinkedRowIds(relationshipId, firstRowId),
|
|
9815
|
+
)
|
|
9816
|
+
) {
|
|
9817
|
+
setAdd(changedLinkedRows, firstRowId);
|
|
9818
|
+
}
|
|
9819
|
+
},
|
|
9820
|
+
);
|
|
9821
|
+
}
|
|
9789
9822
|
collForEach(changedLocalRows, (localRowId) =>
|
|
9790
9823
|
callListeners(remoteRowIdListeners, [relationshipId, localRowId]),
|
|
9791
9824
|
);
|
|
@@ -10810,7 +10843,7 @@ const createLocalSynchronizer = (store, onSend, onReceive, onIgnoredError) => {
|
|
|
10810
10843
|
send,
|
|
10811
10844
|
registerReceive,
|
|
10812
10845
|
destroy,
|
|
10813
|
-
0.
|
|
10846
|
+
0.05,
|
|
10814
10847
|
onSend,
|
|
10815
10848
|
onReceive,
|
|
10816
10849
|
onIgnoredError,
|