tinybase 4.0.0-beta.0 → 4.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/persister-browser.cjs +1 -0
- package/lib/cjs/persister-browser.cjs.gz +0 -0
- package/lib/cjs/persister-file.cjs +1 -0
- package/lib/cjs/persister-file.cjs.gz +0 -0
- package/lib/cjs/persister-remote.cjs +1 -0
- package/lib/cjs/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persister-yjs.cjs +1 -1
- package/lib/cjs/persister-yjs.cjs.gz +0 -0
- package/lib/cjs/persisters.cjs +1 -1
- package/lib/cjs/persisters.cjs.gz +0 -0
- package/lib/cjs/store.cjs +1 -1
- package/lib/cjs/store.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/persister-browser.cjs +1 -0
- package/lib/cjs-es6/persister-browser.cjs.gz +0 -0
- package/lib/cjs-es6/persister-file.cjs +1 -0
- package/lib/cjs-es6/persister-file.cjs.gz +0 -0
- package/lib/cjs-es6/persister-remote.cjs +1 -0
- package/lib/cjs-es6/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persister-yjs.cjs +1 -1
- package/lib/cjs-es6/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/store.cjs +1 -1
- package/lib/cjs-es6/store.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/debug/persister-browser.js +148 -0
- package/lib/debug/persister-file.js +140 -0
- package/lib/debug/persister-remote.js +156 -0
- package/lib/debug/persister-yjs.js +30 -21
- package/lib/debug/persisters.js +24 -117
- package/lib/debug/store.js +36 -21
- package/lib/debug/tinybase.js +59 -135
- package/lib/es6/persister-browser.js +1 -0
- package/lib/es6/persister-browser.js.gz +0 -0
- package/lib/es6/persister-file.js +1 -0
- package/lib/es6/persister-file.js.gz +0 -0
- package/lib/es6/persister-remote.js +1 -0
- package/lib/es6/persister-remote.js.gz +0 -0
- package/lib/es6/persister-yjs.js +1 -1
- package/lib/es6/persister-yjs.js.gz +0 -0
- package/lib/es6/persisters.js +1 -1
- package/lib/es6/persisters.js.gz +0 -0
- package/lib/es6/store.js +1 -1
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/persister-browser.js +1 -0
- package/lib/persister-browser.js.gz +0 -0
- package/lib/persister-file.js +1 -0
- package/lib/persister-file.js.gz +0 -0
- package/lib/persister-remote.js +1 -0
- package/lib/persister-remote.js.gz +0 -0
- package/lib/persister-yjs.js +1 -1
- package/lib/persister-yjs.js.gz +0 -0
- package/lib/persisters.js +1 -1
- package/lib/persisters.js.gz +0 -0
- package/lib/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/types/persister-browser.d.ts +85 -0
- package/lib/types/persister-file.d.ts +41 -0
- package/lib/types/persister-remote.d.ts +60 -0
- package/lib/types/persisters.d.ts +40 -173
- package/lib/types/store.d.ts +117 -11
- package/lib/types/with-schemas/persister-browser.d.ts +103 -0
- package/lib/types/with-schemas/persister-file.d.ts +50 -0
- package/lib/types/with-schemas/persister-remote.d.ts +71 -0
- package/lib/types/with-schemas/persisters.d.ts +49 -214
- package/lib/types/with-schemas/store.d.ts +136 -11
- package/lib/umd/persister-browser.js +1 -0
- package/lib/umd/persister-browser.js.gz +0 -0
- package/lib/umd/persister-file.js +1 -0
- package/lib/umd/persister-file.js.gz +0 -0
- package/lib/umd/persister-remote.js +1 -0
- package/lib/umd/persister-remote.js.gz +0 -0
- package/lib/umd/persister-yjs.js +1 -1
- package/lib/umd/persister-yjs.js.gz +0 -0
- package/lib/umd/persisters.js +1 -1
- package/lib/umd/persisters.js.gz +0 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd-es6/persister-browser.js +1 -0
- package/lib/umd-es6/persister-browser.js.gz +0 -0
- package/lib/umd-es6/persister-file.js +1 -0
- package/lib/umd-es6/persister-file.js.gz +0 -0
- package/lib/umd-es6/persister-remote.js +1 -0
- package/lib/umd-es6/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persister-yjs.js +1 -1
- package/lib/umd-es6/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/store.js +1 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/package.json +9 -9
- package/readme.md +2 -2
package/lib/es6/persisters.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const t=t=>null==t,e=Object.freeze;var o=(t,e,o)=>new Promise(((n,r)=>{var a=t=>{try{u(o.next(t))}catch(t){r(t)}},s=t=>{try{u(o.throw(t))}catch(t){r(t)}},u=t=>t.done?n(t.value):Promise.resolve(t.value).then(a,s);u((o=o.apply(t,e)).next())}));const n=(n,r,a,s,u)=>{let l,i,d=0,v=!1;const c={load:(e,a)=>o(void 0,null,(function*(){if(2!=d){d=1;const o=yield r();t(o)||""==o?n.setContent([e,a]):n.setJson(o),d=0}return c})),startAutoLoad:(e,r)=>o(void 0,null,(function*(){return c.stopAutoLoad(),yield c.load(e,r),v=!0,i=s((e=>o(void 0,null,(function*(){t(e)?yield c.load():2!=d&&(d=1,n.setContent(e),d=0)})))),c})),stopAutoLoad:()=>(v&&(u(i),i=void 0,v=!1),c),save:()=>o(void 0,null,(function*(){return 1!=d&&(d=2,yield a(n.getContent),d=0),c})),startAutoSave:()=>o(void 0,null,(function*(){return yield c.stopAutoSave().save(),l=n.addDidFinishTransactionListener(c.save),c})),stopAutoSave:()=>{var e,o;return e=l,o=n.delListener,!!t(e)||o(e),c},getStore:()=>n,destroy:()=>c.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(c)};export{n as createCustomPersister};
|
package/lib/es6/persisters.js.gz
CHANGED
|
Binary file
|
package/lib/es6/store.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,l=e(""),t=e(!0),n=e(0),s=e(e),r=e=>""+e,a=(e,l)=>e.forEach(l),o=(e,l)=>e.map(l),u=e=>e.length,i=(e,l,t)=>e.slice(l,t),d=(e,...l)=>e.push(...l),c=e=>JSON.stringify(e,((e,l)=>{return h(l,Map)?(t=(e,[l,t])=>(e[l]=t,e),n={},[...l].reduce(t,n)):l;var t,n})),v=JSON.parse,f=isFinite,h=(e,l)=>e instanceof l,T=e=>null==e,V=(e,l,t)=>T(e)?null==t?void 0:t():l(e),g=e=>e==l||e==t,b=l=>e(l)==s,S=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},w=e=>T(e)||0==(e=>e.size)(e),y=e=>e.clear(),I=(e,l)=>null==e?void 0:e.forEach(l),R=(e,l)=>null==e?void 0:e.delete(l),p=e=>new Map(e),C=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},J=(e,l)=>null==e?void 0:e.get(l),m=(e,l)=>I(e,((e,t)=>l(t,e))),L=(e,l,t)=>T(t)?(R(e,l),e):null==e?void 0:e.set(l,t),E=(e,l,t)=>(S(e,l)||L(e,l,t()),J(e,l)),F=(e,l,t)=>{const n={},s=null!=l?l:e=>e;return I(e,((e,l)=>V(s(e),(e=>(null==t?void 0:t(e))?0:n[l]=e)))),n},z=(e,l)=>{const t=p(),n=null!=l?l:e=>e;return I(e,((e,l)=>t.set(l,n(e)))),t},O=e=>z(e,z),k=(e,l,t,n,s=0)=>V((t?E:J)(e,l[s],s>u(l)-2?t:p),(r=>{if(s>u(l)-2)return(null==n?void 0:n(r))&&L(e,l[s]),r;const a=k(r,l,t,n,s+1);return w(r)&&L(e,l[s]),a})),A=e=>new Set(Array.isArray(e)||T(e)?e:[e]),M=(e,l)=>null==e?void 0:e.add(l),N=/^\d+$/,P=()=>{const e=[];let l=0;return[t=>{var n;return null!=(n=t?e.shift():null)?n:""+l++},l=>{N.test(l)&&u(e)<1e3&&d(e,l)}]},j=Object,x=j.keys,D=j.isFrozen,W=j.freeze,$=e=>h(e,j)&&e.constructor==j,q=(e,l)=>!T(((e,l)=>V(e,(e=>e[l])))(e,l)),B=(e,l)=>delete e[l],G=(e,l)=>o(j.entries(e),(([e,t])=>l(t,e))),H=e=>{return $(e)&&(l=x(e),0==u(l));var l},K=e=>[e,e],Q=()=>[p(),p()],U=l=>{const t=e(l);return g(t)||t==n&&f(l)?t:void 0},X=(e,l,t,n=L)=>{const s=(r=e=>!q(l,e),C(e).filter(r));var r;return a(x(l),(n=>t(e,n,l[n]))),a(s,(l=>n(e,l))),e},Y=(e,l,t)=>T(e)||!$(e)||H(e)||D(e)?(null==t||t(),!1):(G(e,((t,n)=>{l(t,n)||B(e,n)})),!H(e)),Z=(e,l,t)=>L(e,l,J(e,l)==-t?void 0:t),_=()=>{let e,l,t,s,f=0;const h=p(),N=p(),j=p(),x=p(),D=p(),$=p(),ee=p(),le=p(),te=p(),ne=p(),se=p(),re=p(),ae=A(),oe=p(),ue=p(),ie=p(),de=Q(),ce=Q(),ve=Q(),fe=Q(),he=Q(),Te=Q(),Ve=Q(),ge=Q(),be=Q(),Se=Q(),we=Q(),ye=Q(),Ie=Q(),Re=Q(),[pe,Ce,Je,me]=(e=>{let l;const[t,n]=P(),s=p();return[(e,n,r,a=[],o=(()=>[]))=>{null!=l||(l=Nl);const u=t(1);return L(s,u,[e,n,r,a,o]),M(k(n,null!=r?r:[""],A),u),u},(e,t,...n)=>a(((e,l=[""])=>{const t=[],n=(e,s)=>s==u(l)?d(t,e):null===l[s]?I(e,(e=>n(e,s+1))):a([l[s],null],(l=>n(J(e,l),s+1)));return n(e,0),t})(e,t),(e=>I(e,(e=>J(s,e)[0](l,...null!=t?t:[],...n))))),e=>V(J(s,e),(([,l,t])=>(k(l,null!=t?t:[""],void 0,(l=>(R(l,e),w(l)?1:0))),L(s,e),n(e),t))),e=>V(J(s,e),(([e,,t=[],n,s])=>{const r=(...o)=>{var i,d;const c=u(o);c==u(t)?e(l,...o,...s(o)):T(t[c])?a(null!=(d=null==(i=n[c])?void 0:i.call(n,...o))?d:[],(e=>r(...o,e))):r(...o,t[c])};r()}))]})(),Le=e=>{if(!Y(e,((e,l)=>["type","default"].includes(l))))return!1;const l=e.type;return!(!g(l)&&l!=n||(U(e.default)!=l&&B(e,"default"),0))},Ee=(l,t)=>(!e||S(te,t)||rl(t))&&Y(l,((e,l)=>Fe(t,l,e)),(()=>rl(t))),Fe=(e,l,t,n)=>Y(n?t:Ae(t,e,l),((n,s)=>V(ze(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>rl(e,l))),ze=(l,t,n,s)=>e?V(J(J(te,l),n),(e=>U(s)!=e.type?rl(l,t,n,s,e.default):s),(()=>rl(l,t,n,s))):T(U(s))?rl(l,t,n,s):s,Oe=(e,l)=>Y(l?e:Me(e),((l,t)=>V(ke(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>al())),ke=(e,t)=>l?V(J(se,e),(l=>U(t)!=l.type?al(e,t,l.default):t),(()=>al(e,t))):T(U(t))?al(e,t):t,Ae=(e,l,t)=>(V(J(ne,l),(([n,s])=>{I(n,((l,t)=>{q(e,t)||(e[t]=l)})),I(s,(n=>{q(e,n)||rl(l,t,n)}))})),e),Me=e=>(l&&(I(re,((l,t)=>{q(e,t)||(e[t]=l)})),I(ae,(l=>{q(e,l)||al(l)}))),e),Ne=e=>X(te,e,((e,l,t)=>{const n=p(),s=A();X(E(te,l,p),t,((e,l,t)=>{L(e,l,t),V(t.default,(e=>L(n,l,e)),(()=>M(s,l)))})),L(ne,l,[n,s])}),((e,l)=>{L(te,l),L(ne,l)})),Pe=e=>X(se,e,((e,l,t)=>{L(se,l,t),V(t.default,(e=>L(re,l,e)),(()=>M(ae,l)))}),((e,l)=>{L(se,l),L(re,l),R(ae,l)})),je=e=>H(e)?El():pl(e),xe=e=>X(ue,e,((e,l,t)=>De(l,t)),((e,l)=>Ue(l))),De=(e,l)=>X(E(ue,e,(()=>(_e(e,1),p()))),l,((l,t,n)=>We(e,l,t,n)),((l,t)=>Xe(e,l,t))),We=(e,l,t,n,s)=>X(E(l,t,(()=>(el(e,t,1),p()))),n,((l,n,s)=>$e(e,t,l,n,s)),((n,r)=>Ye(e,l,t,n,r,s))),$e=(e,l,t,n,s)=>{S(t,n)||ll(e,l,n,1);const r=J(t,n);s!==r&&(tl(e,l,n,r,s),L(t,n,s))},qe=(e,l,t,n,s)=>V(J(l,t),(l=>$e(e,t,l,n,s)),(()=>We(e,l,t,Ae({[n]:s},e,t)))),Be=e=>H(e)?Fl():Cl(e),Ge=e=>X(ie,e,((e,l,t)=>He(l,t)),((e,l)=>Ze(l))),He=(e,l)=>{S(ie,e)||nl(e,1);const t=J(ie,e);l!==t&&(sl(e,t,l),L(ie,e,l))},Ke=(e,l)=>{const[t]=E(oe,e,P),n=t(l);return S(J(ue,e),n)?Ke(e,l):n},Qe=e=>{var l;return null!=(l=J(ue,e))?l:De(e,{})},Ue=e=>De(e,{}),Xe=(e,l,t)=>{const[,n]=E(oe,e,P);n(t),We(e,l,t,{},!0)},Ye=(e,l,t,n,s,r)=>{var a;const o=J(null==(a=J(ne,e))?void 0:a[0],s);if(!T(o)&&!r)return $e(e,t,n,s,o);const u=l=>{tl(e,t,l,J(n,l)),ll(e,t,l,-1),L(n,l)};T(o)?u(s):m(n,u),w(n)&&(el(e,t,-1),w(L(l,t))&&(_e(e,-1),L(ue,e),L(oe,e)))},Ze=e=>{const l=J(re,e);if(!T(l))return He(e,l);sl(e,J(ie,e)),nl(e,-1),L(ie,e)},_e=(e,l)=>Z(h,e,l),el=(e,l,t)=>Z(E(N,e,p),l,t),ll=(e,l,t,n)=>Z(E(E(j,e,p),l,p),t,n),tl=(e,l,t,n,s)=>E(E(E(x,e,p),l,p),t,(()=>[n,0]))[1]=s,nl=(e,l)=>Z(D,e,l),sl=(e,l,t)=>E($,e,(()=>[l,0]))[1]=t,rl=(e,l,t,n,s)=>(d(E(E(E(ee,e,p),l,p),t,(()=>[])),n),s),al=(e,l,t)=>(d(E(le,e,(()=>[])),l),t),ol=(e,l,t)=>V(J(J(J(x,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...K(wl(e,l,t))])),ul=e=>V(J($,e),(([e,l])=>[!0,e,l]),(()=>[!1,...K(Rl(e))])),il=e=>w(ee)||w(be[e])?0:I(e?z(ee,O):ee,((l,t)=>I(l,((l,n)=>I(l,((l,s)=>Ce(be[e],[t,n,s],l))))))),dl=e=>w(le)||w(Se[e])?0:I(e?z(le):le,((l,t)=>Ce(Se[e],[t],l))),cl=(e,l,t)=>{if(!w(l))return Ce(e,t),1},vl=e=>{const l=w(he[e]),t=w(Ve[e])&&w(fe[e])&&l&&w(ce[e]),n=w(ge[e])&&w(Te[e])&&w(ve[e])&&w(de[e]);if(!t||!n){const s=e?[z(h),O(N),z(j,O),z(x,O)]:[h,N,j,x];if(!t){I(s[2],((l,t)=>I(l,((l,n)=>cl(Ve[e],l,[t,n])))));const t=A();I(s[1],((n,s)=>{cl(fe[e],n,[s])&&!l&&(Ce(he[e],[s,null]),M(t,s))})),l||I(s[3],((l,n)=>{if(!S(t,n)){const t=A();I(l,(e=>I(e,(([l,n],s)=>n!==l?M(t,s):R(e,s))))),I(t,(l=>Ce(he[e],[n,l])))}})),cl(ce[e],s[0])}if(!n){let l;I(s[3],((t,n)=>{let s;I(t,((t,r)=>{let a;I(t,(([t,o],u)=>{o!==t&&(Ce(ge[e],[n,r,u],o,t,ol),l=s=a=1)})),a&&Ce(Te[e],[n,r],ol)})),s&&Ce(ve[e],[n],ol)})),l&&Ce(de[e],void 0,ol)}}},fl=e=>{const l=w(ye[e]),t=w(Ie[e])&&w(we[e]);if(!l||!t){const n=e?[z(D),z($)]:[D,$];if(l||cl(ye[e],n[0]),!t){let l;I(n[1],(([t,n],s)=>{n!==t&&(Ce(Ie[e],[s],n,t,ul),l=1)})),l&&Ce(we[e],void 0,ul)}}},hl=(e,...l)=>(kl((()=>e(...o(l,r)))),Nl),Tl=()=>F(ue,(e=>F(e,F))),Vl=()=>C(ue),gl=e=>C(J(ue,r(e))),bl=(e,l,t,n=0,s)=>{return o(i((u=J(ue,r(e)),d=(e,t)=>[T(l)?t:J(e,r(l)),t],a=([e],[l])=>(e<l?-1:1)*(t?-1:1),o([...null!=(c=null==u?void 0:u.entries())?c:[]],(([e,l])=>d(l,e))).sort(a)),n,T(s)?s:n+s),(([,e])=>e));var a,u,d,c},Sl=(e,l)=>C(J(J(ue,r(e)),r(l))),wl=(e,l,t)=>J(J(J(ue,r(e)),r(l)),r(t)),yl=()=>F(ie),Il=()=>C(ie),Rl=e=>J(ie,r(e)),pl=e=>hl((()=>(e=>Y(e,Ee,rl))(e)?xe(e):0)),Cl=e=>hl((()=>Oe(e)?Ge(e):0)),Jl=e=>{try{je(v(e))}catch(e){}return Nl},ml=l=>hl((()=>{if((e=Y(l,(e=>Y(e,Le))))&&(Ne(l),!w(ue))){const e=Tl();El(),pl(e)}})),Ll=e=>hl((()=>{if(l=(e=>Y(e,Le))(e)){const t=yl();Ol(),Fl(),l=!0,Pe(e),Cl(t)}})),El=()=>hl((()=>xe({}))),Fl=()=>hl((()=>Ge({}))),zl=()=>hl((()=>{Ne({}),e=!1})),Ol=()=>hl((()=>{Pe({}),l=!1})),kl=(e,l)=>{if(-1==f)return;Al();const t=e();return Ml(l),t},Al=()=>(f++,Nl),Ml=e=>(f>0&&(f--,0==f&&(t=!w(x),s=!w($),f=1,il(1),t&&vl(1),dl(1),s&&fl(1),f=-1,(null==e?void 0:e(F(x,(e=>F(e,(e=>F(e,(e=>[...e]),(([e,l])=>e===l))),H)),H),F(ee,(e=>F(e,F))),F($,(e=>[...e]),(([e,l])=>e===l)),F(le)))&&(f=1,I(x,((e,l)=>I(e,((e,t)=>I(e,(([e],n)=>((e,l,t,n,s)=>T(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s))(Nl,l,t,n,e))))))),I($,(([e],l)=>((e,l,t)=>T(t)?e.delValue(l):e.setValue(l,t))(Nl,l,e))),f=-1,t=s=!1),Ce(Re[0],void 0,t,s),il(0),t&&vl(0),dl(0),s&&fl(0),Ce(Re[1],void 0,t,s),f=0,a([h,N,j,x,ee,D,$,le],y))),Nl),Nl={getTables:Tl,getTableIds:Vl,getTable:e=>F(J(ue,r(e)),F),getRowIds:gl,getSortedRowIds:bl,getRow:(e,l)=>F(J(J(ue,r(e)),r(l))),getCellIds:Sl,getCell:wl,getValues:yl,getValueIds:Il,getValue:Rl,hasTables:()=>!w(ue),hasTable:e=>S(ue,r(e)),hasRow:(e,l)=>S(J(ue,r(e)),r(l)),hasCell:(e,l,t)=>S(J(J(ue,r(e)),r(l)),r(t)),hasValues:()=>!w(ie),hasValue:e=>S(ie,r(e)),getTablesJson:()=>c(ue),getValuesJson:()=>c(ie),getJson:()=>c([ue,ie]),getTablesSchemaJson:()=>c(te),getValuesSchemaJson:()=>c(se),getSchemaJson:()=>c([te,se]),setTables:pl,setTable:(e,l)=>hl((e=>Ee(l,e)?De(e,l):0),e),setRow:(e,l,t)=>hl(((e,l)=>Fe(e,l,t)?We(e,Qe(e),l,t):0),e,l),addRow:(e,l,t=!0)=>kl((()=>{let n;return Fe(e,n,l)&&(e=r(e),We(e,Qe(e),n=Ke(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>hl(((e,l)=>{if(Fe(e,l,t,1)){const n=Qe(e);G(t,((t,s)=>qe(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>hl(((e,l,t)=>V(ze(e,l,t,b(n)?n(wl(e,l,t)):n),(n=>qe(e,Qe(e),l,t,n)))),e,l,t),setValues:Cl,setPartialValues:e=>hl((()=>Oe(e,1)?G(e,((e,l)=>He(l,e))):0)),setValue:(e,l)=>hl((e=>V(ke(e,b(l)?l(Rl(e)):l),(l=>He(e,l)))),e),setTablesJson:Jl,setValuesJson:e=>{try{Be(v(e))}catch(e){}return Nl},setJson:e=>{try{const[l,t]=v(e);je(l),Be(t)}catch(l){Jl(e)}return Nl},setTablesSchema:ml,setValuesSchema:Ll,setSchema:(e,l)=>hl((()=>{ml(e),Ll(l)})),delTables:El,delTable:e=>hl((e=>S(ue,e)?Ue(e):0),e),delRow:(e,l)=>hl(((e,l)=>V(J(ue,e),(t=>S(t,l)?Xe(e,t,l):0))),e,l),delCell:(e,l,t,n)=>hl(((e,l,t)=>V(J(ue,e),(s=>V(J(s,l),(r=>S(r,t)?Ye(e,s,l,r,t,n):0))))),e,l,t),delValues:Fl,delValue:e=>hl((e=>S(ie,e)?Ze(e):0),e),delTablesSchema:zl,delValuesSchema:Ol,delSchema:()=>hl((()=>{zl(),Ol()})),transaction:kl,startTransaction:Al,finishTransaction:Ml,forEachTable:e=>I(ue,((l,t)=>e(t,(e=>I(l,((l,t)=>e(t,(e=>m(l,e))))))))),forEachRow:(e,l)=>I(J(ue,r(e)),((e,t)=>l(t,(l=>m(e,l))))),forEachCell:(e,l,t)=>m(J(J(ue,r(e)),r(l)),t),forEachValue:e=>m(ie,e),addSortedRowIdsListener:(e,l,t,n,s,r,a)=>{let o=bl(e,l,t,n,s);return pe((()=>{const a=bl(e,l,t,n,s);var i,d,c;d=o,u(i=a)===u(d)&&(c=(e,l)=>d[l]===e,i.every(c))||(o=a,r(Nl,e,l,t,n,s,o))}),he[a?1:0],[e,l],[Vl])},addWillFinishTransactionListener:e=>pe(e,Re[0]),addDidFinishTransactionListener:e=>pe(e,Re[1]),callListener:e=>(me(e),Nl),delListener:e=>(Je(e),Nl),getListenerStats:()=>({}),createStore:_};return G({Tables:[0,de],TableIds:[0,ce],Table:[1,ve,[Vl]],RowIds:[1,fe,[Vl]],Row:[2,Te,[Vl,gl]],CellIds:[2,Ve,[Vl,gl]],Cell:[3,ge,[Vl,gl,Sl],e=>K(wl(...e))],InvalidCell:[3,be],Values:[0,we],ValueIds:[0,ye],Value:[1,Ie,[Il],e=>K(Rl(e[0]))],InvalidValue:[1,Se]},(([e,l,t,n],s)=>{Nl["add"+s+"Listener"]=(...s)=>pe(s[e],l[s[e+1]?1:0],e>0?i(s,0,e):void 0,t,n)})),W(Nl)};export{_ as createStore};
|
|
1
|
+
const e=e=>typeof e,t=e(""),l=e(!0),n=e(0),s=e(e),r=e=>""+e,a=(e,t)=>e.forEach(t),o=(e,t)=>e.map(t),u=e=>e.length,i=(e,t,l)=>e.slice(t,l),d=(e,...t)=>e.push(...t),c=e=>JSON.stringify(e,((e,t)=>{return h(t,Map)?(l=(e,[t,l])=>(e[t]=l,e),n={},[...t].reduce(l,n)):t;var l,n})),f=JSON.parse,v=isFinite,h=(e,t)=>e instanceof t,g=e=>null==e,T=(e,t,l)=>g(e)?null==l?void 0:l():t(e),V=e=>e==t||e==l,b=t=>e(t)==s,S=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},w=e=>g(e)||0==(e=>e.size)(e),y=e=>e.clear(),C=(e,t)=>null==e?void 0:e.forEach(t),I=(e,t)=>null==e?void 0:e.delete(t),R=e=>new Map(e),p=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},J=(e,t)=>null==e?void 0:e.get(t),m=(e,t)=>C(e,((e,l)=>t(l,e))),L=(e,t,l)=>g(l)?(I(e,t),e):null==e?void 0:e.set(t,l),E=(e,t,l)=>(S(e,t)||L(e,t,l()),J(e,t)),F=(e,t,l)=>{const n={},s=null!=t?t:e=>e;return C(e,((e,t)=>T(s(e),(e=>(null==l?void 0:l(e))?0:n[t]=e)))),n},z=(e,t)=>{const l=R(),n=null!=t?t:e=>e;return C(e,((e,t)=>l.set(t,n(e)))),l},O=e=>z(e,z),k=(e,t,l,n,s=0)=>T((l?E:J)(e,t[s],s>u(t)-2?l:R),(r=>{if(s>u(t)-2)return(null==n?void 0:n(r))&&L(e,t[s]),r;const a=k(r,t,l,n,s+1);return w(r)&&L(e,t[s]),a})),A=e=>new Set(Array.isArray(e)||g(e)?e:[e]),M=(e,t)=>null==e?void 0:e.add(t),N=/^\d+$/,P=()=>{const e=[];let t=0;return[l=>{var n;return null!=(n=l?e.shift():null)?n:""+t++},t=>{N.test(t)&&u(e)<1e3&&d(e,t)}]},j=Object,x=j.keys,D=j.isFrozen,W=j.freeze,$=e=>h(e,j)&&e.constructor==j,q=(e,t)=>!g(((e,t)=>T(e,(e=>e[t])))(e,t)),B=(e,t)=>delete e[t],G=(e,t)=>o(j.entries(e),(([e,l])=>t(l,e))),H=e=>{return $(e)&&(t=x(e),0==u(t));var t},K=e=>[e,e],Q=()=>[R(),R()],U=t=>{const l=e(t);return V(l)||l==n&&v(t)?l:void 0},X=(e,t,l,n=L)=>{const s=(r=e=>!q(t,e),p(e).filter(r));var r;return a(x(t),(n=>l(e,n,t[n]))),a(s,(t=>n(e,t))),e},Y=(e,t,l)=>g(e)||!$(e)||H(e)||D(e)?(null==l||l(),!1):(G(e,((l,n)=>{t(l,n)||B(e,n)})),!H(e)),Z=(e,t,l)=>L(e,t,J(e,t)==-l?void 0:l),_=()=>{let e,t,l,s,v=0;const h=R(),N=R(),j=R(),x=R(),D=R(),$=R(),ee=R(),te=R(),le=R(),ne=R(),se=R(),re=R(),ae=A(),oe=R(),ue=R(),ie=R(),de=Q(),ce=Q(),fe=Q(),ve=Q(),he=Q(),ge=Q(),Te=Q(),Ve=Q(),be=Q(),Se=Q(),we=Q(),ye=Q(),Ce=Q(),Ie=Q(),[Re,pe,Je,me]=(e=>{let t;const[l,n]=P(),s=R();return[(e,n,r,a=[],o=(()=>[]))=>{null!=t||(t=Nt);const u=l(1);return L(s,u,[e,n,r,a,o]),M(k(n,null!=r?r:[""],A),u),u},(e,l,...n)=>a(((e,t=[""])=>{const l=[],n=(e,s)=>s==u(t)?d(l,e):null===t[s]?C(e,(e=>n(e,s+1))):a([t[s],null],(t=>n(J(e,t),s+1)));return n(e,0),l})(e,l),(e=>C(e,(e=>J(s,e)[0](t,...null!=l?l:[],...n))))),e=>T(J(s,e),(([,t,l])=>(k(t,null!=l?l:[""],void 0,(t=>(I(t,e),w(t)?1:0))),L(s,e),n(e),l))),e=>T(J(s,e),(([e,,l=[],n,s])=>{const r=(...o)=>{var i,d;const c=u(o);c==u(l)?e(t,...o,...s(o)):g(l[c])?a(null!=(d=null==(i=n[c])?void 0:i.call(n,...o))?d:[],(e=>r(...o,e))):r(...o,l[c])};r()}))]})(),Le=e=>{if(!Y(e,((e,t)=>["type","default"].includes(t))))return!1;const t=e.type;return!(!V(t)&&t!=n||(U(e.default)!=t&&B(e,"default"),0))},Ee=(t,l)=>(!e||S(le,l)||rt(l))&&Y(t,((e,t)=>Fe(l,t,e)),(()=>rt(l))),Fe=(e,t,l,n)=>Y(n?l:Ae(l,e,t),((n,s)=>T(ze(e,t,s,n),(e=>(l[s]=e,!0)),(()=>!1))),(()=>rt(e,t))),ze=(t,l,n,s)=>e?T(J(J(le,t),n),(e=>U(s)!=e.type?rt(t,l,n,s,e.default):s),(()=>rt(t,l,n,s))):g(U(s))?rt(t,l,n,s):s,Oe=(e,t)=>Y(t?e:Me(e),((t,l)=>T(ke(l,t),(t=>(e[l]=t,!0)),(()=>!1))),(()=>at())),ke=(e,l)=>t?T(J(se,e),(t=>U(l)!=t.type?at(e,l,t.default):l),(()=>at(e,l))):g(U(l))?at(e,l):l,Ae=(e,t,l)=>(T(J(ne,t),(([n,s])=>{C(n,((t,l)=>{q(e,l)||(e[l]=t)})),C(s,(n=>{q(e,n)||rt(t,l,n)}))})),e),Me=e=>(t&&(C(re,((t,l)=>{q(e,l)||(e[l]=t)})),C(ae,(t=>{q(e,t)||at(t)}))),e),Ne=e=>X(le,e,((e,t,l)=>{const n=R(),s=A();X(E(le,t,R),l,((e,t,l)=>{L(e,t,l),T(l.default,(e=>L(n,t,e)),(()=>M(s,t)))})),L(ne,t,[n,s])}),((e,t)=>{L(le,t),L(ne,t)})),Pe=e=>X(se,e,((e,t,l)=>{L(se,t,l),T(l.default,(e=>L(re,t,e)),(()=>M(ae,t)))}),((e,t)=>{L(se,t),L(re,t),I(ae,t)})),je=e=>H(e)?Et():Rt(e),xe=e=>X(ue,e,((e,t,l)=>De(t,l)),((e,t)=>Ue(t))),De=(e,t)=>X(E(ue,e,(()=>(_e(e,1),R()))),t,((t,l,n)=>We(e,t,l,n)),((t,l)=>Xe(e,t,l))),We=(e,t,l,n,s)=>X(E(t,l,(()=>(et(e,l,1),R()))),n,((t,n,s)=>$e(e,l,t,n,s)),((n,r)=>Ye(e,t,l,n,r,s))),$e=(e,t,l,n,s)=>{S(l,n)||tt(e,t,n,1);const r=J(l,n);s!==r&&(lt(e,t,n,r,s),L(l,n,s))},qe=(e,t,l,n,s)=>T(J(t,l),(t=>$e(e,l,t,n,s)),(()=>We(e,t,l,Ae({[n]:s},e,l)))),Be=e=>H(e)?Ft():pt(e),Ge=e=>X(ie,e,((e,t,l)=>He(t,l)),((e,t)=>Ze(t))),He=(e,t)=>{S(ie,e)||nt(e,1);const l=J(ie,e);t!==l&&(st(e,l,t),L(ie,e,t))},Ke=(e,t)=>{const[l]=E(oe,e,P),n=l(t);return S(J(ue,e),n)?Ke(e,t):n},Qe=e=>{var t;return null!=(t=J(ue,e))?t:De(e,{})},Ue=e=>De(e,{}),Xe=(e,t,l)=>{const[,n]=E(oe,e,P);n(l),We(e,t,l,{},!0)},Ye=(e,t,l,n,s,r)=>{var a;const o=J(null==(a=J(ne,e))?void 0:a[0],s);if(!g(o)&&!r)return $e(e,l,n,s,o);const u=t=>{lt(e,l,t,J(n,t)),tt(e,l,t,-1),L(n,t)};g(o)?u(s):m(n,u),w(n)&&(et(e,l,-1),w(L(t,l))&&(_e(e,-1),L(ue,e),L(oe,e)))},Ze=e=>{const t=J(re,e);if(!g(t))return He(e,t);st(e,J(ie,e)),nt(e,-1),L(ie,e)},_e=(e,t)=>Z(h,e,t),et=(e,t,l)=>Z(E(N,e,R),t,l),tt=(e,t,l,n)=>Z(E(E(j,e,R),t,R),l,n),lt=(e,t,l,n,s)=>E(E(E(x,e,R),t,R),l,(()=>[n,0]))[1]=s,nt=(e,t)=>Z(D,e,t),st=(e,t,l)=>E($,e,(()=>[t,0]))[1]=l,rt=(e,t,l,n,s)=>(d(E(E(E(ee,e,R),t,R),l,(()=>[])),n),s),at=(e,t,l)=>(d(E(te,e,(()=>[])),t),l),ot=(e,t,l)=>T(J(J(J(x,e),t),l),(([e,t])=>[!0,e,t]),(()=>[!1,...K(wt(e,t,l))])),ut=e=>T(J($,e),(([e,t])=>[!0,e,t]),(()=>[!1,...K(It(e))])),it=e=>w(ee)||w(be[e])?0:C(e?z(ee,O):ee,((t,l)=>C(t,((t,n)=>C(t,((t,s)=>pe(be[e],[l,n,s],t))))))),dt=e=>w(te)||w(Se[e])?0:C(e?z(te):te,((t,l)=>pe(Se[e],[l],t))),ct=(e,t,l)=>{if(!w(t))return pe(e,l),1},ft=e=>{const t=w(he[e]),l=w(Te[e])&&w(ve[e])&&t&&w(ce[e]),n=w(Ve[e])&&w(ge[e])&&w(fe[e])&&w(de[e]);if(!l||!n){const s=e?[z(h),O(N),z(j,O),z(x,O)]:[h,N,j,x];if(!l){C(s[2],((t,l)=>C(t,((t,n)=>ct(Te[e],t,[l,n])))));const l=A();C(s[1],((n,s)=>{ct(ve[e],n,[s])&&!t&&(pe(he[e],[s,null]),M(l,s))})),t||C(s[3],((t,n)=>{if(!S(l,n)){const l=A();C(t,(e=>C(e,(([t,n],s)=>n!==t?M(l,s):I(e,s))))),C(l,(t=>pe(he[e],[n,t])))}})),ct(ce[e],s[0])}if(!n){let t;C(s[3],((l,n)=>{let s;C(l,((l,r)=>{let a;C(l,(([l,o],u)=>{o!==l&&(pe(Ve[e],[n,r,u],o,l,ot),t=s=a=1)})),a&&pe(ge[e],[n,r],ot)})),s&&pe(fe[e],[n],ot)})),t&&pe(de[e],void 0,ot)}}},vt=e=>{const t=w(ye[e]),l=w(Ce[e])&&w(we[e]);if(!t||!l){const n=e?[z(D),z($)]:[D,$];if(t||ct(ye[e],n[0]),!l){let t;C(n[1],(([l,n],s)=>{n!==l&&(pe(Ce[e],[s],n,l,ut),t=1)})),t&&pe(we[e],void 0,ut)}}},ht=(e,...t)=>(kt((()=>e(...o(t,r)))),Nt),gt=()=>F(ue,(e=>F(e,F))),Tt=()=>p(ue),Vt=e=>p(J(ue,r(e))),bt=(e,t,l,n=0,s)=>{return o(i((u=J(ue,r(e)),d=(e,l)=>[g(t)?l:J(e,r(t)),l],a=([e],[t])=>(e<t?-1:1)*(l?-1:1),o([...null!=(c=null==u?void 0:u.entries())?c:[]],(([e,t])=>d(t,e))).sort(a)),n,g(s)?s:n+s),(([,e])=>e));var a,u,d,c},St=(e,t)=>p(J(J(ue,r(e)),r(t))),wt=(e,t,l)=>J(J(J(ue,r(e)),r(t)),r(l)),yt=()=>F(ie),Ct=()=>p(ie),It=e=>J(ie,r(e)),Rt=e=>ht((()=>(e=>Y(e,Ee,rt))(e)?xe(e):0)),pt=e=>ht((()=>Oe(e)?Ge(e):0)),Jt=e=>{try{je(f(e))}catch(e){}return Nt},mt=t=>ht((()=>{if((e=Y(t,(e=>Y(e,Le))))&&(Ne(t),!w(ue))){const e=gt();Et(),Rt(e)}})),Lt=e=>ht((()=>{if(t=(e=>Y(e,Le))(e)){const l=yt();Ot(),Ft(),t=!0,Pe(e),pt(l)}})),Et=()=>ht((()=>xe({}))),Ft=()=>ht((()=>Ge({}))),zt=()=>ht((()=>{Ne({}),e=!1})),Ot=()=>ht((()=>{Pe({}),t=!1})),kt=(e,t)=>{if(-1==v)return;At();const l=e();return Mt(t),l},At=()=>(v++,Nt),Mt=e=>{if(v>0&&(v--,0==v)){l=!w(x),s=!w($),v=1,it(1),l&&ft(1),dt(1),s&&vt(1),v=-1;let t=!e&&w(Ie[0])&&w(Ie[1])?[{},{},{},{}]:[F(x,(e=>F(e,(e=>F(e,(e=>[...e]),(([e,t])=>e===t))),H)),H),F(ee,(e=>F(e,F))),F($,(e=>[...e]),(([e,t])=>e===t)),F(te)];(null==e?void 0:e(...t))&&(v=1,C(x,((e,t)=>C(e,((e,l)=>C(e,(([e],n)=>((e,t,l,n,s)=>g(s)?e.delCell(t,l,n,!0):e.setCell(t,l,n,s))(Nt,t,l,n,e))))))),C($,(([e],t)=>((e,t,l)=>g(l)?e.delValue(t):e.setValue(t,l))(Nt,t,e))),v=-1,l=s=!1,t=[{},{},{},{}]),pe(Ie[0],void 0,l,s,...t),it(0),l&&ft(0),dt(0),s&&vt(0),pe(Ie[1],void 0,l,s,...t),v=0,a([h,N,j,x,ee,D,$,te],y)}return Nt},Nt={getContent:()=>[gt(),yt()],getTables:gt,getTableIds:Tt,getTable:e=>F(J(ue,r(e)),F),getRowIds:Vt,getSortedRowIds:bt,getRow:(e,t)=>F(J(J(ue,r(e)),r(t))),getCellIds:St,getCell:wt,getValues:yt,getValueIds:Ct,getValue:It,hasTables:()=>!w(ue),hasTable:e=>S(ue,r(e)),hasRow:(e,t)=>S(J(ue,r(e)),r(t)),hasCell:(e,t,l)=>S(J(J(ue,r(e)),r(t)),r(l)),hasValues:()=>!w(ie),hasValue:e=>S(ie,r(e)),getTablesJson:()=>c(ue),getValuesJson:()=>c(ie),getJson:()=>c([ue,ie]),getTablesSchemaJson:()=>c(le),getValuesSchemaJson:()=>c(se),getSchemaJson:()=>c([le,se]),setContent:([e,t])=>ht((()=>{Rt(e),pt(t)})),setTables:Rt,setTable:(e,t)=>ht((e=>Ee(t,e)?De(e,t):0),e),setRow:(e,t,l)=>ht(((e,t)=>Fe(e,t,l)?We(e,Qe(e),t,l):0),e,t),addRow:(e,t,l=!0)=>kt((()=>{let n;return Fe(e,n,t)&&(e=r(e),We(e,Qe(e),n=Ke(e,l?1:0),t)),n})),setPartialRow:(e,t,l)=>ht(((e,t)=>{if(Fe(e,t,l,1)){const n=Qe(e);G(l,((l,s)=>qe(e,n,t,s,l)))}}),e,t),setCell:(e,t,l,n)=>ht(((e,t,l)=>T(ze(e,t,l,b(n)?n(wt(e,t,l)):n),(n=>qe(e,Qe(e),t,l,n)))),e,t,l),setValues:pt,setPartialValues:e=>ht((()=>Oe(e,1)?G(e,((e,t)=>He(t,e))):0)),setValue:(e,t)=>ht((e=>T(ke(e,b(t)?t(It(e)):t),(t=>He(e,t)))),e),setTablesJson:Jt,setValuesJson:e=>{try{Be(f(e))}catch(e){}return Nt},setJson:e=>{try{const[t,l]=f(e);je(t),Be(l)}catch(t){Jt(e)}return Nt},setTablesSchema:mt,setValuesSchema:Lt,setSchema:(e,t)=>ht((()=>{mt(e),Lt(t)})),delTables:Et,delTable:e=>ht((e=>S(ue,e)?Ue(e):0),e),delRow:(e,t)=>ht(((e,t)=>T(J(ue,e),(l=>S(l,t)?Xe(e,l,t):0))),e,t),delCell:(e,t,l,n)=>ht(((e,t,l)=>T(J(ue,e),(s=>T(J(s,t),(r=>S(r,l)?Ye(e,s,t,r,l,n):0))))),e,t,l),delValues:Ft,delValue:e=>ht((e=>S(ie,e)?Ze(e):0),e),delTablesSchema:zt,delValuesSchema:Ot,delSchema:()=>ht((()=>{zt(),Ot()})),transaction:kt,startTransaction:At,finishTransaction:Mt,forEachTable:e=>C(ue,((t,l)=>e(l,(e=>C(t,((t,l)=>e(l,(e=>m(t,e))))))))),forEachRow:(e,t)=>C(J(ue,r(e)),((e,l)=>t(l,(t=>m(e,t))))),forEachCell:(e,t,l)=>m(J(J(ue,r(e)),r(t)),l),forEachValue:e=>m(ie,e),addSortedRowIdsListener:(e,t,l,n,s,r,a)=>{let o=bt(e,t,l,n,s);return Re((()=>{const a=bt(e,t,l,n,s);var i,d,c;d=o,u(i=a)===u(d)&&(c=(e,t)=>d[t]===e,i.every(c))||(o=a,r(Nt,e,t,l,n,s,o))}),he[a?1:0],[e,t],[Tt])},addWillFinishTransactionListener:e=>Re(e,Ie[0]),addDidFinishTransactionListener:e=>Re(e,Ie[1]),callListener:e=>(me(e),Nt),delListener:e=>(Je(e),Nt),getListenerStats:()=>({}),createStore:_};return G({Tables:[0,de],TableIds:[0,ce],Table:[1,fe,[Tt]],RowIds:[1,ve,[Tt]],Row:[2,ge,[Tt,Vt]],CellIds:[2,Te,[Tt,Vt]],Cell:[3,Ve,[Tt,Vt,St],e=>K(wt(...e))],InvalidCell:[3,be],Values:[0,we],ValueIds:[0,ye],Value:[1,Ce,[Ct],e=>K(It(e[0]))],InvalidValue:[1,Se]},(([e,t,l,n],s)=>{Nt["add"+s+"Listener"]=(...s)=>Re(s[e],t[s[e+1]?1:0],e>0?i(s,0,e):void 0,l,n)})),W(Nt)};export{_ as createStore};
|
package/lib/es6/store.js.gz
CHANGED
|
Binary file
|
package/lib/es6/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{watch as e,promises as t}from"fs";const n=e=>typeof e,l=n(""),o=n(!0),s=n(0),r=n(n),a=e=>""+e,i=(e,t)=>e.includes(t),d=(e,t)=>e.every(t),u=(e,t)=>L(e)===L(t)&&d(e,((e,n)=>t[n]===e)),c=(e,t)=>d(e,((n,l)=>0==l||t(e[l-1],n)<=0)),v=(e,t)=>e.sort(t),h=(e,t)=>e.forEach(t),f=(e,t)=>e.map(t),g=e=>w(e,((e,t)=>e+t),0),L=e=>e.length,y=e=>0==L(e),w=(e,t,n)=>e.reduce(t,n),p=(e,t,n)=>e.slice(t,n),I=(e,...t)=>e.push(...t),R=e=>e.pop(),S=e=>e.shift(),T=e=>JSON.stringify(e,((e,t)=>E(t,Map)?w([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),b=JSON.parse,m=Math.max,C=Math.min,V=isFinite,E=(e,t)=>e instanceof t,x=e=>null==e,k=(e,t,n)=>x(e)?null==n?void 0:n():t(e),J=e=>e==l||e==o,P=e=>n(e)==r,A=e=>Array.isArray(e),M=()=>{},D=e=>e.size,O=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},F=e=>x(e)||0==D(e),j=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},Q=e=>e.clear(),z=(e,t)=>null==e?void 0:e.forEach(t),N=(e,t)=>null==e?void 0:e.delete(t),W=e=>new Map(e),B=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},H=(e,t)=>null==e?void 0:e.get(t),$=(e,t)=>z(e,((e,n)=>t(n,e))),q=(e,t,n)=>x(n)?(N(e,t),e):null==e?void 0:e.set(t,n),G=(e,t,n)=>(O(e,t)||q(e,t,n()),H(e,t)),K=(e,t,n)=>{const l={},o=null!=t?t:e=>e;return z(e,((e,t)=>k(o(e),(e=>(null==n?void 0:n(e))?0:l[t]=e)))),l},U=(e,t)=>{const n=W(),l=null!=t?t:e=>e;return z(e,((e,t)=>n.set(t,l(e)))),n},X=e=>U(e,U),Y=(e,t,n,l,o=0)=>k((n?G:H)(e,t[o],o>L(t)-2?n:W),(s=>{if(o>L(t)-2)return(null==l?void 0:l(s))&&q(e,t[o]),s;const r=Y(s,t,n,l,o+1);return F(s)&&q(e,t[o]),r})),Z=e=>{const t=n(e);return J(t)||t==s&&V(e)?t:void 0},_=(e,t,n,l,o)=>x(o)?e.delCell(t,n,l,!0):e.setCell(t,n,l,o),ee=(e,t,n)=>x(n)?e.delValue(t):e.setValue(t,n),te=e=>new Set(A(e)||x(e)?e:[e]),ne=(e,t)=>null==e?void 0:e.add(t),le=(e,t,n)=>{const l=e.hasRow,o=W(),s=W(),r=W(),a=W(),i=W(),d=(t,n,...l)=>{const o=G(i,t,te);return h(l,(t=>ne(o,t)&&n&&e.callListener(t))),l},c=(t,...n)=>k(H(i,t),(l=>{h(y(n)?j(l):n,(t=>{e.delListener(t),N(l,t)})),F(l)&&q(i,t)})),v=(e,n)=>{q(o,e,n),O(s,e)||(q(s,e,t()),q(r,e,W()),q(a,e,W()))},f=e=>{q(o,e),q(s,e),q(r,e),q(a,e),c(e)};return[()=>e,()=>B(o),e=>$(s,e),e=>O(s,e),e=>H(o,e),e=>H(s,e),(e,t)=>q(s,e,t),v,(t,o,s,i,f)=>{v(t,o);const g=W(),L=W(),y=H(r,t),w=H(a,t),p=t=>{const s=n=>e.getCell(o,t,n),r=H(y,t),a=l(o,t)?n(i(s,t)):void 0;if(r===a||A(r)&&A(a)&&u(r,a)||q(g,t,[r,a]),!x(f)){const e=H(w,t),n=l(o,t)?f(s,t):void 0;e!=n&&q(L,t,n)}},I=e=>{s((()=>{z(g,(([,e],t)=>q(y,t,e))),z(L,((e,t)=>q(w,t,e)))}),g,L,y,w,e),Q(g),Q(L)};$(y,p),e.hasTable(o)&&h(e.getRowIds(o),(e=>{O(y,e)||p(e)})),I(!0),c(t),d(t,0,e.addRowListener(o,null,((e,t,n)=>p(n))),e.addTableListener(o,(()=>I())))},f,()=>$(i,f),d,c]},oe=(e,t)=>n(e)==l?t=>t(e):null!=e?e:()=>null!=t?t:"",se=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},re=/^\d+$/,ae=()=>{const e=[];let t=0;return[n=>{var l;return null!=(l=n?S(e):null)?l:""+t++},t=>{re.test(t)&&L(e)<1e3&&I(e,t)}]},ie=e=>{let t;const[n,l]=ae(),o=W();return[(l,s,r,a=[],i=(()=>[]))=>{null!=t||(t=e());const d=n(1);return q(o,d,[l,s,r,a,i]),ne(Y(s,null!=r?r:[""],te),d),d},(e,n,...l)=>h(((e,t=[""])=>{const n=[],l=(e,o)=>o==L(t)?I(n,e):null===t[o]?z(e,(e=>l(e,o+1))):h([t[o],null],(t=>l(H(e,t),o+1)));return l(e,0),n})(e,n),(e=>z(e,(e=>H(o,e)[0](t,...null!=n?n:[],...l))))),e=>k(H(o,e),(([,t,n])=>(Y(t,null!=n?n:[""],void 0,(t=>(N(t,e),F(t)?1:0))),q(o,e),l(e),n))),e=>k(H(o,e),(([e,,n=[],l,o])=>{const s=(...r)=>{var a,i;const d=L(r);d==L(n)?e(t,...r,...o(r)):x(n[d])?h(null!=(i=null==(a=l[d])?void 0:a.call(l,...r))?i:[],(e=>s(...r,e))):s(...r,n[d])};s()}))]},de=Object,ue=de.keys,ce=de.isFrozen,ve=de.freeze,he=e=>E(e,de)&&e.constructor==de,fe=(e,t)=>!x(((e,t)=>k(e,(e=>e[t])))(e,t)),ge=(e,t)=>delete e[t],Le=(e,t)=>f(de.entries(e),(([e,n])=>t(n,e))),ye=e=>he(e)&&y(ue(e)),we=se((e=>{let t,n,l,o=100,s=W(),r=W(),a=1;const d=W(),u=W(),[c,v,f]=ie((()=>U)),g=W(),w=W(),p=[],T=[],b=(t,n)=>{a=0,e.transaction((()=>{const[l,o]=H(g,n);z(l,((n,l)=>z(n,((n,o)=>z(n,((n,s)=>_(e,l,o,s,n[t]))))))),z(o,((n,l)=>ee(e,l,n[t])))})),a=1},m=e=>{q(g,e),q(w,e),v(u,[e])},C=(e,t)=>h(((e,t)=>e.splice(0,t))(e,null!=t?t:L(e)),m),V=()=>C(p,L(p)-o),E=()=>k(t,(()=>{I(p,t),V(),C(T),t=void 0,l=1})),J=()=>{t=R(p),l=1},P=e.addCellListener(null,null,null,((e,t,n,l,o,r)=>{if(a){E();const e=G(s,t,W),a=G(e,n,W),i=G(a,l,(()=>[r,void 0]));i[1]=o,i[0]===o&&F(q(a,l))&&F(q(e,n))&&F(q(s,t))&&J(),Q()}})),A=e.addValueListener(null,((e,t,n,l)=>{if(a){E();const e=G(r,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&F(q(r,t))&&J(),Q()}})),M=(e="")=>(x(t)&&(t=""+n++,q(g,t,[s,r]),B(t,e),s=W(),r=W(),l=1),t),D=()=>{y(p)||(((e,...t)=>{e.unshift(...t)})(T,M()),b(0,t),t=R(p),l=1)},j=()=>{y(T)||(I(p,t),t=S(T),b(1,t),l=1)},Q=()=>{l&&(v(d),l=0)},N=e=>{const t=M(e);return Q(),t},B=(e,t)=>(K(e)&&H(w,e)!==t&&(q(w,e,t),v(u,[e])),U),K=e=>O(g,e),U={setSize:e=>(o=e,V(),U),addCheckpoint:N,setCheckpoint:B,getStore:()=>e,getCheckpointIds:()=>[[...p],t,[...T]],forEachCheckpoint:e=>$(w,e),hasCheckpoint:K,getCheckpoint:e=>H(w,e),goBackward:()=>(D(),Q(),U),goForward:()=>(j(),Q(),U),goTo:e=>{const n=i(p,e)?D:i(T,e)?j:null;for(;!x(n)&&e!=t;)n();return Q(),U},addCheckpointIdsListener:e=>c(e,d),addCheckpointListener:(e,t)=>c(t,u,[e]),delListener:e=>(f(e),U),clear:()=>(C(p),C(T),x(t)||m(t),t=void 0,n=0,N(),U),destroy:()=>{e.delListener(P),e.delListener(A)},getListenerStats:()=>({})};return ve(U.clear())})),pe=(e,t)=>e<t?-1:1,Ie=se((e=>{const t=W(),n=W(),[l,o,s,r,i,d,u,,h,g,L]=le(e,W,(e=>x(e)?"":A(e)?f(e,a):a(e))),[y,w,p]=ie((()=>R)),I=(t,n,l)=>{const o=i(t);z(l,((t,l)=>n(l,(n=>z(t,(t=>n(t,(n=>e.forEachCell(o,t,n)))))))))},R={setIndexDefinition:(e,l,o,s,r,a=pe)=>{const i=x(r)?void 0:([e],[t])=>r(e,t);return h(e,l,((l,o,r,h,f,g)=>{let L=0;const y=te(),p=te(),I=d(e);if(z(o,(([e,t],n)=>{const l=te(e),o=te(t);z(l,(e=>N(o,e)?N(l,e):0)),z(l,(e=>{ne(y,e),k(H(I,e),(t=>{N(t,n),F(t)&&(q(I,e),L=1)}))})),z(o,(e=>{ne(y,e),O(I,e)||(q(I,e,te()),L=1),ne(H(I,e),n),x(s)||ne(p,e)}))})),l(),F(f)||(g?$(I,(e=>ne(p,e))):$(r,(e=>k(H(h,e),(e=>ne(p,e))))),z(p,(e=>{const t=(t,n)=>a(H(f,t),H(f,n),e),n=[...H(I,e)];c(n,t)||(q(I,e,te(v(n,t))),ne(y,e))}))),(L||g)&&!x(i)){const t=[...I];c(t,i)||(u(e,W(v(t,i))),L=1)}L&&w(t,[e]),z(y,(t=>w(n,[e,t])))}),oe(o),k(s,oe)),R},delIndexDefinition:e=>(g(e),R),getStore:l,getIndexIds:o,forEachIndex:e=>s(((t,n)=>e(t,(e=>I(t,e,n))))),forEachSlice:(e,t)=>I(e,t,d(e)),hasIndex:r,hasSlice:(e,t)=>O(d(e),t),getTableId:i,getSliceIds:e=>B(d(e)),getSliceRowIds:(e,t)=>j(H(d(e),t)),addSliceIdsListener:(e,n)=>y(n,t,[e]),addSliceRowIdsListener:(e,t,l)=>y(l,n,[e,t]),delListener:e=>(p(e),R),destroy:L,getListenerStats:()=>({})};return ve(R)})),Re=W([["avg",[(e,t)=>g(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=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:m(t,e)]],["min",[e=>C(...e),(e,t)=>C(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:C(t,e)]],["sum",[e=>g(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Se=(e,t,n,l,o,s=!1)=>{if(F(n))return;const[r,a,i,d]=o;return s||(s=x(e)),z(l,(([n,l])=>{s||(e=x(n)?null==a?void 0:a(e,l,t++):x(l)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,l,n,t),s||(s=x(e)))})),s?r(j(n),D(n)):e},Te=se((e=>{const t=W(),[n,l,o,s,r,a,i,,d,u,c]=le(e,M,(e=>isNaN(e)||x(e)||!0===e||!1===e||""===e?void 0:1*e)),[v,h,f]=ie((()=>g)),g={setMetricDefinition:(e,n,l,o,s,r,u)=>{var c;const v=P(l)?[l,s,r,u]:null!=(c=H(Re,l))?c:H(Re,"sum");return d(e,n,((n,l,o,s,r,d)=>{const u=a(e),c=D(s);d||(d=x(u)),n();let f=Se(u,c,s,l,v,d);V(f)||(f=void 0),f!=u&&(i(e,f),h(t,[e],f,u))}),oe(o,1)),g},delMetricDefinition:e=>(u(e),g),getStore:n,getMetricIds:l,forEachMetric:o,hasMetric:s,getTableId:r,getMetric:a,addMetricListener:(e,n)=>v(n,t,[e]),delListener:e=>(f(e),g),destroy:c,getListenerStats:()=>({})};return ve(g)}));var be=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const me=(e,t,n,l,o)=>{let s,r,a,i=0,d=!1;const u={load:(n,l)=>be(void 0,null,(function*(){if(2!=i){i=1;const o=yield t();x(o)||""==o?e.transaction((()=>e.setTables(n).setValues(l))):e.setJson(o),i=0}return u})),startAutoLoad:(e,t)=>be(void 0,null,(function*(){return u.stopAutoLoad(),yield u.load(e,t),d=!0,a=l(u.load),u})),stopAutoLoad:()=>(d&&(o(a),a=void 0,d=!1),u),save:()=>be(void 0,null,(function*(){return 1!=i&&(i=2,yield n(e.getJson()),i=0),u})),startAutoSave:()=>be(void 0,null,(function*(){return yield u.stopAutoSave().save(),s=e.addTablesListener(u.save),r=e.addValuesListener(u.save),u})),stopAutoSave:()=>(k(s,e.delListener),k(r,e.delListener),u),getStore:()=>e,destroy:()=>u.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ve(u)};var Ce=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const Ve=globalThis.window,Ee=(e,t,n)=>me(e,(()=>Ce(void 0,null,(function*(){return n.getItem(t)}))),(e=>Ce(void 0,null,(function*(){return n.setItem(t,e)}))),(e=>{const l=l=>{l.storageArea===n&&l.key===t&&e()};return Ve.addEventListener("storage",l),l}),(e=>Ve.removeEventListener("storage",e))),xe=(e,t)=>Ee(e,t,localStorage),ke=(e,t)=>Ee(e,t,sessionStorage);var Je=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const Pe=(n,l)=>me(n,(()=>Je(void 0,null,(function*(){try{return yield t.readFile(l,"utf8")}catch(e){}}))),(e=>Je(void 0,null,(function*(){try{yield t.writeFile(l,e,"utf8")}catch(e){}}))),(t=>e(l,t)),(e=>null==e?void 0:e.close()));var Ae=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const Me=e=>e.headers.get("ETag"),De=(e,t,n,l)=>{let o;return me(e,(()=>Ae(void 0,null,(function*(){const e=yield fetch(t);return o=Me(e),e.text()}))),(e=>Ae(void 0,null,(function*(){return yield fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:e})}))),(e=>setInterval((()=>Ae(void 0,null,(function*(){const n=yield fetch(t,{method:"HEAD"}),l=Me(n);x(o)||x(l)||l==o||(o=l,e())}))),1e3*l)),(e=>clearInterval(e)))};var Oe=Object.getOwnPropertySymbols,Fe=Object.prototype.hasOwnProperty,je=Object.prototype.propertyIsEnumerable;const Qe=se((e=>{const t=e.createStore,[n,l,o,s,r,,,a,,i,u,c,v]=le(e,(()=>!0),M),f=t(),g=t(),w=W(),R=(e,t,...n)=>h(n,(n=>ne(G(G(w,t,W),e,te),n))),S=e=>{k(H(w,e),(e=>{$(e,((e,t)=>z(t,(t=>e.delListener(t))))),Q(e)})),h([g,f],(t=>t.delTable(e)))},T=(e,t,n)=>R(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),b={setQueryDefinition:(t,n,l)=>{a(t,n),S(t);const o=[],s=[[null,[n,null,null,[],W()]]],r=[],i=[],u=[];l({select:(e,t)=>{const n=P(e)?[L(o)+"",e]:[x(t)?e:t,n=>n(e,t)];return I(o,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const l=x(n)||P(t)?null:t,o=x(l)?t:n,r=[e,[e,l,P(o)?o:e=>e(o),[],W()]];return I(s,r),{as:e=>r[0]=e}},where:(e,t,n)=>I(r,P(e)?e:x(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,o)=>{var s;const r=[e,[e,P(t)?[t,n,l,o]:null!=(s=H(Re,t))?s:[(e,t)=>t]]];return I(i,r),{as:e=>r[0]=e}},having:(e,t)=>I(u,P(e)?e:n=>n(e)===t)});const w=W(o);if(F(w))return b;const p=W(s);$(p,((e,[,t])=>k(H(p,t),(({3:t})=>x(e)?0:I(t,e)))));const m=W(i);let C=f;if(F(m)&&y(u))C=g;else{T(t,C,g);const e=W();$(m,((t,[n,l])=>ne(G(e,n,te),[t,l])));const n=te();$(w,(t=>O(e,t)?0:ne(n,t)));const l=W(),o=(n,l,o,s)=>k(n,(([r,a,i,c])=>{$(l,((t,[n])=>{const l=G(r,t,W),a=H(l,o),i=s?void 0:n;if(a!==i){const n=te([[a,i]]),s=D(l);q(l,o,i),z(H(e,t),(([e,t])=>{const o=Se(c[e],s,l,n,t);c[e]=x(Z(o))?null:o}))}})),F(a)||!d(u,(e=>e((e=>c[e]))))?g.delRow(t,i):x(i)?n[2]=g.addRow(t,c):g.setRow(t,i,c)}));R(C,t,C.addRowListener(t,null,((s,r,a,i)=>{const d=[],u=[],c=W(),v=C.hasRow(t,a);let h=!v;z(n,(e=>{const[n,l,o]=i(t,a,e);I(d,l),I(u,o),h||(h=n)})),$(e,(e=>{const[n,,l]=i(t,a,e);(h||n)&&q(c,e,[l])})),h&&o(Y(l,d,void 0,(([,e])=>(N(e,a),F(e)))),c,a,1),v&&o(Y(l,u,(()=>{const e={};return z(n,(n=>e[n]=C.getCell(t,a,n))),[W(),te(),void 0,e]}),(([,e])=>{ne(e,a)})),c,a)})))}T(t,e,C);const V=(l,o,s,a)=>{const i=t=>e.getCell(o,s,t);h(a,(n=>{var o;const[s,,r,a,d]=H(p,n),u=null==r?void 0:r(i,l),[h,f]=null!=(o=H(d,l))?o:[];u!=h&&(x(f)||v(t,f),q(d,l,x(u)?null:[u,...c(t,1,e.addRowListener(s,u,(()=>V(l,s,u,a))))]))})),(l=>{const o=(t,o)=>{var s,r,a;return e.getCell(...x(o)?[n,l,t]:t===n?[n,l,o]:[null==(s=H(p,t))?void 0:s[0],null==(a=H(null==(r=H(p,t))?void 0:r[4],l))?void 0:a[0],o])};C.transaction((()=>d(r,(e=>e(o)))?$(w,((e,n)=>_(C,t,l,e,n(o,l)))):C.delRow(t,l)))})(l)},{3:E}=H(p,null);return C.transaction((()=>c(t,1,e.addRowListener(n,null,((l,o,s)=>{e.hasRow(n,s)?V(s,n,s,E):(C.delRow(t,s),z(p,(({4:e})=>k(H(e,s),(([,n])=>{v(t,n),q(e,s)})))))}))))),b},delQueryDefinition:e=>(S(e),i(e),b),getStore:n,getQueryIds:l,forEachQuery:o,hasQuery:s,getTableId:r,delListener:e=>(g.delListener(e),b),destroy:u,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Fe.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&Oe)for(var l of Oe(e))t.indexOf(l)<0&&je.call(e,l)&&(n[l]=e[l]);return n})(g.getListenerStats(),["tables","tableIds","transaction"])};return Le({Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},(([e,t],n)=>{h(e?["get","has","forEach"]:["get"],(e=>b[e+"Result"+n]=(...t)=>g[e+n](...t))),b["addResult"+n+"Listener"]=(...e)=>g["add"+n+"Listener"](...p(e,0,t),((n,...l)=>e[t](b,...l)))})),ve(b)})),ze=se((e=>{const t=W(),n=W(),l=W(),o=W(),[s,r,a,i,d,u,,,c,v,h]=le(e,(()=>[W(),W(),W(),W()]),(e=>x(e)?void 0:e+"")),[f,g,L]=ie((()=>I)),y=(e,t,n)=>k(u(e),(([l,,o])=>{if(!O(o,t)){const s=te();if(d(e)!=p(e))ne(s,t);else{let e=t;for(;!x(e)&&!O(s,e);)ne(s,e),e=H(l,e)}if(n)return s;q(o,t,s)}return H(o,t)})),w=(e,t)=>k(u(e),(([,,e])=>q(e,t))),p=e=>H(t,e),I={setRelationshipDefinition:(e,s,r,a)=>(q(t,e,r),c(e,s,((t,s)=>{const r=te(),a=te(),i=te(),[d,c]=u(e);z(s,(([t,n],l)=>{x(t)||(ne(a,t),k(H(c,t),(e=>{N(e,l),F(e)&&q(c,t)}))),x(n)||(ne(a,n),O(c,n)||q(c,n,te()),ne(H(c,n),l)),ne(r,l),q(d,l,n),$(H(o,e),(t=>{O(y(e,t),l)&&ne(i,t)}))})),t(),z(r,(t=>g(n,[e,t]))),z(a,(t=>g(l,[e,t]))),z(i,(t=>{w(e,t),g(o,[e,t])}))}),oe(a)),I),delRelationshipDefinition:e=>(q(t,e),v(e),I),getStore:s,getRelationshipIds:r,forEachRelationship:t=>a((n=>t(n,(t=>e.forEachRow(d(n),t))))),hasRelationship:i,getLocalTableId:d,getRemoteTableId:p,getRemoteRowId:(e,t)=>{var n;return H(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return j(H(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>x(u(e))?[t]:j(y(e,t,!0)),addRemoteRowIdListener:(e,t,l)=>f(l,n,[e,t]),addLocalRowIdsListener:(e,t,n)=>f(n,l,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(y(e,t),f(n,o,[e,t])),delListener:e=>(w(...L(e)),I),destroy:h,getListenerStats:()=>({})};return ve(I)})),Ne=e=>[e,e],We=()=>[W(),W()],Be=(e,t,n,l=q)=>{const o=(s=e=>!fe(t,e),B(e).filter(s));var s;return h(ue(t),(l=>n(e,l,t[l]))),h(o,(t=>l(e,t))),e},He=(e,t,n)=>x(e)||!he(e)||ye(e)||ce(e)?(null==n||n(),!1):(Le(e,((n,l)=>{t(n,l)||ge(e,l)})),!ye(e)),$e=(e,t,n)=>q(e,t,H(e,t)==-n?void 0:n),qe=()=>{let e,t,n,l,o=0;const r=W(),d=W(),c=W(),g=W(),L=W(),y=W(),w=W(),R=W(),S=W(),m=W(),C=W(),V=W(),E=te(),A=W(),M=W(),D=W(),j=We(),Y=We(),le=We(),oe=We(),se=We(),re=We(),de=We(),ue=We(),ce=We(),he=We(),we=We(),Ie=We(),Re=We(),Se=We(),[Te,be,me,Ce]=ie((()=>Nt)),Ve=e=>{if(!He(e,((e,t)=>i(["type","default"],t))))return!1;const t=e.type;return!(!J(t)&&t!=s||(Z(e.default)!=t&&ge(e,"default"),0))},Ee=(t,n)=>(!e||O(S,n)||ut(n))&&He(t,((e,t)=>xe(n,t,e)),(()=>ut(n))),xe=(e,t,n,l)=>He(l?n:Ae(n,e,t),((l,o)=>k(ke(e,t,o,l),(e=>(n[o]=e,!0)),(()=>!1))),(()=>ut(e,t))),ke=(t,n,l,o)=>e?k(H(H(S,t),l),(e=>Z(o)!=e.type?ut(t,n,l,o,e.default):o),(()=>ut(t,n,l,o))):x(Z(o))?ut(t,n,l,o):o,Je=(e,t)=>He(t?e:Me(e),((t,n)=>k(Pe(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>ct())),Pe=(e,n)=>t?k(H(C,e),(t=>Z(n)!=t.type?ct(e,n,t.default):n),(()=>ct(e,n))):x(Z(n))?ct(e,n):n,Ae=(e,t,n)=>(k(H(m,t),(([l,o])=>{z(l,((t,n)=>{fe(e,n)||(e[n]=t)})),z(o,(l=>{fe(e,l)||ut(t,n,l)}))})),e),Me=e=>(t&&(z(V,((t,n)=>{fe(e,n)||(e[n]=t)})),z(E,(t=>{fe(e,t)||ct(t)}))),e),De=e=>Be(S,e,((e,t,n)=>{const l=W(),o=te();Be(G(S,t,W),n,((e,t,n)=>{q(e,t,n),k(n.default,(e=>q(l,t,e)),(()=>ne(o,t)))})),q(m,t,[l,o])}),((e,t)=>{q(S,t),q(m,t)})),Oe=e=>Be(C,e,((e,t,n)=>{q(C,t,n),k(n.default,(e=>q(V,t,e)),(()=>ne(E,t)))}),((e,t)=>{q(C,t),q(V,t),N(E,t)})),Fe=e=>ye(e)?Mt():xt(e),je=e=>Be(M,e,((e,t,n)=>Qe(t,n)),((e,t)=>et(t))),Qe=(e,t)=>Be(G(M,e,(()=>(ot(e,1),W()))),t,((t,n,l)=>ze(e,t,n,l)),((t,n)=>tt(e,t,n))),ze=(e,t,n,l,o)=>Be(G(t,n,(()=>(st(e,n,1),W()))),l,((t,l,o)=>Ge(e,n,t,l,o)),((l,s)=>nt(e,t,n,l,s,o))),Ge=(e,t,n,l,o)=>{O(n,l)||rt(e,t,l,1);const s=H(n,l);o!==s&&(at(e,t,l,s,o),q(n,l,o))},Ke=(e,t,n,l,o)=>k(H(t,n),(t=>Ge(e,n,t,l,o)),(()=>ze(e,t,n,Ae({[l]:o},e,n)))),Ue=e=>ye(e)?Dt():kt(e),Xe=e=>Be(D,e,((e,t,n)=>Ye(t,n)),((e,t)=>lt(t))),Ye=(e,t)=>{O(D,e)||it(e,1);const n=H(D,e);t!==n&&(dt(e,n,t),q(D,e,t))},Ze=(e,t)=>{const[n]=G(A,e,ae),l=n(t);return O(H(M,e),l)?Ze(e,t):l},_e=e=>{var t;return null!=(t=H(M,e))?t:Qe(e,{})},et=e=>Qe(e,{}),tt=(e,t,n)=>{const[,l]=G(A,e,ae);l(n),ze(e,t,n,{},!0)},nt=(e,t,n,l,o,s)=>{var r;const a=H(null==(r=H(m,e))?void 0:r[0],o);if(!x(a)&&!s)return Ge(e,n,l,o,a);const i=t=>{at(e,n,t,H(l,t)),rt(e,n,t,-1),q(l,t)};x(a)?i(o):$(l,i),F(l)&&(st(e,n,-1),F(q(t,n))&&(ot(e,-1),q(M,e),q(A,e)))},lt=e=>{const t=H(V,e);if(!x(t))return Ye(e,t);dt(e,H(D,e)),it(e,-1),q(D,e)},ot=(e,t)=>$e(r,e,t),st=(e,t,n)=>$e(G(d,e,W),t,n),rt=(e,t,n,l)=>$e(G(G(c,e,W),t,W),n,l),at=(e,t,n,l,o)=>G(G(G(g,e,W),t,W),n,(()=>[l,0]))[1]=o,it=(e,t)=>$e(L,e,t),dt=(e,t,n)=>G(y,e,(()=>[t,0]))[1]=n,ut=(e,t,n,l,o)=>(I(G(G(G(w,e,W),t,W),n,(()=>[])),l),o),ct=(e,t,n)=>(I(G(R,e,(()=>[])),t),n),vt=(e,t,n)=>k(H(H(H(g,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ne(mt(e,t,n))])),ht=e=>k(H(y,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ne(Et(e))])),ft=e=>F(w)||F(ce[e])?0:z(e?U(w,X):w,((t,n)=>z(t,((t,l)=>z(t,((t,o)=>be(ce[e],[n,l,o],t))))))),gt=e=>F(R)||F(he[e])?0:z(e?U(R):R,((t,n)=>be(he[e],[n],t))),Lt=(e,t,n)=>{if(!F(t))return be(e,n),1},yt=e=>{const t=F(se[e]),n=F(de[e])&&F(oe[e])&&t&&F(Y[e]),l=F(ue[e])&&F(re[e])&&F(le[e])&&F(j[e]);if(!n||!l){const o=e?[U(r),X(d),U(c,X),U(g,X)]:[r,d,c,g];if(!n){z(o[2],((t,n)=>z(t,((t,l)=>Lt(de[e],t,[n,l])))));const n=te();z(o[1],((l,o)=>{Lt(oe[e],l,[o])&&!t&&(be(se[e],[o,null]),ne(n,o))})),t||z(o[3],((t,l)=>{if(!O(n,l)){const n=te();z(t,(e=>z(e,(([t,l],o)=>l!==t?ne(n,o):N(e,o))))),z(n,(t=>be(se[e],[l,t])))}})),Lt(Y[e],o[0])}if(!l){let t;z(o[3],((n,l)=>{let o;z(n,((n,s)=>{let r;z(n,(([n,a],i)=>{a!==n&&(be(ue[e],[l,s,i],a,n,vt),t=o=r=1)})),r&&be(re[e],[l,s],vt)})),o&&be(le[e],[l],vt)})),t&&be(j[e],void 0,vt)}}},wt=e=>{const t=F(Ie[e]),n=F(Re[e])&&F(we[e]);if(!t||!n){const l=e?[U(L),U(y)]:[L,y];if(t||Lt(Ie[e],l[0]),!n){let t;z(l[1],(([n,l],o)=>{l!==n&&(be(Re[e],[o],l,n,ht),t=1)})),t&&be(we[e],void 0,ht)}}},pt=(e,...t)=>(jt((()=>e(...f(t,a)))),Nt),It=()=>K(M,(e=>K(e,K))),Rt=()=>B(M),St=e=>B(H(M,a(e))),Tt=(e,t,n,l=0,o)=>{return f(p(v((s=H(M,a(e)),r=(e,n)=>[x(t)?n:H(e,a(t)),n],f([...null!=(i=null==s?void 0:s.entries())?i:[]],(([e,t])=>r(t,e)))),(([e],[t])=>pe(e,t)*(n?-1:1))),l,x(o)?o:l+o),(([,e])=>e));var s,r,i},bt=(e,t)=>B(H(H(M,a(e)),a(t))),mt=(e,t,n)=>H(H(H(M,a(e)),a(t)),a(n)),Ct=()=>K(D),Vt=()=>B(D),Et=e=>H(D,a(e)),xt=e=>pt((()=>(e=>He(e,Ee,ut))(e)?je(e):0)),kt=e=>pt((()=>Je(e)?Xe(e):0)),Jt=e=>{try{Fe(b(e))}catch(e){}return Nt},Pt=t=>pt((()=>{if((e=He(t,(e=>He(e,Ve))))&&(De(t),!F(M))){const e=It();Mt(),xt(e)}})),At=e=>pt((()=>{if(t=(e=>He(e,Ve))(e)){const n=Ct();Ft(),Dt(),t=!0,Oe(e),kt(n)}})),Mt=()=>pt((()=>je({}))),Dt=()=>pt((()=>Xe({}))),Ot=()=>pt((()=>{De({}),e=!1})),Ft=()=>pt((()=>{Oe({}),t=!1})),jt=(e,t)=>{if(-1==o)return;Qt();const n=e();return zt(t),n},Qt=()=>(o++,Nt),zt=e=>(o>0&&(o--,0==o&&(n=!F(g),l=!F(y),o=1,ft(1),n&&yt(1),gt(1),l&&wt(1),o=-1,(null==e?void 0:e(K(g,(e=>K(e,(e=>K(e,(e=>[...e]),(([e,t])=>e===t))),ye)),ye),K(w,(e=>K(e,K))),K(y,(e=>[...e]),(([e,t])=>e===t)),K(R)))&&(o=1,z(g,((e,t)=>z(e,((e,n)=>z(e,(([e],l)=>_(Nt,t,n,l,e))))))),z(y,(([e],t)=>ee(Nt,t,e))),o=-1,n=l=!1),be(Se[0],void 0,n,l),ft(0),n&&yt(0),gt(0),l&&wt(0),be(Se[1],void 0,n,l),o=0,h([r,d,c,g,w,L,y,R],Q))),Nt),Nt={getTables:It,getTableIds:Rt,getTable:e=>K(H(M,a(e)),K),getRowIds:St,getSortedRowIds:Tt,getRow:(e,t)=>K(H(H(M,a(e)),a(t))),getCellIds:bt,getCell:mt,getValues:Ct,getValueIds:Vt,getValue:Et,hasTables:()=>!F(M),hasTable:e=>O(M,a(e)),hasRow:(e,t)=>O(H(M,a(e)),a(t)),hasCell:(e,t,n)=>O(H(H(M,a(e)),a(t)),a(n)),hasValues:()=>!F(D),hasValue:e=>O(D,a(e)),getTablesJson:()=>T(M),getValuesJson:()=>T(D),getJson:()=>T([M,D]),getTablesSchemaJson:()=>T(S),getValuesSchemaJson:()=>T(C),getSchemaJson:()=>T([S,C]),setTables:xt,setTable:(e,t)=>pt((e=>Ee(t,e)?Qe(e,t):0),e),setRow:(e,t,n)=>pt(((e,t)=>xe(e,t,n)?ze(e,_e(e),t,n):0),e,t),addRow:(e,t,n=!0)=>jt((()=>{let l;return xe(e,l,t)&&(e=a(e),ze(e,_e(e),l=Ze(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>pt(((e,t)=>{if(xe(e,t,n,1)){const l=_e(e);Le(n,((n,o)=>Ke(e,l,t,o,n)))}}),e,t),setCell:(e,t,n,l)=>pt(((e,t,n)=>k(ke(e,t,n,P(l)?l(mt(e,t,n)):l),(l=>Ke(e,_e(e),t,n,l)))),e,t,n),setValues:kt,setPartialValues:e=>pt((()=>Je(e,1)?Le(e,((e,t)=>Ye(t,e))):0)),setValue:(e,t)=>pt((e=>k(Pe(e,P(t)?t(Et(e)):t),(t=>Ye(e,t)))),e),setTablesJson:Jt,setValuesJson:e=>{try{Ue(b(e))}catch(e){}return Nt},setJson:e=>{try{const[t,n]=b(e);Fe(t),Ue(n)}catch(t){Jt(e)}return Nt},setTablesSchema:Pt,setValuesSchema:At,setSchema:(e,t)=>pt((()=>{Pt(e),At(t)})),delTables:Mt,delTable:e=>pt((e=>O(M,e)?et(e):0),e),delRow:(e,t)=>pt(((e,t)=>k(H(M,e),(n=>O(n,t)?tt(e,n,t):0))),e,t),delCell:(e,t,n,l)=>pt(((e,t,n)=>k(H(M,e),(o=>k(H(o,t),(s=>O(s,n)?nt(e,o,t,s,n,l):0))))),e,t,n),delValues:Dt,delValue:e=>pt((e=>O(D,e)?lt(e):0),e),delTablesSchema:Ot,delValuesSchema:Ft,delSchema:()=>pt((()=>{Ot(),Ft()})),transaction:jt,startTransaction:Qt,finishTransaction:zt,forEachTable:e=>z(M,((t,n)=>e(n,(e=>z(t,((t,n)=>e(n,(e=>$(t,e))))))))),forEachRow:(e,t)=>z(H(M,a(e)),((e,n)=>t(n,(t=>$(e,t))))),forEachCell:(e,t,n)=>$(H(H(M,a(e)),a(t)),n),forEachValue:e=>$(D,e),addSortedRowIdsListener:(e,t,n,l,o,s,r)=>{let a=Tt(e,t,n,l,o);return Te((()=>{const r=Tt(e,t,n,l,o);u(r,a)||(a=r,s(Nt,e,t,n,l,o,a))}),se[r?1:0],[e,t],[Rt])},addWillFinishTransactionListener:e=>Te(e,Se[0]),addDidFinishTransactionListener:e=>Te(e,Se[1]),callListener:e=>(Ce(e),Nt),delListener:e=>(me(e),Nt),getListenerStats:()=>({}),createStore:qe};return Le({Tables:[0,j],TableIds:[0,Y],Table:[1,le,[Rt]],RowIds:[1,oe,[Rt]],Row:[2,re,[Rt,St]],CellIds:[2,de,[Rt,St]],Cell:[3,ue,[Rt,St,bt],e=>Ne(mt(...e))],InvalidCell:[3,ce],Values:[0,we],ValueIds:[0,Ie],Value:[1,Re,[Vt],e=>Ne(Et(e[0]))],InvalidValue:[1,he]},(([e,t,n,l],o)=>{Nt["add"+o+"Listener"]=(...o)=>Te(o[e],t[o[e+1]?1:0],e>0?p(o,0,e):void 0,n,l)})),ve(Nt)};export{we as createCheckpoints,me as createCustomPersister,Pe as createFilePersister,Ie as createIndexes,xe as createLocalPersister,Te as createMetrics,Qe as createQueries,ze as createRelationships,De as createRemotePersister,ke as createSessionPersister,qe as createStore,pe as defaultSorter};
|
|
1
|
+
const e=e=>typeof e,t=e(""),n=e(!0),l=e(0),s=e(e),o=e=>""+e,r=(e,t)=>e.includes(t),a=(e,t)=>e.every(t),i=(e,t)=>h(e)===h(t)&&a(e,((e,n)=>t[n]===e)),d=(e,t)=>a(e,((n,l)=>0==l||t(e[l-1],n)<=0)),u=(e,t)=>e.sort(t),c=(e,t)=>e.forEach(t),v=(e,t)=>e.map(t),f=e=>L(e,((e,t)=>e+t),0),h=e=>e.length,g=e=>0==h(e),L=(e,t,n)=>e.reduce(t,n),w=(e,t,n)=>e.slice(t,n),R=(e,...t)=>e.push(...t),p=e=>e.pop(),I=e=>e.shift(),S=e=>JSON.stringify(e,((e,t)=>m(t,Map)?L([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),y=JSON.parse,T=Math.max,b=Math.min,C=isFinite,m=(e,t)=>e instanceof t,V=e=>null==e,E=(e,t,n)=>V(e)?null==n?void 0:n():t(e),k=e=>e==t||e==n,x=t=>e(t)==s,J=e=>Array.isArray(e),M=()=>{},D=e=>e.size,A=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},O=e=>V(e)||0==D(e),F=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},P=e=>e.clear(),j=(e,t)=>null==e?void 0:e.forEach(t),Q=(e,t)=>null==e?void 0:e.delete(t),z=e=>new Map(e),N=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},W=(e,t)=>null==e?void 0:e.get(t),B=(e,t)=>j(e,((e,n)=>t(n,e))),$=(e,t,n)=>V(n)?(Q(e,t),e):null==e?void 0:e.set(t,n),q=(e,t,n)=>(A(e,t)||$(e,t,n()),W(e,t)),G=(e,t,n)=>{const l={},s=null!=t?t:e=>e;return j(e,((e,t)=>E(s(e),(e=>(null==n?void 0:n(e))?0:l[t]=e)))),l},H=(e,t)=>{const n=z(),l=null!=t?t:e=>e;return j(e,((e,t)=>n.set(t,l(e)))),n},K=e=>H(e,H),U=(e,t,n,l,s=0)=>E((n?q:W)(e,t[s],s>h(t)-2?n:z),(o=>{if(s>h(t)-2)return(null==l?void 0:l(o))&&$(e,t[s]),o;const r=U(o,t,n,l,s+1);return O(o)&&$(e,t[s]),r})),X=t=>{const n=e(t);return k(n)||n==l&&C(t)?n:void 0},Y=(e,t,n,l,s)=>V(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),Z=(e,t,n)=>V(n)?e.delValue(t):e.setValue(t,n),_=e=>new Set(J(e)||V(e)?e:[e]),ee=(e,t)=>null==e?void 0:e.add(t),te=(e,t,n)=>{const l=e.hasRow,s=z(),o=z(),r=z(),a=z(),d=z(),u=(t,n,...l)=>{const s=q(d,t,_);return c(l,(t=>ee(s,t)&&n&&e.callListener(t))),l},v=(t,...n)=>E(W(d,t),(l=>{c(g(n)?F(l):n,(t=>{e.delListener(t),Q(l,t)})),O(l)&&$(d,t)})),f=(e,n)=>{$(s,e,n),A(o,e)||($(o,e,t()),$(r,e,z()),$(a,e,z()))},h=e=>{$(s,e),$(o,e),$(r,e),$(a,e),v(e)};return[()=>e,()=>N(s),e=>B(o,e),e=>A(o,e),e=>W(s,e),e=>W(o,e),(e,t)=>$(o,e,t),f,(t,s,o,d,h)=>{f(t,s);const g=z(),L=z(),w=W(r,t),R=W(a,t),p=t=>{const o=n=>e.getCell(s,t,n),r=W(w,t),a=l(s,t)?n(d(o,t)):void 0;if(r===a||J(r)&&J(a)&&i(r,a)||$(g,t,[r,a]),!V(h)){const e=W(R,t),n=l(s,t)?h(o,t):void 0;e!=n&&$(L,t,n)}},I=e=>{o((()=>{j(g,(([,e],t)=>$(w,t,e))),j(L,((e,t)=>$(R,t,e)))}),g,L,w,R,e),P(g),P(L)};B(w,p),e.hasTable(s)&&c(e.getRowIds(s),(e=>{A(w,e)||p(e)})),I(!0),v(t),u(t,0,e.addRowListener(s,null,((e,t,n)=>p(n))),e.addTableListener(s,(()=>I())))},h,()=>B(d,h),u,v]},ne=(n,l)=>e(n)==t?e=>e(n):null!=n?n:()=>null!=l?l:"",le=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},se=/^\d+$/,oe=()=>{const e=[];let t=0;return[n=>{var l;return null!=(l=n?I(e):null)?l:""+t++},t=>{se.test(t)&&h(e)<1e3&&R(e,t)}]},re=e=>{let t;const[n,l]=oe(),s=z();return[(l,o,r,a=[],i=(()=>[]))=>{null!=t||(t=e());const d=n(1);return $(s,d,[l,o,r,a,i]),ee(U(o,null!=r?r:[""],_),d),d},(e,n,...l)=>c(((e,t=[""])=>{const n=[],l=(e,s)=>s==h(t)?R(n,e):null===t[s]?j(e,(e=>l(e,s+1))):c([t[s],null],(t=>l(W(e,t),s+1)));return l(e,0),n})(e,n),(e=>j(e,(e=>W(s,e)[0](t,...null!=n?n:[],...l))))),e=>E(W(s,e),(([,t,n])=>(U(t,null!=n?n:[""],void 0,(t=>(Q(t,e),O(t)?1:0))),$(s,e),l(e),n))),e=>E(W(s,e),(([e,,n=[],l,s])=>{const o=(...r)=>{var a,i;const d=h(r);d==h(n)?e(t,...r,...s(r)):V(n[d])?c(null!=(i=null==(a=l[d])?void 0:a.call(l,...r))?i:[],(e=>o(...r,e))):o(...r,n[d])};o()}))]},ae=Object,ie=ae.keys,de=ae.isFrozen,ue=ae.freeze,ce=e=>m(e,ae)&&e.constructor==ae,ve=(e,t)=>!V(((e,t)=>E(e,(e=>e[t])))(e,t)),fe=(e,t)=>delete e[t],he=(e,t)=>v(ae.entries(e),(([e,n])=>t(n,e))),ge=e=>ce(e)&&g(ie(e)),Le=le((e=>{let t,n,l,s=100,o=z(),a=z(),i=1;const d=z(),u=z(),[v,f,L]=re((()=>U)),w=z(),S=z(),y=[],T=[],b=(t,n)=>{i=0,e.transaction((()=>{const[l,s]=W(w,n);j(l,((n,l)=>j(n,((n,s)=>j(n,((n,o)=>Y(e,l,s,o,n[t]))))))),j(s,((n,l)=>Z(e,l,n[t])))})),i=1},C=e=>{$(w,e),$(S,e),f(u,[e])},m=(e,t)=>c(((e,t)=>e.splice(0,t))(e,null!=t?t:h(e)),C),k=()=>m(y,h(y)-s),x=()=>E(t,(()=>{R(y,t),k(),m(T),t=void 0,l=1})),J=()=>{t=p(y),l=1},M=e.addCellListener(null,null,null,((e,t,n,l,s,r)=>{if(i){x();const e=q(o,t,z),a=q(e,n,z),i=q(a,l,(()=>[r,void 0]));i[1]=s,i[0]===s&&O($(a,l))&&O($(e,n))&&O($(o,t))&&J(),N()}})),D=e.addValueListener(null,((e,t,n,l)=>{if(i){x();const e=q(a,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&O($(a,t))&&J(),N()}})),F=(e="")=>(V(t)&&(t=""+n++,$(w,t,[o,a]),H(t,e),o=z(),a=z(),l=1),t),P=()=>{g(y)||(((e,...t)=>{e.unshift(...t)})(T,F()),b(0,t),t=p(y),l=1)},Q=()=>{g(T)||(R(y,t),t=I(T),b(1,t),l=1)},N=()=>{l&&(f(d),l=0)},G=e=>{const t=F(e);return N(),t},H=(e,t)=>(K(e)&&W(S,e)!==t&&($(S,e,t),f(u,[e])),U),K=e=>A(w,e),U={setSize:e=>(s=e,k(),U),addCheckpoint:G,setCheckpoint:H,getStore:()=>e,getCheckpointIds:()=>[[...y],t,[...T]],forEachCheckpoint:e=>B(S,e),hasCheckpoint:K,getCheckpoint:e=>W(S,e),goBackward:()=>(P(),N(),U),goForward:()=>(Q(),N(),U),goTo:e=>{const n=r(y,e)?P:r(T,e)?Q:null;for(;!V(n)&&e!=t;)n();return N(),U},addCheckpointIdsListener:e=>v(e,d),addCheckpointListener:(e,t)=>v(t,u,[e]),delListener:e=>(L(e),U),clear:()=>(m(y),m(T),V(t)||C(t),t=void 0,n=0,G(),U),destroy:()=>{e.delListener(M),e.delListener(D)},getListenerStats:()=>({})};return ue(U.clear())})),we=(e,t)=>e<t?-1:1,Re=le((e=>{const t=z(),n=z(),[l,s,r,a,i,c,f,,h,g,L]=te(e,z,(e=>V(e)?"":J(e)?v(e,o):o(e))),[w,R,p]=re((()=>S)),I=(t,n,l)=>{const s=i(t);j(l,((t,l)=>n(l,(n=>j(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},S={setIndexDefinition:(e,l,s,o,r,a=we)=>{const i=V(r)?void 0:([e],[t])=>r(e,t);return h(e,l,((l,s,r,v,h,g)=>{let L=0;const w=_(),p=_(),I=c(e);if(j(s,(([e,t],n)=>{const l=_(e),s=_(t);j(l,(e=>Q(s,e)?Q(l,e):0)),j(l,(e=>{ee(w,e),E(W(I,e),(t=>{Q(t,n),O(t)&&($(I,e),L=1)}))})),j(s,(e=>{ee(w,e),A(I,e)||($(I,e,_()),L=1),ee(W(I,e),n),V(o)||ee(p,e)}))})),l(),O(h)||(g?B(I,(e=>ee(p,e))):B(r,(e=>E(W(v,e),(e=>ee(p,e))))),j(p,(e=>{const t=(t,n)=>a(W(h,t),W(h,n),e),n=[...W(I,e)];d(n,t)||($(I,e,_(u(n,t))),ee(w,e))}))),(L||g)&&!V(i)){const t=[...I];d(t,i)||(f(e,z(u(t,i))),L=1)}L&&R(t,[e]),j(w,(t=>R(n,[e,t])))}),ne(s),E(o,ne)),S},delIndexDefinition:e=>(g(e),S),getStore:l,getIndexIds:s,forEachIndex:e=>r(((t,n)=>e(t,(e=>I(t,e,n))))),forEachSlice:(e,t)=>I(e,t,c(e)),hasIndex:a,hasSlice:(e,t)=>A(c(e),t),getTableId:i,getSliceIds:e=>N(c(e)),getSliceRowIds:(e,t)=>F(W(c(e),t)),addSliceIdsListener:(e,n)=>w(n,t,[e]),addSliceRowIdsListener:(e,t,l)=>w(l,n,[e,t]),delListener:e=>(p(e),S),destroy:L,getListenerStats:()=>({})};return ue(S)})),pe=z([["avg",[(e,t)=>f(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=>T(...e),(e,t)=>T(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:T(t,e)]],["min",[e=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:b(t,e)]],["sum",[e=>f(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Ie=(e,t,n,l,s,o=!1)=>{if(O(n))return;const[r,a,i,d]=s;return o||(o=V(e)),j(l,(([n,l])=>{o||(e=V(n)?null==a?void 0:a(e,l,t++):V(l)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=V(e)))})),o?r(F(n),D(n)):e},Se=le((e=>{const t=z(),[n,l,s,o,r,a,i,,d,u,c]=te(e,M,(e=>isNaN(e)||V(e)||!0===e||!1===e||""===e?void 0:1*e)),[v,f,h]=re((()=>g)),g={setMetricDefinition:(e,n,l,s,o,r,u)=>{var c;const v=x(l)?[l,o,r,u]:null!=(c=W(pe,l))?c:W(pe,"sum");return d(e,n,((n,l,s,o,r,d)=>{const u=a(e),c=D(o);d||(d=V(u)),n();let h=Ie(u,c,o,l,v,d);C(h)||(h=void 0),h!=u&&(i(e,h),f(t,[e],h,u))}),ne(s,1)),g},delMetricDefinition:e=>(u(e),g),getStore:n,getMetricIds:l,forEachMetric:s,hasMetric:o,getTableId:r,getMetric:a,addMetricListener:(e,n)=>v(n,t,[e]),delListener:e=>(h(e),g),destroy:c,getListenerStats:()=>({})};return ue(g)}));var ye=(e,t,n)=>new Promise(((l,s)=>{var o=e=>{try{a(n.next(e))}catch(e){s(e)}},r=e=>{try{a(n.throw(e))}catch(e){s(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(o,r);a((n=n.apply(e,t)).next())}));const Te=(e,t,n,l,s)=>{let o,r,a=0,i=!1;const d={load:(n,l)=>ye(void 0,null,(function*(){if(2!=a){a=1;const s=yield t();V(s)||""==s?e.setContent([n,l]):e.setJson(s),a=0}return d})),startAutoLoad:(t,n)=>ye(void 0,null,(function*(){return d.stopAutoLoad(),yield d.load(t,n),i=!0,r=l((t=>ye(void 0,null,(function*(){V(t)?yield d.load():2!=a&&(a=1,e.setContent(t),a=0)})))),d})),stopAutoLoad:()=>(i&&(s(r),r=void 0,i=!1),d),save:()=>ye(void 0,null,(function*(){return 1!=a&&(a=2,yield n(e.getContent),a=0),d})),startAutoSave:()=>ye(void 0,null,(function*(){return yield d.stopAutoSave().save(),o=e.addDidFinishTransactionListener(d.save),d})),stopAutoSave:()=>(E(o,e.delListener),d),getStore:()=>e,destroy:()=>d.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ue(d)};var be=Object.getOwnPropertySymbols,Ce=Object.prototype.hasOwnProperty,me=Object.prototype.propertyIsEnumerable;const Ve=le((e=>{const t=e.createStore,[n,l,s,o,r,,,i,,d,u,v,f]=te(e,(()=>!0),M),L=t(),p=t(),I=z(),S=(e,t,...n)=>c(n,(n=>ee(q(q(I,t,z),e,_),n))),y=e=>{E(W(I,e),(e=>{B(e,((e,t)=>j(t,(t=>e.delListener(t))))),P(e)})),c([p,L],(t=>t.delTable(e)))},T=(e,t,n)=>S(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),b={setQueryDefinition:(t,n,l)=>{i(t,n),y(t);const s=[],o=[[null,[n,null,null,[],z()]]],r=[],d=[],u=[];l({select:(e,t)=>{const n=x(e)?[h(s)+"",e]:[V(t)?e:t,n=>n(e,t)];return R(s,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const l=V(n)||x(t)?null:t,s=V(l)?t:n,r=[e,[e,l,x(s)?s:e=>e(s),[],z()]];return R(o,r),{as:e=>r[0]=e}},where:(e,t,n)=>R(r,x(e)?e:V(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,x(t)?[t,n,l,s]:null!=(o=W(pe,t))?o:[(e,t)=>t]]];return R(d,r),{as:e=>r[0]=e}},having:(e,t)=>R(u,x(e)?e:n=>n(e)===t)});const w=z(s);if(O(w))return b;const I=z(o);B(I,((e,[,t])=>E(W(I,t),(({3:t})=>V(e)?0:R(t,e)))));const C=z(d);let m=L;if(O(C)&&g(u))m=p;else{T(t,m,p);const e=z();B(C,((t,[n,l])=>ee(q(e,n,_),[t,l])));const n=_();B(w,(t=>A(e,t)?0:ee(n,t)));const l=z(),s=(n,l,s,o)=>E(n,(([r,i,d,c])=>{B(l,((t,[n])=>{const l=q(r,t,z),a=W(l,s),i=o?void 0:n;if(a!==i){const n=_([[a,i]]),o=D(l);$(l,s,i),j(W(e,t),(([e,t])=>{const s=Ie(c[e],o,l,n,t);c[e]=V(X(s))?null:s}))}})),O(i)||!a(u,(e=>e((e=>c[e]))))?p.delRow(t,d):V(d)?n[2]=p.addRow(t,c):p.setRow(t,d,c)}));S(m,t,m.addRowListener(t,null,((o,r,a,i)=>{const d=[],u=[],c=z(),v=m.hasRow(t,a);let f=!v;j(n,(e=>{const[n,l,s]=i(t,a,e);R(d,l),R(u,s),f||(f=n)})),B(e,(e=>{const[n,,l]=i(t,a,e);(f||n)&&$(c,e,[l])})),f&&s(U(l,d,void 0,(([,e])=>(Q(e,a),O(e)))),c,a,1),v&&s(U(l,u,(()=>{const e={};return j(n,(n=>e[n]=m.getCell(t,a,n))),[z(),_(),void 0,e]}),(([,e])=>{ee(e,a)})),c,a)})))}T(t,e,m);const k=(l,s,o,i)=>{const d=t=>e.getCell(s,o,t);c(i,(n=>{var s;const[o,,r,a,i]=W(I,n),u=null==r?void 0:r(d,l),[c,h]=null!=(s=W(i,l))?s:[];u!=c&&(V(h)||f(t,h),$(i,l,V(u)?null:[u,...v(t,1,e.addRowListener(o,u,(()=>k(l,o,u,a))))]))})),(l=>{const s=(t,s)=>{var o,r,a;return e.getCell(...V(s)?[n,l,t]:t===n?[n,l,s]:[null==(o=W(I,t))?void 0:o[0],null==(a=W(null==(r=W(I,t))?void 0:r[4],l))?void 0:a[0],s])};m.transaction((()=>a(r,(e=>e(s)))?B(w,((e,n)=>Y(m,t,l,e,n(s,l)))):m.delRow(t,l)))})(l)},{3:J}=W(I,null);return m.transaction((()=>v(t,1,e.addRowListener(n,null,((l,s,o)=>{e.hasRow(n,o)?k(o,n,o,J):(m.delRow(t,o),j(I,(({4:e})=>E(W(e,o),(([,n])=>{f(t,n),$(e,o)})))))}))))),b},delQueryDefinition:e=>(y(e),d(e),b),getStore:n,getQueryIds:l,forEachQuery:s,hasQuery:o,getTableId:r,delListener:e=>(p.delListener(e),b),destroy:u,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)Ce.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&be)for(var l of be(e))t.indexOf(l)<0&&me.call(e,l)&&(n[l]=e[l]);return n})(p.getListenerStats(),["tables","tableIds","transaction"])};return he({Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},(([e,t],n)=>{c(e?["get","has","forEach"]:["get"],(e=>b[e+"Result"+n]=(...t)=>p[e+n](...t))),b["addResult"+n+"Listener"]=(...e)=>p["add"+n+"Listener"](...w(e,0,t),((n,...l)=>e[t](b,...l)))})),ue(b)})),Ee=le((e=>{const t=z(),n=z(),l=z(),s=z(),[o,r,a,i,d,u,,,c,v,f]=te(e,(()=>[z(),z(),z(),z()]),(e=>V(e)?void 0:e+"")),[h,g,L]=re((()=>I)),w=(e,t,n)=>E(u(e),(([l,,s])=>{if(!A(s,t)){const o=_();if(d(e)!=p(e))ee(o,t);else{let e=t;for(;!V(e)&&!A(o,e);)ee(o,e),e=W(l,e)}if(n)return o;$(s,t,o)}return W(s,t)})),R=(e,t)=>E(u(e),(([,,e])=>$(e,t))),p=e=>W(t,e),I={setRelationshipDefinition:(e,o,r,a)=>($(t,e,r),c(e,o,((t,o)=>{const r=_(),a=_(),i=_(),[d,c]=u(e);j(o,(([t,n],l)=>{V(t)||(ee(a,t),E(W(c,t),(e=>{Q(e,l),O(e)&&$(c,t)}))),V(n)||(ee(a,n),A(c,n)||$(c,n,_()),ee(W(c,n),l)),ee(r,l),$(d,l,n),B(W(s,e),(t=>{A(w(e,t),l)&&ee(i,t)}))})),t(),j(r,(t=>g(n,[e,t]))),j(a,(t=>g(l,[e,t]))),j(i,(t=>{R(e,t),g(s,[e,t])}))}),ne(a)),I),delRelationshipDefinition:e=>($(t,e),v(e),I),getStore:o,getRelationshipIds:r,forEachRelationship:t=>a((n=>t(n,(t=>e.forEachRow(d(n),t))))),hasRelationship:i,getLocalTableId:d,getRemoteTableId:p,getRemoteRowId:(e,t)=>{var n;return W(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return F(W(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>V(u(e))?[t]:F(w(e,t,!0)),addRemoteRowIdListener:(e,t,l)=>h(l,n,[e,t]),addLocalRowIdsListener:(e,t,n)=>h(n,l,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(w(e,t),h(n,s,[e,t])),delListener:e=>(R(...L(e)),I),destroy:f,getListenerStats:()=>({})};return ue(I)})),ke=e=>[e,e],xe=()=>[z(),z()],Je=(e,t,n,l=$)=>{const s=(o=e=>!ve(t,e),N(e).filter(o));var o;return c(ie(t),(l=>n(e,l,t[l]))),c(s,(t=>l(e,t))),e},Me=(e,t,n)=>V(e)||!ce(e)||ge(e)||de(e)?(null==n||n(),!1):(he(e,((n,l)=>{t(n,l)||fe(e,l)})),!ge(e)),De=(e,t,n)=>$(e,t,W(e,t)==-n?void 0:n),Ae=()=>{let e,t,n,s,a=0;const d=z(),f=z(),h=z(),g=z(),L=z(),p=z(),I=z(),T=z(),b=z(),C=z(),m=z(),J=z(),M=_(),D=z(),F=z(),U=z(),te=xe(),ne=xe(),le=xe(),se=xe(),ae=xe(),ie=xe(),de=xe(),ce=xe(),Le=xe(),Re=xe(),pe=xe(),Ie=xe(),Se=xe(),ye=xe(),[Te,be,Ce,me]=re((()=>Nt)),Ve=e=>{if(!Me(e,((e,t)=>r(["type","default"],t))))return!1;const t=e.type;return!(!k(t)&&t!=l||(X(e.default)!=t&&fe(e,"default"),0))},Ee=(t,n)=>(!e||A(b,n)||ut(n))&&Me(t,((e,t)=>Oe(n,t,e)),(()=>ut(n))),Oe=(e,t,n,l)=>Me(l?n:Qe(n,e,t),((l,s)=>E(Fe(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>ut(e,t))),Fe=(t,n,l,s)=>e?E(W(W(b,t),l),(e=>X(s)!=e.type?ut(t,n,l,s,e.default):s),(()=>ut(t,n,l,s))):V(X(s))?ut(t,n,l,s):s,Pe=(e,t)=>Me(t?e:ze(e),((t,n)=>E(je(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>ct())),je=(e,n)=>t?E(W(m,e),(t=>X(n)!=t.type?ct(e,n,t.default):n),(()=>ct(e,n))):V(X(n))?ct(e,n):n,Qe=(e,t,n)=>(E(W(C,t),(([l,s])=>{j(l,((t,n)=>{ve(e,n)||(e[n]=t)})),j(s,(l=>{ve(e,l)||ut(t,n,l)}))})),e),ze=e=>(t&&(j(J,((t,n)=>{ve(e,n)||(e[n]=t)})),j(M,(t=>{ve(e,t)||ct(t)}))),e),Ne=e=>Je(b,e,((e,t,n)=>{const l=z(),s=_();Je(q(b,t,z),n,((e,t,n)=>{$(e,t,n),E(n.default,(e=>$(l,t,e)),(()=>ee(s,t)))})),$(C,t,[l,s])}),((e,t)=>{$(b,t),$(C,t)})),We=e=>Je(m,e,((e,t,n)=>{$(m,t,n),E(n.default,(e=>$(J,t,e)),(()=>ee(M,t)))}),((e,t)=>{$(m,t),$(J,t),Q(M,t)})),Be=e=>ge(e)?At():kt(e),$e=e=>Je(F,e,((e,t,n)=>qe(t,n)),((e,t)=>et(t))),qe=(e,t)=>Je(q(F,e,(()=>(st(e,1),z()))),t,((t,n,l)=>Ge(e,t,n,l)),((t,n)=>tt(e,t,n))),Ge=(e,t,n,l,s)=>Je(q(t,n,(()=>(ot(e,n,1),z()))),l,((t,l,s)=>He(e,n,t,l,s)),((l,o)=>nt(e,t,n,l,o,s))),He=(e,t,n,l,s)=>{A(n,l)||rt(e,t,l,1);const o=W(n,l);s!==o&&(at(e,t,l,o,s),$(n,l,s))},Ke=(e,t,n,l,s)=>E(W(t,n),(t=>He(e,n,t,l,s)),(()=>Ge(e,t,n,Qe({[l]:s},e,n)))),Ue=e=>ge(e)?Ot():xt(e),Xe=e=>Je(U,e,((e,t,n)=>Ye(t,n)),((e,t)=>lt(t))),Ye=(e,t)=>{A(U,e)||it(e,1);const n=W(U,e);t!==n&&(dt(e,n,t),$(U,e,t))},Ze=(e,t)=>{const[n]=q(D,e,oe),l=n(t);return A(W(F,e),l)?Ze(e,t):l},_e=e=>{var t;return null!=(t=W(F,e))?t:qe(e,{})},et=e=>qe(e,{}),tt=(e,t,n)=>{const[,l]=q(D,e,oe);l(n),Ge(e,t,n,{},!0)},nt=(e,t,n,l,s,o)=>{var r;const a=W(null==(r=W(C,e))?void 0:r[0],s);if(!V(a)&&!o)return He(e,n,l,s,a);const i=t=>{at(e,n,t,W(l,t)),rt(e,n,t,-1),$(l,t)};V(a)?i(s):B(l,i),O(l)&&(ot(e,n,-1),O($(t,n))&&(st(e,-1),$(F,e),$(D,e)))},lt=e=>{const t=W(J,e);if(!V(t))return Ye(e,t);dt(e,W(U,e)),it(e,-1),$(U,e)},st=(e,t)=>De(d,e,t),ot=(e,t,n)=>De(q(f,e,z),t,n),rt=(e,t,n,l)=>De(q(q(h,e,z),t,z),n,l),at=(e,t,n,l,s)=>q(q(q(g,e,z),t,z),n,(()=>[l,0]))[1]=s,it=(e,t)=>De(L,e,t),dt=(e,t,n)=>q(p,e,(()=>[t,0]))[1]=n,ut=(e,t,n,l,s)=>(R(q(q(q(I,e,z),t,z),n,(()=>[])),l),s),ct=(e,t,n)=>(R(q(T,e,(()=>[])),t),n),vt=(e,t,n)=>E(W(W(W(g,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...ke(Ct(e,t,n))])),ft=e=>E(W(p,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ke(Et(e))])),ht=e=>O(I)||O(Le[e])?0:j(e?H(I,K):I,((t,n)=>j(t,((t,l)=>j(t,((t,s)=>be(Le[e],[n,l,s],t))))))),gt=e=>O(T)||O(Re[e])?0:j(e?H(T):T,((t,n)=>be(Re[e],[n],t))),Lt=(e,t,n)=>{if(!O(t))return be(e,n),1},wt=e=>{const t=O(ae[e]),n=O(de[e])&&O(se[e])&&t&&O(ne[e]),l=O(ce[e])&&O(ie[e])&&O(le[e])&&O(te[e]);if(!n||!l){const s=e?[H(d),K(f),H(h,K),H(g,K)]:[d,f,h,g];if(!n){j(s[2],((t,n)=>j(t,((t,l)=>Lt(de[e],t,[n,l])))));const n=_();j(s[1],((l,s)=>{Lt(se[e],l,[s])&&!t&&(be(ae[e],[s,null]),ee(n,s))})),t||j(s[3],((t,l)=>{if(!A(n,l)){const n=_();j(t,(e=>j(e,(([t,l],s)=>l!==t?ee(n,s):Q(e,s))))),j(n,(t=>be(ae[e],[l,t])))}})),Lt(ne[e],s[0])}if(!l){let t;j(s[3],((n,l)=>{let s;j(n,((n,o)=>{let r;j(n,(([n,a],i)=>{a!==n&&(be(ce[e],[l,o,i],a,n,vt),t=s=r=1)})),r&&be(ie[e],[l,o],vt)})),s&&be(le[e],[l],vt)})),t&&be(te[e],void 0,vt)}}},Rt=e=>{const t=O(Ie[e]),n=O(Se[e])&&O(pe[e]);if(!t||!n){const l=e?[H(L),H(p)]:[L,p];if(t||Lt(Ie[e],l[0]),!n){let t;j(l[1],(([n,l],s)=>{l!==n&&(be(Se[e],[s],l,n,ft),t=1)})),t&&be(pe[e],void 0,ft)}}},pt=(e,...t)=>(jt((()=>e(...v(t,o)))),Nt),It=()=>G(F,(e=>G(e,G))),St=()=>N(F),yt=e=>N(W(F,o(e))),Tt=(e,t,n,l=0,s)=>{return v(w(u((r=W(F,o(e)),a=(e,n)=>[V(t)?n:W(e,o(t)),n],v([...null!=(i=null==r?void 0:r.entries())?i:[]],(([e,t])=>a(t,e)))),(([e],[t])=>we(e,t)*(n?-1:1))),l,V(s)?s:l+s),(([,e])=>e));var r,a,i},bt=(e,t)=>N(W(W(F,o(e)),o(t))),Ct=(e,t,n)=>W(W(W(F,o(e)),o(t)),o(n)),mt=()=>G(U),Vt=()=>N(U),Et=e=>W(U,o(e)),kt=e=>pt((()=>(e=>Me(e,Ee,ut))(e)?$e(e):0)),xt=e=>pt((()=>Pe(e)?Xe(e):0)),Jt=e=>{try{Be(y(e))}catch(e){}return Nt},Mt=t=>pt((()=>{if((e=Me(t,(e=>Me(e,Ve))))&&(Ne(t),!O(F))){const e=It();At(),kt(e)}})),Dt=e=>pt((()=>{if(t=(e=>Me(e,Ve))(e)){const n=mt();Pt(),Ot(),t=!0,We(e),xt(n)}})),At=()=>pt((()=>$e({}))),Ot=()=>pt((()=>Xe({}))),Ft=()=>pt((()=>{Ne({}),e=!1})),Pt=()=>pt((()=>{We({}),t=!1})),jt=(e,t)=>{if(-1==a)return;Qt();const n=e();return zt(t),n},Qt=()=>(a++,Nt),zt=e=>{if(a>0&&(a--,0==a)){n=!O(g),s=!O(p),a=1,ht(1),n&&wt(1),gt(1),s&&Rt(1),a=-1;let t=!e&&O(ye[0])&&O(ye[1])?[{},{},{},{}]:[G(g,(e=>G(e,(e=>G(e,(e=>[...e]),(([e,t])=>e===t))),ge)),ge),G(I,(e=>G(e,G))),G(p,(e=>[...e]),(([e,t])=>e===t)),G(T)];(null==e?void 0:e(...t))&&(a=1,j(g,((e,t)=>j(e,((e,n)=>j(e,(([e],l)=>Y(Nt,t,n,l,e))))))),j(p,(([e],t)=>Z(Nt,t,e))),a=-1,n=s=!1,t=[{},{},{},{}]),be(ye[0],void 0,n,s,...t),ht(0),n&&wt(0),gt(0),s&&Rt(0),be(ye[1],void 0,n,s,...t),a=0,c([d,f,h,g,I,L,p,T],P)}return Nt},Nt={getContent:()=>[It(),mt()],getTables:It,getTableIds:St,getTable:e=>G(W(F,o(e)),G),getRowIds:yt,getSortedRowIds:Tt,getRow:(e,t)=>G(W(W(F,o(e)),o(t))),getCellIds:bt,getCell:Ct,getValues:mt,getValueIds:Vt,getValue:Et,hasTables:()=>!O(F),hasTable:e=>A(F,o(e)),hasRow:(e,t)=>A(W(F,o(e)),o(t)),hasCell:(e,t,n)=>A(W(W(F,o(e)),o(t)),o(n)),hasValues:()=>!O(U),hasValue:e=>A(U,o(e)),getTablesJson:()=>S(F),getValuesJson:()=>S(U),getJson:()=>S([F,U]),getTablesSchemaJson:()=>S(b),getValuesSchemaJson:()=>S(m),getSchemaJson:()=>S([b,m]),setContent:([e,t])=>pt((()=>{kt(e),xt(t)})),setTables:kt,setTable:(e,t)=>pt((e=>Ee(t,e)?qe(e,t):0),e),setRow:(e,t,n)=>pt(((e,t)=>Oe(e,t,n)?Ge(e,_e(e),t,n):0),e,t),addRow:(e,t,n=!0)=>jt((()=>{let l;return Oe(e,l,t)&&(e=o(e),Ge(e,_e(e),l=Ze(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>pt(((e,t)=>{if(Oe(e,t,n,1)){const l=_e(e);he(n,((n,s)=>Ke(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>pt(((e,t,n)=>E(Fe(e,t,n,x(l)?l(Ct(e,t,n)):l),(l=>Ke(e,_e(e),t,n,l)))),e,t,n),setValues:xt,setPartialValues:e=>pt((()=>Pe(e,1)?he(e,((e,t)=>Ye(t,e))):0)),setValue:(e,t)=>pt((e=>E(je(e,x(t)?t(Et(e)):t),(t=>Ye(e,t)))),e),setTablesJson:Jt,setValuesJson:e=>{try{Ue(y(e))}catch(e){}return Nt},setJson:e=>{try{const[t,n]=y(e);Be(t),Ue(n)}catch(t){Jt(e)}return Nt},setTablesSchema:Mt,setValuesSchema:Dt,setSchema:(e,t)=>pt((()=>{Mt(e),Dt(t)})),delTables:At,delTable:e=>pt((e=>A(F,e)?et(e):0),e),delRow:(e,t)=>pt(((e,t)=>E(W(F,e),(n=>A(n,t)?tt(e,n,t):0))),e,t),delCell:(e,t,n,l)=>pt(((e,t,n)=>E(W(F,e),(s=>E(W(s,t),(o=>A(o,n)?nt(e,s,t,o,n,l):0))))),e,t,n),delValues:Ot,delValue:e=>pt((e=>A(U,e)?lt(e):0),e),delTablesSchema:Ft,delValuesSchema:Pt,delSchema:()=>pt((()=>{Ft(),Pt()})),transaction:jt,startTransaction:Qt,finishTransaction:zt,forEachTable:e=>j(F,((t,n)=>e(n,(e=>j(t,((t,n)=>e(n,(e=>B(t,e))))))))),forEachRow:(e,t)=>j(W(F,o(e)),((e,n)=>t(n,(t=>B(e,t))))),forEachCell:(e,t,n)=>B(W(W(F,o(e)),o(t)),n),forEachValue:e=>B(U,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let a=Tt(e,t,n,l,s);return Te((()=>{const r=Tt(e,t,n,l,s);i(r,a)||(a=r,o(Nt,e,t,n,l,s,a))}),ae[r?1:0],[e,t],[St])},addWillFinishTransactionListener:e=>Te(e,ye[0]),addDidFinishTransactionListener:e=>Te(e,ye[1]),callListener:e=>(me(e),Nt),delListener:e=>(Ce(e),Nt),getListenerStats:()=>({}),createStore:Ae};return he({Tables:[0,te],TableIds:[0,ne],Table:[1,le,[St]],RowIds:[1,se,[St]],Row:[2,ie,[St,yt]],CellIds:[2,de,[St,yt]],Cell:[3,ce,[St,yt,bt],e=>ke(Ct(...e))],InvalidCell:[3,Le],Values:[0,pe],ValueIds:[0,Ie],Value:[1,Se,[Vt],e=>ke(Et(e[0]))],InvalidValue:[1,Re]},(([e,t,n,l],s)=>{Nt["add"+s+"Listener"]=(...s)=>Te(s[e],t[s[e+1]?1:0],e>0?w(s,0,e):void 0,n,l)})),ue(Nt)};export{Le as createCheckpoints,Te as createCustomPersister,Re as createIndexes,Se as createMetrics,Ve as createQueries,Ee as createRelationships,Ae as createStore,we as defaultSorter};
|
package/lib/es6/tinybase.js.gz
CHANGED
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const t=t=>null==t,e=Object.freeze,a=globalThis.window,o=(o,s,n)=>((o,r,i,c,u)=>{let d,v,l=0,g=!1;const y={load:async(e,a)=>{if(2!=l){l=1;const r=await(async()=>n.getItem(s))();t(r)||""==r?o.setContent([e,a]):o.setJson(r),l=0}return y},startAutoLoad:async(e,r)=>(y.stopAutoLoad(),await y.load(e,r),g=!0,v=(t=>{const e=e=>{if(e.storageArea===n&&e.key===s){let a;try{a=JSON.parse(e.newValue)}catch{}t(a)}};return a.addEventListener("storage",e),e})((async e=>{t(e)?await y.load():2!=l&&(l=1,o.setContent(e),l=0)})),y),stopAutoLoad:()=>{return g&&(t=v,a.removeEventListener("storage",t),v=void 0,g=!1),y;var t},save:async()=>(1!=l&&(l=2,await(async t=>{return n.setItem(s,(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(a=(t,[e,a])=>(t[e]=a,t),o={},[...e].reduce(a,o)):e;var a,o}))));var e})(o.getContent),l=0),y),startAutoSave:async()=>(await y.stopAutoSave().save(),d=o.addDidFinishTransactionListener(y.save),y),stopAutoSave:()=>{var e,a;return e=d,a=o.delListener,t(e)||a(e),y},getStore:()=>o,destroy:()=>y.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(y)})(o),s=(t,e)=>o(t,e,localStorage),n=(t,e)=>o(t,e,sessionStorage);export{s as createLocalPersister,n as createSessionPersister};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{readFile as t,writeFile as a}from"fs/promises";import{watch as e}from"fs";const o=t=>null==t,s=Object.freeze,r=(r,n)=>((r,i,c,u,d)=>{let v,p,y=0,f=!1;const l={load:async(a,e)=>{if(2!=y){y=1;const s=await(async()=>{try{return await t(n,"utf8")}catch{}})();o(s)||""==s?r.setContent([a,e]):r.setJson(s),y=0}return l},startAutoLoad:async(t,a)=>{return l.stopAutoLoad(),await l.load(t,a),f=!0,s=async t=>{o(t)?await l.load():2!=y&&(y=1,r.setContent(t),y=0)},p=e(n,(()=>s())),l;var s},stopAutoLoad:()=>(f&&(p?.close(),p=void 0,f=!1),l),save:async()=>(1!=y&&(y=2,await(async t=>{try{await a(n,(e=t(),JSON.stringify(e,((t,a)=>{return a instanceof Map?(e=(t,[a,e])=>(t[a]=e,t),o={},[...a].reduce(e,o)):a;var e,o}))),"utf8")}catch{}var e})(r.getContent),y=0),l),startAutoSave:async()=>(await l.stopAutoSave().save(),v=r.addDidFinishTransactionListener(l.save),l),stopAutoSave:()=>{var t,a;return t=v,a=r.delListener,o(t)||a(t),l},getStore:()=>r,destroy:()=>l.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(l)})(r);export{r as createFilePersister};
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const t=t=>null==t,e=Object.freeze,a=t=>t.headers.get("ETag"),n=(n,o,s,r)=>{let c;return((n,i,d,u,v)=>{let l,y,p=0,A=!1;const h={load:async(e,s)=>{if(2!=p){p=1;const r=await(async()=>{const t=await fetch(o);return c=a(t),t.text()})();t(r)||""==r?n.setContent([e,s]):n.setJson(r),p=0}return h},startAutoLoad:async(e,s)=>{return h.stopAutoLoad(),await h.load(e,s),A=!0,i=async e=>{t(e)?await h.load():2!=p&&(p=1,n.setContent(e),p=0)},y=setInterval((async()=>{const e=await fetch(o,{method:"HEAD"}),n=a(e);t(c)||t(n)||n==c||(c=n,i())}),1e3*r),h;var i},stopAutoLoad:()=>(A&&(clearInterval(y),y=void 0,A=!1),h),save:async()=>(1!=p&&(p=2,await(async t=>{return await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(a=(t,[e,a])=>(t[e]=a,t),n={},[...e].reduce(a,n)):e;var a,n})))});var e})(n.getContent),p=0),h),startAutoSave:async()=>(await h.stopAutoSave().save(),l=n.addDidFinishTransactionListener(h.save),h),stopAutoSave:()=>{var e,a;return e=l,a=n.delListener,t(e)||a(e),h},getStore:()=>n,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(h)})(n)};export{n as createRemotePersister};
|
|
Binary file
|
package/lib/persister-yjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=t=>null==t,e=
|
|
1
|
+
const t=t=>null==t,e=Object.freeze,a=(a,s)=>{const o=s.getMap("tinybase/store");return((a,s,n,r,i)=>{let u,c,d=0,v=!1;const y={load:async(e,s)=>{if(2!=d){d=1;const n=await(async()=>o.get("json"))();t(n)||""==n?a.setContent([e,s]):a.setJson(n),d=0}return y},startAutoLoad:async(e,s)=>(y.stopAutoLoad(),await y.load(e,s),v=!0,c=(t=>{const e=()=>t();return o.observe(e),e})((async e=>{t(e)?await y.load():2!=d&&(d=1,a.setContent(e),d=0)})),y),stopAutoLoad:()=>{return v&&(t=c,o.unobserve(t),c=void 0,v=!1),y;var t},save:async()=>(1!=d&&(d=2,await(async t=>{o.set("json",JSON.stringify(t()))})(a.getContent),d=0),y),startAutoSave:async()=>(await y.stopAutoSave().save(),u=a.addDidFinishTransactionListener(y.save),y),stopAutoSave:()=>{var e,s;return e=u,s=a.delListener,t(e)||s(e),y},getStore:()=>a,destroy:()=>y.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(y)})(a)};export{a as createYjsPersister};
|
package/lib/persister-yjs.js.gz
CHANGED
|
Binary file
|
package/lib/persisters.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const t=t=>null==t,a=Object.freeze,o=(o,e,s,n,r)=>{let d,i,u=0,c=!1;const v={load:async(a,s)=>{if(2!=u){u=1;const n=await e();t(n)||""==n?o.setContent([a,s]):o.setJson(n),u=0}return v},startAutoLoad:async(a,e)=>(v.stopAutoLoad(),await v.load(a,e),c=!0,i=n((async a=>{t(a)?await v.load():2!=u&&(u=1,o.setContent(a),u=0)})),v),stopAutoLoad:()=>(c&&(r(i),i=void 0,c=!1),v),save:async()=>(1!=u&&(u=2,await s(o.getContent),u=0),v),startAutoSave:async()=>(await v.stopAutoSave().save(),d=o.addDidFinishTransactionListener(v.save),v),stopAutoSave:()=>{var a,e;return a=d,e=o.delListener,t(a)||e(a),v},getStore:()=>o,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return a(v)};export{o as createCustomPersister};
|
package/lib/persisters.js.gz
CHANGED
|
Binary file
|
package/lib/store.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=e=>typeof e,t=e(""),s=e(!0),l=e(0),a=e(e),n=e=>""+e,r=(e,t)=>e.forEach(t),o=(e,t)=>e.map(t),c=e=>e.length,u=(e,t,s)=>e.slice(t,s),i=(e,...t)=>e.push(...t),d=e=>JSON.stringify(e,((e,t)=>{return T(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),l={},[...t].reduce(s,l)):t;var s,l})),f=JSON.parse,h=isFinite,T=(e,t)=>e instanceof t,V=e=>null==e,g=(e,t,s)=>V(e)?s?.():t(e),b=e=>e==t||e==s,v=t=>e(t)==a,S=(e,t)=>e?.has(t)??!1,w=e=>V(e)||0==(e=>e.size)(e),y=e=>e.clear(),I=(e,t)=>e?.forEach(t),R=(e,t)=>e?.delete(t),p=e=>new Map(e),C=e=>[...e?.keys()??[]],J=(e,t)=>e?.get(t),m=(e,t)=>I(e,((e,s)=>t(s,e))),L=(e,t,s)=>V(s)?(R(e,t),e):e?.set(t,s),E=(e,t,s)=>(S(e,t)||L(e,t,s()),J(e,t)),F=(e,t,s)=>{const l={},a=t??(e=>e);return I(e,((e,t)=>g(a(e),(e=>s?.(e)?0:l[t]=e)))),l},z=(e,t)=>{const s=p(),l=t??(e=>e);return I(e,((e,t)=>s.set(t,l(e)))),s},O=e=>z(e,z),k=(e,t,s,l,a=0)=>g((s?E:J)(e,t[a],a>c(t)-2?s:p),(n=>{if(a>c(t)-2)return l?.(n)&&L(e,t[a]),n;const r=k(n,t,s,l,a+1);return w(n)&&L(e,t[a]),r})),A=e=>new Set(Array.isArray(e)||V(e)?e:[e]),M=(e,t)=>e?.add(t),N=/^\d+$/,P=()=>{const e=[];let t=0;return[s=>(s?e.shift():null)??""+t++,t=>{N.test(t)&&c(e)<1e3&&i(e,t)}]},j=Object,x=j.keys,D=j.isFrozen,W=j.freeze,$=e=>T(e,j)&&e.constructor==j,q=(e,t)=>!V(((e,t)=>g(e,(e=>e[t])))(e,t)),B=(e,t)=>delete e[t],G=(e,t)=>o(j.entries(e),(([e,s])=>t(s,e))),H=e=>{return $(e)&&(t=x(e),0==c(t));var t},K=e=>[e,e],Q=()=>[p(),p()],U=t=>{const s=e(t);return b(s)||s==l&&h(t)?s:void 0},X=(e,t,s,l=L)=>{const a=(n=e=>!q(t,e),C(e).filter(n));var n;return r(x(t),(l=>s(e,l,t[l]))),r(a,(t=>l(e,t))),e},Y=(e,t,s)=>V(e)||!$(e)||H(e)||D(e)?(s?.(),!1):(G(e,((s,l)=>{t(s,l)||B(e,l)})),!H(e)),Z=(e,t,s)=>L(e,t,J(e,t)==-s?void 0:s),_=()=>{let e,t,s,a,h=0;const T=p(),N=p(),j=p(),x=p(),D=p(),$=p(),ee=p(),te=p(),se=p(),le=p(),ae=p(),ne=p(),re=A(),oe=p(),ce=p(),ue=p(),ie=Q(),de=Q(),fe=Q(),he=Q(),Te=Q(),Ve=Q(),ge=Q(),be=Q(),ve=Q(),Se=Q(),we=Q(),ye=Q(),Ie=Q(),Re=Q(),[pe,Ce,Je,me]=(e=>{let t;const[s,l]=P(),a=p();return[(e,l,n,r=[],o=(()=>[]))=>{t??=Nt;const c=s(1);return L(a,c,[e,l,n,r,o]),M(k(l,n??[""],A),c),c},(e,s,...l)=>r(((e,t=[""])=>{const s=[],l=(e,a)=>a==c(t)?i(s,e):null===t[a]?I(e,(e=>l(e,a+1))):r([t[a],null],(t=>l(J(e,t),a+1)));return l(e,0),s})(e,s),(e=>I(e,(e=>J(a,e)[0](t,...s??[],...l))))),e=>g(J(a,e),(([,t,s])=>(k(t,s??[""],void 0,(t=>(R(t,e),w(t)?1:0))),L(a,e),l(e),s))),e=>g(J(a,e),(([e,,s=[],l,a])=>{const n=(...o)=>{const u=c(o);u==c(s)?e(t,...o,...a(o)):V(s[u])?r(l[u]?.(...o)??[],(e=>n(...o,e))):n(...o,s[u])};n()}))]})(),Le=e=>{if(!Y(e,((e,t)=>["type","default"].includes(t))))return!1;const t=e.type;return!(!b(t)&&t!=l||(U(e.default)!=t&&B(e,"default"),0))},Ee=(t,s)=>(!e||S(se,s)||nt(s))&&Y(t,((e,t)=>Fe(s,t,e)),(()=>nt(s))),Fe=(e,t,s,l)=>Y(l?s:Ae(s,e,t),((l,a)=>g(ze(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>nt(e,t))),ze=(t,s,l,a)=>e?g(J(J(se,t),l),(e=>U(a)!=e.type?nt(t,s,l,a,e.default):a),(()=>nt(t,s,l,a))):V(U(a))?nt(t,s,l,a):a,Oe=(e,t)=>Y(t?e:Me(e),((t,s)=>g(ke(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>rt())),ke=(e,s)=>t?g(J(ae,e),(t=>U(s)!=t.type?rt(e,s,t.default):s),(()=>rt(e,s))):V(U(s))?rt(e,s):s,Ae=(e,t,s)=>(g(J(le,t),(([l,a])=>{I(l,((t,s)=>{q(e,s)||(e[s]=t)})),I(a,(l=>{q(e,l)||nt(t,s,l)}))})),e),Me=e=>(t&&(I(ne,((t,s)=>{q(e,s)||(e[s]=t)})),I(re,(t=>{q(e,t)||rt(t)}))),e),Ne=e=>X(se,e,((e,t,s)=>{const l=p(),a=A();X(E(se,t,p),s,((e,t,s)=>{L(e,t,s),g(s.default,(e=>L(l,t,e)),(()=>M(a,t)))})),L(le,t,[l,a])}),((e,t)=>{L(se,t),L(le,t)})),Pe=e=>X(ae,e,((e,t,s)=>{L(ae,t,s),g(s.default,(e=>L(ne,t,e)),(()=>M(re,t)))}),((e,t)=>{L(ae,t),L(ne,t),R(re,t)})),je=e=>H(e)?Et():pt(e),xe=e=>X(ce,e,((e,t,s)=>De(t,s)),((e,t)=>Ue(t))),De=(e,t)=>X(E(ce,e,(()=>(_e(e,1),p()))),t,((t,s,l)=>We(e,t,s,l)),((t,s)=>Xe(e,t,s))),We=(e,t,s,l,a)=>X(E(t,s,(()=>(et(e,s,1),p()))),l,((t,l,a)=>$e(e,s,t,l,a)),((l,n)=>Ye(e,t,s,l,n,a))),$e=(e,t,s,l,a)=>{S(s,l)||tt(e,t,l,1);const n=J(s,l);a!==n&&(st(e,t,l,n,a),L(s,l,a))},qe=(e,t,s,l,a)=>g(J(t,s),(t=>$e(e,s,t,l,a)),(()=>We(e,t,s,Ae({[l]:a},e,s)))),Be=e=>H(e)?Ft():Ct(e),Ge=e=>X(ue,e,((e,t,s)=>He(t,s)),((e,t)=>Ze(t))),He=(e,t)=>{S(ue,e)||lt(e,1);const s=J(ue,e);t!==s&&(at(e,s,t),L(ue,e,t))},Ke=(e,t)=>{const[s]=E(oe,e,P),l=s(t);return S(J(ce,e),l)?Ke(e,t):l},Qe=e=>J(ce,e)??De(e,{}),Ue=e=>De(e,{}),Xe=(e,t,s)=>{const[,l]=E(oe,e,P);l(s),We(e,t,s,{},!0)},Ye=(e,t,s,l,a,n)=>{const r=J(J(le,e)?.[0],a);if(!V(r)&&!n)return $e(e,s,l,a,r);const o=t=>{st(e,s,t,J(l,t)),tt(e,s,t,-1),L(l,t)};V(r)?o(a):m(l,o),w(l)&&(et(e,s,-1),w(L(t,s))&&(_e(e,-1),L(ce,e),L(oe,e)))},Ze=e=>{const t=J(ne,e);if(!V(t))return He(e,t);at(e,J(ue,e)),lt(e,-1),L(ue,e)},_e=(e,t)=>Z(T,e,t),et=(e,t,s)=>Z(E(N,e,p),t,s),tt=(e,t,s,l)=>Z(E(E(j,e,p),t,p),s,l),st=(e,t,s,l,a)=>E(E(E(x,e,p),t,p),s,(()=>[l,0]))[1]=a,lt=(e,t)=>Z(D,e,t),at=(e,t,s)=>E($,e,(()=>[t,0]))[1]=s,nt=(e,t,s,l,a)=>(i(E(E(E(ee,e,p),t,p),s,(()=>[])),l),a),rt=(e,t,s)=>(i(E(te,e,(()=>[])),t),s),ot=(e,t,s)=>g(J(J(J(x,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...K(wt(e,t,s))])),ct=e=>g(J($,e),(([e,t])=>[!0,e,t]),(()=>[!1,...K(Rt(e))])),ut=e=>w(ee)||w(ve[e])?0:I(e?z(ee,O):ee,((t,s)=>I(t,((t,l)=>I(t,((t,a)=>Ce(ve[e],[s,l,a],t))))))),it=e=>w(te)||w(Se[e])?0:I(e?z(te):te,((t,s)=>Ce(Se[e],[s],t))),dt=(e,t,s)=>{if(!w(t))return Ce(e,s),1},ft=e=>{const t=w(Te[e]),s=w(ge[e])&&w(he[e])&&t&&w(de[e]),l=w(be[e])&&w(Ve[e])&&w(fe[e])&&w(ie[e]);if(!s||!l){const a=e?[z(T),O(N),z(j,O),z(x,O)]:[T,N,j,x];if(!s){I(a[2],((t,s)=>I(t,((t,l)=>dt(ge[e],t,[s,l])))));const s=A();I(a[1],((l,a)=>{dt(he[e],l,[a])&&!t&&(Ce(Te[e],[a,null]),M(s,a))})),t||I(a[3],((t,l)=>{if(!S(s,l)){const s=A();I(t,(e=>I(e,(([t,l],a)=>l!==t?M(s,a):R(e,a))))),I(s,(t=>Ce(Te[e],[l,t])))}})),dt(de[e],a[0])}if(!l){let t;I(a[3],((s,l)=>{let a;I(s,((s,n)=>{let r;I(s,(([s,o],c)=>{o!==s&&(Ce(be[e],[l,n,c],o,s,ot),t=a=r=1)})),r&&Ce(Ve[e],[l,n],ot)})),a&&Ce(fe[e],[l],ot)})),t&&Ce(ie[e],void 0,ot)}}},ht=e=>{const t=w(ye[e]),s=w(Ie[e])&&w(we[e]);if(!t||!s){const l=e?[z(D),z($)]:[D,$];if(t||dt(ye[e],l[0]),!s){let t;I(l[1],(([s,l],a)=>{l!==s&&(Ce(Ie[e],[a],l,s,ct),t=1)})),t&&Ce(we[e],void 0,ct)}}},Tt=(e,...t)=>(kt((()=>e(...o(t,n)))),Nt),Vt=()=>F(ce,(e=>F(e,F))),gt=()=>C(ce),bt=e=>C(J(ce,n(e))),vt=(e,t,s,l=0,a)=>{return o(u((c=J(ce,n(e)),i=(e,s)=>[V(t)?s:J(e,n(t)),s],r=([e],[t])=>(e<t?-1:1)*(s?-1:1),o([...c?.entries()??[]],(([e,t])=>i(t,e))).sort(r)),l,V(a)?a:l+a),(([,e])=>e));var r,c,i},St=(e,t)=>C(J(J(ce,n(e)),n(t))),wt=(e,t,s)=>J(J(J(ce,n(e)),n(t)),n(s)),yt=()=>F(ue),It=()=>C(ue),Rt=e=>J(ue,n(e)),pt=e=>Tt((()=>(e=>Y(e,Ee,nt))(e)?xe(e):0)),Ct=e=>Tt((()=>Oe(e)?Ge(e):0)),Jt=e=>{try{je(f(e))}catch{}return Nt},mt=t=>Tt((()=>{if((e=Y(t,(e=>Y(e,Le))))&&(Ne(t),!w(ce))){const e=Vt();Et(),pt(e)}})),Lt=e=>Tt((()=>{if(t=(e=>Y(e,Le))(e)){const s=yt();Ot(),Ft(),t=!0,Pe(e),Ct(s)}})),Et=()=>Tt((()=>xe({}))),Ft=()=>Tt((()=>Ge({}))),zt=()=>Tt((()=>{Ne({}),e=!1})),Ot=()=>Tt((()=>{Pe({}),t=!1})),kt=(e,t)=>{if(-1==h)return;At();const s=e();return Mt(t),s},At=()=>(h++,Nt),Mt=e=>(h>0&&(h--,0==h&&(s=!w(x),a=!w($),h=1,ut(1),s&&ft(1),it(1),a&&ht(1),h=-1,e?.(F(x,(e=>F(e,(e=>F(e,(e=>[...e]),(([e,t])=>e===t))),H)),H),F(ee,(e=>F(e,F))),F($,(e=>[...e]),(([e,t])=>e===t)),F(te))&&(h=1,I(x,((e,t)=>I(e,((e,s)=>I(e,(([e],l)=>((e,t,s,l,a)=>V(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a))(Nt,t,s,l,e))))))),I($,(([e],t)=>((e,t,s)=>V(s)?e.delValue(t):e.setValue(t,s))(Nt,t,e))),h=-1,s=a=!1),Ce(Re[0],void 0,s,a),ut(0),s&&ft(0),it(0),a&&ht(0),Ce(Re[1],void 0,s,a),h=0,r([T,N,j,x,ee,D,$,te],y))),Nt),Nt={getTables:Vt,getTableIds:gt,getTable:e=>F(J(ce,n(e)),F),getRowIds:bt,getSortedRowIds:vt,getRow:(e,t)=>F(J(J(ce,n(e)),n(t))),getCellIds:St,getCell:wt,getValues:yt,getValueIds:It,getValue:Rt,hasTables:()=>!w(ce),hasTable:e=>S(ce,n(e)),hasRow:(e,t)=>S(J(ce,n(e)),n(t)),hasCell:(e,t,s)=>S(J(J(ce,n(e)),n(t)),n(s)),hasValues:()=>!w(ue),hasValue:e=>S(ue,n(e)),getTablesJson:()=>d(ce),getValuesJson:()=>d(ue),getJson:()=>d([ce,ue]),getTablesSchemaJson:()=>d(se),getValuesSchemaJson:()=>d(ae),getSchemaJson:()=>d([se,ae]),setTables:pt,setTable:(e,t)=>Tt((e=>Ee(t,e)?De(e,t):0),e),setRow:(e,t,s)=>Tt(((e,t)=>Fe(e,t,s)?We(e,Qe(e),t,s):0),e,t),addRow:(e,t,s=!0)=>kt((()=>{let l;return Fe(e,l,t)&&(e=n(e),We(e,Qe(e),l=Ke(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Tt(((e,t)=>{if(Fe(e,t,s,1)){const l=Qe(e);G(s,((s,a)=>qe(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>Tt(((e,t,s)=>g(ze(e,t,s,v(l)?l(wt(e,t,s)):l),(l=>qe(e,Qe(e),t,s,l)))),e,t,s),setValues:Ct,setPartialValues:e=>Tt((()=>Oe(e,1)?G(e,((e,t)=>He(t,e))):0)),setValue:(e,t)=>Tt((e=>g(ke(e,v(t)?t(Rt(e)):t),(t=>He(e,t)))),e),setTablesJson:Jt,setValuesJson:e=>{try{Be(f(e))}catch{}return Nt},setJson:e=>{try{const[t,s]=f(e);je(t),Be(s)}catch{Jt(e)}return Nt},setTablesSchema:mt,setValuesSchema:Lt,setSchema:(e,t)=>Tt((()=>{mt(e),Lt(t)})),delTables:Et,delTable:e=>Tt((e=>S(ce,e)?Ue(e):0),e),delRow:(e,t)=>Tt(((e,t)=>g(J(ce,e),(s=>S(s,t)?Xe(e,s,t):0))),e,t),delCell:(e,t,s,l)=>Tt(((e,t,s)=>g(J(ce,e),(a=>g(J(a,t),(n=>S(n,s)?Ye(e,a,t,n,s,l):0))))),e,t,s),delValues:Ft,delValue:e=>Tt((e=>S(ue,e)?Ze(e):0),e),delTablesSchema:zt,delValuesSchema:Ot,delSchema:()=>Tt((()=>{zt(),Ot()})),transaction:kt,startTransaction:At,finishTransaction:Mt,forEachTable:e=>I(ce,((t,s)=>e(s,(e=>I(t,((t,s)=>e(s,(e=>m(t,e))))))))),forEachRow:(e,t)=>I(J(ce,n(e)),((e,s)=>t(s,(t=>m(e,t))))),forEachCell:(e,t,s)=>m(J(J(ce,n(e)),n(t)),s),forEachValue:e=>m(ue,e),addSortedRowIdsListener:(e,t,s,l,a,n,r)=>{let o=vt(e,t,s,l,a);return pe((()=>{const r=vt(e,t,s,l,a);var u,i,d;i=o,c(u=r)===c(i)&&(d=(e,t)=>i[t]===e,u.every(d))||(o=r,n(Nt,e,t,s,l,a,o))}),Te[r?1:0],[e,t],[gt])},addWillFinishTransactionListener:e=>pe(e,Re[0]),addDidFinishTransactionListener:e=>pe(e,Re[1]),callListener:e=>(me(e),Nt),delListener:e=>(Je(e),Nt),getListenerStats:()=>({}),createStore:_};return G({Tables:[0,ie],TableIds:[0,de],Table:[1,fe,[gt]],RowIds:[1,he,[gt]],Row:[2,Ve,[gt,bt]],CellIds:[2,ge,[gt,bt]],Cell:[3,be,[gt,bt,St],e=>K(wt(...e))],InvalidCell:[3,ve],Values:[0,we],ValueIds:[0,ye],Value:[1,Ie,[It],e=>K(Rt(e[0]))],InvalidValue:[1,Se]},(([e,t,s,l],a)=>{Nt["add"+a+"Listener"]=(...a)=>pe(a[e],t[a[e+1]?1:0],e>0?u(a,0,e):void 0,s,l)})),W(Nt)};export{_ as createStore};
|
|
1
|
+
const e=e=>typeof e,t=e(""),s=e(!0),l=e(0),n=e(e),a=e=>""+e,r=(e,t)=>e.forEach(t),o=(e,t)=>e.map(t),c=e=>e.length,u=(e,t,s)=>e.slice(t,s),i=(e,...t)=>e.push(...t),d=e=>JSON.stringify(e,((e,t)=>{return g(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),l={},[...t].reduce(s,l)):t;var s,l})),f=JSON.parse,h=isFinite,g=(e,t)=>e instanceof t,T=e=>null==e,V=(e,t,s)=>T(e)?s?.():t(e),b=e=>e==t||e==s,v=t=>e(t)==n,S=(e,t)=>e?.has(t)??!1,w=e=>T(e)||0==(e=>e.size)(e),y=e=>e.clear(),C=(e,t)=>e?.forEach(t),I=(e,t)=>e?.delete(t),R=e=>new Map(e),p=e=>[...e?.keys()??[]],J=(e,t)=>e?.get(t),m=(e,t)=>C(e,((e,s)=>t(s,e))),L=(e,t,s)=>T(s)?(I(e,t),e):e?.set(t,s),E=(e,t,s)=>(S(e,t)||L(e,t,s()),J(e,t)),F=(e,t,s)=>{const l={},n=t??(e=>e);return C(e,((e,t)=>V(n(e),(e=>s?.(e)?0:l[t]=e)))),l},z=(e,t)=>{const s=R(),l=t??(e=>e);return C(e,((e,t)=>s.set(t,l(e)))),s},O=e=>z(e,z),k=(e,t,s,l,n=0)=>V((s?E:J)(e,t[n],n>c(t)-2?s:R),(a=>{if(n>c(t)-2)return l?.(a)&&L(e,t[n]),a;const r=k(a,t,s,l,n+1);return w(a)&&L(e,t[n]),r})),A=e=>new Set(Array.isArray(e)||T(e)?e:[e]),M=(e,t)=>e?.add(t),N=/^\d+$/,P=()=>{const e=[];let t=0;return[s=>(s?e.shift():null)??""+t++,t=>{N.test(t)&&c(e)<1e3&&i(e,t)}]},j=Object,x=j.keys,D=j.isFrozen,W=j.freeze,$=e=>g(e,j)&&e.constructor==j,q=(e,t)=>!T(((e,t)=>V(e,(e=>e[t])))(e,t)),B=(e,t)=>delete e[t],G=(e,t)=>o(j.entries(e),(([e,s])=>t(s,e))),H=e=>{return $(e)&&(t=x(e),0==c(t));var t},K=e=>[e,e],Q=()=>[R(),R()],U=t=>{const s=e(t);return b(s)||s==l&&h(t)?s:void 0},X=(e,t,s,l=L)=>{const n=(a=e=>!q(t,e),p(e).filter(a));var a;return r(x(t),(l=>s(e,l,t[l]))),r(n,(t=>l(e,t))),e},Y=(e,t,s)=>T(e)||!$(e)||H(e)||D(e)?(s?.(),!1):(G(e,((s,l)=>{t(s,l)||B(e,l)})),!H(e)),Z=(e,t,s)=>L(e,t,J(e,t)==-s?void 0:s),_=()=>{let e,t,s,n,h=0;const g=R(),N=R(),j=R(),x=R(),D=R(),$=R(),ee=R(),te=R(),se=R(),le=R(),ne=R(),ae=R(),re=A(),oe=R(),ce=R(),ue=R(),ie=Q(),de=Q(),fe=Q(),he=Q(),ge=Q(),Te=Q(),Ve=Q(),be=Q(),ve=Q(),Se=Q(),we=Q(),ye=Q(),Ce=Q(),Ie=Q(),[Re,pe,Je,me]=(e=>{let t;const[s,l]=P(),n=R();return[(e,l,a,r=[],o=(()=>[]))=>{t??=Nt;const c=s(1);return L(n,c,[e,l,a,r,o]),M(k(l,a??[""],A),c),c},(e,s,...l)=>r(((e,t=[""])=>{const s=[],l=(e,n)=>n==c(t)?i(s,e):null===t[n]?C(e,(e=>l(e,n+1))):r([t[n],null],(t=>l(J(e,t),n+1)));return l(e,0),s})(e,s),(e=>C(e,(e=>J(n,e)[0](t,...s??[],...l))))),e=>V(J(n,e),(([,t,s])=>(k(t,s??[""],void 0,(t=>(I(t,e),w(t)?1:0))),L(n,e),l(e),s))),e=>V(J(n,e),(([e,,s=[],l,n])=>{const a=(...o)=>{const u=c(o);u==c(s)?e(t,...o,...n(o)):T(s[u])?r(l[u]?.(...o)??[],(e=>a(...o,e))):a(...o,s[u])};a()}))]})(),Le=e=>{if(!Y(e,((e,t)=>["type","default"].includes(t))))return!1;const t=e.type;return!(!b(t)&&t!=l||(U(e.default)!=t&&B(e,"default"),0))},Ee=(t,s)=>(!e||S(se,s)||at(s))&&Y(t,((e,t)=>Fe(s,t,e)),(()=>at(s))),Fe=(e,t,s,l)=>Y(l?s:Ae(s,e,t),((l,n)=>V(ze(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>at(e,t))),ze=(t,s,l,n)=>e?V(J(J(se,t),l),(e=>U(n)!=e.type?at(t,s,l,n,e.default):n),(()=>at(t,s,l,n))):T(U(n))?at(t,s,l,n):n,Oe=(e,t)=>Y(t?e:Me(e),((t,s)=>V(ke(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>rt())),ke=(e,s)=>t?V(J(ne,e),(t=>U(s)!=t.type?rt(e,s,t.default):s),(()=>rt(e,s))):T(U(s))?rt(e,s):s,Ae=(e,t,s)=>(V(J(le,t),(([l,n])=>{C(l,((t,s)=>{q(e,s)||(e[s]=t)})),C(n,(l=>{q(e,l)||at(t,s,l)}))})),e),Me=e=>(t&&(C(ae,((t,s)=>{q(e,s)||(e[s]=t)})),C(re,(t=>{q(e,t)||rt(t)}))),e),Ne=e=>X(se,e,((e,t,s)=>{const l=R(),n=A();X(E(se,t,R),s,((e,t,s)=>{L(e,t,s),V(s.default,(e=>L(l,t,e)),(()=>M(n,t)))})),L(le,t,[l,n])}),((e,t)=>{L(se,t),L(le,t)})),Pe=e=>X(ne,e,((e,t,s)=>{L(ne,t,s),V(s.default,(e=>L(ae,t,e)),(()=>M(re,t)))}),((e,t)=>{L(ne,t),L(ae,t),I(re,t)})),je=e=>H(e)?Et():Rt(e),xe=e=>X(ce,e,((e,t,s)=>De(t,s)),((e,t)=>Ue(t))),De=(e,t)=>X(E(ce,e,(()=>(_e(e,1),R()))),t,((t,s,l)=>We(e,t,s,l)),((t,s)=>Xe(e,t,s))),We=(e,t,s,l,n)=>X(E(t,s,(()=>(et(e,s,1),R()))),l,((t,l,n)=>$e(e,s,t,l,n)),((l,a)=>Ye(e,t,s,l,a,n))),$e=(e,t,s,l,n)=>{S(s,l)||tt(e,t,l,1);const a=J(s,l);n!==a&&(st(e,t,l,a,n),L(s,l,n))},qe=(e,t,s,l,n)=>V(J(t,s),(t=>$e(e,s,t,l,n)),(()=>We(e,t,s,Ae({[l]:n},e,s)))),Be=e=>H(e)?Ft():pt(e),Ge=e=>X(ue,e,((e,t,s)=>He(t,s)),((e,t)=>Ze(t))),He=(e,t)=>{S(ue,e)||lt(e,1);const s=J(ue,e);t!==s&&(nt(e,s,t),L(ue,e,t))},Ke=(e,t)=>{const[s]=E(oe,e,P),l=s(t);return S(J(ce,e),l)?Ke(e,t):l},Qe=e=>J(ce,e)??De(e,{}),Ue=e=>De(e,{}),Xe=(e,t,s)=>{const[,l]=E(oe,e,P);l(s),We(e,t,s,{},!0)},Ye=(e,t,s,l,n,a)=>{const r=J(J(le,e)?.[0],n);if(!T(r)&&!a)return $e(e,s,l,n,r);const o=t=>{st(e,s,t,J(l,t)),tt(e,s,t,-1),L(l,t)};T(r)?o(n):m(l,o),w(l)&&(et(e,s,-1),w(L(t,s))&&(_e(e,-1),L(ce,e),L(oe,e)))},Ze=e=>{const t=J(ae,e);if(!T(t))return He(e,t);nt(e,J(ue,e)),lt(e,-1),L(ue,e)},_e=(e,t)=>Z(g,e,t),et=(e,t,s)=>Z(E(N,e,R),t,s),tt=(e,t,s,l)=>Z(E(E(j,e,R),t,R),s,l),st=(e,t,s,l,n)=>E(E(E(x,e,R),t,R),s,(()=>[l,0]))[1]=n,lt=(e,t)=>Z(D,e,t),nt=(e,t,s)=>E($,e,(()=>[t,0]))[1]=s,at=(e,t,s,l,n)=>(i(E(E(E(ee,e,R),t,R),s,(()=>[])),l),n),rt=(e,t,s)=>(i(E(te,e,(()=>[])),t),s),ot=(e,t,s)=>V(J(J(J(x,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...K(wt(e,t,s))])),ct=e=>V(J($,e),(([e,t])=>[!0,e,t]),(()=>[!1,...K(It(e))])),ut=e=>w(ee)||w(ve[e])?0:C(e?z(ee,O):ee,((t,s)=>C(t,((t,l)=>C(t,((t,n)=>pe(ve[e],[s,l,n],t))))))),it=e=>w(te)||w(Se[e])?0:C(e?z(te):te,((t,s)=>pe(Se[e],[s],t))),dt=(e,t,s)=>{if(!w(t))return pe(e,s),1},ft=e=>{const t=w(ge[e]),s=w(Ve[e])&&w(he[e])&&t&&w(de[e]),l=w(be[e])&&w(Te[e])&&w(fe[e])&&w(ie[e]);if(!s||!l){const n=e?[z(g),O(N),z(j,O),z(x,O)]:[g,N,j,x];if(!s){C(n[2],((t,s)=>C(t,((t,l)=>dt(Ve[e],t,[s,l])))));const s=A();C(n[1],((l,n)=>{dt(he[e],l,[n])&&!t&&(pe(ge[e],[n,null]),M(s,n))})),t||C(n[3],((t,l)=>{if(!S(s,l)){const s=A();C(t,(e=>C(e,(([t,l],n)=>l!==t?M(s,n):I(e,n))))),C(s,(t=>pe(ge[e],[l,t])))}})),dt(de[e],n[0])}if(!l){let t;C(n[3],((s,l)=>{let n;C(s,((s,a)=>{let r;C(s,(([s,o],c)=>{o!==s&&(pe(be[e],[l,a,c],o,s,ot),t=n=r=1)})),r&&pe(Te[e],[l,a],ot)})),n&&pe(fe[e],[l],ot)})),t&&pe(ie[e],void 0,ot)}}},ht=e=>{const t=w(ye[e]),s=w(Ce[e])&&w(we[e]);if(!t||!s){const l=e?[z(D),z($)]:[D,$];if(t||dt(ye[e],l[0]),!s){let t;C(l[1],(([s,l],n)=>{l!==s&&(pe(Ce[e],[n],l,s,ct),t=1)})),t&&pe(we[e],void 0,ct)}}},gt=(e,...t)=>(kt((()=>e(...o(t,a)))),Nt),Tt=()=>F(ce,(e=>F(e,F))),Vt=()=>p(ce),bt=e=>p(J(ce,a(e))),vt=(e,t,s,l=0,n)=>{return o(u((c=J(ce,a(e)),i=(e,s)=>[T(t)?s:J(e,a(t)),s],r=([e],[t])=>(e<t?-1:1)*(s?-1:1),o([...c?.entries()??[]],(([e,t])=>i(t,e))).sort(r)),l,T(n)?n:l+n),(([,e])=>e));var r,c,i},St=(e,t)=>p(J(J(ce,a(e)),a(t))),wt=(e,t,s)=>J(J(J(ce,a(e)),a(t)),a(s)),yt=()=>F(ue),Ct=()=>p(ue),It=e=>J(ue,a(e)),Rt=e=>gt((()=>(e=>Y(e,Ee,at))(e)?xe(e):0)),pt=e=>gt((()=>Oe(e)?Ge(e):0)),Jt=e=>{try{je(f(e))}catch{}return Nt},mt=t=>gt((()=>{if((e=Y(t,(e=>Y(e,Le))))&&(Ne(t),!w(ce))){const e=Tt();Et(),Rt(e)}})),Lt=e=>gt((()=>{if(t=(e=>Y(e,Le))(e)){const s=yt();Ot(),Ft(),t=!0,Pe(e),pt(s)}})),Et=()=>gt((()=>xe({}))),Ft=()=>gt((()=>Ge({}))),zt=()=>gt((()=>{Ne({}),e=!1})),Ot=()=>gt((()=>{Pe({}),t=!1})),kt=(e,t)=>{if(-1==h)return;At();const s=e();return Mt(t),s},At=()=>(h++,Nt),Mt=e=>{if(h>0&&(h--,0==h)){s=!w(x),n=!w($),h=1,ut(1),s&&ft(1),it(1),n&&ht(1),h=-1;let t=!e&&w(Ie[0])&&w(Ie[1])?[{},{},{},{}]:[F(x,(e=>F(e,(e=>F(e,(e=>[...e]),(([e,t])=>e===t))),H)),H),F(ee,(e=>F(e,F))),F($,(e=>[...e]),(([e,t])=>e===t)),F(te)];e?.(...t)&&(h=1,C(x,((e,t)=>C(e,((e,s)=>C(e,(([e],l)=>((e,t,s,l,n)=>T(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n))(Nt,t,s,l,e))))))),C($,(([e],t)=>((e,t,s)=>T(s)?e.delValue(t):e.setValue(t,s))(Nt,t,e))),h=-1,s=n=!1,t=[{},{},{},{}]),pe(Ie[0],void 0,s,n,...t),ut(0),s&&ft(0),it(0),n&&ht(0),pe(Ie[1],void 0,s,n,...t),h=0,r([g,N,j,x,ee,D,$,te],y)}return Nt},Nt={getContent:()=>[Tt(),yt()],getTables:Tt,getTableIds:Vt,getTable:e=>F(J(ce,a(e)),F),getRowIds:bt,getSortedRowIds:vt,getRow:(e,t)=>F(J(J(ce,a(e)),a(t))),getCellIds:St,getCell:wt,getValues:yt,getValueIds:Ct,getValue:It,hasTables:()=>!w(ce),hasTable:e=>S(ce,a(e)),hasRow:(e,t)=>S(J(ce,a(e)),a(t)),hasCell:(e,t,s)=>S(J(J(ce,a(e)),a(t)),a(s)),hasValues:()=>!w(ue),hasValue:e=>S(ue,a(e)),getTablesJson:()=>d(ce),getValuesJson:()=>d(ue),getJson:()=>d([ce,ue]),getTablesSchemaJson:()=>d(se),getValuesSchemaJson:()=>d(ne),getSchemaJson:()=>d([se,ne]),setContent:([e,t])=>gt((()=>{Rt(e),pt(t)})),setTables:Rt,setTable:(e,t)=>gt((e=>Ee(t,e)?De(e,t):0),e),setRow:(e,t,s)=>gt(((e,t)=>Fe(e,t,s)?We(e,Qe(e),t,s):0),e,t),addRow:(e,t,s=!0)=>kt((()=>{let l;return Fe(e,l,t)&&(e=a(e),We(e,Qe(e),l=Ke(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>gt(((e,t)=>{if(Fe(e,t,s,1)){const l=Qe(e);G(s,((s,n)=>qe(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>gt(((e,t,s)=>V(ze(e,t,s,v(l)?l(wt(e,t,s)):l),(l=>qe(e,Qe(e),t,s,l)))),e,t,s),setValues:pt,setPartialValues:e=>gt((()=>Oe(e,1)?G(e,((e,t)=>He(t,e))):0)),setValue:(e,t)=>gt((e=>V(ke(e,v(t)?t(It(e)):t),(t=>He(e,t)))),e),setTablesJson:Jt,setValuesJson:e=>{try{Be(f(e))}catch{}return Nt},setJson:e=>{try{const[t,s]=f(e);je(t),Be(s)}catch{Jt(e)}return Nt},setTablesSchema:mt,setValuesSchema:Lt,setSchema:(e,t)=>gt((()=>{mt(e),Lt(t)})),delTables:Et,delTable:e=>gt((e=>S(ce,e)?Ue(e):0),e),delRow:(e,t)=>gt(((e,t)=>V(J(ce,e),(s=>S(s,t)?Xe(e,s,t):0))),e,t),delCell:(e,t,s,l)=>gt(((e,t,s)=>V(J(ce,e),(n=>V(J(n,t),(a=>S(a,s)?Ye(e,n,t,a,s,l):0))))),e,t,s),delValues:Ft,delValue:e=>gt((e=>S(ue,e)?Ze(e):0),e),delTablesSchema:zt,delValuesSchema:Ot,delSchema:()=>gt((()=>{zt(),Ot()})),transaction:kt,startTransaction:At,finishTransaction:Mt,forEachTable:e=>C(ce,((t,s)=>e(s,(e=>C(t,((t,s)=>e(s,(e=>m(t,e))))))))),forEachRow:(e,t)=>C(J(ce,a(e)),((e,s)=>t(s,(t=>m(e,t))))),forEachCell:(e,t,s)=>m(J(J(ce,a(e)),a(t)),s),forEachValue:e=>m(ue,e),addSortedRowIdsListener:(e,t,s,l,n,a,r)=>{let o=vt(e,t,s,l,n);return Re((()=>{const r=vt(e,t,s,l,n);var u,i,d;i=o,c(u=r)===c(i)&&(d=(e,t)=>i[t]===e,u.every(d))||(o=r,a(Nt,e,t,s,l,n,o))}),ge[r?1:0],[e,t],[Vt])},addWillFinishTransactionListener:e=>Re(e,Ie[0]),addDidFinishTransactionListener:e=>Re(e,Ie[1]),callListener:e=>(me(e),Nt),delListener:e=>(Je(e),Nt),getListenerStats:()=>({}),createStore:_};return G({Tables:[0,ie],TableIds:[0,de],Table:[1,fe,[Vt]],RowIds:[1,he,[Vt]],Row:[2,Te,[Vt,bt]],CellIds:[2,Ve,[Vt,bt]],Cell:[3,be,[Vt,bt,St],e=>K(wt(...e))],InvalidCell:[3,ve],Values:[0,we],ValueIds:[0,ye],Value:[1,Ce,[Ct],e=>K(It(e[0]))],InvalidValue:[1,Se]},(([e,t,s,l],n)=>{Nt["add"+n+"Listener"]=(...n)=>Re(n[e],t[n[e+1]?1:0],e>0?u(n,0,e):void 0,s,l)})),W(Nt)};export{_ as createStore};
|
package/lib/store.js.gz
CHANGED
|
Binary file
|
package/lib/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{promises as e,watch as t}from"fs";const s=e=>typeof e,n=s(""),o=s(!0),a=s(0),r=s(s),l=e=>""+e,i=(e,t)=>e.includes(t),d=(e,t)=>e.every(t),c=(e,t)=>w(e)===w(t)&&d(e,((e,s)=>t[s]===e)),u=(e,t)=>d(e,((s,n)=>0==n||t(e[n-1],s)<=0)),h=(e,t)=>e.sort(t),f=(e,t)=>e.forEach(t),g=(e,t)=>e.map(t),L=e=>I(e,((e,t)=>e+t),0),w=e=>e.length,v=e=>0==w(e),I=(e,t,s)=>e.reduce(t,s),R=(e,t,s)=>e.slice(t,s),S=(e,...t)=>e.push(...t),T=e=>e.pop(),y=e=>e.shift(),p=e=>JSON.stringify(e,((e,t)=>E(t,Map)?I([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),b=JSON.parse,C=Math.max,m=Math.min,V=isFinite,E=(e,t)=>e instanceof t,k=e=>null==e,J=(e,t,s)=>k(e)?s?.():t(e),A=e=>e==n||e==o,M=e=>s(e)==r,D=e=>Array.isArray(e),x=()=>{},F=e=>e.size,Q=(e,t)=>e?.has(t)??!1,z=e=>k(e)||0==F(e),N=e=>[...e?.values()??[]],O=e=>e.clear(),j=(e,t)=>e?.forEach(t),P=(e,t)=>e?.delete(t),W=e=>new Map(e),B=e=>[...e?.keys()??[]],H=(e,t)=>e?.get(t),$=(e,t)=>j(e,((e,s)=>t(s,e))),q=(e,t,s)=>k(s)?(P(e,t),e):e?.set(t,s),G=(e,t,s)=>(Q(e,t)||q(e,t,s()),H(e,t)),K=(e,t,s)=>{const n={},o=t??(e=>e);return j(e,((e,t)=>J(o(e),(e=>s?.(e)?0:n[t]=e)))),n},U=(e,t)=>{const s=W(),n=t??(e=>e);return j(e,((e,t)=>s.set(t,n(e)))),s},X=e=>U(e,U),Y=(e,t,s,n,o=0)=>J((s?G:H)(e,t[o],o>w(t)-2?s:W),(a=>{if(o>w(t)-2)return n?.(a)&&q(e,t[o]),a;const r=Y(a,t,s,n,o+1);return z(a)&&q(e,t[o]),r})),Z=e=>{const t=s(e);return A(t)||t==a&&V(e)?t:void 0},_=(e,t,s,n,o)=>k(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),ee=(e,t,s)=>k(s)?e.delValue(t):e.setValue(t,s),te=e=>new Set(D(e)||k(e)?e:[e]),se=(e,t)=>e?.add(t),ne=(e,t,s)=>{const n=e.hasRow,o=W(),a=W(),r=W(),l=W(),i=W(),d=(t,s,...n)=>{const o=G(i,t,te);return f(n,(t=>se(o,t)&&s&&e.callListener(t))),n},u=(t,...s)=>J(H(i,t),(n=>{f(v(s)?N(n):s,(t=>{e.delListener(t),P(n,t)})),z(n)&&q(i,t)})),h=(e,s)=>{q(o,e,s),Q(a,e)||(q(a,e,t()),q(r,e,W()),q(l,e,W()))},g=e=>{q(o,e),q(a,e),q(r,e),q(l,e),u(e)};return[()=>e,()=>B(o),e=>$(a,e),e=>Q(a,e),e=>H(o,e),e=>H(a,e),(e,t)=>q(a,e,t),h,(t,o,a,i,g)=>{h(t,o);const L=W(),w=W(),v=H(r,t),I=H(l,t),R=t=>{const a=s=>e.getCell(o,t,s),r=H(v,t),l=n(o,t)?s(i(a,t)):void 0;if(r===l||D(r)&&D(l)&&c(r,l)||q(L,t,[r,l]),!k(g)){const e=H(I,t),s=n(o,t)?g(a,t):void 0;e!=s&&q(w,t,s)}},S=e=>{a((()=>{j(L,(([,e],t)=>q(v,t,e))),j(w,((e,t)=>q(I,t,e)))}),L,w,v,I,e),O(L),O(w)};$(v,R),e.hasTable(o)&&f(e.getRowIds(o),(e=>{Q(v,e)||R(e)})),S(!0),u(t),d(t,0,e.addRowListener(o,null,((e,t,s)=>R(s))),e.addTableListener(o,(()=>S())))},g,()=>$(i,g),d,u]},oe=(e,t)=>s(e)==n?t=>t(e):e??(()=>t??""),ae=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},re=/^\d+$/,le=()=>{const e=[];let t=0;return[s=>(s?y(e):null)??""+t++,t=>{re.test(t)&&w(e)<1e3&&S(e,t)}]},ie=e=>{let t;const[s,n]=le(),o=W();return[(n,a,r,l=[],i=(()=>[]))=>{t??=e();const d=s(1);return q(o,d,[n,a,r,l,i]),se(Y(a,r??[""],te),d),d},(e,s,...n)=>f(((e,t=[""])=>{const s=[],n=(e,o)=>o==w(t)?S(s,e):null===t[o]?j(e,(e=>n(e,o+1))):f([t[o],null],(t=>n(H(e,t),o+1)));return n(e,0),s})(e,s),(e=>j(e,(e=>H(o,e)[0](t,...s??[],...n))))),e=>J(H(o,e),(([,t,s])=>(Y(t,s??[""],void 0,(t=>(P(t,e),z(t)?1:0))),q(o,e),n(e),s))),e=>J(H(o,e),(([e,,s=[],n,o])=>{const a=(...r)=>{const l=w(r);l==w(s)?e(t,...r,...o(r)):k(s[l])?f(n[l]?.(...r)??[],(e=>a(...r,e))):a(...r,s[l])};a()}))]},de=Object,ce=de.keys,ue=de.isFrozen,he=de.freeze,fe=e=>E(e,de)&&e.constructor==de,ge=(e,t)=>!k(((e,t)=>J(e,(e=>e[t])))(e,t)),Le=(e,t)=>delete e[t],we=(e,t)=>g(de.entries(e),(([e,s])=>t(s,e))),ve=e=>fe(e)&&v(ce(e)),Ie=ae((e=>{let t,s,n,o=100,a=W(),r=W(),l=1;const d=W(),c=W(),[u,h,g]=ie((()=>U)),L=W(),I=W(),R=[],p=[],b=(t,s)=>{l=0,e.transaction((()=>{const[n,o]=H(L,s);j(n,((s,n)=>j(s,((s,o)=>j(s,((s,a)=>_(e,n,o,a,s[t]))))))),j(o,((s,n)=>ee(e,n,s[t])))})),l=1},C=e=>{q(L,e),q(I,e),h(c,[e])},m=(e,t)=>f(((e,t)=>e.splice(0,t))(e,t??w(e)),C),V=()=>m(R,w(R)-o),E=()=>J(t,(()=>{S(R,t),V(),m(p),t=void 0,n=1})),A=()=>{t=T(R),n=1},M=e.addCellListener(null,null,null,((e,t,s,n,o,r)=>{if(l){E();const e=G(a,t,W),l=G(e,s,W),i=G(l,n,(()=>[r,void 0]));i[1]=o,i[0]===o&&z(q(l,n))&&z(q(e,s))&&z(q(a,t))&&A(),O()}})),D=e.addValueListener(null,((e,t,s,n)=>{if(l){E();const e=G(r,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&z(q(r,t))&&A(),O()}})),x=(e="")=>(k(t)&&(t=""+s++,q(L,t,[a,r]),B(t,e),a=W(),r=W(),n=1),t),F=()=>{v(R)||(((e,...t)=>{e.unshift(...t)})(p,x()),b(0,t),t=T(R),n=1)},N=()=>{v(p)||(S(R,t),t=y(p),b(1,t),n=1)},O=()=>{n&&(h(d),n=0)},P=e=>{const t=x(e);return O(),t},B=(e,t)=>(K(e)&&H(I,e)!==t&&(q(I,e,t),h(c,[e])),U),K=e=>Q(L,e),U={setSize:e=>(o=e,V(),U),addCheckpoint:P,setCheckpoint:B,getStore:()=>e,getCheckpointIds:()=>[[...R],t,[...p]],forEachCheckpoint:e=>$(I,e),hasCheckpoint:K,getCheckpoint:e=>H(I,e),goBackward:()=>(F(),O(),U),goForward:()=>(N(),O(),U),goTo:e=>{const s=i(R,e)?F:i(p,e)?N:null;for(;!k(s)&&e!=t;)s();return O(),U},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(g(e),U),clear:()=>(m(R),m(p),k(t)||C(t),t=void 0,s=0,P(),U),destroy:()=>{e.delListener(M),e.delListener(D)},getListenerStats:()=>({})};return he(U.clear())})),Re=(e,t)=>e<t?-1:1,Se=ae((e=>{const t=W(),s=W(),[n,o,a,r,i,d,c,,f,L,w]=ne(e,W,(e=>k(e)?"":D(e)?g(e,l):l(e))),[v,I,R]=ie((()=>T)),S=(t,s,n)=>{const o=i(t);j(n,((t,n)=>s(n,(s=>j(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},T={setIndexDefinition:(e,n,o,a,r,l=Re)=>{const i=k(r)?void 0:([e],[t])=>r(e,t);return f(e,n,((n,o,r,f,g,L)=>{let w=0;const v=te(),R=te(),S=d(e);if(j(o,(([e,t],s)=>{const n=te(e),o=te(t);j(n,(e=>P(o,e)?P(n,e):0)),j(n,(e=>{se(v,e),J(H(S,e),(t=>{P(t,s),z(t)&&(q(S,e),w=1)}))})),j(o,(e=>{se(v,e),Q(S,e)||(q(S,e,te()),w=1),se(H(S,e),s),k(a)||se(R,e)}))})),n(),z(g)||(L?$(S,(e=>se(R,e))):$(r,(e=>J(H(f,e),(e=>se(R,e))))),j(R,(e=>{const t=(t,s)=>l(H(g,t),H(g,s),e),s=[...H(S,e)];u(s,t)||(q(S,e,te(h(s,t))),se(v,e))}))),(w||L)&&!k(i)){const t=[...S];u(t,i)||(c(e,W(h(t,i))),w=1)}w&&I(t,[e]),j(v,(t=>I(s,[e,t])))}),oe(o),J(a,oe)),T},delIndexDefinition:e=>(L(e),T),getStore:n,getIndexIds:o,forEachIndex:e=>a(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,d(e)),hasIndex:r,hasSlice:(e,t)=>Q(d(e),t),getTableId:i,getSliceIds:e=>B(d(e)),getSliceRowIds:(e,t)=>N(H(d(e),t)),addSliceIdsListener:(e,s)=>v(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>v(n,s,[e,t]),delListener:e=>(R(e),T),destroy:w,getListenerStats:()=>({})};return he(T)})),Te=W([["avg",[(e,t)=>L(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=>C(...e),(e,t)=>C(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:C(t,e)]],["min",[e=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:m(t,e)]],["sum",[e=>L(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),ye=(e,t,s,n,o,a=!1)=>{if(z(s))return;const[r,l,i,d]=o;return a||=k(e),j(n,(([s,n])=>{a||(e=k(s)?l?.(e,n,t++):k(n)?i?.(e,s,t--):d?.(e,n,s,t),a||=k(e))})),a?r(N(s),F(s)):e},pe=ae((e=>{const t=W(),[s,n,o,a,r,l,i,,d,c,u]=ne(e,x,(e=>isNaN(e)||k(e)||!0===e||!1===e||""===e?void 0:1*e)),[h,f,g]=ie((()=>L)),L={setMetricDefinition:(e,s,n,o,a,r,c)=>{const u=M(n)?[n,a,r,c]:H(Te,n)??H(Te,"sum");return d(e,s,((s,n,o,a,r,d)=>{const c=l(e),h=F(a);d||=k(c),s();let g=ye(c,h,a,n,u,d);V(g)||(g=void 0),g!=c&&(i(e,g),f(t,[e],g,c))}),oe(o,1)),L},delMetricDefinition:e=>(c(e),L),getStore:s,getMetricIds:n,forEachMetric:o,hasMetric:a,getTableId:r,getMetric:l,addMetricListener:(e,s)=>h(s,t,[e]),delListener:e=>(g(e),L),destroy:u,getListenerStats:()=>({})};return he(L)})),be=(e,t,s,n,o)=>{let a,r,l,i=0,d=!1;const c={load:async(s,n)=>{if(2!=i){i=1;const o=await t();k(o)||""==o?e.transaction((()=>e.setTables(s).setValues(n))):e.setJson(o),i=0}return c},startAutoLoad:async(e,t)=>(c.stopAutoLoad(),await c.load(e,t),d=!0,l=n(c.load),c),stopAutoLoad:()=>(d&&(o(l),l=void 0,d=!1),c),save:async()=>(1!=i&&(i=2,await s(e.getJson()),i=0),c),startAutoSave:async()=>(await c.stopAutoSave().save(),a=e.addTablesListener(c.save),r=e.addValuesListener(c.save),c),stopAutoSave:()=>(J(a,e.delListener),J(r,e.delListener),c),getStore:()=>e,destroy:()=>c.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return he(c)},Ce=globalThis.window,me=(e,t,s)=>be(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{const n=n=>{n.storageArea===s&&n.key===t&&e()};return Ce.addEventListener("storage",n),n}),(e=>Ce.removeEventListener("storage",e))),Ve=(e,t)=>me(e,t,localStorage),Ee=(e,t)=>me(e,t,sessionStorage),ke=(s,n)=>be(s,(async()=>{try{return await e.readFile(n,"utf8")}catch{}}),(async t=>{try{await e.writeFile(n,t,"utf8")}catch{}}),(e=>t(n,e)),(e=>e?.close())),Je=e=>e.headers.get("ETag"),Ae=(e,t,s,n)=>{let o;return be(e,(async()=>{const e=await fetch(t);return o=Je(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),n=Je(s);k(o)||k(n)||n==o||(o=n,e())}),1e3*n)),(e=>clearInterval(e)))},Me=ae((e=>{const t=e.createStore,[s,n,o,a,r,,,l,,i,c,u,h]=ne(e,(()=>!0),x),g=t(),L=t(),I=W(),T=(e,t,...s)=>f(s,(s=>se(G(G(I,t,W),e,te),s))),y=e=>{J(H(I,e),(e=>{$(e,((e,t)=>j(t,(t=>e.delListener(t))))),O(e)})),f([L,g],(t=>t.delTable(e)))},p=(e,t,s)=>T(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),b={setQueryDefinition:(t,s,n)=>{l(t,s),y(t);const o=[],a=[[null,[s,null,null,[],W()]]],r=[],i=[],c=[];n({select:(e,t)=>{const s=M(e)?[w(o)+"",e]:[k(t)?e:t,s=>s(e,t)];return S(o,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=k(s)||M(t)?null:t,o=k(n)?t:s,r=[e,[e,n,M(o)?o:e=>e(o),[],W()]];return S(a,r),{as:e=>r[0]=e}},where:(e,t,s)=>S(r,M(e)?e:k(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const a=[e,[e,M(t)?[t,s,n,o]:H(Te,t)??[(e,t)=>t]]];return S(i,a),{as:e=>a[0]=e}},having:(e,t)=>S(c,M(e)?e:s=>s(e)===t)});const I=W(o);if(z(I))return b;const R=W(a);$(R,((e,[,t])=>J(H(R,t),(({3:t})=>k(e)?0:S(t,e)))));const C=W(i);let m=g;if(z(C)&&v(c))m=L;else{p(t,m,L);const e=W();$(C,((t,[s,n])=>se(G(e,s,te),[t,n])));const s=te();$(I,(t=>Q(e,t)?0:se(s,t)));const n=W(),o=(s,n,o,a)=>J(s,(([r,l,i,u])=>{$(n,((t,[s])=>{const n=G(r,t,W),l=H(n,o),i=a?void 0:s;if(l!==i){const s=te([[l,i]]),a=F(n);q(n,o,i),j(H(e,t),(([e,t])=>{const o=ye(u[e],a,n,s,t);u[e]=k(Z(o))?null:o}))}})),z(l)||!d(c,(e=>e((e=>u[e]))))?L.delRow(t,i):k(i)?s[2]=L.addRow(t,u):L.setRow(t,i,u)}));T(m,t,m.addRowListener(t,null,((a,r,l,i)=>{const d=[],c=[],u=W(),h=m.hasRow(t,l);let f=!h;j(s,(e=>{const[s,n,o]=i(t,l,e);S(d,n),S(c,o),f||=s})),$(e,(e=>{const[s,,n]=i(t,l,e);(f||s)&&q(u,e,[n])})),f&&o(Y(n,d,void 0,(([,e])=>(P(e,l),z(e)))),u,l,1),h&&o(Y(n,c,(()=>{const e={};return j(s,(s=>e[s]=m.getCell(t,l,s))),[W(),te(),void 0,e]}),(([,e])=>{se(e,l)})),u,l)})))}p(t,e,m);const V=(n,o,a,l)=>{const i=t=>e.getCell(o,a,t);f(l,(s=>{const[o,,a,r,l]=H(R,s),d=a?.(i,n),[c,f]=H(l,n)??[];d!=c&&(k(f)||h(t,f),q(l,n,k(d)?null:[d,...u(t,1,e.addRowListener(o,d,(()=>V(n,o,d,r))))]))})),(n=>{const o=(t,o)=>e.getCell(...k(o)?[s,n,t]:t===s?[s,n,o]:[H(R,t)?.[0],H(H(R,t)?.[4],n)?.[0],o]);m.transaction((()=>d(r,(e=>e(o)))?$(I,((e,s)=>_(m,t,n,e,s(o,n)))):m.delRow(t,n)))})(n)},{3:E}=H(R,null);return m.transaction((()=>u(t,1,e.addRowListener(s,null,((n,o,a)=>{e.hasRow(s,a)?V(a,s,a,E):(m.delRow(t,a),j(R,(({4:e})=>J(H(e,a),(([,s])=>{h(t,s),q(e,a)})))))}))))),b},delQueryDefinition:e=>(y(e),i(e),b),getStore:s,getQueryIds:n,forEachQuery:o,hasQuery:a,getTableId:r,delListener:e=>(L.delListener(e),b),destroy:c,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=L.getListenerStats();return n}};return we({Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},(([e,t],s)=>{f(e?["get","has","forEach"]:["get"],(e=>b[e+"Result"+s]=(...t)=>L[e+s](...t))),b["addResult"+s+"Listener"]=(...e)=>L["add"+s+"Listener"](...R(e,0,t),((s,...n)=>e[t](b,...n)))})),he(b)})),De=ae((e=>{const t=W(),s=W(),n=W(),o=W(),[a,r,l,i,d,c,,,u,h,f]=ne(e,(()=>[W(),W(),W(),W()]),(e=>k(e)?void 0:e+"")),[g,L,w]=ie((()=>S)),v=(e,t,s)=>J(c(e),(([n,,o])=>{if(!Q(o,t)){const a=te();if(d(e)!=R(e))se(a,t);else{let e=t;for(;!k(e)&&!Q(a,e);)se(a,e),e=H(n,e)}if(s)return a;q(o,t,a)}return H(o,t)})),I=(e,t)=>J(c(e),(([,,e])=>q(e,t))),R=e=>H(t,e),S={setRelationshipDefinition:(e,a,r,l)=>(q(t,e,r),u(e,a,((t,a)=>{const r=te(),l=te(),i=te(),[d,u]=c(e);j(a,(([t,s],n)=>{k(t)||(se(l,t),J(H(u,t),(e=>{P(e,n),z(e)&&q(u,t)}))),k(s)||(se(l,s),Q(u,s)||q(u,s,te()),se(H(u,s),n)),se(r,n),q(d,n,s),$(H(o,e),(t=>{Q(v(e,t),n)&&se(i,t)}))})),t(),j(r,(t=>L(s,[e,t]))),j(l,(t=>L(n,[e,t]))),j(i,(t=>{I(e,t),L(o,[e,t])}))}),oe(l)),S),delRelationshipDefinition:e=>(q(t,e),h(e),S),getStore:a,getRelationshipIds:r,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:i,getLocalTableId:d,getRemoteTableId:R,getRemoteRowId:(e,t)=>H(c(e)?.[0],t),getLocalRowIds:(e,t)=>N(H(c(e)?.[1],t)),getLinkedRowIds:(e,t)=>k(c(e))?[t]:N(v(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>g(n,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>g(s,n,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(v(e,t),g(s,o,[e,t])),delListener:e=>(I(...w(e)),S),destroy:f,getListenerStats:()=>({})};return he(S)})),xe=e=>[e,e],Fe=()=>[W(),W()],Qe=(e,t,s,n=q)=>{const o=(a=e=>!ge(t,e),B(e).filter(a));var a;return f(ce(t),(n=>s(e,n,t[n]))),f(o,(t=>n(e,t))),e},ze=(e,t,s)=>k(e)||!fe(e)||ve(e)||ue(e)?(s?.(),!1):(we(e,((s,n)=>{t(s,n)||Le(e,n)})),!ve(e)),Ne=(e,t,s)=>q(e,t,H(e,t)==-s?void 0:s),Oe=()=>{let e,t,s,n,o=0;const r=W(),d=W(),u=W(),L=W(),w=W(),v=W(),I=W(),T=W(),y=W(),C=W(),m=W(),V=W(),E=te(),D=W(),x=W(),F=W(),N=Fe(),Y=Fe(),ne=Fe(),oe=Fe(),ae=Fe(),re=Fe(),de=Fe(),ce=Fe(),ue=Fe(),fe=Fe(),Ie=Fe(),Se=Fe(),Te=Fe(),ye=Fe(),[pe,be,Ce,me]=ie((()=>Pt)),Ve=e=>{if(!ze(e,((e,t)=>i(["type","default"],t))))return!1;const t=e.type;return!(!A(t)&&t!=a||(Z(e.default)!=t&&Le(e,"default"),0))},Ee=(t,s)=>(!e||Q(y,s)||ct(s))&&ze(t,((e,t)=>ke(s,t,e)),(()=>ct(s))),ke=(e,t,s,n)=>ze(n?s:De(s,e,t),((n,o)=>J(Je(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>ct(e,t))),Je=(t,s,n,o)=>e?J(H(H(y,t),n),(e=>Z(o)!=e.type?ct(t,s,n,o,e.default):o),(()=>ct(t,s,n,o))):k(Z(o))?ct(t,s,n,o):o,Ae=(e,t)=>ze(t?e:je(e),((t,s)=>J(Me(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>ut())),Me=(e,s)=>t?J(H(m,e),(t=>Z(s)!=t.type?ut(e,s,t.default):s),(()=>ut(e,s))):k(Z(s))?ut(e,s):s,De=(e,t,s)=>(J(H(C,t),(([n,o])=>{j(n,((t,s)=>{ge(e,s)||(e[s]=t)})),j(o,(n=>{ge(e,n)||ct(t,s,n)}))})),e),je=e=>(t&&(j(V,((t,s)=>{ge(e,s)||(e[s]=t)})),j(E,(t=>{ge(e,t)||ut(t)}))),e),Pe=e=>Qe(y,e,((e,t,s)=>{const n=W(),o=te();Qe(G(y,t,W),s,((e,t,s)=>{q(e,t,s),J(s.default,(e=>q(n,t,e)),(()=>se(o,t)))})),q(C,t,[n,o])}),((e,t)=>{q(y,t),q(C,t)})),We=e=>Qe(m,e,((e,t,s)=>{q(m,t,s),J(s.default,(e=>q(V,t,e)),(()=>se(E,t)))}),((e,t)=>{q(m,t),q(V,t),P(E,t)})),Be=e=>ve(e)?xt():kt(e),He=e=>Qe(x,e,((e,t,s)=>$e(t,s)),((e,t)=>et(t))),$e=(e,t)=>Qe(G(x,e,(()=>(ot(e,1),W()))),t,((t,s,n)=>qe(e,t,s,n)),((t,s)=>tt(e,t,s))),qe=(e,t,s,n,o)=>Qe(G(t,s,(()=>(at(e,s,1),W()))),n,((t,n,o)=>Ge(e,s,t,n,o)),((n,a)=>st(e,t,s,n,a,o))),Ge=(e,t,s,n,o)=>{Q(s,n)||rt(e,t,n,1);const a=H(s,n);o!==a&&(lt(e,t,n,a,o),q(s,n,o))},Ke=(e,t,s,n,o)=>J(H(t,s),(t=>Ge(e,s,t,n,o)),(()=>qe(e,t,s,De({[n]:o},e,s)))),Ue=e=>ve(e)?Ft():Jt(e),Xe=e=>Qe(F,e,((e,t,s)=>Ye(t,s)),((e,t)=>nt(t))),Ye=(e,t)=>{Q(F,e)||it(e,1);const s=H(F,e);t!==s&&(dt(e,s,t),q(F,e,t))},Ze=(e,t)=>{const[s]=G(D,e,le),n=s(t);return Q(H(x,e),n)?Ze(e,t):n},_e=e=>H(x,e)??$e(e,{}),et=e=>$e(e,{}),tt=(e,t,s)=>{const[,n]=G(D,e,le);n(s),qe(e,t,s,{},!0)},st=(e,t,s,n,o,a)=>{const r=H(H(C,e)?.[0],o);if(!k(r)&&!a)return Ge(e,s,n,o,r);const l=t=>{lt(e,s,t,H(n,t)),rt(e,s,t,-1),q(n,t)};k(r)?l(o):$(n,l),z(n)&&(at(e,s,-1),z(q(t,s))&&(ot(e,-1),q(x,e),q(D,e)))},nt=e=>{const t=H(V,e);if(!k(t))return Ye(e,t);dt(e,H(F,e)),it(e,-1),q(F,e)},ot=(e,t)=>Ne(r,e,t),at=(e,t,s)=>Ne(G(d,e,W),t,s),rt=(e,t,s,n)=>Ne(G(G(u,e,W),t,W),s,n),lt=(e,t,s,n,o)=>G(G(G(L,e,W),t,W),s,(()=>[n,0]))[1]=o,it=(e,t)=>Ne(w,e,t),dt=(e,t,s)=>G(v,e,(()=>[t,0]))[1]=s,ct=(e,t,s,n,o)=>(S(G(G(G(I,e,W),t,W),s,(()=>[])),n),o),ut=(e,t,s)=>(S(G(T,e,(()=>[])),t),s),ht=(e,t,s)=>J(H(H(H(L,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...xe(Ct(e,t,s))])),ft=e=>J(H(v,e),(([e,t])=>[!0,e,t]),(()=>[!1,...xe(Et(e))])),gt=e=>z(I)||z(ue[e])?0:j(e?U(I,X):I,((t,s)=>j(t,((t,n)=>j(t,((t,o)=>be(ue[e],[s,n,o],t))))))),Lt=e=>z(T)||z(fe[e])?0:j(e?U(T):T,((t,s)=>be(fe[e],[s],t))),wt=(e,t,s)=>{if(!z(t))return be(e,s),1},vt=e=>{const t=z(ae[e]),s=z(de[e])&&z(oe[e])&&t&&z(Y[e]),n=z(ce[e])&&z(re[e])&&z(ne[e])&&z(N[e]);if(!s||!n){const o=e?[U(r),X(d),U(u,X),U(L,X)]:[r,d,u,L];if(!s){j(o[2],((t,s)=>j(t,((t,n)=>wt(de[e],t,[s,n])))));const s=te();j(o[1],((n,o)=>{wt(oe[e],n,[o])&&!t&&(be(ae[e],[o,null]),se(s,o))})),t||j(o[3],((t,n)=>{if(!Q(s,n)){const s=te();j(t,(e=>j(e,(([t,n],o)=>n!==t?se(s,o):P(e,o))))),j(s,(t=>be(ae[e],[n,t])))}})),wt(Y[e],o[0])}if(!n){let t;j(o[3],((s,n)=>{let o;j(s,((s,a)=>{let r;j(s,(([s,l],i)=>{l!==s&&(be(ce[e],[n,a,i],l,s,ht),t=o=r=1)})),r&&be(re[e],[n,a],ht)})),o&&be(ne[e],[n],ht)})),t&&be(N[e],void 0,ht)}}},It=e=>{const t=z(Se[e]),s=z(Te[e])&&z(Ie[e]);if(!t||!s){const n=e?[U(w),U(v)]:[w,v];if(t||wt(Se[e],n[0]),!s){let t;j(n[1],(([s,n],o)=>{n!==s&&(be(Te[e],[o],n,s,ft),t=1)})),t&&be(Ie[e],void 0,ft)}}},Rt=(e,...t)=>(Nt((()=>e(...g(t,l)))),Pt),St=()=>K(x,(e=>K(e,K))),Tt=()=>B(x),yt=e=>B(H(x,l(e))),pt=(e,t,s,n=0,o)=>{return g(R(h((a=H(x,l(e)),r=(e,s)=>[k(t)?s:H(e,l(t)),s],g([...a?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Re(e,t)*(s?-1:1))),n,k(o)?o:n+o),(([,e])=>e));var a,r},bt=(e,t)=>B(H(H(x,l(e)),l(t))),Ct=(e,t,s)=>H(H(H(x,l(e)),l(t)),l(s)),mt=()=>K(F),Vt=()=>B(F),Et=e=>H(F,l(e)),kt=e=>Rt((()=>(e=>ze(e,Ee,ct))(e)?He(e):0)),Jt=e=>Rt((()=>Ae(e)?Xe(e):0)),At=e=>{try{Be(b(e))}catch{}return Pt},Mt=t=>Rt((()=>{if((e=ze(t,(e=>ze(e,Ve))))&&(Pe(t),!z(x))){const e=St();xt(),kt(e)}})),Dt=e=>Rt((()=>{if(t=(e=>ze(e,Ve))(e)){const s=mt();zt(),Ft(),t=!0,We(e),Jt(s)}})),xt=()=>Rt((()=>He({}))),Ft=()=>Rt((()=>Xe({}))),Qt=()=>Rt((()=>{Pe({}),e=!1})),zt=()=>Rt((()=>{We({}),t=!1})),Nt=(e,t)=>{if(-1==o)return;Ot();const s=e();return jt(t),s},Ot=()=>(o++,Pt),jt=e=>(o>0&&(o--,0==o&&(s=!z(L),n=!z(v),o=1,gt(1),s&&vt(1),Lt(1),n&&It(1),o=-1,e?.(K(L,(e=>K(e,(e=>K(e,(e=>[...e]),(([e,t])=>e===t))),ve)),ve),K(I,(e=>K(e,K))),K(v,(e=>[...e]),(([e,t])=>e===t)),K(T))&&(o=1,j(L,((e,t)=>j(e,((e,s)=>j(e,(([e],n)=>_(Pt,t,s,n,e))))))),j(v,(([e],t)=>ee(Pt,t,e))),o=-1,s=n=!1),be(ye[0],void 0,s,n),gt(0),s&&vt(0),Lt(0),n&&It(0),be(ye[1],void 0,s,n),o=0,f([r,d,u,L,I,w,v,T],O))),Pt),Pt={getTables:St,getTableIds:Tt,getTable:e=>K(H(x,l(e)),K),getRowIds:yt,getSortedRowIds:pt,getRow:(e,t)=>K(H(H(x,l(e)),l(t))),getCellIds:bt,getCell:Ct,getValues:mt,getValueIds:Vt,getValue:Et,hasTables:()=>!z(x),hasTable:e=>Q(x,l(e)),hasRow:(e,t)=>Q(H(x,l(e)),l(t)),hasCell:(e,t,s)=>Q(H(H(x,l(e)),l(t)),l(s)),hasValues:()=>!z(F),hasValue:e=>Q(F,l(e)),getTablesJson:()=>p(x),getValuesJson:()=>p(F),getJson:()=>p([x,F]),getTablesSchemaJson:()=>p(y),getValuesSchemaJson:()=>p(m),getSchemaJson:()=>p([y,m]),setTables:kt,setTable:(e,t)=>Rt((e=>Ee(t,e)?$e(e,t):0),e),setRow:(e,t,s)=>Rt(((e,t)=>ke(e,t,s)?qe(e,_e(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Nt((()=>{let n;return ke(e,n,t)&&(e=l(e),qe(e,_e(e),n=Ze(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Rt(((e,t)=>{if(ke(e,t,s,1)){const n=_e(e);we(s,((s,o)=>Ke(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Rt(((e,t,s)=>J(Je(e,t,s,M(n)?n(Ct(e,t,s)):n),(n=>Ke(e,_e(e),t,s,n)))),e,t,s),setValues:Jt,setPartialValues:e=>Rt((()=>Ae(e,1)?we(e,((e,t)=>Ye(t,e))):0)),setValue:(e,t)=>Rt((e=>J(Me(e,M(t)?t(Et(e)):t),(t=>Ye(e,t)))),e),setTablesJson:At,setValuesJson:e=>{try{Ue(b(e))}catch{}return Pt},setJson:e=>{try{const[t,s]=b(e);Be(t),Ue(s)}catch{At(e)}return Pt},setTablesSchema:Mt,setValuesSchema:Dt,setSchema:(e,t)=>Rt((()=>{Mt(e),Dt(t)})),delTables:xt,delTable:e=>Rt((e=>Q(x,e)?et(e):0),e),delRow:(e,t)=>Rt(((e,t)=>J(H(x,e),(s=>Q(s,t)?tt(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Rt(((e,t,s)=>J(H(x,e),(o=>J(H(o,t),(a=>Q(a,s)?st(e,o,t,a,s,n):0))))),e,t,s),delValues:Ft,delValue:e=>Rt((e=>Q(F,e)?nt(e):0),e),delTablesSchema:Qt,delValuesSchema:zt,delSchema:()=>Rt((()=>{Qt(),zt()})),transaction:Nt,startTransaction:Ot,finishTransaction:jt,forEachTable:e=>j(x,((t,s)=>e(s,(e=>j(t,((t,s)=>e(s,(e=>$(t,e))))))))),forEachRow:(e,t)=>j(H(x,l(e)),((e,s)=>t(s,(t=>$(e,t))))),forEachCell:(e,t,s)=>$(H(H(x,l(e)),l(t)),s),forEachValue:e=>$(F,e),addSortedRowIdsListener:(e,t,s,n,o,a,r)=>{let l=pt(e,t,s,n,o);return pe((()=>{const r=pt(e,t,s,n,o);c(r,l)||(l=r,a(Pt,e,t,s,n,o,l))}),ae[r?1:0],[e,t],[Tt])},addWillFinishTransactionListener:e=>pe(e,ye[0]),addDidFinishTransactionListener:e=>pe(e,ye[1]),callListener:e=>(me(e),Pt),delListener:e=>(Ce(e),Pt),getListenerStats:()=>({}),createStore:Oe};return we({Tables:[0,N],TableIds:[0,Y],Table:[1,ne,[Tt]],RowIds:[1,oe,[Tt]],Row:[2,re,[Tt,yt]],CellIds:[2,de,[Tt,yt]],Cell:[3,ce,[Tt,yt,bt],e=>xe(Ct(...e))],InvalidCell:[3,ue],Values:[0,Ie],ValueIds:[0,Se],Value:[1,Te,[Vt],e=>xe(Et(e[0]))],InvalidValue:[1,fe]},(([e,t,s,n],o)=>{Pt["add"+o+"Listener"]=(...o)=>pe(o[e],t[o[e+1]?1:0],e>0?R(o,0,e):void 0,s,n)})),he(Pt)};export{Ie as createCheckpoints,be as createCustomPersister,ke as createFilePersister,Se as createIndexes,Ve as createLocalPersister,pe as createMetrics,Me as createQueries,De as createRelationships,Ae as createRemotePersister,Ee as createSessionPersister,Oe as createStore,Re as defaultSorter};
|
|
1
|
+
const e=e=>typeof e,t=e(""),s=e(!0),n=e(0),o=e(e),a=e=>""+e,r=(e,t)=>e.includes(t),l=(e,t)=>e.every(t),i=(e,t)=>g(e)===g(t)&&l(e,((e,s)=>t[s]===e)),d=(e,t)=>l(e,((s,n)=>0==n||t(e[n-1],s)<=0)),c=(e,t)=>e.sort(t),u=(e,t)=>e.forEach(t),h=(e,t)=>e.map(t),f=e=>w(e,((e,t)=>e+t),0),g=e=>e.length,L=e=>0==g(e),w=(e,t,s)=>e.reduce(t,s),R=(e,t,s)=>e.slice(t,s),I=(e,...t)=>e.push(...t),S=e=>e.pop(),v=e=>e.shift(),T=e=>JSON.stringify(e,((e,t)=>V(t,Map)?w([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),p=JSON.parse,C=Math.max,b=Math.min,y=isFinite,V=(e,t)=>e instanceof t,m=e=>null==e,E=(e,t,s)=>m(e)?s?.():t(e),k=e=>e==t||e==s,J=t=>e(t)==o,M=e=>Array.isArray(e),D=()=>{},A=e=>e.size,x=(e,t)=>e?.has(t)??!1,F=e=>m(e)||0==A(e),Q=e=>[...e?.values()??[]],z=e=>e.clear(),N=(e,t)=>e?.forEach(t),O=(e,t)=>e?.delete(t),W=e=>new Map(e),j=e=>[...e?.keys()??[]],P=(e,t)=>e?.get(t),B=(e,t)=>N(e,((e,s)=>t(s,e))),$=(e,t,s)=>m(s)?(O(e,t),e):e?.set(t,s),q=(e,t,s)=>(x(e,t)||$(e,t,s()),P(e,t)),G=(e,t,s)=>{const n={},o=t??(e=>e);return N(e,((e,t)=>E(o(e),(e=>s?.(e)?0:n[t]=e)))),n},H=(e,t)=>{const s=W(),n=t??(e=>e);return N(e,((e,t)=>s.set(t,n(e)))),s},K=e=>H(e,H),U=(e,t,s,n,o=0)=>E((s?q:P)(e,t[o],o>g(t)-2?s:W),(a=>{if(o>g(t)-2)return n?.(a)&&$(e,t[o]),a;const r=U(a,t,s,n,o+1);return F(a)&&$(e,t[o]),r})),X=t=>{const s=e(t);return k(s)||s==n&&y(t)?s:void 0},Y=(e,t,s,n,o)=>m(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),Z=(e,t,s)=>m(s)?e.delValue(t):e.setValue(t,s),_=e=>new Set(M(e)||m(e)?e:[e]),ee=(e,t)=>e?.add(t),te=(e,t,s)=>{const n=e.hasRow,o=W(),a=W(),r=W(),l=W(),d=W(),c=(t,s,...n)=>{const o=q(d,t,_);return u(n,(t=>ee(o,t)&&s&&e.callListener(t))),n},h=(t,...s)=>E(P(d,t),(n=>{u(L(s)?Q(n):s,(t=>{e.delListener(t),O(n,t)})),F(n)&&$(d,t)})),f=(e,s)=>{$(o,e,s),x(a,e)||($(a,e,t()),$(r,e,W()),$(l,e,W()))},g=e=>{$(o,e),$(a,e),$(r,e),$(l,e),h(e)};return[()=>e,()=>j(o),e=>B(a,e),e=>x(a,e),e=>P(o,e),e=>P(a,e),(e,t)=>$(a,e,t),f,(t,o,a,d,g)=>{f(t,o);const L=W(),w=W(),R=P(r,t),I=P(l,t),S=t=>{const a=s=>e.getCell(o,t,s),r=P(R,t),l=n(o,t)?s(d(a,t)):void 0;if(r===l||M(r)&&M(l)&&i(r,l)||$(L,t,[r,l]),!m(g)){const e=P(I,t),s=n(o,t)?g(a,t):void 0;e!=s&&$(w,t,s)}},v=e=>{a((()=>{N(L,(([,e],t)=>$(R,t,e))),N(w,((e,t)=>$(I,t,e)))}),L,w,R,I,e),z(L),z(w)};B(R,S),e.hasTable(o)&&u(e.getRowIds(o),(e=>{x(R,e)||S(e)})),v(!0),h(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>S(s))),e.addTableListener(o,(()=>v())))},g,()=>B(d,g),c,h]},se=(s,n)=>e(s)==t?e=>e(s):s??(()=>n??""),ne=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},oe=/^\d+$/,ae=()=>{const e=[];let t=0;return[s=>(s?v(e):null)??""+t++,t=>{oe.test(t)&&g(e)<1e3&&I(e,t)}]},re=e=>{let t;const[s,n]=ae(),o=W();return[(n,a,r,l=[],i=(()=>[]))=>{t??=e();const d=s(1);return $(o,d,[n,a,r,l,i]),ee(U(a,r??[""],_),d),d},(e,s,...n)=>u(((e,t=[""])=>{const s=[],n=(e,o)=>o==g(t)?I(s,e):null===t[o]?N(e,(e=>n(e,o+1))):u([t[o],null],(t=>n(P(e,t),o+1)));return n(e,0),s})(e,s),(e=>N(e,(e=>P(o,e)[0](t,...s??[],...n))))),e=>E(P(o,e),(([,t,s])=>(U(t,s??[""],void 0,(t=>(O(t,e),F(t)?1:0))),$(o,e),n(e),s))),e=>E(P(o,e),(([e,,s=[],n,o])=>{const a=(...r)=>{const l=g(r);l==g(s)?e(t,...r,...o(r)):m(s[l])?u(n[l]?.(...r)??[],(e=>a(...r,e))):a(...r,s[l])};a()}))]},le=Object,ie=le.keys,de=le.isFrozen,ce=le.freeze,ue=e=>V(e,le)&&e.constructor==le,he=(e,t)=>!m(((e,t)=>E(e,(e=>e[t])))(e,t)),fe=(e,t)=>delete e[t],ge=(e,t)=>h(le.entries(e),(([e,s])=>t(s,e))),Le=e=>ue(e)&&L(ie(e)),we=ne((e=>{let t,s,n,o=100,a=W(),l=W(),i=1;const d=W(),c=W(),[h,f,w]=re((()=>U)),R=W(),T=W(),p=[],C=[],b=(t,s)=>{i=0,e.transaction((()=>{const[n,o]=P(R,s);N(n,((s,n)=>N(s,((s,o)=>N(s,((s,a)=>Y(e,n,o,a,s[t]))))))),N(o,((s,n)=>Z(e,n,s[t])))})),i=1},y=e=>{$(R,e),$(T,e),f(c,[e])},V=(e,t)=>u(((e,t)=>e.splice(0,t))(e,t??g(e)),y),k=()=>V(p,g(p)-o),J=()=>E(t,(()=>{I(p,t),k(),V(C),t=void 0,n=1})),M=()=>{t=S(p),n=1},D=e.addCellListener(null,null,null,((e,t,s,n,o,r)=>{if(i){J();const e=q(a,t,W),l=q(e,s,W),i=q(l,n,(()=>[r,void 0]));i[1]=o,i[0]===o&&F($(l,n))&&F($(e,s))&&F($(a,t))&&M(),j()}})),A=e.addValueListener(null,((e,t,s,n)=>{if(i){J();const e=q(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&F($(l,t))&&M(),j()}})),Q=(e="")=>(m(t)&&(t=""+s++,$(R,t,[a,l]),H(t,e),a=W(),l=W(),n=1),t),z=()=>{L(p)||(((e,...t)=>{e.unshift(...t)})(C,Q()),b(0,t),t=S(p),n=1)},O=()=>{L(C)||(I(p,t),t=v(C),b(1,t),n=1)},j=()=>{n&&(f(d),n=0)},G=e=>{const t=Q(e);return j(),t},H=(e,t)=>(K(e)&&P(T,e)!==t&&($(T,e,t),f(c,[e])),U),K=e=>x(R,e),U={setSize:e=>(o=e,k(),U),addCheckpoint:G,setCheckpoint:H,getStore:()=>e,getCheckpointIds:()=>[[...p],t,[...C]],forEachCheckpoint:e=>B(T,e),hasCheckpoint:K,getCheckpoint:e=>P(T,e),goBackward:()=>(z(),j(),U),goForward:()=>(O(),j(),U),goTo:e=>{const s=r(p,e)?z:r(C,e)?O:null;for(;!m(s)&&e!=t;)s();return j(),U},addCheckpointIdsListener:e=>h(e,d),addCheckpointListener:(e,t)=>h(t,c,[e]),delListener:e=>(w(e),U),clear:()=>(V(p),V(C),m(t)||y(t),t=void 0,s=0,G(),U),destroy:()=>{e.delListener(D),e.delListener(A)},getListenerStats:()=>({})};return ce(U.clear())})),Re=(e,t)=>e<t?-1:1,Ie=ne((e=>{const t=W(),s=W(),[n,o,r,l,i,u,f,,g,L,w]=te(e,W,(e=>m(e)?"":M(e)?h(e,a):a(e))),[R,I,S]=re((()=>T)),v=(t,s,n)=>{const o=i(t);N(n,((t,n)=>s(n,(s=>N(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},T={setIndexDefinition:(e,n,o,a,r,l=Re)=>{const i=m(r)?void 0:([e],[t])=>r(e,t);return g(e,n,((n,o,r,h,g,L)=>{let w=0;const R=_(),S=_(),v=u(e);if(N(o,(([e,t],s)=>{const n=_(e),o=_(t);N(n,(e=>O(o,e)?O(n,e):0)),N(n,(e=>{ee(R,e),E(P(v,e),(t=>{O(t,s),F(t)&&($(v,e),w=1)}))})),N(o,(e=>{ee(R,e),x(v,e)||($(v,e,_()),w=1),ee(P(v,e),s),m(a)||ee(S,e)}))})),n(),F(g)||(L?B(v,(e=>ee(S,e))):B(r,(e=>E(P(h,e),(e=>ee(S,e))))),N(S,(e=>{const t=(t,s)=>l(P(g,t),P(g,s),e),s=[...P(v,e)];d(s,t)||($(v,e,_(c(s,t))),ee(R,e))}))),(w||L)&&!m(i)){const t=[...v];d(t,i)||(f(e,W(c(t,i))),w=1)}w&&I(t,[e]),N(R,(t=>I(s,[e,t])))}),se(o),E(a,se)),T},delIndexDefinition:e=>(L(e),T),getStore:n,getIndexIds:o,forEachIndex:e=>r(((t,s)=>e(t,(e=>v(t,e,s))))),forEachSlice:(e,t)=>v(e,t,u(e)),hasIndex:l,hasSlice:(e,t)=>x(u(e),t),getTableId:i,getSliceIds:e=>j(u(e)),getSliceRowIds:(e,t)=>Q(P(u(e),t)),addSliceIdsListener:(e,s)=>R(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>R(n,s,[e,t]),delListener:e=>(S(e),T),destroy:w,getListenerStats:()=>({})};return ce(T)})),Se=W([["avg",[(e,t)=>f(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=>C(...e),(e,t)=>C(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:C(t,e)]],["min",[e=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:b(t,e)]],["sum",[e=>f(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),ve=(e,t,s,n,o,a=!1)=>{if(F(s))return;const[r,l,i,d]=o;return a||=m(e),N(n,(([s,n])=>{a||(e=m(s)?l?.(e,n,t++):m(n)?i?.(e,s,t--):d?.(e,n,s,t),a||=m(e))})),a?r(Q(s),A(s)):e},Te=ne((e=>{const t=W(),[s,n,o,a,r,l,i,,d,c,u]=te(e,D,(e=>isNaN(e)||m(e)||!0===e||!1===e||""===e?void 0:1*e)),[h,f,g]=re((()=>L)),L={setMetricDefinition:(e,s,n,o,a,r,c)=>{const u=J(n)?[n,a,r,c]:P(Se,n)??P(Se,"sum");return d(e,s,((s,n,o,a,r,d)=>{const c=l(e),h=A(a);d||=m(c),s();let g=ve(c,h,a,n,u,d);y(g)||(g=void 0),g!=c&&(i(e,g),f(t,[e],g,c))}),se(o,1)),L},delMetricDefinition:e=>(c(e),L),getStore:s,getMetricIds:n,forEachMetric:o,hasMetric:a,getTableId:r,getMetric:l,addMetricListener:(e,s)=>h(s,t,[e]),delListener:e=>(g(e),L),destroy:u,getListenerStats:()=>({})};return ce(L)})),pe=(e,t,s,n,o)=>{let a,r,l=0,i=!1;const d={load:async(s,n)=>{if(2!=l){l=1;const o=await t();m(o)||""==o?e.setContent([s,n]):e.setJson(o),l=0}return d},startAutoLoad:async(t,s)=>(d.stopAutoLoad(),await d.load(t,s),i=!0,r=n((async t=>{m(t)?await d.load():2!=l&&(l=1,e.setContent(t),l=0)})),d),stopAutoLoad:()=>(i&&(o(r),r=void 0,i=!1),d),save:async()=>(1!=l&&(l=2,await s(e.getContent),l=0),d),startAutoSave:async()=>(await d.stopAutoSave().save(),a=e.addDidFinishTransactionListener(d.save),d),stopAutoSave:()=>(E(a,e.delListener),d),getStore:()=>e,destroy:()=>d.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ce(d)},Ce=ne((e=>{const t=e.createStore,[s,n,o,a,r,,,i,,d,c,h,f]=te(e,(()=>!0),D),w=t(),S=t(),v=W(),T=(e,t,...s)=>u(s,(s=>ee(q(q(v,t,W),e,_),s))),p=e=>{E(P(v,e),(e=>{B(e,((e,t)=>N(t,(t=>e.delListener(t))))),z(e)})),u([S,w],(t=>t.delTable(e)))},C=(e,t,s)=>T(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),b={setQueryDefinition:(t,s,n)=>{i(t,s),p(t);const o=[],a=[[null,[s,null,null,[],W()]]],r=[],d=[],c=[];n({select:(e,t)=>{const s=J(e)?[g(o)+"",e]:[m(t)?e:t,s=>s(e,t)];return I(o,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=m(s)||J(t)?null:t,o=m(n)?t:s,r=[e,[e,n,J(o)?o:e=>e(o),[],W()]];return I(a,r),{as:e=>r[0]=e}},where:(e,t,s)=>I(r,J(e)?e:m(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const a=[e,[e,J(t)?[t,s,n,o]:P(Se,t)??[(e,t)=>t]]];return I(d,a),{as:e=>a[0]=e}},having:(e,t)=>I(c,J(e)?e:s=>s(e)===t)});const R=W(o);if(F(R))return b;const v=W(a);B(v,((e,[,t])=>E(P(v,t),(({3:t})=>m(e)?0:I(t,e)))));const y=W(d);let V=w;if(F(y)&&L(c))V=S;else{C(t,V,S);const e=W();B(y,((t,[s,n])=>ee(q(e,s,_),[t,n])));const s=_();B(R,(t=>x(e,t)?0:ee(s,t)));const n=W(),o=(s,n,o,a)=>E(s,(([r,i,d,u])=>{B(n,((t,[s])=>{const n=q(r,t,W),l=P(n,o),i=a?void 0:s;if(l!==i){const s=_([[l,i]]),a=A(n);$(n,o,i),N(P(e,t),(([e,t])=>{const o=ve(u[e],a,n,s,t);u[e]=m(X(o))?null:o}))}})),F(i)||!l(c,(e=>e((e=>u[e]))))?S.delRow(t,d):m(d)?s[2]=S.addRow(t,u):S.setRow(t,d,u)}));T(V,t,V.addRowListener(t,null,((a,r,l,i)=>{const d=[],c=[],u=W(),h=V.hasRow(t,l);let f=!h;N(s,(e=>{const[s,n,o]=i(t,l,e);I(d,n),I(c,o),f||=s})),B(e,(e=>{const[s,,n]=i(t,l,e);(f||s)&&$(u,e,[n])})),f&&o(U(n,d,void 0,(([,e])=>(O(e,l),F(e)))),u,l,1),h&&o(U(n,c,(()=>{const e={};return N(s,(s=>e[s]=V.getCell(t,l,s))),[W(),_(),void 0,e]}),(([,e])=>{ee(e,l)})),u,l)})))}C(t,e,V);const k=(n,o,a,i)=>{const d=t=>e.getCell(o,a,t);u(i,(s=>{const[o,,a,r,l]=P(v,s),i=a?.(d,n),[c,u]=P(l,n)??[];i!=c&&(m(u)||f(t,u),$(l,n,m(i)?null:[i,...h(t,1,e.addRowListener(o,i,(()=>k(n,o,i,r))))]))})),(n=>{const o=(t,o)=>e.getCell(...m(o)?[s,n,t]:t===s?[s,n,o]:[P(v,t)?.[0],P(P(v,t)?.[4],n)?.[0],o]);V.transaction((()=>l(r,(e=>e(o)))?B(R,((e,s)=>Y(V,t,n,e,s(o,n)))):V.delRow(t,n)))})(n)},{3:M}=P(v,null);return V.transaction((()=>h(t,1,e.addRowListener(s,null,((n,o,a)=>{e.hasRow(s,a)?k(a,s,a,M):(V.delRow(t,a),N(v,(({4:e})=>E(P(e,a),(([,s])=>{f(t,s),$(e,a)})))))}))))),b},delQueryDefinition:e=>(p(e),d(e),b),getStore:s,getQueryIds:n,forEachQuery:o,hasQuery:a,getTableId:r,delListener:e=>(S.delListener(e),b),destroy:c,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=S.getListenerStats();return n}};return ge({Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},(([e,t],s)=>{u(e?["get","has","forEach"]:["get"],(e=>b[e+"Result"+s]=(...t)=>S[e+s](...t))),b["addResult"+s+"Listener"]=(...e)=>S["add"+s+"Listener"](...R(e,0,t),((s,...n)=>e[t](b,...n)))})),ce(b)})),be=ne((e=>{const t=W(),s=W(),n=W(),o=W(),[a,r,l,i,d,c,,,u,h,f]=te(e,(()=>[W(),W(),W(),W()]),(e=>m(e)?void 0:e+"")),[g,L,w]=re((()=>v)),R=(e,t,s)=>E(c(e),(([n,,o])=>{if(!x(o,t)){const a=_();if(d(e)!=S(e))ee(a,t);else{let e=t;for(;!m(e)&&!x(a,e);)ee(a,e),e=P(n,e)}if(s)return a;$(o,t,a)}return P(o,t)})),I=(e,t)=>E(c(e),(([,,e])=>$(e,t))),S=e=>P(t,e),v={setRelationshipDefinition:(e,a,r,l)=>($(t,e,r),u(e,a,((t,a)=>{const r=_(),l=_(),i=_(),[d,u]=c(e);N(a,(([t,s],n)=>{m(t)||(ee(l,t),E(P(u,t),(e=>{O(e,n),F(e)&&$(u,t)}))),m(s)||(ee(l,s),x(u,s)||$(u,s,_()),ee(P(u,s),n)),ee(r,n),$(d,n,s),B(P(o,e),(t=>{x(R(e,t),n)&&ee(i,t)}))})),t(),N(r,(t=>L(s,[e,t]))),N(l,(t=>L(n,[e,t]))),N(i,(t=>{I(e,t),L(o,[e,t])}))}),se(l)),v),delRelationshipDefinition:e=>($(t,e),h(e),v),getStore:a,getRelationshipIds:r,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:i,getLocalTableId:d,getRemoteTableId:S,getRemoteRowId:(e,t)=>P(c(e)?.[0],t),getLocalRowIds:(e,t)=>Q(P(c(e)?.[1],t)),getLinkedRowIds:(e,t)=>m(c(e))?[t]:Q(R(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>g(n,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>g(s,n,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(R(e,t),g(s,o,[e,t])),delListener:e=>(I(...w(e)),v),destroy:f,getListenerStats:()=>({})};return ce(v)})),ye=e=>[e,e],Ve=()=>[W(),W()],me=(e,t,s,n=$)=>{const o=(a=e=>!he(t,e),j(e).filter(a));var a;return u(ie(t),(n=>s(e,n,t[n]))),u(o,(t=>n(e,t))),e},Ee=(e,t,s)=>m(e)||!ue(e)||Le(e)||de(e)?(s?.(),!1):(ge(e,((s,n)=>{t(s,n)||fe(e,n)})),!Le(e)),ke=(e,t,s)=>$(e,t,P(e,t)==-s?void 0:s),Je=()=>{let e,t,s,o,l=0;const d=W(),f=W(),g=W(),L=W(),w=W(),S=W(),v=W(),C=W(),b=W(),y=W(),V=W(),M=W(),D=_(),A=W(),Q=W(),U=W(),te=Ve(),se=Ve(),ne=Ve(),oe=Ve(),le=Ve(),ie=Ve(),de=Ve(),ue=Ve(),we=Ve(),Ie=Ve(),Se=Ve(),ve=Ve(),Te=Ve(),pe=Ve(),[Ce,be,Me,De]=re((()=>jt)),Ae=e=>{if(!Ee(e,((e,t)=>r(["type","default"],t))))return!1;const t=e.type;return!(!k(t)&&t!=n||(X(e.default)!=t&&fe(e,"default"),0))},xe=(t,s)=>(!e||x(b,s)||ct(s))&&Ee(t,((e,t)=>Fe(s,t,e)),(()=>ct(s))),Fe=(e,t,s,n)=>Ee(n?s:Oe(s,e,t),((n,o)=>E(Qe(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>ct(e,t))),Qe=(t,s,n,o)=>e?E(P(P(b,t),n),(e=>X(o)!=e.type?ct(t,s,n,o,e.default):o),(()=>ct(t,s,n,o))):m(X(o))?ct(t,s,n,o):o,ze=(e,t)=>Ee(t?e:We(e),((t,s)=>E(Ne(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>ut())),Ne=(e,s)=>t?E(P(V,e),(t=>X(s)!=t.type?ut(e,s,t.default):s),(()=>ut(e,s))):m(X(s))?ut(e,s):s,Oe=(e,t,s)=>(E(P(y,t),(([n,o])=>{N(n,((t,s)=>{he(e,s)||(e[s]=t)})),N(o,(n=>{he(e,n)||ct(t,s,n)}))})),e),We=e=>(t&&(N(M,((t,s)=>{he(e,s)||(e[s]=t)})),N(D,(t=>{he(e,t)||ut(t)}))),e),je=e=>me(b,e,((e,t,s)=>{const n=W(),o=_();me(q(b,t,W),s,((e,t,s)=>{$(e,t,s),E(s.default,(e=>$(n,t,e)),(()=>ee(o,t)))})),$(y,t,[n,o])}),((e,t)=>{$(b,t),$(y,t)})),Pe=e=>me(V,e,((e,t,s)=>{$(V,t,s),E(s.default,(e=>$(M,t,e)),(()=>ee(D,t)))}),((e,t)=>{$(V,t),$(M,t),O(D,t)})),Be=e=>Le(e)?xt():kt(e),$e=e=>me(Q,e,((e,t,s)=>qe(t,s)),((e,t)=>et(t))),qe=(e,t)=>me(q(Q,e,(()=>(ot(e,1),W()))),t,((t,s,n)=>Ge(e,t,s,n)),((t,s)=>tt(e,t,s))),Ge=(e,t,s,n,o)=>me(q(t,s,(()=>(at(e,s,1),W()))),n,((t,n,o)=>He(e,s,t,n,o)),((n,a)=>st(e,t,s,n,a,o))),He=(e,t,s,n,o)=>{x(s,n)||rt(e,t,n,1);const a=P(s,n);o!==a&&(lt(e,t,n,a,o),$(s,n,o))},Ke=(e,t,s,n,o)=>E(P(t,s),(t=>He(e,s,t,n,o)),(()=>Ge(e,t,s,Oe({[n]:o},e,s)))),Ue=e=>Le(e)?Ft():Jt(e),Xe=e=>me(U,e,((e,t,s)=>Ye(t,s)),((e,t)=>nt(t))),Ye=(e,t)=>{x(U,e)||it(e,1);const s=P(U,e);t!==s&&(dt(e,s,t),$(U,e,t))},Ze=(e,t)=>{const[s]=q(A,e,ae),n=s(t);return x(P(Q,e),n)?Ze(e,t):n},_e=e=>P(Q,e)??qe(e,{}),et=e=>qe(e,{}),tt=(e,t,s)=>{const[,n]=q(A,e,ae);n(s),Ge(e,t,s,{},!0)},st=(e,t,s,n,o,a)=>{const r=P(P(y,e)?.[0],o);if(!m(r)&&!a)return He(e,s,n,o,r);const l=t=>{lt(e,s,t,P(n,t)),rt(e,s,t,-1),$(n,t)};m(r)?l(o):B(n,l),F(n)&&(at(e,s,-1),F($(t,s))&&(ot(e,-1),$(Q,e),$(A,e)))},nt=e=>{const t=P(M,e);if(!m(t))return Ye(e,t);dt(e,P(U,e)),it(e,-1),$(U,e)},ot=(e,t)=>ke(d,e,t),at=(e,t,s)=>ke(q(f,e,W),t,s),rt=(e,t,s,n)=>ke(q(q(g,e,W),t,W),s,n),lt=(e,t,s,n,o)=>q(q(q(L,e,W),t,W),s,(()=>[n,0]))[1]=o,it=(e,t)=>ke(w,e,t),dt=(e,t,s)=>q(S,e,(()=>[t,0]))[1]=s,ct=(e,t,s,n,o)=>(I(q(q(q(v,e,W),t,W),s,(()=>[])),n),o),ut=(e,t,s)=>(I(q(C,e,(()=>[])),t),s),ht=(e,t,s)=>E(P(P(P(L,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ye(yt(e,t,s))])),ft=e=>E(P(S,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ye(Et(e))])),gt=e=>F(v)||F(we[e])?0:N(e?H(v,K):v,((t,s)=>N(t,((t,n)=>N(t,((t,o)=>be(we[e],[s,n,o],t))))))),Lt=e=>F(C)||F(Ie[e])?0:N(e?H(C):C,((t,s)=>be(Ie[e],[s],t))),wt=(e,t,s)=>{if(!F(t))return be(e,s),1},Rt=e=>{const t=F(le[e]),s=F(de[e])&&F(oe[e])&&t&&F(se[e]),n=F(ue[e])&&F(ie[e])&&F(ne[e])&&F(te[e]);if(!s||!n){const o=e?[H(d),K(f),H(g,K),H(L,K)]:[d,f,g,L];if(!s){N(o[2],((t,s)=>N(t,((t,n)=>wt(de[e],t,[s,n])))));const s=_();N(o[1],((n,o)=>{wt(oe[e],n,[o])&&!t&&(be(le[e],[o,null]),ee(s,o))})),t||N(o[3],((t,n)=>{if(!x(s,n)){const s=_();N(t,(e=>N(e,(([t,n],o)=>n!==t?ee(s,o):O(e,o))))),N(s,(t=>be(le[e],[n,t])))}})),wt(se[e],o[0])}if(!n){let t;N(o[3],((s,n)=>{let o;N(s,((s,a)=>{let r;N(s,(([s,l],i)=>{l!==s&&(be(ue[e],[n,a,i],l,s,ht),t=o=r=1)})),r&&be(ie[e],[n,a],ht)})),o&&be(ne[e],[n],ht)})),t&&be(te[e],void 0,ht)}}},It=e=>{const t=F(ve[e]),s=F(Te[e])&&F(Se[e]);if(!t||!s){const n=e?[H(w),H(S)]:[w,S];if(t||wt(ve[e],n[0]),!s){let t;N(n[1],(([s,n],o)=>{n!==s&&(be(Te[e],[o],n,s,ft),t=1)})),t&&be(Se[e],void 0,ft)}}},St=(e,...t)=>(Nt((()=>e(...h(t,a)))),jt),vt=()=>G(Q,(e=>G(e,G))),Tt=()=>j(Q),pt=e=>j(P(Q,a(e))),Ct=(e,t,s,n=0,o)=>{return h(R(c((r=P(Q,a(e)),l=(e,s)=>[m(t)?s:P(e,a(t)),s],h([...r?.entries()??[]],(([e,t])=>l(t,e)))),(([e],[t])=>Re(e,t)*(s?-1:1))),n,m(o)?o:n+o),(([,e])=>e));var r,l},bt=(e,t)=>j(P(P(Q,a(e)),a(t))),yt=(e,t,s)=>P(P(P(Q,a(e)),a(t)),a(s)),Vt=()=>G(U),mt=()=>j(U),Et=e=>P(U,a(e)),kt=e=>St((()=>(e=>Ee(e,xe,ct))(e)?$e(e):0)),Jt=e=>St((()=>ze(e)?Xe(e):0)),Mt=e=>{try{Be(p(e))}catch{}return jt},Dt=t=>St((()=>{if((e=Ee(t,(e=>Ee(e,Ae))))&&(je(t),!F(Q))){const e=vt();xt(),kt(e)}})),At=e=>St((()=>{if(t=(e=>Ee(e,Ae))(e)){const s=Vt();zt(),Ft(),t=!0,Pe(e),Jt(s)}})),xt=()=>St((()=>$e({}))),Ft=()=>St((()=>Xe({}))),Qt=()=>St((()=>{je({}),e=!1})),zt=()=>St((()=>{Pe({}),t=!1})),Nt=(e,t)=>{if(-1==l)return;Ot();const s=e();return Wt(t),s},Ot=()=>(l++,jt),Wt=e=>{if(l>0&&(l--,0==l)){s=!F(L),o=!F(S),l=1,gt(1),s&&Rt(1),Lt(1),o&&It(1),l=-1;let t=!e&&F(pe[0])&&F(pe[1])?[{},{},{},{}]:[G(L,(e=>G(e,(e=>G(e,(e=>[...e]),(([e,t])=>e===t))),Le)),Le),G(v,(e=>G(e,G))),G(S,(e=>[...e]),(([e,t])=>e===t)),G(C)];e?.(...t)&&(l=1,N(L,((e,t)=>N(e,((e,s)=>N(e,(([e],n)=>Y(jt,t,s,n,e))))))),N(S,(([e],t)=>Z(jt,t,e))),l=-1,s=o=!1,t=[{},{},{},{}]),be(pe[0],void 0,s,o,...t),gt(0),s&&Rt(0),Lt(0),o&&It(0),be(pe[1],void 0,s,o,...t),l=0,u([d,f,g,L,v,w,S,C],z)}return jt},jt={getContent:()=>[vt(),Vt()],getTables:vt,getTableIds:Tt,getTable:e=>G(P(Q,a(e)),G),getRowIds:pt,getSortedRowIds:Ct,getRow:(e,t)=>G(P(P(Q,a(e)),a(t))),getCellIds:bt,getCell:yt,getValues:Vt,getValueIds:mt,getValue:Et,hasTables:()=>!F(Q),hasTable:e=>x(Q,a(e)),hasRow:(e,t)=>x(P(Q,a(e)),a(t)),hasCell:(e,t,s)=>x(P(P(Q,a(e)),a(t)),a(s)),hasValues:()=>!F(U),hasValue:e=>x(U,a(e)),getTablesJson:()=>T(Q),getValuesJson:()=>T(U),getJson:()=>T([Q,U]),getTablesSchemaJson:()=>T(b),getValuesSchemaJson:()=>T(V),getSchemaJson:()=>T([b,V]),setContent:([e,t])=>St((()=>{kt(e),Jt(t)})),setTables:kt,setTable:(e,t)=>St((e=>xe(t,e)?qe(e,t):0),e),setRow:(e,t,s)=>St(((e,t)=>Fe(e,t,s)?Ge(e,_e(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Nt((()=>{let n;return Fe(e,n,t)&&(e=a(e),Ge(e,_e(e),n=Ze(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>St(((e,t)=>{if(Fe(e,t,s,1)){const n=_e(e);ge(s,((s,o)=>Ke(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>St(((e,t,s)=>E(Qe(e,t,s,J(n)?n(yt(e,t,s)):n),(n=>Ke(e,_e(e),t,s,n)))),e,t,s),setValues:Jt,setPartialValues:e=>St((()=>ze(e,1)?ge(e,((e,t)=>Ye(t,e))):0)),setValue:(e,t)=>St((e=>E(Ne(e,J(t)?t(Et(e)):t),(t=>Ye(e,t)))),e),setTablesJson:Mt,setValuesJson:e=>{try{Ue(p(e))}catch{}return jt},setJson:e=>{try{const[t,s]=p(e);Be(t),Ue(s)}catch{Mt(e)}return jt},setTablesSchema:Dt,setValuesSchema:At,setSchema:(e,t)=>St((()=>{Dt(e),At(t)})),delTables:xt,delTable:e=>St((e=>x(Q,e)?et(e):0),e),delRow:(e,t)=>St(((e,t)=>E(P(Q,e),(s=>x(s,t)?tt(e,s,t):0))),e,t),delCell:(e,t,s,n)=>St(((e,t,s)=>E(P(Q,e),(o=>E(P(o,t),(a=>x(a,s)?st(e,o,t,a,s,n):0))))),e,t,s),delValues:Ft,delValue:e=>St((e=>x(U,e)?nt(e):0),e),delTablesSchema:Qt,delValuesSchema:zt,delSchema:()=>St((()=>{Qt(),zt()})),transaction:Nt,startTransaction:Ot,finishTransaction:Wt,forEachTable:e=>N(Q,((t,s)=>e(s,(e=>N(t,((t,s)=>e(s,(e=>B(t,e))))))))),forEachRow:(e,t)=>N(P(Q,a(e)),((e,s)=>t(s,(t=>B(e,t))))),forEachCell:(e,t,s)=>B(P(P(Q,a(e)),a(t)),s),forEachValue:e=>B(U,e),addSortedRowIdsListener:(e,t,s,n,o,a,r)=>{let l=Ct(e,t,s,n,o);return Ce((()=>{const r=Ct(e,t,s,n,o);i(r,l)||(l=r,a(jt,e,t,s,n,o,l))}),le[r?1:0],[e,t],[Tt])},addWillFinishTransactionListener:e=>Ce(e,pe[0]),addDidFinishTransactionListener:e=>Ce(e,pe[1]),callListener:e=>(De(e),jt),delListener:e=>(Me(e),jt),getListenerStats:()=>({}),createStore:Je};return ge({Tables:[0,te],TableIds:[0,se],Table:[1,ne,[Tt]],RowIds:[1,oe,[Tt]],Row:[2,ie,[Tt,pt]],CellIds:[2,de,[Tt,pt]],Cell:[3,ue,[Tt,pt,bt],e=>ye(yt(...e))],InvalidCell:[3,we],Values:[0,Se],ValueIds:[0,ve],Value:[1,Te,[mt],e=>ye(Et(e[0]))],InvalidValue:[1,Ie]},(([e,t,s,n],o)=>{jt["add"+o+"Listener"]=(...o)=>Ce(o[e],t[o[e+1]?1:0],e>0?R(o,0,e):void 0,s,n)})),ce(jt)};export{we as createCheckpoints,pe as createCustomPersister,Ie as createIndexes,Te as createMetrics,Ce as createQueries,be as createRelationships,Je as createStore,Re as defaultSorter};
|
package/lib/tinybase.js.gz
CHANGED
|
Binary file
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The persister-browser module of the TinyBase project lets you save and load
|
|
3
|
+
* Store data to and from browser storage.
|
|
4
|
+
*
|
|
5
|
+
* Two entry points are provided, each of which returns a new Persister object
|
|
6
|
+
* that can load and save a Store:
|
|
7
|
+
*
|
|
8
|
+
* - The createSessionPersister function returns a Persister that uses the
|
|
9
|
+
* browser's session storage.
|
|
10
|
+
* - The createLocalPersister function returns a Persister that uses the
|
|
11
|
+
* browser's local storage.
|
|
12
|
+
*
|
|
13
|
+
* @see Persisting Data guide
|
|
14
|
+
* @packageDocumentation
|
|
15
|
+
* @module persister-browser
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import {Persister} from './persisters';
|
|
19
|
+
import {Store} from './store';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The createSessionPersister function creates a Persister object that can
|
|
23
|
+
* persist the Store to the browser's session storage.
|
|
24
|
+
*
|
|
25
|
+
* As well as providing a reference to the Store to persist, you must provide a
|
|
26
|
+
* `storageName` parameter which is unique to your application. This is the key
|
|
27
|
+
* that the browser uses to identify the storage location.
|
|
28
|
+
*
|
|
29
|
+
* @param store The Store to persist.
|
|
30
|
+
* @param storageName The unique key to identify the storage location.
|
|
31
|
+
* @returns A reference to the new Persister object.
|
|
32
|
+
* @example
|
|
33
|
+
* This example creates a Persister object and persists the Store to the
|
|
34
|
+
* browser's session storage.
|
|
35
|
+
*
|
|
36
|
+
* ```js
|
|
37
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
38
|
+
* const persister = createSessionPersister(store, 'pets');
|
|
39
|
+
*
|
|
40
|
+
* await persister.save();
|
|
41
|
+
* console.log(sessionStorage.getItem('pets'));
|
|
42
|
+
* // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
|
|
43
|
+
*
|
|
44
|
+
* persister.destroy();
|
|
45
|
+
* sessionStorage.clear();
|
|
46
|
+
* ```
|
|
47
|
+
* @category Creation
|
|
48
|
+
*/
|
|
49
|
+
export function createSessionPersister(
|
|
50
|
+
store: Store,
|
|
51
|
+
storageName: string,
|
|
52
|
+
): Persister;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* The createLocalPersister function creates a Persister object that can
|
|
56
|
+
* persist the Store to the browser's local storage.
|
|
57
|
+
*
|
|
58
|
+
* As well as providing a reference to the Store to persist, you must provide a
|
|
59
|
+
* `storageName` parameter which is unique to your application. This is the key
|
|
60
|
+
* that the browser uses to identify the storage location.
|
|
61
|
+
*
|
|
62
|
+
* @param store The Store to persist.
|
|
63
|
+
* @param storageName The unique key to identify the storage location.
|
|
64
|
+
* @returns A reference to the new Persister object.
|
|
65
|
+
* @example
|
|
66
|
+
* This example creates a Persister object and persists the Store to the
|
|
67
|
+
* browser's local storage.
|
|
68
|
+
*
|
|
69
|
+
* ```js
|
|
70
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
71
|
+
* const persister = createLocalPersister(store, 'pets');
|
|
72
|
+
*
|
|
73
|
+
* await persister.save();
|
|
74
|
+
* console.log(localStorage.getItem('pets'));
|
|
75
|
+
* // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
|
|
76
|
+
*
|
|
77
|
+
* persister.destroy();
|
|
78
|
+
* localStorage.clear();
|
|
79
|
+
* ```
|
|
80
|
+
* @category Creation
|
|
81
|
+
*/
|
|
82
|
+
export function createLocalPersister(
|
|
83
|
+
store: Store,
|
|
84
|
+
storageName: string,
|
|
85
|
+
): Persister;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The persister-file module of the TinyBase project lets you save and load
|
|
3
|
+
* Store data to and from a local file system (in an appropriate environment).
|
|
4
|
+
*
|
|
5
|
+
* @see Persisting Data guide
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
* @module persister-file
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import {Persister} from './persisters';
|
|
11
|
+
import {Store} from './store';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The createFilePersister function creates a Persister object that can persist
|
|
15
|
+
* the Store to a local file (in an appropriate environment).
|
|
16
|
+
*
|
|
17
|
+
* As well as providing a reference to the Store to persist, you must provide
|
|
18
|
+
* `filePath` parameter which identifies the file to persist it to.
|
|
19
|
+
*
|
|
20
|
+
* @param store The Store to persist.
|
|
21
|
+
* @param filePath The location of the local file to persist the Store to.
|
|
22
|
+
* @returns A reference to the new Persister object.
|
|
23
|
+
* @example
|
|
24
|
+
* This example creates a Persister object and persists the Store to a local
|
|
25
|
+
* file.
|
|
26
|
+
*
|
|
27
|
+
* ```js yolo
|
|
28
|
+
* const store = createStore().setTables({pets: {fido: {species: 'dog'}}});
|
|
29
|
+
* const persister = createFilePersister(store, '/app/persisted.json');
|
|
30
|
+
*
|
|
31
|
+
* await persister.save();
|
|
32
|
+
* // Store JSON will be saved to the file.
|
|
33
|
+
*
|
|
34
|
+
* await persister.load();
|
|
35
|
+
* // Store JSON will be loaded from the file.
|
|
36
|
+
*
|
|
37
|
+
* persister.destroy();
|
|
38
|
+
* ```
|
|
39
|
+
* @category Creation
|
|
40
|
+
*/
|
|
41
|
+
export function createFilePersister(store: Store, filePath: string): Persister;
|