tinybase 3.1.1 → 3.1.2
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/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/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/store.js +10 -17
- package/lib/debug/tinybase.js +10 -17
- 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/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/store.d.ts +12 -11
- package/lib/types/with-schemas/store.d.ts +12 -11
- 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/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/umd/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t){"use strict";const s=e=>typeof e,n="",o=s(n),r=s(!0),a=s(0),i=s(s),l="default",c="utf8",d="Listener",u="Result",h="add",f="Table",g="RowIds",L="Cell",w="CellIds",v=e=>n+e,p=(e,t)=>e.includes(t),S=(e,t)=>e.every(t),R=(e,t)=>C(e)===C(t)&&S(e,((e,s)=>t[s]===e)),y=(e,t)=>S(e,((s,n)=>0==n||t(e[n-1],s)<=0)),I=(e,t)=>e.sort(t),T=(e,t)=>e.forEach(t),b=(e,t)=>e.map(t),m=e=>E(e,((e,t)=>e+t),0),C=e=>e.length,V=e=>0==C(e),E=(e,t,s)=>e.reduce(t,s),k=(e,t,s)=>e.slice(t,s),J=(e,...t)=>e.push(...t),M=e=>e.pop(),x=e=>e.shift(),A=e=>JSON.stringify(e,((e,t)=>j(t,Map)?E([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),D=JSON.parse,F=Math.max,P=Math.min,Q=isFinite,j=(e,t)=>e instanceof t,z=e=>null==e,N=(e,t,s)=>z(e)?s?.():t(e),O=e=>e==o||e==r,W=e=>s(e)==i,B=e=>Array.isArray(e),q=()=>{},H=e=>e.size,$=(e,t)=>e?.has(t)??!1,G=e=>z(e)||0==H(e),K=e=>[...e?.values()??[]],U=e=>e.clear(),X=(e,t)=>e?.forEach(t),Y=(e,t)=>e?.delete(t),Z=e=>new Map(e),_=e=>[...e?.keys()??[]],ee=(e,t)=>e?.get(t),te=(e,t)=>X(e,((e,s)=>t(s,e))),se=(e,t,s)=>z(s)?(Y(e,t),e):e?.set(t,s),ne=(e,t,s)=>($(e,t)||se(e,t,s()),ee(e,t)),oe=(e,t,s)=>{const n={},o=t??(e=>e);return X(e,((e,t)=>N(o(e),(e=>s?.(e)?0:n[t]=e)))),n},re=(e,t)=>{const s=Z(),n=t??(e=>e);return X(e,((e,t)=>s.set(t,n(e)))),s},ae=e=>re(e,re),ie=(e,t,s,n,o=0)=>N((s?ne:ee)(e,t[o],o>C(t)-2?s:Z),(r=>{if(o>C(t)-2)return n?.(r)&&se(e,t[o]),r;const a=ie(r,t,s,n,o+1);return G(r)&&se(e,t[o]),a})),le=e=>{const t=s(e);return O(t)||t==a&&Q(e)?t:void 0},ce=(e,t,s,n,o)=>z(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),de=(e,t,s)=>z(s)?e.delValue(t):e.setValue(t,s),ue=e=>new Set(B(e)||z(e)?e:[e]),he=(e,t)=>e?.add(t),fe=(e,t,s)=>{const n=e.hasRow,o=Z(),r=Z(),a=Z(),i=Z(),l=Z(),c=(t,s,...n)=>{const o=ne(l,t,ue);return T(n,(t=>he(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>N(ee(l,t),(n=>{T(V(s)?K(n):s,(t=>{e.delListener(t),Y(n,t)})),G(n)&&se(l,t)})),u=(e,s)=>{se(o,e,s),$(r,e)||(se(r,e,t()),se(a,e,Z()),se(i,e,Z()))},h=e=>{se(o,e),se(r,e),se(a,e),se(i,e),d(e)};return[()=>e,()=>_(o),e=>te(r,e),e=>$(r,e),e=>ee(o,e),e=>ee(r,e),(e,t)=>se(r,e,t),u,(t,o,r,l,h)=>{u(t,o);const f=Z(),g=Z(),L=ee(a,t),w=ee(i,t),v=t=>{const r=s=>e.getCell(o,t,s),a=ee(L,t),i=n(o,t)?s(l(r,t)):void 0;if(a===i||B(a)&&B(i)&&R(a,i)||se(f,t,[a,i]),!z(h)){const e=ee(w,t),s=n(o,t)?h(r,t):void 0;e!=s&&se(g,t,s)}},p=e=>{r((()=>{X(f,(([,e],t)=>se(L,t,e))),X(g,((e,t)=>se(w,t,e)))}),f,g,L,w,e),U(f),U(g)};te(L,v),e.hasTable(o)&&T(e.getRowIds(o),(e=>{$(L,e)||v(e)})),p(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>v(s))),e.addTableListener(o,(()=>p())))},h,()=>te(l,h),c,d]},ge=(e,t)=>s(e)==o?t=>t(e):e??(()=>t??n),Le=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},we=/^\d+$/,ve=()=>{const e=[];let t=0;return[s=>(s?x(e):null)??n+t++,t=>{we.test(t)&&C(e)<1e3&&J(e,t)}]},pe=e=>{let t;const[s,o]=ve(),r=Z();return[(o,a,i,l=[],c=(()=>[]))=>{t??=e();const d=s(1);return se(r,d,[o,a,i,l,c]),he(ie(a,i??[n],ue),d),d},(e,s,...o)=>T(((e,t=[n])=>{const s=[],o=(e,n)=>n==C(t)?J(s,e):null===t[n]?X(e,(e=>o(e,n+1))):T([t[n],null],(t=>o(ee(e,t),n+1)));return o(e,0),s})(e,s),(e=>X(e,(e=>ee(r,e)[0](t,...s??[],...o))))),e=>N(ee(r,e),(([,t,s])=>(ie(t,s??[n],void 0,(t=>(Y(t,e),G(t)?1:0))),se(r,e),o(e),s))),e=>N(ee(r,e),(([e,,s=[],n,o])=>{const r=(...a)=>{const i=C(a);i==C(s)?e(t,...a,...o(a)):z(s[i])?T(n[i]?.(...a)??[],(e=>r(...a,e))):r(...a,s[i])};r()}))]},Se=Object,Re=Se.keys,ye=Se.isFrozen,Ie=Se.freeze,Te=e=>j(e,Se)&&e.constructor==Se,be=(e,t)=>!z(((e,t)=>N(e,(e=>e[t])))(e,t)),me=(e,t)=>delete e[t],Ce=(e,t)=>b(Se.entries(e),(([e,s])=>t(s,e))),Ve=e=>Te(e)&&V(Re(e)),Ee=Le((e=>{let t,s,o,r=100,a=Z(),i=Z(),l=1;const c=Z(),d=Z(),[u,h,f]=pe((()=>W)),g=Z(),L=Z(),w=[],v=[],S=(t,s)=>{l=0,e.transaction((()=>{const[n,o]=ee(g,s);X(n,((s,n)=>X(s,((s,o)=>X(s,((s,r)=>ce(e,n,o,r,s[t]))))))),X(o,((s,n)=>de(e,n,s[t])))})),l=1},R=e=>{se(g,e),se(L,e),h(d,[e])},y=(e,t)=>T(((e,t)=>e.splice(0,t))(e,t??C(e)),R),I=()=>y(w,C(w)-r),b=()=>N(t,(()=>{J(w,t),I(),y(v),t=void 0,o=1})),m=()=>{t=M(w),o=1},E=e.addCellListener(null,null,null,((e,t,s,n,o,r)=>{if(l){b();const e=ne(a,t,Z),i=ne(e,s,Z),l=ne(i,n,(()=>[r,void 0]));l[1]=o,l[0]===o&&G(se(i,n))&&G(se(e,s))&&G(se(a,t))&&m(),P()}})),k=e.addValueListener(null,((e,t,s,n)=>{if(l){b();const e=ne(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&G(se(i,t))&&m(),P()}})),A=(e="")=>(z(t)&&(t=n+s++,se(g,t,[a,i]),j(t,e),a=Z(),i=Z(),o=1),t),D=()=>{V(w)||(((e,...t)=>{e.unshift(...t)})(v,A()),S(0,t),t=M(w),o=1)},F=()=>{V(v)||(J(w,t),t=x(v),S(1,t),o=1)},P=()=>{o&&(h(c),o=0)},Q=e=>{const t=A(e);return P(),t},j=(e,t)=>(O(e)&&ee(L,e)!==t&&(se(L,e,t),h(d,[e])),W),O=e=>$(g,e),W={setSize:e=>(r=e,I(),W),addCheckpoint:Q,setCheckpoint:j,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...v]],forEachCheckpoint:e=>te(L,e),hasCheckpoint:O,getCheckpoint:e=>ee(L,e),goBackward:()=>(D(),P(),W),goForward:()=>(F(),P(),W),goTo:e=>{const s=p(w,e)?D:p(v,e)?F:null;for(;!z(s)&&e!=t;)s();return P(),W},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(f(e),W),clear:()=>(y(w),y(v),z(t)||R(t),t=void 0,s=0,Q(),W),destroy:()=>{e.delListener(E),e.delListener(k)},getListenerStats:()=>({})};return Ie(W.clear())})),ke=(e,t)=>e<t?-1:1,Je=Le((e=>{const t=Z(),s=Z(),[o,r,a,i,l,c,d,,u,h,f]=fe(e,Z,(e=>z(e)?n:B(e)?b(e,v):v(e))),[g,L,w]=pe((()=>S)),p=(t,s,n)=>{const o=l(t);X(n,((t,n)=>s(n,(s=>X(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},S={setIndexDefinition:(e,n,o,r,a,i=ke)=>{const l=z(a)?void 0:([e],[t])=>a(e,t);return u(e,n,((n,o,a,u,h,f)=>{let g=0;const w=ue(),v=ue(),p=c(e);if(X(o,(([e,t],s)=>{const n=ue(e),o=ue(t);X(n,(e=>Y(o,e)?Y(n,e):0)),X(n,(e=>{he(w,e),N(ee(p,e),(t=>{Y(t,s),G(t)&&(se(p,e),g=1)}))})),X(o,(e=>{he(w,e),$(p,e)||(se(p,e,ue()),g=1),he(ee(p,e),s),z(r)||he(v,e)}))})),n(),G(h)||(f?te(p,(e=>he(v,e))):te(a,(e=>N(ee(u,e),(e=>he(v,e))))),X(v,(e=>{const t=(t,s)=>i(ee(h,t),ee(h,s),e),s=[...ee(p,e)];y(s,t)||(se(p,e,ue(I(s,t))),he(w,e))}))),(g||f)&&!z(l)){const t=[...p];y(t,l)||(d(e,Z(I(t,l))),g=1)}g&&L(t,[e]),X(w,(t=>L(s,[e,t])))}),ge(o),N(r,ge)),S},delIndexDefinition:e=>(h(e),S),getStore:o,getIndexIds:r,forEachIndex:e=>a(((t,s)=>e(t,(e=>p(t,e,s))))),forEachSlice:(e,t)=>p(e,t,c(e)),hasIndex:i,hasSlice:(e,t)=>$(c(e),t),getTableId:l,getSliceIds:e=>_(c(e)),getSliceRowIds:(e,t)=>K(ee(c(e),t)),addSliceIdsListener:(e,s)=>g(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>g(n,s,[e,t]),delListener:e=>(w(e),S),destroy:f,getListenerStats:()=>({})};return Ie(S)})),Me=Z([["avg",[(e,t)=>m(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=>F(...e),(e,t)=>F(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:F(t,e)]],["min",[e=>P(...e),(e,t)=>P(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:P(t,e)]],["sum",[e=>m(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),xe=(e,t,s,n,o,r=!1)=>{if(G(s))return;const[a,i,l,c]=o;return r||=z(e),X(n,(([s,n])=>{r||(e=z(s)?i?.(e,n,t++):z(n)?l?.(e,s,t--):c?.(e,n,s,t),r||=z(e))})),r?a(K(s),H(s)):e},Ae=Le((e=>{const t=Z(),[s,o,r,a,i,l,c,,d,u,h]=fe(e,q,(e=>isNaN(e)||z(e)||!0===e||!1===e||e===n?void 0:1*e)),[f,g,L]=pe((()=>w)),w={setMetricDefinition:(e,s,n,o,r,a,i)=>{const u=W(n)?[n,r,a,i]:ee(Me,n)??ee(Me,"sum");return d(e,s,((s,n,o,r,a,i)=>{const d=l(e),h=H(r);i||=z(d),s();let f=xe(d,h,r,n,u,i);Q(f)||(f=void 0),f!=d&&(c(e,f),g(t,[e],f,d))}),ge(o,1)),w},delMetricDefinition:e=>(u(e),w),getStore:s,getMetricIds:o,forEachMetric:r,hasMetric:a,getTableId:i,getMetric:l,addMetricListener:(e,s)=>f(s,t,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return Ie(w)})),De=(e,t,s,o,r)=>{let a,i,l=0;const c={load:async(s,o)=>{if(2!=l){l=1;const r=await t();z(r)||r==n?e.transaction((()=>e.setTables(s).setValues(o))):e.setJson(r),l=0}return c},startAutoLoad:async(e,t)=>(c.stopAutoLoad(),await c.load(e,t),o(c.load),c),stopAutoLoad:()=>(r(),c),save:async()=>(1!=l&&(l=2,await s(e.getJson()),l=0),c),startAutoSave:async()=>(await c.stopAutoSave().save(),a=e.addTablesListener(c.save),i=e.addValuesListener(c.save),c),stopAutoSave:()=>(N(a,e.delListener),N(i,e.delListener),c),getStore:()=>e,destroy:()=>c.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Ie(c)},Fe="storage",Pe=globalThis.window,Qe=(e,t,s)=>{let n;return De(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},Pe.addEventListener(Fe,n)}),(()=>{Pe.removeEventListener(Fe,n),n=void 0}))},je=e=>e.headers.get("ETag"),ze=Le((e=>{const t=e.createStore,[s,o,r,a,i,,,l,,c,v,p,R]=fe(e,(()=>!0),q),y=t(),I=t(),b=Z(),m=(e,t,...s)=>T(s,(s=>he(ne(ne(b,t,Z),e,ue),s))),E=e=>{N(ee(b,e),(e=>{te(e,((e,t)=>X(t,(t=>e.delListener(t))))),U(e)})),T([I,y],(t=>t.delTable(e)))},M=(e,t,s)=>m(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),x={setQueryDefinition:(t,s,o)=>{l(t,s),E(t);const r=[],a=[[null,[s,null,null,[],Z()]]],i=[],c=[],d=[];o({select:(e,t)=>{const s=W(e)?[C(r)+n,e]:[z(t)?e:t,s=>s(e,t)];return J(r,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=z(s)||W(t)?null:t,o=z(n)?t:s,r=[e,[e,n,W(o)?o:e=>e(o),[],Z()]];return J(a,r),{as:e=>r[0]=e}},where:(e,t,s)=>J(i,W(e)?e:z(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const r=[e,[e,W(t)?[t,s,n,o]:ee(Me,t)??[(e,t)=>t]]];return J(c,r),{as:e=>r[0]=e}},having:(e,t)=>J(d,W(e)?e:s=>s(e)===t)});const u=Z(r);if(G(u))return x;const h=Z(a);te(h,((e,[,t])=>N(ee(h,t),(({3:t})=>z(e)?0:J(t,e)))));const f=Z(c);let g=y;if(G(f)&&V(d))g=I;else{M(t,g,I);const e=Z();te(f,((t,[s,n])=>he(ne(e,s,ue),[t,n])));const s=ue();te(u,(t=>$(e,t)?0:he(s,t)));const n=Z(),o=(s,n,o,r)=>N(s,(([a,i,l,c])=>{te(n,((t,[s])=>{const n=ne(a,t,Z),i=ee(n,o),l=r?void 0:s;if(i!==l){const s=ue([[i,l]]),r=H(n);se(n,o,l),X(ee(e,t),(([e,t])=>{const o=xe(c[e],r,n,s,t);c[e]=z(le(o))?null:o}))}})),G(i)||!S(d,(e=>e((e=>c[e]))))?I.delRow(t,l):z(l)?s[2]=I.addRow(t,c):I.setRow(t,l,c)}));m(g,t,g.addRowListener(t,null,((r,a,i,l)=>{const c=[],d=[],u=Z(),h=g.hasRow(t,i);let f=!h;X(s,(e=>{const[s,n,o]=l(t,i,e);J(c,n),J(d,o),f||=s})),te(e,(e=>{const[s,,n]=l(t,i,e);(f||s)&&se(u,e,[n])})),f&&o(ie(n,c,void 0,(([,e])=>(Y(e,i),G(e)))),u,i,1),h&&o(ie(n,d,(()=>{const e={};return X(s,(s=>e[s]=g.getCell(t,i,s))),[Z(),ue(),void 0,e]}),(([,e])=>{he(e,i)})),u,i)})))}M(t,e,g);const L=(n,o,r,a)=>{const l=t=>e.getCell(o,r,t);T(a,(s=>{const[o,,r,a,i]=ee(h,s),c=r?.(l,n),[d,u]=ee(i,n)??[];c!=d&&(z(u)||R(t,u),se(i,n,z(c)?null:[c,...p(t,1,e.addRowListener(o,c,(()=>L(n,o,c,a))))]))})),(n=>{const o=(t,o)=>e.getCell(...z(o)?[s,n,t]:t===s?[s,n,o]:[ee(h,t)?.[0],ee(ee(h,t)?.[4],n)?.[0],o]);g.transaction((()=>S(i,(e=>e(o)))?te(u,((e,s)=>ce(g,t,n,e,s(o,n)))):g.delRow(t,n)))})(n)},{3:w}=ee(h,null);return g.transaction((()=>p(t,1,e.addRowListener(s,null,((n,o,r)=>{e.hasRow(s,r)?L(r,s,r,w):(g.delRow(t,r),X(h,(({4:e})=>N(ee(e,r),(([,s])=>{R(t,s),se(e,r)})))))}))))),x},delQueryDefinition:e=>(E(e),c(e),x),getStore:s,getQueryIds:o,forEachQuery:r,hasQuery:a,getTableId:i,delListener:e=>(I.delListener(e),x),destroy:v,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=I.getListenerStats();return n}};return Ce({[f]:[1,1],[g]:[0,1],SortedRowIds:[0,5],Row:[1,2],[w]:[0,2],[L]:[1,3]},(([e,t],s)=>{T(e?["get","has","forEach"]:["get"],(e=>x[e+u+s]=(...t)=>I[e+s](...t))),x[h+u+s+d]=(...e)=>I[h+s+d](...k(e,0,t),((s,...n)=>e[t](x,...n)))})),Ie(x)})),Ne=Le((e=>{const t=Z(),s=Z(),o=Z(),r=Z(),[a,i,l,c,d,u,,,h,f,g]=fe(e,(()=>[Z(),Z(),Z(),Z()]),(e=>z(e)?void 0:e+n)),[L,w,v]=pe((()=>y)),p=(e,t,s)=>N(u(e),(([n,,o])=>{if(!$(o,t)){const r=ue();if(d(e)!=R(e))he(r,t);else{let e=t;for(;!z(e)&&!$(r,e);)he(r,e),e=ee(n,e)}if(s)return r;se(o,t,r)}return ee(o,t)})),S=(e,t)=>N(u(e),(([,,e])=>se(e,t))),R=e=>ee(t,e),y={setRelationshipDefinition:(e,n,a,i)=>(se(t,e,a),h(e,n,((t,n)=>{const a=ue(),i=ue(),l=ue(),[c,d]=u(e);X(n,(([t,s],n)=>{z(t)||(he(i,t),N(ee(d,t),(e=>{Y(e,n),G(e)&&se(d,t)}))),z(s)||(he(i,s),$(d,s)||se(d,s,ue()),he(ee(d,s),n)),he(a,n),se(c,n,s),te(ee(r,e),(t=>{$(p(e,t),n)&&he(l,t)}))})),t(),X(a,(t=>w(s,[e,t]))),X(i,(t=>w(o,[e,t]))),X(l,(t=>{S(e,t),w(r,[e,t])}))}),ge(i)),y),delRelationshipDefinition:e=>(se(t,e),f(e),y),getStore:a,getRelationshipIds:i,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:R,getRemoteRowId:(e,t)=>ee(u(e)?.[0],t),getLocalRowIds:(e,t)=>K(ee(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>z(u(e))?[t]:K(p(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>L(n,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(p(e,t),L(s,r,[e,t])),delListener:e=>(S(...v(e)),y),destroy:g,getListenerStats:()=>({})};return Ie(y)})),Oe=e=>[e,e],We=()=>[Z(),Z()],Be=(e,t,s,n=se)=>{const o=(r=e=>!be(t,e),_(e).filter(r));var r;return T(Re(t),(n=>s(e,n,t[n]))),T(o,(t=>n(e,t))),e},qe=(e,t,s)=>z(e)||!Te(e)||Ve(e)||ye(e)?(s?.(),!1):(Ce(e,((s,n)=>{t(s,n)||me(e,n)})),!Ve(e)),He=(e,t,s)=>se(e,t,ee(e,t)==-s?void 0:s),$e=()=>{let e,t,s,n,o=0;const r=Z(),i=Z(),c=Z(),u=Z(),S=Z(),y=Z(),m=Z(),C=Z(),V=Z(),E=Z(),M=Z(),x=Z(),F=ue(),P=Z(),Q=Z(),j=Z(),B=We(),q=We(),H=We(),K=We(),ie=We(),fe=We(),ge=We(),Le=We(),we=We(),Se=We(),Re=We(),ye=We(),Te=We(),Ee=We(),[Je,Me,xe,Ae]=pe((()=>Kt)),De=e=>{if(!qe(e,((e,t)=>p(["type",l],t))))return!1;const t=e.type;return!(!O(t)&&t!=a||(le(e.default)!=t&&me(e,l),0))},Fe=(t,s)=>(!e||$(V,s)||vt(s))&&qe(t,((e,t)=>Pe(s,t,e)),(()=>vt(s))),Pe=(e,t,s,n)=>qe(n?s:Ne(s,e,t),((n,o)=>N(Qe(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>vt(e,t))),Qe=(t,s,n,o)=>e?N(ee(ee(V,t),n),(e=>le(o)!=e.type?vt(t,s,n,o,e.default):o),(()=>vt(t,s,n,o))):z(le(o))?vt(t,s,n,o):o,je=(e,t)=>qe(t?e:Ge(e),((t,s)=>N(ze(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>pt())),ze=(e,s)=>t?N(ee(M,e),(t=>le(s)!=t.type?pt(e,s,t.default):s),(()=>pt(e,s))):z(le(s))?pt(e,s):s,Ne=(e,t,s)=>(N(ee(E,t),(([n,o])=>{X(n,((t,s)=>{be(e,s)||(e[s]=t)})),X(o,(n=>{be(e,n)||vt(t,s,n)}))})),e),Ge=e=>(t&&(X(x,((t,s)=>{be(e,s)||(e[s]=t)})),X(F,(t=>{be(e,t)||pt(t)}))),e),Ke=e=>Be(V,e,((e,t,s)=>{const n=Z(),o=ue();Be(ne(V,t,Z),s,((e,t,s)=>{se(e,t,s),N(s.default,(e=>se(n,t,e)),(()=>he(o,t)))})),se(E,t,[n,o])}),((e,t)=>{se(V,t),se(E,t)})),Ue=e=>Be(M,e,((e,t,s)=>{se(M,t,s),N(s.default,(e=>se(x,t,e)),(()=>he(F,t)))}),((e,t)=>{se(M,t),se(x,t),Y(F,t)})),Xe=e=>Ve(e)?Ot():Pt(e),Ye=e=>Be(Q,e,((e,t,s)=>Ze(t,s)),((e,t)=>it(t))),Ze=(e,t)=>Be(ne(Q,e,(()=>(ut(e,1),Z()))),t,((t,s,n)=>_e(e,t,s,n)),((t,s)=>lt(e,t,s))),_e=(e,t,s,n,o)=>Be(ne(t,s,(()=>(ht(e,s,1),Z()))),n,((t,n,o)=>et(e,s,t,n,o)),((n,r)=>ct(e,t,s,n,r,o))),et=(e,t,s,n,o)=>{$(s,n)||ft(e,t,n,1);const r=ee(s,n);o!==r&&(gt(e,t,n,r,o),se(s,n,o))},tt=(e,t,s,n,o)=>N(ee(t,s),(t=>et(e,s,t,n,o)),(()=>_e(e,t,s,Ne({[n]:o},e,s)))),st=e=>Ve(e)?Wt():Qt(e),nt=e=>Be(j,e,((e,t,s)=>ot(t,s)),((e,t)=>dt(t))),ot=(e,t)=>{$(j,e)||Lt(e,1);const s=ee(j,e);t!==s&&(wt(e,s,t),se(j,e,t))},rt=(e,t)=>{const[s]=ne(P,e,ve),n=s(t);return $(ee(Q,e),n)?rt(e,t):n},at=e=>ee(Q,e)??Ze(e,{}),it=e=>Ze(e,{}),lt=(e,t,s)=>{const[,n]=ne(P,e,ve);n(s),_e(e,t,s,{},!0)},ct=(e,t,s,n,o,r)=>{const a=ee(ee(E,e)?.[0],o);if(!z(a)&&!r)return et(e,s,n,o,a);const i=t=>{gt(e,s,t,ee(n,t)),ft(e,s,t,-1),se(n,t)};z(a)?i(o):te(n,i),G(n)&&(ht(e,s,-1),G(se(t,s))&&(ut(e,-1),se(Q,e),se(P,e)))},dt=e=>{const t=ee(x,e);if(!z(t))return ot(e,t);wt(e,ee(j,e)),Lt(e,-1),se(j,e)},ut=(e,t)=>He(r,e,t),ht=(e,t,s)=>He(ne(i,e,Z),t,s),ft=(e,t,s,n)=>He(ne(ne(c,e,Z),t,Z),s,n),gt=(e,t,s,n,o)=>ne(ne(ne(u,e,Z),t,Z),s,(()=>[n,0]))[1]=o,Lt=(e,t)=>He(S,e,t),wt=(e,t,s)=>ne(y,e,(()=>[t,0]))[1]=s,vt=(e,t,s,n,o)=>(J(ne(ne(ne(m,e,Z),t,Z),s,(()=>[])),n),o),pt=(e,t,s)=>(J(ne(C,e,(()=>[])),t),s),St=(e,t,s)=>N(ee(ee(ee(u,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Oe(xt(e,t,s))])),Rt=e=>N(ee(y,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Oe(Ft(e))])),yt=e=>G(m)||G(we[e])?0:X(e?re(m,ae):m,((t,s)=>X(t,((t,n)=>X(t,((t,o)=>Me(we[e],[s,n,o],t))))))),It=e=>G(C)||G(Se[e])?0:X(e?re(C):C,((t,s)=>Me(Se[e],[s],t))),Tt=(e,t,s)=>{if(!G(t))return Me(e,s),1},bt=e=>{const t=G(ie[e]),s=G(ge[e])&&G(K[e])&&t&&G(q[e]),n=G(Le[e])&&G(fe[e])&&G(H[e])&&G(B[e]);if(!s||!n){const o=e?[re(r),ae(i),re(c,ae),re(u,ae)]:[r,i,c,u];if(!s){X(o[2],((t,s)=>X(t,((t,n)=>Tt(ge[e],t,[s,n])))));const s=ue();X(o[1],((n,o)=>{Tt(K[e],n,[o])&&!t&&(Me(ie[e],[o,null]),he(s,o))})),t||X(o[3],((t,n)=>{if(!$(s,n)){const s=ue();X(t,(e=>X(e,(([t,n],o)=>n!==t?he(s,o):Y(e,o))))),X(s,(t=>Me(ie[e],[n,t])))}})),Tt(q[e],o[0])}if(!n){let t;X(o[3],((s,n)=>{let o;X(s,((s,r)=>{let a;X(s,(([s,i],l)=>{i!==s&&(Me(Le[e],[n,r,l],i,s,St),t=o=a=1)})),a&&Me(fe[e],[n,r],St)})),o&&Me(H[e],[n],St)})),t&&Me(B[e],void 0,St)}}},mt=e=>{const t=G(ye[e]),s=G(Te[e])&&G(Re[e]);if(!t||!s){const n=e?[re(S),re(y)]:[S,y];if(t||Tt(ye[e],n[0]),!s){let t;X(n[1],(([s,n],o)=>{n!==s&&(Me(Te[e],[o],n,s,Rt),t=1)})),t&&Me(Re[e],void 0,Rt)}}},Ct=(e,...t)=>(Ht((()=>e(...b(t,v)))),Kt),Vt=()=>oe(Q,(e=>oe(e,oe))),Et=()=>_(Q),kt=e=>_(ee(Q,v(e))),Jt=(e,t,s,n=0,o)=>{return b(k(I((r=ee(Q,v(e)),a=(e,s)=>[z(t)?s:ee(e,v(t)),s],b([...r?.entries()??[]],(([e,t])=>a(t,e)))),(([e],[t])=>ke(e,t)*(s?-1:1))),n,z(o)?o:n+o),(([,e])=>e));var r,a},Mt=(e,t)=>_(ee(ee(Q,v(e)),v(t))),xt=(e,t,s)=>ee(ee(ee(Q,v(e)),v(t)),v(s)),At=()=>oe(j),Dt=()=>_(j),Ft=e=>ee(j,v(e)),Pt=e=>Ct((()=>(e=>qe(e,Fe,vt))(e)?Ye(e):0)),Qt=e=>Ct((()=>je(e)?nt(e):0)),jt=e=>{try{Xe(D(e))}catch{}return Kt},zt=t=>Ct((()=>{if((e=qe(t,(e=>qe(e,De))))&&(Ke(t),!G(Q))){const e=Vt();Ot(),Pt(e)}})),Nt=e=>Ct((()=>{if(t=(e=>qe(e,De))(e)){const s=At();qt(),Wt(),t=!0,Ue(e),Qt(s)}})),Ot=()=>Ct((()=>Ye({}))),Wt=()=>Ct((()=>nt({}))),Bt=()=>Ct((()=>{Ke({}),e=!1})),qt=()=>Ct((()=>{Ue({}),t=!1})),Ht=(e,t)=>{if(-1==o)return;$t();const s=e();return Gt(t),s},$t=()=>(o++,Kt),Gt=e=>(o>0&&(o--,0==o&&(s=!G(u),n=!G(y),o=1,yt(1),s&&bt(1),It(1),n&&mt(1),o=-1,e?.(oe(u,(e=>oe(e,(e=>oe(e,(e=>[...e]),(([e,t])=>e===t))),Ve)),Ve),oe(m,(e=>oe(e,oe))),oe(y,(e=>[...e]),(([e,t])=>e===t)),oe(C))&&(o=1,X(u,((e,t)=>X(e,((e,s)=>X(e,(([e],n)=>ce(Kt,t,s,n,e))))))),X(y,(([e],t)=>de(Kt,t,e))),o=-1,s=n=!1),Me(Ee[0],void 0,s,n),yt(0),s&&bt(0),It(0),n&&mt(0),Me(Ee[1],void 0,s,n),o=0,T([r,i,c,u,m,S,y,C],U))),Kt),Kt={getTables:Vt,getTableIds:Et,getTable:e=>oe(ee(Q,v(e)),oe),getRowIds:kt,getSortedRowIds:Jt,getRow:(e,t)=>oe(ee(ee(Q,v(e)),v(t))),getCellIds:Mt,getCell:xt,getValues:At,getValueIds:Dt,getValue:Ft,hasTables:()=>!G(Q),hasTable:e=>$(Q,v(e)),hasRow:(e,t)=>$(ee(Q,v(e)),v(t)),hasCell:(e,t,s)=>$(ee(ee(Q,v(e)),v(t)),v(s)),hasValues:()=>!G(j),hasValue:e=>$(j,v(e)),getTablesJson:()=>A(Q),getValuesJson:()=>A(j),getJson:()=>A([Q,j]),getTablesSchemaJson:()=>A(V),getValuesSchemaJson:()=>A(M),getSchemaJson:()=>A([V,M]),setTables:Pt,setTable:(e,t)=>Ct((e=>Fe(t,e)?Ze(e,t):0),e),setRow:(e,t,s)=>Ct(((e,t)=>Pe(e,t,s)?_e(e,at(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ht((()=>{let n;return Pe(e,n,t)&&(e=v(e),_e(e,at(e),n=rt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Ct(((e,t)=>{if(Pe(e,t,s,1)){const n=at(e);Ce(s,((s,o)=>tt(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Ct(((e,t,s)=>N(Qe(e,t,s,W(n)?n(xt(e,t,s)):n),(n=>tt(e,at(e),t,s,n)))),e,t,s),setValues:Qt,setPartialValues:e=>Ct((()=>je(e,1)?Ce(e,((e,t)=>ot(t,e))):0)),setValue:(e,t)=>Ct((e=>N(ze(e,W(t)?t(Ft(e)):t),(t=>ot(e,t)))),e),setTablesJson:jt,setValuesJson:e=>{try{st(D(e))}catch{}return Kt},setJson:e=>{try{const[t,s]=D(e);Xe(t),st(s)}catch{jt(e)}return Kt},setTablesSchema:zt,setValuesSchema:Nt,setSchema:(e,t)=>Ct((()=>{zt(e),Nt(t)})),delTables:Ot,delTable:e=>Ct((e=>$(Q,e)?it(e):0),e),delRow:(e,t)=>Ct(((e,t)=>N(ee(Q,e),(s=>$(s,t)?lt(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Ct(((e,t,s)=>N(ee(Q,e),(o=>N(ee(o,t),(r=>$(r,s)?ct(e,o,t,r,s,n):0))))),e,t,s),delValues:Wt,delValue:e=>Ct((e=>$(j,e)?dt(e):0),e),delTablesSchema:Bt,delValuesSchema:qt,delSchema:()=>Ct((()=>{Bt(),qt()})),transaction:Ht,startTransaction:$t,finishTransaction:Gt,forEachTable:e=>X(Q,((t,s)=>e(s,(e=>X(t,((t,s)=>e(s,(e=>te(t,e))))))))),forEachRow:(e,t)=>X(ee(Q,v(e)),((e,s)=>t(s,(t=>te(e,t))))),forEachCell:(e,t,s)=>te(ee(ee(Q,v(e)),v(t)),s),forEachValue:e=>te(j,e),addSortedRowIdsListener:(e,t,s,n,o,r,a)=>{let i=Jt(e,t,s,n,o);return Je((()=>{const a=Jt(e,t,s,n,o);R(a,i)||(i=a,r(Kt,e,t,s,n,o,i))}),ie[a?1:0],[e,t],[Et])},addWillFinishTransactionListener:e=>Je(e,Ee[0]),addDidFinishTransactionListener:e=>Je(e,Ee[1]),callListener:e=>(Ae(e),Kt),delListener:e=>(xe(e),Kt),getListenerStats:()=>({}),createStore:$e};return Ce({Tables:[0,B],TableIds:[0,q],[f]:[1,H,[Et]],[g]:[1,K,[Et]],Row:[2,fe,[Et,kt]],[w]:[2,ge,[Et,kt]],[L]:[3,Le,[Et,kt,Mt],e=>Oe(xt(...e))],InvalidCell:[3,we],Values:[0,Re],ValueIds:[0,ye],Value:[1,Te,[Dt],e=>Oe(Ft(e[0]))],InvalidValue:[1,Se]},(([e,t,s,n],o)=>{Kt[h+o+d]=(...o)=>Je(o[e],t[o[e+1]?1:0],e>0?k(o,0,e):void 0,s,n)})),Ie(Kt)};e.createCheckpoints=Ee,e.createCustomPersister=De,e.createFilePersister=(e,s)=>{let n;return De(e,(async()=>{try{return await t.promises.readFile(s,c)}catch{}}),(async e=>{try{await t.promises.writeFile(s,e,c)}catch{}}),(e=>{n=t.watch(s,e)}),(()=>{n?.close(),n=void 0}))},e.createIndexes=Je,e.createLocalPersister=(e,t)=>Qe(e,t,localStorage),e.createMetrics=Ae,e.createQueries=ze,e.createRelationships=Ne,e.createRemotePersister=(e,t,s,n)=>{let o,r;return De(e,(async()=>{const e=await fetch(t);return r=je(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{o=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),n=je(s);z(r)||z(n)||n==r||(r=n,e())}),1e3*n)}),(()=>{N(o,clearInterval),o=void 0}))},e.createSessionPersister=(e,t)=>Qe(e,t,sessionStorage),e.createStore=$e,e.defaultSorter=ke},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs")):"function"==typeof define&&define.amd?define(["exports","fs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={},e.fs);
|
|
1
|
+
var e,t;e=this,t=function(e,t){"use strict";const s=e=>typeof e,n="",o=s(n),a=s(!0),r=s(0),i=s(s),l="default",c="utf8",d="Listener",u="Result",h="add",f="Table",g="RowIds",L="Cell",w="CellIds",v=e=>n+e,p=(e,t)=>e.includes(t),S=(e,t)=>e.every(t),R=(e,t)=>C(e)===C(t)&&S(e,((e,s)=>t[s]===e)),y=(e,t)=>S(e,((s,n)=>0==n||t(e[n-1],s)<=0)),I=(e,t)=>e.sort(t),T=(e,t)=>e.forEach(t),b=(e,t)=>e.map(t),m=e=>E(e,((e,t)=>e+t),0),C=e=>e.length,V=e=>0==C(e),E=(e,t,s)=>e.reduce(t,s),k=(e,t,s)=>e.slice(t,s),J=(e,...t)=>e.push(...t),M=e=>e.pop(),x=e=>e.shift(),A=e=>JSON.stringify(e,((e,t)=>j(t,Map)?E([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),D=JSON.parse,F=Math.max,P=Math.min,Q=isFinite,j=(e,t)=>e instanceof t,z=e=>null==e,N=(e,t,s)=>z(e)?s?.():t(e),O=e=>e==o||e==a,W=e=>s(e)==i,B=e=>Array.isArray(e),q=()=>{},H=e=>e.size,$=(e,t)=>e?.has(t)??!1,G=e=>z(e)||0==H(e),K=e=>[...e?.values()??[]],U=e=>e.clear(),X=(e,t)=>e?.forEach(t),Y=(e,t)=>e?.delete(t),Z=e=>new Map(e),_=e=>[...e?.keys()??[]],ee=(e,t)=>e?.get(t),te=(e,t)=>X(e,((e,s)=>t(s,e))),se=(e,t,s)=>z(s)?(Y(e,t),e):e?.set(t,s),ne=(e,t,s)=>($(e,t)||se(e,t,s()),ee(e,t)),oe=(e,t,s)=>{const n={},o=t??(e=>e);return X(e,((e,t)=>N(o(e),(e=>s?.(e)?0:n[t]=e)))),n},ae=(e,t)=>{const s=Z(),n=t??(e=>e);return X(e,((e,t)=>s.set(t,n(e)))),s},re=e=>ae(e,ae),ie=(e,t,s,n,o=0)=>N((s?ne:ee)(e,t[o],o>C(t)-2?s:Z),(a=>{if(o>C(t)-2)return n?.(a)&&se(e,t[o]),a;const r=ie(a,t,s,n,o+1);return G(a)&&se(e,t[o]),r})),le=e=>{const t=s(e);return O(t)||t==r&&Q(e)?t:void 0},ce=(e,t,s,n,o)=>z(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),de=(e,t,s)=>z(s)?e.delValue(t):e.setValue(t,s),ue=e=>new Set(B(e)||z(e)?e:[e]),he=(e,t)=>e?.add(t),fe=(e,t,s)=>{const n=e.hasRow,o=Z(),a=Z(),r=Z(),i=Z(),l=Z(),c=(t,s,...n)=>{const o=ne(l,t,ue);return T(n,(t=>he(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>N(ee(l,t),(n=>{T(V(s)?K(n):s,(t=>{e.delListener(t),Y(n,t)})),G(n)&&se(l,t)})),u=(e,s)=>{se(o,e,s),$(a,e)||(se(a,e,t()),se(r,e,Z()),se(i,e,Z()))},h=e=>{se(o,e),se(a,e),se(r,e),se(i,e),d(e)};return[()=>e,()=>_(o),e=>te(a,e),e=>$(a,e),e=>ee(o,e),e=>ee(a,e),(e,t)=>se(a,e,t),u,(t,o,a,l,h)=>{u(t,o);const f=Z(),g=Z(),L=ee(r,t),w=ee(i,t),v=t=>{const a=s=>e.getCell(o,t,s),r=ee(L,t),i=n(o,t)?s(l(a,t)):void 0;if(r===i||B(r)&&B(i)&&R(r,i)||se(f,t,[r,i]),!z(h)){const e=ee(w,t),s=n(o,t)?h(a,t):void 0;e!=s&&se(g,t,s)}},p=e=>{a((()=>{X(f,(([,e],t)=>se(L,t,e))),X(g,((e,t)=>se(w,t,e)))}),f,g,L,w,e),U(f),U(g)};te(L,v),e.hasTable(o)&&T(e.getRowIds(o),(e=>{$(L,e)||v(e)})),p(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>v(s))),e.addTableListener(o,(()=>p())))},h,()=>te(l,h),c,d]},ge=(e,t)=>s(e)==o?t=>t(e):e??(()=>t??n),Le=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},we=/^\d+$/,ve=()=>{const e=[];let t=0;return[s=>(s?x(e):null)??n+t++,t=>{we.test(t)&&C(e)<1e3&&J(e,t)}]},pe=e=>{let t;const[s,o]=ve(),a=Z();return[(o,r,i,l=[],c=(()=>[]))=>{t??=e();const d=s(1);return se(a,d,[o,r,i,l,c]),he(ie(r,i??[n],ue),d),d},(e,s,...o)=>T(((e,t=[n])=>{const s=[],o=(e,n)=>n==C(t)?J(s,e):null===t[n]?X(e,(e=>o(e,n+1))):T([t[n],null],(t=>o(ee(e,t),n+1)));return o(e,0),s})(e,s),(e=>X(e,(e=>ee(a,e)[0](t,...s??[],...o))))),e=>N(ee(a,e),(([,t,s])=>(ie(t,s??[n],void 0,(t=>(Y(t,e),G(t)?1:0))),se(a,e),o(e),s))),e=>N(ee(a,e),(([e,,s=[],n,o])=>{const a=(...r)=>{const i=C(r);i==C(s)?e(t,...r,...o(r)):z(s[i])?T(n[i]?.(...r)??[],(e=>a(...r,e))):a(...r,s[i])};a()}))]},Se=Object,Re=Se.keys,ye=Se.isFrozen,Ie=Se.freeze,Te=e=>j(e,Se)&&e.constructor==Se,be=(e,t)=>!z(((e,t)=>N(e,(e=>e[t])))(e,t)),me=(e,t)=>delete e[t],Ce=(e,t)=>b(Se.entries(e),(([e,s])=>t(s,e))),Ve=e=>Te(e)&&V(Re(e)),Ee=Le((e=>{let t,s,o,a=100,r=Z(),i=Z(),l=1;const c=Z(),d=Z(),[u,h,f]=pe((()=>W)),g=Z(),L=Z(),w=[],v=[],S=(t,s)=>{l=0,e.transaction((()=>{const[n,o]=ee(g,s);X(n,((s,n)=>X(s,((s,o)=>X(s,((s,a)=>ce(e,n,o,a,s[t]))))))),X(o,((s,n)=>de(e,n,s[t])))})),l=1},R=e=>{se(g,e),se(L,e),h(d,[e])},y=(e,t)=>T(((e,t)=>e.splice(0,t))(e,t??C(e)),R),I=()=>y(w,C(w)-a),b=()=>N(t,(()=>{J(w,t),I(),y(v),t=void 0,o=1})),m=()=>{t=M(w),o=1},E=e.addCellListener(null,null,null,((e,t,s,n,o,a)=>{if(l){b();const e=ne(r,t,Z),i=ne(e,s,Z),l=ne(i,n,(()=>[a,void 0]));l[1]=o,l[0]===o&&G(se(i,n))&&G(se(e,s))&&G(se(r,t))&&m(),P()}})),k=e.addValueListener(null,((e,t,s,n)=>{if(l){b();const e=ne(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&G(se(i,t))&&m(),P()}})),A=(e="")=>(z(t)&&(t=n+s++,se(g,t,[r,i]),j(t,e),r=Z(),i=Z(),o=1),t),D=()=>{V(w)||(((e,...t)=>{e.unshift(...t)})(v,A()),S(0,t),t=M(w),o=1)},F=()=>{V(v)||(J(w,t),t=x(v),S(1,t),o=1)},P=()=>{o&&(h(c),o=0)},Q=e=>{const t=A(e);return P(),t},j=(e,t)=>(O(e)&&ee(L,e)!==t&&(se(L,e,t),h(d,[e])),W),O=e=>$(g,e),W={setSize:e=>(a=e,I(),W),addCheckpoint:Q,setCheckpoint:j,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...v]],forEachCheckpoint:e=>te(L,e),hasCheckpoint:O,getCheckpoint:e=>ee(L,e),goBackward:()=>(D(),P(),W),goForward:()=>(F(),P(),W),goTo:e=>{const s=p(w,e)?D:p(v,e)?F:null;for(;!z(s)&&e!=t;)s();return P(),W},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(f(e),W),clear:()=>(y(w),y(v),z(t)||R(t),t=void 0,s=0,Q(),W),destroy:()=>{e.delListener(E),e.delListener(k)},getListenerStats:()=>({})};return Ie(W.clear())})),ke=(e,t)=>e<t?-1:1,Je=Le((e=>{const t=Z(),s=Z(),[o,a,r,i,l,c,d,,u,h,f]=fe(e,Z,(e=>z(e)?n:B(e)?b(e,v):v(e))),[g,L,w]=pe((()=>S)),p=(t,s,n)=>{const o=l(t);X(n,((t,n)=>s(n,(s=>X(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},S={setIndexDefinition:(e,n,o,a,r,i=ke)=>{const l=z(r)?void 0:([e],[t])=>r(e,t);return u(e,n,((n,o,r,u,h,f)=>{let g=0;const w=ue(),v=ue(),p=c(e);if(X(o,(([e,t],s)=>{const n=ue(e),o=ue(t);X(n,(e=>Y(o,e)?Y(n,e):0)),X(n,(e=>{he(w,e),N(ee(p,e),(t=>{Y(t,s),G(t)&&(se(p,e),g=1)}))})),X(o,(e=>{he(w,e),$(p,e)||(se(p,e,ue()),g=1),he(ee(p,e),s),z(a)||he(v,e)}))})),n(),G(h)||(f?te(p,(e=>he(v,e))):te(r,(e=>N(ee(u,e),(e=>he(v,e))))),X(v,(e=>{const t=(t,s)=>i(ee(h,t),ee(h,s),e),s=[...ee(p,e)];y(s,t)||(se(p,e,ue(I(s,t))),he(w,e))}))),(g||f)&&!z(l)){const t=[...p];y(t,l)||(d(e,Z(I(t,l))),g=1)}g&&L(t,[e]),X(w,(t=>L(s,[e,t])))}),ge(o),N(a,ge)),S},delIndexDefinition:e=>(h(e),S),getStore:o,getIndexIds:a,forEachIndex:e=>r(((t,s)=>e(t,(e=>p(t,e,s))))),forEachSlice:(e,t)=>p(e,t,c(e)),hasIndex:i,hasSlice:(e,t)=>$(c(e),t),getTableId:l,getSliceIds:e=>_(c(e)),getSliceRowIds:(e,t)=>K(ee(c(e),t)),addSliceIdsListener:(e,s)=>g(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>g(n,s,[e,t]),delListener:e=>(w(e),S),destroy:f,getListenerStats:()=>({})};return Ie(S)})),Me=Z([["avg",[(e,t)=>m(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=>F(...e),(e,t)=>F(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:F(t,e)]],["min",[e=>P(...e),(e,t)=>P(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:P(t,e)]],["sum",[e=>m(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),xe=(e,t,s,n,o,a=!1)=>{if(G(s))return;const[r,i,l,c]=o;return a||=z(e),X(n,(([s,n])=>{a||(e=z(s)?i?.(e,n,t++):z(n)?l?.(e,s,t--):c?.(e,n,s,t),a||=z(e))})),a?r(K(s),H(s)):e},Ae=Le((e=>{const t=Z(),[s,o,a,r,i,l,c,,d,u,h]=fe(e,q,(e=>isNaN(e)||z(e)||!0===e||!1===e||e===n?void 0:1*e)),[f,g,L]=pe((()=>w)),w={setMetricDefinition:(e,s,n,o,a,r,i)=>{const u=W(n)?[n,a,r,i]:ee(Me,n)??ee(Me,"sum");return d(e,s,((s,n,o,a,r,i)=>{const d=l(e),h=H(a);i||=z(d),s();let f=xe(d,h,a,n,u,i);Q(f)||(f=void 0),f!=d&&(c(e,f),g(t,[e],f,d))}),ge(o,1)),w},delMetricDefinition:e=>(u(e),w),getStore:s,getMetricIds:o,forEachMetric:a,hasMetric:r,getTableId:i,getMetric:l,addMetricListener:(e,s)=>f(s,t,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return Ie(w)})),De=(e,t,s,o,a)=>{let r,i,l=0;const c={load:async(s,o)=>{if(2!=l){l=1;const a=await t();z(a)||a==n?e.transaction((()=>e.setTables(s).setValues(o))):e.setJson(a),l=0}return c},startAutoLoad:async(e,t)=>(c.stopAutoLoad(),await c.load(e,t),o(c.load),c),stopAutoLoad:()=>(a(),c),save:async()=>(1!=l&&(l=2,await s(e.getJson()),l=0),c),startAutoSave:async()=>(await c.stopAutoSave().save(),r=e.addTablesListener(c.save),i=e.addValuesListener(c.save),c),stopAutoSave:()=>(N(r,e.delListener),N(i,e.delListener),c),getStore:()=>e,destroy:()=>c.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Ie(c)},Fe="storage",Pe=globalThis.window,Qe=(e,t,s)=>{let n;return De(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},Pe.addEventListener(Fe,n)}),(()=>{Pe.removeEventListener(Fe,n),n=void 0}))},je=e=>e.headers.get("ETag"),ze=Le((e=>{const t=e.createStore,[s,o,a,r,i,,,l,,c,v,p,R]=fe(e,(()=>!0),q),y=t(),I=t(),b=Z(),m=(e,t,...s)=>T(s,(s=>he(ne(ne(b,t,Z),e,ue),s))),E=e=>{N(ee(b,e),(e=>{te(e,((e,t)=>X(t,(t=>e.delListener(t))))),U(e)})),T([I,y],(t=>t.delTable(e)))},M=(e,t,s)=>m(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),x={setQueryDefinition:(t,s,o)=>{l(t,s),E(t);const a=[],r=[[null,[s,null,null,[],Z()]]],i=[],c=[],d=[];o({select:(e,t)=>{const s=W(e)?[C(a)+n,e]:[z(t)?e:t,s=>s(e,t)];return J(a,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=z(s)||W(t)?null:t,o=z(n)?t:s,a=[e,[e,n,W(o)?o:e=>e(o),[],Z()]];return J(r,a),{as:e=>a[0]=e}},where:(e,t,s)=>J(i,W(e)?e:z(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const a=[e,[e,W(t)?[t,s,n,o]:ee(Me,t)??[(e,t)=>t]]];return J(c,a),{as:e=>a[0]=e}},having:(e,t)=>J(d,W(e)?e:s=>s(e)===t)});const u=Z(a);if(G(u))return x;const h=Z(r);te(h,((e,[,t])=>N(ee(h,t),(({3:t})=>z(e)?0:J(t,e)))));const f=Z(c);let g=y;if(G(f)&&V(d))g=I;else{M(t,g,I);const e=Z();te(f,((t,[s,n])=>he(ne(e,s,ue),[t,n])));const s=ue();te(u,(t=>$(e,t)?0:he(s,t)));const n=Z(),o=(s,n,o,a)=>N(s,(([r,i,l,c])=>{te(n,((t,[s])=>{const n=ne(r,t,Z),i=ee(n,o),l=a?void 0:s;if(i!==l){const s=ue([[i,l]]),a=H(n);se(n,o,l),X(ee(e,t),(([e,t])=>{const o=xe(c[e],a,n,s,t);c[e]=z(le(o))?null:o}))}})),G(i)||!S(d,(e=>e((e=>c[e]))))?I.delRow(t,l):z(l)?s[2]=I.addRow(t,c):I.setRow(t,l,c)}));m(g,t,g.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=Z(),h=g.hasRow(t,i);let f=!h;X(s,(e=>{const[s,n,o]=l(t,i,e);J(c,n),J(d,o),f||=s})),te(e,(e=>{const[s,,n]=l(t,i,e);(f||s)&&se(u,e,[n])})),f&&o(ie(n,c,void 0,(([,e])=>(Y(e,i),G(e)))),u,i,1),h&&o(ie(n,d,(()=>{const e={};return X(s,(s=>e[s]=g.getCell(t,i,s))),[Z(),ue(),void 0,e]}),(([,e])=>{he(e,i)})),u,i)})))}M(t,e,g);const L=(n,o,a,r)=>{const l=t=>e.getCell(o,a,t);T(r,(s=>{const[o,,a,r,i]=ee(h,s),c=a?.(l,n),[d,u]=ee(i,n)??[];c!=d&&(z(u)||R(t,u),se(i,n,z(c)?null:[c,...p(t,1,e.addRowListener(o,c,(()=>L(n,o,c,r))))]))})),(n=>{const o=(t,o)=>e.getCell(...z(o)?[s,n,t]:t===s?[s,n,o]:[ee(h,t)?.[0],ee(ee(h,t)?.[4],n)?.[0],o]);g.transaction((()=>S(i,(e=>e(o)))?te(u,((e,s)=>ce(g,t,n,e,s(o,n)))):g.delRow(t,n)))})(n)},{3:w}=ee(h,null);return g.transaction((()=>p(t,1,e.addRowListener(s,null,((n,o,a)=>{e.hasRow(s,a)?L(a,s,a,w):(g.delRow(t,a),X(h,(({4:e})=>N(ee(e,a),(([,s])=>{R(t,s),se(e,a)})))))}))))),x},delQueryDefinition:e=>(E(e),c(e),x),getStore:s,getQueryIds:o,forEachQuery:a,hasQuery:r,getTableId:i,delListener:e=>(I.delListener(e),x),destroy:v,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=I.getListenerStats();return n}};return Ce({[f]:[1,1],[g]:[0,1],SortedRowIds:[0,5],Row:[1,2],[w]:[0,2],[L]:[1,3]},(([e,t],s)=>{T(e?["get","has","forEach"]:["get"],(e=>x[e+u+s]=(...t)=>I[e+s](...t))),x[h+u+s+d]=(...e)=>I[h+s+d](...k(e,0,t),((s,...n)=>e[t](x,...n)))})),Ie(x)})),Ne=Le((e=>{const t=Z(),s=Z(),o=Z(),a=Z(),[r,i,l,c,d,u,,,h,f,g]=fe(e,(()=>[Z(),Z(),Z(),Z()]),(e=>z(e)?void 0:e+n)),[L,w,v]=pe((()=>y)),p=(e,t,s)=>N(u(e),(([n,,o])=>{if(!$(o,t)){const a=ue();if(d(e)!=R(e))he(a,t);else{let e=t;for(;!z(e)&&!$(a,e);)he(a,e),e=ee(n,e)}if(s)return a;se(o,t,a)}return ee(o,t)})),S=(e,t)=>N(u(e),(([,,e])=>se(e,t))),R=e=>ee(t,e),y={setRelationshipDefinition:(e,n,r,i)=>(se(t,e,r),h(e,n,((t,n)=>{const r=ue(),i=ue(),l=ue(),[c,d]=u(e);X(n,(([t,s],n)=>{z(t)||(he(i,t),N(ee(d,t),(e=>{Y(e,n),G(e)&&se(d,t)}))),z(s)||(he(i,s),$(d,s)||se(d,s,ue()),he(ee(d,s),n)),he(r,n),se(c,n,s),te(ee(a,e),(t=>{$(p(e,t),n)&&he(l,t)}))})),t(),X(r,(t=>w(s,[e,t]))),X(i,(t=>w(o,[e,t]))),X(l,(t=>{S(e,t),w(a,[e,t])}))}),ge(i)),y),delRelationshipDefinition:e=>(se(t,e),f(e),y),getStore:r,getRelationshipIds:i,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:R,getRemoteRowId:(e,t)=>ee(u(e)?.[0],t),getLocalRowIds:(e,t)=>K(ee(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>z(u(e))?[t]:K(p(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>L(n,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(p(e,t),L(s,a,[e,t])),delListener:e=>(S(...v(e)),y),destroy:g,getListenerStats:()=>({})};return Ie(y)})),Oe=e=>[e,e],We=()=>[Z(),Z()],Be=(e,t,s,n=se)=>(Ce(t,((t,n)=>s(e,n,t))),te(e,(s=>be(t,s)?0:n(e,s))),e),qe=(e,t,s)=>z(e)||!Te(e)||Ve(e)||ye(e)?(s?.(),!1):(Ce(e,((s,n)=>{t(s,n)||me(e,n)})),!Ve(e)),He=(e,t,s)=>se(e,t,ee(e,t)==-s?void 0:s),$e=()=>{let e,t,s,n,o=0;const a=Z(),i=Z(),c=Z(),u=Z(),S=Z(),y=Z(),m=Z(),C=Z(),V=Z(),E=Z(),M=Z(),x=Z(),F=ue(),P=Z(),Q=Z(),j=Z(),B=We(),q=We(),H=We(),K=We(),ie=We(),fe=We(),ge=We(),Le=We(),we=We(),Se=We(),Re=We(),ye=We(),Te=We(),Ee=We(),[Je,Me,xe,Ae]=pe((()=>Kt)),De=e=>{if(!qe(e,((e,t)=>p(["type",l],t))))return!1;const t=e.type;return!(!O(t)&&t!=r||(le(e.default)!=t&&me(e,l),0))},Fe=(t,s)=>(!e||$(V,s)||vt(s))&&qe(t,((e,t)=>Pe(s,t,e)),(()=>vt(s))),Pe=(e,t,s,n)=>qe(n?s:Ne(s,e,t),((n,o)=>N(Qe(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>vt(e,t))),Qe=(t,s,n,o)=>e?N(ee(ee(V,t),n),(e=>le(o)!=e.type?vt(t,s,n,o,e.default):o),(()=>vt(t,s,n,o))):z(le(o))?vt(t,s,n,o):o,je=(e,t)=>qe(t?e:Ge(e),((t,s)=>N(ze(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>pt())),ze=(e,s)=>t?N(ee(M,e),(t=>le(s)!=t.type?pt(e,s,t.default):s),(()=>pt(e,s))):z(le(s))?pt(e,s):s,Ne=(e,t,s)=>(N(ee(E,t),(([n,o])=>{X(n,((t,s)=>{be(e,s)||(e[s]=t)})),X(o,(n=>{be(e,n)||vt(t,s,n)}))})),e),Ge=e=>(t&&(X(x,((t,s)=>{be(e,s)||(e[s]=t)})),X(F,(t=>{be(e,t)||pt(t)}))),e),Ke=e=>Be(V,e,((e,t,s)=>{const n=Z(),o=ue();Be(ne(V,t,Z),s,((e,t,s)=>{se(e,t,s),N(s.default,(e=>se(n,t,e)),(()=>he(o,t)))})),se(E,t,[n,o])}),((e,t)=>{se(V,t),se(E,t)})),Ue=e=>Be(M,e,((e,t,s)=>{se(M,t,s),N(s.default,(e=>se(x,t,e)),(()=>he(F,t)))}),((e,t)=>{se(M,t),se(x,t),Y(F,t)})),Xe=e=>Ve(e)?Ot():Pt(e),Ye=e=>Be(Q,e,((e,t,s)=>Ze(t,s)),((e,t)=>it(t))),Ze=(e,t)=>Be(ne(Q,e,(()=>(ut(e,1),Z()))),t,((t,s,n)=>_e(e,t,s,n)),((t,s)=>lt(e,t,s))),_e=(e,t,s,n,o)=>Be(ne(t,s,(()=>(ht(e,s,1),Z()))),n,((t,n,o)=>et(e,s,t,n,o)),((n,a)=>ct(e,t,s,n,a,o))),et=(e,t,s,n,o)=>{$(s,n)||ft(e,t,n,1);const a=ee(s,n);o!==a&&(gt(e,t,n,a,o),se(s,n,o))},tt=(e,t,s,n,o)=>N(ee(t,s),(t=>et(e,s,t,n,o)),(()=>_e(e,t,s,Ne({[n]:o},e,s)))),st=e=>Ve(e)?Wt():Qt(e),nt=e=>Be(j,e,((e,t,s)=>ot(t,s)),((e,t)=>dt(t))),ot=(e,t)=>{$(j,e)||Lt(e,1);const s=ee(j,e);t!==s&&(wt(e,s,t),se(j,e,t))},at=(e,t)=>{const[s]=ne(P,e,ve),n=s(t);return $(ee(Q,e),n)?at(e,t):n},rt=e=>ee(Q,e)??Ze(e,{}),it=e=>Ze(e,{}),lt=(e,t,s)=>{const[,n]=ne(P,e,ve);n(s),_e(e,t,s,{},!0)},ct=(e,t,s,n,o,a)=>{const r=ee(ee(E,e)?.[0],o);if(!z(r)&&!a)return et(e,s,n,o,r);const i=t=>{gt(e,s,t,ee(n,t)),ft(e,s,t,-1),se(n,t)};z(r)?i(o):te(n,i),G(n)&&(ht(e,s,-1),G(se(t,s))&&(ut(e,-1),se(Q,e),se(P,e)))},dt=e=>{const t=ee(x,e);if(!z(t))return ot(e,t);wt(e,ee(j,e)),Lt(e,-1),se(j,e)},ut=(e,t)=>He(a,e,t),ht=(e,t,s)=>He(ne(i,e,Z),t,s),ft=(e,t,s,n)=>He(ne(ne(c,e,Z),t,Z),s,n),gt=(e,t,s,n,o)=>ne(ne(ne(u,e,Z),t,Z),s,(()=>[n,0]))[1]=o,Lt=(e,t)=>He(S,e,t),wt=(e,t,s)=>ne(y,e,(()=>[t,0]))[1]=s,vt=(e,t,s,n,o)=>(J(ne(ne(ne(m,e,Z),t,Z),s,(()=>[])),n),o),pt=(e,t,s)=>(J(ne(C,e,(()=>[])),t),s),St=(e,t,s)=>N(ee(ee(ee(u,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Oe(xt(e,t,s))])),Rt=e=>N(ee(y,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Oe(Ft(e))])),yt=e=>G(m)||G(we[e])?0:X(e?ae(m,re):m,((t,s)=>X(t,((t,n)=>X(t,((t,o)=>Me(we[e],[s,n,o],t))))))),It=e=>G(C)||G(Se[e])?0:X(e?ae(C):C,((t,s)=>Me(Se[e],[s],t))),Tt=(e,t,s)=>{if(!G(t))return Me(e,s),1},bt=e=>{const t=G(ie[e]),s=G(ge[e])&&G(K[e])&&t&&G(q[e]),n=G(Le[e])&&G(fe[e])&&G(H[e])&&G(B[e]);if(!s||!n){const o=e?[ae(a),re(i),ae(c,re),ae(u,re)]:[a,i,c,u];if(!s){X(o[2],((t,s)=>X(t,((t,n)=>Tt(ge[e],t,[s,n])))));const s=ue();X(o[1],((n,o)=>{Tt(K[e],n,[o])&&!t&&(Me(ie[e],[o,null]),he(s,o))})),t||X(o[3],((t,n)=>{if(!$(s,n)){const s=ue();X(t,(e=>X(e,(([t,n],o)=>n!==t?he(s,o):Y(e,o))))),X(s,(t=>Me(ie[e],[n,t])))}})),Tt(q[e],o[0])}if(!n){let t;X(o[3],((s,n)=>{let o;X(s,((s,a)=>{let r;X(s,(([s,i],l)=>{i!==s&&(Me(Le[e],[n,a,l],i,s,St),t=o=r=1)})),r&&Me(fe[e],[n,a],St)})),o&&Me(H[e],[n],St)})),t&&Me(B[e],void 0,St)}}},mt=e=>{const t=G(ye[e]),s=G(Te[e])&&G(Re[e]);if(!t||!s){const n=e?[ae(S),ae(y)]:[S,y];if(t||Tt(ye[e],n[0]),!s){let t;X(n[1],(([s,n],o)=>{n!==s&&(Me(Te[e],[o],n,s,Rt),t=1)})),t&&Me(Re[e],void 0,Rt)}}},Ct=(e,...t)=>(Ht((()=>e(...b(t,v)))),Kt),Vt=()=>oe(Q,(e=>oe(e,oe))),Et=()=>_(Q),kt=e=>_(ee(Q,v(e))),Jt=(e,t,s,n=0,o)=>{return b(k(I((a=ee(Q,v(e)),r=(e,s)=>[z(t)?s:ee(e,v(t)),s],b([...a?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>ke(e,t)*(s?-1:1))),n,z(o)?o:n+o),(([,e])=>e));var a,r},Mt=(e,t)=>_(ee(ee(Q,v(e)),v(t))),xt=(e,t,s)=>ee(ee(ee(Q,v(e)),v(t)),v(s)),At=()=>oe(j),Dt=()=>_(j),Ft=e=>ee(j,v(e)),Pt=e=>Ct((()=>(e=>qe(e,Fe,vt))(e)?Ye(e):0)),Qt=e=>Ct((()=>je(e)?nt(e):0)),jt=e=>{try{Xe(D(e))}catch{}return Kt},zt=t=>Ct((()=>{if((e=qe(t,(e=>qe(e,De))))&&(Ke(t),!G(Q))){const e=Vt();Ot(),Pt(e)}})),Nt=e=>Ct((()=>{if(t=(e=>qe(e,De))(e)){const s=At();qt(),Wt(),t=!0,Ue(e),Qt(s)}})),Ot=()=>Ct((()=>Ye({}))),Wt=()=>Ct((()=>nt({}))),Bt=()=>Ct((()=>{Ke({}),e=!1})),qt=()=>Ct((()=>{Ue({}),t=!1})),Ht=(e,t)=>{if(-1==o)return;$t();const s=e();return Gt(t),s},$t=()=>(o++,Kt),Gt=e=>(o>0&&(o--,0==o&&(s=!G(u),n=!G(y),o=1,yt(1),s&&bt(1),It(1),n&&mt(1),o=-1,e?.(oe(u,(e=>oe(e,(e=>oe(e,(e=>[...e]),(([e,t])=>e===t))),Ve)),Ve),oe(m,(e=>oe(e,oe))),oe(y,(e=>[...e]),(([e,t])=>e===t)),oe(C))&&(o=1,X(u,((e,t)=>X(e,((e,s)=>X(e,(([e],n)=>ce(Kt,t,s,n,e))))))),X(y,(([e],t)=>de(Kt,t,e))),o=-1,s=n=!1),Me(Ee[0],void 0,s,n),yt(0),s&&bt(0),It(0),n&&mt(0),Me(Ee[1],void 0,s,n),o=0,T([a,i,c,u,m,S,y,C],U))),Kt),Kt={getTables:Vt,getTableIds:Et,getTable:e=>oe(ee(Q,v(e)),oe),getRowIds:kt,getSortedRowIds:Jt,getRow:(e,t)=>oe(ee(ee(Q,v(e)),v(t))),getCellIds:Mt,getCell:xt,getValues:At,getValueIds:Dt,getValue:Ft,hasTables:()=>!G(Q),hasTable:e=>$(Q,v(e)),hasRow:(e,t)=>$(ee(Q,v(e)),v(t)),hasCell:(e,t,s)=>$(ee(ee(Q,v(e)),v(t)),v(s)),hasValues:()=>!G(j),hasValue:e=>$(j,v(e)),getTablesJson:()=>A(Q),getValuesJson:()=>A(j),getJson:()=>A([Q,j]),getTablesSchemaJson:()=>A(V),getValuesSchemaJson:()=>A(M),getSchemaJson:()=>A([V,M]),setTables:Pt,setTable:(e,t)=>Ct((e=>Fe(t,e)?Ze(e,t):0),e),setRow:(e,t,s)=>Ct(((e,t)=>Pe(e,t,s)?_e(e,rt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Ht((()=>{let n;return Pe(e,n,t)&&(e=v(e),_e(e,rt(e),n=at(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Ct(((e,t)=>{if(Pe(e,t,s,1)){const n=rt(e);Ce(s,((s,o)=>tt(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Ct(((e,t,s)=>N(Qe(e,t,s,W(n)?n(xt(e,t,s)):n),(n=>tt(e,rt(e),t,s,n)))),e,t,s),setValues:Qt,setPartialValues:e=>Ct((()=>je(e,1)?Ce(e,((e,t)=>ot(t,e))):0)),setValue:(e,t)=>Ct((e=>N(ze(e,W(t)?t(Ft(e)):t),(t=>ot(e,t)))),e),setTablesJson:jt,setValuesJson:e=>{try{st(D(e))}catch{}return Kt},setJson:e=>{try{const[t,s]=D(e);Xe(t),st(s)}catch{jt(e)}return Kt},setTablesSchema:zt,setValuesSchema:Nt,setSchema:(e,t)=>Ct((()=>{zt(e),Nt(t)})),delTables:Ot,delTable:e=>Ct((e=>$(Q,e)?it(e):0),e),delRow:(e,t)=>Ct(((e,t)=>N(ee(Q,e),(s=>$(s,t)?lt(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Ct(((e,t,s)=>N(ee(Q,e),(o=>N(ee(o,t),(a=>$(a,s)?ct(e,o,t,a,s,n):0))))),e,t,s),delValues:Wt,delValue:e=>Ct((e=>$(j,e)?dt(e):0),e),delTablesSchema:Bt,delValuesSchema:qt,delSchema:()=>Ct((()=>{Bt(),qt()})),transaction:Ht,startTransaction:$t,finishTransaction:Gt,forEachTable:e=>X(Q,((t,s)=>e(s,(e=>X(t,((t,s)=>e(s,(e=>te(t,e))))))))),forEachRow:(e,t)=>X(ee(Q,v(e)),((e,s)=>t(s,(t=>te(e,t))))),forEachCell:(e,t,s)=>te(ee(ee(Q,v(e)),v(t)),s),forEachValue:e=>te(j,e),addSortedRowIdsListener:(e,t,s,n,o,a,r)=>{let i=Jt(e,t,s,n,o);return Je((()=>{const r=Jt(e,t,s,n,o);R(r,i)||(i=r,a(Kt,e,t,s,n,o,i))}),ie[r?1:0],[e,t],[Et])},addWillFinishTransactionListener:e=>Je(e,Ee[0]),addDidFinishTransactionListener:e=>Je(e,Ee[1]),callListener:e=>(Ae(e),Kt),delListener:e=>(xe(e),Kt),getListenerStats:()=>({}),createStore:$e};return Ce({Tables:[0,B],TableIds:[0,q],[f]:[1,H,[Et]],[g]:[1,K,[Et]],Row:[2,fe,[Et,kt]],[w]:[2,ge,[Et,kt]],[L]:[3,Le,[Et,kt,Mt],e=>Oe(xt(...e))],InvalidCell:[3,we],Values:[0,Re],ValueIds:[0,ye],Value:[1,Te,[Dt],e=>Oe(Ft(e[0]))],InvalidValue:[1,Se]},(([e,t,s,n],o)=>{Kt[h+o+d]=(...o)=>Je(o[e],t[o[e+1]?1:0],e>0?k(o,0,e):void 0,s,n)})),Ie(Kt)};e.createCheckpoints=Ee,e.createCustomPersister=De,e.createFilePersister=(e,s)=>{let n;return De(e,(async()=>{try{return await t.promises.readFile(s,c)}catch{}}),(async e=>{try{await t.promises.writeFile(s,e,c)}catch{}}),(e=>{n=t.watch(s,e)}),(()=>{n?.close(),n=void 0}))},e.createIndexes=Je,e.createLocalPersister=(e,t)=>Qe(e,t,localStorage),e.createMetrics=Ae,e.createQueries=ze,e.createRelationships=Ne,e.createRemotePersister=(e,t,s,n)=>{let o,a;return De(e,(async()=>{const e=await fetch(t);return a=je(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{o=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),n=je(s);z(a)||z(n)||n==a||(a=n,e())}),1e3*n)}),(()=>{N(o,clearInterval),o=void 0}))},e.createSessionPersister=(e,t)=>Qe(e,t,sessionStorage),e.createStore=$e,e.defaultSorter=ke},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs")):"function"==typeof define&&define.amd?define(["exports","fs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={},e.fs);
|
package/lib/umd/tinybase.js.gz
CHANGED
|
Binary file
|
package/lib/umd-es6/store.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,l="",n=t(l),s=t(!0),r=t(0),a=t(t),o="type",u="default",i=e=>l+e,d=(e,t)=>e.forEach(t),c=(e,t)=>e.map(t),f=e=>e.length,v=(e,t,l)=>e.slice(t,l),h=(e,...t)=>e.push(...t),T=e=>JSON.stringify(e,((e,t)=>{return V(t,Map)?(l=(e,[t,l])=>(e[t]=l,e),n={},[...t].reduce(l,n)):t;var l,n})),g=JSON.parse,b=isFinite,V=(e,t)=>e instanceof t,y=e=>null==e,S=(e,t,l)=>y(e)?null==l?void 0:l():t(e),p=e=>e==n||e==s,w=e=>t(e)==a,m=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},I=e=>y(e)||0==(e=>e.size)(e),R=e=>e.clear(),C=(e,t)=>null==e?void 0:e.forEach(t),J=(e,t)=>null==e?void 0:e.delete(t),L=e=>new Map(e),E=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},F=(e,t)=>null==e?void 0:e.get(t),x=(e,t)=>C(e,((e,l)=>t(l,e))),z=(e,t,l)=>y(l)?(J(e,t),e):null==e?void 0:e.set(t,l),O=(e,t,l)=>(m(e,t)||z(e,t,l()),F(e,t)),j=(e,t,l)=>{const n={},s=null!=t?t:e=>e;return C(e,((e,t)=>S(s(e),(e=>(null==l?void 0:l(e))?0:n[t]=e)))),n},k=(e,t)=>{const l=L(),n=null!=t?t:e=>e;return C(e,((e,t)=>l.set(t,n(e)))),l},A=e=>k(e,k),M=(e,t,l,n,s=0)=>S((l?O:F)(e,t[s],s>f(t)-2?l:L),(r=>{if(s>f(t)-2)return(null==n?void 0:n(r))&&z(e,t[s]),r;const a=M(r,t,l,n,s+1);return I(r)&&z(e,t[s]),a})),N=e=>new Set(Array.isArray(e)||y(e)?e:[e]),P=(e,t)=>null==e?void 0:e.add(t),B=/^\d+$/,D=()=>{const e=[];let t=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:l+t++},t=>{B.test(t)&&f(e)<1e3&&h(e,t)}]},W=Object,$=W.keys,q=W.isFrozen,G=W.freeze,H=e=>V(e,W)&&e.constructor==W,K=(e,t)=>!y(((e,t)=>S(e,(e=>e[t])))(e,t)),Q=(e,t)=>delete e[t],U=(e,t)=>c(W.entries(e),(([e,l])=>t(l,e))),X=e=>{return H(e)&&(t=$(e),0==f(t));var t},Y=e=>[e,e],Z=()=>[L(),L()],_=e=>{const l=t(e);return p(l)||l==r&&b(e)?l:void 0},ee=(e,t,l,n=z)=>{const s=(r=e=>!K(t,e),E(e).filter(r));var r;return d($(t),(n=>l(e,n,t[n]))),d(s,(t=>n(e,t))),e},te=(e,t,l)=>y(e)||!H(e)||X(e)||q(e)?(null==l||l(),!1):(U(e,((l,n)=>{t(l,n)||Q(e,n)})),!X(e)),le=(e,t,l)=>z(e,t,F(e,t)==-l?void 0:l),ne=()=>{let e,t,n,s,a=0;const b=L(),V=L(),B=L(),W=L(),$=L(),q=L(),H=L(),se=L(),re=L(),ae=L(),oe=L(),ue=L(),ie=N(),de=L(),ce=L(),fe=L(),ve=Z(),he=Z(),Te=Z(),ge=Z(),be=Z(),Ve=Z(),ye=Z(),Se=Z(),pe=Z(),we=Z(),me=Z(),Ie=Z(),Re=Z(),Ce=Z(),[Je,Le,Ee,Fe]=(e=>{let t;const[n,s]=D(),r=L();return[(e,s,a,o=[],u=(()=>[]))=>{null!=t||(t=Pt);const i=n(1);return z(r,i,[e,s,a,o,u]),P(M(s,null!=a?a:[l],N),i),i},(e,n,...s)=>d(((e,t=[l])=>{const n=[],s=(e,l)=>l==f(t)?h(n,e):null===t[l]?C(e,(e=>s(e,l+1))):d([t[l],null],(t=>s(F(e,t),l+1)));return s(e,0),n})(e,n),(e=>C(e,(e=>F(r,e)[0](t,...null!=n?n:[],...s))))),e=>S(F(r,e),(([,t,n])=>(M(t,null!=n?n:[l],void 0,(t=>(J(t,e),I(t)?1:0))),z(r,e),s(e),n))),e=>S(F(r,e),(([e,,l=[],n,s])=>{const r=(...a)=>{var o,u;const i=f(a);i==f(l)?e(t,...a,...s(a)):y(l[i])?d(null!=(u=null==(o=n[i])?void 0:o.call(n,...a))?u:[],(e=>r(...a,e))):r(...a,l[i])};r()}))]})(),xe=e=>{if(!te(e,((e,t)=>[o,u].includes(t))))return!1;const t=e.type;return!(!p(t)&&t!=r||(_(e.default)!=t&&Q(e,u),0))},ze=(t,l)=>(!e||m(re,l)||ut(l))&&te(t,((e,t)=>Oe(l,t,e)),(()=>ut(l))),Oe=(e,t,l,n)=>te(n?l:Me(l,e,t),((n,s)=>S(je(e,t,s,n),(e=>(l[s]=e,!0)),(()=>!1))),(()=>ut(e,t))),je=(t,l,n,s)=>e?S(F(F(re,t),n),(e=>_(s)!=e.type?ut(t,l,n,s,e.default):s),(()=>ut(t,l,n,s))):y(_(s))?ut(t,l,n,s):s,ke=(e,t)=>te(t?e:Ne(e),((t,l)=>S(Ae(l,t),(t=>(e[l]=t,!0)),(()=>!1))),(()=>it())),Ae=(e,l)=>t?S(F(oe,e),(t=>_(l)!=t.type?it(e,l,t.default):l),(()=>it(e,l))):y(_(l))?it(e,l):l,Me=(e,t,l)=>(S(F(ae,t),(([n,s])=>{C(n,((t,l)=>{K(e,l)||(e[l]=t)})),C(s,(n=>{K(e,n)||ut(t,l,n)}))})),e),Ne=e=>(t&&(C(ue,((t,l)=>{K(e,l)||(e[l]=t)})),C(ie,(t=>{K(e,t)||it(t)}))),e),Pe=e=>ee(re,e,((e,t,l)=>{const n=L(),s=N();ee(O(re,t,L),l,((e,t,l)=>{z(e,t,l),S(l.default,(e=>z(n,t,e)),(()=>P(s,t)))})),z(ae,t,[n,s])}),((e,t)=>{z(re,t),z(ae,t)})),Be=e=>ee(oe,e,((e,t,l)=>{z(oe,t,l),S(l.default,(e=>z(ue,t,e)),(()=>P(ie,t)))}),((e,t)=>{z(oe,t),z(ue,t),J(ie,t)})),De=e=>X(e)?zt():Jt(e),We=e=>ee(ce,e,((e,t,l)=>$e(t,l)),((e,t)=>Ze(t))),$e=(e,t)=>ee(O(ce,e,(()=>(lt(e,1),L()))),t,((t,l,n)=>qe(e,t,l,n)),((t,l)=>_e(e,t,l))),qe=(e,t,l,n,s)=>ee(O(t,l,(()=>(nt(e,l,1),L()))),n,((t,n,s)=>Ge(e,l,t,n,s)),((n,r)=>et(e,t,l,n,r,s))),Ge=(e,t,l,n,s)=>{m(l,n)||st(e,t,n,1);const r=F(l,n);s!==r&&(rt(e,t,n,r,s),z(l,n,s))},He=(e,t,l,n,s)=>S(F(t,l),(t=>Ge(e,l,t,n,s)),(()=>qe(e,t,l,Me({[n]:s},e,l)))),Ke=e=>X(e)?Ot():Lt(e),Qe=e=>ee(fe,e,((e,t,l)=>Ue(t,l)),((e,t)=>tt(t))),Ue=(e,t)=>{m(fe,e)||at(e,1);const l=F(fe,e);t!==l&&(ot(e,l,t),z(fe,e,t))},Xe=(e,t)=>{const[l]=O(de,e,D),n=l(t);return m(F(ce,e),n)?Xe(e,t):n},Ye=e=>{var t;return null!=(t=F(ce,e))?t:$e(e,{})},Ze=e=>$e(e,{}),_e=(e,t,l)=>{const[,n]=O(de,e,D);n(l),qe(e,t,l,{},!0)},et=(e,t,l,n,s,r)=>{var a;const o=F(null==(a=F(ae,e))?void 0:a[0],s);if(!y(o)&&!r)return Ge(e,l,n,s,o);const u=t=>{rt(e,l,t,F(n,t)),st(e,l,t,-1),z(n,t)};y(o)?u(s):x(n,u),I(n)&&(nt(e,l,-1),I(z(t,l))&&(lt(e,-1),z(ce,e),z(de,e)))},tt=e=>{const t=F(ue,e);if(!y(t))return Ue(e,t);ot(e,F(fe,e)),at(e,-1),z(fe,e)},lt=(e,t)=>le(b,e,t),nt=(e,t,l)=>le(O(V,e,L),t,l),st=(e,t,l,n)=>le(O(O(B,e,L),t,L),l,n),rt=(e,t,l,n,s)=>O(O(O(W,e,L),t,L),l,(()=>[n,0]))[1]=s,at=(e,t)=>le($,e,t),ot=(e,t,l)=>O(q,e,(()=>[t,0]))[1]=l,ut=(e,t,l,n,s)=>(h(O(O(O(H,e,L),t,L),l,(()=>[])),n),s),it=(e,t,l)=>(h(O(se,e,(()=>[])),t),l),dt=(e,t,l)=>S(F(F(F(W,e),t),l),(([e,t])=>[!0,e,t]),(()=>[!1,...Y(mt(e,t,l))])),ct=e=>S(F(q,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Y(Ct(e))])),ft=e=>I(H)||I(pe[e])?0:C(e?k(H,A):H,((t,l)=>C(t,((t,n)=>C(t,((t,s)=>Le(pe[e],[l,n,s],t))))))),vt=e=>I(se)||I(we[e])?0:C(e?k(se):se,((t,l)=>Le(we[e],[l],t))),ht=(e,t,l)=>{if(!I(t))return Le(e,l),1},Tt=e=>{const t=I(be[e]),l=I(ye[e])&&I(ge[e])&&t&&I(he[e]),n=I(Se[e])&&I(Ve[e])&&I(Te[e])&&I(ve[e]);if(!l||!n){const s=e?[k(b),A(V),k(B,A),k(W,A)]:[b,V,B,W];if(!l){C(s[2],((t,l)=>C(t,((t,n)=>ht(ye[e],t,[l,n])))));const l=N();C(s[1],((n,s)=>{ht(ge[e],n,[s])&&!t&&(Le(be[e],[s,null]),P(l,s))})),t||C(s[3],((t,n)=>{if(!m(l,n)){const l=N();C(t,(e=>C(e,(([t,n],s)=>n!==t?P(l,s):J(e,s))))),C(l,(t=>Le(be[e],[n,t])))}})),ht(he[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&&(Le(Se[e],[n,r,u],o,l,dt),t=s=a=1)})),a&&Le(Ve[e],[n,r],dt)})),s&&Le(Te[e],[n],dt)})),t&&Le(ve[e],void 0,dt)}}},gt=e=>{const t=I(Ie[e]),l=I(Re[e])&&I(me[e]);if(!t||!l){const n=e?[k($),k(q)]:[$,q];if(t||ht(Ie[e],n[0]),!l){let t;C(n[1],(([l,n],s)=>{n!==l&&(Le(Re[e],[s],n,l,ct),t=1)})),t&&Le(me[e],void 0,ct)}}},bt=(e,...t)=>(At((()=>e(...c(t,i)))),Pt),Vt=()=>j(ce,(e=>j(e,j))),yt=()=>E(ce),St=e=>E(F(ce,i(e))),pt=(e,t,l,n=0,s)=>{return c(v((a=F(ce,i(e)),o=(e,l)=>[y(t)?l:F(e,i(t)),l],r=([e],[t])=>(e<t?-1:1)*(l?-1:1),c([...null!=(u=null==a?void 0:a.entries())?u:[]],(([e,t])=>o(t,e))).sort(r)),n,y(s)?s:n+s),(([,e])=>e));var r,a,o,u},wt=(e,t)=>E(F(F(ce,i(e)),i(t))),mt=(e,t,l)=>F(F(F(ce,i(e)),i(t)),i(l)),It=()=>j(fe),Rt=()=>E(fe),Ct=e=>F(fe,i(e)),Jt=e=>bt((()=>(e=>te(e,ze,ut))(e)?We(e):0)),Lt=e=>bt((()=>ke(e)?Qe(e):0)),Et=e=>{try{De(g(e))}catch(e){}return Pt},Ft=t=>bt((()=>{if((e=te(t,(e=>te(e,xe))))&&(Pe(t),!I(ce))){const e=Vt();zt(),Jt(e)}})),xt=e=>bt((()=>{if(t=(e=>te(e,xe))(e)){const l=It();kt(),Ot(),t=!0,Be(e),Lt(l)}})),zt=()=>bt((()=>We({}))),Ot=()=>bt((()=>Qe({}))),jt=()=>bt((()=>{Pe({}),e=!1})),kt=()=>bt((()=>{Be({}),t=!1})),At=(e,t)=>{if(-1==a)return;Mt();const l=e();return Nt(t),l},Mt=()=>(a++,Pt),Nt=e=>(a>0&&(a--,0==a&&(n=!I(W),s=!I(q),a=1,ft(1),n&&Tt(1),vt(1),s&>(1),a=-1,(null==e?void 0:e(j(W,(e=>j(e,(e=>j(e,(e=>[...e]),(([e,t])=>e===t))),X)),X),j(H,(e=>j(e,j))),j(q,(e=>[...e]),(([e,t])=>e===t)),j(se)))&&(a=1,C(W,((e,t)=>C(e,((e,l)=>C(e,(([e],n)=>((e,t,l,n,s)=>y(s)?e.delCell(t,l,n,!0):e.setCell(t,l,n,s))(Pt,t,l,n,e))))))),C(q,(([e],t)=>((e,t,l)=>y(l)?e.delValue(t):e.setValue(t,l))(Pt,t,e))),a=-1,n=s=!1),Le(Ce[0],void 0,n,s),ft(0),n&&Tt(0),vt(0),s&>(0),Le(Ce[1],void 0,n,s),a=0,d([b,V,B,W,H,$,q,se],R))),Pt),Pt={getTables:Vt,getTableIds:yt,getTable:e=>j(F(ce,i(e)),j),getRowIds:St,getSortedRowIds:pt,getRow:(e,t)=>j(F(F(ce,i(e)),i(t))),getCellIds:wt,getCell:mt,getValues:It,getValueIds:Rt,getValue:Ct,hasTables:()=>!I(ce),hasTable:e=>m(ce,i(e)),hasRow:(e,t)=>m(F(ce,i(e)),i(t)),hasCell:(e,t,l)=>m(F(F(ce,i(e)),i(t)),i(l)),hasValues:()=>!I(fe),hasValue:e=>m(fe,i(e)),getTablesJson:()=>T(ce),getValuesJson:()=>T(fe),getJson:()=>T([ce,fe]),getTablesSchemaJson:()=>T(re),getValuesSchemaJson:()=>T(oe),getSchemaJson:()=>T([re,oe]),setTables:Jt,setTable:(e,t)=>bt((e=>ze(t,e)?$e(e,t):0),e),setRow:(e,t,l)=>bt(((e,t)=>Oe(e,t,l)?qe(e,Ye(e),t,l):0),e,t),addRow:(e,t,l=!0)=>At((()=>{let n;return Oe(e,n,t)&&(e=i(e),qe(e,Ye(e),n=Xe(e,l?1:0),t)),n})),setPartialRow:(e,t,l)=>bt(((e,t)=>{if(Oe(e,t,l,1)){const n=Ye(e);U(l,((l,s)=>He(e,n,t,s,l)))}}),e,t),setCell:(e,t,l,n)=>bt(((e,t,l)=>S(je(e,t,l,w(n)?n(mt(e,t,l)):n),(n=>He(e,Ye(e),t,l,n)))),e,t,l),setValues:Lt,setPartialValues:e=>bt((()=>ke(e,1)?U(e,((e,t)=>Ue(t,e))):0)),setValue:(e,t)=>bt((e=>S(Ae(e,w(t)?t(Ct(e)):t),(t=>Ue(e,t)))),e),setTablesJson:Et,setValuesJson:e=>{try{Ke(g(e))}catch(e){}return Pt},setJson:e=>{try{const[t,l]=g(e);De(t),Ke(l)}catch(t){Et(e)}return Pt},setTablesSchema:Ft,setValuesSchema:xt,setSchema:(e,t)=>bt((()=>{Ft(e),xt(t)})),delTables:zt,delTable:e=>bt((e=>m(ce,e)?Ze(e):0),e),delRow:(e,t)=>bt(((e,t)=>S(F(ce,e),(l=>m(l,t)?_e(e,l,t):0))),e,t),delCell:(e,t,l,n)=>bt(((e,t,l)=>S(F(ce,e),(s=>S(F(s,t),(r=>m(r,l)?et(e,s,t,r,l,n):0))))),e,t,l),delValues:Ot,delValue:e=>bt((e=>m(fe,e)?tt(e):0),e),delTablesSchema:jt,delValuesSchema:kt,delSchema:()=>bt((()=>{jt(),kt()})),transaction:At,startTransaction:Mt,finishTransaction:Nt,forEachTable:e=>C(ce,((t,l)=>e(l,(e=>C(t,((t,l)=>e(l,(e=>x(t,e))))))))),forEachRow:(e,t)=>C(F(ce,i(e)),((e,l)=>t(l,(t=>x(e,t))))),forEachCell:(e,t,l)=>x(F(F(ce,i(e)),i(t)),l),forEachValue:e=>x(fe,e),addSortedRowIdsListener:(e,t,l,n,s,r,a)=>{let o=pt(e,t,l,n,s);return Je((()=>{const a=pt(e,t,l,n,s);var u,i,d;i=o,f(u=a)===f(i)&&(d=(e,t)=>i[t]===e,u.every(d))||(o=a,r(Pt,e,t,l,n,s,o))}),be[a?1:0],[e,t],[yt])},addWillFinishTransactionListener:e=>Je(e,Ce[0]),addDidFinishTransactionListener:e=>Je(e,Ce[1]),callListener:e=>(Fe(e),Pt),delListener:e=>(Ee(e),Pt),getListenerStats:()=>({}),createStore:ne};return U({Tables:[0,ve],TableIds:[0,he],Table:[1,Te,[yt]],RowIds:[1,ge,[yt]],Row:[2,Ve,[yt,St]],CellIds:[2,ye,[yt,St]],Cell:[3,Se,[yt,St,wt],e=>Y(mt(...e))],InvalidCell:[3,pe],Values:[0,me],ValueIds:[0,Ie],Value:[1,Re,[Rt],e=>Y(Ct(e[0]))],InvalidValue:[1,we]},(([e,t,l,n],s)=>{Pt["add"+s+"Listener"]=(...s)=>Je(s[e],t[s[e+1]?1:0],e>0?v(s,0,e):void 0,l,n)})),G(Pt)};e.createStore=ne},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,l="",n=t(l),s=t(!0),a=t(0),r=t(t),o="type",u="default",i=e=>l+e,d=(e,t)=>e.forEach(t),c=(e,t)=>e.map(t),f=e=>e.length,v=(e,t,l)=>e.slice(t,l),h=(e,...t)=>e.push(...t),T=e=>JSON.stringify(e,((e,t)=>{return V(t,Map)?(l=(e,[t,l])=>(e[t]=l,e),n={},[...t].reduce(l,n)):t;var l,n})),g=JSON.parse,b=isFinite,V=(e,t)=>e instanceof t,y=e=>null==e,S=(e,t,l)=>y(e)?null==l?void 0:l():t(e),p=e=>e==n||e==s,w=e=>t(e)==r,m=(e,t)=>{var l;return null!=(l=null==e?void 0:e.has(t))&&l},I=e=>y(e)||0==(e=>e.size)(e),R=e=>e.clear(),C=(e,t)=>null==e?void 0:e.forEach(t),J=(e,t)=>null==e?void 0:e.delete(t),L=e=>new Map(e),E=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},F=(e,t)=>null==e?void 0:e.get(t),x=(e,t)=>C(e,((e,l)=>t(l,e))),z=(e,t,l)=>y(l)?(J(e,t),e):null==e?void 0:e.set(t,l),O=(e,t,l)=>(m(e,t)||z(e,t,l()),F(e,t)),j=(e,t,l)=>{const n={},s=null!=t?t:e=>e;return C(e,((e,t)=>S(s(e),(e=>(null==l?void 0:l(e))?0:n[t]=e)))),n},k=(e,t)=>{const l=L(),n=null!=t?t:e=>e;return C(e,((e,t)=>l.set(t,n(e)))),l},A=e=>k(e,k),M=(e,t,l,n,s=0)=>S((l?O:F)(e,t[s],s>f(t)-2?l:L),(a=>{if(s>f(t)-2)return(null==n?void 0:n(a))&&z(e,t[s]),a;const r=M(a,t,l,n,s+1);return I(a)&&z(e,t[s]),r})),N=e=>new Set(Array.isArray(e)||y(e)?e:[e]),P=(e,t)=>null==e?void 0:e.add(t),B=/^\d+$/,D=()=>{const e=[];let t=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:l+t++},t=>{B.test(t)&&f(e)<1e3&&h(e,t)}]},W=Object,$=W.keys,q=W.isFrozen,G=W.freeze,H=e=>V(e,W)&&e.constructor==W,K=(e,t)=>!y(((e,t)=>S(e,(e=>e[t])))(e,t)),Q=(e,t)=>delete e[t],U=(e,t)=>c(W.entries(e),(([e,l])=>t(l,e))),X=e=>{return H(e)&&(t=$(e),0==f(t));var t},Y=e=>[e,e],Z=()=>[L(),L()],_=e=>{const l=t(e);return p(l)||l==a&&b(e)?l:void 0},ee=(e,t,l,n=z)=>(U(t,((t,n)=>l(e,n,t))),x(e,(l=>K(t,l)?0:n(e,l))),e),te=(e,t,l)=>y(e)||!H(e)||X(e)||q(e)?(null==l||l(),!1):(U(e,((l,n)=>{t(l,n)||Q(e,n)})),!X(e)),le=(e,t,l)=>z(e,t,F(e,t)==-l?void 0:l),ne=()=>{let e,t,n,s,r=0;const b=L(),V=L(),B=L(),W=L(),$=L(),q=L(),H=L(),se=L(),ae=L(),re=L(),oe=L(),ue=L(),ie=N(),de=L(),ce=L(),fe=L(),ve=Z(),he=Z(),Te=Z(),ge=Z(),be=Z(),Ve=Z(),ye=Z(),Se=Z(),pe=Z(),we=Z(),me=Z(),Ie=Z(),Re=Z(),Ce=Z(),[Je,Le,Ee,Fe]=(e=>{let t;const[n,s]=D(),a=L();return[(e,s,r,o=[],u=(()=>[]))=>{null!=t||(t=Pt);const i=n(1);return z(a,i,[e,s,r,o,u]),P(M(s,null!=r?r:[l],N),i),i},(e,n,...s)=>d(((e,t=[l])=>{const n=[],s=(e,l)=>l==f(t)?h(n,e):null===t[l]?C(e,(e=>s(e,l+1))):d([t[l],null],(t=>s(F(e,t),l+1)));return s(e,0),n})(e,n),(e=>C(e,(e=>F(a,e)[0](t,...null!=n?n:[],...s))))),e=>S(F(a,e),(([,t,n])=>(M(t,null!=n?n:[l],void 0,(t=>(J(t,e),I(t)?1:0))),z(a,e),s(e),n))),e=>S(F(a,e),(([e,,l=[],n,s])=>{const a=(...r)=>{var o,u;const i=f(r);i==f(l)?e(t,...r,...s(r)):y(l[i])?d(null!=(u=null==(o=n[i])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,l[i])};a()}))]})(),xe=e=>{if(!te(e,((e,t)=>[o,u].includes(t))))return!1;const t=e.type;return!(!p(t)&&t!=a||(_(e.default)!=t&&Q(e,u),0))},ze=(t,l)=>(!e||m(ae,l)||ut(l))&&te(t,((e,t)=>Oe(l,t,e)),(()=>ut(l))),Oe=(e,t,l,n)=>te(n?l:Me(l,e,t),((n,s)=>S(je(e,t,s,n),(e=>(l[s]=e,!0)),(()=>!1))),(()=>ut(e,t))),je=(t,l,n,s)=>e?S(F(F(ae,t),n),(e=>_(s)!=e.type?ut(t,l,n,s,e.default):s),(()=>ut(t,l,n,s))):y(_(s))?ut(t,l,n,s):s,ke=(e,t)=>te(t?e:Ne(e),((t,l)=>S(Ae(l,t),(t=>(e[l]=t,!0)),(()=>!1))),(()=>it())),Ae=(e,l)=>t?S(F(oe,e),(t=>_(l)!=t.type?it(e,l,t.default):l),(()=>it(e,l))):y(_(l))?it(e,l):l,Me=(e,t,l)=>(S(F(re,t),(([n,s])=>{C(n,((t,l)=>{K(e,l)||(e[l]=t)})),C(s,(n=>{K(e,n)||ut(t,l,n)}))})),e),Ne=e=>(t&&(C(ue,((t,l)=>{K(e,l)||(e[l]=t)})),C(ie,(t=>{K(e,t)||it(t)}))),e),Pe=e=>ee(ae,e,((e,t,l)=>{const n=L(),s=N();ee(O(ae,t,L),l,((e,t,l)=>{z(e,t,l),S(l.default,(e=>z(n,t,e)),(()=>P(s,t)))})),z(re,t,[n,s])}),((e,t)=>{z(ae,t),z(re,t)})),Be=e=>ee(oe,e,((e,t,l)=>{z(oe,t,l),S(l.default,(e=>z(ue,t,e)),(()=>P(ie,t)))}),((e,t)=>{z(oe,t),z(ue,t),J(ie,t)})),De=e=>X(e)?zt():Jt(e),We=e=>ee(ce,e,((e,t,l)=>$e(t,l)),((e,t)=>Ze(t))),$e=(e,t)=>ee(O(ce,e,(()=>(lt(e,1),L()))),t,((t,l,n)=>qe(e,t,l,n)),((t,l)=>_e(e,t,l))),qe=(e,t,l,n,s)=>ee(O(t,l,(()=>(nt(e,l,1),L()))),n,((t,n,s)=>Ge(e,l,t,n,s)),((n,a)=>et(e,t,l,n,a,s))),Ge=(e,t,l,n,s)=>{m(l,n)||st(e,t,n,1);const a=F(l,n);s!==a&&(at(e,t,n,a,s),z(l,n,s))},He=(e,t,l,n,s)=>S(F(t,l),(t=>Ge(e,l,t,n,s)),(()=>qe(e,t,l,Me({[n]:s},e,l)))),Ke=e=>X(e)?Ot():Lt(e),Qe=e=>ee(fe,e,((e,t,l)=>Ue(t,l)),((e,t)=>tt(t))),Ue=(e,t)=>{m(fe,e)||rt(e,1);const l=F(fe,e);t!==l&&(ot(e,l,t),z(fe,e,t))},Xe=(e,t)=>{const[l]=O(de,e,D),n=l(t);return m(F(ce,e),n)?Xe(e,t):n},Ye=e=>{var t;return null!=(t=F(ce,e))?t:$e(e,{})},Ze=e=>$e(e,{}),_e=(e,t,l)=>{const[,n]=O(de,e,D);n(l),qe(e,t,l,{},!0)},et=(e,t,l,n,s,a)=>{var r;const o=F(null==(r=F(re,e))?void 0:r[0],s);if(!y(o)&&!a)return Ge(e,l,n,s,o);const u=t=>{at(e,l,t,F(n,t)),st(e,l,t,-1),z(n,t)};y(o)?u(s):x(n,u),I(n)&&(nt(e,l,-1),I(z(t,l))&&(lt(e,-1),z(ce,e),z(de,e)))},tt=e=>{const t=F(ue,e);if(!y(t))return Ue(e,t);ot(e,F(fe,e)),rt(e,-1),z(fe,e)},lt=(e,t)=>le(b,e,t),nt=(e,t,l)=>le(O(V,e,L),t,l),st=(e,t,l,n)=>le(O(O(B,e,L),t,L),l,n),at=(e,t,l,n,s)=>O(O(O(W,e,L),t,L),l,(()=>[n,0]))[1]=s,rt=(e,t)=>le($,e,t),ot=(e,t,l)=>O(q,e,(()=>[t,0]))[1]=l,ut=(e,t,l,n,s)=>(h(O(O(O(H,e,L),t,L),l,(()=>[])),n),s),it=(e,t,l)=>(h(O(se,e,(()=>[])),t),l),dt=(e,t,l)=>S(F(F(F(W,e),t),l),(([e,t])=>[!0,e,t]),(()=>[!1,...Y(mt(e,t,l))])),ct=e=>S(F(q,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Y(Ct(e))])),ft=e=>I(H)||I(pe[e])?0:C(e?k(H,A):H,((t,l)=>C(t,((t,n)=>C(t,((t,s)=>Le(pe[e],[l,n,s],t))))))),vt=e=>I(se)||I(we[e])?0:C(e?k(se):se,((t,l)=>Le(we[e],[l],t))),ht=(e,t,l)=>{if(!I(t))return Le(e,l),1},Tt=e=>{const t=I(be[e]),l=I(ye[e])&&I(ge[e])&&t&&I(he[e]),n=I(Se[e])&&I(Ve[e])&&I(Te[e])&&I(ve[e]);if(!l||!n){const s=e?[k(b),A(V),k(B,A),k(W,A)]:[b,V,B,W];if(!l){C(s[2],((t,l)=>C(t,((t,n)=>ht(ye[e],t,[l,n])))));const l=N();C(s[1],((n,s)=>{ht(ge[e],n,[s])&&!t&&(Le(be[e],[s,null]),P(l,s))})),t||C(s[3],((t,n)=>{if(!m(l,n)){const l=N();C(t,(e=>C(e,(([t,n],s)=>n!==t?P(l,s):J(e,s))))),C(l,(t=>Le(be[e],[n,t])))}})),ht(he[e],s[0])}if(!n){let t;C(s[3],((l,n)=>{let s;C(l,((l,a)=>{let r;C(l,(([l,o],u)=>{o!==l&&(Le(Se[e],[n,a,u],o,l,dt),t=s=r=1)})),r&&Le(Ve[e],[n,a],dt)})),s&&Le(Te[e],[n],dt)})),t&&Le(ve[e],void 0,dt)}}},gt=e=>{const t=I(Ie[e]),l=I(Re[e])&&I(me[e]);if(!t||!l){const n=e?[k($),k(q)]:[$,q];if(t||ht(Ie[e],n[0]),!l){let t;C(n[1],(([l,n],s)=>{n!==l&&(Le(Re[e],[s],n,l,ct),t=1)})),t&&Le(me[e],void 0,ct)}}},bt=(e,...t)=>(At((()=>e(...c(t,i)))),Pt),Vt=()=>j(ce,(e=>j(e,j))),yt=()=>E(ce),St=e=>E(F(ce,i(e))),pt=(e,t,l,n=0,s)=>{return c(v((r=F(ce,i(e)),o=(e,l)=>[y(t)?l:F(e,i(t)),l],a=([e],[t])=>(e<t?-1:1)*(l?-1:1),c([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,t])=>o(t,e))).sort(a)),n,y(s)?s:n+s),(([,e])=>e));var a,r,o,u},wt=(e,t)=>E(F(F(ce,i(e)),i(t))),mt=(e,t,l)=>F(F(F(ce,i(e)),i(t)),i(l)),It=()=>j(fe),Rt=()=>E(fe),Ct=e=>F(fe,i(e)),Jt=e=>bt((()=>(e=>te(e,ze,ut))(e)?We(e):0)),Lt=e=>bt((()=>ke(e)?Qe(e):0)),Et=e=>{try{De(g(e))}catch(e){}return Pt},Ft=t=>bt((()=>{if((e=te(t,(e=>te(e,xe))))&&(Pe(t),!I(ce))){const e=Vt();zt(),Jt(e)}})),xt=e=>bt((()=>{if(t=(e=>te(e,xe))(e)){const l=It();kt(),Ot(),t=!0,Be(e),Lt(l)}})),zt=()=>bt((()=>We({}))),Ot=()=>bt((()=>Qe({}))),jt=()=>bt((()=>{Pe({}),e=!1})),kt=()=>bt((()=>{Be({}),t=!1})),At=(e,t)=>{if(-1==r)return;Mt();const l=e();return Nt(t),l},Mt=()=>(r++,Pt),Nt=e=>(r>0&&(r--,0==r&&(n=!I(W),s=!I(q),r=1,ft(1),n&&Tt(1),vt(1),s&>(1),r=-1,(null==e?void 0:e(j(W,(e=>j(e,(e=>j(e,(e=>[...e]),(([e,t])=>e===t))),X)),X),j(H,(e=>j(e,j))),j(q,(e=>[...e]),(([e,t])=>e===t)),j(se)))&&(r=1,C(W,((e,t)=>C(e,((e,l)=>C(e,(([e],n)=>((e,t,l,n,s)=>y(s)?e.delCell(t,l,n,!0):e.setCell(t,l,n,s))(Pt,t,l,n,e))))))),C(q,(([e],t)=>((e,t,l)=>y(l)?e.delValue(t):e.setValue(t,l))(Pt,t,e))),r=-1,n=s=!1),Le(Ce[0],void 0,n,s),ft(0),n&&Tt(0),vt(0),s&>(0),Le(Ce[1],void 0,n,s),r=0,d([b,V,B,W,H,$,q,se],R))),Pt),Pt={getTables:Vt,getTableIds:yt,getTable:e=>j(F(ce,i(e)),j),getRowIds:St,getSortedRowIds:pt,getRow:(e,t)=>j(F(F(ce,i(e)),i(t))),getCellIds:wt,getCell:mt,getValues:It,getValueIds:Rt,getValue:Ct,hasTables:()=>!I(ce),hasTable:e=>m(ce,i(e)),hasRow:(e,t)=>m(F(ce,i(e)),i(t)),hasCell:(e,t,l)=>m(F(F(ce,i(e)),i(t)),i(l)),hasValues:()=>!I(fe),hasValue:e=>m(fe,i(e)),getTablesJson:()=>T(ce),getValuesJson:()=>T(fe),getJson:()=>T([ce,fe]),getTablesSchemaJson:()=>T(ae),getValuesSchemaJson:()=>T(oe),getSchemaJson:()=>T([ae,oe]),setTables:Jt,setTable:(e,t)=>bt((e=>ze(t,e)?$e(e,t):0),e),setRow:(e,t,l)=>bt(((e,t)=>Oe(e,t,l)?qe(e,Ye(e),t,l):0),e,t),addRow:(e,t,l=!0)=>At((()=>{let n;return Oe(e,n,t)&&(e=i(e),qe(e,Ye(e),n=Xe(e,l?1:0),t)),n})),setPartialRow:(e,t,l)=>bt(((e,t)=>{if(Oe(e,t,l,1)){const n=Ye(e);U(l,((l,s)=>He(e,n,t,s,l)))}}),e,t),setCell:(e,t,l,n)=>bt(((e,t,l)=>S(je(e,t,l,w(n)?n(mt(e,t,l)):n),(n=>He(e,Ye(e),t,l,n)))),e,t,l),setValues:Lt,setPartialValues:e=>bt((()=>ke(e,1)?U(e,((e,t)=>Ue(t,e))):0)),setValue:(e,t)=>bt((e=>S(Ae(e,w(t)?t(Ct(e)):t),(t=>Ue(e,t)))),e),setTablesJson:Et,setValuesJson:e=>{try{Ke(g(e))}catch(e){}return Pt},setJson:e=>{try{const[t,l]=g(e);De(t),Ke(l)}catch(t){Et(e)}return Pt},setTablesSchema:Ft,setValuesSchema:xt,setSchema:(e,t)=>bt((()=>{Ft(e),xt(t)})),delTables:zt,delTable:e=>bt((e=>m(ce,e)?Ze(e):0),e),delRow:(e,t)=>bt(((e,t)=>S(F(ce,e),(l=>m(l,t)?_e(e,l,t):0))),e,t),delCell:(e,t,l,n)=>bt(((e,t,l)=>S(F(ce,e),(s=>S(F(s,t),(a=>m(a,l)?et(e,s,t,a,l,n):0))))),e,t,l),delValues:Ot,delValue:e=>bt((e=>m(fe,e)?tt(e):0),e),delTablesSchema:jt,delValuesSchema:kt,delSchema:()=>bt((()=>{jt(),kt()})),transaction:At,startTransaction:Mt,finishTransaction:Nt,forEachTable:e=>C(ce,((t,l)=>e(l,(e=>C(t,((t,l)=>e(l,(e=>x(t,e))))))))),forEachRow:(e,t)=>C(F(ce,i(e)),((e,l)=>t(l,(t=>x(e,t))))),forEachCell:(e,t,l)=>x(F(F(ce,i(e)),i(t)),l),forEachValue:e=>x(fe,e),addSortedRowIdsListener:(e,t,l,n,s,a,r)=>{let o=pt(e,t,l,n,s);return Je((()=>{const r=pt(e,t,l,n,s);var u,i,d;i=o,f(u=r)===f(i)&&(d=(e,t)=>i[t]===e,u.every(d))||(o=r,a(Pt,e,t,l,n,s,o))}),be[r?1:0],[e,t],[yt])},addWillFinishTransactionListener:e=>Je(e,Ce[0]),addDidFinishTransactionListener:e=>Je(e,Ce[1]),callListener:e=>(Fe(e),Pt),delListener:e=>(Ee(e),Pt),getListenerStats:()=>({}),createStore:ne};return U({Tables:[0,ve],TableIds:[0,he],Table:[1,Te,[yt]],RowIds:[1,ge,[yt]],Row:[2,Ve,[yt,St]],CellIds:[2,ye,[yt,St]],Cell:[3,Se,[yt,St,wt],e=>Y(mt(...e))],InvalidCell:[3,pe],Values:[0,me],ValueIds:[0,Ie],Value:[1,Re,[Rt],e=>Y(Ct(e[0]))],InvalidValue:[1,we]},(([e,t,l,n],s)=>{Pt["add"+s+"Listener"]=(...s)=>Je(s[e],t[s[e+1]?1:0],e>0?v(s,0,e):void 0,l,n)})),G(Pt)};e.createStore=ne},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
|
package/lib/umd-es6/store.js.gz
CHANGED
|
Binary file
|
package/lib/umd-es6/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t){"use strict";const n=e=>typeof e,l="",s=n(l),o=n(!0),r=n(0),a=n(n),i="default",d="utf8",c="Listener",u="Result",v="add",h="Table",f="RowIds",g="Cell",p="CellIds",y=e=>l+e,L=(e,t)=>e.includes(t),w=(e,t)=>e.every(t),S=(e,t)=>C(e)===C(t)&&w(e,((e,n)=>t[n]===e)),I=(e,t)=>w(e,((n,l)=>0==l||t(e[l-1],n)<=0)),R=(e,t)=>e.sort(t),T=(e,t)=>e.forEach(t),b=(e,t)=>e.map(t),m=e=>x(e,((e,t)=>e+t),0),C=e=>e.length,V=e=>0==C(e),x=(e,t,n)=>e.reduce(t,n),E=(e,t,n)=>e.slice(t,n),P=(e,...t)=>e.push(...t),k=e=>e.pop(),J=e=>e.shift(),M=e=>JSON.stringify(e,((e,t)=>j(t,Map)?x([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),A=JSON.parse,D=Math.max,O=Math.min,F=isFinite,j=(e,t)=>e instanceof t,Q=e=>null==e,z=(e,t,n)=>Q(e)?null==n?void 0:n():t(e),N=e=>e==s||e==o,W=e=>n(e)==a,B=e=>Array.isArray(e),q=()=>{},H=e=>e.size,$=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},G=e=>Q(e)||0==H(e),K=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},U=e=>e.clear(),X=(e,t)=>null==e?void 0:e.forEach(t),Y=(e,t)=>null==e?void 0:e.delete(t),Z=e=>new Map(e),_=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},ee=(e,t)=>null==e?void 0:e.get(t),te=(e,t)=>X(e,((e,n)=>t(n,e))),ne=(e,t,n)=>Q(n)?(Y(e,t),e):null==e?void 0:e.set(t,n),le=(e,t,n)=>($(e,t)||ne(e,t,n()),ee(e,t)),se=(e,t,n)=>{const l={},s=null!=t?t:e=>e;return X(e,((e,t)=>z(s(e),(e=>(null==n?void 0:n(e))?0:l[t]=e)))),l},oe=(e,t)=>{const n=Z(),l=null!=t?t:e=>e;return X(e,((e,t)=>n.set(t,l(e)))),n},re=e=>oe(e,oe),ae=(e,t,n,l,s=0)=>z((n?le:ee)(e,t[s],s>C(t)-2?n:Z),(o=>{if(s>C(t)-2)return(null==l?void 0:l(o))&&ne(e,t[s]),o;const r=ae(o,t,n,l,s+1);return G(o)&&ne(e,t[s]),r})),ie=e=>{const t=n(e);return N(t)||t==r&&F(e)?t:void 0},de=(e,t,n,l,s)=>Q(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),ce=(e,t,n)=>Q(n)?e.delValue(t):e.setValue(t,n),ue=e=>new Set(B(e)||Q(e)?e:[e]),ve=(e,t)=>null==e?void 0:e.add(t),he=(e,t,n)=>{const l=e.hasRow,s=Z(),o=Z(),r=Z(),a=Z(),i=Z(),d=(t,n,...l)=>{const s=le(i,t,ue);return T(l,(t=>ve(s,t)&&n&&e.callListener(t))),l},c=(t,...n)=>z(ee(i,t),(l=>{T(V(n)?K(l):n,(t=>{e.delListener(t),Y(l,t)})),G(l)&&ne(i,t)})),u=(e,n)=>{ne(s,e,n),$(o,e)||(ne(o,e,t()),ne(r,e,Z()),ne(a,e,Z()))},v=e=>{ne(s,e),ne(o,e),ne(r,e),ne(a,e),c(e)};return[()=>e,()=>_(s),e=>te(o,e),e=>$(o,e),e=>ee(s,e),e=>ee(o,e),(e,t)=>ne(o,e,t),u,(t,s,o,i,v)=>{u(t,s);const h=Z(),f=Z(),g=ee(r,t),p=ee(a,t),y=t=>{const o=n=>e.getCell(s,t,n),r=ee(g,t),a=l(s,t)?n(i(o,t)):void 0;if(r===a||B(r)&&B(a)&&S(r,a)||ne(h,t,[r,a]),!Q(v)){const e=ee(p,t),n=l(s,t)?v(o,t):void 0;e!=n&&ne(f,t,n)}},L=e=>{o((()=>{X(h,(([,e],t)=>ne(g,t,e))),X(f,((e,t)=>ne(p,t,e)))}),h,f,g,p,e),U(h),U(f)};te(g,y),e.hasTable(s)&&T(e.getRowIds(s),(e=>{$(g,e)||y(e)})),L(!0),c(t),d(t,0,e.addRowListener(s,null,((e,t,n)=>y(n))),e.addTableListener(s,(()=>L())))},v,()=>te(i,v),d,c]},fe=(e,t)=>n(e)==s?t=>t(e):null!=e?e:()=>null!=t?t:l,ge=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},pe=/^\d+$/,ye=()=>{const e=[];let t=0;return[n=>{var s;return null!=(s=n?J(e):null)?s:l+t++},t=>{pe.test(t)&&C(e)<1e3&&P(e,t)}]},Le=e=>{let t;const[n,s]=ye(),o=Z();return[(s,r,a,i=[],d=(()=>[]))=>{null!=t||(t=e());const c=n(1);return ne(o,c,[s,r,a,i,d]),ve(ae(r,null!=a?a:[l],ue),c),c},(e,n,...s)=>T(((e,t=[l])=>{const n=[],s=(e,l)=>l==C(t)?P(n,e):null===t[l]?X(e,(e=>s(e,l+1))):T([t[l],null],(t=>s(ee(e,t),l+1)));return s(e,0),n})(e,n),(e=>X(e,(e=>ee(o,e)[0](t,...null!=n?n:[],...s))))),e=>z(ee(o,e),(([,t,n])=>(ae(t,null!=n?n:[l],void 0,(t=>(Y(t,e),G(t)?1:0))),ne(o,e),s(e),n))),e=>z(ee(o,e),(([e,,n=[],l,s])=>{const o=(...r)=>{var a,i;const d=C(r);d==C(n)?e(t,...r,...s(r)):Q(n[d])?T(null!=(i=null==(a=l[d])?void 0:a.call(l,...r))?i:[],(e=>o(...r,e))):o(...r,n[d])};o()}))]},we=Object,Se=we.keys,Ie=we.isFrozen,Re=we.freeze,Te=e=>j(e,we)&&e.constructor==we,be=(e,t)=>!Q(((e,t)=>z(e,(e=>e[t])))(e,t)),me=(e,t)=>delete e[t],Ce=(e,t)=>b(we.entries(e),(([e,n])=>t(n,e))),Ve=e=>Te(e)&&V(Se(e)),xe=ge((e=>{let t,n,s,o=100,r=Z(),a=Z(),i=1;const d=Z(),c=Z(),[u,v,h]=Le((()=>W)),f=Z(),g=Z(),p=[],y=[],w=(t,n)=>{i=0,e.transaction((()=>{const[l,s]=ee(f,n);X(l,((n,l)=>X(n,((n,s)=>X(n,((n,o)=>de(e,l,s,o,n[t]))))))),X(s,((n,l)=>ce(e,l,n[t])))})),i=1},S=e=>{ne(f,e),ne(g,e),v(c,[e])},I=(e,t)=>T(((e,t)=>e.splice(0,t))(e,null!=t?t:C(e)),S),R=()=>I(p,C(p)-o),b=()=>z(t,(()=>{P(p,t),R(),I(y),t=void 0,s=1})),m=()=>{t=k(p),s=1},x=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(i){b();const e=le(r,t,Z),a=le(e,n,Z),i=le(a,l,(()=>[o,void 0]));i[1]=s,i[0]===s&&G(ne(a,l))&&G(ne(e,n))&&G(ne(r,t))&&m(),O()}})),E=e.addValueListener(null,((e,t,n,l)=>{if(i){b();const e=le(a,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&G(ne(a,t))&&m(),O()}})),M=(e="")=>(Q(t)&&(t=l+n++,ne(f,t,[r,a]),j(t,e),r=Z(),a=Z(),s=1),t),A=()=>{V(p)||(((e,...t)=>{e.unshift(...t)})(y,M()),w(0,t),t=k(p),s=1)},D=()=>{V(y)||(P(p,t),t=J(y),w(1,t),s=1)},O=()=>{s&&(v(d),s=0)},F=e=>{const t=M(e);return O(),t},j=(e,t)=>(N(e)&&ee(g,e)!==t&&(ne(g,e,t),v(c,[e])),W),N=e=>$(f,e),W={setSize:e=>(o=e,R(),W),addCheckpoint:F,setCheckpoint:j,getStore:()=>e,getCheckpointIds:()=>[[...p],t,[...y]],forEachCheckpoint:e=>te(g,e),hasCheckpoint:N,getCheckpoint:e=>ee(g,e),goBackward:()=>(A(),O(),W),goForward:()=>(D(),O(),W),goTo:e=>{const n=L(p,e)?A:L(y,e)?D:null;for(;!Q(n)&&e!=t;)n();return O(),W},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),W),clear:()=>(I(p),I(y),Q(t)||S(t),t=void 0,n=0,F(),W),destroy:()=>{e.delListener(x),e.delListener(E)},getListenerStats:()=>({})};return Re(W.clear())})),Ee=(e,t)=>e<t?-1:1,Pe=ge((e=>{const t=Z(),n=Z(),[s,o,r,a,i,d,c,,u,v,h]=he(e,Z,(e=>Q(e)?l:B(e)?b(e,y):y(e))),[f,g,p]=Le((()=>w)),L=(t,n,l)=>{const s=i(t);X(l,((t,l)=>n(l,(n=>X(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},w={setIndexDefinition:(e,l,s,o,r,a=Ee)=>{const i=Q(r)?void 0:([e],[t])=>r(e,t);return u(e,l,((l,s,r,u,v,h)=>{let f=0;const p=ue(),y=ue(),L=d(e);if(X(s,(([e,t],n)=>{const l=ue(e),s=ue(t);X(l,(e=>Y(s,e)?Y(l,e):0)),X(l,(e=>{ve(p,e),z(ee(L,e),(t=>{Y(t,n),G(t)&&(ne(L,e),f=1)}))})),X(s,(e=>{ve(p,e),$(L,e)||(ne(L,e,ue()),f=1),ve(ee(L,e),n),Q(o)||ve(y,e)}))})),l(),G(v)||(h?te(L,(e=>ve(y,e))):te(r,(e=>z(ee(u,e),(e=>ve(y,e))))),X(y,(e=>{const t=(t,n)=>a(ee(v,t),ee(v,n),e),n=[...ee(L,e)];I(n,t)||(ne(L,e,ue(R(n,t))),ve(p,e))}))),(f||h)&&!Q(i)){const t=[...L];I(t,i)||(c(e,Z(R(t,i))),f=1)}f&&g(t,[e]),X(p,(t=>g(n,[e,t])))}),fe(s),z(o,fe)),w},delIndexDefinition:e=>(v(e),w),getStore:s,getIndexIds:o,forEachIndex:e=>r(((t,n)=>e(t,(e=>L(t,e,n))))),forEachSlice:(e,t)=>L(e,t,d(e)),hasIndex:a,hasSlice:(e,t)=>$(d(e),t),getTableId:i,getSliceIds:e=>_(d(e)),getSliceRowIds:(e,t)=>K(ee(d(e),t)),addSliceIdsListener:(e,n)=>f(n,t,[e]),addSliceRowIdsListener:(e,t,l)=>f(l,n,[e,t]),delListener:e=>(p(e),w),destroy:h,getListenerStats:()=>({})};return Re(w)})),ke=Z([["avg",[(e,t)=>m(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>D(...e),(e,t)=>D(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:D(t,e)]],["min",[e=>O(...e),(e,t)=>O(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:O(t,e)]],["sum",[e=>m(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Je=(e,t,n,l,s,o=!1)=>{if(G(n))return;const[r,a,i,d]=s;return o||(o=Q(e)),X(l,(([n,l])=>{o||(e=Q(n)?null==a?void 0:a(e,l,t++):Q(l)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=Q(e)))})),o?r(K(n),H(n)):e},Me=ge((e=>{const t=Z(),[n,s,o,r,a,i,d,,c,u,v]=he(e,q,(e=>isNaN(e)||Q(e)||!0===e||!1===e||e===l?void 0:1*e)),[h,f,g]=Le((()=>p)),p={setMetricDefinition:(e,n,l,s,o,r,a)=>{var u;const v=W(l)?[l,o,r,a]:null!=(u=ee(ke,l))?u:ee(ke,"sum");return c(e,n,((n,l,s,o,r,a)=>{const c=i(e),u=H(o);a||(a=Q(c)),n();let h=Je(c,u,o,l,v,a);F(h)||(h=void 0),h!=c&&(d(e,h),f(t,[e],h,c))}),fe(s,1)),p},delMetricDefinition:e=>(u(e),p),getStore:n,getMetricIds:s,forEachMetric:o,hasMetric:r,getTableId:a,getMetric:i,addMetricListener:(e,n)=>h(n,t,[e]),delListener:e=>(g(e),p),destroy:v,getListenerStats:()=>({})};return Re(p)}));var Ae=(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 De=(e,t,n,s,o)=>{let r,a,i=0;const d={load:(n,s)=>Ae(void 0,null,(function*(){if(2!=i){i=1;const o=yield t();Q(o)||o==l?e.transaction((()=>e.setTables(n).setValues(s))):e.setJson(o),i=0}return d})),startAutoLoad:(e,t)=>Ae(void 0,null,(function*(){return d.stopAutoLoad(),yield d.load(e,t),s(d.load),d})),stopAutoLoad:()=>(o(),d),save:()=>Ae(void 0,null,(function*(){return 1!=i&&(i=2,yield n(e.getJson()),i=0),d})),startAutoSave:()=>Ae(void 0,null,(function*(){return yield d.stopAutoSave().save(),r=e.addTablesListener(d.save),a=e.addValuesListener(d.save),d})),stopAutoSave:()=>(z(r,e.delListener),z(a,e.delListener),d),getStore:()=>e,destroy:()=>d.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Re(d)};var Oe=(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 Fe="storage",je=globalThis.window,Qe=(e,t,n)=>{let l;return De(e,(()=>Oe(void 0,null,(function*(){return n.getItem(t)}))),(e=>Oe(void 0,null,(function*(){return n.setItem(t,e)}))),(e=>{l=l=>{l.storageArea===n&&l.key===t&&e()},je.addEventListener(Fe,l)}),(()=>{je.removeEventListener(Fe,l),l=void 0}))};var ze=(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())})),Ne=(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 We=e=>e.headers.get("ETag");var Be=Object.getOwnPropertySymbols,qe=Object.prototype.hasOwnProperty,He=Object.prototype.propertyIsEnumerable;const $e=ge((e=>{const t=e.createStore,[n,s,o,r,a,,,i,,d,y,L,S]=he(e,(()=>!0),q),I=t(),R=t(),b=Z(),m=(e,t,...n)=>T(n,(n=>ve(le(le(b,t,Z),e,ue),n))),x=e=>{z(ee(b,e),(e=>{te(e,((e,t)=>X(t,(t=>e.delListener(t))))),U(e)})),T([R,I],(t=>t.delTable(e)))},k=(e,t,n)=>m(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),J={setQueryDefinition:(t,n,s)=>{i(t,n),x(t);const o=[],r=[[null,[n,null,null,[],Z()]]],a=[],d=[],c=[];s({select:(e,t)=>{const n=W(e)?[C(o)+l,e]:[Q(t)?e:t,n=>n(e,t)];return P(o,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const l=Q(n)||W(t)?null:t,s=Q(l)?t:n,o=[e,[e,l,W(s)?s:e=>e(s),[],Z()]];return P(r,o),{as:e=>o[0]=e}},where:(e,t,n)=>P(a,W(e)?e:Q(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,W(t)?[t,n,l,s]:null!=(o=ee(ke,t))?o:[(e,t)=>t]]];return P(d,r),{as:e=>r[0]=e}},having:(e,t)=>P(c,W(e)?e:n=>n(e)===t)});const u=Z(o);if(G(u))return J;const v=Z(r);te(v,((e,[,t])=>z(ee(v,t),(({3:t})=>Q(e)?0:P(t,e)))));const h=Z(d);let f=I;if(G(h)&&V(c))f=R;else{k(t,f,R);const e=Z();te(h,((t,[n,l])=>ve(le(e,n,ue),[t,l])));const n=ue();te(u,(t=>$(e,t)?0:ve(n,t)));const l=Z(),s=(n,l,s,o)=>z(n,(([r,a,i,d])=>{te(l,((t,[n])=>{const l=le(r,t,Z),a=ee(l,s),i=o?void 0:n;if(a!==i){const n=ue([[a,i]]),o=H(l);ne(l,s,i),X(ee(e,t),(([e,t])=>{const s=Je(d[e],o,l,n,t);d[e]=Q(ie(s))?null:s}))}})),G(a)||!w(c,(e=>e((e=>d[e]))))?R.delRow(t,i):Q(i)?n[2]=R.addRow(t,d):R.setRow(t,i,d)}));m(f,t,f.addRowListener(t,null,((o,r,a,i)=>{const d=[],c=[],u=Z(),v=f.hasRow(t,a);let h=!v;X(n,(e=>{const[n,l,s]=i(t,a,e);P(d,l),P(c,s),h||(h=n)})),te(e,(e=>{const[n,,l]=i(t,a,e);(h||n)&&ne(u,e,[l])})),h&&s(ae(l,d,void 0,(([,e])=>(Y(e,a),G(e)))),u,a,1),v&&s(ae(l,c,(()=>{const e={};return X(n,(n=>e[n]=f.getCell(t,a,n))),[Z(),ue(),void 0,e]}),(([,e])=>{ve(e,a)})),u,a)})))}k(t,e,f);const g=(l,s,o,r)=>{const i=t=>e.getCell(s,o,t);T(r,(n=>{var s;const[o,,r,a,d]=ee(v,n),c=null==r?void 0:r(i,l),[u,h]=null!=(s=ee(d,l))?s:[];c!=u&&(Q(h)||S(t,h),ne(d,l,Q(c)?null:[c,...L(t,1,e.addRowListener(o,c,(()=>g(l,o,c,a))))]))})),(l=>{const s=(t,s)=>{var o,r,a;return e.getCell(...Q(s)?[n,l,t]:t===n?[n,l,s]:[null==(o=ee(v,t))?void 0:o[0],null==(a=ee(null==(r=ee(v,t))?void 0:r[4],l))?void 0:a[0],s])};f.transaction((()=>w(a,(e=>e(s)))?te(u,((e,n)=>de(f,t,l,e,n(s,l)))):f.delRow(t,l)))})(l)},{3:p}=ee(v,null);return f.transaction((()=>L(t,1,e.addRowListener(n,null,((l,s,o)=>{e.hasRow(n,o)?g(o,n,o,p):(f.delRow(t,o),X(v,(({4:e})=>z(ee(e,o),(([,n])=>{S(t,n),ne(e,o)})))))}))))),J},delQueryDefinition:e=>(x(e),d(e),J),getStore:n,getQueryIds:s,forEachQuery:o,hasQuery:r,getTableId:a,delListener:e=>(R.delListener(e),J),destroy:y,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)qe.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&&He.call(e,l)&&(n[l]=e[l]);return n})(R.getListenerStats(),["tables","tableIds","transaction"])};return Ce({[h]:[1,1],[f]:[0,1],SortedRowIds:[0,5],Row:[1,2],[p]:[0,2],[g]:[1,3]},(([e,t],n)=>{T(e?["get","has","forEach"]:["get"],(e=>J[e+u+n]=(...t)=>R[e+n](...t))),J[v+u+n+c]=(...e)=>R[v+n+c](...E(e,0,t),((n,...l)=>e[t](J,...l)))})),Re(J)})),Ge=ge((e=>{const t=Z(),n=Z(),s=Z(),o=Z(),[r,a,i,d,c,u,,,v,h,f]=he(e,(()=>[Z(),Z(),Z(),Z()]),(e=>Q(e)?void 0:e+l)),[g,p,y]=Le((()=>I)),L=(e,t,n)=>z(u(e),(([l,,s])=>{if(!$(s,t)){const o=ue();if(c(e)!=S(e))ve(o,t);else{let e=t;for(;!Q(e)&&!$(o,e);)ve(o,e),e=ee(l,e)}if(n)return o;ne(s,t,o)}return ee(s,t)})),w=(e,t)=>z(u(e),(([,,e])=>ne(e,t))),S=e=>ee(t,e),I={setRelationshipDefinition:(e,l,r,a)=>(ne(t,e,r),v(e,l,((t,l)=>{const r=ue(),a=ue(),i=ue(),[d,c]=u(e);X(l,(([t,n],l)=>{Q(t)||(ve(a,t),z(ee(c,t),(e=>{Y(e,l),G(e)&&ne(c,t)}))),Q(n)||(ve(a,n),$(c,n)||ne(c,n,ue()),ve(ee(c,n),l)),ve(r,l),ne(d,l,n),te(ee(o,e),(t=>{$(L(e,t),l)&&ve(i,t)}))})),t(),X(r,(t=>p(n,[e,t]))),X(a,(t=>p(s,[e,t]))),X(i,(t=>{w(e,t),p(o,[e,t])}))}),fe(a)),I),delRelationshipDefinition:e=>(ne(t,e),h(e),I),getStore:r,getRelationshipIds:a,forEachRelationship:t=>i((n=>t(n,(t=>e.forEachRow(c(n),t))))),hasRelationship:d,getLocalTableId:c,getRemoteTableId:S,getRemoteRowId:(e,t)=>{var n;return ee(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return K(ee(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>Q(u(e))?[t]:K(L(e,t,!0)),addRemoteRowIdListener:(e,t,l)=>g(l,n,[e,t]),addLocalRowIdsListener:(e,t,n)=>g(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(L(e,t),g(n,o,[e,t])),delListener:e=>(w(...y(e)),I),destroy:f,getListenerStats:()=>({})};return Re(I)})),Ke=e=>[e,e],Ue=()=>[Z(),Z()],Xe=(e,t,n,l=ne)=>{const s=(o=e=>!be(t,e),_(e).filter(o));var o;return T(Se(t),(l=>n(e,l,t[l]))),T(s,(t=>l(e,t))),e},Ye=(e,t,n)=>Q(e)||!Te(e)||Ve(e)||Ie(e)?(null==n||n(),!1):(Ce(e,((n,l)=>{t(n,l)||me(e,l)})),!Ve(e)),Ze=(e,t,n)=>ne(e,t,ee(e,t)==-n?void 0:n),_e=()=>{let e,t,n,l,s=0;const o=Z(),a=Z(),d=Z(),u=Z(),w=Z(),I=Z(),m=Z(),C=Z(),V=Z(),x=Z(),k=Z(),J=Z(),D=ue(),O=Z(),F=Z(),j=Z(),B=Ue(),q=Ue(),H=Ue(),K=Ue(),ae=Ue(),he=Ue(),fe=Ue(),ge=Ue(),pe=Ue(),we=Ue(),Se=Ue(),Ie=Ue(),Te=Ue(),xe=Ue(),[Pe,ke,Je,Me]=Le((()=>Kt)),Ae=e=>{if(!Ye(e,((e,t)=>L(["type",i],t))))return!1;const t=e.type;return!(!N(t)&&t!=r||(ie(e.default)!=t&&me(e,i),0))},De=(t,n)=>(!e||$(V,n)||yt(n))&&Ye(t,((e,t)=>Oe(n,t,e)),(()=>yt(n))),Oe=(e,t,n,l)=>Ye(l?n:ze(n,e,t),((l,s)=>z(Fe(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>yt(e,t))),Fe=(t,n,l,s)=>e?z(ee(ee(V,t),l),(e=>ie(s)!=e.type?yt(t,n,l,s,e.default):s),(()=>yt(t,n,l,s))):Q(ie(s))?yt(t,n,l,s):s,je=(e,t)=>Ye(t?e:Ne(e),((t,n)=>z(Qe(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>Lt())),Qe=(e,n)=>t?z(ee(k,e),(t=>ie(n)!=t.type?Lt(e,n,t.default):n),(()=>Lt(e,n))):Q(ie(n))?Lt(e,n):n,ze=(e,t,n)=>(z(ee(x,t),(([l,s])=>{X(l,((t,n)=>{be(e,n)||(e[n]=t)})),X(s,(l=>{be(e,l)||yt(t,n,l)}))})),e),Ne=e=>(t&&(X(J,((t,n)=>{be(e,n)||(e[n]=t)})),X(D,(t=>{be(e,t)||Lt(t)}))),e),We=e=>Xe(V,e,((e,t,n)=>{const l=Z(),s=ue();Xe(le(V,t,Z),n,((e,t,n)=>{ne(e,t,n),z(n.default,(e=>ne(l,t,e)),(()=>ve(s,t)))})),ne(x,t,[l,s])}),((e,t)=>{ne(V,t),ne(x,t)})),Be=e=>Xe(k,e,((e,t,n)=>{ne(k,t,n),z(n.default,(e=>ne(J,t,e)),(()=>ve(D,t)))}),((e,t)=>{ne(k,t),ne(J,t),Y(D,t)})),qe=e=>Ve(e)?Nt():Ot(e),He=e=>Xe(F,e,((e,t,n)=>$e(t,n)),((e,t)=>at(t))),$e=(e,t)=>Xe(le(F,e,(()=>(ut(e,1),Z()))),t,((t,n,l)=>Ge(e,t,n,l)),((t,n)=>it(e,t,n))),Ge=(e,t,n,l,s)=>Xe(le(t,n,(()=>(vt(e,n,1),Z()))),l,((t,l,s)=>et(e,n,t,l,s)),((l,o)=>dt(e,t,n,l,o,s))),et=(e,t,n,l,s)=>{$(n,l)||ht(e,t,l,1);const o=ee(n,l);s!==o&&(ft(e,t,l,o,s),ne(n,l,s))},tt=(e,t,n,l,s)=>z(ee(t,n),(t=>et(e,n,t,l,s)),(()=>Ge(e,t,n,ze({[l]:s},e,n)))),nt=e=>Ve(e)?Wt():Ft(e),lt=e=>Xe(j,e,((e,t,n)=>st(t,n)),((e,t)=>ct(t))),st=(e,t)=>{$(j,e)||gt(e,1);const n=ee(j,e);t!==n&&(pt(e,n,t),ne(j,e,t))},ot=(e,t)=>{const[n]=le(O,e,ye),l=n(t);return $(ee(F,e),l)?ot(e,t):l},rt=e=>{var t;return null!=(t=ee(F,e))?t:$e(e,{})},at=e=>$e(e,{}),it=(e,t,n)=>{const[,l]=le(O,e,ye);l(n),Ge(e,t,n,{},!0)},dt=(e,t,n,l,s,o)=>{var r;const a=ee(null==(r=ee(x,e))?void 0:r[0],s);if(!Q(a)&&!o)return et(e,n,l,s,a);const i=t=>{ft(e,n,t,ee(l,t)),ht(e,n,t,-1),ne(l,t)};Q(a)?i(s):te(l,i),G(l)&&(vt(e,n,-1),G(ne(t,n))&&(ut(e,-1),ne(F,e),ne(O,e)))},ct=e=>{const t=ee(J,e);if(!Q(t))return st(e,t);pt(e,ee(j,e)),gt(e,-1),ne(j,e)},ut=(e,t)=>Ze(o,e,t),vt=(e,t,n)=>Ze(le(a,e,Z),t,n),ht=(e,t,n,l)=>Ze(le(le(d,e,Z),t,Z),n,l),ft=(e,t,n,l,s)=>le(le(le(u,e,Z),t,Z),n,(()=>[l,0]))[1]=s,gt=(e,t)=>Ze(w,e,t),pt=(e,t,n)=>le(I,e,(()=>[t,0]))[1]=n,yt=(e,t,n,l,s)=>(P(le(le(le(m,e,Z),t,Z),n,(()=>[])),l),s),Lt=(e,t,n)=>(P(le(C,e,(()=>[])),t),n),wt=(e,t,n)=>z(ee(ee(ee(u,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(Jt(e,t,n))])),St=e=>z(ee(I,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(Dt(e))])),It=e=>G(m)||G(pe[e])?0:X(e?oe(m,re):m,((t,n)=>X(t,((t,l)=>X(t,((t,s)=>ke(pe[e],[n,l,s],t))))))),Rt=e=>G(C)||G(we[e])?0:X(e?oe(C):C,((t,n)=>ke(we[e],[n],t))),Tt=(e,t,n)=>{if(!G(t))return ke(e,n),1},bt=e=>{const t=G(ae[e]),n=G(fe[e])&&G(K[e])&&t&&G(q[e]),l=G(ge[e])&&G(he[e])&&G(H[e])&&G(B[e]);if(!n||!l){const s=e?[oe(o),re(a),oe(d,re),oe(u,re)]:[o,a,d,u];if(!n){X(s[2],((t,n)=>X(t,((t,l)=>Tt(fe[e],t,[n,l])))));const n=ue();X(s[1],((l,s)=>{Tt(K[e],l,[s])&&!t&&(ke(ae[e],[s,null]),ve(n,s))})),t||X(s[3],((t,l)=>{if(!$(n,l)){const n=ue();X(t,(e=>X(e,(([t,l],s)=>l!==t?ve(n,s):Y(e,s))))),X(n,(t=>ke(ae[e],[l,t])))}})),Tt(q[e],s[0])}if(!l){let t;X(s[3],((n,l)=>{let s;X(n,((n,o)=>{let r;X(n,(([n,a],i)=>{a!==n&&(ke(ge[e],[l,o,i],a,n,wt),t=s=r=1)})),r&&ke(he[e],[l,o],wt)})),s&&ke(H[e],[l],wt)})),t&&ke(B[e],void 0,wt)}}},mt=e=>{const t=G(Ie[e]),n=G(Te[e])&&G(Se[e]);if(!t||!n){const l=e?[oe(w),oe(I)]:[w,I];if(t||Tt(Ie[e],l[0]),!n){let t;X(l[1],(([n,l],s)=>{l!==n&&(ke(Te[e],[s],l,n,St),t=1)})),t&&ke(Se[e],void 0,St)}}},Ct=(e,...t)=>(Ht((()=>e(...b(t,y)))),Kt),Vt=()=>se(F,(e=>se(e,se))),xt=()=>_(F),Et=e=>_(ee(F,y(e))),Pt=(e,t,n,l=0,s)=>{return b(E(R((o=ee(F,y(e)),r=(e,n)=>[Q(t)?n:ee(e,y(t)),n],b([...null!=(a=null==o?void 0:o.entries())?a:[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ee(e,t)*(n?-1:1))),l,Q(s)?s:l+s),(([,e])=>e));var o,r,a},kt=(e,t)=>_(ee(ee(F,y(e)),y(t))),Jt=(e,t,n)=>ee(ee(ee(F,y(e)),y(t)),y(n)),Mt=()=>se(j),At=()=>_(j),Dt=e=>ee(j,y(e)),Ot=e=>Ct((()=>(e=>Ye(e,De,yt))(e)?He(e):0)),Ft=e=>Ct((()=>je(e)?lt(e):0)),jt=e=>{try{qe(A(e))}catch(e){}return Kt},Qt=t=>Ct((()=>{if((e=Ye(t,(e=>Ye(e,Ae))))&&(We(t),!G(F))){const e=Vt();Nt(),Ot(e)}})),zt=e=>Ct((()=>{if(t=(e=>Ye(e,Ae))(e)){const n=Mt();qt(),Wt(),t=!0,Be(e),Ft(n)}})),Nt=()=>Ct((()=>He({}))),Wt=()=>Ct((()=>lt({}))),Bt=()=>Ct((()=>{We({}),e=!1})),qt=()=>Ct((()=>{Be({}),t=!1})),Ht=(e,t)=>{if(-1==s)return;$t();const n=e();return Gt(t),n},$t=()=>(s++,Kt),Gt=e=>(s>0&&(s--,0==s&&(n=!G(u),l=!G(I),s=1,It(1),n&&bt(1),Rt(1),l&&mt(1),s=-1,(null==e?void 0:e(se(u,(e=>se(e,(e=>se(e,(e=>[...e]),(([e,t])=>e===t))),Ve)),Ve),se(m,(e=>se(e,se))),se(I,(e=>[...e]),(([e,t])=>e===t)),se(C)))&&(s=1,X(u,((e,t)=>X(e,((e,n)=>X(e,(([e],l)=>de(Kt,t,n,l,e))))))),X(I,(([e],t)=>ce(Kt,t,e))),s=-1,n=l=!1),ke(xe[0],void 0,n,l),It(0),n&&bt(0),Rt(0),l&&mt(0),ke(xe[1],void 0,n,l),s=0,T([o,a,d,u,m,w,I,C],U))),Kt),Kt={getTables:Vt,getTableIds:xt,getTable:e=>se(ee(F,y(e)),se),getRowIds:Et,getSortedRowIds:Pt,getRow:(e,t)=>se(ee(ee(F,y(e)),y(t))),getCellIds:kt,getCell:Jt,getValues:Mt,getValueIds:At,getValue:Dt,hasTables:()=>!G(F),hasTable:e=>$(F,y(e)),hasRow:(e,t)=>$(ee(F,y(e)),y(t)),hasCell:(e,t,n)=>$(ee(ee(F,y(e)),y(t)),y(n)),hasValues:()=>!G(j),hasValue:e=>$(j,y(e)),getTablesJson:()=>M(F),getValuesJson:()=>M(j),getJson:()=>M([F,j]),getTablesSchemaJson:()=>M(V),getValuesSchemaJson:()=>M(k),getSchemaJson:()=>M([V,k]),setTables:Ot,setTable:(e,t)=>Ct((e=>De(t,e)?$e(e,t):0),e),setRow:(e,t,n)=>Ct(((e,t)=>Oe(e,t,n)?Ge(e,rt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>Ht((()=>{let l;return Oe(e,l,t)&&(e=y(e),Ge(e,rt(e),l=ot(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Ct(((e,t)=>{if(Oe(e,t,n,1)){const l=rt(e);Ce(n,((n,s)=>tt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>Ct(((e,t,n)=>z(Fe(e,t,n,W(l)?l(Jt(e,t,n)):l),(l=>tt(e,rt(e),t,n,l)))),e,t,n),setValues:Ft,setPartialValues:e=>Ct((()=>je(e,1)?Ce(e,((e,t)=>st(t,e))):0)),setValue:(e,t)=>Ct((e=>z(Qe(e,W(t)?t(Dt(e)):t),(t=>st(e,t)))),e),setTablesJson:jt,setValuesJson:e=>{try{nt(A(e))}catch(e){}return Kt},setJson:e=>{try{const[t,n]=A(e);qe(t),nt(n)}catch(t){jt(e)}return Kt},setTablesSchema:Qt,setValuesSchema:zt,setSchema:(e,t)=>Ct((()=>{Qt(e),zt(t)})),delTables:Nt,delTable:e=>Ct((e=>$(F,e)?at(e):0),e),delRow:(e,t)=>Ct(((e,t)=>z(ee(F,e),(n=>$(n,t)?it(e,n,t):0))),e,t),delCell:(e,t,n,l)=>Ct(((e,t,n)=>z(ee(F,e),(s=>z(ee(s,t),(o=>$(o,n)?dt(e,s,t,o,n,l):0))))),e,t,n),delValues:Wt,delValue:e=>Ct((e=>$(j,e)?ct(e):0),e),delTablesSchema:Bt,delValuesSchema:qt,delSchema:()=>Ct((()=>{Bt(),qt()})),transaction:Ht,startTransaction:$t,finishTransaction:Gt,forEachTable:e=>X(F,((t,n)=>e(n,(e=>X(t,((t,n)=>e(n,(e=>te(t,e))))))))),forEachRow:(e,t)=>X(ee(F,y(e)),((e,n)=>t(n,(t=>te(e,t))))),forEachCell:(e,t,n)=>te(ee(ee(F,y(e)),y(t)),n),forEachValue:e=>te(j,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let a=Pt(e,t,n,l,s);return Pe((()=>{const r=Pt(e,t,n,l,s);S(r,a)||(a=r,o(Kt,e,t,n,l,s,a))}),ae[r?1:0],[e,t],[xt])},addWillFinishTransactionListener:e=>Pe(e,xe[0]),addDidFinishTransactionListener:e=>Pe(e,xe[1]),callListener:e=>(Me(e),Kt),delListener:e=>(Je(e),Kt),getListenerStats:()=>({}),createStore:_e};return Ce({Tables:[0,B],TableIds:[0,q],[h]:[1,H,[xt]],[f]:[1,K,[xt]],Row:[2,he,[xt,Et]],[p]:[2,fe,[xt,Et]],[g]:[3,ge,[xt,Et,kt],e=>Ke(Jt(...e))],InvalidCell:[3,pe],Values:[0,Se],ValueIds:[0,Ie],Value:[1,Te,[At],e=>Ke(Dt(e[0]))],InvalidValue:[1,we]},(([e,t,n,l],s)=>{Kt[v+s+c]=(...s)=>Pe(s[e],t[s[e+1]?1:0],e>0?E(s,0,e):void 0,n,l)})),Re(Kt)};e.createCheckpoints=xe,e.createCustomPersister=De,e.createFilePersister=(e,n)=>{let l;return De(e,(()=>ze(void 0,null,(function*(){try{return yield t.promises.readFile(n,d)}catch(e){}}))),(e=>ze(void 0,null,(function*(){try{yield t.promises.writeFile(n,e,d)}catch(e){}}))),(e=>{l=t.watch(n,e)}),(()=>{null==l||l.close(),l=void 0}))},e.createIndexes=Pe,e.createLocalPersister=(e,t)=>Qe(e,t,localStorage),e.createMetrics=Me,e.createQueries=$e,e.createRelationships=Ge,e.createRemotePersister=(e,t,n,l)=>{let s,o;return De(e,(()=>Ne(void 0,null,(function*(){const e=yield fetch(t);return o=We(e),e.text()}))),(e=>Ne(void 0,null,(function*(){return yield fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:e})}))),(e=>{s=setInterval((()=>Ne(void 0,null,(function*(){const n=yield fetch(t,{method:"HEAD"}),l=We(n);Q(o)||Q(l)||l==o||(o=l,e())}))),1e3*l)}),(()=>{z(s,clearInterval),s=void 0}))},e.createSessionPersister=(e,t)=>Qe(e,t,sessionStorage),e.createStore=_e,e.defaultSorter=Ee},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs")):"function"==typeof define&&define.amd?define(["exports","fs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={},e.fs);
|
|
1
|
+
var e,t;e=this,t=function(e,t){"use strict";const n=e=>typeof e,l="",s=n(l),o=n(!0),r=n(0),a=n(n),i="default",d="utf8",c="Listener",u="Result",v="add",h="Table",f="RowIds",g="Cell",p="CellIds",y=e=>l+e,L=(e,t)=>e.includes(t),w=(e,t)=>e.every(t),S=(e,t)=>C(e)===C(t)&&w(e,((e,n)=>t[n]===e)),I=(e,t)=>w(e,((n,l)=>0==l||t(e[l-1],n)<=0)),R=(e,t)=>e.sort(t),T=(e,t)=>e.forEach(t),b=(e,t)=>e.map(t),m=e=>x(e,((e,t)=>e+t),0),C=e=>e.length,V=e=>0==C(e),x=(e,t,n)=>e.reduce(t,n),E=(e,t,n)=>e.slice(t,n),P=(e,...t)=>e.push(...t),k=e=>e.pop(),J=e=>e.shift(),M=e=>JSON.stringify(e,((e,t)=>j(t,Map)?x([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),A=JSON.parse,D=Math.max,O=Math.min,F=isFinite,j=(e,t)=>e instanceof t,Q=e=>null==e,z=(e,t,n)=>Q(e)?null==n?void 0:n():t(e),N=e=>e==s||e==o,W=e=>n(e)==a,B=e=>Array.isArray(e),q=()=>{},H=e=>e.size,$=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},G=e=>Q(e)||0==H(e),K=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},U=e=>e.clear(),X=(e,t)=>null==e?void 0:e.forEach(t),Y=(e,t)=>null==e?void 0:e.delete(t),Z=e=>new Map(e),_=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},ee=(e,t)=>null==e?void 0:e.get(t),te=(e,t)=>X(e,((e,n)=>t(n,e))),ne=(e,t,n)=>Q(n)?(Y(e,t),e):null==e?void 0:e.set(t,n),le=(e,t,n)=>($(e,t)||ne(e,t,n()),ee(e,t)),se=(e,t,n)=>{const l={},s=null!=t?t:e=>e;return X(e,((e,t)=>z(s(e),(e=>(null==n?void 0:n(e))?0:l[t]=e)))),l},oe=(e,t)=>{const n=Z(),l=null!=t?t:e=>e;return X(e,((e,t)=>n.set(t,l(e)))),n},re=e=>oe(e,oe),ae=(e,t,n,l,s=0)=>z((n?le:ee)(e,t[s],s>C(t)-2?n:Z),(o=>{if(s>C(t)-2)return(null==l?void 0:l(o))&&ne(e,t[s]),o;const r=ae(o,t,n,l,s+1);return G(o)&&ne(e,t[s]),r})),ie=e=>{const t=n(e);return N(t)||t==r&&F(e)?t:void 0},de=(e,t,n,l,s)=>Q(s)?e.delCell(t,n,l,!0):e.setCell(t,n,l,s),ce=(e,t,n)=>Q(n)?e.delValue(t):e.setValue(t,n),ue=e=>new Set(B(e)||Q(e)?e:[e]),ve=(e,t)=>null==e?void 0:e.add(t),he=(e,t,n)=>{const l=e.hasRow,s=Z(),o=Z(),r=Z(),a=Z(),i=Z(),d=(t,n,...l)=>{const s=le(i,t,ue);return T(l,(t=>ve(s,t)&&n&&e.callListener(t))),l},c=(t,...n)=>z(ee(i,t),(l=>{T(V(n)?K(l):n,(t=>{e.delListener(t),Y(l,t)})),G(l)&&ne(i,t)})),u=(e,n)=>{ne(s,e,n),$(o,e)||(ne(o,e,t()),ne(r,e,Z()),ne(a,e,Z()))},v=e=>{ne(s,e),ne(o,e),ne(r,e),ne(a,e),c(e)};return[()=>e,()=>_(s),e=>te(o,e),e=>$(o,e),e=>ee(s,e),e=>ee(o,e),(e,t)=>ne(o,e,t),u,(t,s,o,i,v)=>{u(t,s);const h=Z(),f=Z(),g=ee(r,t),p=ee(a,t),y=t=>{const o=n=>e.getCell(s,t,n),r=ee(g,t),a=l(s,t)?n(i(o,t)):void 0;if(r===a||B(r)&&B(a)&&S(r,a)||ne(h,t,[r,a]),!Q(v)){const e=ee(p,t),n=l(s,t)?v(o,t):void 0;e!=n&&ne(f,t,n)}},L=e=>{o((()=>{X(h,(([,e],t)=>ne(g,t,e))),X(f,((e,t)=>ne(p,t,e)))}),h,f,g,p,e),U(h),U(f)};te(g,y),e.hasTable(s)&&T(e.getRowIds(s),(e=>{$(g,e)||y(e)})),L(!0),c(t),d(t,0,e.addRowListener(s,null,((e,t,n)=>y(n))),e.addTableListener(s,(()=>L())))},v,()=>te(i,v),d,c]},fe=(e,t)=>n(e)==s?t=>t(e):null!=e?e:()=>null!=t?t:l,ge=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},pe=/^\d+$/,ye=()=>{const e=[];let t=0;return[n=>{var s;return null!=(s=n?J(e):null)?s:l+t++},t=>{pe.test(t)&&C(e)<1e3&&P(e,t)}]},Le=e=>{let t;const[n,s]=ye(),o=Z();return[(s,r,a,i=[],d=(()=>[]))=>{null!=t||(t=e());const c=n(1);return ne(o,c,[s,r,a,i,d]),ve(ae(r,null!=a?a:[l],ue),c),c},(e,n,...s)=>T(((e,t=[l])=>{const n=[],s=(e,l)=>l==C(t)?P(n,e):null===t[l]?X(e,(e=>s(e,l+1))):T([t[l],null],(t=>s(ee(e,t),l+1)));return s(e,0),n})(e,n),(e=>X(e,(e=>ee(o,e)[0](t,...null!=n?n:[],...s))))),e=>z(ee(o,e),(([,t,n])=>(ae(t,null!=n?n:[l],void 0,(t=>(Y(t,e),G(t)?1:0))),ne(o,e),s(e),n))),e=>z(ee(o,e),(([e,,n=[],l,s])=>{const o=(...r)=>{var a,i;const d=C(r);d==C(n)?e(t,...r,...s(r)):Q(n[d])?T(null!=(i=null==(a=l[d])?void 0:a.call(l,...r))?i:[],(e=>o(...r,e))):o(...r,n[d])};o()}))]},we=Object,Se=we.keys,Ie=we.isFrozen,Re=we.freeze,Te=e=>j(e,we)&&e.constructor==we,be=(e,t)=>!Q(((e,t)=>z(e,(e=>e[t])))(e,t)),me=(e,t)=>delete e[t],Ce=(e,t)=>b(we.entries(e),(([e,n])=>t(n,e))),Ve=e=>Te(e)&&V(Se(e)),xe=ge((e=>{let t,n,s,o=100,r=Z(),a=Z(),i=1;const d=Z(),c=Z(),[u,v,h]=Le((()=>W)),f=Z(),g=Z(),p=[],y=[],w=(t,n)=>{i=0,e.transaction((()=>{const[l,s]=ee(f,n);X(l,((n,l)=>X(n,((n,s)=>X(n,((n,o)=>de(e,l,s,o,n[t]))))))),X(s,((n,l)=>ce(e,l,n[t])))})),i=1},S=e=>{ne(f,e),ne(g,e),v(c,[e])},I=(e,t)=>T(((e,t)=>e.splice(0,t))(e,null!=t?t:C(e)),S),R=()=>I(p,C(p)-o),b=()=>z(t,(()=>{P(p,t),R(),I(y),t=void 0,s=1})),m=()=>{t=k(p),s=1},x=e.addCellListener(null,null,null,((e,t,n,l,s,o)=>{if(i){b();const e=le(r,t,Z),a=le(e,n,Z),i=le(a,l,(()=>[o,void 0]));i[1]=s,i[0]===s&&G(ne(a,l))&&G(ne(e,n))&&G(ne(r,t))&&m(),O()}})),E=e.addValueListener(null,((e,t,n,l)=>{if(i){b();const e=le(a,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&G(ne(a,t))&&m(),O()}})),M=(e="")=>(Q(t)&&(t=l+n++,ne(f,t,[r,a]),j(t,e),r=Z(),a=Z(),s=1),t),A=()=>{V(p)||(((e,...t)=>{e.unshift(...t)})(y,M()),w(0,t),t=k(p),s=1)},D=()=>{V(y)||(P(p,t),t=J(y),w(1,t),s=1)},O=()=>{s&&(v(d),s=0)},F=e=>{const t=M(e);return O(),t},j=(e,t)=>(N(e)&&ee(g,e)!==t&&(ne(g,e,t),v(c,[e])),W),N=e=>$(f,e),W={setSize:e=>(o=e,R(),W),addCheckpoint:F,setCheckpoint:j,getStore:()=>e,getCheckpointIds:()=>[[...p],t,[...y]],forEachCheckpoint:e=>te(g,e),hasCheckpoint:N,getCheckpoint:e=>ee(g,e),goBackward:()=>(A(),O(),W),goForward:()=>(D(),O(),W),goTo:e=>{const n=L(p,e)?A:L(y,e)?D:null;for(;!Q(n)&&e!=t;)n();return O(),W},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),W),clear:()=>(I(p),I(y),Q(t)||S(t),t=void 0,n=0,F(),W),destroy:()=>{e.delListener(x),e.delListener(E)},getListenerStats:()=>({})};return Re(W.clear())})),Ee=(e,t)=>e<t?-1:1,Pe=ge((e=>{const t=Z(),n=Z(),[s,o,r,a,i,d,c,,u,v,h]=he(e,Z,(e=>Q(e)?l:B(e)?b(e,y):y(e))),[f,g,p]=Le((()=>w)),L=(t,n,l)=>{const s=i(t);X(l,((t,l)=>n(l,(n=>X(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},w={setIndexDefinition:(e,l,s,o,r,a=Ee)=>{const i=Q(r)?void 0:([e],[t])=>r(e,t);return u(e,l,((l,s,r,u,v,h)=>{let f=0;const p=ue(),y=ue(),L=d(e);if(X(s,(([e,t],n)=>{const l=ue(e),s=ue(t);X(l,(e=>Y(s,e)?Y(l,e):0)),X(l,(e=>{ve(p,e),z(ee(L,e),(t=>{Y(t,n),G(t)&&(ne(L,e),f=1)}))})),X(s,(e=>{ve(p,e),$(L,e)||(ne(L,e,ue()),f=1),ve(ee(L,e),n),Q(o)||ve(y,e)}))})),l(),G(v)||(h?te(L,(e=>ve(y,e))):te(r,(e=>z(ee(u,e),(e=>ve(y,e))))),X(y,(e=>{const t=(t,n)=>a(ee(v,t),ee(v,n),e),n=[...ee(L,e)];I(n,t)||(ne(L,e,ue(R(n,t))),ve(p,e))}))),(f||h)&&!Q(i)){const t=[...L];I(t,i)||(c(e,Z(R(t,i))),f=1)}f&&g(t,[e]),X(p,(t=>g(n,[e,t])))}),fe(s),z(o,fe)),w},delIndexDefinition:e=>(v(e),w),getStore:s,getIndexIds:o,forEachIndex:e=>r(((t,n)=>e(t,(e=>L(t,e,n))))),forEachSlice:(e,t)=>L(e,t,d(e)),hasIndex:a,hasSlice:(e,t)=>$(d(e),t),getTableId:i,getSliceIds:e=>_(d(e)),getSliceRowIds:(e,t)=>K(ee(d(e),t)),addSliceIdsListener:(e,n)=>f(n,t,[e]),addSliceRowIdsListener:(e,t,l)=>f(l,n,[e,t]),delListener:e=>(p(e),w),destroy:h,getListenerStats:()=>({})};return Re(w)})),ke=Z([["avg",[(e,t)=>m(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>D(...e),(e,t)=>D(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:D(t,e)]],["min",[e=>O(...e),(e,t)=>O(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:O(t,e)]],["sum",[e=>m(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Je=(e,t,n,l,s,o=!1)=>{if(G(n))return;const[r,a,i,d]=s;return o||(o=Q(e)),X(l,(([n,l])=>{o||(e=Q(n)?null==a?void 0:a(e,l,t++):Q(l)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=Q(e)))})),o?r(K(n),H(n)):e},Me=ge((e=>{const t=Z(),[n,s,o,r,a,i,d,,c,u,v]=he(e,q,(e=>isNaN(e)||Q(e)||!0===e||!1===e||e===l?void 0:1*e)),[h,f,g]=Le((()=>p)),p={setMetricDefinition:(e,n,l,s,o,r,a)=>{var u;const v=W(l)?[l,o,r,a]:null!=(u=ee(ke,l))?u:ee(ke,"sum");return c(e,n,((n,l,s,o,r,a)=>{const c=i(e),u=H(o);a||(a=Q(c)),n();let h=Je(c,u,o,l,v,a);F(h)||(h=void 0),h!=c&&(d(e,h),f(t,[e],h,c))}),fe(s,1)),p},delMetricDefinition:e=>(u(e),p),getStore:n,getMetricIds:s,forEachMetric:o,hasMetric:r,getTableId:a,getMetric:i,addMetricListener:(e,n)=>h(n,t,[e]),delListener:e=>(g(e),p),destroy:v,getListenerStats:()=>({})};return Re(p)}));var Ae=(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 De=(e,t,n,s,o)=>{let r,a,i=0;const d={load:(n,s)=>Ae(void 0,null,(function*(){if(2!=i){i=1;const o=yield t();Q(o)||o==l?e.transaction((()=>e.setTables(n).setValues(s))):e.setJson(o),i=0}return d})),startAutoLoad:(e,t)=>Ae(void 0,null,(function*(){return d.stopAutoLoad(),yield d.load(e,t),s(d.load),d})),stopAutoLoad:()=>(o(),d),save:()=>Ae(void 0,null,(function*(){return 1!=i&&(i=2,yield n(e.getJson()),i=0),d})),startAutoSave:()=>Ae(void 0,null,(function*(){return yield d.stopAutoSave().save(),r=e.addTablesListener(d.save),a=e.addValuesListener(d.save),d})),stopAutoSave:()=>(z(r,e.delListener),z(a,e.delListener),d),getStore:()=>e,destroy:()=>d.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Re(d)};var Oe=(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 Fe="storage",je=globalThis.window,Qe=(e,t,n)=>{let l;return De(e,(()=>Oe(void 0,null,(function*(){return n.getItem(t)}))),(e=>Oe(void 0,null,(function*(){return n.setItem(t,e)}))),(e=>{l=l=>{l.storageArea===n&&l.key===t&&e()},je.addEventListener(Fe,l)}),(()=>{je.removeEventListener(Fe,l),l=void 0}))};var ze=(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())})),Ne=(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 We=e=>e.headers.get("ETag");var Be=Object.getOwnPropertySymbols,qe=Object.prototype.hasOwnProperty,He=Object.prototype.propertyIsEnumerable;const $e=ge((e=>{const t=e.createStore,[n,s,o,r,a,,,i,,d,y,L,S]=he(e,(()=>!0),q),I=t(),R=t(),b=Z(),m=(e,t,...n)=>T(n,(n=>ve(le(le(b,t,Z),e,ue),n))),x=e=>{z(ee(b,e),(e=>{te(e,((e,t)=>X(t,(t=>e.delListener(t))))),U(e)})),T([R,I],(t=>t.delTable(e)))},k=(e,t,n)=>m(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),J={setQueryDefinition:(t,n,s)=>{i(t,n),x(t);const o=[],r=[[null,[n,null,null,[],Z()]]],a=[],d=[],c=[];s({select:(e,t)=>{const n=W(e)?[C(o)+l,e]:[Q(t)?e:t,n=>n(e,t)];return P(o,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const l=Q(n)||W(t)?null:t,s=Q(l)?t:n,o=[e,[e,l,W(s)?s:e=>e(s),[],Z()]];return P(r,o),{as:e=>o[0]=e}},where:(e,t,n)=>P(a,W(e)?e:Q(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,s)=>{var o;const r=[e,[e,W(t)?[t,n,l,s]:null!=(o=ee(ke,t))?o:[(e,t)=>t]]];return P(d,r),{as:e=>r[0]=e}},having:(e,t)=>P(c,W(e)?e:n=>n(e)===t)});const u=Z(o);if(G(u))return J;const v=Z(r);te(v,((e,[,t])=>z(ee(v,t),(({3:t})=>Q(e)?0:P(t,e)))));const h=Z(d);let f=I;if(G(h)&&V(c))f=R;else{k(t,f,R);const e=Z();te(h,((t,[n,l])=>ve(le(e,n,ue),[t,l])));const n=ue();te(u,(t=>$(e,t)?0:ve(n,t)));const l=Z(),s=(n,l,s,o)=>z(n,(([r,a,i,d])=>{te(l,((t,[n])=>{const l=le(r,t,Z),a=ee(l,s),i=o?void 0:n;if(a!==i){const n=ue([[a,i]]),o=H(l);ne(l,s,i),X(ee(e,t),(([e,t])=>{const s=Je(d[e],o,l,n,t);d[e]=Q(ie(s))?null:s}))}})),G(a)||!w(c,(e=>e((e=>d[e]))))?R.delRow(t,i):Q(i)?n[2]=R.addRow(t,d):R.setRow(t,i,d)}));m(f,t,f.addRowListener(t,null,((o,r,a,i)=>{const d=[],c=[],u=Z(),v=f.hasRow(t,a);let h=!v;X(n,(e=>{const[n,l,s]=i(t,a,e);P(d,l),P(c,s),h||(h=n)})),te(e,(e=>{const[n,,l]=i(t,a,e);(h||n)&&ne(u,e,[l])})),h&&s(ae(l,d,void 0,(([,e])=>(Y(e,a),G(e)))),u,a,1),v&&s(ae(l,c,(()=>{const e={};return X(n,(n=>e[n]=f.getCell(t,a,n))),[Z(),ue(),void 0,e]}),(([,e])=>{ve(e,a)})),u,a)})))}k(t,e,f);const g=(l,s,o,r)=>{const i=t=>e.getCell(s,o,t);T(r,(n=>{var s;const[o,,r,a,d]=ee(v,n),c=null==r?void 0:r(i,l),[u,h]=null!=(s=ee(d,l))?s:[];c!=u&&(Q(h)||S(t,h),ne(d,l,Q(c)?null:[c,...L(t,1,e.addRowListener(o,c,(()=>g(l,o,c,a))))]))})),(l=>{const s=(t,s)=>{var o,r,a;return e.getCell(...Q(s)?[n,l,t]:t===n?[n,l,s]:[null==(o=ee(v,t))?void 0:o[0],null==(a=ee(null==(r=ee(v,t))?void 0:r[4],l))?void 0:a[0],s])};f.transaction((()=>w(a,(e=>e(s)))?te(u,((e,n)=>de(f,t,l,e,n(s,l)))):f.delRow(t,l)))})(l)},{3:p}=ee(v,null);return f.transaction((()=>L(t,1,e.addRowListener(n,null,((l,s,o)=>{e.hasRow(n,o)?g(o,n,o,p):(f.delRow(t,o),X(v,(({4:e})=>z(ee(e,o),(([,n])=>{S(t,n),ne(e,o)})))))}))))),J},delQueryDefinition:e=>(x(e),d(e),J),getStore:n,getQueryIds:s,forEachQuery:o,hasQuery:r,getTableId:a,delListener:e=>(R.delListener(e),J),destroy:y,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)qe.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&&He.call(e,l)&&(n[l]=e[l]);return n})(R.getListenerStats(),["tables","tableIds","transaction"])};return Ce({[h]:[1,1],[f]:[0,1],SortedRowIds:[0,5],Row:[1,2],[p]:[0,2],[g]:[1,3]},(([e,t],n)=>{T(e?["get","has","forEach"]:["get"],(e=>J[e+u+n]=(...t)=>R[e+n](...t))),J[v+u+n+c]=(...e)=>R[v+n+c](...E(e,0,t),((n,...l)=>e[t](J,...l)))})),Re(J)})),Ge=ge((e=>{const t=Z(),n=Z(),s=Z(),o=Z(),[r,a,i,d,c,u,,,v,h,f]=he(e,(()=>[Z(),Z(),Z(),Z()]),(e=>Q(e)?void 0:e+l)),[g,p,y]=Le((()=>I)),L=(e,t,n)=>z(u(e),(([l,,s])=>{if(!$(s,t)){const o=ue();if(c(e)!=S(e))ve(o,t);else{let e=t;for(;!Q(e)&&!$(o,e);)ve(o,e),e=ee(l,e)}if(n)return o;ne(s,t,o)}return ee(s,t)})),w=(e,t)=>z(u(e),(([,,e])=>ne(e,t))),S=e=>ee(t,e),I={setRelationshipDefinition:(e,l,r,a)=>(ne(t,e,r),v(e,l,((t,l)=>{const r=ue(),a=ue(),i=ue(),[d,c]=u(e);X(l,(([t,n],l)=>{Q(t)||(ve(a,t),z(ee(c,t),(e=>{Y(e,l),G(e)&&ne(c,t)}))),Q(n)||(ve(a,n),$(c,n)||ne(c,n,ue()),ve(ee(c,n),l)),ve(r,l),ne(d,l,n),te(ee(o,e),(t=>{$(L(e,t),l)&&ve(i,t)}))})),t(),X(r,(t=>p(n,[e,t]))),X(a,(t=>p(s,[e,t]))),X(i,(t=>{w(e,t),p(o,[e,t])}))}),fe(a)),I),delRelationshipDefinition:e=>(ne(t,e),h(e),I),getStore:r,getRelationshipIds:a,forEachRelationship:t=>i((n=>t(n,(t=>e.forEachRow(c(n),t))))),hasRelationship:d,getLocalTableId:c,getRemoteTableId:S,getRemoteRowId:(e,t)=>{var n;return ee(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return K(ee(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>Q(u(e))?[t]:K(L(e,t,!0)),addRemoteRowIdListener:(e,t,l)=>g(l,n,[e,t]),addLocalRowIdsListener:(e,t,n)=>g(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(L(e,t),g(n,o,[e,t])),delListener:e=>(w(...y(e)),I),destroy:f,getListenerStats:()=>({})};return Re(I)})),Ke=e=>[e,e],Ue=()=>[Z(),Z()],Xe=(e,t,n,l=ne)=>(Ce(t,((t,l)=>n(e,l,t))),te(e,(n=>be(t,n)?0:l(e,n))),e),Ye=(e,t,n)=>Q(e)||!Te(e)||Ve(e)||Ie(e)?(null==n||n(),!1):(Ce(e,((n,l)=>{t(n,l)||me(e,l)})),!Ve(e)),Ze=(e,t,n)=>ne(e,t,ee(e,t)==-n?void 0:n),_e=()=>{let e,t,n,l,s=0;const o=Z(),a=Z(),d=Z(),u=Z(),w=Z(),I=Z(),m=Z(),C=Z(),V=Z(),x=Z(),k=Z(),J=Z(),D=ue(),O=Z(),F=Z(),j=Z(),B=Ue(),q=Ue(),H=Ue(),K=Ue(),ae=Ue(),he=Ue(),fe=Ue(),ge=Ue(),pe=Ue(),we=Ue(),Se=Ue(),Ie=Ue(),Te=Ue(),xe=Ue(),[Pe,ke,Je,Me]=Le((()=>Kt)),Ae=e=>{if(!Ye(e,((e,t)=>L(["type",i],t))))return!1;const t=e.type;return!(!N(t)&&t!=r||(ie(e.default)!=t&&me(e,i),0))},De=(t,n)=>(!e||$(V,n)||yt(n))&&Ye(t,((e,t)=>Oe(n,t,e)),(()=>yt(n))),Oe=(e,t,n,l)=>Ye(l?n:ze(n,e,t),((l,s)=>z(Fe(e,t,s,l),(e=>(n[s]=e,!0)),(()=>!1))),(()=>yt(e,t))),Fe=(t,n,l,s)=>e?z(ee(ee(V,t),l),(e=>ie(s)!=e.type?yt(t,n,l,s,e.default):s),(()=>yt(t,n,l,s))):Q(ie(s))?yt(t,n,l,s):s,je=(e,t)=>Ye(t?e:Ne(e),((t,n)=>z(Qe(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>Lt())),Qe=(e,n)=>t?z(ee(k,e),(t=>ie(n)!=t.type?Lt(e,n,t.default):n),(()=>Lt(e,n))):Q(ie(n))?Lt(e,n):n,ze=(e,t,n)=>(z(ee(x,t),(([l,s])=>{X(l,((t,n)=>{be(e,n)||(e[n]=t)})),X(s,(l=>{be(e,l)||yt(t,n,l)}))})),e),Ne=e=>(t&&(X(J,((t,n)=>{be(e,n)||(e[n]=t)})),X(D,(t=>{be(e,t)||Lt(t)}))),e),We=e=>Xe(V,e,((e,t,n)=>{const l=Z(),s=ue();Xe(le(V,t,Z),n,((e,t,n)=>{ne(e,t,n),z(n.default,(e=>ne(l,t,e)),(()=>ve(s,t)))})),ne(x,t,[l,s])}),((e,t)=>{ne(V,t),ne(x,t)})),Be=e=>Xe(k,e,((e,t,n)=>{ne(k,t,n),z(n.default,(e=>ne(J,t,e)),(()=>ve(D,t)))}),((e,t)=>{ne(k,t),ne(J,t),Y(D,t)})),qe=e=>Ve(e)?Nt():Ot(e),He=e=>Xe(F,e,((e,t,n)=>$e(t,n)),((e,t)=>at(t))),$e=(e,t)=>Xe(le(F,e,(()=>(ut(e,1),Z()))),t,((t,n,l)=>Ge(e,t,n,l)),((t,n)=>it(e,t,n))),Ge=(e,t,n,l,s)=>Xe(le(t,n,(()=>(vt(e,n,1),Z()))),l,((t,l,s)=>et(e,n,t,l,s)),((l,o)=>dt(e,t,n,l,o,s))),et=(e,t,n,l,s)=>{$(n,l)||ht(e,t,l,1);const o=ee(n,l);s!==o&&(ft(e,t,l,o,s),ne(n,l,s))},tt=(e,t,n,l,s)=>z(ee(t,n),(t=>et(e,n,t,l,s)),(()=>Ge(e,t,n,ze({[l]:s},e,n)))),nt=e=>Ve(e)?Wt():Ft(e),lt=e=>Xe(j,e,((e,t,n)=>st(t,n)),((e,t)=>ct(t))),st=(e,t)=>{$(j,e)||gt(e,1);const n=ee(j,e);t!==n&&(pt(e,n,t),ne(j,e,t))},ot=(e,t)=>{const[n]=le(O,e,ye),l=n(t);return $(ee(F,e),l)?ot(e,t):l},rt=e=>{var t;return null!=(t=ee(F,e))?t:$e(e,{})},at=e=>$e(e,{}),it=(e,t,n)=>{const[,l]=le(O,e,ye);l(n),Ge(e,t,n,{},!0)},dt=(e,t,n,l,s,o)=>{var r;const a=ee(null==(r=ee(x,e))?void 0:r[0],s);if(!Q(a)&&!o)return et(e,n,l,s,a);const i=t=>{ft(e,n,t,ee(l,t)),ht(e,n,t,-1),ne(l,t)};Q(a)?i(s):te(l,i),G(l)&&(vt(e,n,-1),G(ne(t,n))&&(ut(e,-1),ne(F,e),ne(O,e)))},ct=e=>{const t=ee(J,e);if(!Q(t))return st(e,t);pt(e,ee(j,e)),gt(e,-1),ne(j,e)},ut=(e,t)=>Ze(o,e,t),vt=(e,t,n)=>Ze(le(a,e,Z),t,n),ht=(e,t,n,l)=>Ze(le(le(d,e,Z),t,Z),n,l),ft=(e,t,n,l,s)=>le(le(le(u,e,Z),t,Z),n,(()=>[l,0]))[1]=s,gt=(e,t)=>Ze(w,e,t),pt=(e,t,n)=>le(I,e,(()=>[t,0]))[1]=n,yt=(e,t,n,l,s)=>(P(le(le(le(m,e,Z),t,Z),n,(()=>[])),l),s),Lt=(e,t,n)=>(P(le(C,e,(()=>[])),t),n),wt=(e,t,n)=>z(ee(ee(ee(u,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(Jt(e,t,n))])),St=e=>z(ee(I,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ke(Dt(e))])),It=e=>G(m)||G(pe[e])?0:X(e?oe(m,re):m,((t,n)=>X(t,((t,l)=>X(t,((t,s)=>ke(pe[e],[n,l,s],t))))))),Rt=e=>G(C)||G(we[e])?0:X(e?oe(C):C,((t,n)=>ke(we[e],[n],t))),Tt=(e,t,n)=>{if(!G(t))return ke(e,n),1},bt=e=>{const t=G(ae[e]),n=G(fe[e])&&G(K[e])&&t&&G(q[e]),l=G(ge[e])&&G(he[e])&&G(H[e])&&G(B[e]);if(!n||!l){const s=e?[oe(o),re(a),oe(d,re),oe(u,re)]:[o,a,d,u];if(!n){X(s[2],((t,n)=>X(t,((t,l)=>Tt(fe[e],t,[n,l])))));const n=ue();X(s[1],((l,s)=>{Tt(K[e],l,[s])&&!t&&(ke(ae[e],[s,null]),ve(n,s))})),t||X(s[3],((t,l)=>{if(!$(n,l)){const n=ue();X(t,(e=>X(e,(([t,l],s)=>l!==t?ve(n,s):Y(e,s))))),X(n,(t=>ke(ae[e],[l,t])))}})),Tt(q[e],s[0])}if(!l){let t;X(s[3],((n,l)=>{let s;X(n,((n,o)=>{let r;X(n,(([n,a],i)=>{a!==n&&(ke(ge[e],[l,o,i],a,n,wt),t=s=r=1)})),r&&ke(he[e],[l,o],wt)})),s&&ke(H[e],[l],wt)})),t&&ke(B[e],void 0,wt)}}},mt=e=>{const t=G(Ie[e]),n=G(Te[e])&&G(Se[e]);if(!t||!n){const l=e?[oe(w),oe(I)]:[w,I];if(t||Tt(Ie[e],l[0]),!n){let t;X(l[1],(([n,l],s)=>{l!==n&&(ke(Te[e],[s],l,n,St),t=1)})),t&&ke(Se[e],void 0,St)}}},Ct=(e,...t)=>(Ht((()=>e(...b(t,y)))),Kt),Vt=()=>se(F,(e=>se(e,se))),xt=()=>_(F),Et=e=>_(ee(F,y(e))),Pt=(e,t,n,l=0,s)=>{return b(E(R((o=ee(F,y(e)),r=(e,n)=>[Q(t)?n:ee(e,y(t)),n],b([...null!=(a=null==o?void 0:o.entries())?a:[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ee(e,t)*(n?-1:1))),l,Q(s)?s:l+s),(([,e])=>e));var o,r,a},kt=(e,t)=>_(ee(ee(F,y(e)),y(t))),Jt=(e,t,n)=>ee(ee(ee(F,y(e)),y(t)),y(n)),Mt=()=>se(j),At=()=>_(j),Dt=e=>ee(j,y(e)),Ot=e=>Ct((()=>(e=>Ye(e,De,yt))(e)?He(e):0)),Ft=e=>Ct((()=>je(e)?lt(e):0)),jt=e=>{try{qe(A(e))}catch(e){}return Kt},Qt=t=>Ct((()=>{if((e=Ye(t,(e=>Ye(e,Ae))))&&(We(t),!G(F))){const e=Vt();Nt(),Ot(e)}})),zt=e=>Ct((()=>{if(t=(e=>Ye(e,Ae))(e)){const n=Mt();qt(),Wt(),t=!0,Be(e),Ft(n)}})),Nt=()=>Ct((()=>He({}))),Wt=()=>Ct((()=>lt({}))),Bt=()=>Ct((()=>{We({}),e=!1})),qt=()=>Ct((()=>{Be({}),t=!1})),Ht=(e,t)=>{if(-1==s)return;$t();const n=e();return Gt(t),n},$t=()=>(s++,Kt),Gt=e=>(s>0&&(s--,0==s&&(n=!G(u),l=!G(I),s=1,It(1),n&&bt(1),Rt(1),l&&mt(1),s=-1,(null==e?void 0:e(se(u,(e=>se(e,(e=>se(e,(e=>[...e]),(([e,t])=>e===t))),Ve)),Ve),se(m,(e=>se(e,se))),se(I,(e=>[...e]),(([e,t])=>e===t)),se(C)))&&(s=1,X(u,((e,t)=>X(e,((e,n)=>X(e,(([e],l)=>de(Kt,t,n,l,e))))))),X(I,(([e],t)=>ce(Kt,t,e))),s=-1,n=l=!1),ke(xe[0],void 0,n,l),It(0),n&&bt(0),Rt(0),l&&mt(0),ke(xe[1],void 0,n,l),s=0,T([o,a,d,u,m,w,I,C],U))),Kt),Kt={getTables:Vt,getTableIds:xt,getTable:e=>se(ee(F,y(e)),se),getRowIds:Et,getSortedRowIds:Pt,getRow:(e,t)=>se(ee(ee(F,y(e)),y(t))),getCellIds:kt,getCell:Jt,getValues:Mt,getValueIds:At,getValue:Dt,hasTables:()=>!G(F),hasTable:e=>$(F,y(e)),hasRow:(e,t)=>$(ee(F,y(e)),y(t)),hasCell:(e,t,n)=>$(ee(ee(F,y(e)),y(t)),y(n)),hasValues:()=>!G(j),hasValue:e=>$(j,y(e)),getTablesJson:()=>M(F),getValuesJson:()=>M(j),getJson:()=>M([F,j]),getTablesSchemaJson:()=>M(V),getValuesSchemaJson:()=>M(k),getSchemaJson:()=>M([V,k]),setTables:Ot,setTable:(e,t)=>Ct((e=>De(t,e)?$e(e,t):0),e),setRow:(e,t,n)=>Ct(((e,t)=>Oe(e,t,n)?Ge(e,rt(e),t,n):0),e,t),addRow:(e,t,n=!0)=>Ht((()=>{let l;return Oe(e,l,t)&&(e=y(e),Ge(e,rt(e),l=ot(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>Ct(((e,t)=>{if(Oe(e,t,n,1)){const l=rt(e);Ce(n,((n,s)=>tt(e,l,t,s,n)))}}),e,t),setCell:(e,t,n,l)=>Ct(((e,t,n)=>z(Fe(e,t,n,W(l)?l(Jt(e,t,n)):l),(l=>tt(e,rt(e),t,n,l)))),e,t,n),setValues:Ft,setPartialValues:e=>Ct((()=>je(e,1)?Ce(e,((e,t)=>st(t,e))):0)),setValue:(e,t)=>Ct((e=>z(Qe(e,W(t)?t(Dt(e)):t),(t=>st(e,t)))),e),setTablesJson:jt,setValuesJson:e=>{try{nt(A(e))}catch(e){}return Kt},setJson:e=>{try{const[t,n]=A(e);qe(t),nt(n)}catch(t){jt(e)}return Kt},setTablesSchema:Qt,setValuesSchema:zt,setSchema:(e,t)=>Ct((()=>{Qt(e),zt(t)})),delTables:Nt,delTable:e=>Ct((e=>$(F,e)?at(e):0),e),delRow:(e,t)=>Ct(((e,t)=>z(ee(F,e),(n=>$(n,t)?it(e,n,t):0))),e,t),delCell:(e,t,n,l)=>Ct(((e,t,n)=>z(ee(F,e),(s=>z(ee(s,t),(o=>$(o,n)?dt(e,s,t,o,n,l):0))))),e,t,n),delValues:Wt,delValue:e=>Ct((e=>$(j,e)?ct(e):0),e),delTablesSchema:Bt,delValuesSchema:qt,delSchema:()=>Ct((()=>{Bt(),qt()})),transaction:Ht,startTransaction:$t,finishTransaction:Gt,forEachTable:e=>X(F,((t,n)=>e(n,(e=>X(t,((t,n)=>e(n,(e=>te(t,e))))))))),forEachRow:(e,t)=>X(ee(F,y(e)),((e,n)=>t(n,(t=>te(e,t))))),forEachCell:(e,t,n)=>te(ee(ee(F,y(e)),y(t)),n),forEachValue:e=>te(j,e),addSortedRowIdsListener:(e,t,n,l,s,o,r)=>{let a=Pt(e,t,n,l,s);return Pe((()=>{const r=Pt(e,t,n,l,s);S(r,a)||(a=r,o(Kt,e,t,n,l,s,a))}),ae[r?1:0],[e,t],[xt])},addWillFinishTransactionListener:e=>Pe(e,xe[0]),addDidFinishTransactionListener:e=>Pe(e,xe[1]),callListener:e=>(Me(e),Kt),delListener:e=>(Je(e),Kt),getListenerStats:()=>({}),createStore:_e};return Ce({Tables:[0,B],TableIds:[0,q],[h]:[1,H,[xt]],[f]:[1,K,[xt]],Row:[2,he,[xt,Et]],[p]:[2,fe,[xt,Et]],[g]:[3,ge,[xt,Et,kt],e=>Ke(Jt(...e))],InvalidCell:[3,pe],Values:[0,Se],ValueIds:[0,Ie],Value:[1,Te,[At],e=>Ke(Dt(e[0]))],InvalidValue:[1,we]},(([e,t,n,l],s)=>{Kt[v+s+c]=(...s)=>Pe(s[e],t[s[e+1]?1:0],e>0?E(s,0,e):void 0,n,l)})),Re(Kt)};e.createCheckpoints=xe,e.createCustomPersister=De,e.createFilePersister=(e,n)=>{let l;return De(e,(()=>ze(void 0,null,(function*(){try{return yield t.promises.readFile(n,d)}catch(e){}}))),(e=>ze(void 0,null,(function*(){try{yield t.promises.writeFile(n,e,d)}catch(e){}}))),(e=>{l=t.watch(n,e)}),(()=>{null==l||l.close(),l=void 0}))},e.createIndexes=Pe,e.createLocalPersister=(e,t)=>Qe(e,t,localStorage),e.createMetrics=Me,e.createQueries=$e,e.createRelationships=Ge,e.createRemotePersister=(e,t,n,l)=>{let s,o;return De(e,(()=>Ne(void 0,null,(function*(){const e=yield fetch(t);return o=We(e),e.text()}))),(e=>Ne(void 0,null,(function*(){return yield fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:e})}))),(e=>{s=setInterval((()=>Ne(void 0,null,(function*(){const n=yield fetch(t,{method:"HEAD"}),l=We(n);Q(o)||Q(l)||l==o||(o=l,e())}))),1e3*l)}),(()=>{z(s,clearInterval),s=void 0}))},e.createSessionPersister=(e,t)=>Qe(e,t,sessionStorage),e.createStore=_e,e.defaultSorter=Ee},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs")):"function"==typeof define&&define.amd?define(["exports","fs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={},e.fs);
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tinybase",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.2",
|
|
4
4
|
"author": "jamesgpearce",
|
|
5
5
|
"repository": "github:tinyplex/tinybase",
|
|
6
6
|
"license": "MIT",
|
|
@@ -187,7 +187,7 @@
|
|
|
187
187
|
},
|
|
188
188
|
"devDependencies": {
|
|
189
189
|
"@babel/cli": "^7.21.5",
|
|
190
|
-
"@babel/core": "^7.21.
|
|
190
|
+
"@babel/core": "^7.21.8",
|
|
191
191
|
"@babel/preset-env": "^7.21.5",
|
|
192
192
|
"@babel/preset-react": "^7.18.6",
|
|
193
193
|
"@babel/preset-typescript": "^7.21.5",
|
|
@@ -199,14 +199,14 @@
|
|
|
199
199
|
"@types/jest": "^29.5.1",
|
|
200
200
|
"@types/jest-environment-puppeteer": "^5.0.3",
|
|
201
201
|
"@types/less": "^3.0.3",
|
|
202
|
-
"@types/node": "^
|
|
202
|
+
"@types/node": "^20.0.0",
|
|
203
203
|
"@types/puppeteer": "^5.4.7",
|
|
204
|
-
"@types/react": "^18.2.
|
|
205
|
-
"@types/react-dom": "^18.2.
|
|
204
|
+
"@types/react": "^18.2.5",
|
|
205
|
+
"@types/react-dom": "^18.2.3",
|
|
206
206
|
"@types/react-test-renderer": "^18.0.0",
|
|
207
207
|
"@types/tmp": "^0.2.3",
|
|
208
|
-
"@typescript-eslint/eslint-plugin": "^5.59.
|
|
209
|
-
"@typescript-eslint/parser": "^5.59.
|
|
208
|
+
"@typescript-eslint/eslint-plugin": "^5.59.2",
|
|
209
|
+
"@typescript-eslint/parser": "^5.59.2",
|
|
210
210
|
"asciichart": "^1.5.25",
|
|
211
211
|
"babel-eslint": "^10.1.0",
|
|
212
212
|
"babel-jest": "^29.5.0",
|
|
@@ -230,11 +230,11 @@
|
|
|
230
230
|
"jest-puppeteer": "^8.0.6",
|
|
231
231
|
"less": "^4.1.3",
|
|
232
232
|
"prettier": "^2.8.8",
|
|
233
|
-
"puppeteer": "^
|
|
233
|
+
"puppeteer": "^20.1.1",
|
|
234
234
|
"react": "^18.2.0",
|
|
235
235
|
"react-dom": "^18.2.0",
|
|
236
236
|
"react-test-renderer": "^18.2.0",
|
|
237
|
-
"rollup": "^3.21.
|
|
237
|
+
"rollup": "^3.21.5",
|
|
238
238
|
"rollup-plugin-esbuild": "^5.0.0",
|
|
239
239
|
"rollup-plugin-gzip": "^3.1.0",
|
|
240
240
|
"rollup-plugin-preserve-shebang": "^1.0.1",
|
package/readme.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<section id="hero"><h2 id="the-reactive-data-store-for-local-first-apps">The <em>reactive</em> data store for <span>local-first apps</span>.</h2><p>Modern apps deserve better. Why trade reactive user experiences to be able to use relational data? Why sacrifice store features for bundle size? And why should the cloud do all the work <a href="https://localfirstweb.dev/" target="_blank">anyway</a>?</p><p><em>TinyBase is a smart new way to structure your local app data:</em></p><ul><li>Manage <a href="#start-with-a-simple-key-value-store">key-value data</a> (<em>new!</em>), <a href="#level-up-to-use-tabular-data">tabular data</a> - or both - with optional <a href="#apply-schemas-to-tables-and-values">schematization</a> to model it.</li><li><a href="#register-listeners-at-any-granularity">Flexibly reactive</a> to reconciled updates, so your UI only spends cycles on the data that changes.</li><li><a href="#build-complex-queries-with-tinyql">Powerful query engine</a> to select, join, filter, group, sort and paginate data - reactively.</li><li><a href="#create-indexes-for-fast-lookups">Indexing</a>, <a href="#define-metrics-and-aggregations">metrics</a>, <a href="#configure-relationships-between-tables">relationships</a> - and even an <a href="#use-checkpoints-for-an-easy-undo-stack">undo stack</a> for your app state! - out of the box.</li><li>Easily <a href="#persist-data-to-browser-file-or-server">sync your data</a> to local or remote storage, and use <a href="#call-hooks-to-bind-to-data">idiomatic bindings</a> to your UI.</li><li><a href="#type-definitions-orm-like-apis">Type definitions & ORM-like APIs</a> (<em>new!</em>), based on a schema or inferred from actual data.</li></ul><p><em>Tiny by name, tiny by nature</em>, TinyBase only costs <a href="#did-we-say-tiny">4.
|
|
1
|
+
<section id="hero"><h2 id="the-reactive-data-store-for-local-first-apps">The <em>reactive</em> data store for <span>local-first apps</span>.</h2><p>Modern apps deserve better. Why trade reactive user experiences to be able to use relational data? Why sacrifice store features for bundle size? And why should the cloud do all the work <a href="https://localfirstweb.dev/" target="_blank">anyway</a>?</p><p><em>TinyBase is a smart new way to structure your local app data:</em></p><ul><li>Manage <a href="#start-with-a-simple-key-value-store">key-value data</a> (<em>new!</em>), <a href="#level-up-to-use-tabular-data">tabular data</a> - or both - with optional <a href="#apply-schemas-to-tables-and-values">schematization</a> to model it.</li><li><a href="#register-listeners-at-any-granularity">Flexibly reactive</a> to reconciled updates, so your UI only spends cycles on the data that changes.</li><li><a href="#build-complex-queries-with-tinyql">Powerful query engine</a> to select, join, filter, group, sort and paginate data - reactively.</li><li><a href="#create-indexes-for-fast-lookups">Indexing</a>, <a href="#define-metrics-and-aggregations">metrics</a>, <a href="#configure-relationships-between-tables">relationships</a> - and even an <a href="#use-checkpoints-for-an-easy-undo-stack">undo stack</a> for your app state! - out of the box.</li><li>Easily <a href="#persist-data-to-browser-file-or-server">sync your data</a> to local or remote storage, and use <a href="#call-hooks-to-bind-to-data">idiomatic bindings</a> to your UI.</li><li><a href="#type-definitions-orm-like-apis">Type definitions & ORM-like APIs</a> (<em>new!</em>), based on a schema or inferred from actual data.</li></ul><p><em>Tiny by name, tiny by nature</em>, TinyBase only costs <a href="#did-we-say-tiny">4.2kB - 8.7kB</a> when compressed, and has zero dependencies. And of course it's <a href="#well-tested-and-documented">well tested</a>, <a href="https://tinybase.org/guides/the-basics/getting-started/">fully documented</a>, and <a href="https://github.com/tinyplex/tinybase">open source</a>. Other <a href="https://tinybase.org/guides/faq/">FAQs</a>?</p></section><p><a id="new" href="https://tinybase.org/guides/releases/#v3-1"><em>NEW!</em> v3.1 release</a></p><hr><p><a class="start" href="https://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section><h3 id="proud-to-be-sponsored-by">Proud to be sponsored by:</h3><p><a href="https://github.com/expo" target="_blank"><img title="expo" src="https://github.com/expo.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a><a href="https://github.com/arpitBhalla" target="_blank"><img title="arpitBhalla" src="https://github.com/arpitBhalla.png?size=48" width="48" height="48"></a></p></section><section><h3 id="excited-to-be-used-by">Excited to be used by:</h3><p><a href="https://github.com/brentvatne" target="_blank"><img title="brentvatne" src="https://github.com/brentvatne.png?size=48" width="48" height="48"></a><a href="https://github.com/circadian-risk" target="_blank"><img title="circadian-risk" src="https://github.com/circadian-risk.png?size=48" width="48" height="48"></a><a href="https://github.com/WonderPanda" target="_blank"><img title="WonderPanda" src="https://github.com/WonderPanda.png?size=48" width="48" height="48"></a><a href="https://github.com/miking-the-viking" target="_blank"><img title="miking-the-viking" src="https://github.com/miking-the-viking.png?size=48" width="48" height="48"></a><a href="https://github.com/cubecull" target="_blank"><img title="cubecull" src="https://github.com/cubecull.png?size=48" width="48" height="48"></a><a href="https://github.com/Apocalypsor" target="_blank"><img title="Apocalypsor" src="https://github.com/Apocalypsor.png?size=48" width="48" height="48"></a><a href="https://github.com/uptonking" target="_blank"><img title="uptonking" src="https://github.com/uptonking.png?size=48" width="48" height="48"></a><a href="https://github.com/erwinkn" target="_blank"><img title="erwinkn" src="https://github.com/erwinkn.png?size=48" width="48" height="48"></a><a href="https://github.com/Kayoo-asso" target="_blank"><img title="Kayoo-asso" src="https://github.com/Kayoo-asso.png?size=48" width="48" height="48"></a><a href="https://github.com/shaneosullivan" target="_blank"><img title="shaneosullivan" src="https://github.com/shaneosullivan.png?size=48" width="48" height="48"></a><a href="https://github.com/generates" target="_blank"><img title="generates" src="https://github.com/generates.png?size=48" width="48" height="48"></a><a href="https://github.com/flaming-codes" target="_blank"><img title="flaming-codes" src="https://github.com/flaming-codes.png?size=48" width="48" height="48"></a><a href="https://github.com/jaysc" target="_blank"><img title="jaysc" src="https://github.com/jaysc.png?size=48" width="48" height="48"></a><a href="https://github.com/kotofurumiya" target="_blank"><img title="kotofurumiya" src="https://github.com/kotofurumiya.png?size=48" width="48" height="48"></a></p></section><hr><section><h2 id="start-with-a-simple-key-value-store">Start with a simple key-value store.</h2><p>Creating a <a href="https://tinybase.org/api/store/interfaces/store/store/"><code>Store</code></a> requires just a simple call to the <a href="https://tinybase.org/api/store/functions/creation/createstore/"><code>createStore</code></a> function. Once you have one, you can easily set <a href="https://tinybase.org/api/store/type-aliases/store/values/"><code>Values</code></a> in it by unique <a href="https://tinybase.org/api/common/type-aliases/identity/id/"><code>Id</code></a>. And of course you can easily get them back out again.</p><p>Read more about using keyed value data in <a href="https://tinybase.org/guides/the-basics/">The Basics</a> guide.</p></section>
|
|
2
2
|
|
|
3
3
|
```js
|
|
4
4
|
const store = createStore()
|
|
@@ -266,4 +266,4 @@ export const createShop: typeof createShopDecl = () => {
|
|
|
266
266
|
};
|
|
267
267
|
```
|
|
268
268
|
|
|
269
|
-
<section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://tinybase.org/api/store/"><code>store</code></a> module alone, you'll only add a gzipped <em>4.
|
|
269
|
+
<section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://tinybase.org/api/store/"><code>store</code></a> module alone, you'll only add a gzipped <em>4.2kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>8.7kB</em>.</p><p>The optional <a href="https://tinybase.org/api/ui-react/"><code>ui-react</code></a> module is just another <em>3.4kB</em>, the auxiliary <a href="https://tinybase.org/api/tools/"><code>tools</code></a> module is <em>9.9kB</em>, and everything is super fast. Life's easy when you have zero dependencies!</p><p>Read more about how TinyBase is structured and packaged in the <a href="https://tinybase.org/guides/how-tinybase-is-built/architecture/">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>.js.gz</th><th>.js</th><th>debug.js</th><th>.d.ts</th></tr><tr><th class="right"><a href="https://tinybase.org/api/store/">store</a></th><td>4.2kB</td><td>10.0kB</td><td>43.8kB</td><td>186.4kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/metrics/">metrics</a></th><td>1.8kB</td><td>3.6kB</td><td>14.9kB</td><td>29.3kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/indexes/">indexes</a></th><td>1.9kB</td><td>3.8kB</td><td>16.7kB</td><td>33.9kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/relationships/">relationships</a></th><td>1.8kB</td><td>3.6kB</td><td>16.8kB</td><td>42.2kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/queries/">queries</a></th><td>2.6kB</td><td>5.5kB</td><td>25.0kB</td><td>113.0kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/checkpoints/">checkpoints</a></th><td>1.5kB</td><td>3.0kB</td><td>12.5kB</td><td>33.5kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/persisters/">persisters</a></th><td>0.8kB</td><td>1.7kB</td><td>5.2kB</td><td>27.3kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/common/">common</a></th><td>0.1kB</td><td>0.1kB</td><td>0.1kB</td><td>3.5kB</td></tr><tr><th class="right">tinybase (all)</th><td>8.7kB</td><td>21.1kB</td><td>92.7kB</td><td>0.3kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible to get up and running.</p><p>Read more about how TinyBase is tested in the Unit <a href="https://tinybase.org/guides/how-tinybase-is-built/testing/">Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>1,790</td><td>1,790</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>1,928</td><td>1,928</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>766</td><td>766</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>638</td><td>638</td><td>100.0%</td></tr><tr><th class="right">Tests</th><td colspan="3">2,602</td></tr><tr><th class="right">Assertions</th><td colspan="3">13,096</td></tr></tbody></table></div><hr><p><a class="start" href="https://tinybase.org/guides/the-basics/getting-started/">Get started</a></p><p><a href="https://tinybase.org/demos/">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/store/store/">Read the docs</a></p><hr><section><h2 id="follow">Follow</h2><ul><li>News and updates on <a href="https://twitter.com/tinybasejs">Twitter</a>, <a href="https://discord.com/invite/mGz3mevwP8">Discord</a>, and <a href="https://facebook.com/tinybasejs">Facebook</a>.</li><li><a href="https://github.com/tinyplex/tinybase/discussions">Discussions</a> and <a href="https://github.com/tinyplex/tinybase/issues">issues</a> on <a href="https://github.com/tinyplex/tinybase">GitHub</a>.</li><li><a href="https://tinybase.org/guides/releases/">Release notes</a> for each version.</li><li>Packages on <a href="https://www.npmjs.com/package/tinybase/v/3.1.2">NPM</a>.</li></ul></section><section><h2 id="about">About</h2><p>Building TinyBase was originally an interesting exercise for <a rel="me" href="https://hachyderm.io/@jamesgpearce">me</a> in API design, minification, and documentation. It could not have been built without these great <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#giants">projects</a> and <a href="https://tinybase.org/guides/how-tinybase-is-built/credits/#and-friends">friends</a>, and I hope you enjoy using it!</p></section>
|