tinybase 4.0.0-beta.5.2 → 4.0.0
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/lib/cjs/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-browser.cjs +1 -1
- package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-file.cjs +1 -1
- package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-remote.cjs +1 -1
- package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs/persisters.cjs +1 -1
- package/lib/cjs/persisters.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-browser.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-file.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-remote.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -1
- package/lib/cjs-es6/persisters/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/persisters.cjs +1 -1
- package/lib/cjs-es6/persisters.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/debug/persisters/persister-automerge.js +22 -20
- package/lib/debug/persisters/persister-browser.js +28 -20
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +199 -150
- package/lib/debug/persisters/persister-file.js +28 -20
- package/lib/debug/persisters/persister-remote.js +28 -20
- package/lib/debug/persisters/persister-sqlite-wasm.js +204 -150
- package/lib/debug/persisters/persister-sqlite3.js +199 -150
- package/lib/debug/persisters/persister-yjs.js +28 -20
- package/lib/debug/persisters.js +29 -20
- package/lib/debug/tinybase.js +22 -20
- package/lib/es6/persisters/persister-automerge.js +1 -1
- package/lib/es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/es6/persisters/persister-browser.js +1 -1
- package/lib/es6/persisters/persister-browser.js.gz +0 -0
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-file.js +1 -1
- package/lib/es6/persisters/persister-file.js.gz +0 -0
- package/lib/es6/persisters/persister-remote.js +1 -1
- package/lib/es6/persisters/persister-remote.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +1 -1
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/es6/persisters/persister-yjs.js +1 -1
- package/lib/es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/es6/persisters.js +1 -1
- package/lib/es6/persisters.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/persisters/persister-automerge.js +1 -1
- package/lib/persisters/persister-automerge.js.gz +0 -0
- package/lib/persisters/persister-browser.js +1 -1
- package/lib/persisters/persister-browser.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-file.js +1 -1
- package/lib/persisters/persister-file.js.gz +0 -0
- package/lib/persisters/persister-remote.js +1 -1
- package/lib/persisters/persister-remote.js.gz +0 -0
- package/lib/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +1 -1
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/persisters/persister-yjs.js +1 -1
- package/lib/persisters/persister-yjs.js.gz +0 -0
- package/lib/persisters.js +1 -1
- package/lib/persisters.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +2 -0
- package/lib/types/persisters/persister-sqlite-wasm.d.ts +2 -0
- package/lib/types/persisters/persister-sqlite3.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +2 -0
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +2 -0
- package/lib/umd/persisters/persister-automerge.js +1 -1
- package/lib/umd/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd/persisters/persister-browser.js +1 -1
- package/lib/umd/persisters/persister-browser.js.gz +0 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-file.js +1 -1
- package/lib/umd/persisters/persister-file.js.gz +0 -0
- package/lib/umd/persisters/persister-remote.js +1 -1
- package/lib/umd/persisters/persister-remote.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +1 -1
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd/persisters/persister-yjs.js +1 -1
- package/lib/umd/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd/persisters.js +1 -1
- package/lib/umd/persisters.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-automerge.js +1 -1
- package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-browser.js +1 -1
- package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-file.js +1 -1
- package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-remote.js +1 -1
- package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +1 -1
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-yjs.js +1 -1
- package/lib/umd-es6/persisters/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/persisters.js +1 -1
- package/lib/umd-es6/persisters.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/package.json +16 -16
- package/readme.md +14 -14
package/lib/es6/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",n=e(t),l=e(!0),s=e(0),o=e(e),r="type",i="default",a="Listener",d="Result",c="add",u="Ids",v="Table",h=v+"s",f=v+u,g="Row",L=g+u,y="Sorted"+g+u,S="Cell",w=S+u,I="Value",R=I+"s",T=I+u,p=e=>t+e,C=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),V=(e,t)=>D(e)===D(t)&&b(e,((e,n)=>t[n]===e)),m=(e,t)=>b(e,((n,l)=>0==l||t(e[l-1],n)<=0)),E=(e,t)=>e.sort(t),k=(e,t)=>e.forEach(t),x=(e,t)=>e.map(t),M=e=>A(e,((e,t)=>e+t),0),D=e=>e.length,J=e=>0==D(e),A=(e,t,n)=>e.reduce(t,n),O=(e,t,n)=>e.slice(t,n),F=(e,...t)=>e.push(...t),P=e=>e.pop(),j=e=>e.shift(),Q=e=>JSON.stringify(e,((e,t)=>$(t,Map)?A([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),z=JSON.parse,N=Math.max,W=Math.min,B=isFinite,$=(e,t)=>e instanceof t,q=e=>null==e,G=(e,t,n)=>q(e)?null==n?void 0:n():t(e),H=e=>e==n||e==l,K=t=>e(t)==o,U=e=>Array.isArray(e),X=()=>{},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>$(e,Y)&&e.constructor==Y,ne=(e,t)=>!q(((e,t)=>G(e,(e=>e[t])))(e,t)),le=(e,t)=>(delete e[t],e),se=(e,t)=>x(Y.entries(e),(([e,n])=>t(n,e))),oe=e=>te(e)&&0==(e=>D(Z(e)))(e),re=e=>e.size,ie=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ae=e=>q(e)||0==re(e),de=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ce=e=>e.clear(),ue=(e,t)=>null==e?void 0:e.forEach(t),ve=(e,t)=>null==e?void 0:e.delete(t),he=e=>new Map(e),fe=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},ge=(e,t)=>null==e?void 0:e.get(t),Le=(e,t)=>ue(e,((e,n)=>t(n,e))),ye=(e,t,n)=>q(n)?(ve(e,t),e):null==e?void 0:e.set(t,n),Se=(e,t,n)=>(ie(e,t)||ye(e,t,n()),ge(e,t)),we=(e,t,n,l=ye)=>(se(t,((t,l)=>n(e,l,t))),Le(e,(n=>ne(t,n)?0:l(e,n))),e),Ie=(e,t,n)=>{const l={};return ue(e,((e,s)=>{const o=t?t(e,s):e;!(null==n?void 0:n(o,e))&&(l[s]=o)})),l},Re=(e,t,n)=>Ie(e,(e=>Ie(e,t,n)),oe),Te=(e,t,n)=>Ie(e,(e=>Re(e,t,n)),oe),pe=(e,t)=>{const n=he();return ue(e,((e,l)=>{var s;return n.set(l,null!=(s=null==t?void 0:t(e))?s:e)})),n},Ce=e=>pe(e,pe),be=e=>pe(e,Ce),Ve=(e,t,n,l,s=0)=>G((n?Se:ge)(e,t[s],s>D(t)-2?n:he),(o=>{if(s>D(t)-2)return(null==l?void 0:l(o))&&ye(e,t[s]),o;const r=Ve(o,t,n,l,s+1);return ae(o)&&ye(e,t[s]),r})),me=t=>{const n=e(t);return H(n)||n==s&&B(t)?n:void 0},Ee=(e,t,n,l,s)=>q(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),ke=(e,t,n)=>q(n)?e.delValue(t):e.setValue(t,n),xe=e=>new Set(U(e)||q(e)?e:[e]),Me=(e,t)=>null==e?void 0:e.add(t),De=(e,t,n)=>{const l=e.hasRow,s=he(),o=he(),r=he(),i=he(),a=he(),d=(t,n,...l)=>{const s=Se(a,t,xe);return k(l,(t=>Me(s,t)&&n&&e.callListener(t))),l},c=(t,...n)=>G(ge(a,t),(l=>{k(J(n)?de(l):n,(t=>{e.delListener(t),ve(l,t)})),ae(l)&&ye(a,t)})),u=(e,n)=>{ye(s,e,n),ie(o,e)||(ye(o,e,t()),ye(r,e,he()),ye(i,e,he()))},v=e=>{ye(s,e),ye(o,e),ye(r,e),ye(i,e),c(e)};return[()=>e,()=>fe(s),e=>Le(o,e),e=>ie(o,e),e=>ge(s,e),e=>ge(o,e),(e,t)=>ye(o,e,t),u,(t,s,o,a,v)=>{u(t,s);const h=he(),f=he(),g=ge(r,t),L=ge(i,t),y=t=>{const o=n=>e.getCell(s,t,n),r=ge(g,t),i=l(s,t)?n(a(o,t)):void 0;if(r===i||U(r)&&U(i)&&V(r,i)||ye(h,t,[r,i]),!q(v)){const e=ge(L,t),n=l(s,t)?v(o,t):void 0;e!=n&&ye(f,t,n)}},S=e=>{o((()=>{ue(h,(([,e],t)=>ye(g,t,e))),ue(f,((e,t)=>ye(L,t,e)))}),h,f,g,L,e),ce(h),ce(f)};Le(g,y),e.hasTable(s)&&k(e.getRowIds(s),(e=>{ie(g,e)||y(e)})),S(!0),c(t),d(t,0,e.addRowListener(s,null,((e,t,n)=>y(n))),e.addTableListener(s,(()=>S())))},v,()=>Le(a,v),d,c]},Je=(l,s)=>e(l)==n?e=>e(l):null!=l?l:()=>null!=s?s:t,Ae=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Oe=/^\d+$/,Fe=()=>{const e=[];let n=0;return[l=>{var s;return null!=(s=l?j(e):null)?s:t+n++},t=>{Oe.test(t)&&D(e)<1e3&&F(e,t)}]},Pe=e=>{let n;const[l,s]=Fe(),o=he();return[(s,r,i,a=[],d=(()=>[]))=>{null!=n||(n=e());const c=l(1);return ye(o,c,[s,r,i,a,d]),Me(Ve(r,null!=i?i:[t],xe),c),c},(e,l,...s)=>k(((e,n=[t])=>{const l=[],s=(e,t)=>t==D(n)?F(l,e):null===n[t]?ue(e,(e=>s(e,t+1))):k([n[t],null],(n=>s(ge(e,n),t+1)));return s(e,0),l})(e,l),(e=>ue(e,(e=>ge(o,e)[0](n,...null!=l?l:[],...s))))),e=>G(ge(o,e),(([,n,l])=>(Ve(n,null!=l?l:[t],void 0,(t=>(ve(t,e),ae(t)?1:0))),ye(o,e),s(e),l))),e=>G(ge(o,e),(([e,,t=[],l,s])=>{const o=(...r)=>{var i,a;const d=D(r);d==D(t)?e(n,...r,...s(r)):q(t[d])?k(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>o(...r,e))):o(...r,t[d])};o()}))]},je=Ae((e=>{let n,l,s,o=100,r=he(),i=he(),a=1;const d=he(),c=he(),[u,v,h]=Pe((()=>z)),f=he(),g=he(),L=[],y=[],S=(t,n)=>{a=0,e.transaction((()=>{const[l,s]=ge(f,n);ue(l,((n,l)=>ue(n,((n,s)=>ue(n,((n,o)=>Ee(e,l,s,o,n[t]))))))),ue(s,((n,l)=>ke(e,l,n[t])))})),a=1},w=e=>{ye(f,e),ye(g,e),v(c,[e])},I=(e,t)=>k(((e,t)=>e.splice(0,t))(e,null!=t?t:D(e)),w),R=()=>I(L,D(L)-o),T=()=>G(n,(()=>{F(L,n),R(),I(y),n=void 0,s=1})),p=()=>{n=P(L),s=1},b=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(a){T();const e=Se(r,t,he),i=Se(e,n,he),a=Se(i,l,(()=>[o,void 0]));a[1]=s,a[0]===s&&ae(ye(i,l))&&ae(ye(e,n))&&ae(ye(r,t))&&p(),M()}})),V=e.addValueListener(null,((e,t,n,l)=>{if(a){T();const e=Se(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ae(ye(i,t))&&p(),M()}})),m=(e="")=>(q(n)&&(n=t+l++,ye(f,n,[r,i]),O(n,e),r=he(),i=he(),s=1),n),E=()=>{J(L)||(((e,...t)=>{e.unshift(...t)})(y,m()),S(0,n),n=P(L),s=1)},x=()=>{J(y)||(F(L,n),n=j(y),S(1,n),s=1)},M=()=>{s&&(v(d),s=0)},A=e=>{const t=m(e);return M(),t},O=(e,t)=>(Q(e)&&ge(g,e)!==t&&(ye(g,e,t),v(c,[e])),z),Q=e=>ie(f,e),z={setSize:e=>(o=e,R(),z),addCheckpoint:A,setCheckpoint:O,getStore:()=>e,getCheckpointIds:()=>[[...L],n,[...y]],forEachCheckpoint:e=>Le(g,e),hasCheckpoint:Q,getCheckpoint:e=>ge(g,e),goBackward:()=>(E(),M(),z),goForward:()=>(x(),M(),z),goTo:e=>{const t=C(L,e)?E:C(y,e)?x:null;for(;!q(t)&&e!=n;)t();return M(),z},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),z),clear:()=>(I(L),I(y),q(n)||w(n),n=void 0,l=0,A(),z),destroy:()=>{e.delListener(b),e.delListener(V)},getListenerStats:()=>({})};return ee(z.clear())})),Qe=(e,t)=>e<t?-1:1,ze=Ae((e=>{const n=he(),l=he(),[s,o,r,i,a,d,c,,u,v,h]=De(e,he,(e=>q(e)?t:U(e)?x(e,p):p(e))),[f,g,L]=Pe((()=>S)),y=(t,n,l)=>{const s=a(t);ue(l,((t,l)=>n(l,(n=>ue(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},S={setIndexDefinition:(e,t,s,o,r,i=Qe)=>{const a=q(r)?void 0:([e],[t])=>r(e,t);return u(e,t,((t,s,r,u,v,h)=>{let f=0;const L=xe(),y=xe(),S=d(e);if(ue(s,(([e,t],n)=>{const l=xe(e),s=xe(t);ue(l,(e=>ve(s,e)?ve(l,e):0)),ue(l,(e=>{Me(L,e),G(ge(S,e),(t=>{ve(t,n),ae(t)&&(ye(S,e),f=1)}))})),ue(s,(e=>{Me(L,e),ie(S,e)||(ye(S,e,xe()),f=1),Me(ge(S,e),n),q(o)||Me(y,e)}))})),t(),ae(v)||(h?Le(S,(e=>Me(y,e))):Le(r,(e=>G(ge(u,e),(e=>Me(y,e))))),ue(y,(e=>{const t=(t,n)=>i(ge(v,t),ge(v,n),e),n=[...ge(S,e)];m(n,t)||(ye(S,e,xe(E(n,t))),Me(L,e))}))),(f||h)&&!q(a)){const t=[...S];m(t,a)||(c(e,he(E(t,a))),f=1)}f&&g(n,[e]),ue(L,(t=>g(l,[e,t])))}),Je(s),G(o,Je)),S},delIndexDefinition:e=>(v(e),S),getStore:s,getIndexIds:o,forEachIndex:e=>r(((t,n)=>e(t,(e=>y(t,e,n))))),forEachSlice:(e,t)=>y(e,t,d(e)),hasIndex:i,hasSlice:(e,t)=>ie(d(e),t),getTableId:a,getSliceIds:e=>fe(d(e)),getSliceRowIds:(e,t)=>de(ge(d(e),t)),addSliceIdsListener:(e,t)=>f(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>f(n,l,[e,t]),delListener:e=>(L(e),S),destroy:h,getListenerStats:()=>({})};return ee(S)})),Ne=he([["avg",[(e,t)=>M(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>N(...e),(e,t)=>N(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:N(t,e)]],["min",[e=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:W(t,e)]],["sum",[e=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),We=(e,t,n,l,s,o=!1)=>{if(ae(n))return;const[r,i,a,d]=s;return o||(o=q(e)),ue(l,(([n,l])=>{o||(e=q(n)?null==i?void 0:i(e,l,t++):q(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=q(e)))})),o?r(de(n),re(n)):e},Be=Ae((e=>{const n=he(),[l,s,o,r,i,a,d,,c,u,v]=De(e,X,(e=>isNaN(e)||q(e)||!0===e||!1===e||e===t?void 0:1*e)),[h,f,g]=Pe((()=>L)),L={setMetricDefinition:(e,t,l,s,o,r,i)=>{var u;const v=K(l)?[l,o,r,i]:null!=(u=ge(Ne,l))?u:ge(Ne,"sum");return c(e,t,((t,l,s,o,r,i)=>{const c=a(e),u=re(o);i||(i=q(c)),t();let h=We(c,u,o,l,v,i);B(h)||(h=void 0),h!=c&&(d(e,h),f(n,[e],h,c))}),Je(s,1)),L},delMetricDefinition:e=>(u(e),L),getStore:l,getMetricIds:s,forEachMetric:o,hasMetric:r,getTableId:i,getMetric:a,addMetricListener:(e,t)=>h(t,n,[e]),delListener:e=>(g(e),L),destroy:v,getListenerStats:()=>({})};return ee(L)}));var $e=(e,t,n)=>new Promise(((l,s)=>{var o=e=>{try{i(n.next(e))}catch(e){s(e)}},r=e=>{try{i(n.throw(e))}catch(e){s(e)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,r);i((n=n.apply(e,t)).next())}));const qe=(e,t,n,l,s)=>{let o,r,i,a=0,d=0,c=0;const u=[],v=e=>$e(void 0,null,(function*(){2!=a&&(a=1,yield e(),a=0)})),h={load:(n,l)=>$e(void 0,null,(function*(){return yield v((()=>$e(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}})))),h})),startAutoLoad:(...n)=>$e(void 0,[...n],(function*(n={},s={}){return h.stopAutoLoad(),yield h.load(n,s),c=1,i=l(((n,l)=>$e(void 0,null,(function*(){yield v((()=>$e(void 0,null,(function*(){var s;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(s=null==n?void 0:n())?s:yield t())}catch(e){}}))))})))),h})),stopAutoLoad:()=>(c&&(s(i),i=void 0,c=0),h),save:t=>$e(void 0,null,(function*(){return yield h.schedule((()=>$e(void 0,null,(function*(){if(1!=a){a=2;try{yield n(e.getContent,t)}catch(e){}a=0}})))),h})),startAutoSave:()=>$e(void 0,null,(function*(){return yield h.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const n=t();h.save((()=>n))})),h})),stopAutoSave:()=>(G(o,e.delListener),h),schedule:(...e)=>$e(void 0,null,(function*(){return F(u,...e),yield $e(void 0,null,(function*(){if(!d){for(d=1;!q(r=j(u));)try{yield r()}catch(e){}d=0}})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(h)};var Ge=Object.getOwnPropertySymbols,He=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable;const Ue=Ae((e=>{const n=e.createStore,[l,s,o,r,i,,,u,,h,f,I,R]=De(e,(()=>!0),X),T=n(),p=n(),C=he(),V=(e,t,...n)=>k(n,(n=>Me(Se(Se(C,t,he),e,xe),n))),m=e=>{G(ge(C,e),(e=>{Le(e,((e,t)=>ue(t,(t=>e.delListener(t))))),ce(e)})),k([p,T],(t=>t.delTable(e)))},E=(e,t,n)=>V(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),x={setQueryDefinition:(n,l,s)=>{u(n,l),m(n);const o=[],r=[[null,[l,null,null,[],he()]]],i=[],a=[],d=[];s({select:(e,n)=>{const l=K(e)?[D(o)+t,e]:[q(n)?e:n,t=>t(e,n)];return F(o,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=q(n)||K(t)?null:t,s=q(l)?t:n,o=[e,[e,l,K(s)?s:e=>e(s),[],he()]];return F(r,o),{as:e=>o[0]=e}},where:(e,t,n)=>F(i,K(e)?e:q(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,K(t)?[t,n,l,s]:null!=(o=ge(Ne,t))?o:[(e,t)=>t]]];return F(a,r),{as:e=>r[0]=e}},having:(e,t)=>F(d,K(e)?e:n=>n(e)===t)});const c=he(o);if(ae(c))return x;const v=he(r);Le(v,((e,[,t])=>G(ge(v,t),(({3:t})=>q(e)?0:F(t,e)))));const h=he(a);let f=T;if(ae(h)&&J(d))f=p;else{E(n,f,p);const e=he();Le(h,((t,[n,l])=>Me(Se(e,n,xe),[t,l])));const t=xe();Le(c,(n=>ie(e,n)?0:Me(t,n)));const l=he(),s=(t,l,s,o)=>G(t,(([r,i,a,c])=>{Le(l,((t,[n])=>{const l=Se(r,t,he),i=ge(l,s),a=o?void 0:n;if(i!==a){const n=xe([[i,a]]),o=re(l);ye(l,s,a),ue(ge(e,t),(([e,t])=>{const s=We(c[e],o,l,n,t);c[e]=q(me(s))?null:s}))}})),ae(i)||!b(d,(e=>e((e=>c[e]))))?p.delRow(n,a):q(a)?t[2]=p.addRow(n,c):p.setRow(n,a,c)}));V(f,n,f.addRowListener(n,null,((o,r,i,a)=>{const d=[],c=[],u=he(),v=f.hasRow(n,i);let h=!v;ue(t,(e=>{const[t,l,s]=a(n,i,e);F(d,l),F(c,s),h||(h=t)})),Le(e,(e=>{const[t,,l]=a(n,i,e);(h||t)&&ye(u,e,[l])})),h&&s(Ve(l,d,void 0,(([,e])=>(ve(e,i),ae(e)))),u,i,1),v&&s(Ve(l,c,(()=>{const e={};return ue(t,(t=>e[t]=f.getCell(n,i,t))),[he(),xe(),void 0,e]}),(([,e])=>{Me(e,i)})),u,i)})))}E(n,e,f);const g=(t,s,o,r)=>{const a=t=>e.getCell(s,o,t);k(r,(l=>{var s;const[o,,r,i,d]=ge(v,l),c=null==r?void 0:r(a,t),[u,h]=null!=(s=ge(d,t))?s:[];c!=u&&(q(h)||R(n,h),ye(d,t,q(c)?null:[c,...I(n,1,e.addRowListener(o,c,(()=>g(t,o,c,i))))]))})),(t=>{const s=(n,s)=>{var o,r,i;return e.getCell(...q(s)?[l,t,n]:n===l?[l,t,s]:[null==(o=ge(v,n))?void 0:o[0],null==(i=ge(null==(r=ge(v,n))?void 0:r[4],t))?void 0:i[0],s])};f.transaction((()=>b(i,(e=>e(s)))?Le(c,((e,l)=>Ee(f,n,t,e,l(s,t)))):f.delRow(n,t)))})(t)},{3:L}=ge(v,null);return f.transaction((()=>I(n,1,e.addRowListener(l,null,((t,s,o)=>{e.hasRow(l,o)?g(o,l,o,L):(f.delRow(n,o),ue(v,(({4:e})=>G(ge(e,o),(([,t])=>{R(n,t),ye(e,o)})))))}))))),x},delQueryDefinition:e=>(m(e),h(e),x),getStore:l,getQueryIds:s,forEachQuery:o,hasQuery:r,getTableId:i,delListener:e=>(p.delListener(e),x),destroy:f,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)He.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&Ge)for(var l of Ge(e))t.indexOf(l)<0&&Ke.call(e,l)&&(n[l]=e[l]);return n})(p.getListenerStats(),["tables","tableIds","transaction"])};return se({[v]:[1,1],[L]:[0,1],[y]:[0,5],[g]:[1,2],[w]:[0,2],[S]:[1,3]},(([e,t],n)=>{k(e?["get","has","forEach"]:["get"],(e=>x[e+d+n]=(...t)=>p[e+n](...t))),x[c+d+n+a]=(...e)=>p[c+n+a](...O(e,0,t),((n,...l)=>e[t](x,...l)))})),ee(x)})),Xe=Ae((e=>{const n=he(),l=he(),s=he(),o=he(),[r,i,a,d,c,u,,,v,h,f]=De(e,(()=>[he(),he(),he(),he()]),(e=>q(e)?void 0:e+t)),[g,L,y]=Pe((()=>R)),S=(e,t,n)=>G(u(e),(([l,,s])=>{if(!ie(s,t)){const o=xe();if(c(e)!=I(e))Me(o,t);else{let e=t;for(;!q(e)&&!ie(o,e);)Me(o,e),e=ge(l,e)}if(n)return o;ye(s,t,o)}return ge(s,t)})),w=(e,t)=>G(u(e),(([,,e])=>ye(e,t))),I=e=>ge(n,e),R={setRelationshipDefinition:(e,t,r,i)=>(ye(n,e,r),v(e,t,((t,n)=>{const r=xe(),i=xe(),a=xe(),[d,c]=u(e);ue(n,(([t,n],l)=>{q(t)||(Me(i,t),G(ge(c,t),(e=>{ve(e,l),ae(e)&&ye(c,t)}))),q(n)||(Me(i,n),ie(c,n)||ye(c,n,xe()),Me(ge(c,n),l)),Me(r,l),ye(d,l,n),Le(ge(o,e),(t=>{ie(S(e,t),l)&&Me(a,t)}))})),t(),ue(r,(t=>L(l,[e,t]))),ue(i,(t=>L(s,[e,t]))),ue(a,(t=>{w(e,t),L(o,[e,t])}))}),Je(i)),R),delRelationshipDefinition:e=>(ye(n,e),h(e),R),getStore:r,getRelationshipIds:i,forEachRelationship:t=>a((n=>t(n,(t=>e.forEachRow(c(n),t))))),hasRelationship:d,getLocalTableId:c,getRemoteTableId:I,getRemoteRowId:(e,t)=>{var n;return ge(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return de(ge(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>q(u(e))?[t]:de(S(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>g(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>g(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(S(e,t),g(n,o,[e,t])),delListener:e=>(w(...y(e)),R),destroy:f,getListenerStats:()=>({})};return ee(R)})),Ye=e=>[e,e],Ze=()=>[he(),he()],_e=e=>[...e],et=([e,t])=>e===t,tt=(e,t,n)=>q(e)||!te(e)||oe(e)||_(e)?(null==n||n(),!1):(se(e,((n,l)=>{t(n,l)||le(e,l)})),!oe(e)),nt=(e,t,n)=>ye(e,t,ge(e,t)==-n?void 0:n),lt=()=>{let e,t,n=!1,l=!1,o=0;const d=he(),u=he(),y=he(),b=he(),m=he(),M=he(),D=he(),J=he(),A=he(),P=he(),j=he(),N=he(),W=he(),B=xe(),$=he(),U=he(),X=he(),Y=he(),Z=Ze(),_=Ze(),te=Ze(),re=Ze(),de=Ze(),Ve=Ze(),De=Ze(),Je=Ze(),Ae=Ze(),Oe=Ze(),je=Ze(),ze=Ze(),Ne=Ze(),We=Ze(),Be=he(),$e=Ze(),[qe,Ge,He,Ke]=Pe((()=>gn)),Ue=e=>{if(!tt(e,((e,t)=>C([r,i],t))))return!1;const t=e[r];return!(!H(t)&&t!=s||(me(e[i])!=t&&le(e,i),0))},Xe=(t,n)=>(!e||ie(P,n)||Jt(n))&&tt(t,((e,t)=>st(n,t,e)),(()=>Jt(n))),st=(e,t,n,l)=>tt(l?n:at(n,e,t),((l,s)=>G(ot(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,n,l,s)=>e?G(ge(ge(P,t),l),(e=>me(s)!=e[r]?Jt(t,n,l,s,e[i]):s),(()=>Jt(t,n,l,s))):q(me(s))?Jt(t,n,l,s):s,rt=(e,t)=>tt(t?e:dt(e),((t,n)=>G(it(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>At())),it=(e,n)=>t?G(ge(N,e),(t=>me(n)!=t[r]?At(e,n,t[i]):n),(()=>At(e,n))):q(me(n))?At(e,n):n,at=(e,t,n)=>(G(ge(j,t),(([l,s])=>{ue(l,((t,n)=>{ne(e,n)||(e[n]=t)})),ue(s,(l=>{ne(e,l)||Jt(t,n,l)}))})),e),dt=e=>(t&&(ue(W,((t,n)=>{ne(e,n)||(e[n]=t)})),ue(B,(t=>{ne(e,t)||At(t)}))),e),ct=e=>we(P,e,((e,t,n)=>{const l=he(),s=xe();we(Se(P,t,he),n,((e,t,n)=>{ye(e,t,n),G(n[i],(e=>ye(l,t,e)),(()=>Me(s,t)))})),ye(j,t,[l,s])}),((e,t)=>{ye(P,t),ye(j,t)})),ut=e=>we(N,e,((e,t,n)=>{ye(N,t,n),G(n[i],(e=>ye(W,t,e)),(()=>Me(B,t)))}),((e,t)=>{ye(N,t),ye(W,t),ve(B,t)})),vt=e=>oe(e)?on():en(e),ht=e=>we(X,e,((e,t,n)=>ft(t,n)),((e,t)=>pt(t))),ft=(e,t)=>we(Se(X,e,(()=>(mt(e,1),ye($,e,Fe()),ye(U,e,he()),he()))),t,((t,n,l)=>gt(e,t,n,l)),((t,n)=>Ct(e,t,n))),gt=(e,t,n,l,s)=>we(Se(t,n,(()=>(Et(e,n,1),he()))),l,((t,l,s)=>Lt(e,n,t,l,s)),((l,o)=>bt(e,t,n,l,o,s))),Lt=(e,t,n,l,s)=>{ie(n,l)||kt(e,t,l,1);const o=ge(n,l);s!==o&&(xt(e,t,l,o,s),ye(n,l,s))},yt=(e,t,n,l,s)=>G(ge(t,n),(t=>Lt(e,n,t,l,s)),(()=>gt(e,t,n,at({[l]:s},e,n)))),St=e=>oe(e)?dn():tn(e),wt=e=>we(Y,e,((e,t,n)=>It(t,n)),((e,t)=>Vt(t))),It=(e,t)=>{ie(Y,e)||Mt(e,1);const n=ge(Y,e);t!==n&&(Dt(e,n,t),ye(Y,e,t))},Rt=(e,t)=>{const[n]=ge($,e),l=n(t);return ie(ge(X,e),l)?Rt(e,t):l},Tt=e=>{var t;return null!=(t=ge(X,e))?t:ft(e,{})},pt=e=>ft(e,{}),Ct=(e,t,n)=>{const[,l]=ge($,e);l(n),gt(e,t,n,{},!0)},bt=(e,t,n,l,s,o)=>{var r;const i=ge(null==(r=ge(j,e))?void 0:r[0],s);if(!q(i)&&!o)return Lt(e,n,l,s,i);const a=t=>{xt(e,n,t,ge(l,t)),kt(e,n,t,-1),ye(l,t)};q(i)?a(s):Le(l,a),ae(l)&&(Et(e,n,-1),ae(ye(t,n))&&(mt(e,-1),ye(X,e),ye($,e),ye(U,e)))},Vt=e=>{const t=ge(W,e);if(!q(t))return It(e,t);Dt(e,ge(Y,e)),Mt(e,-1),ye(Y,e)},mt=(e,t)=>nt(d,e,t),Et=(e,t,n)=>nt(Se(y,e,he),t,n),kt=(e,t,n,l)=>{var s;const o=ge(U,e),r=null!=(s=ge(o,n))?s:0;(0==r&&1==l||1==r&&-1==l)&&nt(Se(u,e,he),n,l),ye(o,n,r!=-l?r+l:null),nt(Se(Se(b,e,he),t,he),n,l)},xt=(e,t,n,l,s)=>Se(Se(Se(m,e,he),t,he),n,(()=>[l,0]))[1]=s,Mt=(e,t)=>nt(M,e,t),Dt=(e,t,n)=>Se(D,e,(()=>[t,0]))[1]=n,Jt=(e,t,n,l,s)=>(F(Se(Se(Se(J,e,he),t,he),n,(()=>[])),l),s),At=(e,t,n)=>(F(Se(A,e,(()=>[])),t),n),Ot=(e,t,n)=>G(ge(ge(ge(m,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(Xt(e,t,n))])),Ft=e=>G(ge(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(_t(e))])),Pt=e=>ae(J)||ae(Oe[e])?0:ue(e?be(J):J,((t,n)=>ue(t,((t,l)=>ue(t,((t,s)=>Ge(Oe[e],[n,l,s],t))))))),jt=e=>ae(A)||ae(je[e])?0:ue(e?pe(A):A,((t,n)=>Ge(je[e],[n],t))),Qt=(e,t,n)=>{if(!ae(t))return Ge(e,n,(()=>Ie(t))),1},zt=e=>{const t=ae(Ve[e]),n=ae(Je[e])&&ae(re[e])&&ae(de[e])&&t&&ae(_[e]),l=ae(Ae[e])&&ae(De[e])&&ae(te[e])&&ae(Z[e]);if(!n||!l){const s=e?[pe(d),Ce(u),Ce(y),be(b),be(m)]:[d,u,y,b,m];if(!n){Qt(_[e],s[0]),ue(s[1],((t,n)=>Qt(re[e],t,[n])));const n=xe();ue(s[2],((l,s)=>{Qt(de[e],l,[s])&&!t&&(Ge(Ve[e],[s,null]),Me(n,s))})),t||ue(s[4],((t,l)=>{if(!ie(n,l)){const n=xe();ue(t,(e=>ue(e,(([t,l],s)=>l!==t?Me(n,s):ve(e,s))))),ue(n,(t=>Ge(Ve[e],[l,t])))}})),ue(s[3],((t,n)=>ue(t,((t,l)=>Qt(Je[e],t,[n,l])))))}if(!l){let t;ue(s[4],((n,l)=>{let s;ue(n,((n,o)=>{let r;ue(n,(([n,i],a)=>{i!==n&&(Ge(Ae[e],[l,o,a],i,n,Ot),t=s=r=1)})),r&&Ge(De[e],[l,o],Ot)})),s&&Ge(te[e],[l],Ot)})),t&&Ge(Z[e],void 0,Ot)}}},Nt=e=>{const t=ae(Ne[e]),n=ae(We[e])&&ae(ze[e]);if(!t||!n){const l=e?[pe(M),pe(D)]:[M,D];if(t||Qt(Ne[e],l[0]),!n){let t;ue(l[1],(([n,l],s)=>{l!==n&&(Ge(We[e],[s],l,n,Ft),t=1)})),t&&Ge(ze[e],void 0,Ft)}}},Wt=(e,...t)=>(vn((()=>e(...x(t,p)))),gn),Bt=()=>[Ie(m,((e,t)=>-1===ge(d,t)?null:Ie(e,((e,n)=>-1===ge(ge(y,t),n)?null:Ie(e,(([,e])=>null!=e?e:null),((e,t)=>et(t)))),oe)),oe),Ie(D,(([,e])=>null!=e?e:null),((e,t)=>et(t)))],$t=()=>({cellsTouched:n,valuesTouched:l,changedCells:Te(m,_e,et),invalidCells:Te(J),changedValues:Ie(D,_e,et),invalidValues:Ie(A),changedTableIds:Ie(d),changedRowIds:Re(y),changedCellIds:Te(b),changedValueIds:Ie(M)}),qt=()=>Te(X),Gt=()=>fe(X),Ht=e=>fe(ge(X,p(e))),Kt=(e,t,n,l=0,s)=>{return x(O(E((o=ge(X,p(e)),r=(e,n)=>[q(t)?n:ge(e,p(t)),n],x([...null!=(i=null==o?void 0:o.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>Qe(e,t)*(n?-1:1))),l,q(s)?s:l+s),(([,e])=>e));var o,r,i},Ut=(e,t)=>fe(ge(ge(X,p(e)),p(t))),Xt=(e,t,n)=>ge(ge(ge(X,p(e)),p(t)),p(n)),Yt=()=>Ie(Y),Zt=()=>fe(Y),_t=e=>ge(Y,p(e)),en=e=>Wt((()=>(e=>tt(e,Xe,Jt))(e)?ht(e):0)),tn=e=>Wt((()=>rt(e)?wt(e):0)),nn=e=>{try{vt(z(e))}catch(e){}return gn},ln=t=>Wt((()=>{if((e=tt(t,(e=>tt(e,Ue))))&&(ct(t),!ae(X))){const e=qt();on(),en(e)}})),sn=e=>Wt((()=>{if(t=(e=>tt(e,Ue))(e)){const n=Yt();un(),dn(),t=!0,ut(e),tn(n)}})),on=()=>Wt((()=>ht({}))),rn=e=>Wt((e=>ie(X,e)?pt(e):0),e),an=(e,t)=>Wt(((e,t)=>G(ge(X,e),(n=>ie(n,t)?Ct(e,n,t):0))),e,t),dn=()=>Wt((()=>wt({}))),cn=()=>Wt((()=>{ct({}),e=!1})),un=()=>Wt((()=>{ut({}),t=!1})),vn=(e,t)=>{if(-1!=o){hn();const n=e();return fn(t),n}},hn=()=>(-1!=o&&o++,1==o&&Ge(Be,void 0,Bt,$t),gn),fn=e=>(o>0&&(o--,0==o&&(n=!ae(m),l=!ae(D),o=1,Pt(1),n&&zt(1),jt(1),l&&Nt(1),(null==e?void 0:e(Bt,$t))&&(ue(m,((e,t)=>ue(e,((e,n)=>ue(e,(([e],l)=>Ee(gn,t,n,l,e))))))),ue(D,(([e],t)=>ke(gn,t,e))),n=l=!1),Ge($e[0],void 0,Bt,$t),o=-1,Pt(0),n&&zt(0),jt(0),l&&Nt(0),Ge($e[1],void 0,Bt,$t),o=0,n=l=!1,k([d,u,y,b,m,J,M,D,A],ce))),gn),gn={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Re(ge(X,p(e))),getTableCellIds:e=>fe(ge(U,p(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>Ie(ge(ge(X,p(e)),p(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!ae(X),hasTable:e=>ie(X,p(e)),hasTableCell:(e,t)=>ie(ge(U,p(e)),p(t)),hasRow:(e,t)=>ie(ge(X,p(e)),p(t)),hasCell:(e,t,n)=>ie(ge(ge(X,p(e)),p(t)),p(n)),hasValues:()=>!ae(Y),hasValue:e=>ie(Y,p(e)),getTablesJson:()=>Q(X),getValuesJson:()=>Q(Y),getJson:()=>Q([X,Y]),getTablesSchemaJson:()=>Q(P),getValuesSchemaJson:()=>Q(N),getSchemaJson:()=>Q([P,N]),setContent:([e,t])=>Wt((()=>{(oe(e)?on:en)(e),(oe(t)?dn:tn)(t)})),setTables:en,setTable:(e,t)=>Wt((e=>Xe(t,e)?ft(e,t):0),e),setRow:(e,t,n)=>Wt(((e,t)=>st(e,t,n)?gt(e,Tt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>vn((()=>{let l;return st(e,l,t)&&(e=p(e),gt(e,Tt(e),l=Rt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Wt(((e,t)=>{if(st(e,t,n,1)){const l=Tt(e);se(n,((n,s)=>yt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>Wt(((e,t,n)=>G(ot(e,t,n,K(l)?l(Xt(e,t,n)):l),(l=>yt(e,Tt(e),t,n,l)))),e,t,n),setValues:tn,setPartialValues:e=>Wt((()=>rt(e,1)?se(e,((e,t)=>It(t,e))):0)),setValue:(e,t)=>Wt((e=>G(it(e,K(t)?t(_t(e)):t),(t=>It(e,t)))),e),setTransactionChanges:e=>Wt((()=>{se(e[0],((e,t)=>q(e)?rn(t):se(e,((e,n)=>q(e)?an(t,n):se(e,((e,l)=>Ee(gn,t,n,l,e))))))),se(e[1],((e,t)=>ke(gn,t,e)))})),setTablesJson:nn,setValuesJson:e=>{try{St(z(e))}catch(e){}return gn},setJson:e=>{try{const[t,n]=z(e);vt(t),St(n)}catch(t){nn(e)}return gn},setTablesSchema:ln,setValuesSchema:sn,setSchema:(e,t)=>Wt((()=>{ln(e),sn(t)})),delTables:on,delTable:rn,delRow:an,delCell:(e,t,n,l)=>Wt(((e,t,n)=>G(ge(X,e),(s=>G(ge(s,t),(o=>ie(o,n)?bt(e,s,t,o,n,l):0))))),e,t,n),delValues:dn,delValue:e=>Wt((e=>ie(Y,e)?Vt(e):0),e),delTablesSchema:cn,delValuesSchema:un,delSchema:()=>Wt((()=>{cn(),un()})),transaction:vn,startTransaction:hn,finishTransaction:fn,forEachTable:e=>ue(X,((t,n)=>e(n,(e=>ue(t,((t,n)=>e(n,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(ge(U,p(e)),t),forEachRow:(e,t)=>ue(ge(X,p(e)),((e,n)=>t(n,(t=>Le(e,t))))),forEachCell:(e,t,n)=>Le(ge(ge(X,p(e)),p(t)),n),forEachValue:e=>Le(Y,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let i=Kt(e,t,n,l,s);return qe((()=>{const r=Kt(e,t,n,l,s);V(r,i)||(i=r,o(gn,e,t,n,l,s,i))}),Ve[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>qe(e,Be),addWillFinishTransactionListener:e=>qe(e,$e[0]),addDidFinishTransactionListener:e=>qe(e,$e[1]),callListener:e=>(Ke(e),gn),delListener:e=>(He(e),gn),getListenerStats:()=>({}),createStore:lt};return se({[h]:[0,Z],[f]:[0,_],[v]:[1,te,[Gt]],[v+w]:[1,re,[Gt]],[L]:[1,de,[Gt]],[g]:[2,De,[Gt,Ht]],[w]:[2,Je,[Gt,Ht]],[S]:[3,Ae,[Gt,Ht,Ut],e=>Ye(Xt(...e))],InvalidCell:[3,Oe],[R]:[0,ze],[T]:[0,Ne],[I]:[1,We,[Zt],e=>Ye(_t(e[0]))],InvalidValue:[1,je]},(([e,t,n,l],s)=>{gn[c+s+a]=(...s)=>qe(s[e],t[s[e+1]?1:0],e>0?O(s,0,e):void 0,n,l)})),ee(gn)};export{je as createCheckpoints,qe as createCustomPersister,ze as createIndexes,Be as createMetrics,Ue as createQueries,Xe as createRelationships,lt as createStore,Qe as defaultSorter};
|
|
1
|
+
const e=e=>typeof e,t="",n=e(t),l=e(!0),o=e(0),s=e(e),r="type",i="default",a="Listener",d="Result",c="add",u="Ids",v="Table",h=v+"s",f=v+u,g="Row",L=g+u,y="Sorted"+g+u,S="Cell",w=S+u,I="Value",R=I+"s",T=I+u,p=e=>t+e,C=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),V=(e,t)=>D(e)===D(t)&&b(e,((e,n)=>t[n]===e)),m=(e,t)=>b(e,((n,l)=>0==l||t(e[l-1],n)<=0)),E=(e,t)=>e.sort(t),k=(e,t)=>e.forEach(t),x=(e,t)=>e.map(t),M=e=>A(e,((e,t)=>e+t),0),D=e=>e.length,J=e=>0==D(e),A=(e,t,n)=>e.reduce(t,n),O=(e,t,n)=>e.slice(t,n),F=(e,...t)=>e.push(...t),P=e=>e.pop(),j=e=>e.shift(),Q=e=>JSON.stringify(e,((e,t)=>$(t,Map)?A([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),z=JSON.parse,N=Math.max,W=Math.min,B=isFinite,$=(e,t)=>e instanceof t,q=e=>null==e,G=(e,t,n)=>q(e)?null==n?void 0:n():t(e),H=e=>e==n||e==l,K=t=>e(t)==s,U=e=>Array.isArray(e),X=()=>{},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>$(e,Y)&&e.constructor==Y,ne=(e,t)=>!q(((e,t)=>G(e,(e=>e[t])))(e,t)),le=(e,t)=>(delete e[t],e),oe=(e,t)=>x(Y.entries(e),(([e,n])=>t(n,e))),se=e=>te(e)&&0==(e=>D(Z(e)))(e),re=e=>e.size,ie=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ae=e=>q(e)||0==re(e),de=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},ce=e=>e.clear(),ue=(e,t)=>null==e?void 0:e.forEach(t),ve=(e,t)=>null==e?void 0:e.delete(t),he=e=>new Map(e),fe=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},ge=(e,t)=>null==e?void 0:e.get(t),Le=(e,t)=>ue(e,((e,n)=>t(n,e))),ye=(e,t,n)=>q(n)?(ve(e,t),e):null==e?void 0:e.set(t,n),Se=(e,t,n)=>(ie(e,t)||ye(e,t,n()),ge(e,t)),we=(e,t,n,l=ye)=>(oe(t,((t,l)=>n(e,l,t))),Le(e,(n=>ne(t,n)?0:l(e,n))),e),Ie=(e,t,n)=>{const l={};return ue(e,((e,o)=>{const s=t?t(e,o):e;!(null==n?void 0:n(s,e))&&(l[o]=s)})),l},Re=(e,t,n)=>Ie(e,(e=>Ie(e,t,n)),se),Te=(e,t,n)=>Ie(e,(e=>Re(e,t,n)),se),pe=(e,t)=>{const n=he();return ue(e,((e,l)=>{var o;return n.set(l,null!=(o=null==t?void 0:t(e))?o:e)})),n},Ce=e=>pe(e,pe),be=e=>pe(e,Ce),Ve=(e,t,n,l,o=0)=>G((n?Se:ge)(e,t[o],o>D(t)-2?n:he),(s=>{if(o>D(t)-2)return(null==l?void 0:l(s))&&ye(e,t[o]),s;const r=Ve(s,t,n,l,o+1);return ae(s)&&ye(e,t[o]),r})),me=t=>{const n=e(t);return H(n)||n==o&&B(t)?n:void 0},Ee=(e,t,n,l,o)=>q(o)?e.delCell(t,n,l,!0):e.setCell(t,n,l,o),ke=(e,t,n)=>q(n)?e.delValue(t):e.setValue(t,n),xe=e=>new Set(U(e)||q(e)?e:[e]),Me=(e,t)=>null==e?void 0:e.add(t),De=(e,t,n)=>{const l=e.hasRow,o=he(),s=he(),r=he(),i=he(),a=he(),d=(t,n,...l)=>{const o=Se(a,t,xe);return k(l,(t=>Me(o,t)&&n&&e.callListener(t))),l},c=(t,...n)=>G(ge(a,t),(l=>{k(J(n)?de(l):n,(t=>{e.delListener(t),ve(l,t)})),ae(l)&&ye(a,t)})),u=(e,n)=>{ye(o,e,n),ie(s,e)||(ye(s,e,t()),ye(r,e,he()),ye(i,e,he()))},v=e=>{ye(o,e),ye(s,e),ye(r,e),ye(i,e),c(e)};return[()=>e,()=>fe(o),e=>Le(s,e),e=>ie(s,e),e=>ge(o,e),e=>ge(s,e),(e,t)=>ye(s,e,t),u,(t,o,s,a,v)=>{u(t,o);const h=he(),f=he(),g=ge(r,t),L=ge(i,t),y=t=>{const s=n=>e.getCell(o,t,n),r=ge(g,t),i=l(o,t)?n(a(s,t)):void 0;if(r===i||U(r)&&U(i)&&V(r,i)||ye(h,t,[r,i]),!q(v)){const e=ge(L,t),n=l(o,t)?v(s,t):void 0;e!=n&&ye(f,t,n)}},S=e=>{s((()=>{ue(h,(([,e],t)=>ye(g,t,e))),ue(f,((e,t)=>ye(L,t,e)))}),h,f,g,L,e),ce(h),ce(f)};Le(g,y),e.hasTable(o)&&k(e.getRowIds(o),(e=>{ie(g,e)||y(e)})),S(!0),c(t),d(t,0,e.addRowListener(o,null,((e,t,n)=>y(n))),e.addTableListener(o,(()=>S())))},v,()=>Le(a,v),d,c]},Je=(l,o)=>e(l)==n?e=>e(l):null!=l?l:()=>null!=o?o:t,Ae=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},Oe=/^\d+$/,Fe=()=>{const e=[];let n=0;return[l=>{var o;return null!=(o=l?j(e):null)?o:t+n++},t=>{Oe.test(t)&&D(e)<1e3&&F(e,t)}]},Pe=e=>{let n;const[l,o]=Fe(),s=he();return[(o,r,i,a=[],d=(()=>[]))=>{null!=n||(n=e());const c=l(1);return ye(s,c,[o,r,i,a,d]),Me(Ve(r,null!=i?i:[t],xe),c),c},(e,l,...o)=>k(((e,n=[t])=>{const l=[],o=(e,t)=>t==D(n)?F(l,e):null===n[t]?ue(e,(e=>o(e,t+1))):k([n[t],null],(n=>o(ge(e,n),t+1)));return o(e,0),l})(e,l),(e=>ue(e,(e=>ge(s,e)[0](n,...null!=l?l:[],...o))))),e=>G(ge(s,e),(([,n,l])=>(Ve(n,null!=l?l:[t],void 0,(t=>(ve(t,e),ae(t)?1:0))),ye(s,e),o(e),l))),e=>G(ge(s,e),(([e,,t=[],l,o])=>{const s=(...r)=>{var i,a;const d=D(r);d==D(t)?e(n,...r,...o(r)):q(t[d])?k(null!=(a=null==(i=l[d])?void 0:i.call(l,...r))?a:[],(e=>s(...r,e))):s(...r,t[d])};s()}))]},je=Ae((e=>{let n,l,o,s=100,r=he(),i=he(),a=1;const d=he(),c=he(),[u,v,h]=Pe((()=>z)),f=he(),g=he(),L=[],y=[],S=(t,n)=>{a=0,e.transaction((()=>{const[l,o]=ge(f,n);ue(l,((n,l)=>ue(n,((n,o)=>ue(n,((n,s)=>Ee(e,l,o,s,n[t]))))))),ue(o,((n,l)=>ke(e,l,n[t])))})),a=1},w=e=>{ye(f,e),ye(g,e),v(c,[e])},I=(e,t)=>k(((e,t)=>e.splice(0,t))(e,null!=t?t:D(e)),w),R=()=>I(L,D(L)-s),T=()=>G(n,(()=>{F(L,n),R(),I(y),n=void 0,o=1})),p=()=>{n=P(L),o=1},b=e.addCellListener(null,null,null,((e,t,n,l,o,s)=>{if(a){T();const e=Se(r,t,he),i=Se(e,n,he),a=Se(i,l,(()=>[s,void 0]));a[1]=o,a[0]===o&&ae(ye(i,l))&&ae(ye(e,n))&&ae(ye(r,t))&&p(),M()}})),V=e.addValueListener(null,((e,t,n,l)=>{if(a){T();const e=Se(i,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ae(ye(i,t))&&p(),M()}})),m=(e="")=>(q(n)&&(n=t+l++,ye(f,n,[r,i]),O(n,e),r=he(),i=he(),o=1),n),E=()=>{J(L)||(((e,...t)=>{e.unshift(...t)})(y,m()),S(0,n),n=P(L),o=1)},x=()=>{J(y)||(F(L,n),n=j(y),S(1,n),o=1)},M=()=>{o&&(v(d),o=0)},A=e=>{const t=m(e);return M(),t},O=(e,t)=>(Q(e)&&ge(g,e)!==t&&(ye(g,e,t),v(c,[e])),z),Q=e=>ie(f,e),z={setSize:e=>(s=e,R(),z),addCheckpoint:A,setCheckpoint:O,getStore:()=>e,getCheckpointIds:()=>[[...L],n,[...y]],forEachCheckpoint:e=>Le(g,e),hasCheckpoint:Q,getCheckpoint:e=>ge(g,e),goBackward:()=>(E(),M(),z),goForward:()=>(x(),M(),z),goTo:e=>{const t=C(L,e)?E:C(y,e)?x:null;for(;!q(t)&&e!=n;)t();return M(),z},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),z),clear:()=>(I(L),I(y),q(n)||w(n),n=void 0,l=0,A(),z),destroy:()=>{e.delListener(b),e.delListener(V)},getListenerStats:()=>({})};return ee(z.clear())})),Qe=(e,t)=>e<t?-1:1,ze=Ae((e=>{const n=he(),l=he(),[o,s,r,i,a,d,c,,u,v,h]=De(e,he,(e=>q(e)?t:U(e)?x(e,p):p(e))),[f,g,L]=Pe((()=>S)),y=(t,n,l)=>{const o=a(t);ue(l,((t,l)=>n(l,(n=>ue(t,(t=>n(t,(n=>e.forEachCell(o,t,n)))))))))},S={setIndexDefinition:(e,t,o,s,r,i=Qe)=>{const a=q(r)?void 0:([e],[t])=>r(e,t);return u(e,t,((t,o,r,u,v,h)=>{let f=0;const L=xe(),y=xe(),S=d(e);if(ue(o,(([e,t],n)=>{const l=xe(e),o=xe(t);ue(l,(e=>ve(o,e)?ve(l,e):0)),ue(l,(e=>{Me(L,e),G(ge(S,e),(t=>{ve(t,n),ae(t)&&(ye(S,e),f=1)}))})),ue(o,(e=>{Me(L,e),ie(S,e)||(ye(S,e,xe()),f=1),Me(ge(S,e),n),q(s)||Me(y,e)}))})),t(),ae(v)||(h?Le(S,(e=>Me(y,e))):Le(r,(e=>G(ge(u,e),(e=>Me(y,e))))),ue(y,(e=>{const t=(t,n)=>i(ge(v,t),ge(v,n),e),n=[...ge(S,e)];m(n,t)||(ye(S,e,xe(E(n,t))),Me(L,e))}))),(f||h)&&!q(a)){const t=[...S];m(t,a)||(c(e,he(E(t,a))),f=1)}f&&g(n,[e]),ue(L,(t=>g(l,[e,t])))}),Je(o),G(s,Je)),S},delIndexDefinition:e=>(v(e),S),getStore:o,getIndexIds:s,forEachIndex:e=>r(((t,n)=>e(t,(e=>y(t,e,n))))),forEachSlice:(e,t)=>y(e,t,d(e)),hasIndex:i,hasSlice:(e,t)=>ie(d(e),t),getTableId:a,getSliceIds:e=>fe(d(e)),getSliceRowIds:(e,t)=>de(ge(d(e),t)),addSliceIdsListener:(e,t)=>f(t,n,[e]),addSliceRowIdsListener:(e,t,n)=>f(n,l,[e,t]),delListener:e=>(L(e),S),destroy:h,getListenerStats:()=>({})};return ee(S)})),Ne=he([["avg",[(e,t)=>M(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>N(...e),(e,t)=>N(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:N(t,e)]],["min",[e=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:W(t,e)]],["sum",[e=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),We=(e,t,n,l,o,s=!1)=>{if(ae(n))return;const[r,i,a,d]=o;return s||(s=q(e)),ue(l,(([n,l])=>{s||(e=q(n)?null==i?void 0:i(e,l,t++):q(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),s||(s=q(e)))})),s?r(de(n),re(n)):e},Be=Ae((e=>{const n=he(),[l,o,s,r,i,a,d,,c,u,v]=De(e,X,(e=>isNaN(e)||q(e)||!0===e||!1===e||e===t?void 0:1*e)),[h,f,g]=Pe((()=>L)),L={setMetricDefinition:(e,t,l,o,s,r,i)=>{var u;const v=K(l)?[l,s,r,i]:null!=(u=ge(Ne,l))?u:ge(Ne,"sum");return c(e,t,((t,l,o,s,r,i)=>{const c=a(e),u=re(s);i||(i=q(c)),t();let h=We(c,u,s,l,v,i);B(h)||(h=void 0),h!=c&&(d(e,h),f(n,[e],h,c))}),Je(o,1)),L},delMetricDefinition:e=>(u(e),L),getStore:l,getMetricIds:o,forEachMetric:s,hasMetric:r,getTableId:i,getMetric:a,addMetricListener:(e,t)=>h(t,n,[e]),delListener:e=>(g(e),L),destroy:v,getListenerStats:()=>({})};return ee(L)}));var $e=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{i(n.next(e))}catch(e){o(e)}},r=e=>{try{i(n.throw(e))}catch(e){o(e)}},i=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);i((n=n.apply(e,t)).next())}));const qe=(e,t,n,l,o)=>{let s,r,i,a=0,d=0,c=0;const u=[],v=e=>$e(void 0,null,(function*(){return 2!=a&&(a=1,yield h.schedule((()=>$e(void 0,null,(function*(){yield e(),a=0}))))),h})),h={load:(n,l)=>$e(void 0,null,(function*(){return yield v((()=>$e(void 0,null,(function*(){try{e.setContent(yield t())}catch(t){e.setContent([n,l])}}))))})),startAutoLoad:(...n)=>$e(void 0,[...n],(function*(n={},o={}){return h.stopAutoLoad(),yield h.load(n,o),c=1,i=l(((n,l)=>$e(void 0,null,(function*(){return yield v((()=>$e(void 0,null,(function*(){var o;if(l)e.setTransactionChanges(l());else try{e.setContent(null!=(o=null==n?void 0:n())?o:yield t())}catch(e){}}))))})))),h})),stopAutoLoad:()=>(c&&(o(i),i=void 0,c=0),h),save:t=>$e(void 0,null,(function*(){return 1!=a&&(a=2,yield h.schedule((()=>$e(void 0,null,(function*(){try{yield n(e.getContent,t)}catch(e){}a=0}))))),h})),startAutoSave:()=>$e(void 0,null,(function*(){return yield h.stopAutoSave().save(),s=e.addDidFinishTransactionListener(((e,t)=>{const[n,l]=t();se(n)&&se(l)||h.save((()=>[n,l]))})),h})),stopAutoSave:()=>(G(s,e.delListener),h),schedule:(...e)=>$e(void 0,null,(function*(){return F(u,...e),yield $e(void 0,null,(function*(){if(!d){for(d=1;!q(r=j(u));)try{yield r()}catch(e){}d=0}})),h})),getStore:()=>e,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(h)};var Ge=Object.getOwnPropertySymbols,He=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable;const Ue=Ae((e=>{const n=e.createStore,[l,o,s,r,i,,,u,,h,f,I,R]=De(e,(()=>!0),X),T=n(),p=n(),C=he(),V=(e,t,...n)=>k(n,(n=>Me(Se(Se(C,t,he),e,xe),n))),m=e=>{G(ge(C,e),(e=>{Le(e,((e,t)=>ue(t,(t=>e.delListener(t))))),ce(e)})),k([p,T],(t=>t.delTable(e)))},E=(e,t,n)=>V(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),x={setQueryDefinition:(n,l,o)=>{u(n,l),m(n);const s=[],r=[[null,[l,null,null,[],he()]]],i=[],a=[],d=[];o({select:(e,n)=>{const l=K(e)?[D(s)+t,e]:[q(n)?e:n,t=>t(e,n)];return F(s,l),{as:e=>l[0]=e}},join:(e,t,n)=>{const l=q(n)||K(t)?null:t,o=q(l)?t:n,s=[e,[e,l,K(o)?o:e=>e(o),[],he()]];return F(r,s),{as:e=>s[0]=e}},where:(e,t,n)=>F(i,K(e)?e:q(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,o)=>{var s;const r=[e,[e,K(t)?[t,n,l,o]:null!=(s=ge(Ne,t))?s:[(e,t)=>t]]];return F(a,r),{as:e=>r[0]=e}},having:(e,t)=>F(d,K(e)?e:n=>n(e)===t)});const c=he(s);if(ae(c))return x;const v=he(r);Le(v,((e,[,t])=>G(ge(v,t),(({3:t})=>q(e)?0:F(t,e)))));const h=he(a);let f=T;if(ae(h)&&J(d))f=p;else{E(n,f,p);const e=he();Le(h,((t,[n,l])=>Me(Se(e,n,xe),[t,l])));const t=xe();Le(c,(n=>ie(e,n)?0:Me(t,n)));const l=he(),o=(t,l,o,s)=>G(t,(([r,i,a,c])=>{Le(l,((t,[n])=>{const l=Se(r,t,he),i=ge(l,o),a=s?void 0:n;if(i!==a){const n=xe([[i,a]]),s=re(l);ye(l,o,a),ue(ge(e,t),(([e,t])=>{const o=We(c[e],s,l,n,t);c[e]=q(me(o))?null:o}))}})),ae(i)||!b(d,(e=>e((e=>c[e]))))?p.delRow(n,a):q(a)?t[2]=p.addRow(n,c):p.setRow(n,a,c)}));V(f,n,f.addRowListener(n,null,((s,r,i,a)=>{const d=[],c=[],u=he(),v=f.hasRow(n,i);let h=!v;ue(t,(e=>{const[t,l,o]=a(n,i,e);F(d,l),F(c,o),h||(h=t)})),Le(e,(e=>{const[t,,l]=a(n,i,e);(h||t)&&ye(u,e,[l])})),h&&o(Ve(l,d,void 0,(([,e])=>(ve(e,i),ae(e)))),u,i,1),v&&o(Ve(l,c,(()=>{const e={};return ue(t,(t=>e[t]=f.getCell(n,i,t))),[he(),xe(),void 0,e]}),(([,e])=>{Me(e,i)})),u,i)})))}E(n,e,f);const g=(t,o,s,r)=>{const a=t=>e.getCell(o,s,t);k(r,(l=>{var o;const[s,,r,i,d]=ge(v,l),c=null==r?void 0:r(a,t),[u,h]=null!=(o=ge(d,t))?o:[];c!=u&&(q(h)||R(n,h),ye(d,t,q(c)?null:[c,...I(n,1,e.addRowListener(s,c,(()=>g(t,s,c,i))))]))})),(t=>{const o=(n,o)=>{var s,r,i;return e.getCell(...q(o)?[l,t,n]:n===l?[l,t,o]:[null==(s=ge(v,n))?void 0:s[0],null==(i=ge(null==(r=ge(v,n))?void 0:r[4],t))?void 0:i[0],o])};f.transaction((()=>b(i,(e=>e(o)))?Le(c,((e,l)=>Ee(f,n,t,e,l(o,t)))):f.delRow(n,t)))})(t)},{3:L}=ge(v,null);return f.transaction((()=>I(n,1,e.addRowListener(l,null,((t,o,s)=>{e.hasRow(l,s)?g(s,l,s,L):(f.delRow(n,s),ue(v,(({4:e})=>G(ge(e,s),(([,t])=>{R(n,t),ye(e,s)})))))}))))),x},delQueryDefinition:e=>(m(e),h(e),x),getStore:l,getQueryIds:o,forEachQuery:s,hasQuery:r,getTableId:i,delListener:e=>(p.delListener(e),x),destroy:f,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)He.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&Ge)for(var l of Ge(e))t.indexOf(l)<0&&Ke.call(e,l)&&(n[l]=e[l]);return n})(p.getListenerStats(),["tables","tableIds","transaction"])};return oe({[v]:[1,1],[L]:[0,1],[y]:[0,5],[g]:[1,2],[w]:[0,2],[S]:[1,3]},(([e,t],n)=>{k(e?["get","has","forEach"]:["get"],(e=>x[e+d+n]=(...t)=>p[e+n](...t))),x[c+d+n+a]=(...e)=>p[c+n+a](...O(e,0,t),((n,...l)=>e[t](x,...l)))})),ee(x)})),Xe=Ae((e=>{const n=he(),l=he(),o=he(),s=he(),[r,i,a,d,c,u,,,v,h,f]=De(e,(()=>[he(),he(),he(),he()]),(e=>q(e)?void 0:e+t)),[g,L,y]=Pe((()=>R)),S=(e,t,n)=>G(u(e),(([l,,o])=>{if(!ie(o,t)){const s=xe();if(c(e)!=I(e))Me(s,t);else{let e=t;for(;!q(e)&&!ie(s,e);)Me(s,e),e=ge(l,e)}if(n)return s;ye(o,t,s)}return ge(o,t)})),w=(e,t)=>G(u(e),(([,,e])=>ye(e,t))),I=e=>ge(n,e),R={setRelationshipDefinition:(e,t,r,i)=>(ye(n,e,r),v(e,t,((t,n)=>{const r=xe(),i=xe(),a=xe(),[d,c]=u(e);ue(n,(([t,n],l)=>{q(t)||(Me(i,t),G(ge(c,t),(e=>{ve(e,l),ae(e)&&ye(c,t)}))),q(n)||(Me(i,n),ie(c,n)||ye(c,n,xe()),Me(ge(c,n),l)),Me(r,l),ye(d,l,n),Le(ge(s,e),(t=>{ie(S(e,t),l)&&Me(a,t)}))})),t(),ue(r,(t=>L(l,[e,t]))),ue(i,(t=>L(o,[e,t]))),ue(a,(t=>{w(e,t),L(s,[e,t])}))}),Je(i)),R),delRelationshipDefinition:e=>(ye(n,e),h(e),R),getStore:r,getRelationshipIds:i,forEachRelationship:t=>a((n=>t(n,(t=>e.forEachRow(c(n),t))))),hasRelationship:d,getLocalTableId:c,getRemoteTableId:I,getRemoteRowId:(e,t)=>{var n;return ge(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return de(ge(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>q(u(e))?[t]:de(S(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>g(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>g(n,o,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(S(e,t),g(n,s,[e,t])),delListener:e=>(w(...y(e)),R),destroy:f,getListenerStats:()=>({})};return ee(R)})),Ye=e=>[e,e],Ze=()=>[he(),he()],_e=e=>[...e],et=([e,t])=>e===t,tt=(e,t,n)=>q(e)||!te(e)||se(e)||_(e)?(null==n||n(),!1):(oe(e,((n,l)=>{t(n,l)||le(e,l)})),!se(e)),nt=(e,t,n)=>ye(e,t,ge(e,t)==-n?void 0:n),lt=()=>{let e,t,n=!1,l=!1,s=0;const d=he(),u=he(),y=he(),b=he(),m=he(),M=he(),D=he(),J=he(),A=he(),P=he(),j=he(),N=he(),W=he(),B=xe(),$=he(),U=he(),X=he(),Y=he(),Z=Ze(),_=Ze(),te=Ze(),re=Ze(),de=Ze(),Ve=Ze(),De=Ze(),Je=Ze(),Ae=Ze(),Oe=Ze(),je=Ze(),ze=Ze(),Ne=Ze(),We=Ze(),Be=he(),$e=Ze(),[qe,Ge,He,Ke]=Pe((()=>gn)),Ue=e=>{if(!tt(e,((e,t)=>C([r,i],t))))return!1;const t=e[r];return!(!H(t)&&t!=o||(me(e[i])!=t&&le(e,i),0))},Xe=(t,n)=>(!e||ie(P,n)||Jt(n))&&tt(t,((e,t)=>ot(n,t,e)),(()=>Jt(n))),ot=(e,t,n,l)=>tt(l?n:at(n,e,t),((l,o)=>G(st(e,t,o,l),(e=>(n[o]=e,!0)),(()=>!1))),(()=>Jt(e,t))),st=(t,n,l,o)=>e?G(ge(ge(P,t),l),(e=>me(o)!=e[r]?Jt(t,n,l,o,e[i]):o),(()=>Jt(t,n,l,o))):q(me(o))?Jt(t,n,l,o):o,rt=(e,t)=>tt(t?e:dt(e),((t,n)=>G(it(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>At())),it=(e,n)=>t?G(ge(N,e),(t=>me(n)!=t[r]?At(e,n,t[i]):n),(()=>At(e,n))):q(me(n))?At(e,n):n,at=(e,t,n)=>(G(ge(j,t),(([l,o])=>{ue(l,((t,n)=>{ne(e,n)||(e[n]=t)})),ue(o,(l=>{ne(e,l)||Jt(t,n,l)}))})),e),dt=e=>(t&&(ue(W,((t,n)=>{ne(e,n)||(e[n]=t)})),ue(B,(t=>{ne(e,t)||At(t)}))),e),ct=e=>we(P,e,((e,t,n)=>{const l=he(),o=xe();we(Se(P,t,he),n,((e,t,n)=>{ye(e,t,n),G(n[i],(e=>ye(l,t,e)),(()=>Me(o,t)))})),ye(j,t,[l,o])}),((e,t)=>{ye(P,t),ye(j,t)})),ut=e=>we(N,e,((e,t,n)=>{ye(N,t,n),G(n[i],(e=>ye(W,t,e)),(()=>Me(B,t)))}),((e,t)=>{ye(N,t),ye(W,t),ve(B,t)})),vt=e=>se(e)?sn():en(e),ht=e=>we(X,e,((e,t,n)=>ft(t,n)),((e,t)=>pt(t))),ft=(e,t)=>we(Se(X,e,(()=>(mt(e,1),ye($,e,Fe()),ye(U,e,he()),he()))),t,((t,n,l)=>gt(e,t,n,l)),((t,n)=>Ct(e,t,n))),gt=(e,t,n,l,o)=>we(Se(t,n,(()=>(Et(e,n,1),he()))),l,((t,l,o)=>Lt(e,n,t,l,o)),((l,s)=>bt(e,t,n,l,s,o))),Lt=(e,t,n,l,o)=>{ie(n,l)||kt(e,t,l,1);const s=ge(n,l);o!==s&&(xt(e,t,l,s,o),ye(n,l,o))},yt=(e,t,n,l,o)=>G(ge(t,n),(t=>Lt(e,n,t,l,o)),(()=>gt(e,t,n,at({[l]:o},e,n)))),St=e=>se(e)?dn():tn(e),wt=e=>we(Y,e,((e,t,n)=>It(t,n)),((e,t)=>Vt(t))),It=(e,t)=>{ie(Y,e)||Mt(e,1);const n=ge(Y,e);t!==n&&(Dt(e,n,t),ye(Y,e,t))},Rt=(e,t)=>{const[n]=ge($,e),l=n(t);return ie(ge(X,e),l)?Rt(e,t):l},Tt=e=>{var t;return null!=(t=ge(X,e))?t:ft(e,{})},pt=e=>ft(e,{}),Ct=(e,t,n)=>{const[,l]=ge($,e);l(n),gt(e,t,n,{},!0)},bt=(e,t,n,l,o,s)=>{var r;const i=ge(null==(r=ge(j,e))?void 0:r[0],o);if(!q(i)&&!s)return Lt(e,n,l,o,i);const a=t=>{xt(e,n,t,ge(l,t)),kt(e,n,t,-1),ye(l,t)};q(i)?a(o):Le(l,a),ae(l)&&(Et(e,n,-1),ae(ye(t,n))&&(mt(e,-1),ye(X,e),ye($,e),ye(U,e)))},Vt=e=>{const t=ge(W,e);if(!q(t))return It(e,t);Dt(e,ge(Y,e)),Mt(e,-1),ye(Y,e)},mt=(e,t)=>nt(d,e,t),Et=(e,t,n)=>nt(Se(y,e,he),t,n),kt=(e,t,n,l)=>{var o;const s=ge(U,e),r=null!=(o=ge(s,n))?o:0;(0==r&&1==l||1==r&&-1==l)&&nt(Se(u,e,he),n,l),ye(s,n,r!=-l?r+l:null),nt(Se(Se(b,e,he),t,he),n,l)},xt=(e,t,n,l,o)=>Se(Se(Se(m,e,he),t,he),n,(()=>[l,0]))[1]=o,Mt=(e,t)=>nt(M,e,t),Dt=(e,t,n)=>Se(D,e,(()=>[t,0]))[1]=n,Jt=(e,t,n,l,o)=>(F(Se(Se(Se(J,e,he),t,he),n,(()=>[])),l),o),At=(e,t,n)=>(F(Se(A,e,(()=>[])),t),n),Ot=(e,t,n)=>G(ge(ge(ge(m,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(Xt(e,t,n))])),Ft=e=>G(ge(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ye(_t(e))])),Pt=e=>ae(J)||ae(Oe[e])?0:ue(e?be(J):J,((t,n)=>ue(t,((t,l)=>ue(t,((t,o)=>Ge(Oe[e],[n,l,o],t))))))),jt=e=>ae(A)||ae(je[e])?0:ue(e?pe(A):A,((t,n)=>Ge(je[e],[n],t))),Qt=(e,t,n)=>{if(!ae(t))return Ge(e,n,(()=>Ie(t))),1},zt=e=>{const t=ae(Ve[e]),n=ae(Je[e])&&ae(re[e])&&ae(de[e])&&t&&ae(_[e]),l=ae(Ae[e])&&ae(De[e])&&ae(te[e])&&ae(Z[e]);if(!n||!l){const o=e?[pe(d),Ce(u),Ce(y),be(b),be(m)]:[d,u,y,b,m];if(!n){Qt(_[e],o[0]),ue(o[1],((t,n)=>Qt(re[e],t,[n])));const n=xe();ue(o[2],((l,o)=>{Qt(de[e],l,[o])&&!t&&(Ge(Ve[e],[o,null]),Me(n,o))})),t||ue(o[4],((t,l)=>{if(!ie(n,l)){const n=xe();ue(t,(e=>ue(e,(([t,l],o)=>l!==t?Me(n,o):ve(e,o))))),ue(n,(t=>Ge(Ve[e],[l,t])))}})),ue(o[3],((t,n)=>ue(t,((t,l)=>Qt(Je[e],t,[n,l])))))}if(!l){let t;ue(o[4],((n,l)=>{let o;ue(n,((n,s)=>{let r;ue(n,(([n,i],a)=>{i!==n&&(Ge(Ae[e],[l,s,a],i,n,Ot),t=o=r=1)})),r&&Ge(De[e],[l,s],Ot)})),o&&Ge(te[e],[l],Ot)})),t&&Ge(Z[e],void 0,Ot)}}},Nt=e=>{const t=ae(Ne[e]),n=ae(We[e])&&ae(ze[e]);if(!t||!n){const l=e?[pe(M),pe(D)]:[M,D];if(t||Qt(Ne[e],l[0]),!n){let t;ue(l[1],(([n,l],o)=>{l!==n&&(Ge(We[e],[o],l,n,Ft),t=1)})),t&&Ge(ze[e],void 0,Ft)}}},Wt=(e,...t)=>(vn((()=>e(...x(t,p)))),gn),Bt=()=>[Ie(m,((e,t)=>-1===ge(d,t)?null:Ie(e,((e,n)=>-1===ge(ge(y,t),n)?null:Ie(e,(([,e])=>null!=e?e:null),((e,t)=>et(t)))),se)),se),Ie(D,(([,e])=>null!=e?e:null),((e,t)=>et(t)))],$t=()=>({cellsTouched:n,valuesTouched:l,changedCells:Te(m,_e,et),invalidCells:Te(J),changedValues:Ie(D,_e,et),invalidValues:Ie(A),changedTableIds:Ie(d),changedRowIds:Re(y),changedCellIds:Te(b),changedValueIds:Ie(M)}),qt=()=>Te(X),Gt=()=>fe(X),Ht=e=>fe(ge(X,p(e))),Kt=(e,t,n,l=0,o)=>{return x(O(E((s=ge(X,p(e)),r=(e,n)=>[q(t)?n:ge(e,p(t)),n],x([...null!=(i=null==s?void 0:s.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>Qe(e,t)*(n?-1:1))),l,q(o)?o:l+o),(([,e])=>e));var s,r,i},Ut=(e,t)=>fe(ge(ge(X,p(e)),p(t))),Xt=(e,t,n)=>ge(ge(ge(X,p(e)),p(t)),p(n)),Yt=()=>Ie(Y),Zt=()=>fe(Y),_t=e=>ge(Y,p(e)),en=e=>Wt((()=>(e=>tt(e,Xe,Jt))(e)?ht(e):0)),tn=e=>Wt((()=>rt(e)?wt(e):0)),nn=e=>{try{vt(z(e))}catch(e){}return gn},ln=t=>Wt((()=>{if((e=tt(t,(e=>tt(e,Ue))))&&(ct(t),!ae(X))){const e=qt();sn(),en(e)}})),on=e=>Wt((()=>{if(t=(e=>tt(e,Ue))(e)){const n=Yt();un(),dn(),t=!0,ut(e),tn(n)}})),sn=()=>Wt((()=>ht({}))),rn=e=>Wt((e=>ie(X,e)?pt(e):0),e),an=(e,t)=>Wt(((e,t)=>G(ge(X,e),(n=>ie(n,t)?Ct(e,n,t):0))),e,t),dn=()=>Wt((()=>wt({}))),cn=()=>Wt((()=>{ct({}),e=!1})),un=()=>Wt((()=>{ut({}),t=!1})),vn=(e,t)=>{if(-1!=s){hn();const n=e();return fn(t),n}},hn=()=>(-1!=s&&s++,1==s&&Ge(Be,void 0,Bt,$t),gn),fn=e=>(s>0&&(s--,0==s&&(n=!ae(m),l=!ae(D),s=1,Pt(1),n&&zt(1),jt(1),l&&Nt(1),(null==e?void 0:e(Bt,$t))&&(ue(m,((e,t)=>ue(e,((e,n)=>ue(e,(([e],l)=>Ee(gn,t,n,l,e))))))),ue(D,(([e],t)=>ke(gn,t,e))),n=l=!1),Ge($e[0],void 0,Bt,$t),s=-1,Pt(0),n&&zt(0),jt(0),l&&Nt(0),Ge($e[1],void 0,Bt,$t),s=0,n=l=!1,k([d,u,y,b,m,J,M,D,A],ce))),gn),gn={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Re(ge(X,p(e))),getTableCellIds:e=>fe(ge(U,p(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>Ie(ge(ge(X,p(e)),p(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!ae(X),hasTable:e=>ie(X,p(e)),hasTableCell:(e,t)=>ie(ge(U,p(e)),p(t)),hasRow:(e,t)=>ie(ge(X,p(e)),p(t)),hasCell:(e,t,n)=>ie(ge(ge(X,p(e)),p(t)),p(n)),hasValues:()=>!ae(Y),hasValue:e=>ie(Y,p(e)),getTablesJson:()=>Q(X),getValuesJson:()=>Q(Y),getJson:()=>Q([X,Y]),getTablesSchemaJson:()=>Q(P),getValuesSchemaJson:()=>Q(N),getSchemaJson:()=>Q([P,N]),setContent:([e,t])=>Wt((()=>{(se(e)?sn:en)(e),(se(t)?dn:tn)(t)})),setTables:en,setTable:(e,t)=>Wt((e=>Xe(t,e)?ft(e,t):0),e),setRow:(e,t,n)=>Wt(((e,t)=>ot(e,t,n)?gt(e,Tt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>vn((()=>{let l;return ot(e,l,t)&&(e=p(e),gt(e,Tt(e),l=Rt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Wt(((e,t)=>{if(ot(e,t,n,1)){const l=Tt(e);oe(n,((n,o)=>yt(e,l,t,o,n)))}}),e,t),setCell:(e,t,n,l)=>Wt(((e,t,n)=>G(st(e,t,n,K(l)?l(Xt(e,t,n)):l),(l=>yt(e,Tt(e),t,n,l)))),e,t,n),setValues:tn,setPartialValues:e=>Wt((()=>rt(e,1)?oe(e,((e,t)=>It(t,e))):0)),setValue:(e,t)=>Wt((e=>G(it(e,K(t)?t(_t(e)):t),(t=>It(e,t)))),e),setTransactionChanges:e=>Wt((()=>{oe(e[0],((e,t)=>q(e)?rn(t):oe(e,((e,n)=>q(e)?an(t,n):oe(e,((e,l)=>Ee(gn,t,n,l,e))))))),oe(e[1],((e,t)=>ke(gn,t,e)))})),setTablesJson:nn,setValuesJson:e=>{try{St(z(e))}catch(e){}return gn},setJson:e=>{try{const[t,n]=z(e);vt(t),St(n)}catch(t){nn(e)}return gn},setTablesSchema:ln,setValuesSchema:on,setSchema:(e,t)=>Wt((()=>{ln(e),on(t)})),delTables:sn,delTable:rn,delRow:an,delCell:(e,t,n,l)=>Wt(((e,t,n)=>G(ge(X,e),(o=>G(ge(o,t),(s=>ie(s,n)?bt(e,o,t,s,n,l):0))))),e,t,n),delValues:dn,delValue:e=>Wt((e=>ie(Y,e)?Vt(e):0),e),delTablesSchema:cn,delValuesSchema:un,delSchema:()=>Wt((()=>{cn(),un()})),transaction:vn,startTransaction:hn,finishTransaction:fn,forEachTable:e=>ue(X,((t,n)=>e(n,(e=>ue(t,((t,n)=>e(n,(e=>Le(t,e))))))))),forEachTableCell:(e,t)=>Le(ge(U,p(e)),t),forEachRow:(e,t)=>ue(ge(X,p(e)),((e,n)=>t(n,(t=>Le(e,t))))),forEachCell:(e,t,n)=>Le(ge(ge(X,p(e)),p(t)),n),forEachValue:e=>Le(Y,e),addSortedRowIdsListener:(e,t,n,l,o,s,r)=>{let i=Kt(e,t,n,l,o);return qe((()=>{const r=Kt(e,t,n,l,o);V(r,i)||(i=r,s(gn,e,t,n,l,o,i))}),Ve[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>qe(e,Be),addWillFinishTransactionListener:e=>qe(e,$e[0]),addDidFinishTransactionListener:e=>qe(e,$e[1]),callListener:e=>(Ke(e),gn),delListener:e=>(He(e),gn),getListenerStats:()=>({}),createStore:lt};return oe({[h]:[0,Z],[f]:[0,_],[v]:[1,te,[Gt]],[v+w]:[1,re,[Gt]],[L]:[1,de,[Gt]],[g]:[2,De,[Gt,Ht]],[w]:[2,Je,[Gt,Ht]],[S]:[3,Ae,[Gt,Ht,Ut],e=>Ye(Xt(...e))],InvalidCell:[3,Oe],[R]:[0,ze],[T]:[0,Ne],[I]:[1,We,[Zt],e=>Ye(_t(e[0]))],InvalidValue:[1,je]},(([e,t,n,l],o)=>{gn[c+o+a]=(...o)=>qe(o[e],t[o[e+1]?1:0],e>0?O(o,0,e):void 0,n,l)})),ee(gn)};export{je as createCheckpoints,qe as createCustomPersister,ze as createIndexes,Be as createMetrics,Ue as createQueries,Xe as createRelationships,lt as createStore,Qe as defaultSorter};
|
package/lib/es6/tinybase.js.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>null==t,a=(a,e,
|
|
1
|
+
const t=t=>null==t,a=(a,e,s)=>t(a)?s?.():e(a),e=Object,s=e.keys,n=e.freeze,o=(t,e)=>a(t,(t=>t[e])),c=(a,e)=>!t(o(a,e)),i=(t,a)=>(delete t[a],t),r=(t,a)=>((t,a)=>t.map(a))(e.entries(t),(([t,e])=>a(e,t))),d=t=>s(t).length,y=t=>(t=>t instanceof e&&t.constructor==e)(t)&&0==d(t),u=(t,a)=>[t[a].t,t[a].v],h=(a,e,s,n)=>{const o=t(e)?a:((t,a,e)=>(c(t,a)||(t[a]={}),t[a]))(a,e);let d;return r(s,((t,a)=>{n(o,a,t)&&(d=1)})),r(o,((t,a)=>{c(s,a)||(i(o,a),d=1)})),!t(e)&&y(o)&&i(a,e),d},v=(e,s,c="tinybase")=>(s.change((t=>t[c]={})),((e,d,v,l,w)=>{let g,p,f,A=0,L=0,S=0;const C=[],b=async t=>(2!=A&&(A=1,await m.schedule((async()=>{await t(),A=0}))),m),m={load:async(t,a)=>await b((async()=>{try{e.setContent(await d())}catch{e.setContent([t,a])}})),startAutoLoad:async(t={},a={})=>(m.stopAutoLoad(),await m.load(t,a),S=1,f=(t=>{const a=({doc:a})=>t((()=>u(a,c)));return s.on("change",a),a})((async(t,a)=>await b((async()=>{if(a)e.setTransactionChanges(a());else try{e.setContent(t?.()??await d())}catch{}})))),m),stopAutoLoad:()=>{return S&&(t=f,s.removeListener("change",t),f=void 0,S=0),m;var t},save:async n=>(1!=A&&(A=2,await m.schedule((async()=>{try{await(async(e,n)=>s.change((s=>((e,s,n,c)=>{((t,a)=>{y(t[a])&&(t[a]={t:{},v:{}})})(e,s);const[d,v]=u(e,s),l=()=>{w=1};let w=1;if(a(c?.(),(([e,s])=>{w=0,r(e,((e,s)=>w?0:t(e)?i(d,s):a(d[s],(s=>r(e,((e,n)=>w?0:t(e)?i(s,n):a(o(s,n),(a=>r(e,((e,s)=>t(e)?i(a,s):a[s]=e))),l)))),l))),r(s,((a,e)=>w?0:t(a)?i(v,e):v[e]=a))})),w){const[t,a]=n();h(d,void 0,t,((t,a,e)=>h(d,a,e,((t,a,e)=>h(t,a,e,((t,a,e)=>{if(o(t,a)!==e)return t[a]=e,1})))))),h(v,void 0,a,((t,a,e)=>{o(v,a)!==e&&(v[a]=e)}))}})(s,c,e,n))))(e.getContent,n)}catch{}A=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),g=e.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();y(e)&&y(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(a(g,e.delListener),m),schedule:async(...a)=>(((t,...a)=>{t.push(...a)})(C,...a),await(async()=>{if(!L){for(L=1;!t((a=C,p=a.shift()));)try{await p()}catch{}L=0}var a})(),m),getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(m)})(e,(async()=>2==d(s.doc[c])?u(s.doc,c):void 0)));export{v as createAutomergePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=JSON.parse,a=t=>null==t,
|
|
1
|
+
const t=JSON.parse,a=(t,a)=>t instanceof a,e=t=>null==t,s=Object,n=s.keys,o=s.freeze,r=t=>(t=>a(t,s)&&t.constructor==s)(t)&&0==(t=>n(t).length)(t),c="storage",i=globalThis.window,u=(s,n,u)=>((s,y,d,l,v)=>{let w,h,g,p=0,S=0,A=0;const L=[],f=async t=>(2!=p&&(p=1,await C.schedule((async()=>{await t(),p=0}))),C),C={load:async(t,a)=>await f((async()=>{try{s.setContent(await y())}catch{s.setContent([t,a])}})),startAutoLoad:async(a={},e={})=>(C.stopAutoLoad(),await C.load(a,e),A=1,g=(a=>{const e=e=>{e.storageArea===u&&e.key===n&&a((()=>t(e.newValue)))};return i.addEventListener(c,e),e})((async(t,a)=>await f((async()=>{if(a)s.setTransactionChanges(a());else try{s.setContent(t?.()??await y())}catch{}})))),C),stopAutoLoad:()=>{return A&&(t=g,i.removeEventListener(c,t),g=void 0,A=0),C;var t},save:async t=>(1!=p&&(p=2,await C.schedule((async()=>{try{await(async t=>{return u.setItem(n,(e=t(),JSON.stringify(e,((t,e)=>{return a(e,Map)?(s=(t,[a,e])=>(t[a]=e,t),n={},[...e].reduce(s,n)):e;var s,n}))));var e})(s.getContent)}catch{}p=0}))),C),startAutoSave:async()=>(await C.stopAutoSave().save(),w=s.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();r(e)&&r(s)||C.save((()=>[e,s]))})),C),stopAutoSave:()=>{var t,a;return t=w,a=s.delListener,e(t)||a(t),C},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(L,...t),await(async()=>{if(!S){for(S=1;!e((t=L,h=t.shift()));)try{await h()}catch{}S=0}var t})(),C),getStore:()=>s,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o(C)})(s,(async()=>t(u.getItem(n)))),y=(t,a)=>u(t,a,localStorage),d=(t,a)=>u(t,a,sessionStorage);export{y as createLocalPersister,d as createSessionPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),c=(a,t)=>a.map(t),
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),c=(a,t)=>a.map(t),i=a=>a.length,o=a=>0==i(a),r=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),w=Promise,u=JSON.parse,d=(a,t)=>a instanceof t,E=a=>null==a,v=(a,t,e)=>E(a)?e?.():t(a),A=t=>a(t)==s,T=async a=>w.all(a),m=(a,t)=>a?.has(t)??!1,p=a=>[...a?.values()??[]],L=(a,t)=>a?.delete(t),h=Object,N=h.keys,O=h.freeze,f=(a=[])=>h.fromEntries(a),C=(...a)=>h.assign({},...a),S=(a,t)=>(delete a[t],a),R=(a,t)=>c(h.entries(a),(([a,e])=>t(e,a))),I=a=>h.values(a),g=a=>i(N(a)),D=a=>(a=>d(a,h)&&a.constructor==h)(a)&&0==g(a),b=a=>new Map(a),$=a=>[...a?.keys()??[]],_=(a,t)=>a?.get(t),F=(a,t)=>c([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>E(e)?(L(a,t),a):a?.set(t,e),P=(a,t,e,s=M)=>(R(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>v(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),B="_id",j=a=>`"${a.replace(/"/g,'""')}"`,x=a=>new Set(Array.isArray(a)||E(a)?a:[a]),U=(a,t)=>a?.add(t),k="SELECT*FROM",H="FROM pragma_table_",J="WHERE",W=(a,t)=>{const s=b(),l=(a,t)=>!E(_(_(s,a),t)),w=async(t,l,w,u,d)=>{const E=x();R(d??{},(a=>c(N(a),(a=>U(E,a)))));const v=p(E);if(o(v)&&m(s,t)&&u)return await a("DROP TABLE"+j(t)),void M(s,t);if(o(v)||m(s,t)){const e=_(s,t),n=x($(e));await T([...c(v,(async s=>{L(n,s)||(await a(`ALTER TABLE${j(t)}ADD${j(s)}`),M(e,s,""))})),...w?c(p(n),(async s=>{s!=l&&(await a(`ALTER TABLE${j(t)}DROP${j(s)}`),M(e,s))})):[]])}else await a(`CREATE TABLE${j(t)}(${j(l)} PRIMARY KEY ON CONFLICT REPLACE${n(c(v,(a=>e+j(a))))});`),M(s,t,b([[l,""],...c(v,(a=>[a,""]))]));if(o(v))m(s,t)&&await a("DELETE FROM"+j(t));else{const o=[],w=[],u=[],E=r($(_(s,t)),(a=>a!=l));R(d,((a,t)=>{var e;y(o,`(?${e=i(E),",?".repeat(e)})`),y(w,t,...c(E,(t=>a[t]))),y(u,t)})),await a("INSERT INTO"+j(t)+"("+j(l)+n(c(E,(a=>e+j(a))))+")VALUES"+n(o,e)+"ON CONFLICT("+j(l)+")DO UPDATE SET"+n(c(E,(a=>j(a)+"=excluded."+j(a))),e),w),await a("DELETE FROM"+j(t)+J+j(l)+"NOT IN("+Y(u)+")",u)}};return[async()=>P(s,f(await T(c(await a("SELECT name "+H+"list WHERE schema='main'AND type='table'AND name IN("+Y(t)+")",t),(async({name:t})=>[t,f(c(await a("SELECT name,type "+H+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>{return M(s,t,P((i=b,m(n=s,c=t)||M(n,c,i()),_(n,c)),e,((a,t,e)=>{e!=_(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))));var n,c,i}),((a,t)=>M(s,t))),async(t,e)=>{const s=l(t,e)?await a(k+j(t)+J+j(e)+"=?",["_"]):[];return o(s)?null:S(s[0],e)},async(a,t,e,s)=>await w(a,t,!0,!0,{[e]:s}),async(t,e)=>l(t,e)?f(r(c(await a(k+j(t)),(a=>[a[e],S({...a},e)])),(([a,t])=>!E(a)&&!D(t)))):{},w]},Y=a=>n(c(a,(()=>"?")),e),z=(a,t,e,s,n)=>{let c,i,o,r=0,l=0,w=0;const u=[],d=async a=>(2!=r&&(r=1,await A.schedule((async()=>{await a(),r=0}))),A),A={load:async(e,s)=>await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(A.stopAutoLoad(),await A.load(e,n),w=1,o=s((async(e,s)=>await d((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}})))),A),stopAutoLoad:()=>(w&&(n(o),o=void 0,w=0),A),save:async t=>(1!=r&&(r=2,await A.schedule((async()=>{try{await e(a.getContent,t)}catch{}r=0}))),A),startAutoSave:async()=>(await A.stopAutoSave().save(),c=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();D(e)&&D(s)||A.save((()=>[e,s]))})),A),stopAutoSave:()=>(v(c,a.delListener),A),schedule:async(...a)=>(y(u,...a),await(async()=>{if(!l){for(l=1;!E((a=u,i=a.shift()));)try{await i()}catch{}l=0}var a})(),A),getStore:()=>a,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return O(A)},K="store",V=(a,t,e,s,[n],c)=>{const[i,o,r]=W(t,c),l=z(a,(async()=>(await i(),u((await o(n,B)??{})[K]))),(async a=>l.schedule(i,(async()=>{var t;await r(n,B,"_",{[K]:(t=a(),JSON.stringify(t,((a,t)=>{return d(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),e,s);return l},q=(a,t,e,s,[n,c,[i,o,l]],y)=>{const[w,u,d,v,A]=W(t,y);return z(a,(async()=>{await w();const a=await(async()=>f(r(await T(F(n,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!D(a[1])))))(),t=await(async()=>i?await u(l,B):{})();return D(a)&&E(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();await w(),await(async a=>await T(F(c,(async([t,e,s,n],c)=>await A(t,e,s,n,a[c])))))(t),await(async a=>o?await d(l,B,"_",a):null)(e)}),e,s)},G="json",Q="autoLoadIntervalSeconds",X="rowIdColumnName",Z="tableId",aa="tableName",ta={mode:G,[Q]:1},ea={load:0,save:0,[aa]:t+"_values"},sa=(a,t,e,s)=>{const n=b();return R(a,((a,c)=>{const i=l(I(C(t,A(a)?{[e]:a}:a)),0,g(t));E(i[0])||s(c,i[0])||M(n,c,i)})),n},na="pragma ",ca="data_version",ia="schema_version",oa=(a,e,s,n,c)=>{let i,o;const[r,y,w,u]=(a=>{const e=(a=>C(ta,A(a)?{storeTableName:a}:a??{}))(a),s=e[Q];if(e.mode==G){const{storeTableName:a=t}=e;return[1,s,[a],x(a)]}const{tables:{load:n={},save:c={}}={},values:i={}}=e,o=l(I(C(ea,i)),0,g(ea)),r=o[2],y=x(r);return[0,s,[sa(n,{[Z]:null,[X]:B},Z,(a=>U(y,a)&&a==r)),sa(c,{[aa]:null,[X]:B,deleteEmptyColumns:0,deleteEmptyTable:0},aa,((a,t)=>U(y,t)&&t==r)),o],y]})(e);return(r?V:q)(a,s,(a=>[setInterval((async()=>{try{const t=(await s(na+ca))[0][ca],e=(await s(na+ia))[0][ia];t==(i??=t)&&e==(o??=e)||(a(),i=t,o=e)}catch{}}),1e3*y),n((t=>u.has(t)?a():0))]),(([a,t])=>{clearInterval(a),i=o=null,c(t)}),w,p(u))},ra=(a,t,e)=>oa(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate(((t,e,s)=>a(s)))),(a=>a()));export{ra as createCrSqliteWasmPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{watch as t}from"fs";import{readFile as a,writeFile as s}from"fs/promises";const e="utf8",n=JSON.parse,o=t=>null==t,
|
|
1
|
+
import{watch as t}from"fs";import{readFile as a,writeFile as s}from"fs/promises";const e="utf8",n=JSON.parse,o=(t,a)=>t instanceof a,r=t=>null==t,c=Object,i=c.keys,u=c.freeze,y=t=>(t=>o(t,c)&&t.constructor==c)(t)&&0==(t=>i(t).length)(t),d=(c,i)=>((a,n,c,d,v)=>{let w,p,f,h=0,l=0,A=0;const S=[],g=async t=>(2!=h&&(h=1,await L.schedule((async()=>{await t(),h=0}))),L),L={load:async(t,s)=>await g((async()=>{try{a.setContent(await n())}catch{a.setContent([t,s])}})),startAutoLoad:async(s={},e={})=>{return L.stopAutoLoad(),await L.load(s,e),A=1,o=async(t,s)=>await g((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(t?.()??await n())}catch{}})),f=t(i,(()=>o())),L;var o},stopAutoLoad:()=>{return A&&(t=f,t?.close(),f=void 0,A=0),L;var t},save:async t=>(1!=h&&(h=2,await L.schedule((async()=>{try{await(async t=>{return await s(i,(a=t(),JSON.stringify(a,((t,a)=>{return o(a,Map)?(s=(t,[a,s])=>(t[a]=s,t),e={},[...a].reduce(s,e)):a;var s,e}))),e);var a})(a.getContent)}catch{}h=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),w=a.addDidFinishTransactionListener(((t,a)=>{const[s,e]=a();y(s)&&y(e)||L.save((()=>[s,e]))})),L),stopAutoSave:()=>{var t,s;return t=w,s=a.delListener,r(t)||s(t),L},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(S,...t),await(async()=>{if(!l){for(l=1;!r((t=S,p=t.shift()));)try{await p()}catch{}l=0}var t})(),L),getStore:()=>a,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return u(L)})(c,(async()=>n(await a(i,e))));export{d as createFilePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=JSON.parse,a=t=>null==t,
|
|
1
|
+
const t=JSON.parse,a=(t,a)=>t instanceof a,e=t=>null==t,s=Object,n=s.keys,o=s.freeze,r=t=>(t=>a(t,s)&&t.constructor==s)(t)&&0==(t=>n(t).length)(t),c=t=>t.headers.get("ETag"),i=(s,n,i,y)=>{let u;return((t,s,d,h,l)=>{let w,v,p,f=0,A=0,S=0;const g=[],C=async t=>(2!=f&&(f=1,await L.schedule((async()=>{await t(),f=0}))),L),L={load:async(a,e)=>await C((async()=>{try{t.setContent(await s())}catch{t.setContent([a,e])}})),startAutoLoad:async(a={},o={})=>{return L.stopAutoLoad(),await L.load(a,o),S=1,r=async(a,e)=>await C((async()=>{if(e)t.setTransactionChanges(e());else try{t.setContent(a?.()??await s())}catch{}})),p=setInterval((async()=>{const t=await fetch(n,{method:"HEAD"}),a=c(t);e(u)||e(a)||a==u||(u=a,r())}),1e3*y),L;var r},stopAutoLoad:()=>(S&&(clearInterval(p),p=void 0,S=0),L),save:async e=>(1!=f&&(f=2,await L.schedule((async()=>{try{await(async t=>{return await fetch(i,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>{return a(e,Map)?(s=(t,[a,e])=>(t[a]=e,t),n={},[...e].reduce(s,n)):e;var s,n})))});var e})(t.getContent)}catch{}f=0}))),L),startAutoSave:async()=>(await L.stopAutoSave().save(),w=t.addDidFinishTransactionListener(((t,a)=>{const[e,s]=a();r(e)&&r(s)||L.save((()=>[e,s]))})),L),stopAutoSave:()=>{var a,s;return a=w,s=t.delListener,e(a)||s(a),L},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(g,...t),await(async()=>{if(!A){for(A=1;!e((t=g,v=t.shift()));)try{await v()}catch{}A=0}var t})(),L),getStore:()=>t,destroy:()=>L.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o(L)})(s,(async()=>{const a=await fetch(n);return u=c(a),t(await a.text())}))};export{i as createRemotePersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),c=(a,t)=>a.map(t),o=a=>a.length,i=a=>0==o(a),r=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),w=Promise,u=JSON.parse,d=(a,t)=>a instanceof t,E=a=>null==a,p=(a,t,e)=>E(a)?e?.():t(a),v=t=>a(t)==s,m=async a=>w.all(a),A=(a,t)=>a?.has(t)??!1,T=a=>[...a?.values()??[]],L=(a,t)=>a?.delete(t),h=Object,N=h.keys,f=h.freeze,C=(a=[])=>h.fromEntries(a),O=(...a)=>h.assign({},...a),R=(a,t)=>(delete a[t],a),S=(a,t)=>c(h.entries(a),(([a,e])=>t(e,a))),_=a=>h.values(a),b=a=>o(N(a)),I=a=>(a=>d(a,h)&&a.constructor==h)(a)&&0==b(a),g=a=>new Map(a),D=a=>[...a?.keys()??[]],$=(a,t)=>a?.get(t),M=(a,t)=>c([...a?.entries()??[]],(([a,e])=>t(e,a))),F=(a,t,e)=>E(e)?(L(a,t),a):a?.set(t,e),P=(a,t,e,s=F)=>(S(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>p(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),j="_id",k=a=>`"${a.replace(/"/g,'""')}"`,B=a=>new Set(Array.isArray(a)||E(a)?a:[a]),x=(a,t)=>a?.add(t),q="SELECT*FROM",H="FROM pragma_table_",J="WHERE",U=(a,t)=>{const s=g(),l=(a,t)=>!E($($(s,a),t)),w=async(t,l,w,u,d)=>{const E=B();S(d??{},(a=>c(N(a),(a=>x(E,a)))));const p=T(E);if(i(p)&&A(s,t)&&u)return await a("DROP TABLE"+k(t)),void F(s,t);if(i(p)||A(s,t)){const e=$(s,t),n=B(D(e));await m([...c(p,(async s=>{L(n,s)||(await a(`ALTER TABLE${k(t)}ADD${k(s)}`),F(e,s,""))})),...w?c(T(n),(async s=>{s!=l&&(await a(`ALTER TABLE${k(t)}DROP${k(s)}`),F(e,s))})):[]])}else await a(`CREATE TABLE${k(t)}(${k(l)} PRIMARY KEY ON CONFLICT REPLACE${n(c(p,(a=>e+k(a))))});`),F(s,t,g([[l,""],...c(p,(a=>[a,""]))]));if(i(p))A(s,t)&&await a("DELETE FROM"+k(t));else{const i=[],w=[],u=[],E=r(D($(s,t)),(a=>a!=l));S(d,((a,t)=>{var e;y(i,`(?${e=o(E),",?".repeat(e)})`),y(w,t,...c(E,(t=>a[t]))),y(u,t)})),await a("INSERT INTO"+k(t)+"("+k(l)+n(c(E,(a=>e+k(a))))+")VALUES"+n(i,e)+"ON CONFLICT("+k(l)+")DO UPDATE SET"+n(c(E,(a=>k(a)+"=excluded."+k(a))),e),w),await a("DELETE FROM"+k(t)+J+k(l)+"NOT IN("+V(u)+")",u)}};return[async()=>P(s,C(await m(c(await a("SELECT name "+H+"list WHERE schema='main'AND type='table'AND name IN("+V(t)+")",t),(async({name:t})=>[t,C(c(await a("SELECT name,type "+H+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>{return F(s,t,P((o=g,A(n=s,c=t)||F(n,c,o()),$(n,c)),e,((a,t,e)=>{e!=$(a,t)&&F(a,t,e)}),((a,t)=>F(a,t))));var n,c,o}),((a,t)=>F(s,t))),async(t,e)=>{const s=l(t,e)?await a(q+k(t)+J+k(e)+"=?",["_"]):[];return i(s)?null:R(s[0],e)},async(a,t,e,s)=>await w(a,t,!0,!0,{[e]:s}),async(t,e)=>l(t,e)?C(r(c(await a(q+k(t)),(a=>[a[e],R({...a},e)])),(([a,t])=>!E(a)&&!I(t)))):{},w]},V=a=>n(c(a,(()=>"?")),e),W=(a,t,e,s,n)=>{let c,o,i,r=0,l=0,w=0;const u=[],d=async a=>(2!=r&&(r=1,await v.schedule((async()=>{await a(),r=0}))),v),v={load:async(e,s)=>await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(v.stopAutoLoad(),await v.load(e,n),w=1,i=s((async(e,s)=>await d((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}})))),v),stopAutoLoad:()=>(w&&(n(i),i=void 0,w=0),v),save:async t=>(1!=r&&(r=2,await v.schedule((async()=>{try{await e(a.getContent,t)}catch{}r=0}))),v),startAutoSave:async()=>(await v.stopAutoSave().save(),c=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();I(e)&&I(s)||v.save((()=>[e,s]))})),v),stopAutoSave:()=>(p(c,a.delListener),v),schedule:async(...a)=>(y(u,...a),await(async()=>{if(!l){for(l=1;!E((a=u,o=a.shift()));)try{await o()}catch{}l=0}var a})(),v),getStore:()=>a,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return f(v)},Y="store",z=(a,t,e,s,[n],c)=>{const[o,i,r]=U(t,c),l=W(a,(async()=>(await o(),u((await i(n,j)??{})[Y]))),(async a=>l.schedule(o,(async()=>{var t;await r(n,j,"_",{[Y]:(t=a(),JSON.stringify(t,((a,t)=>{return d(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),e,s);return l},K=(a,t,e,s,[n,c,[o,i,l]],y)=>{const[w,u,d,p,v]=U(t,y);return W(a,(async()=>{await w();const a=await(async()=>C(r(await m(M(n,(async([a,t],e)=>[a,await p(e,t)]))),(a=>!I(a[1])))))(),t=await(async()=>o?await u(l,j):{})();return I(a)&&E(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();await w(),await(async a=>await m(M(c,(async([t,e,s,n],c)=>await v(t,e,s,n,a[c])))))(t),await(async a=>i?await d(l,j,"_",a):null)(e)}),e,s)},G="json",Q="autoLoadIntervalSeconds",X="rowIdColumnName",Z="tableId",aa="tableName",ta={mode:G,[Q]:1},ea={load:0,save:0,[aa]:t+"_values"},sa=(a,t,e,s)=>{const n=g();return S(a,((a,c)=>{const o=l(_(O(t,v(a)?{[e]:a}:a)),0,b(t));E(o[0])||s(c,o[0])||F(n,c,o)})),n},na="pragma ",ca="data_version",oa="schema_version",ia=(a,e,s,n,c)=>{let o,i;const[r,y,w,u]=(a=>{const e=(a=>O(ta,v(a)?{storeTableName:a}:a??{}))(a),s=e[Q];if(e.mode==G){const{storeTableName:a=t}=e;return[1,s,[a],B(a)]}const{tables:{load:n={},save:c={}}={},values:o={}}=e,i=l(_(O(ea,o)),0,b(ea)),r=i[2],y=B(r);return[0,s,[sa(n,{[Z]:null,[X]:j},Z,(a=>x(y,a)&&a==r)),sa(c,{[aa]:null,[X]:j,deleteEmptyColumns:0,deleteEmptyTable:0},aa,((a,t)=>x(y,t)&&t==r)),i],y]})(e);return(r?z:K)(a,s,(a=>[setInterval((async()=>{try{const t=(await s(na+ca))[0][ca],e=(await s(na+oa))[0][oa];t==(o??=t)&&e==(i??=e)||(a(),o=t,i=e)}catch{}}),1e3*y),n((t=>u.has(t)?a():0))]),(([a,t])=>{clearInterval(a),o=i=null,c(t)}),w,T(u))},ra=(a,t,e,s)=>ia(a,s,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,((t,e,s,n)=>a(n)),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)));export{ra as createSqliteWasmPersister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),
|
|
1
|
+
const a=a=>typeof a,t="tinybase",e=",",s=a(""),n=(a,t="")=>a.join(t),c=(a,t)=>a.map(t),o=a=>a.length,i=a=>0==o(a),r=(a,t)=>a.filter(t),l=(a,t,e)=>a.slice(t,e),y=(a,...t)=>a.push(...t),w=Promise,u=JSON.parse,d=(a,t)=>a instanceof t,E=a=>null==a,v=(a,t,e)=>E(a)?e?.():t(a),m=t=>a(t)==s,A=async a=>w.all(a),T=(a,t)=>a?.has(t)??!1,p=a=>[...a?.values()??[]],L=(a,t)=>a?.delete(t),h=Object,f=h.keys,N=h.freeze,C=(a=[])=>h.fromEntries(a),O=(...a)=>h.assign({},...a),S=(a,t)=>(delete a[t],a),R=(a,t)=>c(h.entries(a),(([a,e])=>t(e,a))),g=a=>h.values(a),I=a=>o(f(a)),D=a=>(a=>d(a,h)&&a.constructor==h)(a)&&0==I(a),b=a=>new Map(a),$=a=>[...a?.keys()??[]],_=(a,t)=>a?.get(t),F=(a,t)=>c([...a?.entries()??[]],(([a,e])=>t(e,a))),M=(a,t,e)=>E(e)?(L(a,t),a):a?.set(t,e),P=(a,t,e,s=M)=>(R(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>v(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),B="_id",j=a=>`"${a.replace(/"/g,'""')}"`,k=a=>new Set(Array.isArray(a)||E(a)?a:[a]),x=(a,t)=>a?.add(t),H="SELECT*FROM",J="FROM pragma_table_",U="WHERE",W=(a,t)=>{const s=b(),l=(a,t)=>!E(_(_(s,a),t)),w=async(t,l,w,u,d)=>{const E=k();R(d??{},(a=>c(f(a),(a=>x(E,a)))));const v=p(E);if(i(v)&&T(s,t)&&u)return await a("DROP TABLE"+j(t)),void M(s,t);if(i(v)||T(s,t)){const e=_(s,t),n=k($(e));await A([...c(v,(async s=>{L(n,s)||(await a(`ALTER TABLE${j(t)}ADD${j(s)}`),M(e,s,""))})),...w?c(p(n),(async s=>{s!=l&&(await a(`ALTER TABLE${j(t)}DROP${j(s)}`),M(e,s))})):[]])}else await a(`CREATE TABLE${j(t)}(${j(l)} PRIMARY KEY ON CONFLICT REPLACE${n(c(v,(a=>e+j(a))))});`),M(s,t,b([[l,""],...c(v,(a=>[a,""]))]));if(i(v))T(s,t)&&await a("DELETE FROM"+j(t));else{const i=[],w=[],u=[],E=r($(_(s,t)),(a=>a!=l));R(d,((a,t)=>{var e;y(i,`(?${e=o(E),",?".repeat(e)})`),y(w,t,...c(E,(t=>a[t]))),y(u,t)})),await a("INSERT INTO"+j(t)+"("+j(l)+n(c(E,(a=>e+j(a))))+")VALUES"+n(i,e)+"ON CONFLICT("+j(l)+")DO UPDATE SET"+n(c(E,(a=>j(a)+"=excluded."+j(a))),e),w),await a("DELETE FROM"+j(t)+U+j(l)+"NOT IN("+Y(u)+")",u)}};return[async()=>P(s,C(await A(c(await a("SELECT name "+J+"list WHERE schema='main'AND type='table'AND name IN("+Y(t)+")",t),(async({name:t})=>[t,C(c(await a("SELECT name,type "+J+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,t,e)=>{return M(s,t,P((o=b,T(n=s,c=t)||M(n,c,o()),_(n,c)),e,((a,t,e)=>{e!=_(a,t)&&M(a,t,e)}),((a,t)=>M(a,t))));var n,c,o}),((a,t)=>M(s,t))),async(t,e)=>{const s=l(t,e)?await a(H+j(t)+U+j(e)+"=?",["_"]):[];return i(s)?null:S(s[0],e)},async(a,t,e,s)=>await w(a,t,!0,!0,{[e]:s}),async(t,e)=>l(t,e)?C(r(c(await a(H+j(t)),(a=>[a[e],S({...a},e)])),(([a,t])=>!E(a)&&!D(t)))):{},w]},Y=a=>n(c(a,(()=>"?")),e),z=(a,t,e,s,n)=>{let c,o,i,r=0,l=0,w=0;const u=[],d=async a=>(2!=r&&(r=1,await m.schedule((async()=>{await a(),r=0}))),m),m={load:async(e,s)=>await d((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),w=1,i=s((async(e,s)=>await d((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}})))),m),stopAutoLoad:()=>(w&&(n(i),i=void 0,w=0),m),save:async t=>(1!=r&&(r=2,await m.schedule((async()=>{try{await e(a.getContent,t)}catch{}r=0}))),m),startAutoSave:async()=>(await m.stopAutoSave().save(),c=a.addDidFinishTransactionListener(((a,t)=>{const[e,s]=t();D(e)&&D(s)||m.save((()=>[e,s]))})),m),stopAutoSave:()=>(v(c,a.delListener),m),schedule:async(...a)=>(y(u,...a),await(async()=>{if(!l){for(l=1;!E((a=u,o=a.shift()));)try{await o()}catch{}l=0}var a})(),m),getStore:()=>a,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return N(m)},K="store",V=(a,t,e,s,[n],c)=>{const[o,i,r]=W(t,c),l=z(a,(async()=>(await o(),u((await i(n,B)??{})[K]))),(async a=>l.schedule(o,(async()=>{var t;await r(n,B,"_",{[K]:(t=a(),JSON.stringify(t,((a,t)=>{return d(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),e,s);return l},q=(a,t,e,s,[n,c,[o,i,l]],y)=>{const[w,u,d,v,m]=W(t,y);return z(a,(async()=>{await w();const a=await(async()=>C(r(await A(F(n,(async([a,t],e)=>[a,await v(e,t)]))),(a=>!D(a[1])))))(),t=await(async()=>o?await u(l,B):{})();return D(a)&&E(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();await w(),await(async a=>await A(F(c,(async([t,e,s,n],c)=>await m(t,e,s,n,a[c])))))(t),await(async a=>i?await d(l,B,"_",a):null)(e)}),e,s)},G="json",Q="autoLoadIntervalSeconds",X="rowIdColumnName",Z="tableId",aa="tableName",ta={mode:G,[Q]:1},ea={load:0,save:0,[aa]:t+"_values"},sa=(a,t,e,s)=>{const n=b();return R(a,((a,c)=>{const o=l(g(O(t,m(a)?{[e]:a}:a)),0,I(t));E(o[0])||s(c,o[0])||M(n,c,o)})),n},na="pragma ",ca="data_version",oa="schema_version",ia=(a,e,s,n,c)=>{let o,i;const[r,y,w,u]=(a=>{const e=(a=>O(ta,m(a)?{storeTableName:a}:a??{}))(a),s=e[Q];if(e.mode==G){const{storeTableName:a=t}=e;return[1,s,[a],k(a)]}const{tables:{load:n={},save:c={}}={},values:o={}}=e,i=l(g(O(ea,o)),0,I(ea)),r=i[2],y=k(r);return[0,s,[sa(n,{[Z]:null,[X]:B},Z,(a=>x(y,a)&&a==r)),sa(c,{[aa]:null,[X]:B,deleteEmptyColumns:0,deleteEmptyTable:0},aa,((a,t)=>x(y,t)&&t==r)),i],y]})(e);return(r?V:q)(a,s,(a=>[setInterval((async()=>{try{const t=(await s(na+ca))[0][ca],e=(await s(na+oa))[0][oa];t==(o??=t)&&e==(i??=e)||(a(),o=t,i=e)}catch{}}),1e3*y),n((t=>u.has(t)?a():0))]),(([a,t])=>{clearInterval(a),o=i=null,c(t)}),w,p(u))},ra="change",la=(a,t,e)=>ia(a,e,((a,e=[])=>new w(((s,n)=>t.all(a,e,((a,t)=>a?n(a):s(t.map((a=>({...a}))))))))),(a=>{const e=(t,e,s)=>a(s);return t.on(ra,e),e}),(a=>t.off(ra,a)));export{la as createSqlite3Persister};
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Map as t}from"yjs";const e=t=>t.length,a=t=>t.shift(),s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=Object,c=o.
|
|
1
|
+
import{Map as t}from"yjs";const e=t=>t.length,a=t=>t.shift(),s=t=>null==t,n=(t,e,a)=>s(t)?a?.():e(t),o=Object,c=o.keys,r=o.freeze,i=(t=[])=>o.fromEntries(t),l=(t,e)=>!s(((t,e)=>n(t,(t=>t[e])))(t,e)),u=(t,e)=>((t,e)=>t.map(e))(o.entries(t),(([t,a])=>e(a,t))),d=t=>(t=>t instanceof o&&t.constructor==o)(t)&&0==(t=>e(c(t)))(t),g=(t,e,a)=>(l(t,e)||(t[e]=a()),t[e]),y=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,a)=>e(a,t))),v="t",h="delete",p=t=>[t.get(v),t.get("v")],w=(e,a,n,o)=>{const c=s(a)?e:e.get(a)??e.set(a,new t);let r;return u(n,((t,e)=>{o(c,e,t)&&(r=1)})),c.forEach(((t,e)=>{l(n,e)||(c.delete(e),r=1)})),s(a)||c.size||e.delete(a),r},f=(o,c,l="tinybase")=>{const f=c.getMap(l);return((o,l,S,A,O)=>{let J,L,N,C=0,b=0,m=0;const z=[],E=async t=>(2!=C&&(C=1,await D.schedule((async()=>{await t(),C=0}))),D),D={load:async(t,e)=>await E((async()=>{try{o.setContent(await l())}catch{o.setContent([t,e])}})),startAutoLoad:async(t={},s={})=>(D.stopAutoLoad(),await D.load(t,s),m=1,N=(t=>{const s=s=>t(void 0,(()=>((t,s)=>{if(1==e(s)&&(o=s[0].path,0==e(o)))return[t.get("t").toJSON(),t.get("v").toJSON()];var o;const[c,r]=p(t),l={},u={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>a(t)==v?n(a(t),(s=>{const o=g(l,s,i),r=c.get(s);n(a(t),(t=>{const a=g(o,t,i),s=r.get(t);y(e,((t,{action:e})=>a[t]=e==h?null:s.get(t)))}),(()=>y(e,((t,{action:e})=>o[t]=e==h?null:r.get(t)?.toJSON()))))}),(()=>y(e,((t,{action:e})=>l[t]=e==h?null:c.get(t)?.toJSON())))):y(e,((t,{action:e})=>u[t]=e==h?null:r.get(t)))))})(s),[l,u]})(f,s)));return f.observeDeep(s),s})((async(t,e)=>await E((async()=>{if(e)o.setTransactionChanges(e());else try{o.setContent(t?.()??await l())}catch{}})))),D),stopAutoLoad:()=>{return m&&(t=N,f.unobserveDeep(t),N=void 0,m=0),D;var t},save:async e=>(1!=C&&(C=2,await D.schedule((async()=>{try{await(async(e,a)=>c.transact((()=>((e,a,o)=>{(e=>{e.size||(e.set(v,new t),e.set("v",new t))})(e);const[c,r]=p(e),i=()=>{l=1};let l=1;if(n(o?.(),(([t,e])=>{l=0,u(t,((t,e)=>l?0:s(t)?c.delete(e):n(c.get(e),(e=>u(t,((t,a)=>l?0:s(t)?e.delete(a):n(e.get(a),(e=>u(t,((t,a)=>s(t)?e.delete(a):e.set(a,t)))),i)))),i))),u(e,((t,e)=>l?0:s(t)?r.delete(e):r.set(e,t)))})),l){const[t,e]=a();w(c,void 0,t,((t,e,a)=>w(c,e,a,((t,e,a)=>w(t,e,a,((t,e,a)=>{if(t.get(e)!==a)return t.set(e,a),1})))))),w(r,void 0,e,((t,e,a)=>{r.get(e)!==a&&r.set(e,a)}))}})(f,e,a))))(o.getContent,e)}catch{}C=0}))),D),startAutoSave:async()=>(await D.stopAutoSave().save(),J=o.addDidFinishTransactionListener(((t,e)=>{const[a,s]=e();d(a)&&d(s)||D.save((()=>[a,s]))})),D),stopAutoSave:()=>(n(J,o.delListener),D),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(z,...t),await(async()=>{if(!b){for(b=1;!s(L=a(z));)try{await L()}catch{}b=0}})(),D),getStore:()=>o,destroy:()=>D.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(D)})(o,(async()=>f.size?[f.get(v).toJSON(),f.get("v").toJSON()]:void 0))};export{f as createYjsPersister};
|
|
Binary file
|
package/lib/persisters.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>null==t,a=Object.freeze,s=(s,
|
|
1
|
+
const t=t=>null==t,a=Object,s=a.keys,e=a.freeze,n=t=>(t=>t instanceof a&&t.constructor==a)(t)&&0==(t=>s(t).length)(t),o=(a,s,o,c,i)=>{let r,y,u,d=0,h=0,w=0;const l=[],v=async t=>(2!=d&&(d=1,await p.schedule((async()=>{await t(),d=0}))),p),p={load:async(t,e)=>await v((async()=>{try{a.setContent(await s())}catch{a.setContent([t,e])}})),startAutoLoad:async(t={},e={})=>(p.stopAutoLoad(),await p.load(t,e),w=1,u=c((async(t,e)=>await v((async()=>{if(e)a.setTransactionChanges(e());else try{a.setContent(t?.()??await s())}catch{}})))),p),stopAutoLoad:()=>(w&&(i(u),u=void 0,w=0),p),save:async t=>(1!=d&&(d=2,await p.schedule((async()=>{try{await o(a.getContent,t)}catch{}d=0}))),p),startAutoSave:async()=>(await p.stopAutoSave().save(),r=a.addDidFinishTransactionListener(((t,a)=>{const[s,e]=a();n(s)&&n(e)||p.save((()=>[s,e]))})),p),stopAutoSave:()=>{var s,e;return s=r,e=a.delListener,t(s)||e(s),p},schedule:async(...a)=>(((t,...a)=>{t.push(...a)})(l,...a),await(async()=>{if(!h){for(h=1;!t((a=l,y=a.shift()));)try{await y()}catch{}h=0}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(p)};export{o as createCustomPersister};
|
package/lib/persisters.js.gz
CHANGED
|
Binary file
|
package/lib/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),r="type",l="default",i="Listener",c="Result",d="add",u="Ids",h="Table",g=h+"s",f=h+u,L="Row",w=L+u,v="Sorted"+L+u,S="Cell",R=S+u,T="Value",I=T+"s",C=T+u,y=e=>t+e,p=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),V=(e,t)=>J(e)===J(t)&&b(e,((e,s)=>t[s]===e)),m=(e,t)=>b(e,((s,n)=>0==n||t(e[n-1],s)<=0)),E=(e,t)=>e.sort(t),k=(e,t)=>e.forEach(t),M=(e,t)=>e.map(t),D=e=>x(e,((e,t)=>e+t),0),J=e=>e.length,A=e=>0==J(e),x=(e,t,s)=>e.reduce(t,s),F=(e,t,s)=>e.slice(t,s),Q=(e,...t)=>e.push(...t),z=e=>e.pop(),N=e=>e.shift(),O=e=>JSON.stringify(e,((e,t)=>$(t,Map)?x([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),j=JSON.parse,P=Math.max,W=Math.min,B=isFinite,$=(e,t)=>e instanceof t,q=e=>null==e,G=(e,t,s)=>q(e)?s?.():t(e),H=e=>e==s||e==n,K=t=>e(t)==o,U=e=>Array.isArray(e),X=()=>{},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>$(e,Y)&&e.constructor==Y,se=(e,t)=>!q(((e,t)=>G(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),ae=(e,t)=>M(Y.entries(e),(([e,s])=>t(s,e))),oe=e=>te(e)&&0==(e=>J(Z(e)))(e),re=e=>e.size,le=(e,t)=>e?.has(t)??!1,ie=e=>q(e)||0==re(e),ce=e=>[...e?.values()??[]],de=e=>e.clear(),ue=(e,t)=>e?.forEach(t),he=(e,t)=>e?.delete(t),ge=e=>new Map(e),fe=e=>[...e?.keys()??[]],Le=(e,t)=>e?.get(t),we=(e,t)=>ue(e,((e,s)=>t(s,e))),ve=(e,t,s)=>q(s)?(he(e,t),e):e?.set(t,s),Se=(e,t,s)=>(le(e,t)||ve(e,t,s()),Le(e,t)),Re=(e,t,s,n=ve)=>(ae(t,((t,n)=>s(e,n,t))),we(e,(s=>se(t,s)?0:n(e,s))),e),Te=(e,t,s)=>{const n={};return ue(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Ie=(e,t,s)=>Te(e,(e=>Te(e,t,s)),oe),Ce=(e,t,s)=>Te(e,(e=>Ie(e,t,s)),oe),ye=(e,t)=>{const s=ge();return ue(e,((e,n)=>s.set(n,t?.(e)??e))),s},pe=e=>ye(e,ye),be=e=>ye(e,pe),Ve=(e,t,s,n,a=0)=>G((s?Se:Le)(e,t[a],a>J(t)-2?s:ge),(o=>{if(a>J(t)-2)return n?.(o)&&ve(e,t[a]),o;const r=Ve(o,t,s,n,a+1);return ie(o)&&ve(e,t[a]),r})),me=t=>{const s=e(t);return H(s)||s==a&&B(t)?s:void 0},Ee=(e,t,s,n,a)=>q(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ke=(e,t,s)=>q(s)?e.delValue(t):e.setValue(t,s),Me=e=>new Set(U(e)||q(e)?e:[e]),De=(e,t)=>e?.add(t),Je=(e,t,s)=>{const n=e.hasRow,a=ge(),o=ge(),r=ge(),l=ge(),i=ge(),c=(t,s,...n)=>{const a=Se(i,t,Me);return k(n,(t=>De(a,t)&&s&&e.callListener(t))),n},d=(t,...s)=>G(Le(i,t),(n=>{k(A(s)?ce(n):s,(t=>{e.delListener(t),he(n,t)})),ie(n)&&ve(i,t)})),u=(e,s)=>{ve(a,e,s),le(o,e)||(ve(o,e,t()),ve(r,e,ge()),ve(l,e,ge()))},h=e=>{ve(a,e),ve(o,e),ve(r,e),ve(l,e),d(e)};return[()=>e,()=>fe(a),e=>we(o,e),e=>le(o,e),e=>Le(a,e),e=>Le(o,e),(e,t)=>ve(o,e,t),u,(t,a,o,i,h)=>{u(t,a);const g=ge(),f=ge(),L=Le(r,t),w=Le(l,t),v=t=>{const o=s=>e.getCell(a,t,s),r=Le(L,t),l=n(a,t)?s(i(o,t)):void 0;if(r===l||U(r)&&U(l)&&V(r,l)||ve(g,t,[r,l]),!q(h)){const e=Le(w,t),s=n(a,t)?h(o,t):void 0;e!=s&&ve(f,t,s)}},S=e=>{o((()=>{ue(g,(([,e],t)=>ve(L,t,e))),ue(f,((e,t)=>ve(w,t,e)))}),g,f,L,w,e),de(g),de(f)};we(L,v),e.hasTable(a)&&k(e.getRowIds(a),(e=>{le(L,e)||v(e)})),S(!0),d(t),c(t,0,e.addRowListener(a,null,((e,t,s)=>v(s))),e.addTableListener(a,(()=>S())))},h,()=>we(i,h),c,d]},Ae=(n,a)=>e(n)==s?e=>e(n):n??(()=>a??t),xe=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Fe=/^\d+$/,Qe=()=>{const e=[];let s=0;return[n=>(n?N(e):null)??t+s++,t=>{Fe.test(t)&&J(e)<1e3&&Q(e,t)}]},ze=e=>{let s;const[n,a]=Qe(),o=ge();return[(a,r,l,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return ve(o,d,[a,r,l,i,c]),De(Ve(r,l??[t],Me),d),d},(e,n,...a)=>k(((e,s=[t])=>{const n=[],a=(e,t)=>t==J(s)?Q(n,e):null===s[t]?ue(e,(e=>a(e,t+1))):k([s[t],null],(s=>a(Le(e,s),t+1)));return a(e,0),n})(e,n),(e=>ue(e,(e=>Le(o,e)[0](s,...n??[],...a))))),e=>G(Le(o,e),(([,s,n])=>(Ve(s,n??[t],void 0,(t=>(he(t,e),ie(t)?1:0))),ve(o,e),a(e),n))),e=>G(Le(o,e),(([e,,t=[],n,a])=>{const o=(...r)=>{const l=J(r);l==J(t)?e(s,...r,...a(r)):q(t[l])?k(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,t[l])};o()}))]},Ne=xe((e=>{let s,n,a,o=100,r=ge(),l=ge(),i=1;const c=ge(),d=ge(),[u,h,g]=ze((()=>j)),f=ge(),L=ge(),w=[],v=[],S=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=Le(f,s);ue(n,((s,n)=>ue(s,((s,a)=>ue(s,((s,o)=>Ee(e,n,a,o,s[t]))))))),ue(a,((s,n)=>ke(e,n,s[t])))})),i=1},R=e=>{ve(f,e),ve(L,e),h(d,[e])},T=(e,t)=>k(((e,t)=>e.splice(0,t))(e,t??J(e)),R),I=()=>T(w,J(w)-o),C=()=>G(s,(()=>{Q(w,s),I(),T(v),s=void 0,a=1})),y=()=>{s=z(w),a=1},b=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){C();const e=Se(r,t,ge),l=Se(e,s,ge),i=Se(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&ie(ve(l,n))&&ie(ve(e,s))&&ie(ve(r,t))&&y(),D()}})),V=e.addValueListener(null,((e,t,s,n)=>{if(i){C();const e=Se(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ie(ve(l,t))&&y(),D()}})),m=(e="")=>(q(s)&&(s=t+n++,ve(f,s,[r,l]),F(s,e),r=ge(),l=ge(),a=1),s),E=()=>{A(w)||(((e,...t)=>{e.unshift(...t)})(v,m()),S(0,s),s=z(w),a=1)},M=()=>{A(v)||(Q(w,s),s=N(v),S(1,s),a=1)},D=()=>{a&&(h(c),a=0)},x=e=>{const t=m(e);return D(),t},F=(e,t)=>(O(e)&&Le(L,e)!==t&&(ve(L,e,t),h(d,[e])),j),O=e=>le(f,e),j={setSize:e=>(o=e,I(),j),addCheckpoint:x,setCheckpoint:F,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...v]],forEachCheckpoint:e=>we(L,e),hasCheckpoint:O,getCheckpoint:e=>Le(L,e),goBackward:()=>(E(),D(),j),goForward:()=>(M(),D(),j),goTo:e=>{const t=p(w,e)?E:p(v,e)?M:null;for(;!q(t)&&e!=s;)t();return D(),j},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),j),clear:()=>(T(w),T(v),q(s)||R(s),s=void 0,n=0,x(),j),destroy:()=>{e.delListener(b),e.delListener(V)},getListenerStats:()=>({})};return ee(j.clear())})),Oe=(e,t)=>e<t?-1:1,je=xe((e=>{const s=ge(),n=ge(),[a,o,r,l,i,c,d,,u,h,g]=Je(e,ge,(e=>q(e)?t:U(e)?M(e,y):y(e))),[f,L,w]=ze((()=>S)),v=(t,s,n)=>{const a=i(t);ue(n,((t,n)=>s(n,(s=>ue(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},S={setIndexDefinition:(e,t,a,o,r,l=Oe)=>{const i=q(r)?void 0:([e],[t])=>r(e,t);return u(e,t,((t,a,r,u,h,g)=>{let f=0;const w=Me(),v=Me(),S=c(e);if(ue(a,(([e,t],s)=>{const n=Me(e),a=Me(t);ue(n,(e=>he(a,e)?he(n,e):0)),ue(n,(e=>{De(w,e),G(Le(S,e),(t=>{he(t,s),ie(t)&&(ve(S,e),f=1)}))})),ue(a,(e=>{De(w,e),le(S,e)||(ve(S,e,Me()),f=1),De(Le(S,e),s),q(o)||De(v,e)}))})),t(),ie(h)||(g?we(S,(e=>De(v,e))):we(r,(e=>G(Le(u,e),(e=>De(v,e))))),ue(v,(e=>{const t=(t,s)=>l(Le(h,t),Le(h,s),e),s=[...Le(S,e)];m(s,t)||(ve(S,e,Me(E(s,t))),De(w,e))}))),(f||g)&&!q(i)){const t=[...S];m(t,i)||(d(e,ge(E(t,i))),f=1)}f&&L(s,[e]),ue(w,(t=>L(n,[e,t])))}),Ae(a),G(o,Ae)),S},delIndexDefinition:e=>(h(e),S),getStore:a,getIndexIds:o,forEachIndex:e=>r(((t,s)=>e(t,(e=>v(t,e,s))))),forEachSlice:(e,t)=>v(e,t,c(e)),hasIndex:l,hasSlice:(e,t)=>le(c(e),t),getTableId:i,getSliceIds:e=>fe(c(e)),getSliceRowIds:(e,t)=>ce(Le(c(e),t)),addSliceIdsListener:(e,t)=>f(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>f(s,n,[e,t]),delListener:e=>(w(e),S),destroy:g,getListenerStats:()=>({})};return ee(S)})),Pe=ge([["avg",[(e,t)=>D(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>P(...e),(e,t)=>P(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:P(t,e)]],["min",[e=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:W(t,e)]],["sum",[e=>D(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),We=(e,t,s,n,a,o=!1)=>{if(ie(s))return;const[r,l,i,c]=a;return o||=q(e),ue(n,(([s,n])=>{o||(e=q(s)?l?.(e,n,t++):q(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=q(e))})),o?r(ce(s),re(s)):e},Be=xe((e=>{const s=ge(),[n,a,o,r,l,i,c,,d,u,h]=Je(e,X,(e=>isNaN(e)||q(e)||!0===e||!1===e||e===t?void 0:1*e)),[g,f,L]=ze((()=>w)),w={setMetricDefinition:(e,t,n,a,o,r,l)=>{const u=K(n)?[n,o,r,l]:Le(Pe,n)??Le(Pe,"sum");return d(e,t,((t,n,a,o,r,l)=>{const d=i(e),h=re(o);l||=q(d),t();let g=We(d,h,o,n,u,l);B(g)||(g=void 0),g!=d&&(c(e,g),f(s,[e],g,d))}),Ae(a,1)),w},delMetricDefinition:e=>(u(e),w),getStore:n,getMetricIds:a,forEachMetric:o,hasMetric:r,getTableId:l,getMetric:i,addMetricListener:(e,t)=>g(t,s,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return ee(w)})),$e=(e,t,s,n,a)=>{let o,r,l,i=0,c=0,d=0;const u=[],h=async e=>{2!=i&&(i=1,await e(),i=0)},g={load:async(s,n)=>(await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),g),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),d=1,l=n((async(s,n)=>{await h((async()=>{if(n)e.setTransactionChanges(n());else try{e.setContent(s?.()??await t())}catch{}}))})),g),stopAutoLoad:()=>(d&&(a(l),l=void 0,d=0),g),save:async t=>(await g.schedule((async()=>{if(1!=i){i=2;try{await s(e.getContent,t)}catch{}i=0}})),g),startAutoSave:async()=>(await g.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const s=t();g.save((()=>s))})),g),stopAutoSave:()=>(G(o,e.delListener),g),schedule:async(...e)=>(Q(u,...e),await(async()=>{if(!c){for(c=1;!q(r=N(u));)try{await r()}catch{}c=0}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(g)},qe=xe((e=>{const s=e.createStore,[n,a,o,r,l,,,u,,g,f,T,I]=Je(e,(()=>!0),X),C=s(),y=s(),p=ge(),V=(e,t,...s)=>k(s,(s=>De(Se(Se(p,t,ge),e,Me),s))),m=e=>{G(Le(p,e),(e=>{we(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),k([y,C],(t=>t.delTable(e)))},E=(e,t,s)=>V(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),M={setQueryDefinition:(s,n,a)=>{u(s,n),m(s);const o=[],r=[[null,[n,null,null,[],ge()]]],l=[],i=[],c=[];a({select:(e,s)=>{const n=K(e)?[J(o)+t,e]:[q(s)?e:s,t=>t(e,s)];return Q(o,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=q(s)||K(t)?null:t,a=q(n)?t:s,o=[e,[e,n,K(a)?a:e=>e(a),[],ge()]];return Q(r,o),{as:e=>o[0]=e}},where:(e,t,s)=>Q(l,K(e)?e:q(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,K(t)?[t,s,n,a]:Le(Pe,t)??[(e,t)=>t]]];return Q(i,o),{as:e=>o[0]=e}},having:(e,t)=>Q(c,K(e)?e:s=>s(e)===t)});const d=ge(o);if(ie(d))return M;const h=ge(r);we(h,((e,[,t])=>G(Le(h,t),(({3:t})=>q(e)?0:Q(t,e)))));const g=ge(i);let f=C;if(ie(g)&&A(c))f=y;else{E(s,f,y);const e=ge();we(g,((t,[s,n])=>De(Se(e,s,Me),[t,n])));const t=Me();we(d,(s=>le(e,s)?0:De(t,s)));const n=ge(),a=(t,n,a,o)=>G(t,(([r,l,i,d])=>{we(n,((t,[s])=>{const n=Se(r,t,ge),l=Le(n,a),i=o?void 0:s;if(l!==i){const s=Me([[l,i]]),o=re(n);ve(n,a,i),ue(Le(e,t),(([e,t])=>{const a=We(d[e],o,n,s,t);d[e]=q(me(a))?null:a}))}})),ie(l)||!b(c,(e=>e((e=>d[e]))))?y.delRow(s,i):q(i)?t[2]=y.addRow(s,d):y.setRow(s,i,d)}));V(f,s,f.addRowListener(s,null,((o,r,l,i)=>{const c=[],d=[],u=ge(),h=f.hasRow(s,l);let g=!h;ue(t,(e=>{const[t,n,a]=i(s,l,e);Q(c,n),Q(d,a),g||=t})),we(e,(e=>{const[t,,n]=i(s,l,e);(g||t)&&ve(u,e,[n])})),g&&a(Ve(n,c,void 0,(([,e])=>(he(e,l),ie(e)))),u,l,1),h&&a(Ve(n,d,(()=>{const e={};return ue(t,(t=>e[t]=f.getCell(s,l,t))),[ge(),Me(),void 0,e]}),(([,e])=>{De(e,l)})),u,l)})))}E(s,e,f);const L=(t,a,o,r)=>{const i=t=>e.getCell(a,o,t);k(r,(n=>{const[a,,o,r,l]=Le(h,n),c=o?.(i,t),[d,u]=Le(l,t)??[];c!=d&&(q(u)||I(s,u),ve(l,t,q(c)?null:[c,...T(s,1,e.addRowListener(a,c,(()=>L(t,a,c,r))))]))})),(t=>{const a=(s,a)=>e.getCell(...q(a)?[n,t,s]:s===n?[n,t,a]:[Le(h,s)?.[0],Le(Le(h,s)?.[4],t)?.[0],a]);f.transaction((()=>b(l,(e=>e(a)))?we(d,((e,n)=>Ee(f,s,t,e,n(a,t)))):f.delRow(s,t)))})(t)},{3:w}=Le(h,null);return f.transaction((()=>T(s,1,e.addRowListener(n,null,((t,a,o)=>{e.hasRow(n,o)?L(o,n,o,w):(f.delRow(s,o),ue(h,(({4:e})=>G(Le(e,o),(([,t])=>{I(s,t),ve(e,o)})))))}))))),M},delQueryDefinition:e=>(m(e),g(e),M),getStore:n,getQueryIds:a,forEachQuery:o,hasQuery:r,getTableId:l,delListener:e=>(y.delListener(e),M),destroy:f,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=y.getListenerStats();return n}};return ae({[h]:[1,1],[w]:[0,1],[v]:[0,5],[L]:[1,2],[R]:[0,2],[S]:[1,3]},(([e,t],s)=>{k(e?["get","has","forEach"]:["get"],(e=>M[e+c+s]=(...t)=>y[e+s](...t))),M[d+c+s+i]=(...e)=>y[d+s+i](...F(e,0,t),((s,...n)=>e[t](M,...n)))})),ee(M)})),Ge=xe((e=>{const s=ge(),n=ge(),a=ge(),o=ge(),[r,l,i,c,d,u,,,h,g,f]=Je(e,(()=>[ge(),ge(),ge(),ge()]),(e=>q(e)?void 0:e+t)),[L,w,v]=ze((()=>I)),S=(e,t,s)=>G(u(e),(([n,,a])=>{if(!le(a,t)){const o=Me();if(d(e)!=T(e))De(o,t);else{let e=t;for(;!q(e)&&!le(o,e);)De(o,e),e=Le(n,e)}if(s)return o;ve(a,t,o)}return Le(a,t)})),R=(e,t)=>G(u(e),(([,,e])=>ve(e,t))),T=e=>Le(s,e),I={setRelationshipDefinition:(e,t,r,l)=>(ve(s,e,r),h(e,t,((t,s)=>{const r=Me(),l=Me(),i=Me(),[c,d]=u(e);ue(s,(([t,s],n)=>{q(t)||(De(l,t),G(Le(d,t),(e=>{he(e,n),ie(e)&&ve(d,t)}))),q(s)||(De(l,s),le(d,s)||ve(d,s,Me()),De(Le(d,s),n)),De(r,n),ve(c,n,s),we(Le(o,e),(t=>{le(S(e,t),n)&&De(i,t)}))})),t(),ue(r,(t=>w(n,[e,t]))),ue(l,(t=>w(a,[e,t]))),ue(i,(t=>{R(e,t),w(o,[e,t])}))}),Ae(l)),I),delRelationshipDefinition:e=>(ve(s,e),g(e),I),getStore:r,getRelationshipIds:l,forEachRelationship:t=>i((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:T,getRemoteRowId:(e,t)=>Le(u(e)?.[0],t),getLocalRowIds:(e,t)=>ce(Le(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>q(u(e))?[t]:ce(S(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>L(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(S(e,t),L(s,o,[e,t])),delListener:e=>(R(...v(e)),I),destroy:f,getListenerStats:()=>({})};return ee(I)})),He=e=>[e,e],Ke=()=>[ge(),ge()],Ue=e=>[...e],Xe=([e,t])=>e===t,Ye=(e,t,s)=>q(e)||!te(e)||oe(e)||_(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||ne(e,n)})),!oe(e)),Ze=(e,t,s)=>ve(e,t,Le(e,t)==-s?void 0:s),_e=()=>{let e,t,s=!1,n=!1,o=0;const c=ge(),u=ge(),v=ge(),b=ge(),m=ge(),D=ge(),J=ge(),A=ge(),x=ge(),z=ge(),N=ge(),P=ge(),W=ge(),B=Me(),$=ge(),U=ge(),X=ge(),Y=ge(),Z=Ke(),_=Ke(),te=Ke(),re=Ke(),ce=Ke(),Ve=Ke(),Je=Ke(),Ae=Ke(),xe=Ke(),Fe=Ke(),Ne=Ke(),je=Ke(),Pe=Ke(),We=Ke(),Be=ge(),$e=Ke(),[qe,Ge,et,tt]=ze((()=>fs)),st=e=>{if(!Ye(e,((e,t)=>p([r,l],t))))return!1;const t=e[r];return!(!H(t)&&t!=a||(me(e[l])!=t&&ne(e,l),0))},nt=(t,s)=>(!e||le(z,s)||At(s))&&Ye(t,((e,t)=>at(s,t,e)),(()=>At(s))),at=(e,t,s,n)=>Ye(n?s:it(s,e,t),((n,a)=>G(ot(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>At(e,t))),ot=(t,s,n,a)=>e?G(Le(Le(z,t),n),(e=>me(a)!=e[r]?At(t,s,n,a,e[l]):a),(()=>At(t,s,n,a))):q(me(a))?At(t,s,n,a):a,rt=(e,t)=>Ye(t?e:ct(e),((t,s)=>G(lt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>xt())),lt=(e,s)=>t?G(Le(P,e),(t=>me(s)!=t[r]?xt(e,s,t[l]):s),(()=>xt(e,s))):q(me(s))?xt(e,s):s,it=(e,t,s)=>(G(Le(N,t),(([n,a])=>{ue(n,((t,s)=>{se(e,s)||(e[s]=t)})),ue(a,(n=>{se(e,n)||At(t,s,n)}))})),e),ct=e=>(t&&(ue(W,((t,s)=>{se(e,s)||(e[s]=t)})),ue(B,(t=>{se(e,t)||xt(t)}))),e),dt=e=>Re(z,e,((e,t,s)=>{const n=ge(),a=Me();Re(Se(z,t,ge),s,((e,t,s)=>{ve(e,t,s),G(s[l],(e=>ve(n,t,e)),(()=>De(a,t)))})),ve(N,t,[n,a])}),((e,t)=>{ve(z,t),ve(N,t)})),ut=e=>Re(P,e,((e,t,s)=>{ve(P,t,s),G(s[l],(e=>ve(W,t,e)),(()=>De(B,t)))}),((e,t)=>{ve(P,t),ve(W,t),he(B,t)})),ht=e=>oe(e)?os():es(e),gt=e=>Re(X,e,((e,t,s)=>ft(t,s)),((e,t)=>yt(t))),ft=(e,t)=>Re(Se(X,e,(()=>(mt(e,1),ve($,e,Qe()),ve(U,e,ge()),ge()))),t,((t,s,n)=>Lt(e,t,s,n)),((t,s)=>pt(e,t,s))),Lt=(e,t,s,n,a)=>Re(Se(t,s,(()=>(Et(e,s,1),ge()))),n,((t,n,a)=>wt(e,s,t,n,a)),((n,o)=>bt(e,t,s,n,o,a))),wt=(e,t,s,n,a)=>{le(s,n)||kt(e,t,n,1);const o=Le(s,n);a!==o&&(Mt(e,t,n,o,a),ve(s,n,a))},vt=(e,t,s,n,a)=>G(Le(t,s),(t=>wt(e,s,t,n,a)),(()=>Lt(e,t,s,it({[n]:a},e,s)))),St=e=>oe(e)?is():ts(e),Rt=e=>Re(Y,e,((e,t,s)=>Tt(t,s)),((e,t)=>Vt(t))),Tt=(e,t)=>{le(Y,e)||Dt(e,1);const s=Le(Y,e);t!==s&&(Jt(e,s,t),ve(Y,e,t))},It=(e,t)=>{const[s]=Le($,e),n=s(t);return le(Le(X,e),n)?It(e,t):n},Ct=e=>Le(X,e)??ft(e,{}),yt=e=>ft(e,{}),pt=(e,t,s)=>{const[,n]=Le($,e);n(s),Lt(e,t,s,{},!0)},bt=(e,t,s,n,a,o)=>{const r=Le(Le(N,e)?.[0],a);if(!q(r)&&!o)return wt(e,s,n,a,r);const l=t=>{Mt(e,s,t,Le(n,t)),kt(e,s,t,-1),ve(n,t)};q(r)?l(a):we(n,l),ie(n)&&(Et(e,s,-1),ie(ve(t,s))&&(mt(e,-1),ve(X,e),ve($,e),ve(U,e)))},Vt=e=>{const t=Le(W,e);if(!q(t))return Tt(e,t);Jt(e,Le(Y,e)),Dt(e,-1),ve(Y,e)},mt=(e,t)=>Ze(c,e,t),Et=(e,t,s)=>Ze(Se(v,e,ge),t,s),kt=(e,t,s,n)=>{const a=Le(U,e),o=Le(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Ze(Se(u,e,ge),s,n),ve(a,s,o!=-n?o+n:null),Ze(Se(Se(b,e,ge),t,ge),s,n)},Mt=(e,t,s,n,a)=>Se(Se(Se(m,e,ge),t,ge),s,(()=>[n,0]))[1]=a,Dt=(e,t)=>Ze(D,e,t),Jt=(e,t,s)=>Se(J,e,(()=>[t,0]))[1]=s,At=(e,t,s,n,a)=>(Q(Se(Se(Se(A,e,ge),t,ge),s,(()=>[])),n),a),xt=(e,t,s)=>(Q(Se(x,e,(()=>[])),t),s),Ft=(e,t,s)=>G(Le(Le(Le(m,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...He(Xt(e,t,s))])),Qt=e=>G(Le(J,e),(([e,t])=>[!0,e,t]),(()=>[!1,...He(_t(e))])),zt=e=>ie(A)||ie(Fe[e])?0:ue(e?be(A):A,((t,s)=>ue(t,((t,n)=>ue(t,((t,a)=>Ge(Fe[e],[s,n,a],t))))))),Nt=e=>ie(x)||ie(Ne[e])?0:ue(e?ye(x):x,((t,s)=>Ge(Ne[e],[s],t))),Ot=(e,t,s)=>{if(!ie(t))return Ge(e,s,(()=>Te(t))),1},jt=e=>{const t=ie(Ve[e]),s=ie(Ae[e])&&ie(re[e])&&ie(ce[e])&&t&&ie(_[e]),n=ie(xe[e])&&ie(Je[e])&&ie(te[e])&&ie(Z[e]);if(!s||!n){const a=e?[ye(c),pe(u),pe(v),be(b),be(m)]:[c,u,v,b,m];if(!s){Ot(_[e],a[0]),ue(a[1],((t,s)=>Ot(re[e],t,[s])));const s=Me();ue(a[2],((n,a)=>{Ot(ce[e],n,[a])&&!t&&(Ge(Ve[e],[a,null]),De(s,a))})),t||ue(a[4],((t,n)=>{if(!le(s,n)){const s=Me();ue(t,(e=>ue(e,(([t,n],a)=>n!==t?De(s,a):he(e,a))))),ue(s,(t=>Ge(Ve[e],[n,t])))}})),ue(a[3],((t,s)=>ue(t,((t,n)=>Ot(Ae[e],t,[s,n])))))}if(!n){let t;ue(a[4],((s,n)=>{let a;ue(s,((s,o)=>{let r;ue(s,(([s,l],i)=>{l!==s&&(Ge(xe[e],[n,o,i],l,s,Ft),t=a=r=1)})),r&&Ge(Je[e],[n,o],Ft)})),a&&Ge(te[e],[n],Ft)})),t&&Ge(Z[e],void 0,Ft)}}},Pt=e=>{const t=ie(Pe[e]),s=ie(We[e])&&ie(je[e]);if(!t||!s){const n=e?[ye(D),ye(J)]:[D,J];if(t||Ot(Pe[e],n[0]),!s){let t;ue(n[1],(([s,n],a)=>{n!==s&&(Ge(We[e],[a],n,s,Qt),t=1)})),t&&Ge(je[e],void 0,Qt)}}},Wt=(e,...t)=>(us((()=>e(...M(t,y)))),fs),Bt=()=>[Te(m,((e,t)=>-1===Le(c,t)?null:Te(e,((e,s)=>-1===Le(Le(v,t),s)?null:Te(e,(([,e])=>e??null),((e,t)=>Xe(t)))),oe)),oe),Te(J,(([,e])=>e??null),((e,t)=>Xe(t)))],$t=()=>({cellsTouched:s,valuesTouched:n,changedCells:Ce(m,Ue,Xe),invalidCells:Ce(A),changedValues:Te(J,Ue,Xe),invalidValues:Te(x),changedTableIds:Te(c),changedRowIds:Ie(v),changedCellIds:Ce(b),changedValueIds:Te(D)}),qt=()=>Ce(X),Gt=()=>fe(X),Ht=e=>fe(Le(X,y(e))),Kt=(e,t,s,n=0,a)=>{return M(F(E((o=Le(X,y(e)),r=(e,s)=>[q(t)?s:Le(e,y(t)),s],M([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Oe(e,t)*(s?-1:1))),n,q(a)?a:n+a),(([,e])=>e));var o,r},Ut=(e,t)=>fe(Le(Le(X,y(e)),y(t))),Xt=(e,t,s)=>Le(Le(Le(X,y(e)),y(t)),y(s)),Yt=()=>Te(Y),Zt=()=>fe(Y),_t=e=>Le(Y,y(e)),es=e=>Wt((()=>(e=>Ye(e,nt,At))(e)?gt(e):0)),ts=e=>Wt((()=>rt(e)?Rt(e):0)),ss=e=>{try{ht(j(e))}catch{}return fs},ns=t=>Wt((()=>{if((e=Ye(t,(e=>Ye(e,st))))&&(dt(t),!ie(X))){const e=qt();os(),es(e)}})),as=e=>Wt((()=>{if(t=(e=>Ye(e,st))(e)){const s=Yt();ds(),is(),t=!0,ut(e),ts(s)}})),os=()=>Wt((()=>gt({}))),rs=e=>Wt((e=>le(X,e)?yt(e):0),e),ls=(e,t)=>Wt(((e,t)=>G(Le(X,e),(s=>le(s,t)?pt(e,s,t):0))),e,t),is=()=>Wt((()=>Rt({}))),cs=()=>Wt((()=>{dt({}),e=!1})),ds=()=>Wt((()=>{ut({}),t=!1})),us=(e,t)=>{if(-1!=o){hs();const s=e();return gs(t),s}},hs=()=>(-1!=o&&o++,1==o&&Ge(Be,void 0,Bt,$t),fs),gs=e=>(o>0&&(o--,0==o&&(s=!ie(m),n=!ie(J),o=1,zt(1),s&&jt(1),Nt(1),n&&Pt(1),e?.(Bt,$t)&&(ue(m,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>Ee(fs,t,s,n,e))))))),ue(J,(([e],t)=>ke(fs,t,e))),s=n=!1),Ge($e[0],void 0,Bt,$t),o=-1,zt(0),s&&jt(0),Nt(0),n&&Pt(0),Ge($e[1],void 0,Bt,$t),o=0,s=n=!1,k([c,u,v,b,m,A,D,J,x],de))),fs),fs={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Ie(Le(X,y(e))),getTableCellIds:e=>fe(Le(U,y(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>Te(Le(Le(X,y(e)),y(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!ie(X),hasTable:e=>le(X,y(e)),hasTableCell:(e,t)=>le(Le(U,y(e)),y(t)),hasRow:(e,t)=>le(Le(X,y(e)),y(t)),hasCell:(e,t,s)=>le(Le(Le(X,y(e)),y(t)),y(s)),hasValues:()=>!ie(Y),hasValue:e=>le(Y,y(e)),getTablesJson:()=>O(X),getValuesJson:()=>O(Y),getJson:()=>O([X,Y]),getTablesSchemaJson:()=>O(z),getValuesSchemaJson:()=>O(P),getSchemaJson:()=>O([z,P]),setContent:([e,t])=>Wt((()=>{(oe(e)?os:es)(e),(oe(t)?is:ts)(t)})),setTables:es,setTable:(e,t)=>Wt((e=>nt(t,e)?ft(e,t):0),e),setRow:(e,t,s)=>Wt(((e,t)=>at(e,t,s)?Lt(e,Ct(e),t,s):0),e,t),addRow:(e,t,s=!0)=>us((()=>{let n;return at(e,n,t)&&(e=y(e),Lt(e,Ct(e),n=It(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Wt(((e,t)=>{if(at(e,t,s,1)){const n=Ct(e);ae(s,((s,a)=>vt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Wt(((e,t,s)=>G(ot(e,t,s,K(n)?n(Xt(e,t,s)):n),(n=>vt(e,Ct(e),t,s,n)))),e,t,s),setValues:ts,setPartialValues:e=>Wt((()=>rt(e,1)?ae(e,((e,t)=>Tt(t,e))):0)),setValue:(e,t)=>Wt((e=>G(lt(e,K(t)?t(_t(e)):t),(t=>Tt(e,t)))),e),setTransactionChanges:e=>Wt((()=>{ae(e[0],((e,t)=>q(e)?rs(t):ae(e,((e,s)=>q(e)?ls(t,s):ae(e,((e,n)=>Ee(fs,t,s,n,e))))))),ae(e[1],((e,t)=>ke(fs,t,e)))})),setTablesJson:ss,setValuesJson:e=>{try{St(j(e))}catch{}return fs},setJson:e=>{try{const[t,s]=j(e);ht(t),St(s)}catch{ss(e)}return fs},setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>Wt((()=>{ns(e),as(t)})),delTables:os,delTable:rs,delRow:ls,delCell:(e,t,s,n)=>Wt(((e,t,s)=>G(Le(X,e),(a=>G(Le(a,t),(o=>le(o,s)?bt(e,a,t,o,s,n):0))))),e,t,s),delValues:is,delValue:e=>Wt((e=>le(Y,e)?Vt(e):0),e),delTablesSchema:cs,delValuesSchema:ds,delSchema:()=>Wt((()=>{cs(),ds()})),transaction:us,startTransaction:hs,finishTransaction:gs,forEachTable:e=>ue(X,((t,s)=>e(s,(e=>ue(t,((t,s)=>e(s,(e=>we(t,e))))))))),forEachTableCell:(e,t)=>we(Le(U,y(e)),t),forEachRow:(e,t)=>ue(Le(X,y(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(Le(Le(X,y(e)),y(t)),s),forEachValue:e=>we(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=Kt(e,t,s,n,a);return qe((()=>{const r=Kt(e,t,s,n,a);V(r,l)||(l=r,o(fs,e,t,s,n,a,l))}),Ve[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>qe(e,Be),addWillFinishTransactionListener:e=>qe(e,$e[0]),addDidFinishTransactionListener:e=>qe(e,$e[1]),callListener:e=>(tt(e),fs),delListener:e=>(et(e),fs),getListenerStats:()=>({}),createStore:_e};return ae({[g]:[0,Z],[f]:[0,_],[h]:[1,te,[Gt]],[h+R]:[1,re,[Gt]],[w]:[1,ce,[Gt]],[L]:[2,Je,[Gt,Ht]],[R]:[2,Ae,[Gt,Ht]],[S]:[3,xe,[Gt,Ht,Ut],e=>He(Xt(...e))],InvalidCell:[3,Fe],[I]:[0,je],[C]:[0,Pe],[T]:[1,We,[Zt],e=>He(_t(e[0]))],InvalidValue:[1,Ne]},(([e,t,s,n],a)=>{fs[d+a+i]=(...a)=>qe(a[e],t[a[e+1]?1:0],e>0?F(a,0,e):void 0,s,n)})),ee(fs)};export{Ne as createCheckpoints,$e as createCustomPersister,je as createIndexes,Be as createMetrics,qe as createQueries,Ge as createRelationships,_e as createStore,Oe as defaultSorter};
|
|
1
|
+
const e=e=>typeof e,t="",s=e(t),n=e(!0),a=e(0),o=e(e),l="type",r="default",i="Listener",c="Result",d="add",u="Ids",h="Table",g=h+"s",f=h+u,L="Row",w=L+u,v="Sorted"+L+u,S="Cell",R=S+u,T="Value",I=T+"s",y=T+u,C=e=>t+e,p=(e,t)=>e.includes(t),b=(e,t)=>e.every(t),V=(e,t)=>J(e)===J(t)&&b(e,((e,s)=>t[s]===e)),m=(e,t)=>b(e,((s,n)=>0==n||t(e[n-1],s)<=0)),E=(e,t)=>e.sort(t),k=(e,t)=>e.forEach(t),M=(e,t)=>e.map(t),D=e=>x(e,((e,t)=>e+t),0),J=e=>e.length,A=e=>0==J(e),x=(e,t,s)=>e.reduce(t,s),F=(e,t,s)=>e.slice(t,s),Q=(e,...t)=>e.push(...t),z=e=>e.pop(),N=e=>e.shift(),O=e=>JSON.stringify(e,((e,t)=>$(t,Map)?x([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),j=JSON.parse,P=Math.max,W=Math.min,B=isFinite,$=(e,t)=>e instanceof t,q=e=>null==e,G=(e,t,s)=>q(e)?s?.():t(e),H=e=>e==s||e==n,K=t=>e(t)==o,U=e=>Array.isArray(e),X=()=>{},Y=Object,Z=Y.keys,_=Y.isFrozen,ee=Y.freeze,te=e=>$(e,Y)&&e.constructor==Y,se=(e,t)=>!q(((e,t)=>G(e,(e=>e[t])))(e,t)),ne=(e,t)=>(delete e[t],e),ae=(e,t)=>M(Y.entries(e),(([e,s])=>t(s,e))),oe=e=>te(e)&&0==(e=>J(Z(e)))(e),le=e=>e.size,re=(e,t)=>e?.has(t)??!1,ie=e=>q(e)||0==le(e),ce=e=>[...e?.values()??[]],de=e=>e.clear(),ue=(e,t)=>e?.forEach(t),he=(e,t)=>e?.delete(t),ge=e=>new Map(e),fe=e=>[...e?.keys()??[]],Le=(e,t)=>e?.get(t),we=(e,t)=>ue(e,((e,s)=>t(s,e))),ve=(e,t,s)=>q(s)?(he(e,t),e):e?.set(t,s),Se=(e,t,s)=>(re(e,t)||ve(e,t,s()),Le(e,t)),Re=(e,t,s,n=ve)=>(ae(t,((t,n)=>s(e,n,t))),we(e,(s=>se(t,s)?0:n(e,s))),e),Te=(e,t,s)=>{const n={};return ue(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},Ie=(e,t,s)=>Te(e,(e=>Te(e,t,s)),oe),ye=(e,t,s)=>Te(e,(e=>Ie(e,t,s)),oe),Ce=(e,t)=>{const s=ge();return ue(e,((e,n)=>s.set(n,t?.(e)??e))),s},pe=e=>Ce(e,Ce),be=e=>Ce(e,pe),Ve=(e,t,s,n,a=0)=>G((s?Se:Le)(e,t[a],a>J(t)-2?s:ge),(o=>{if(a>J(t)-2)return n?.(o)&&ve(e,t[a]),o;const l=Ve(o,t,s,n,a+1);return ie(o)&&ve(e,t[a]),l})),me=t=>{const s=e(t);return H(s)||s==a&&B(t)?s:void 0},Ee=(e,t,s,n,a)=>q(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),ke=(e,t,s)=>q(s)?e.delValue(t):e.setValue(t,s),Me=e=>new Set(U(e)||q(e)?e:[e]),De=(e,t)=>e?.add(t),Je=(e,t,s)=>{const n=e.hasRow,a=ge(),o=ge(),l=ge(),r=ge(),i=ge(),c=(t,s,...n)=>{const a=Se(i,t,Me);return k(n,(t=>De(a,t)&&s&&e.callListener(t))),n},d=(t,...s)=>G(Le(i,t),(n=>{k(A(s)?ce(n):s,(t=>{e.delListener(t),he(n,t)})),ie(n)&&ve(i,t)})),u=(e,s)=>{ve(a,e,s),re(o,e)||(ve(o,e,t()),ve(l,e,ge()),ve(r,e,ge()))},h=e=>{ve(a,e),ve(o,e),ve(l,e),ve(r,e),d(e)};return[()=>e,()=>fe(a),e=>we(o,e),e=>re(o,e),e=>Le(a,e),e=>Le(o,e),(e,t)=>ve(o,e,t),u,(t,a,o,i,h)=>{u(t,a);const g=ge(),f=ge(),L=Le(l,t),w=Le(r,t),v=t=>{const o=s=>e.getCell(a,t,s),l=Le(L,t),r=n(a,t)?s(i(o,t)):void 0;if(l===r||U(l)&&U(r)&&V(l,r)||ve(g,t,[l,r]),!q(h)){const e=Le(w,t),s=n(a,t)?h(o,t):void 0;e!=s&&ve(f,t,s)}},S=e=>{o((()=>{ue(g,(([,e],t)=>ve(L,t,e))),ue(f,((e,t)=>ve(w,t,e)))}),g,f,L,w,e),de(g),de(f)};we(L,v),e.hasTable(a)&&k(e.getRowIds(a),(e=>{re(L,e)||v(e)})),S(!0),d(t),c(t,0,e.addRowListener(a,null,((e,t,s)=>v(s))),e.addTableListener(a,(()=>S())))},h,()=>we(i,h),c,d]},Ae=(n,a)=>e(n)==s?e=>e(n):n??(()=>a??t),xe=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Fe=/^\d+$/,Qe=()=>{const e=[];let s=0;return[n=>(n?N(e):null)??t+s++,t=>{Fe.test(t)&&J(e)<1e3&&Q(e,t)}]},ze=e=>{let s;const[n,a]=Qe(),o=ge();return[(a,l,r,i=[],c=(()=>[]))=>{s??=e();const d=n(1);return ve(o,d,[a,l,r,i,c]),De(Ve(l,r??[t],Me),d),d},(e,n,...a)=>k(((e,s=[t])=>{const n=[],a=(e,t)=>t==J(s)?Q(n,e):null===s[t]?ue(e,(e=>a(e,t+1))):k([s[t],null],(s=>a(Le(e,s),t+1)));return a(e,0),n})(e,n),(e=>ue(e,(e=>Le(o,e)[0](s,...n??[],...a))))),e=>G(Le(o,e),(([,s,n])=>(Ve(s,n??[t],void 0,(t=>(he(t,e),ie(t)?1:0))),ve(o,e),a(e),n))),e=>G(Le(o,e),(([e,,t=[],n,a])=>{const o=(...l)=>{const r=J(l);r==J(t)?e(s,...l,...a(l)):q(t[r])?k(n[r]?.(...l)??[],(e=>o(...l,e))):o(...l,t[r])};o()}))]},Ne=xe((e=>{let s,n,a,o=100,l=ge(),r=ge(),i=1;const c=ge(),d=ge(),[u,h,g]=ze((()=>j)),f=ge(),L=ge(),w=[],v=[],S=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=Le(f,s);ue(n,((s,n)=>ue(s,((s,a)=>ue(s,((s,o)=>Ee(e,n,a,o,s[t]))))))),ue(a,((s,n)=>ke(e,n,s[t])))})),i=1},R=e=>{ve(f,e),ve(L,e),h(d,[e])},T=(e,t)=>k(((e,t)=>e.splice(0,t))(e,t??J(e)),R),I=()=>T(w,J(w)-o),y=()=>G(s,(()=>{Q(w,s),I(),T(v),s=void 0,a=1})),C=()=>{s=z(w),a=1},b=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){y();const e=Se(l,t,ge),r=Se(e,s,ge),i=Se(r,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&ie(ve(r,n))&&ie(ve(e,s))&&ie(ve(l,t))&&C(),D()}})),V=e.addValueListener(null,((e,t,s,n)=>{if(i){y();const e=Se(r,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ie(ve(r,t))&&C(),D()}})),m=(e="")=>(q(s)&&(s=t+n++,ve(f,s,[l,r]),F(s,e),l=ge(),r=ge(),a=1),s),E=()=>{A(w)||(((e,...t)=>{e.unshift(...t)})(v,m()),S(0,s),s=z(w),a=1)},M=()=>{A(v)||(Q(w,s),s=N(v),S(1,s),a=1)},D=()=>{a&&(h(c),a=0)},x=e=>{const t=m(e);return D(),t},F=(e,t)=>(O(e)&&Le(L,e)!==t&&(ve(L,e,t),h(d,[e])),j),O=e=>re(f,e),j={setSize:e=>(o=e,I(),j),addCheckpoint:x,setCheckpoint:F,getStore:()=>e,getCheckpointIds:()=>[[...w],s,[...v]],forEachCheckpoint:e=>we(L,e),hasCheckpoint:O,getCheckpoint:e=>Le(L,e),goBackward:()=>(E(),D(),j),goForward:()=>(M(),D(),j),goTo:e=>{const t=p(w,e)?E:p(v,e)?M:null;for(;!q(t)&&e!=s;)t();return D(),j},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),j),clear:()=>(T(w),T(v),q(s)||R(s),s=void 0,n=0,x(),j),destroy:()=>{e.delListener(b),e.delListener(V)},getListenerStats:()=>({})};return ee(j.clear())})),Oe=(e,t)=>e<t?-1:1,je=xe((e=>{const s=ge(),n=ge(),[a,o,l,r,i,c,d,,u,h,g]=Je(e,ge,(e=>q(e)?t:U(e)?M(e,C):C(e))),[f,L,w]=ze((()=>S)),v=(t,s,n)=>{const a=i(t);ue(n,((t,n)=>s(n,(s=>ue(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},S={setIndexDefinition:(e,t,a,o,l,r=Oe)=>{const i=q(l)?void 0:([e],[t])=>l(e,t);return u(e,t,((t,a,l,u,h,g)=>{let f=0;const w=Me(),v=Me(),S=c(e);if(ue(a,(([e,t],s)=>{const n=Me(e),a=Me(t);ue(n,(e=>he(a,e)?he(n,e):0)),ue(n,(e=>{De(w,e),G(Le(S,e),(t=>{he(t,s),ie(t)&&(ve(S,e),f=1)}))})),ue(a,(e=>{De(w,e),re(S,e)||(ve(S,e,Me()),f=1),De(Le(S,e),s),q(o)||De(v,e)}))})),t(),ie(h)||(g?we(S,(e=>De(v,e))):we(l,(e=>G(Le(u,e),(e=>De(v,e))))),ue(v,(e=>{const t=(t,s)=>r(Le(h,t),Le(h,s),e),s=[...Le(S,e)];m(s,t)||(ve(S,e,Me(E(s,t))),De(w,e))}))),(f||g)&&!q(i)){const t=[...S];m(t,i)||(d(e,ge(E(t,i))),f=1)}f&&L(s,[e]),ue(w,(t=>L(n,[e,t])))}),Ae(a),G(o,Ae)),S},delIndexDefinition:e=>(h(e),S),getStore:a,getIndexIds:o,forEachIndex:e=>l(((t,s)=>e(t,(e=>v(t,e,s))))),forEachSlice:(e,t)=>v(e,t,c(e)),hasIndex:r,hasSlice:(e,t)=>re(c(e),t),getTableId:i,getSliceIds:e=>fe(c(e)),getSliceRowIds:(e,t)=>ce(Le(c(e),t)),addSliceIdsListener:(e,t)=>f(t,s,[e]),addSliceRowIdsListener:(e,t,s)=>f(s,n,[e,t]),delListener:e=>(w(e),S),destroy:g,getListenerStats:()=>({})};return ee(S)})),Pe=ge([["avg",[(e,t)=>D(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>P(...e),(e,t)=>P(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:P(t,e)]],["min",[e=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:W(t,e)]],["sum",[e=>D(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),We=(e,t,s,n,a,o=!1)=>{if(ie(s))return;const[l,r,i,c]=a;return o||=q(e),ue(n,(([s,n])=>{o||(e=q(s)?r?.(e,n,t++):q(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=q(e))})),o?l(ce(s),le(s)):e},Be=xe((e=>{const s=ge(),[n,a,o,l,r,i,c,,d,u,h]=Je(e,X,(e=>isNaN(e)||q(e)||!0===e||!1===e||e===t?void 0:1*e)),[g,f,L]=ze((()=>w)),w={setMetricDefinition:(e,t,n,a,o,l,r)=>{const u=K(n)?[n,o,l,r]:Le(Pe,n)??Le(Pe,"sum");return d(e,t,((t,n,a,o,l,r)=>{const d=i(e),h=le(o);r||=q(d),t();let g=We(d,h,o,n,u,r);B(g)||(g=void 0),g!=d&&(c(e,g),f(s,[e],g,d))}),Ae(a,1)),w},delMetricDefinition:e=>(u(e),w),getStore:n,getMetricIds:a,forEachMetric:o,hasMetric:l,getTableId:r,getMetric:i,addMetricListener:(e,t)=>g(t,s,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return ee(w)})),$e=(e,t,s,n,a)=>{let o,l,r,i=0,c=0,d=0;const u=[],h=async e=>(2!=i&&(i=1,await g.schedule((async()=>{await e(),i=0}))),g),g={load:async(s,n)=>await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),startAutoLoad:async(s={},a={})=>(g.stopAutoLoad(),await g.load(s,a),d=1,r=n((async(s,n)=>await h((async()=>{if(n)e.setTransactionChanges(n());else try{e.setContent(s?.()??await t())}catch{}})))),g),stopAutoLoad:()=>(d&&(a(r),r=void 0,d=0),g),save:async t=>(1!=i&&(i=2,await g.schedule((async()=>{try{await s(e.getContent,t)}catch{}i=0}))),g),startAutoSave:async()=>(await g.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const[s,n]=t();oe(s)&&oe(n)||g.save((()=>[s,n]))})),g),stopAutoSave:()=>(G(o,e.delListener),g),schedule:async(...e)=>(Q(u,...e),await(async()=>{if(!c){for(c=1;!q(l=N(u));)try{await l()}catch{}c=0}})(),g),getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ee(g)},qe=xe((e=>{const s=e.createStore,[n,a,o,l,r,,,u,,g,f,T,I]=Je(e,(()=>!0),X),y=s(),C=s(),p=ge(),V=(e,t,...s)=>k(s,(s=>De(Se(Se(p,t,ge),e,Me),s))),m=e=>{G(Le(p,e),(e=>{we(e,((e,t)=>ue(t,(t=>e.delListener(t))))),de(e)})),k([C,y],(t=>t.delTable(e)))},E=(e,t,s)=>V(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),M={setQueryDefinition:(s,n,a)=>{u(s,n),m(s);const o=[],l=[[null,[n,null,null,[],ge()]]],r=[],i=[],c=[];a({select:(e,s)=>{const n=K(e)?[J(o)+t,e]:[q(s)?e:s,t=>t(e,s)];return Q(o,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=q(s)||K(t)?null:t,a=q(n)?t:s,o=[e,[e,n,K(a)?a:e=>e(a),[],ge()]];return Q(l,o),{as:e=>o[0]=e}},where:(e,t,s)=>Q(r,K(e)?e:q(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,K(t)?[t,s,n,a]:Le(Pe,t)??[(e,t)=>t]]];return Q(i,o),{as:e=>o[0]=e}},having:(e,t)=>Q(c,K(e)?e:s=>s(e)===t)});const d=ge(o);if(ie(d))return M;const h=ge(l);we(h,((e,[,t])=>G(Le(h,t),(({3:t})=>q(e)?0:Q(t,e)))));const g=ge(i);let f=y;if(ie(g)&&A(c))f=C;else{E(s,f,C);const e=ge();we(g,((t,[s,n])=>De(Se(e,s,Me),[t,n])));const t=Me();we(d,(s=>re(e,s)?0:De(t,s)));const n=ge(),a=(t,n,a,o)=>G(t,(([l,r,i,d])=>{we(n,((t,[s])=>{const n=Se(l,t,ge),r=Le(n,a),i=o?void 0:s;if(r!==i){const s=Me([[r,i]]),o=le(n);ve(n,a,i),ue(Le(e,t),(([e,t])=>{const a=We(d[e],o,n,s,t);d[e]=q(me(a))?null:a}))}})),ie(r)||!b(c,(e=>e((e=>d[e]))))?C.delRow(s,i):q(i)?t[2]=C.addRow(s,d):C.setRow(s,i,d)}));V(f,s,f.addRowListener(s,null,((o,l,r,i)=>{const c=[],d=[],u=ge(),h=f.hasRow(s,r);let g=!h;ue(t,(e=>{const[t,n,a]=i(s,r,e);Q(c,n),Q(d,a),g||=t})),we(e,(e=>{const[t,,n]=i(s,r,e);(g||t)&&ve(u,e,[n])})),g&&a(Ve(n,c,void 0,(([,e])=>(he(e,r),ie(e)))),u,r,1),h&&a(Ve(n,d,(()=>{const e={};return ue(t,(t=>e[t]=f.getCell(s,r,t))),[ge(),Me(),void 0,e]}),(([,e])=>{De(e,r)})),u,r)})))}E(s,e,f);const L=(t,a,o,l)=>{const i=t=>e.getCell(a,o,t);k(l,(n=>{const[a,,o,l,r]=Le(h,n),c=o?.(i,t),[d,u]=Le(r,t)??[];c!=d&&(q(u)||I(s,u),ve(r,t,q(c)?null:[c,...T(s,1,e.addRowListener(a,c,(()=>L(t,a,c,l))))]))})),(t=>{const a=(s,a)=>e.getCell(...q(a)?[n,t,s]:s===n?[n,t,a]:[Le(h,s)?.[0],Le(Le(h,s)?.[4],t)?.[0],a]);f.transaction((()=>b(r,(e=>e(a)))?we(d,((e,n)=>Ee(f,s,t,e,n(a,t)))):f.delRow(s,t)))})(t)},{3:w}=Le(h,null);return f.transaction((()=>T(s,1,e.addRowListener(n,null,((t,a,o)=>{e.hasRow(n,o)?L(o,n,o,w):(f.delRow(s,o),ue(h,(({4:e})=>G(Le(e,o),(([,t])=>{I(s,t),ve(e,o)})))))}))))),M},delQueryDefinition:e=>(m(e),g(e),M),getStore:n,getQueryIds:a,forEachQuery:o,hasQuery:l,getTableId:r,delListener:e=>(C.delListener(e),M),destroy:f,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=C.getListenerStats();return n}};return ae({[h]:[1,1],[w]:[0,1],[v]:[0,5],[L]:[1,2],[R]:[0,2],[S]:[1,3]},(([e,t],s)=>{k(e?["get","has","forEach"]:["get"],(e=>M[e+c+s]=(...t)=>C[e+s](...t))),M[d+c+s+i]=(...e)=>C[d+s+i](...F(e,0,t),((s,...n)=>e[t](M,...n)))})),ee(M)})),Ge=xe((e=>{const s=ge(),n=ge(),a=ge(),o=ge(),[l,r,i,c,d,u,,,h,g,f]=Je(e,(()=>[ge(),ge(),ge(),ge()]),(e=>q(e)?void 0:e+t)),[L,w,v]=ze((()=>I)),S=(e,t,s)=>G(u(e),(([n,,a])=>{if(!re(a,t)){const o=Me();if(d(e)!=T(e))De(o,t);else{let e=t;for(;!q(e)&&!re(o,e);)De(o,e),e=Le(n,e)}if(s)return o;ve(a,t,o)}return Le(a,t)})),R=(e,t)=>G(u(e),(([,,e])=>ve(e,t))),T=e=>Le(s,e),I={setRelationshipDefinition:(e,t,l,r)=>(ve(s,e,l),h(e,t,((t,s)=>{const l=Me(),r=Me(),i=Me(),[c,d]=u(e);ue(s,(([t,s],n)=>{q(t)||(De(r,t),G(Le(d,t),(e=>{he(e,n),ie(e)&&ve(d,t)}))),q(s)||(De(r,s),re(d,s)||ve(d,s,Me()),De(Le(d,s),n)),De(l,n),ve(c,n,s),we(Le(o,e),(t=>{re(S(e,t),n)&&De(i,t)}))})),t(),ue(l,(t=>w(n,[e,t]))),ue(r,(t=>w(a,[e,t]))),ue(i,(t=>{R(e,t),w(o,[e,t])}))}),Ae(r)),I),delRelationshipDefinition:e=>(ve(s,e),g(e),I),getStore:l,getRelationshipIds:r,forEachRelationship:t=>i((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:T,getRemoteRowId:(e,t)=>Le(u(e)?.[0],t),getLocalRowIds:(e,t)=>ce(Le(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>q(u(e))?[t]:ce(S(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>L(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(S(e,t),L(s,o,[e,t])),delListener:e=>(R(...v(e)),I),destroy:f,getListenerStats:()=>({})};return ee(I)})),He=e=>[e,e],Ke=()=>[ge(),ge()],Ue=e=>[...e],Xe=([e,t])=>e===t,Ye=(e,t,s)=>q(e)||!te(e)||oe(e)||_(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||ne(e,n)})),!oe(e)),Ze=(e,t,s)=>ve(e,t,Le(e,t)==-s?void 0:s),_e=()=>{let e,t,s=!1,n=!1,o=0;const c=ge(),u=ge(),v=ge(),b=ge(),m=ge(),D=ge(),J=ge(),A=ge(),x=ge(),z=ge(),N=ge(),P=ge(),W=ge(),B=Me(),$=ge(),U=ge(),X=ge(),Y=ge(),Z=Ke(),_=Ke(),te=Ke(),le=Ke(),ce=Ke(),Ve=Ke(),Je=Ke(),Ae=Ke(),xe=Ke(),Fe=Ke(),Ne=Ke(),je=Ke(),Pe=Ke(),We=Ke(),Be=ge(),$e=Ke(),[qe,Ge,et,tt]=ze((()=>fs)),st=e=>{if(!Ye(e,((e,t)=>p([l,r],t))))return!1;const t=e[l];return!(!H(t)&&t!=a||(me(e[r])!=t&&ne(e,r),0))},nt=(t,s)=>(!e||re(z,s)||At(s))&&Ye(t,((e,t)=>at(s,t,e)),(()=>At(s))),at=(e,t,s,n)=>Ye(n?s:it(s,e,t),((n,a)=>G(ot(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>At(e,t))),ot=(t,s,n,a)=>e?G(Le(Le(z,t),n),(e=>me(a)!=e[l]?At(t,s,n,a,e[r]):a),(()=>At(t,s,n,a))):q(me(a))?At(t,s,n,a):a,lt=(e,t)=>Ye(t?e:ct(e),((t,s)=>G(rt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>xt())),rt=(e,s)=>t?G(Le(P,e),(t=>me(s)!=t[l]?xt(e,s,t[r]):s),(()=>xt(e,s))):q(me(s))?xt(e,s):s,it=(e,t,s)=>(G(Le(N,t),(([n,a])=>{ue(n,((t,s)=>{se(e,s)||(e[s]=t)})),ue(a,(n=>{se(e,n)||At(t,s,n)}))})),e),ct=e=>(t&&(ue(W,((t,s)=>{se(e,s)||(e[s]=t)})),ue(B,(t=>{se(e,t)||xt(t)}))),e),dt=e=>Re(z,e,((e,t,s)=>{const n=ge(),a=Me();Re(Se(z,t,ge),s,((e,t,s)=>{ve(e,t,s),G(s[r],(e=>ve(n,t,e)),(()=>De(a,t)))})),ve(N,t,[n,a])}),((e,t)=>{ve(z,t),ve(N,t)})),ut=e=>Re(P,e,((e,t,s)=>{ve(P,t,s),G(s[r],(e=>ve(W,t,e)),(()=>De(B,t)))}),((e,t)=>{ve(P,t),ve(W,t),he(B,t)})),ht=e=>oe(e)?os():es(e),gt=e=>Re(X,e,((e,t,s)=>ft(t,s)),((e,t)=>Ct(t))),ft=(e,t)=>Re(Se(X,e,(()=>(mt(e,1),ve($,e,Qe()),ve(U,e,ge()),ge()))),t,((t,s,n)=>Lt(e,t,s,n)),((t,s)=>pt(e,t,s))),Lt=(e,t,s,n,a)=>Re(Se(t,s,(()=>(Et(e,s,1),ge()))),n,((t,n,a)=>wt(e,s,t,n,a)),((n,o)=>bt(e,t,s,n,o,a))),wt=(e,t,s,n,a)=>{re(s,n)||kt(e,t,n,1);const o=Le(s,n);a!==o&&(Mt(e,t,n,o,a),ve(s,n,a))},vt=(e,t,s,n,a)=>G(Le(t,s),(t=>wt(e,s,t,n,a)),(()=>Lt(e,t,s,it({[n]:a},e,s)))),St=e=>oe(e)?is():ts(e),Rt=e=>Re(Y,e,((e,t,s)=>Tt(t,s)),((e,t)=>Vt(t))),Tt=(e,t)=>{re(Y,e)||Dt(e,1);const s=Le(Y,e);t!==s&&(Jt(e,s,t),ve(Y,e,t))},It=(e,t)=>{const[s]=Le($,e),n=s(t);return re(Le(X,e),n)?It(e,t):n},yt=e=>Le(X,e)??ft(e,{}),Ct=e=>ft(e,{}),pt=(e,t,s)=>{const[,n]=Le($,e);n(s),Lt(e,t,s,{},!0)},bt=(e,t,s,n,a,o)=>{const l=Le(Le(N,e)?.[0],a);if(!q(l)&&!o)return wt(e,s,n,a,l);const r=t=>{Mt(e,s,t,Le(n,t)),kt(e,s,t,-1),ve(n,t)};q(l)?r(a):we(n,r),ie(n)&&(Et(e,s,-1),ie(ve(t,s))&&(mt(e,-1),ve(X,e),ve($,e),ve(U,e)))},Vt=e=>{const t=Le(W,e);if(!q(t))return Tt(e,t);Jt(e,Le(Y,e)),Dt(e,-1),ve(Y,e)},mt=(e,t)=>Ze(c,e,t),Et=(e,t,s)=>Ze(Se(v,e,ge),t,s),kt=(e,t,s,n)=>{const a=Le(U,e),o=Le(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Ze(Se(u,e,ge),s,n),ve(a,s,o!=-n?o+n:null),Ze(Se(Se(b,e,ge),t,ge),s,n)},Mt=(e,t,s,n,a)=>Se(Se(Se(m,e,ge),t,ge),s,(()=>[n,0]))[1]=a,Dt=(e,t)=>Ze(D,e,t),Jt=(e,t,s)=>Se(J,e,(()=>[t,0]))[1]=s,At=(e,t,s,n,a)=>(Q(Se(Se(Se(A,e,ge),t,ge),s,(()=>[])),n),a),xt=(e,t,s)=>(Q(Se(x,e,(()=>[])),t),s),Ft=(e,t,s)=>G(Le(Le(Le(m,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...He(Xt(e,t,s))])),Qt=e=>G(Le(J,e),(([e,t])=>[!0,e,t]),(()=>[!1,...He(_t(e))])),zt=e=>ie(A)||ie(Fe[e])?0:ue(e?be(A):A,((t,s)=>ue(t,((t,n)=>ue(t,((t,a)=>Ge(Fe[e],[s,n,a],t))))))),Nt=e=>ie(x)||ie(Ne[e])?0:ue(e?Ce(x):x,((t,s)=>Ge(Ne[e],[s],t))),Ot=(e,t,s)=>{if(!ie(t))return Ge(e,s,(()=>Te(t))),1},jt=e=>{const t=ie(Ve[e]),s=ie(Ae[e])&&ie(le[e])&&ie(ce[e])&&t&&ie(_[e]),n=ie(xe[e])&&ie(Je[e])&&ie(te[e])&&ie(Z[e]);if(!s||!n){const a=e?[Ce(c),pe(u),pe(v),be(b),be(m)]:[c,u,v,b,m];if(!s){Ot(_[e],a[0]),ue(a[1],((t,s)=>Ot(le[e],t,[s])));const s=Me();ue(a[2],((n,a)=>{Ot(ce[e],n,[a])&&!t&&(Ge(Ve[e],[a,null]),De(s,a))})),t||ue(a[4],((t,n)=>{if(!re(s,n)){const s=Me();ue(t,(e=>ue(e,(([t,n],a)=>n!==t?De(s,a):he(e,a))))),ue(s,(t=>Ge(Ve[e],[n,t])))}})),ue(a[3],((t,s)=>ue(t,((t,n)=>Ot(Ae[e],t,[s,n])))))}if(!n){let t;ue(a[4],((s,n)=>{let a;ue(s,((s,o)=>{let l;ue(s,(([s,r],i)=>{r!==s&&(Ge(xe[e],[n,o,i],r,s,Ft),t=a=l=1)})),l&&Ge(Je[e],[n,o],Ft)})),a&&Ge(te[e],[n],Ft)})),t&&Ge(Z[e],void 0,Ft)}}},Pt=e=>{const t=ie(Pe[e]),s=ie(We[e])&&ie(je[e]);if(!t||!s){const n=e?[Ce(D),Ce(J)]:[D,J];if(t||Ot(Pe[e],n[0]),!s){let t;ue(n[1],(([s,n],a)=>{n!==s&&(Ge(We[e],[a],n,s,Qt),t=1)})),t&&Ge(je[e],void 0,Qt)}}},Wt=(e,...t)=>(us((()=>e(...M(t,C)))),fs),Bt=()=>[Te(m,((e,t)=>-1===Le(c,t)?null:Te(e,((e,s)=>-1===Le(Le(v,t),s)?null:Te(e,(([,e])=>e??null),((e,t)=>Xe(t)))),oe)),oe),Te(J,(([,e])=>e??null),((e,t)=>Xe(t)))],$t=()=>({cellsTouched:s,valuesTouched:n,changedCells:ye(m,Ue,Xe),invalidCells:ye(A),changedValues:Te(J,Ue,Xe),invalidValues:Te(x),changedTableIds:Te(c),changedRowIds:Ie(v),changedCellIds:ye(b),changedValueIds:Te(D)}),qt=()=>ye(X),Gt=()=>fe(X),Ht=e=>fe(Le(X,C(e))),Kt=(e,t,s,n=0,a)=>{return M(F(E((o=Le(X,C(e)),l=(e,s)=>[q(t)?s:Le(e,C(t)),s],M([...o?.entries()??[]],(([e,t])=>l(t,e)))),(([e],[t])=>Oe(e,t)*(s?-1:1))),n,q(a)?a:n+a),(([,e])=>e));var o,l},Ut=(e,t)=>fe(Le(Le(X,C(e)),C(t))),Xt=(e,t,s)=>Le(Le(Le(X,C(e)),C(t)),C(s)),Yt=()=>Te(Y),Zt=()=>fe(Y),_t=e=>Le(Y,C(e)),es=e=>Wt((()=>(e=>Ye(e,nt,At))(e)?gt(e):0)),ts=e=>Wt((()=>lt(e)?Rt(e):0)),ss=e=>{try{ht(j(e))}catch{}return fs},ns=t=>Wt((()=>{if((e=Ye(t,(e=>Ye(e,st))))&&(dt(t),!ie(X))){const e=qt();os(),es(e)}})),as=e=>Wt((()=>{if(t=(e=>Ye(e,st))(e)){const s=Yt();ds(),is(),t=!0,ut(e),ts(s)}})),os=()=>Wt((()=>gt({}))),ls=e=>Wt((e=>re(X,e)?Ct(e):0),e),rs=(e,t)=>Wt(((e,t)=>G(Le(X,e),(s=>re(s,t)?pt(e,s,t):0))),e,t),is=()=>Wt((()=>Rt({}))),cs=()=>Wt((()=>{dt({}),e=!1})),ds=()=>Wt((()=>{ut({}),t=!1})),us=(e,t)=>{if(-1!=o){hs();const s=e();return gs(t),s}},hs=()=>(-1!=o&&o++,1==o&&Ge(Be,void 0,Bt,$t),fs),gs=e=>(o>0&&(o--,0==o&&(s=!ie(m),n=!ie(J),o=1,zt(1),s&&jt(1),Nt(1),n&&Pt(1),e?.(Bt,$t)&&(ue(m,((e,t)=>ue(e,((e,s)=>ue(e,(([e],n)=>Ee(fs,t,s,n,e))))))),ue(J,(([e],t)=>ke(fs,t,e))),s=n=!1),Ge($e[0],void 0,Bt,$t),o=-1,zt(0),s&&jt(0),Nt(0),n&&Pt(0),Ge($e[1],void 0,Bt,$t),o=0,s=n=!1,k([c,u,v,b,m,A,D,J,x],de))),fs),fs={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>Ie(Le(X,C(e))),getTableCellIds:e=>fe(Le(U,C(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>Te(Le(Le(X,C(e)),C(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!ie(X),hasTable:e=>re(X,C(e)),hasTableCell:(e,t)=>re(Le(U,C(e)),C(t)),hasRow:(e,t)=>re(Le(X,C(e)),C(t)),hasCell:(e,t,s)=>re(Le(Le(X,C(e)),C(t)),C(s)),hasValues:()=>!ie(Y),hasValue:e=>re(Y,C(e)),getTablesJson:()=>O(X),getValuesJson:()=>O(Y),getJson:()=>O([X,Y]),getTablesSchemaJson:()=>O(z),getValuesSchemaJson:()=>O(P),getSchemaJson:()=>O([z,P]),setContent:([e,t])=>Wt((()=>{(oe(e)?os:es)(e),(oe(t)?is:ts)(t)})),setTables:es,setTable:(e,t)=>Wt((e=>nt(t,e)?ft(e,t):0),e),setRow:(e,t,s)=>Wt(((e,t)=>at(e,t,s)?Lt(e,yt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>us((()=>{let n;return at(e,n,t)&&(e=C(e),Lt(e,yt(e),n=It(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Wt(((e,t)=>{if(at(e,t,s,1)){const n=yt(e);ae(s,((s,a)=>vt(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Wt(((e,t,s)=>G(ot(e,t,s,K(n)?n(Xt(e,t,s)):n),(n=>vt(e,yt(e),t,s,n)))),e,t,s),setValues:ts,setPartialValues:e=>Wt((()=>lt(e,1)?ae(e,((e,t)=>Tt(t,e))):0)),setValue:(e,t)=>Wt((e=>G(rt(e,K(t)?t(_t(e)):t),(t=>Tt(e,t)))),e),setTransactionChanges:e=>Wt((()=>{ae(e[0],((e,t)=>q(e)?ls(t):ae(e,((e,s)=>q(e)?rs(t,s):ae(e,((e,n)=>Ee(fs,t,s,n,e))))))),ae(e[1],((e,t)=>ke(fs,t,e)))})),setTablesJson:ss,setValuesJson:e=>{try{St(j(e))}catch{}return fs},setJson:e=>{try{const[t,s]=j(e);ht(t),St(s)}catch{ss(e)}return fs},setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>Wt((()=>{ns(e),as(t)})),delTables:os,delTable:ls,delRow:rs,delCell:(e,t,s,n)=>Wt(((e,t,s)=>G(Le(X,e),(a=>G(Le(a,t),(o=>re(o,s)?bt(e,a,t,o,s,n):0))))),e,t,s),delValues:is,delValue:e=>Wt((e=>re(Y,e)?Vt(e):0),e),delTablesSchema:cs,delValuesSchema:ds,delSchema:()=>Wt((()=>{cs(),ds()})),transaction:us,startTransaction:hs,finishTransaction:gs,forEachTable:e=>ue(X,((t,s)=>e(s,(e=>ue(t,((t,s)=>e(s,(e=>we(t,e))))))))),forEachTableCell:(e,t)=>we(Le(U,C(e)),t),forEachRow:(e,t)=>ue(Le(X,C(e)),((e,s)=>t(s,(t=>we(e,t))))),forEachCell:(e,t,s)=>we(Le(Le(X,C(e)),C(t)),s),forEachValue:e=>we(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,l)=>{let r=Kt(e,t,s,n,a);return qe((()=>{const l=Kt(e,t,s,n,a);V(l,r)||(r=l,o(fs,e,t,s,n,a,r))}),Ve[l?1:0],[e,t],[Gt])},addStartTransactionListener:e=>qe(e,Be),addWillFinishTransactionListener:e=>qe(e,$e[0]),addDidFinishTransactionListener:e=>qe(e,$e[1]),callListener:e=>(tt(e),fs),delListener:e=>(et(e),fs),getListenerStats:()=>({}),createStore:_e};return ae({[g]:[0,Z],[f]:[0,_],[h]:[1,te,[Gt]],[h+R]:[1,le,[Gt]],[w]:[1,ce,[Gt]],[L]:[2,Je,[Gt,Ht]],[R]:[2,Ae,[Gt,Ht]],[S]:[3,xe,[Gt,Ht,Ut],e=>He(Xt(...e))],InvalidCell:[3,Fe],[I]:[0,je],[y]:[0,Pe],[T]:[1,We,[Zt],e=>He(_t(e[0]))],InvalidValue:[1,Ne]},(([e,t,s,n],a)=>{fs[d+a+i]=(...a)=>qe(a[e],t[a[e+1]?1:0],e>0?F(a,0,e):void 0,s,n)})),ee(fs)};export{Ne as createCheckpoints,$e as createCustomPersister,je as createIndexes,Be as createMetrics,qe as createQueries,Ge as createRelationships,_e as createStore,Oe as defaultSorter};
|
package/lib/tinybase.js.gz
CHANGED
|
Binary file
|
|
@@ -49,6 +49,8 @@ import {Store} from '../store';
|
|
|
49
49
|
* const persister = createCrSqliteWasmPersister(store, db, 'my_tinybase');
|
|
50
50
|
*
|
|
51
51
|
* await persister.save();
|
|
52
|
+
* // Store will be saved to the database.
|
|
53
|
+
*
|
|
52
54
|
* console.log(await db.execO('SELECT * FROM my_tinybase;'));
|
|
53
55
|
* // -> [{_id: '_', store: '[{"pets":{"fido":{"species":"dog"}}},{}]'}]
|
|
54
56
|
*
|
|
@@ -55,6 +55,8 @@ import {Store} from '../store';
|
|
|
55
55
|
* );
|
|
56
56
|
*
|
|
57
57
|
* await persister.save();
|
|
58
|
+
* // Store will be saved to the database.
|
|
59
|
+
*
|
|
58
60
|
* console.log(db.exec('SELECT * FROM my_tinybase;', {rowMode: 'object'}));
|
|
59
61
|
* // -> [{_id: '_', store: '[{"pets":{"fido":{"species":"dog"}}},{}]'}]
|
|
60
62
|
*
|
|
@@ -48,6 +48,8 @@ import {Store} from '../store';
|
|
|
48
48
|
* const persister = createSqlite3Persister(store, db, 'my_tinybase');
|
|
49
49
|
*
|
|
50
50
|
* await persister.save();
|
|
51
|
+
* // Store will be saved to the database.
|
|
52
|
+
*
|
|
51
53
|
* console.log(
|
|
52
54
|
* await new Promise((resolve) =>
|
|
53
55
|
* db.all('SELECT * FROM my_tinybase;', (_, rows) => resolve(rows)),
|
|
@@ -59,6 +59,8 @@ import {DB} from '@vlcn.io/crsqlite-wasm';
|
|
|
59
59
|
* const persister = createCrSqliteWasmPersister(store, db, 'my_tinybase');
|
|
60
60
|
*
|
|
61
61
|
* await persister.save();
|
|
62
|
+
* // Store will be saved to the database.
|
|
63
|
+
*
|
|
62
64
|
* console.log(await db.execO('SELECT * FROM my_tinybase;'));
|
|
63
65
|
* // -> [{_id: '_', store: '[{"pets":{"fido":{"species":"dog"}}},{}]'}]
|
|
64
66
|
*
|
|
@@ -66,6 +66,8 @@ import {OptionalSchemas, Store} from '../store';
|
|
|
66
66
|
* );
|
|
67
67
|
*
|
|
68
68
|
* await persister.save();
|
|
69
|
+
* // Store will be saved to the database.
|
|
70
|
+
*
|
|
69
71
|
* console.log(db.exec('SELECT * FROM my_tinybase;', {rowMode: 'object'}));
|
|
70
72
|
* // -> [{_id: '_', store: '[{"pets":{"fido":{"species":"dog"}}},{}]'}]
|
|
71
73
|
*
|
|
@@ -58,6 +58,8 @@ import {Database} from 'sqlite3';
|
|
|
58
58
|
* const persister = createSqlite3Persister(store, db, 'my_tinybase');
|
|
59
59
|
*
|
|
60
60
|
* await persister.save();
|
|
61
|
+
* // Store will be saved to the database.
|
|
62
|
+
*
|
|
61
63
|
* console.log(
|
|
62
64
|
* await new Promise((resolve) =>
|
|
63
65
|
* db.all('SELECT * FROM my_tinybase;', (_, rows) => resolve(rows)),
|