tinybase 3.1.3 → 3.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/persisters.cjs +1 -1
- package/lib/cjs/persisters.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/persisters.cjs +1 -1
- package/lib/cjs-es6/persisters.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/debug/persisters.js +2 -2
- package/lib/debug/tinybase.js +2 -2
- package/lib/es6/persisters.js +1 -1
- package/lib/es6/persisters.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/persisters.js +1 -1
- package/lib/persisters.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/umd/persisters.js +1 -1
- package/lib/umd/persisters.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd-es6/persisters.js +1 -1
- package/lib/umd-es6/persisters.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/package.json +1 -1
- package/readme.md +1 -1
package/lib/cjs/persisters.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("fs");const t="utf8",s=e=>null==e,a=(e,t,a)=>s(e)?a?.():t(e),r=Object.freeze,o=(e,t,o,n,i)=>{let c,l,d=0;const u={load:async(a,r)=>{if(2!=d){d=1;const o=await t();s(o)||""==o?e.transaction((()=>e.setTables(a).setValues(r))):e.setJson(o),d=0}return u},startAutoLoad:async(e,t)=>(u.stopAutoLoad(),await u.load(e,t),n(u.load),u),stopAutoLoad:()=>(i(),u),save:async()=>(1!=d&&(d=2,await o(e.getJson()),d=0),u),startAutoSave:async()=>(await u.stopAutoSave().save(),c=e.addTablesListener(u.save),l=e.addValuesListener(u.save),u),stopAutoSave:()=>(a(c,e.delListener),a(l,e.delListener),u),getStore:()=>e,destroy:()=>u.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(u)},n="storage",i=globalThis.window,c=(e,t,s)=>{let a;return o(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{a=a=>{a.storageArea===s&&a.key===t&&e()},i.addEventListener(n,a)}),(()=>{i.removeEventListener(n,a),a=void 0}))},l=e=>e.headers.get("ETag");exports.createCustomPersister=o,exports.createFilePersister=(s,a)=>{let r;return o(s,(async()=>{try{return await e.promises.readFile(a,t)}catch{}}),(async s=>{try{await e.promises.writeFile(a,s,t)}catch{}}),(t=>{r=e.watch(a,t)}),(()=>{r?.close(),r=void 0}))},exports.createLocalPersister=(e,t)=>c(e,t,localStorage),exports.createRemotePersister=(e,t,r,n)=>{let i,c;return o(e,(async()=>{const e=await fetch(t);return c=l(e),e.text()}),(async e=>await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{i=setInterval((async()=>{const a=await fetch(t,{method:"HEAD"}),r=l(a);s(c)||s(r)||r==c||(c=r,e())}),1e3*n)}),(()=>{a(i,clearInterval),i=void 0}))},exports.createSessionPersister=(e,t)=>c(e,t,sessionStorage);
|
|
1
|
+
"use strict";var e=require("fs");const t="utf8",s=e=>null==e,a=(e,t,a)=>s(e)?a?.():t(e),r=Object.freeze,o=(e,t,o,n,i)=>{let c,l,d=0;const u={load:async(a={},r={})=>{if(2!=d){d=1;const o=await t();s(o)||""==o?e.transaction((()=>e.setTables(a).setValues(r))):e.setJson(o),d=0}return u},startAutoLoad:async(e={},t={})=>(u.stopAutoLoad(),await u.load(e,t),n(u.load),u),stopAutoLoad:()=>(i(),u),save:async()=>(1!=d&&(d=2,await o(e.getJson()),d=0),u),startAutoSave:async()=>(await u.stopAutoSave().save(),c=e.addTablesListener(u.save),l=e.addValuesListener(u.save),u),stopAutoSave:()=>(a(c,e.delListener),a(l,e.delListener),u),getStore:()=>e,destroy:()=>u.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(u)},n="storage",i=globalThis.window,c=(e,t,s)=>{let a;return o(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{a=a=>{a.storageArea===s&&a.key===t&&e()},i.addEventListener(n,a)}),(()=>{i.removeEventListener(n,a),a=void 0}))},l=e=>e.headers.get("ETag");exports.createCustomPersister=o,exports.createFilePersister=(s,a)=>{let r;return o(s,(async()=>{try{return await e.promises.readFile(a,t)}catch{}}),(async s=>{try{await e.promises.writeFile(a,s,t)}catch{}}),(t=>{r=e.watch(a,t)}),(()=>{r?.close(),r=void 0}))},exports.createLocalPersister=(e,t)=>c(e,t,localStorage),exports.createRemotePersister=(e,t,r,n)=>{let i,c;return o(e,(async()=>{const e=await fetch(t);return c=l(e),e.text()}),(async e=>await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{i=setInterval((async()=>{const a=await fetch(t,{method:"HEAD"}),r=l(a);s(c)||s(r)||r==c||(c=r,e())}),1e3*n)}),(()=>{a(i,clearInterval),i=void 0}))},exports.createSessionPersister=(e,t)=>c(e,t,sessionStorage);
|
|
Binary file
|
package/lib/cjs/tinybase.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("fs");const t=e=>typeof e,s="",n=t(s),r=t(!0),o=t(0),a=t(t),i="type",l="default",c="utf8",d="Listener",u="Result",h="add",g="Ids",f="Table",L=f+"s",w=f+g,p="Row",v=p+g,S="Sorted"+p+g,R="Cell",I=R+g,T="Value",y=T+"s",b=T+g,m=e=>s+e,C=(e,t)=>e.includes(t),V=(e,t)=>e.every(t),x=(e,t)=>D(e)===D(t)&&V(e,((e,s)=>t[s]===e)),E=(e,t)=>V(e,((s,n)=>0==n||t(e[n-1],s)<=0)),k=(e,t)=>e.sort(t),J=(e,t)=>e.forEach(t),M=(e,t)=>e.map(t),A=e=>P(e,((e,t)=>e+t),0),D=e=>e.length,F=e=>0==D(e),P=(e,t,s)=>e.reduce(t,s),Q=(e,t,s)=>e.slice(t,s),z=(e,...t)=>e.push(...t),N=e=>e.pop(),O=e=>e.shift(),j=e=>JSON.stringify(e,((e,t)=>$(t,Map)?P([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),W=JSON.parse,q=Math.max,B=Math.min,H=isFinite,$=(e,t)=>e instanceof t,G=e=>null==e,K=(e,t,s)=>G(e)?s?.():t(e),U=e=>e==n||e==r,X=e=>t(e)==a,Y=e=>Array.isArray(e),Z=()=>{},_=e=>e.size,ee=(e,t)=>e?.has(t)??!1,te=e=>G(e)||0==_(e),se=e=>[...e?.values()??[]],ne=e=>e.clear(),re=(e,t)=>e?.forEach(t),oe=(e,t)=>e?.delete(t),ae=e=>new Map(e),ie=e=>[...e?.keys()??[]],le=(e,t)=>e?.get(t),ce=(e,t)=>re(e,((e,s)=>t(s,e))),de=(e,t,s)=>G(s)?(oe(e,t),e):e?.set(t,s),ue=(e,t,s)=>(ee(e,t)||de(e,t,s()),le(e,t)),he=(e,t,s)=>{const n={},r=t??(e=>e);return re(e,((e,t)=>K(r(e),(e=>s?.(e)?0:n[t]=e)))),n},ge=(e,t)=>{const s=ae(),n=t??(e=>e);return re(e,((e,t)=>s.set(t,n(e)))),s},fe=e=>ge(e,ge),Le=(e,t,s,n,r=0)=>K((s?ue:le)(e,t[r],r>D(t)-2?s:ae),(o=>{if(r>D(t)-2)return n?.(o)&&de(e,t[r]),o;const a=Le(o,t,s,n,r+1);return te(o)&&de(e,t[r]),a})),we=e=>{const s=t(e);return U(s)||s==o&&H(e)?s:void 0},pe=(e,t,s,n,r)=>G(r)?e.delCell(t,s,n,!0):e.setCell(t,s,n,r),ve=(e,t,s)=>G(s)?e.delValue(t):e.setValue(t,s),Se=e=>new Set(Y(e)||G(e)?e:[e]),Re=(e,t)=>e?.add(t),Ie=(e,t,s)=>{const n=e.hasRow,r=ae(),o=ae(),a=ae(),i=ae(),l=ae(),c=(t,s,...n)=>{const r=ue(l,t,Se);return J(n,(t=>Re(r,t)&&s&&e.callListener(t))),n},d=(t,...s)=>K(le(l,t),(n=>{J(F(s)?se(n):s,(t=>{e.delListener(t),oe(n,t)})),te(n)&&de(l,t)})),u=(e,s)=>{de(r,e,s),ee(o,e)||(de(o,e,t()),de(a,e,ae()),de(i,e,ae()))},h=e=>{de(r,e),de(o,e),de(a,e),de(i,e),d(e)};return[()=>e,()=>ie(r),e=>ce(o,e),e=>ee(o,e),e=>le(r,e),e=>le(o,e),(e,t)=>de(o,e,t),u,(t,r,o,l,h)=>{u(t,r);const g=ae(),f=ae(),L=le(a,t),w=le(i,t),p=t=>{const o=s=>e.getCell(r,t,s),a=le(L,t),i=n(r,t)?s(l(o,t)):void 0;if(a===i||Y(a)&&Y(i)&&x(a,i)||de(g,t,[a,i]),!G(h)){const e=le(w,t),s=n(r,t)?h(o,t):void 0;e!=s&&de(f,t,s)}},v=e=>{o((()=>{re(g,(([,e],t)=>de(L,t,e))),re(f,((e,t)=>de(w,t,e)))}),g,f,L,w,e),ne(g),ne(f)};ce(L,p),e.hasTable(r)&&J(e.getRowIds(r),(e=>{ee(L,e)||p(e)})),v(!0),d(t),c(t,0,e.addRowListener(r,null,((e,t,s)=>p(s))),e.addTableListener(r,(()=>v())))},h,()=>ce(l,h),c,d]},Te=(e,r)=>t(e)==n?t=>t(e):e??(()=>r??s),ye=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},be=/^\d+$/,me=()=>{const e=[];let t=0;return[n=>(n?O(e):null)??s+t++,t=>{be.test(t)&&D(e)<1e3&&z(e,t)}]},Ce=e=>{let t;const[n,r]=me(),o=ae();return[(r,a,i,l=[],c=(()=>[]))=>{t??=e();const d=n(1);return de(o,d,[r,a,i,l,c]),Re(Le(a,i??[s],Se),d),d},(e,n,...r)=>J(((e,t=[s])=>{const n=[],r=(e,s)=>s==D(t)?z(n,e):null===t[s]?re(e,(e=>r(e,s+1))):J([t[s],null],(t=>r(le(e,t),s+1)));return r(e,0),n})(e,n),(e=>re(e,(e=>le(o,e)[0](t,...n??[],...r))))),e=>K(le(o,e),(([,t,n])=>(Le(t,n??[s],void 0,(t=>(oe(t,e),te(t)?1:0))),de(o,e),r(e),n))),e=>K(le(o,e),(([e,,s=[],n,r])=>{const o=(...a)=>{const i=D(a);i==D(s)?e(t,...a,...r(a)):G(s[i])?J(n[i]?.(...a)??[],(e=>o(...a,e))):o(...a,s[i])};o()}))]},Ve=Object,xe=Ve.keys,Ee=Ve.isFrozen,ke=Ve.freeze,Je=e=>$(e,Ve)&&e.constructor==Ve,Me=(e,t)=>!G(((e,t)=>K(e,(e=>e[t])))(e,t)),Ae=(e,t)=>delete e[t],De=(e,t)=>M(Ve.entries(e),(([e,s])=>t(s,e))),Fe=e=>Je(e)&&F(xe(e)),Pe=ye((e=>{let t,n,r,o=100,a=ae(),i=ae(),l=1;const c=ae(),d=ae(),[u,h,g]=Ce((()=>Q)),f=ae(),L=ae(),w=[],p=[],v=(t,s)=>{l=0,e.transaction((()=>{const[n,r]=le(f,s);re(n,((s,n)=>re(s,((s,r)=>re(s,((s,o)=>pe(e,n,r,o,s[t]))))))),re(r,((s,n)=>ve(e,n,s[t])))})),l=1},S=e=>{de(f,e),de(L,e),h(d,[e])},R=(e,t)=>J(((e,t)=>e.splice(0,t))(e,t??D(e)),S),I=()=>R(w,D(w)-o),T=()=>K(t,(()=>{z(w,t),I(),R(p),t=void 0,r=1})),y=()=>{t=N(w),r=1},b=e.addCellListener(null,null,null,((e,t,s,n,r,o)=>{if(l){T();const e=ue(a,t,ae),i=ue(e,s,ae),l=ue(i,n,(()=>[o,void 0]));l[1]=r,l[0]===r&&te(de(i,n))&&te(de(e,s))&&te(de(a,t))&&y(),k()}})),m=e.addValueListener(null,((e,t,s,n)=>{if(l){T();const e=ue(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&te(de(i,t))&&y(),k()}})),V=(e="")=>(G(t)&&(t=s+n++,de(f,t,[a,i]),A(t,e),a=ae(),i=ae(),r=1),t),x=()=>{F(w)||(((e,...t)=>{e.unshift(...t)})(p,V()),v(0,t),t=N(w),r=1)},E=()=>{F(p)||(z(w,t),t=O(p),v(1,t),r=1)},k=()=>{r&&(h(c),r=0)},M=e=>{const t=V(e);return k(),t},A=(e,t)=>(P(e)&&le(L,e)!==t&&(de(L,e,t),h(d,[e])),Q),P=e=>ee(f,e),Q={setSize:e=>(o=e,I(),Q),addCheckpoint:M,setCheckpoint:A,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...p]],forEachCheckpoint:e=>ce(L,e),hasCheckpoint:P,getCheckpoint:e=>le(L,e),goBackward:()=>(x(),k(),Q),goForward:()=>(E(),k(),Q),goTo:e=>{const s=C(w,e)?x:C(p,e)?E:null;for(;!G(s)&&e!=t;)s();return k(),Q},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),Q),clear:()=>(R(w),R(p),G(t)||S(t),t=void 0,n=0,M(),Q),destroy:()=>{e.delListener(b),e.delListener(m)},getListenerStats:()=>({})};return ke(Q.clear())})),Qe=(e,t)=>e<t?-1:1,ze=ye((e=>{const t=ae(),n=ae(),[r,o,a,i,l,c,d,,u,h,g]=Ie(e,ae,(e=>G(e)?s:Y(e)?M(e,m):m(e))),[f,L,w]=Ce((()=>v)),p=(t,s,n)=>{const r=l(t);re(n,((t,n)=>s(n,(s=>re(t,(t=>s(t,(s=>e.forEachCell(r,t,s)))))))))},v={setIndexDefinition:(e,s,r,o,a,i=Qe)=>{const l=G(a)?void 0:([e],[t])=>a(e,t);return u(e,s,((s,r,a,u,h,g)=>{let f=0;const w=Se(),p=Se(),v=c(e);if(re(r,(([e,t],s)=>{const n=Se(e),r=Se(t);re(n,(e=>oe(r,e)?oe(n,e):0)),re(n,(e=>{Re(w,e),K(le(v,e),(t=>{oe(t,s),te(t)&&(de(v,e),f=1)}))})),re(r,(e=>{Re(w,e),ee(v,e)||(de(v,e,Se()),f=1),Re(le(v,e),s),G(o)||Re(p,e)}))})),s(),te(h)||(g?ce(v,(e=>Re(p,e))):ce(a,(e=>K(le(u,e),(e=>Re(p,e))))),re(p,(e=>{const t=(t,s)=>i(le(h,t),le(h,s),e),s=[...le(v,e)];E(s,t)||(de(v,e,Se(k(s,t))),Re(w,e))}))),(f||g)&&!G(l)){const t=[...v];E(t,l)||(d(e,ae(k(t,l))),f=1)}f&&L(t,[e]),re(w,(t=>L(n,[e,t])))}),Te(r),K(o,Te)),v},delIndexDefinition:e=>(h(e),v),getStore:r,getIndexIds:o,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)=>ee(c(e),t),getTableId:l,getSliceIds:e=>ie(c(e)),getSliceRowIds:(e,t)=>se(le(c(e),t)),addSliceIdsListener:(e,s)=>f(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>f(s,n,[e,t]),delListener:e=>(w(e),v),destroy:g,getListenerStats:()=>({})};return ke(v)})),Ne=ae([["avg",[(e,t)=>A(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=>q(...e),(e,t)=>q(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:q(t,e)]],["min",[e=>B(...e),(e,t)=>B(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:B(t,e)]],["sum",[e=>A(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Oe=(e,t,s,n,r,o=!1)=>{if(te(s))return;const[a,i,l,c]=r;return o||=G(e),re(n,(([s,n])=>{o||(e=G(s)?i?.(e,n,t++):G(n)?l?.(e,s,t--):c?.(e,n,s,t),o||=G(e))})),o?a(se(s),_(s)):e},je=ye((e=>{const t=ae(),[n,r,o,a,i,l,c,,d,u,h]=Ie(e,Z,(e=>isNaN(e)||G(e)||!0===e||!1===e||e===s?void 0:1*e)),[g,f,L]=Ce((()=>w)),w={setMetricDefinition:(e,s,n,r,o,a,i)=>{const u=X(n)?[n,o,a,i]:le(Ne,n)??le(Ne,"sum");return d(e,s,((s,n,r,o,a,i)=>{const d=l(e),h=_(o);i||=G(d),s();let g=Oe(d,h,o,n,u,i);H(g)||(g=void 0),g!=d&&(c(e,g),f(t,[e],g,d))}),Te(r,1)),w},delMetricDefinition:e=>(u(e),w),getStore:n,getMetricIds:r,forEachMetric:o,hasMetric:a,getTableId:i,getMetric:l,addMetricListener:(e,s)=>g(s,t,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return ke(w)})),We=(e,t,n,r,o)=>{let a,i,l=0;const c={load:async(n,r)=>{if(2!=l){l=1;const o=await t();G(o)||o==s?e.transaction((()=>e.setTables(n).setValues(r))):e.setJson(o),l=0}return c},startAutoLoad:async(e,t)=>(c.stopAutoLoad(),await c.load(e,t),r(c.load),c),stopAutoLoad:()=>(o(),c),save:async()=>(1!=l&&(l=2,await n(e.getJson()),l=0),c),startAutoSave:async()=>(await c.stopAutoSave().save(),a=e.addTablesListener(c.save),i=e.addValuesListener(c.save),c),stopAutoSave:()=>(K(a,e.delListener),K(i,e.delListener),c),getStore:()=>e,destroy:()=>c.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ke(c)},qe="storage",Be=globalThis.window,He=(e,t,s)=>{let n;return We(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},Be.addEventListener(qe,n)}),(()=>{Be.removeEventListener(qe,n),n=void 0}))},$e=e=>e.headers.get("ETag"),Ge=ye((e=>{const t=e.createStore,[n,r,o,a,i,,,l,,c,g,L,w]=Ie(e,(()=>!0),Z),T=t(),y=t(),b=ae(),m=(e,t,...s)=>J(s,(s=>Re(ue(ue(b,t,ae),e,Se),s))),C=e=>{K(le(b,e),(e=>{ce(e,((e,t)=>re(t,(t=>e.delListener(t))))),ne(e)})),J([y,T],(t=>t.delTable(e)))},x=(e,t,s)=>m(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),E={setQueryDefinition:(t,n,r)=>{l(t,n),C(t);const o=[],a=[[null,[n,null,null,[],ae()]]],i=[],c=[],d=[];r({select:(e,t)=>{const n=X(e)?[D(o)+s,e]:[G(t)?e:t,s=>s(e,t)];return z(o,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=G(s)||X(t)?null:t,r=G(n)?t:s,o=[e,[e,n,X(r)?r:e=>e(r),[],ae()]];return z(a,o),{as:e=>o[0]=e}},where:(e,t,s)=>z(i,X(e)?e:G(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,r)=>{const o=[e,[e,X(t)?[t,s,n,r]:le(Ne,t)??[(e,t)=>t]]];return z(c,o),{as:e=>o[0]=e}},having:(e,t)=>z(d,X(e)?e:s=>s(e)===t)});const u=ae(o);if(te(u))return E;const h=ae(a);ce(h,((e,[,t])=>K(le(h,t),(({3:t})=>G(e)?0:z(t,e)))));const g=ae(c);let f=T;if(te(g)&&F(d))f=y;else{x(t,f,y);const e=ae();ce(g,((t,[s,n])=>Re(ue(e,s,Se),[t,n])));const s=Se();ce(u,(t=>ee(e,t)?0:Re(s,t)));const n=ae(),r=(s,n,r,o)=>K(s,(([a,i,l,c])=>{ce(n,((t,[s])=>{const n=ue(a,t,ae),i=le(n,r),l=o?void 0:s;if(i!==l){const s=Se([[i,l]]),o=_(n);de(n,r,l),re(le(e,t),(([e,t])=>{const r=Oe(c[e],o,n,s,t);c[e]=G(we(r))?null:r}))}})),te(i)||!V(d,(e=>e((e=>c[e]))))?y.delRow(t,l):G(l)?s[2]=y.addRow(t,c):y.setRow(t,l,c)}));m(f,t,f.addRowListener(t,null,((o,a,i,l)=>{const c=[],d=[],u=ae(),h=f.hasRow(t,i);let g=!h;re(s,(e=>{const[s,n,r]=l(t,i,e);z(c,n),z(d,r),g||=s})),ce(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&de(u,e,[n])})),g&&r(Le(n,c,void 0,(([,e])=>(oe(e,i),te(e)))),u,i,1),h&&r(Le(n,d,(()=>{const e={};return re(s,(s=>e[s]=f.getCell(t,i,s))),[ae(),Se(),void 0,e]}),(([,e])=>{Re(e,i)})),u,i)})))}x(t,e,f);const p=(s,r,o,a)=>{const l=t=>e.getCell(r,o,t);J(a,(n=>{const[r,,o,a,i]=le(h,n),c=o?.(l,s),[d,u]=le(i,s)??[];c!=d&&(G(u)||w(t,u),de(i,s,G(c)?null:[c,...L(t,1,e.addRowListener(r,c,(()=>p(s,r,c,a))))]))})),(s=>{const r=(t,r)=>e.getCell(...G(r)?[n,s,t]:t===n?[n,s,r]:[le(h,t)?.[0],le(le(h,t)?.[4],s)?.[0],r]);f.transaction((()=>V(i,(e=>e(r)))?ce(u,((e,n)=>pe(f,t,s,e,n(r,s)))):f.delRow(t,s)))})(s)},{3:v}=le(h,null);return f.transaction((()=>L(t,1,e.addRowListener(n,null,((s,r,o)=>{e.hasRow(n,o)?p(o,n,o,v):(f.delRow(t,o),re(h,(({4:e})=>K(le(e,o),(([,s])=>{w(t,s),de(e,o)})))))}))))),E},delQueryDefinition:e=>(C(e),c(e),E),getStore:n,getQueryIds:r,forEachQuery:o,hasQuery:a,getTableId:i,delListener:e=>(y.delListener(e),E),destroy:g,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=y.getListenerStats();return n}};return De({[f]:[1,1],[v]:[0,1],[S]:[0,5],[p]:[1,2],[I]:[0,2],[R]:[1,3]},(([e,t],s)=>{J(e?["get","has","forEach"]:["get"],(e=>E[e+u+s]=(...t)=>y[e+s](...t))),E[h+u+s+d]=(...e)=>y[h+s+d](...Q(e,0,t),((s,...n)=>e[t](E,...n)))})),ke(E)})),Ke=ye((e=>{const t=ae(),n=ae(),r=ae(),o=ae(),[a,i,l,c,d,u,,,h,g,f]=Ie(e,(()=>[ae(),ae(),ae(),ae()]),(e=>G(e)?void 0:e+s)),[L,w,p]=Ce((()=>I)),v=(e,t,s)=>K(u(e),(([n,,r])=>{if(!ee(r,t)){const o=Se();if(d(e)!=R(e))Re(o,t);else{let e=t;for(;!G(e)&&!ee(o,e);)Re(o,e),e=le(n,e)}if(s)return o;de(r,t,o)}return le(r,t)})),S=(e,t)=>K(u(e),(([,,e])=>de(e,t))),R=e=>le(t,e),I={setRelationshipDefinition:(e,s,a,i)=>(de(t,e,a),h(e,s,((t,s)=>{const a=Se(),i=Se(),l=Se(),[c,d]=u(e);re(s,(([t,s],n)=>{G(t)||(Re(i,t),K(le(d,t),(e=>{oe(e,n),te(e)&&de(d,t)}))),G(s)||(Re(i,s),ee(d,s)||de(d,s,Se()),Re(le(d,s),n)),Re(a,n),de(c,n,s),ce(le(o,e),(t=>{ee(v(e,t),n)&&Re(l,t)}))})),t(),re(a,(t=>w(n,[e,t]))),re(i,(t=>w(r,[e,t]))),re(l,(t=>{S(e,t),w(o,[e,t])}))}),Te(i)),I),delRelationshipDefinition:e=>(de(t,e),g(e),I),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)=>le(u(e)?.[0],t),getLocalRowIds:(e,t)=>se(le(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>G(u(e))?[t]:se(v(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>L(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,r,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(v(e,t),L(s,o,[e,t])),delListener:e=>(S(...p(e)),I),destroy:f,getListenerStats:()=>({})};return ke(I)})),Ue=e=>[e,e],Xe=()=>[ae(),ae()],Ye=(e,t,s,n=de)=>(De(t,((t,n)=>s(e,n,t))),ce(e,(s=>Me(t,s)?0:n(e,s))),e),Ze=(e,t,s)=>G(e)||!Je(e)||Fe(e)||Ee(e)?(s?.(),!1):(De(e,((s,n)=>{t(s,n)||Ae(e,n)})),!Fe(e)),_e=(e,t,s)=>de(e,t,le(e,t)==-s?void 0:s),et=()=>{let e,t,s,n,r=0;const a=ae(),c=ae(),u=ae(),g=ae(),S=ae(),V=ae(),E=ae(),A=ae(),D=ae(),F=ae(),P=ae(),N=ae(),O=Se(),q=ae(),B=ae(),H=ae(),$=Xe(),Y=Xe(),Z=Xe(),_=Xe(),se=Xe(),Le=Xe(),Ie=Xe(),Te=Xe(),ye=Xe(),be=Xe(),Ve=Xe(),xe=Xe(),Ee=Xe(),Je=Xe(),[Pe,ze,Ne,Oe]=Ce((()=>ts)),je=e=>{if(!Ze(e,((e,t)=>C([i,l],t))))return!1;const t=e[i];return!(!U(t)&&t!=o||(we(e[l])!=t&&Ae(e,l),0))},We=(t,s)=>(!e||ee(D,s)||bt(s))&&Ze(t,((e,t)=>qe(s,t,e)),(()=>bt(s))),qe=(e,t,s,n)=>Ze(n?s:Ge(s,e,t),((n,r)=>K(Be(e,t,r,n),(e=>(s[r]=e,!0)),(()=>!1))),(()=>bt(e,t))),Be=(t,s,n,r)=>e?K(le(le(D,t),n),(e=>we(r)!=e[i]?bt(t,s,n,r,e[l]):r),(()=>bt(t,s,n,r))):G(we(r))?bt(t,s,n,r):r,He=(e,t)=>Ze(t?e:Ke(e),((t,s)=>K($e(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>mt())),$e=(e,s)=>t?K(le(P,e),(t=>we(s)!=t[i]?mt(e,s,t[l]):s),(()=>mt(e,s))):G(we(s))?mt(e,s):s,Ge=(e,t,s)=>(K(le(F,t),(([n,r])=>{re(n,((t,s)=>{Me(e,s)||(e[s]=t)})),re(r,(n=>{Me(e,n)||bt(t,s,n)}))})),e),Ke=e=>(t&&(re(N,((t,s)=>{Me(e,s)||(e[s]=t)})),re(O,(t=>{Me(e,t)||mt(t)}))),e),tt=e=>Ye(D,e,((e,t,s)=>{const n=ae(),r=Se();Ye(ue(D,t,ae),s,((e,t,s)=>{de(e,t,s),K(s[l],(e=>de(n,t,e)),(()=>Re(r,t)))})),de(F,t,[n,r])}),((e,t)=>{de(D,t),de(F,t)})),st=e=>Ye(P,e,((e,t,s)=>{de(P,t,s),K(s[l],(e=>de(N,t,e)),(()=>Re(O,t)))}),((e,t)=>{de(P,t),de(N,t),oe(O,t)})),nt=e=>Fe(e)?Kt():qt(e),rt=e=>Ye(B,e,((e,t,s)=>ot(t,s)),((e,t)=>ft(t))),ot=(e,t)=>Ye(ue(B,e,(()=>(vt(e,1),ae()))),t,((t,s,n)=>at(e,t,s,n)),((t,s)=>Lt(e,t,s))),at=(e,t,s,n,r)=>Ye(ue(t,s,(()=>(St(e,s,1),ae()))),n,((t,n,r)=>it(e,s,t,n,r)),((n,o)=>wt(e,t,s,n,o,r))),it=(e,t,s,n,r)=>{ee(s,n)||Rt(e,t,n,1);const o=le(s,n);r!==o&&(It(e,t,n,o,r),de(s,n,r))},lt=(e,t,s,n,r)=>K(le(t,s),(t=>it(e,s,t,n,r)),(()=>at(e,t,s,Ge({[n]:r},e,s)))),ct=e=>Fe(e)?Ut():Bt(e),dt=e=>Ye(H,e,((e,t,s)=>ut(t,s)),((e,t)=>pt(t))),ut=(e,t)=>{ee(H,e)||Tt(e,1);const s=le(H,e);t!==s&&(yt(e,s,t),de(H,e,t))},ht=(e,t)=>{const[s]=ue(q,e,me),n=s(t);return ee(le(B,e),n)?ht(e,t):n},gt=e=>le(B,e)??ot(e,{}),ft=e=>ot(e,{}),Lt=(e,t,s)=>{const[,n]=ue(q,e,me);n(s),at(e,t,s,{},!0)},wt=(e,t,s,n,r,o)=>{const a=le(le(F,e)?.[0],r);if(!G(a)&&!o)return it(e,s,n,r,a);const i=t=>{It(e,s,t,le(n,t)),Rt(e,s,t,-1),de(n,t)};G(a)?i(r):ce(n,i),te(n)&&(St(e,s,-1),te(de(t,s))&&(vt(e,-1),de(B,e),de(q,e)))},pt=e=>{const t=le(N,e);if(!G(t))return ut(e,t);yt(e,le(H,e)),Tt(e,-1),de(H,e)},vt=(e,t)=>_e(a,e,t),St=(e,t,s)=>_e(ue(c,e,ae),t,s),Rt=(e,t,s,n)=>_e(ue(ue(u,e,ae),t,ae),s,n),It=(e,t,s,n,r)=>ue(ue(ue(g,e,ae),t,ae),s,(()=>[n,0]))[1]=r,Tt=(e,t)=>_e(S,e,t),yt=(e,t,s)=>ue(V,e,(()=>[t,0]))[1]=s,bt=(e,t,s,n,r)=>(z(ue(ue(ue(E,e,ae),t,ae),s,(()=>[])),n),r),mt=(e,t,s)=>(z(ue(A,e,(()=>[])),t),s),Ct=(e,t,s)=>K(le(le(le(g,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(Nt(e,t,s))])),Vt=e=>K(le(V,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(Wt(e))])),xt=e=>te(E)||te(ye[e])?0:re(e?ge(E,fe):E,((t,s)=>re(t,((t,n)=>re(t,((t,r)=>ze(ye[e],[s,n,r],t))))))),Et=e=>te(A)||te(be[e])?0:re(e?ge(A):A,((t,s)=>ze(be[e],[s],t))),kt=(e,t,s)=>{if(!te(t))return ze(e,s),1},Jt=e=>{const t=te(se[e]),s=te(Ie[e])&&te(_[e])&&t&&te(Y[e]),n=te(Te[e])&&te(Le[e])&&te(Z[e])&&te($[e]);if(!s||!n){const r=e?[ge(a),fe(c),ge(u,fe),ge(g,fe)]:[a,c,u,g];if(!s){re(r[2],((t,s)=>re(t,((t,n)=>kt(Ie[e],t,[s,n])))));const s=Se();re(r[1],((n,r)=>{kt(_[e],n,[r])&&!t&&(ze(se[e],[r,null]),Re(s,r))})),t||re(r[3],((t,n)=>{if(!ee(s,n)){const s=Se();re(t,(e=>re(e,(([t,n],r)=>n!==t?Re(s,r):oe(e,r))))),re(s,(t=>ze(se[e],[n,t])))}})),kt(Y[e],r[0])}if(!n){let t;re(r[3],((s,n)=>{let r;re(s,((s,o)=>{let a;re(s,(([s,i],l)=>{i!==s&&(ze(Te[e],[n,o,l],i,s,Ct),t=r=a=1)})),a&&ze(Le[e],[n,o],Ct)})),r&&ze(Z[e],[n],Ct)})),t&&ze($[e],void 0,Ct)}}},Mt=e=>{const t=te(xe[e]),s=te(Ee[e])&&te(Ve[e]);if(!t||!s){const n=e?[ge(S),ge(V)]:[S,V];if(t||kt(xe[e],n[0]),!s){let t;re(n[1],(([s,n],r)=>{n!==s&&(ze(Ee[e],[r],n,s,Vt),t=1)})),t&&ze(Ve[e],void 0,Vt)}}},At=(e,...t)=>(Zt((()=>e(...M(t,m)))),ts),Dt=()=>he(B,(e=>he(e,he))),Ft=()=>ie(B),Pt=e=>ie(le(B,m(e))),Qt=(e,t,s,n=0,r)=>{return M(Q(k((o=le(B,m(e)),a=(e,s)=>[G(t)?s:le(e,m(t)),s],M([...o?.entries()??[]],(([e,t])=>a(t,e)))),(([e],[t])=>Qe(e,t)*(s?-1:1))),n,G(r)?r:n+r),(([,e])=>e));var o,a},zt=(e,t)=>ie(le(le(B,m(e)),m(t))),Nt=(e,t,s)=>le(le(le(B,m(e)),m(t)),m(s)),Ot=()=>he(H),jt=()=>ie(H),Wt=e=>le(H,m(e)),qt=e=>At((()=>(e=>Ze(e,We,bt))(e)?rt(e):0)),Bt=e=>At((()=>He(e)?dt(e):0)),Ht=e=>{try{nt(W(e))}catch{}return ts},$t=t=>At((()=>{if((e=Ze(t,(e=>Ze(e,je))))&&(tt(t),!te(B))){const e=Dt();Kt(),qt(e)}})),Gt=e=>At((()=>{if(t=(e=>Ze(e,je))(e)){const s=Ot();Yt(),Ut(),t=!0,st(e),Bt(s)}})),Kt=()=>At((()=>rt({}))),Ut=()=>At((()=>dt({}))),Xt=()=>At((()=>{tt({}),e=!1})),Yt=()=>At((()=>{st({}),t=!1})),Zt=(e,t)=>{if(-1==r)return;_t();const s=e();return es(t),s},_t=()=>(r++,ts),es=e=>(r>0&&(r--,0==r&&(s=!te(g),n=!te(V),r=1,xt(1),s&&Jt(1),Et(1),n&&Mt(1),r=-1,e?.(he(g,(e=>he(e,(e=>he(e,(e=>[...e]),(([e,t])=>e===t))),Fe)),Fe),he(E,(e=>he(e,he))),he(V,(e=>[...e]),(([e,t])=>e===t)),he(A))&&(r=1,re(g,((e,t)=>re(e,((e,s)=>re(e,(([e],n)=>pe(ts,t,s,n,e))))))),re(V,(([e],t)=>ve(ts,t,e))),r=-1,s=n=!1),ze(Je[0],void 0,s,n),xt(0),s&&Jt(0),Et(0),n&&Mt(0),ze(Je[1],void 0,s,n),r=0,J([a,c,u,g,E,S,V,A],ne))),ts),ts={getTables:Dt,getTableIds:Ft,getTable:e=>he(le(B,m(e)),he),getRowIds:Pt,getSortedRowIds:Qt,getRow:(e,t)=>he(le(le(B,m(e)),m(t))),getCellIds:zt,getCell:Nt,getValues:Ot,getValueIds:jt,getValue:Wt,hasTables:()=>!te(B),hasTable:e=>ee(B,m(e)),hasRow:(e,t)=>ee(le(B,m(e)),m(t)),hasCell:(e,t,s)=>ee(le(le(B,m(e)),m(t)),m(s)),hasValues:()=>!te(H),hasValue:e=>ee(H,m(e)),getTablesJson:()=>j(B),getValuesJson:()=>j(H),getJson:()=>j([B,H]),getTablesSchemaJson:()=>j(D),getValuesSchemaJson:()=>j(P),getSchemaJson:()=>j([D,P]),setTables:qt,setTable:(e,t)=>At((e=>We(t,e)?ot(e,t):0),e),setRow:(e,t,s)=>At(((e,t)=>qe(e,t,s)?at(e,gt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Zt((()=>{let n;return qe(e,n,t)&&(e=m(e),at(e,gt(e),n=ht(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>At(((e,t)=>{if(qe(e,t,s,1)){const n=gt(e);De(s,((s,r)=>lt(e,n,t,r,s)))}}),e,t),setCell:(e,t,s,n)=>At(((e,t,s)=>K(Be(e,t,s,X(n)?n(Nt(e,t,s)):n),(n=>lt(e,gt(e),t,s,n)))),e,t,s),setValues:Bt,setPartialValues:e=>At((()=>He(e,1)?De(e,((e,t)=>ut(t,e))):0)),setValue:(e,t)=>At((e=>K($e(e,X(t)?t(Wt(e)):t),(t=>ut(e,t)))),e),setTablesJson:Ht,setValuesJson:e=>{try{ct(W(e))}catch{}return ts},setJson:e=>{try{const[t,s]=W(e);nt(t),ct(s)}catch{Ht(e)}return ts},setTablesSchema:$t,setValuesSchema:Gt,setSchema:(e,t)=>At((()=>{$t(e),Gt(t)})),delTables:Kt,delTable:e=>At((e=>ee(B,e)?ft(e):0),e),delRow:(e,t)=>At(((e,t)=>K(le(B,e),(s=>ee(s,t)?Lt(e,s,t):0))),e,t),delCell:(e,t,s,n)=>At(((e,t,s)=>K(le(B,e),(r=>K(le(r,t),(o=>ee(o,s)?wt(e,r,t,o,s,n):0))))),e,t,s),delValues:Ut,delValue:e=>At((e=>ee(H,e)?pt(e):0),e),delTablesSchema:Xt,delValuesSchema:Yt,delSchema:()=>At((()=>{Xt(),Yt()})),transaction:Zt,startTransaction:_t,finishTransaction:es,forEachTable:e=>re(B,((t,s)=>e(s,(e=>re(t,((t,s)=>e(s,(e=>ce(t,e))))))))),forEachRow:(e,t)=>re(le(B,m(e)),((e,s)=>t(s,(t=>ce(e,t))))),forEachCell:(e,t,s)=>ce(le(le(B,m(e)),m(t)),s),forEachValue:e=>ce(H,e),addSortedRowIdsListener:(e,t,s,n,r,o,a)=>{let i=Qt(e,t,s,n,r);return Pe((()=>{const a=Qt(e,t,s,n,r);x(a,i)||(i=a,o(ts,e,t,s,n,r,i))}),se[a?1:0],[e,t],[Ft])},addWillFinishTransactionListener:e=>Pe(e,Je[0]),addDidFinishTransactionListener:e=>Pe(e,Je[1]),callListener:e=>(Oe(e),ts),delListener:e=>(Ne(e),ts),getListenerStats:()=>({}),createStore:et};return De({[L]:[0,$],[w]:[0,Y],[f]:[1,Z,[Ft]],[v]:[1,_,[Ft]],[p]:[2,Le,[Ft,Pt]],[I]:[2,Ie,[Ft,Pt]],[R]:[3,Te,[Ft,Pt,zt],e=>Ue(Nt(...e))],InvalidCell:[3,ye],[y]:[0,Ve],[b]:[0,xe],[T]:[1,Ee,[jt],e=>Ue(Wt(e[0]))],InvalidValue:[1,be]},(([e,t,s,n],r)=>{ts[h+r+d]=(...r)=>Pe(r[e],t[r[e+1]?1:0],e>0?Q(r,0,e):void 0,s,n)})),ke(ts)};exports.createCheckpoints=Pe,exports.createCustomPersister=We,exports.createFilePersister=(t,s)=>{let n;return We(t,(async()=>{try{return await e.promises.readFile(s,c)}catch{}}),(async t=>{try{await e.promises.writeFile(s,t,c)}catch{}}),(t=>{n=e.watch(s,t)}),(()=>{n?.close(),n=void 0}))},exports.createIndexes=ze,exports.createLocalPersister=(e,t)=>He(e,t,localStorage),exports.createMetrics=je,exports.createQueries=Ge,exports.createRelationships=Ke,exports.createRemotePersister=(e,t,s,n)=>{let r,o;return We(e,(async()=>{const e=await fetch(t);return o=$e(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{r=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),n=$e(s);G(o)||G(n)||n==o||(o=n,e())}),1e3*n)}),(()=>{K(r,clearInterval),r=void 0}))},exports.createSessionPersister=(e,t)=>He(e,t,sessionStorage),exports.createStore=et,exports.defaultSorter=Qe;
|
|
1
|
+
"use strict";var e=require("fs");const t=e=>typeof e,s="",n=t(s),r=t(!0),o=t(0),a=t(t),i="type",l="default",c="utf8",d="Listener",u="Result",h="add",g="Ids",f="Table",L=f+"s",w=f+g,p="Row",v=p+g,S="Sorted"+p+g,R="Cell",I=R+g,T="Value",y=T+"s",b=T+g,m=e=>s+e,C=(e,t)=>e.includes(t),V=(e,t)=>e.every(t),x=(e,t)=>D(e)===D(t)&&V(e,((e,s)=>t[s]===e)),E=(e,t)=>V(e,((s,n)=>0==n||t(e[n-1],s)<=0)),k=(e,t)=>e.sort(t),J=(e,t)=>e.forEach(t),M=(e,t)=>e.map(t),A=e=>P(e,((e,t)=>e+t),0),D=e=>e.length,F=e=>0==D(e),P=(e,t,s)=>e.reduce(t,s),Q=(e,t,s)=>e.slice(t,s),z=(e,...t)=>e.push(...t),N=e=>e.pop(),O=e=>e.shift(),j=e=>JSON.stringify(e,((e,t)=>$(t,Map)?P([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),W=JSON.parse,q=Math.max,B=Math.min,H=isFinite,$=(e,t)=>e instanceof t,G=e=>null==e,K=(e,t,s)=>G(e)?s?.():t(e),U=e=>e==n||e==r,X=e=>t(e)==a,Y=e=>Array.isArray(e),Z=()=>{},_=e=>e.size,ee=(e,t)=>e?.has(t)??!1,te=e=>G(e)||0==_(e),se=e=>[...e?.values()??[]],ne=e=>e.clear(),re=(e,t)=>e?.forEach(t),oe=(e,t)=>e?.delete(t),ae=e=>new Map(e),ie=e=>[...e?.keys()??[]],le=(e,t)=>e?.get(t),ce=(e,t)=>re(e,((e,s)=>t(s,e))),de=(e,t,s)=>G(s)?(oe(e,t),e):e?.set(t,s),ue=(e,t,s)=>(ee(e,t)||de(e,t,s()),le(e,t)),he=(e,t,s)=>{const n={},r=t??(e=>e);return re(e,((e,t)=>K(r(e),(e=>s?.(e)?0:n[t]=e)))),n},ge=(e,t)=>{const s=ae(),n=t??(e=>e);return re(e,((e,t)=>s.set(t,n(e)))),s},fe=e=>ge(e,ge),Le=(e,t,s,n,r=0)=>K((s?ue:le)(e,t[r],r>D(t)-2?s:ae),(o=>{if(r>D(t)-2)return n?.(o)&&de(e,t[r]),o;const a=Le(o,t,s,n,r+1);return te(o)&&de(e,t[r]),a})),we=e=>{const s=t(e);return U(s)||s==o&&H(e)?s:void 0},pe=(e,t,s,n,r)=>G(r)?e.delCell(t,s,n,!0):e.setCell(t,s,n,r),ve=(e,t,s)=>G(s)?e.delValue(t):e.setValue(t,s),Se=e=>new Set(Y(e)||G(e)?e:[e]),Re=(e,t)=>e?.add(t),Ie=(e,t,s)=>{const n=e.hasRow,r=ae(),o=ae(),a=ae(),i=ae(),l=ae(),c=(t,s,...n)=>{const r=ue(l,t,Se);return J(n,(t=>Re(r,t)&&s&&e.callListener(t))),n},d=(t,...s)=>K(le(l,t),(n=>{J(F(s)?se(n):s,(t=>{e.delListener(t),oe(n,t)})),te(n)&&de(l,t)})),u=(e,s)=>{de(r,e,s),ee(o,e)||(de(o,e,t()),de(a,e,ae()),de(i,e,ae()))},h=e=>{de(r,e),de(o,e),de(a,e),de(i,e),d(e)};return[()=>e,()=>ie(r),e=>ce(o,e),e=>ee(o,e),e=>le(r,e),e=>le(o,e),(e,t)=>de(o,e,t),u,(t,r,o,l,h)=>{u(t,r);const g=ae(),f=ae(),L=le(a,t),w=le(i,t),p=t=>{const o=s=>e.getCell(r,t,s),a=le(L,t),i=n(r,t)?s(l(o,t)):void 0;if(a===i||Y(a)&&Y(i)&&x(a,i)||de(g,t,[a,i]),!G(h)){const e=le(w,t),s=n(r,t)?h(o,t):void 0;e!=s&&de(f,t,s)}},v=e=>{o((()=>{re(g,(([,e],t)=>de(L,t,e))),re(f,((e,t)=>de(w,t,e)))}),g,f,L,w,e),ne(g),ne(f)};ce(L,p),e.hasTable(r)&&J(e.getRowIds(r),(e=>{ee(L,e)||p(e)})),v(!0),d(t),c(t,0,e.addRowListener(r,null,((e,t,s)=>p(s))),e.addTableListener(r,(()=>v())))},h,()=>ce(l,h),c,d]},Te=(e,r)=>t(e)==n?t=>t(e):e??(()=>r??s),ye=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},be=/^\d+$/,me=()=>{const e=[];let t=0;return[n=>(n?O(e):null)??s+t++,t=>{be.test(t)&&D(e)<1e3&&z(e,t)}]},Ce=e=>{let t;const[n,r]=me(),o=ae();return[(r,a,i,l=[],c=(()=>[]))=>{t??=e();const d=n(1);return de(o,d,[r,a,i,l,c]),Re(Le(a,i??[s],Se),d),d},(e,n,...r)=>J(((e,t=[s])=>{const n=[],r=(e,s)=>s==D(t)?z(n,e):null===t[s]?re(e,(e=>r(e,s+1))):J([t[s],null],(t=>r(le(e,t),s+1)));return r(e,0),n})(e,n),(e=>re(e,(e=>le(o,e)[0](t,...n??[],...r))))),e=>K(le(o,e),(([,t,n])=>(Le(t,n??[s],void 0,(t=>(oe(t,e),te(t)?1:0))),de(o,e),r(e),n))),e=>K(le(o,e),(([e,,s=[],n,r])=>{const o=(...a)=>{const i=D(a);i==D(s)?e(t,...a,...r(a)):G(s[i])?J(n[i]?.(...a)??[],(e=>o(...a,e))):o(...a,s[i])};o()}))]},Ve=Object,xe=Ve.keys,Ee=Ve.isFrozen,ke=Ve.freeze,Je=e=>$(e,Ve)&&e.constructor==Ve,Me=(e,t)=>!G(((e,t)=>K(e,(e=>e[t])))(e,t)),Ae=(e,t)=>delete e[t],De=(e,t)=>M(Ve.entries(e),(([e,s])=>t(s,e))),Fe=e=>Je(e)&&F(xe(e)),Pe=ye((e=>{let t,n,r,o=100,a=ae(),i=ae(),l=1;const c=ae(),d=ae(),[u,h,g]=Ce((()=>Q)),f=ae(),L=ae(),w=[],p=[],v=(t,s)=>{l=0,e.transaction((()=>{const[n,r]=le(f,s);re(n,((s,n)=>re(s,((s,r)=>re(s,((s,o)=>pe(e,n,r,o,s[t]))))))),re(r,((s,n)=>ve(e,n,s[t])))})),l=1},S=e=>{de(f,e),de(L,e),h(d,[e])},R=(e,t)=>J(((e,t)=>e.splice(0,t))(e,t??D(e)),S),I=()=>R(w,D(w)-o),T=()=>K(t,(()=>{z(w,t),I(),R(p),t=void 0,r=1})),y=()=>{t=N(w),r=1},b=e.addCellListener(null,null,null,((e,t,s,n,r,o)=>{if(l){T();const e=ue(a,t,ae),i=ue(e,s,ae),l=ue(i,n,(()=>[o,void 0]));l[1]=r,l[0]===r&&te(de(i,n))&&te(de(e,s))&&te(de(a,t))&&y(),k()}})),m=e.addValueListener(null,((e,t,s,n)=>{if(l){T();const e=ue(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&te(de(i,t))&&y(),k()}})),V=(e="")=>(G(t)&&(t=s+n++,de(f,t,[a,i]),A(t,e),a=ae(),i=ae(),r=1),t),x=()=>{F(w)||(((e,...t)=>{e.unshift(...t)})(p,V()),v(0,t),t=N(w),r=1)},E=()=>{F(p)||(z(w,t),t=O(p),v(1,t),r=1)},k=()=>{r&&(h(c),r=0)},M=e=>{const t=V(e);return k(),t},A=(e,t)=>(P(e)&&le(L,e)!==t&&(de(L,e,t),h(d,[e])),Q),P=e=>ee(f,e),Q={setSize:e=>(o=e,I(),Q),addCheckpoint:M,setCheckpoint:A,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...p]],forEachCheckpoint:e=>ce(L,e),hasCheckpoint:P,getCheckpoint:e=>le(L,e),goBackward:()=>(x(),k(),Q),goForward:()=>(E(),k(),Q),goTo:e=>{const s=C(w,e)?x:C(p,e)?E:null;for(;!G(s)&&e!=t;)s();return k(),Q},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),Q),clear:()=>(R(w),R(p),G(t)||S(t),t=void 0,n=0,M(),Q),destroy:()=>{e.delListener(b),e.delListener(m)},getListenerStats:()=>({})};return ke(Q.clear())})),Qe=(e,t)=>e<t?-1:1,ze=ye((e=>{const t=ae(),n=ae(),[r,o,a,i,l,c,d,,u,h,g]=Ie(e,ae,(e=>G(e)?s:Y(e)?M(e,m):m(e))),[f,L,w]=Ce((()=>v)),p=(t,s,n)=>{const r=l(t);re(n,((t,n)=>s(n,(s=>re(t,(t=>s(t,(s=>e.forEachCell(r,t,s)))))))))},v={setIndexDefinition:(e,s,r,o,a,i=Qe)=>{const l=G(a)?void 0:([e],[t])=>a(e,t);return u(e,s,((s,r,a,u,h,g)=>{let f=0;const w=Se(),p=Se(),v=c(e);if(re(r,(([e,t],s)=>{const n=Se(e),r=Se(t);re(n,(e=>oe(r,e)?oe(n,e):0)),re(n,(e=>{Re(w,e),K(le(v,e),(t=>{oe(t,s),te(t)&&(de(v,e),f=1)}))})),re(r,(e=>{Re(w,e),ee(v,e)||(de(v,e,Se()),f=1),Re(le(v,e),s),G(o)||Re(p,e)}))})),s(),te(h)||(g?ce(v,(e=>Re(p,e))):ce(a,(e=>K(le(u,e),(e=>Re(p,e))))),re(p,(e=>{const t=(t,s)=>i(le(h,t),le(h,s),e),s=[...le(v,e)];E(s,t)||(de(v,e,Se(k(s,t))),Re(w,e))}))),(f||g)&&!G(l)){const t=[...v];E(t,l)||(d(e,ae(k(t,l))),f=1)}f&&L(t,[e]),re(w,(t=>L(n,[e,t])))}),Te(r),K(o,Te)),v},delIndexDefinition:e=>(h(e),v),getStore:r,getIndexIds:o,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)=>ee(c(e),t),getTableId:l,getSliceIds:e=>ie(c(e)),getSliceRowIds:(e,t)=>se(le(c(e),t)),addSliceIdsListener:(e,s)=>f(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>f(s,n,[e,t]),delListener:e=>(w(e),v),destroy:g,getListenerStats:()=>({})};return ke(v)})),Ne=ae([["avg",[(e,t)=>A(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=>q(...e),(e,t)=>q(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:q(t,e)]],["min",[e=>B(...e),(e,t)=>B(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:B(t,e)]],["sum",[e=>A(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Oe=(e,t,s,n,r,o=!1)=>{if(te(s))return;const[a,i,l,c]=r;return o||=G(e),re(n,(([s,n])=>{o||(e=G(s)?i?.(e,n,t++):G(n)?l?.(e,s,t--):c?.(e,n,s,t),o||=G(e))})),o?a(se(s),_(s)):e},je=ye((e=>{const t=ae(),[n,r,o,a,i,l,c,,d,u,h]=Ie(e,Z,(e=>isNaN(e)||G(e)||!0===e||!1===e||e===s?void 0:1*e)),[g,f,L]=Ce((()=>w)),w={setMetricDefinition:(e,s,n,r,o,a,i)=>{const u=X(n)?[n,o,a,i]:le(Ne,n)??le(Ne,"sum");return d(e,s,((s,n,r,o,a,i)=>{const d=l(e),h=_(o);i||=G(d),s();let g=Oe(d,h,o,n,u,i);H(g)||(g=void 0),g!=d&&(c(e,g),f(t,[e],g,d))}),Te(r,1)),w},delMetricDefinition:e=>(u(e),w),getStore:n,getMetricIds:r,forEachMetric:o,hasMetric:a,getTableId:i,getMetric:l,addMetricListener:(e,s)=>g(s,t,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return ke(w)})),We=(e,t,n,r,o)=>{let a,i,l=0;const c={load:async(n={},r={})=>{if(2!=l){l=1;const o=await t();G(o)||o==s?e.transaction((()=>e.setTables(n).setValues(r))):e.setJson(o),l=0}return c},startAutoLoad:async(e={},t={})=>(c.stopAutoLoad(),await c.load(e,t),r(c.load),c),stopAutoLoad:()=>(o(),c),save:async()=>(1!=l&&(l=2,await n(e.getJson()),l=0),c),startAutoSave:async()=>(await c.stopAutoSave().save(),a=e.addTablesListener(c.save),i=e.addValuesListener(c.save),c),stopAutoSave:()=>(K(a,e.delListener),K(i,e.delListener),c),getStore:()=>e,destroy:()=>c.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ke(c)},qe="storage",Be=globalThis.window,He=(e,t,s)=>{let n;return We(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},Be.addEventListener(qe,n)}),(()=>{Be.removeEventListener(qe,n),n=void 0}))},$e=e=>e.headers.get("ETag"),Ge=ye((e=>{const t=e.createStore,[n,r,o,a,i,,,l,,c,g,L,w]=Ie(e,(()=>!0),Z),T=t(),y=t(),b=ae(),m=(e,t,...s)=>J(s,(s=>Re(ue(ue(b,t,ae),e,Se),s))),C=e=>{K(le(b,e),(e=>{ce(e,((e,t)=>re(t,(t=>e.delListener(t))))),ne(e)})),J([y,T],(t=>t.delTable(e)))},x=(e,t,s)=>m(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),E={setQueryDefinition:(t,n,r)=>{l(t,n),C(t);const o=[],a=[[null,[n,null,null,[],ae()]]],i=[],c=[],d=[];r({select:(e,t)=>{const n=X(e)?[D(o)+s,e]:[G(t)?e:t,s=>s(e,t)];return z(o,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=G(s)||X(t)?null:t,r=G(n)?t:s,o=[e,[e,n,X(r)?r:e=>e(r),[],ae()]];return z(a,o),{as:e=>o[0]=e}},where:(e,t,s)=>z(i,X(e)?e:G(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,r)=>{const o=[e,[e,X(t)?[t,s,n,r]:le(Ne,t)??[(e,t)=>t]]];return z(c,o),{as:e=>o[0]=e}},having:(e,t)=>z(d,X(e)?e:s=>s(e)===t)});const u=ae(o);if(te(u))return E;const h=ae(a);ce(h,((e,[,t])=>K(le(h,t),(({3:t})=>G(e)?0:z(t,e)))));const g=ae(c);let f=T;if(te(g)&&F(d))f=y;else{x(t,f,y);const e=ae();ce(g,((t,[s,n])=>Re(ue(e,s,Se),[t,n])));const s=Se();ce(u,(t=>ee(e,t)?0:Re(s,t)));const n=ae(),r=(s,n,r,o)=>K(s,(([a,i,l,c])=>{ce(n,((t,[s])=>{const n=ue(a,t,ae),i=le(n,r),l=o?void 0:s;if(i!==l){const s=Se([[i,l]]),o=_(n);de(n,r,l),re(le(e,t),(([e,t])=>{const r=Oe(c[e],o,n,s,t);c[e]=G(we(r))?null:r}))}})),te(i)||!V(d,(e=>e((e=>c[e]))))?y.delRow(t,l):G(l)?s[2]=y.addRow(t,c):y.setRow(t,l,c)}));m(f,t,f.addRowListener(t,null,((o,a,i,l)=>{const c=[],d=[],u=ae(),h=f.hasRow(t,i);let g=!h;re(s,(e=>{const[s,n,r]=l(t,i,e);z(c,n),z(d,r),g||=s})),ce(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&de(u,e,[n])})),g&&r(Le(n,c,void 0,(([,e])=>(oe(e,i),te(e)))),u,i,1),h&&r(Le(n,d,(()=>{const e={};return re(s,(s=>e[s]=f.getCell(t,i,s))),[ae(),Se(),void 0,e]}),(([,e])=>{Re(e,i)})),u,i)})))}x(t,e,f);const p=(s,r,o,a)=>{const l=t=>e.getCell(r,o,t);J(a,(n=>{const[r,,o,a,i]=le(h,n),c=o?.(l,s),[d,u]=le(i,s)??[];c!=d&&(G(u)||w(t,u),de(i,s,G(c)?null:[c,...L(t,1,e.addRowListener(r,c,(()=>p(s,r,c,a))))]))})),(s=>{const r=(t,r)=>e.getCell(...G(r)?[n,s,t]:t===n?[n,s,r]:[le(h,t)?.[0],le(le(h,t)?.[4],s)?.[0],r]);f.transaction((()=>V(i,(e=>e(r)))?ce(u,((e,n)=>pe(f,t,s,e,n(r,s)))):f.delRow(t,s)))})(s)},{3:v}=le(h,null);return f.transaction((()=>L(t,1,e.addRowListener(n,null,((s,r,o)=>{e.hasRow(n,o)?p(o,n,o,v):(f.delRow(t,o),re(h,(({4:e})=>K(le(e,o),(([,s])=>{w(t,s),de(e,o)})))))}))))),E},delQueryDefinition:e=>(C(e),c(e),E),getStore:n,getQueryIds:r,forEachQuery:o,hasQuery:a,getTableId:i,delListener:e=>(y.delListener(e),E),destroy:g,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=y.getListenerStats();return n}};return De({[f]:[1,1],[v]:[0,1],[S]:[0,5],[p]:[1,2],[I]:[0,2],[R]:[1,3]},(([e,t],s)=>{J(e?["get","has","forEach"]:["get"],(e=>E[e+u+s]=(...t)=>y[e+s](...t))),E[h+u+s+d]=(...e)=>y[h+s+d](...Q(e,0,t),((s,...n)=>e[t](E,...n)))})),ke(E)})),Ke=ye((e=>{const t=ae(),n=ae(),r=ae(),o=ae(),[a,i,l,c,d,u,,,h,g,f]=Ie(e,(()=>[ae(),ae(),ae(),ae()]),(e=>G(e)?void 0:e+s)),[L,w,p]=Ce((()=>I)),v=(e,t,s)=>K(u(e),(([n,,r])=>{if(!ee(r,t)){const o=Se();if(d(e)!=R(e))Re(o,t);else{let e=t;for(;!G(e)&&!ee(o,e);)Re(o,e),e=le(n,e)}if(s)return o;de(r,t,o)}return le(r,t)})),S=(e,t)=>K(u(e),(([,,e])=>de(e,t))),R=e=>le(t,e),I={setRelationshipDefinition:(e,s,a,i)=>(de(t,e,a),h(e,s,((t,s)=>{const a=Se(),i=Se(),l=Se(),[c,d]=u(e);re(s,(([t,s],n)=>{G(t)||(Re(i,t),K(le(d,t),(e=>{oe(e,n),te(e)&&de(d,t)}))),G(s)||(Re(i,s),ee(d,s)||de(d,s,Se()),Re(le(d,s),n)),Re(a,n),de(c,n,s),ce(le(o,e),(t=>{ee(v(e,t),n)&&Re(l,t)}))})),t(),re(a,(t=>w(n,[e,t]))),re(i,(t=>w(r,[e,t]))),re(l,(t=>{S(e,t),w(o,[e,t])}))}),Te(i)),I),delRelationshipDefinition:e=>(de(t,e),g(e),I),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)=>le(u(e)?.[0],t),getLocalRowIds:(e,t)=>se(le(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>G(u(e))?[t]:se(v(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>L(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,r,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(v(e,t),L(s,o,[e,t])),delListener:e=>(S(...p(e)),I),destroy:f,getListenerStats:()=>({})};return ke(I)})),Ue=e=>[e,e],Xe=()=>[ae(),ae()],Ye=(e,t,s,n=de)=>(De(t,((t,n)=>s(e,n,t))),ce(e,(s=>Me(t,s)?0:n(e,s))),e),Ze=(e,t,s)=>G(e)||!Je(e)||Fe(e)||Ee(e)?(s?.(),!1):(De(e,((s,n)=>{t(s,n)||Ae(e,n)})),!Fe(e)),_e=(e,t,s)=>de(e,t,le(e,t)==-s?void 0:s),et=()=>{let e,t,s,n,r=0;const a=ae(),c=ae(),u=ae(),g=ae(),S=ae(),V=ae(),E=ae(),A=ae(),D=ae(),F=ae(),P=ae(),N=ae(),O=Se(),q=ae(),B=ae(),H=ae(),$=Xe(),Y=Xe(),Z=Xe(),_=Xe(),se=Xe(),Le=Xe(),Ie=Xe(),Te=Xe(),ye=Xe(),be=Xe(),Ve=Xe(),xe=Xe(),Ee=Xe(),Je=Xe(),[Pe,ze,Ne,Oe]=Ce((()=>ts)),je=e=>{if(!Ze(e,((e,t)=>C([i,l],t))))return!1;const t=e[i];return!(!U(t)&&t!=o||(we(e[l])!=t&&Ae(e,l),0))},We=(t,s)=>(!e||ee(D,s)||bt(s))&&Ze(t,((e,t)=>qe(s,t,e)),(()=>bt(s))),qe=(e,t,s,n)=>Ze(n?s:Ge(s,e,t),((n,r)=>K(Be(e,t,r,n),(e=>(s[r]=e,!0)),(()=>!1))),(()=>bt(e,t))),Be=(t,s,n,r)=>e?K(le(le(D,t),n),(e=>we(r)!=e[i]?bt(t,s,n,r,e[l]):r),(()=>bt(t,s,n,r))):G(we(r))?bt(t,s,n,r):r,He=(e,t)=>Ze(t?e:Ke(e),((t,s)=>K($e(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>mt())),$e=(e,s)=>t?K(le(P,e),(t=>we(s)!=t[i]?mt(e,s,t[l]):s),(()=>mt(e,s))):G(we(s))?mt(e,s):s,Ge=(e,t,s)=>(K(le(F,t),(([n,r])=>{re(n,((t,s)=>{Me(e,s)||(e[s]=t)})),re(r,(n=>{Me(e,n)||bt(t,s,n)}))})),e),Ke=e=>(t&&(re(N,((t,s)=>{Me(e,s)||(e[s]=t)})),re(O,(t=>{Me(e,t)||mt(t)}))),e),tt=e=>Ye(D,e,((e,t,s)=>{const n=ae(),r=Se();Ye(ue(D,t,ae),s,((e,t,s)=>{de(e,t,s),K(s[l],(e=>de(n,t,e)),(()=>Re(r,t)))})),de(F,t,[n,r])}),((e,t)=>{de(D,t),de(F,t)})),st=e=>Ye(P,e,((e,t,s)=>{de(P,t,s),K(s[l],(e=>de(N,t,e)),(()=>Re(O,t)))}),((e,t)=>{de(P,t),de(N,t),oe(O,t)})),nt=e=>Fe(e)?Kt():qt(e),rt=e=>Ye(B,e,((e,t,s)=>ot(t,s)),((e,t)=>ft(t))),ot=(e,t)=>Ye(ue(B,e,(()=>(vt(e,1),ae()))),t,((t,s,n)=>at(e,t,s,n)),((t,s)=>Lt(e,t,s))),at=(e,t,s,n,r)=>Ye(ue(t,s,(()=>(St(e,s,1),ae()))),n,((t,n,r)=>it(e,s,t,n,r)),((n,o)=>wt(e,t,s,n,o,r))),it=(e,t,s,n,r)=>{ee(s,n)||Rt(e,t,n,1);const o=le(s,n);r!==o&&(It(e,t,n,o,r),de(s,n,r))},lt=(e,t,s,n,r)=>K(le(t,s),(t=>it(e,s,t,n,r)),(()=>at(e,t,s,Ge({[n]:r},e,s)))),ct=e=>Fe(e)?Ut():Bt(e),dt=e=>Ye(H,e,((e,t,s)=>ut(t,s)),((e,t)=>pt(t))),ut=(e,t)=>{ee(H,e)||Tt(e,1);const s=le(H,e);t!==s&&(yt(e,s,t),de(H,e,t))},ht=(e,t)=>{const[s]=ue(q,e,me),n=s(t);return ee(le(B,e),n)?ht(e,t):n},gt=e=>le(B,e)??ot(e,{}),ft=e=>ot(e,{}),Lt=(e,t,s)=>{const[,n]=ue(q,e,me);n(s),at(e,t,s,{},!0)},wt=(e,t,s,n,r,o)=>{const a=le(le(F,e)?.[0],r);if(!G(a)&&!o)return it(e,s,n,r,a);const i=t=>{It(e,s,t,le(n,t)),Rt(e,s,t,-1),de(n,t)};G(a)?i(r):ce(n,i),te(n)&&(St(e,s,-1),te(de(t,s))&&(vt(e,-1),de(B,e),de(q,e)))},pt=e=>{const t=le(N,e);if(!G(t))return ut(e,t);yt(e,le(H,e)),Tt(e,-1),de(H,e)},vt=(e,t)=>_e(a,e,t),St=(e,t,s)=>_e(ue(c,e,ae),t,s),Rt=(e,t,s,n)=>_e(ue(ue(u,e,ae),t,ae),s,n),It=(e,t,s,n,r)=>ue(ue(ue(g,e,ae),t,ae),s,(()=>[n,0]))[1]=r,Tt=(e,t)=>_e(S,e,t),yt=(e,t,s)=>ue(V,e,(()=>[t,0]))[1]=s,bt=(e,t,s,n,r)=>(z(ue(ue(ue(E,e,ae),t,ae),s,(()=>[])),n),r),mt=(e,t,s)=>(z(ue(A,e,(()=>[])),t),s),Ct=(e,t,s)=>K(le(le(le(g,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(Nt(e,t,s))])),Vt=e=>K(le(V,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ue(Wt(e))])),xt=e=>te(E)||te(ye[e])?0:re(e?ge(E,fe):E,((t,s)=>re(t,((t,n)=>re(t,((t,r)=>ze(ye[e],[s,n,r],t))))))),Et=e=>te(A)||te(be[e])?0:re(e?ge(A):A,((t,s)=>ze(be[e],[s],t))),kt=(e,t,s)=>{if(!te(t))return ze(e,s),1},Jt=e=>{const t=te(se[e]),s=te(Ie[e])&&te(_[e])&&t&&te(Y[e]),n=te(Te[e])&&te(Le[e])&&te(Z[e])&&te($[e]);if(!s||!n){const r=e?[ge(a),fe(c),ge(u,fe),ge(g,fe)]:[a,c,u,g];if(!s){re(r[2],((t,s)=>re(t,((t,n)=>kt(Ie[e],t,[s,n])))));const s=Se();re(r[1],((n,r)=>{kt(_[e],n,[r])&&!t&&(ze(se[e],[r,null]),Re(s,r))})),t||re(r[3],((t,n)=>{if(!ee(s,n)){const s=Se();re(t,(e=>re(e,(([t,n],r)=>n!==t?Re(s,r):oe(e,r))))),re(s,(t=>ze(se[e],[n,t])))}})),kt(Y[e],r[0])}if(!n){let t;re(r[3],((s,n)=>{let r;re(s,((s,o)=>{let a;re(s,(([s,i],l)=>{i!==s&&(ze(Te[e],[n,o,l],i,s,Ct),t=r=a=1)})),a&&ze(Le[e],[n,o],Ct)})),r&&ze(Z[e],[n],Ct)})),t&&ze($[e],void 0,Ct)}}},Mt=e=>{const t=te(xe[e]),s=te(Ee[e])&&te(Ve[e]);if(!t||!s){const n=e?[ge(S),ge(V)]:[S,V];if(t||kt(xe[e],n[0]),!s){let t;re(n[1],(([s,n],r)=>{n!==s&&(ze(Ee[e],[r],n,s,Vt),t=1)})),t&&ze(Ve[e],void 0,Vt)}}},At=(e,...t)=>(Zt((()=>e(...M(t,m)))),ts),Dt=()=>he(B,(e=>he(e,he))),Ft=()=>ie(B),Pt=e=>ie(le(B,m(e))),Qt=(e,t,s,n=0,r)=>{return M(Q(k((o=le(B,m(e)),a=(e,s)=>[G(t)?s:le(e,m(t)),s],M([...o?.entries()??[]],(([e,t])=>a(t,e)))),(([e],[t])=>Qe(e,t)*(s?-1:1))),n,G(r)?r:n+r),(([,e])=>e));var o,a},zt=(e,t)=>ie(le(le(B,m(e)),m(t))),Nt=(e,t,s)=>le(le(le(B,m(e)),m(t)),m(s)),Ot=()=>he(H),jt=()=>ie(H),Wt=e=>le(H,m(e)),qt=e=>At((()=>(e=>Ze(e,We,bt))(e)?rt(e):0)),Bt=e=>At((()=>He(e)?dt(e):0)),Ht=e=>{try{nt(W(e))}catch{}return ts},$t=t=>At((()=>{if((e=Ze(t,(e=>Ze(e,je))))&&(tt(t),!te(B))){const e=Dt();Kt(),qt(e)}})),Gt=e=>At((()=>{if(t=(e=>Ze(e,je))(e)){const s=Ot();Yt(),Ut(),t=!0,st(e),Bt(s)}})),Kt=()=>At((()=>rt({}))),Ut=()=>At((()=>dt({}))),Xt=()=>At((()=>{tt({}),e=!1})),Yt=()=>At((()=>{st({}),t=!1})),Zt=(e,t)=>{if(-1==r)return;_t();const s=e();return es(t),s},_t=()=>(r++,ts),es=e=>(r>0&&(r--,0==r&&(s=!te(g),n=!te(V),r=1,xt(1),s&&Jt(1),Et(1),n&&Mt(1),r=-1,e?.(he(g,(e=>he(e,(e=>he(e,(e=>[...e]),(([e,t])=>e===t))),Fe)),Fe),he(E,(e=>he(e,he))),he(V,(e=>[...e]),(([e,t])=>e===t)),he(A))&&(r=1,re(g,((e,t)=>re(e,((e,s)=>re(e,(([e],n)=>pe(ts,t,s,n,e))))))),re(V,(([e],t)=>ve(ts,t,e))),r=-1,s=n=!1),ze(Je[0],void 0,s,n),xt(0),s&&Jt(0),Et(0),n&&Mt(0),ze(Je[1],void 0,s,n),r=0,J([a,c,u,g,E,S,V,A],ne))),ts),ts={getTables:Dt,getTableIds:Ft,getTable:e=>he(le(B,m(e)),he),getRowIds:Pt,getSortedRowIds:Qt,getRow:(e,t)=>he(le(le(B,m(e)),m(t))),getCellIds:zt,getCell:Nt,getValues:Ot,getValueIds:jt,getValue:Wt,hasTables:()=>!te(B),hasTable:e=>ee(B,m(e)),hasRow:(e,t)=>ee(le(B,m(e)),m(t)),hasCell:(e,t,s)=>ee(le(le(B,m(e)),m(t)),m(s)),hasValues:()=>!te(H),hasValue:e=>ee(H,m(e)),getTablesJson:()=>j(B),getValuesJson:()=>j(H),getJson:()=>j([B,H]),getTablesSchemaJson:()=>j(D),getValuesSchemaJson:()=>j(P),getSchemaJson:()=>j([D,P]),setTables:qt,setTable:(e,t)=>At((e=>We(t,e)?ot(e,t):0),e),setRow:(e,t,s)=>At(((e,t)=>qe(e,t,s)?at(e,gt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Zt((()=>{let n;return qe(e,n,t)&&(e=m(e),at(e,gt(e),n=ht(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>At(((e,t)=>{if(qe(e,t,s,1)){const n=gt(e);De(s,((s,r)=>lt(e,n,t,r,s)))}}),e,t),setCell:(e,t,s,n)=>At(((e,t,s)=>K(Be(e,t,s,X(n)?n(Nt(e,t,s)):n),(n=>lt(e,gt(e),t,s,n)))),e,t,s),setValues:Bt,setPartialValues:e=>At((()=>He(e,1)?De(e,((e,t)=>ut(t,e))):0)),setValue:(e,t)=>At((e=>K($e(e,X(t)?t(Wt(e)):t),(t=>ut(e,t)))),e),setTablesJson:Ht,setValuesJson:e=>{try{ct(W(e))}catch{}return ts},setJson:e=>{try{const[t,s]=W(e);nt(t),ct(s)}catch{Ht(e)}return ts},setTablesSchema:$t,setValuesSchema:Gt,setSchema:(e,t)=>At((()=>{$t(e),Gt(t)})),delTables:Kt,delTable:e=>At((e=>ee(B,e)?ft(e):0),e),delRow:(e,t)=>At(((e,t)=>K(le(B,e),(s=>ee(s,t)?Lt(e,s,t):0))),e,t),delCell:(e,t,s,n)=>At(((e,t,s)=>K(le(B,e),(r=>K(le(r,t),(o=>ee(o,s)?wt(e,r,t,o,s,n):0))))),e,t,s),delValues:Ut,delValue:e=>At((e=>ee(H,e)?pt(e):0),e),delTablesSchema:Xt,delValuesSchema:Yt,delSchema:()=>At((()=>{Xt(),Yt()})),transaction:Zt,startTransaction:_t,finishTransaction:es,forEachTable:e=>re(B,((t,s)=>e(s,(e=>re(t,((t,s)=>e(s,(e=>ce(t,e))))))))),forEachRow:(e,t)=>re(le(B,m(e)),((e,s)=>t(s,(t=>ce(e,t))))),forEachCell:(e,t,s)=>ce(le(le(B,m(e)),m(t)),s),forEachValue:e=>ce(H,e),addSortedRowIdsListener:(e,t,s,n,r,o,a)=>{let i=Qt(e,t,s,n,r);return Pe((()=>{const a=Qt(e,t,s,n,r);x(a,i)||(i=a,o(ts,e,t,s,n,r,i))}),se[a?1:0],[e,t],[Ft])},addWillFinishTransactionListener:e=>Pe(e,Je[0]),addDidFinishTransactionListener:e=>Pe(e,Je[1]),callListener:e=>(Oe(e),ts),delListener:e=>(Ne(e),ts),getListenerStats:()=>({}),createStore:et};return De({[L]:[0,$],[w]:[0,Y],[f]:[1,Z,[Ft]],[v]:[1,_,[Ft]],[p]:[2,Le,[Ft,Pt]],[I]:[2,Ie,[Ft,Pt]],[R]:[3,Te,[Ft,Pt,zt],e=>Ue(Nt(...e))],InvalidCell:[3,ye],[y]:[0,Ve],[b]:[0,xe],[T]:[1,Ee,[jt],e=>Ue(Wt(e[0]))],InvalidValue:[1,be]},(([e,t,s,n],r)=>{ts[h+r+d]=(...r)=>Pe(r[e],t[r[e+1]?1:0],e>0?Q(r,0,e):void 0,s,n)})),ke(ts)};exports.createCheckpoints=Pe,exports.createCustomPersister=We,exports.createFilePersister=(t,s)=>{let n;return We(t,(async()=>{try{return await e.promises.readFile(s,c)}catch{}}),(async t=>{try{await e.promises.writeFile(s,t,c)}catch{}}),(t=>{n=e.watch(s,t)}),(()=>{n?.close(),n=void 0}))},exports.createIndexes=ze,exports.createLocalPersister=(e,t)=>He(e,t,localStorage),exports.createMetrics=je,exports.createQueries=Ge,exports.createRelationships=Ke,exports.createRemotePersister=(e,t,s,n)=>{let r,o;return We(e,(async()=>{const e=await fetch(t);return o=$e(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{r=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),n=$e(s);G(o)||G(n)||n==o||(o=n,e())}),1e3*n)}),(()=>{K(r,clearInterval),r=void 0}))},exports.createSessionPersister=(e,t)=>He(e,t,sessionStorage),exports.createStore=et,exports.defaultSorter=Qe;
|
package/lib/cjs/tinybase.cjs.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("fs");const t="utf8",r=e=>null==e,o=(e,t,o)=>r(e)?null==o?void 0:o():t(e),n=Object.freeze;var s=(e,t,r)=>new Promise(((o,n)=>{var s=e=>{try{l(r.next(e))}catch(e){n(e)}},a=e=>{try{l(r.throw(e))}catch(e){n(e)}},l=e=>e.done?o(e.value):Promise.resolve(e.value).then(s,a);l((r=r.apply(e,t)).next())}));const a=(e,t,a,l,i)=>{let u,c,d=0;const v={load:(o
|
|
1
|
+
"use strict";var e=require("fs");const t="utf8",r=e=>null==e,o=(e,t,o)=>r(e)?null==o?void 0:o():t(e),n=Object.freeze;var s=(e,t,r)=>new Promise(((o,n)=>{var s=e=>{try{l(r.next(e))}catch(e){n(e)}},a=e=>{try{l(r.throw(e))}catch(e){n(e)}},l=e=>e.done?o(e.value):Promise.resolve(e.value).then(s,a);l((r=r.apply(e,t)).next())}));const a=(e,t,a,l,i)=>{let u,c,d=0;const v={load:(...o)=>s(void 0,[...o],(function*(o={},n={}){if(2!=d){d=1;const s=yield t();r(s)||""==s?e.transaction((()=>e.setTables(o).setValues(n))):e.setJson(s),d=0}return v})),startAutoLoad:(...e)=>s(void 0,[...e],(function*(e={},t={}){return v.stopAutoLoad(),yield v.load(e,t),l(v.load),v})),stopAutoLoad:()=>(i(),v),save:()=>s(void 0,null,(function*(){return 1!=d&&(d=2,yield a(e.getJson()),d=0),v})),startAutoSave:()=>s(void 0,null,(function*(){return yield v.stopAutoSave().save(),u=e.addTablesListener(v.save),c=e.addValuesListener(v.save),v})),stopAutoSave:()=>(o(u,e.delListener),o(c,e.delListener),v),getStore:()=>e,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(v)};var l=(e,t,r)=>new Promise(((o,n)=>{var s=e=>{try{l(r.next(e))}catch(e){n(e)}},a=e=>{try{l(r.throw(e))}catch(e){n(e)}},l=e=>e.done?o(e.value):Promise.resolve(e.value).then(s,a);l((r=r.apply(e,t)).next())}));const i="storage",u=globalThis.window,c=(e,t,r)=>{let o;return a(e,(()=>l(void 0,null,(function*(){return r.getItem(t)}))),(e=>l(void 0,null,(function*(){return r.setItem(t,e)}))),(e=>{o=o=>{o.storageArea===r&&o.key===t&&e()},u.addEventListener(i,o)}),(()=>{u.removeEventListener(i,o),o=void 0}))};var d=(e,t,r)=>new Promise(((o,n)=>{var s=e=>{try{l(r.next(e))}catch(e){n(e)}},a=e=>{try{l(r.throw(e))}catch(e){n(e)}},l=e=>e.done?o(e.value):Promise.resolve(e.value).then(s,a);l((r=r.apply(e,t)).next())})),v=(e,t,r)=>new Promise(((o,n)=>{var s=e=>{try{l(r.next(e))}catch(e){n(e)}},a=e=>{try{l(r.throw(e))}catch(e){n(e)}},l=e=>e.done?o(e.value):Promise.resolve(e.value).then(s,a);l((r=r.apply(e,t)).next())}));const h=e=>e.headers.get("ETag");exports.createCustomPersister=a,exports.createFilePersister=(r,o)=>{let n;return a(r,(()=>d(void 0,null,(function*(){try{return yield e.promises.readFile(o,t)}catch(e){}}))),(r=>d(void 0,null,(function*(){try{yield e.promises.writeFile(o,r,t)}catch(e){}}))),(t=>{n=e.watch(o,t)}),(()=>{null==n||n.close(),n=void 0}))},exports.createLocalPersister=(e,t)=>c(e,t,localStorage),exports.createRemotePersister=(e,t,n,s)=>{let l,i;return a(e,(()=>v(void 0,null,(function*(){const e=yield fetch(t);return i=h(e),e.text()}))),(e=>v(void 0,null,(function*(){return yield fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:e})}))),(e=>{l=setInterval((()=>v(void 0,null,(function*(){const o=yield fetch(t,{method:"HEAD"}),n=h(o);r(i)||r(n)||n==i||(i=n,e())}))),1e3*s)}),(()=>{o(l,clearInterval),l=void 0}))},exports.createSessionPersister=(e,t)=>c(e,t,sessionStorage);
|
|
Binary file
|
package/lib/cjs-es6/tinybase.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("fs");const t=e=>typeof e,n="",r=t(n),s=t(!0),o=t(0),l=t(t),a="type",i="default",d="utf8",c="Listener",u="Result",v="add",h="Ids",f="Table",g=f+"s",p=f+h,L="Row",y=L+h,w="Sorted"+L+h,S="Cell",R=S+h,I="Value",T=I+"s",m=I+h,b=e=>n+e,x=(e,t)=>e.includes(t),C=(e,t)=>e.every(t),V=(e,t)=>A(e)===A(t)&&C(e,((e,n)=>t[n]===e)),E=(e,t)=>C(e,((n,r)=>0==r||t(e[r-1],n)<=0)),P=(e,t)=>e.sort(t),k=(e,t)=>e.forEach(t),J=(e,t)=>e.map(t),M=e=>O(e,((e,t)=>e+t),0),A=e=>e.length,D=e=>0==A(e),O=(e,t,n)=>e.reduce(t,n),F=(e,t,n)=>e.slice(t,n),j=(e,...t)=>e.push(...t),Q=e=>e.pop(),z=e=>e.shift(),N=e=>JSON.stringify(e,((e,t)=>$(t,Map)?O([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),W=JSON.parse,q=Math.max,B=Math.min,H=isFinite,$=(e,t)=>e instanceof t,G=e=>null==e,K=(e,t,n)=>G(e)?null==n?void 0:n():t(e),U=e=>e==r||e==s,X=e=>t(e)==l,Y=e=>Array.isArray(e),Z=()=>{},_=e=>e.size,ee=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},te=e=>G(e)||0==_(e),ne=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},re=e=>e.clear(),se=(e,t)=>null==e?void 0:e.forEach(t),oe=(e,t)=>null==e?void 0:e.delete(t),le=e=>new Map(e),ae=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},ie=(e,t)=>null==e?void 0:e.get(t),de=(e,t)=>se(e,((e,n)=>t(n,e))),ce=(e,t,n)=>G(n)?(oe(e,t),e):null==e?void 0:e.set(t,n),ue=(e,t,n)=>(ee(e,t)||ce(e,t,n()),ie(e,t)),ve=(e,t,n)=>{const r={},s=null!=t?t:e=>e;return se(e,((e,t)=>K(s(e),(e=>(null==n?void 0:n(e))?0:r[t]=e)))),r},he=(e,t)=>{const n=le(),r=null!=t?t:e=>e;return se(e,((e,t)=>n.set(t,r(e)))),n},fe=e=>he(e,he),ge=(e,t,n,r,s=0)=>K((n?ue:ie)(e,t[s],s>A(t)-2?n:le),(o=>{if(s>A(t)-2)return(null==r?void 0:r(o))&&ce(e,t[s]),o;const l=ge(o,t,n,r,s+1);return te(o)&&ce(e,t[s]),l})),pe=e=>{const n=t(e);return U(n)||n==o&&H(e)?n:void 0},Le=(e,t,n,r,s)=>G(s)?e.delCell(t,n,r,!0):e.setCell(t,n,r,s),ye=(e,t,n)=>G(n)?e.delValue(t):e.setValue(t,n),we=e=>new Set(Y(e)||G(e)?e:[e]),Se=(e,t)=>null==e?void 0:e.add(t),Re=(e,t,n)=>{const r=e.hasRow,s=le(),o=le(),l=le(),a=le(),i=le(),d=(t,n,...r)=>{const s=ue(i,t,we);return k(r,(t=>Se(s,t)&&n&&e.callListener(t))),r},c=(t,...n)=>K(ie(i,t),(r=>{k(D(n)?ne(r):n,(t=>{e.delListener(t),oe(r,t)})),te(r)&&ce(i,t)})),u=(e,n)=>{ce(s,e,n),ee(o,e)||(ce(o,e,t()),ce(l,e,le()),ce(a,e,le()))},v=e=>{ce(s,e),ce(o,e),ce(l,e),ce(a,e),c(e)};return[()=>e,()=>ae(s),e=>de(o,e),e=>ee(o,e),e=>ie(s,e),e=>ie(o,e),(e,t)=>ce(o,e,t),u,(t,s,o,i,v)=>{u(t,s);const h=le(),f=le(),g=ie(l,t),p=ie(a,t),L=t=>{const o=n=>e.getCell(s,t,n),l=ie(g,t),a=r(s,t)?n(i(o,t)):void 0;if(l===a||Y(l)&&Y(a)&&V(l,a)||ce(h,t,[l,a]),!G(v)){const e=ie(p,t),n=r(s,t)?v(o,t):void 0;e!=n&&ce(f,t,n)}},y=e=>{o((()=>{se(h,(([,e],t)=>ce(g,t,e))),se(f,((e,t)=>ce(p,t,e)))}),h,f,g,p,e),re(h),re(f)};de(g,L),e.hasTable(s)&&k(e.getRowIds(s),(e=>{ee(g,e)||L(e)})),y(!0),c(t),d(t,0,e.addRowListener(s,null,((e,t,n)=>L(n))),e.addTableListener(s,(()=>y())))},v,()=>de(i,v),d,c]},Ie=(e,s)=>t(e)==r?t=>t(e):null!=e?e:()=>null!=s?s:n,Te=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},me=/^\d+$/,be=()=>{const e=[];let t=0;return[r=>{var s;return null!=(s=r?z(e):null)?s:n+t++},t=>{me.test(t)&&A(e)<1e3&&j(e,t)}]},xe=e=>{let t;const[r,s]=be(),o=le();return[(s,l,a,i=[],d=(()=>[]))=>{null!=t||(t=e());const c=r(1);return ce(o,c,[s,l,a,i,d]),Se(ge(l,null!=a?a:[n],we),c),c},(e,r,...s)=>k(((e,t=[n])=>{const r=[],s=(e,n)=>n==A(t)?j(r,e):null===t[n]?se(e,(e=>s(e,n+1))):k([t[n],null],(t=>s(ie(e,t),n+1)));return s(e,0),r})(e,r),(e=>se(e,(e=>ie(o,e)[0](t,...null!=r?r:[],...s))))),e=>K(ie(o,e),(([,t,r])=>(ge(t,null!=r?r:[n],void 0,(t=>(oe(t,e),te(t)?1:0))),ce(o,e),s(e),r))),e=>K(ie(o,e),(([e,,n=[],r,s])=>{const o=(...l)=>{var a,i;const d=A(l);d==A(n)?e(t,...l,...s(l)):G(n[d])?k(null!=(i=null==(a=r[d])?void 0:a.call(r,...l))?i:[],(e=>o(...l,e))):o(...l,n[d])};o()}))]},Ce=Object,Ve=Ce.keys,Ee=Ce.isFrozen,Pe=Ce.freeze,ke=e=>$(e,Ce)&&e.constructor==Ce,Je=(e,t)=>!G(((e,t)=>K(e,(e=>e[t])))(e,t)),Me=(e,t)=>delete e[t],Ae=(e,t)=>J(Ce.entries(e),(([e,n])=>t(n,e))),De=e=>ke(e)&&D(Ve(e)),Oe=Te((e=>{let t,r,s,o=100,l=le(),a=le(),i=1;const d=le(),c=le(),[u,v,h]=xe((()=>F)),f=le(),g=le(),p=[],L=[],y=(t,n)=>{i=0,e.transaction((()=>{const[r,s]=ie(f,n);se(r,((n,r)=>se(n,((n,s)=>se(n,((n,o)=>Le(e,r,s,o,n[t]))))))),se(s,((n,r)=>ye(e,r,n[t])))})),i=1},w=e=>{ce(f,e),ce(g,e),v(c,[e])},S=(e,t)=>k(((e,t)=>e.splice(0,t))(e,null!=t?t:A(e)),w),R=()=>S(p,A(p)-o),I=()=>K(t,(()=>{j(p,t),R(),S(L),t=void 0,s=1})),T=()=>{t=Q(p),s=1},m=e.addCellListener(null,null,null,((e,t,n,r,s,o)=>{if(i){I();const e=ue(l,t,le),a=ue(e,n,le),i=ue(a,r,(()=>[o,void 0]));i[1]=s,i[0]===s&&te(ce(a,r))&&te(ce(e,n))&&te(ce(l,t))&&T(),P()}})),b=e.addValueListener(null,((e,t,n,r)=>{if(i){I();const e=ue(a,t,(()=>[r,void 0]));e[1]=n,e[0]===n&&te(ce(a,t))&&T(),P()}})),C=(e="")=>(G(t)&&(t=n+r++,ce(f,t,[l,a]),M(t,e),l=le(),a=le(),s=1),t),V=()=>{D(p)||(((e,...t)=>{e.unshift(...t)})(L,C()),y(0,t),t=Q(p),s=1)},E=()=>{D(L)||(j(p,t),t=z(L),y(1,t),s=1)},P=()=>{s&&(v(d),s=0)},J=e=>{const t=C(e);return P(),t},M=(e,t)=>(O(e)&&ie(g,e)!==t&&(ce(g,e,t),v(c,[e])),F),O=e=>ee(f,e),F={setSize:e=>(o=e,R(),F),addCheckpoint:J,setCheckpoint:M,getStore:()=>e,getCheckpointIds:()=>[[...p],t,[...L]],forEachCheckpoint:e=>de(g,e),hasCheckpoint:O,getCheckpoint:e=>ie(g,e),goBackward:()=>(V(),P(),F),goForward:()=>(E(),P(),F),goTo:e=>{const n=x(p,e)?V:x(L,e)?E:null;for(;!G(n)&&e!=t;)n();return P(),F},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),F),clear:()=>(S(p),S(L),G(t)||w(t),t=void 0,r=0,J(),F),destroy:()=>{e.delListener(m),e.delListener(b)},getListenerStats:()=>({})};return Pe(F.clear())})),Fe=(e,t)=>e<t?-1:1,je=Te((e=>{const t=le(),r=le(),[s,o,l,a,i,d,c,,u,v,h]=Re(e,le,(e=>G(e)?n:Y(e)?J(e,b):b(e))),[f,g,p]=xe((()=>y)),L=(t,n,r)=>{const s=i(t);se(r,((t,r)=>n(r,(n=>se(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},y={setIndexDefinition:(e,n,s,o,l,a=Fe)=>{const i=G(l)?void 0:([e],[t])=>l(e,t);return u(e,n,((n,s,l,u,v,h)=>{let f=0;const p=we(),L=we(),y=d(e);if(se(s,(([e,t],n)=>{const r=we(e),s=we(t);se(r,(e=>oe(s,e)?oe(r,e):0)),se(r,(e=>{Se(p,e),K(ie(y,e),(t=>{oe(t,n),te(t)&&(ce(y,e),f=1)}))})),se(s,(e=>{Se(p,e),ee(y,e)||(ce(y,e,we()),f=1),Se(ie(y,e),n),G(o)||Se(L,e)}))})),n(),te(v)||(h?de(y,(e=>Se(L,e))):de(l,(e=>K(ie(u,e),(e=>Se(L,e))))),se(L,(e=>{const t=(t,n)=>a(ie(v,t),ie(v,n),e),n=[...ie(y,e)];E(n,t)||(ce(y,e,we(P(n,t))),Se(p,e))}))),(f||h)&&!G(i)){const t=[...y];E(t,i)||(c(e,le(P(t,i))),f=1)}f&&g(t,[e]),se(p,(t=>g(r,[e,t])))}),Ie(s),K(o,Ie)),y},delIndexDefinition:e=>(v(e),y),getStore:s,getIndexIds:o,forEachIndex:e=>l(((t,n)=>e(t,(e=>L(t,e,n))))),forEachSlice:(e,t)=>L(e,t,d(e)),hasIndex:a,hasSlice:(e,t)=>ee(d(e),t),getTableId:i,getSliceIds:e=>ae(d(e)),getSliceRowIds:(e,t)=>ne(ie(d(e),t)),addSliceIdsListener:(e,n)=>f(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>f(n,r,[e,t]),delListener:e=>(p(e),y),destroy:h,getListenerStats:()=>({})};return Pe(y)})),Qe=le([["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,r)=>e+(t-n)/r]],["max",[e=>q(...e),(e,t)=>q(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:q(t,e)]],["min",[e=>B(...e),(e,t)=>B(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:B(t,e)]],["sum",[e=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),ze=(e,t,n,r,s,o=!1)=>{if(te(n))return;const[l,a,i,d]=s;return o||(o=G(e)),se(r,(([n,r])=>{o||(e=G(n)?null==a?void 0:a(e,r,t++):G(r)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,r,n,t),o||(o=G(e)))})),o?l(ne(n),_(n)):e},Ne=Te((e=>{const t=le(),[r,s,o,l,a,i,d,,c,u,v]=Re(e,Z,(e=>isNaN(e)||G(e)||!0===e||!1===e||e===n?void 0:1*e)),[h,f,g]=xe((()=>p)),p={setMetricDefinition:(e,n,r,s,o,l,a)=>{var u;const v=X(r)?[r,o,l,a]:null!=(u=ie(Qe,r))?u:ie(Qe,"sum");return c(e,n,((n,r,s,o,l,a)=>{const c=i(e),u=_(o);a||(a=G(c)),n();let h=ze(c,u,o,r,v,a);H(h)||(h=void 0),h!=c&&(d(e,h),f(t,[e],h,c))}),Ie(s,1)),p},delMetricDefinition:e=>(u(e),p),getStore:r,getMetricIds:s,forEachMetric:o,hasMetric:l,getTableId:a,getMetric:i,addMetricListener:(e,n)=>h(n,t,[e]),delListener:e=>(g(e),p),destroy:v,getListenerStats:()=>({})};return Pe(p)}));var We=(e,t,n)=>new Promise(((r,s)=>{var o=e=>{try{a(n.next(e))}catch(e){s(e)}},l=e=>{try{a(n.throw(e))}catch(e){s(e)}},a=e=>e.done?r(e.value):Promise.resolve(e.value).then(o,l);a((n=n.apply(e,t)).next())}));const qe=(e,t,r,s,o)=>{let l,a,i=0;const d={load:(r,s)=>We(void 0,null,(function*(){if(2!=i){i=1;const o=yield t();G(o)||o==n?e.transaction((()=>e.setTables(r).setValues(s))):e.setJson(o),i=0}return d})),startAutoLoad:(e,t)=>We(void 0,null,(function*(){return d.stopAutoLoad(),yield d.load(e,t),s(d.load),d})),stopAutoLoad:()=>(o(),d),save:()=>We(void 0,null,(function*(){return 1!=i&&(i=2,yield r(e.getJson()),i=0),d})),startAutoSave:()=>We(void 0,null,(function*(){return yield d.stopAutoSave().save(),l=e.addTablesListener(d.save),a=e.addValuesListener(d.save),d})),stopAutoSave:()=>(K(l,e.delListener),K(a,e.delListener),d),getStore:()=>e,destroy:()=>d.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Pe(d)};var Be=(e,t,n)=>new Promise(((r,s)=>{var o=e=>{try{a(n.next(e))}catch(e){s(e)}},l=e=>{try{a(n.throw(e))}catch(e){s(e)}},a=e=>e.done?r(e.value):Promise.resolve(e.value).then(o,l);a((n=n.apply(e,t)).next())}));const He="storage",$e=globalThis.window,Ge=(e,t,n)=>{let r;return qe(e,(()=>Be(void 0,null,(function*(){return n.getItem(t)}))),(e=>Be(void 0,null,(function*(){return n.setItem(t,e)}))),(e=>{r=r=>{r.storageArea===n&&r.key===t&&e()},$e.addEventListener(He,r)}),(()=>{$e.removeEventListener(He,r),r=void 0}))};var Ke=(e,t,n)=>new Promise(((r,s)=>{var o=e=>{try{a(n.next(e))}catch(e){s(e)}},l=e=>{try{a(n.throw(e))}catch(e){s(e)}},a=e=>e.done?r(e.value):Promise.resolve(e.value).then(o,l);a((n=n.apply(e,t)).next())})),Ue=(e,t,n)=>new Promise(((r,s)=>{var o=e=>{try{a(n.next(e))}catch(e){s(e)}},l=e=>{try{a(n.throw(e))}catch(e){s(e)}},a=e=>e.done?r(e.value):Promise.resolve(e.value).then(o,l);a((n=n.apply(e,t)).next())}));const Xe=e=>e.headers.get("ETag");var Ye=Object.getOwnPropertySymbols,Ze=Object.prototype.hasOwnProperty,_e=Object.prototype.propertyIsEnumerable;const et=Te((e=>{const t=e.createStore,[r,s,o,l,a,,,i,,d,h,g,p]=Re(e,(()=>!0),Z),I=t(),T=t(),m=le(),b=(e,t,...n)=>k(n,(n=>Se(ue(ue(m,t,le),e,we),n))),x=e=>{K(ie(m,e),(e=>{de(e,((e,t)=>se(t,(t=>e.delListener(t))))),re(e)})),k([T,I],(t=>t.delTable(e)))},V=(e,t,n)=>b(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),E={setQueryDefinition:(t,r,s)=>{i(t,r),x(t);const o=[],l=[[null,[r,null,null,[],le()]]],a=[],d=[],c=[];s({select:(e,t)=>{const r=X(e)?[A(o)+n,e]:[G(t)?e:t,n=>n(e,t)];return j(o,r),{as:e=>r[0]=e}},join:(e,t,n)=>{const r=G(n)||X(t)?null:t,s=G(r)?t:n,o=[e,[e,r,X(s)?s:e=>e(s),[],le()]];return j(l,o),{as:e=>o[0]=e}},where:(e,t,n)=>j(a,X(e)?e:G(n)?n=>n(e)===t:r=>r(e,t)===n),group:(e,t,n,r,s)=>{var o;const l=[e,[e,X(t)?[t,n,r,s]:null!=(o=ie(Qe,t))?o:[(e,t)=>t]]];return j(d,l),{as:e=>l[0]=e}},having:(e,t)=>j(c,X(e)?e:n=>n(e)===t)});const u=le(o);if(te(u))return E;const v=le(l);de(v,((e,[,t])=>K(ie(v,t),(({3:t})=>G(e)?0:j(t,e)))));const h=le(d);let f=I;if(te(h)&&D(c))f=T;else{V(t,f,T);const e=le();de(h,((t,[n,r])=>Se(ue(e,n,we),[t,r])));const n=we();de(u,(t=>ee(e,t)?0:Se(n,t)));const r=le(),s=(n,r,s,o)=>K(n,(([l,a,i,d])=>{de(r,((t,[n])=>{const r=ue(l,t,le),a=ie(r,s),i=o?void 0:n;if(a!==i){const n=we([[a,i]]),o=_(r);ce(r,s,i),se(ie(e,t),(([e,t])=>{const s=ze(d[e],o,r,n,t);d[e]=G(pe(s))?null:s}))}})),te(a)||!C(c,(e=>e((e=>d[e]))))?T.delRow(t,i):G(i)?n[2]=T.addRow(t,d):T.setRow(t,i,d)}));b(f,t,f.addRowListener(t,null,((o,l,a,i)=>{const d=[],c=[],u=le(),v=f.hasRow(t,a);let h=!v;se(n,(e=>{const[n,r,s]=i(t,a,e);j(d,r),j(c,s),h||(h=n)})),de(e,(e=>{const[n,,r]=i(t,a,e);(h||n)&&ce(u,e,[r])})),h&&s(ge(r,d,void 0,(([,e])=>(oe(e,a),te(e)))),u,a,1),v&&s(ge(r,c,(()=>{const e={};return se(n,(n=>e[n]=f.getCell(t,a,n))),[le(),we(),void 0,e]}),(([,e])=>{Se(e,a)})),u,a)})))}V(t,e,f);const L=(n,s,o,l)=>{const i=t=>e.getCell(s,o,t);k(l,(r=>{var s;const[o,,l,a,d]=ie(v,r),c=null==l?void 0:l(i,n),[u,h]=null!=(s=ie(d,n))?s:[];c!=u&&(G(h)||p(t,h),ce(d,n,G(c)?null:[c,...g(t,1,e.addRowListener(o,c,(()=>L(n,o,c,a))))]))})),(n=>{const s=(t,s)=>{var o,l,a;return e.getCell(...G(s)?[r,n,t]:t===r?[r,n,s]:[null==(o=ie(v,t))?void 0:o[0],null==(a=ie(null==(l=ie(v,t))?void 0:l[4],n))?void 0:a[0],s])};f.transaction((()=>C(a,(e=>e(s)))?de(u,((e,r)=>Le(f,t,n,e,r(s,n)))):f.delRow(t,n)))})(n)},{3:y}=ie(v,null);return f.transaction((()=>g(t,1,e.addRowListener(r,null,((n,s,o)=>{e.hasRow(r,o)?L(o,r,o,y):(f.delRow(t,o),se(v,(({4:e})=>K(ie(e,o),(([,n])=>{p(t,n),ce(e,o)})))))}))))),E},delQueryDefinition:e=>(x(e),d(e),E),getStore:r,getQueryIds:s,forEachQuery:o,hasQuery:l,getTableId:a,delListener:e=>(T.delListener(e),E),destroy:h,getListenerStats:()=>((e,t)=>{var n={};for(var r in e)Ze.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&Ye)for(var r of Ye(e))t.indexOf(r)<0&&_e.call(e,r)&&(n[r]=e[r]);return n})(T.getListenerStats(),["tables","tableIds","transaction"])};return Ae({[f]:[1,1],[y]:[0,1],[w]:[0,5],[L]:[1,2],[R]:[0,2],[S]:[1,3]},(([e,t],n)=>{k(e?["get","has","forEach"]:["get"],(e=>E[e+u+n]=(...t)=>T[e+n](...t))),E[v+u+n+c]=(...e)=>T[v+n+c](...F(e,0,t),((n,...r)=>e[t](E,...r)))})),Pe(E)})),tt=Te((e=>{const t=le(),r=le(),s=le(),o=le(),[l,a,i,d,c,u,,,v,h,f]=Re(e,(()=>[le(),le(),le(),le()]),(e=>G(e)?void 0:e+n)),[g,p,L]=xe((()=>R)),y=(e,t,n)=>K(u(e),(([r,,s])=>{if(!ee(s,t)){const o=we();if(c(e)!=S(e))Se(o,t);else{let e=t;for(;!G(e)&&!ee(o,e);)Se(o,e),e=ie(r,e)}if(n)return o;ce(s,t,o)}return ie(s,t)})),w=(e,t)=>K(u(e),(([,,e])=>ce(e,t))),S=e=>ie(t,e),R={setRelationshipDefinition:(e,n,l,a)=>(ce(t,e,l),v(e,n,((t,n)=>{const l=we(),a=we(),i=we(),[d,c]=u(e);se(n,(([t,n],r)=>{G(t)||(Se(a,t),K(ie(c,t),(e=>{oe(e,r),te(e)&&ce(c,t)}))),G(n)||(Se(a,n),ee(c,n)||ce(c,n,we()),Se(ie(c,n),r)),Se(l,r),ce(d,r,n),de(ie(o,e),(t=>{ee(y(e,t),r)&&Se(i,t)}))})),t(),se(l,(t=>p(r,[e,t]))),se(a,(t=>p(s,[e,t]))),se(i,(t=>{w(e,t),p(o,[e,t])}))}),Ie(a)),R),delRelationshipDefinition:e=>(ce(t,e),h(e),R),getStore:l,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 ie(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return ne(ie(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>G(u(e))?[t]:ne(y(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>g(n,r,[e,t]),addLocalRowIdsListener:(e,t,n)=>g(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(y(e,t),g(n,o,[e,t])),delListener:e=>(w(...L(e)),R),destroy:f,getListenerStats:()=>({})};return Pe(R)})),nt=e=>[e,e],rt=()=>[le(),le()],st=(e,t,n,r=ce)=>(Ae(t,((t,r)=>n(e,r,t))),de(e,(n=>Je(t,n)?0:r(e,n))),e),ot=(e,t,n)=>G(e)||!ke(e)||De(e)||Ee(e)?(null==n||n(),!1):(Ae(e,((n,r)=>{t(n,r)||Me(e,r)})),!De(e)),lt=(e,t,n)=>ce(e,t,ie(e,t)==-n?void 0:n),at=()=>{let e,t,n,r,s=0;const l=le(),d=le(),u=le(),h=le(),w=le(),C=le(),E=le(),M=le(),A=le(),D=le(),O=le(),Q=le(),z=we(),q=le(),B=le(),H=le(),$=rt(),Y=rt(),Z=rt(),_=rt(),ne=rt(),ge=rt(),Re=rt(),Ie=rt(),Te=rt(),me=rt(),Ce=rt(),Ve=rt(),Ee=rt(),ke=rt(),[Oe,je,Qe,ze]=xe((()=>tn)),Ne=e=>{if(!ot(e,((e,t)=>x([a,i],t))))return!1;const t=e[a];return!(!U(t)&&t!=o||(pe(e[i])!=t&&Me(e,i),0))},We=(t,n)=>(!e||ee(A,n)||mt(n))&&ot(t,((e,t)=>qe(n,t,e)),(()=>mt(n))),qe=(e,t,n,r)=>ot(r?n:Ge(n,e,t),((r,s)=>K(Be(e,t,s,r),(e=>(n[s]=e,!0)),(()=>!1))),(()=>mt(e,t))),Be=(t,n,r,s)=>e?K(ie(ie(A,t),r),(e=>pe(s)!=e[a]?mt(t,n,r,s,e[i]):s),(()=>mt(t,n,r,s))):G(pe(s))?mt(t,n,r,s):s,He=(e,t)=>ot(t?e:Ke(e),((t,n)=>K($e(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>bt())),$e=(e,n)=>t?K(ie(O,e),(t=>pe(n)!=t[a]?bt(e,n,t[i]):n),(()=>bt(e,n))):G(pe(n))?bt(e,n):n,Ge=(e,t,n)=>(K(ie(D,t),(([r,s])=>{se(r,((t,n)=>{Je(e,n)||(e[n]=t)})),se(s,(r=>{Je(e,r)||mt(t,n,r)}))})),e),Ke=e=>(t&&(se(Q,((t,n)=>{Je(e,n)||(e[n]=t)})),se(z,(t=>{Je(e,t)||bt(t)}))),e),Ue=e=>st(A,e,((e,t,n)=>{const r=le(),s=we();st(ue(A,t,le),n,((e,t,n)=>{ce(e,t,n),K(n[i],(e=>ce(r,t,e)),(()=>Se(s,t)))})),ce(D,t,[r,s])}),((e,t)=>{ce(A,t),ce(D,t)})),Xe=e=>st(O,e,((e,t,n)=>{ce(O,t,n),K(n[i],(e=>ce(Q,t,e)),(()=>Se(z,t)))}),((e,t)=>{ce(O,t),ce(Q,t),oe(z,t)})),Ye=e=>De(e)?Kt():qt(e),Ze=e=>st(B,e,((e,t,n)=>_e(t,n)),((e,t)=>ft(t))),_e=(e,t)=>st(ue(B,e,(()=>(yt(e,1),le()))),t,((t,n,r)=>et(e,t,n,r)),((t,n)=>gt(e,t,n))),et=(e,t,n,r,s)=>st(ue(t,n,(()=>(wt(e,n,1),le()))),r,((t,r,s)=>tt(e,n,t,r,s)),((r,o)=>pt(e,t,n,r,o,s))),tt=(e,t,n,r,s)=>{ee(n,r)||St(e,t,r,1);const o=ie(n,r);s!==o&&(Rt(e,t,r,o,s),ce(n,r,s))},it=(e,t,n,r,s)=>K(ie(t,n),(t=>tt(e,n,t,r,s)),(()=>et(e,t,n,Ge({[r]:s},e,n)))),dt=e=>De(e)?Ut():Bt(e),ct=e=>st(H,e,((e,t,n)=>ut(t,n)),((e,t)=>Lt(t))),ut=(e,t)=>{ee(H,e)||It(e,1);const n=ie(H,e);t!==n&&(Tt(e,n,t),ce(H,e,t))},vt=(e,t)=>{const[n]=ue(q,e,be),r=n(t);return ee(ie(B,e),r)?vt(e,t):r},ht=e=>{var t;return null!=(t=ie(B,e))?t:_e(e,{})},ft=e=>_e(e,{}),gt=(e,t,n)=>{const[,r]=ue(q,e,be);r(n),et(e,t,n,{},!0)},pt=(e,t,n,r,s,o)=>{var l;const a=ie(null==(l=ie(D,e))?void 0:l[0],s);if(!G(a)&&!o)return tt(e,n,r,s,a);const i=t=>{Rt(e,n,t,ie(r,t)),St(e,n,t,-1),ce(r,t)};G(a)?i(s):de(r,i),te(r)&&(wt(e,n,-1),te(ce(t,n))&&(yt(e,-1),ce(B,e),ce(q,e)))},Lt=e=>{const t=ie(Q,e);if(!G(t))return ut(e,t);Tt(e,ie(H,e)),It(e,-1),ce(H,e)},yt=(e,t)=>lt(l,e,t),wt=(e,t,n)=>lt(ue(d,e,le),t,n),St=(e,t,n,r)=>lt(ue(ue(u,e,le),t,le),n,r),Rt=(e,t,n,r,s)=>ue(ue(ue(h,e,le),t,le),n,(()=>[r,0]))[1]=s,It=(e,t)=>lt(w,e,t),Tt=(e,t,n)=>ue(C,e,(()=>[t,0]))[1]=n,mt=(e,t,n,r,s)=>(j(ue(ue(ue(E,e,le),t,le),n,(()=>[])),r),s),bt=(e,t,n)=>(j(ue(M,e,(()=>[])),t),n),xt=(e,t,n)=>K(ie(ie(ie(h,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...nt(Qt(e,t,n))])),Ct=e=>K(ie(C,e),(([e,t])=>[!0,e,t]),(()=>[!1,...nt(Wt(e))])),Vt=e=>te(E)||te(Te[e])?0:se(e?he(E,fe):E,((t,n)=>se(t,((t,r)=>se(t,((t,s)=>je(Te[e],[n,r,s],t))))))),Et=e=>te(M)||te(me[e])?0:se(e?he(M):M,((t,n)=>je(me[e],[n],t))),Pt=(e,t,n)=>{if(!te(t))return je(e,n),1},kt=e=>{const t=te(ne[e]),n=te(Re[e])&&te(_[e])&&t&&te(Y[e]),r=te(Ie[e])&&te(ge[e])&&te(Z[e])&&te($[e]);if(!n||!r){const s=e?[he(l),fe(d),he(u,fe),he(h,fe)]:[l,d,u,h];if(!n){se(s[2],((t,n)=>se(t,((t,r)=>Pt(Re[e],t,[n,r])))));const n=we();se(s[1],((r,s)=>{Pt(_[e],r,[s])&&!t&&(je(ne[e],[s,null]),Se(n,s))})),t||se(s[3],((t,r)=>{if(!ee(n,r)){const n=we();se(t,(e=>se(e,(([t,r],s)=>r!==t?Se(n,s):oe(e,s))))),se(n,(t=>je(ne[e],[r,t])))}})),Pt(Y[e],s[0])}if(!r){let t;se(s[3],((n,r)=>{let s;se(n,((n,o)=>{let l;se(n,(([n,a],i)=>{a!==n&&(je(Ie[e],[r,o,i],a,n,xt),t=s=l=1)})),l&&je(ge[e],[r,o],xt)})),s&&je(Z[e],[r],xt)})),t&&je($[e],void 0,xt)}}},Jt=e=>{const t=te(Ve[e]),n=te(Ee[e])&&te(Ce[e]);if(!t||!n){const r=e?[he(w),he(C)]:[w,C];if(t||Pt(Ve[e],r[0]),!n){let t;se(r[1],(([n,r],s)=>{r!==n&&(je(Ee[e],[s],r,n,Ct),t=1)})),t&&je(Ce[e],void 0,Ct)}}},Mt=(e,...t)=>(Zt((()=>e(...J(t,b)))),tn),At=()=>ve(B,(e=>ve(e,ve))),Dt=()=>ae(B),Ot=e=>ae(ie(B,b(e))),Ft=(e,t,n,r=0,s)=>{return J(F(P((o=ie(B,b(e)),l=(e,n)=>[G(t)?n:ie(e,b(t)),n],J([...null!=(a=null==o?void 0:o.entries())?a:[]],(([e,t])=>l(t,e)))),(([e],[t])=>Fe(e,t)*(n?-1:1))),r,G(s)?s:r+s),(([,e])=>e));var o,l,a},jt=(e,t)=>ae(ie(ie(B,b(e)),b(t))),Qt=(e,t,n)=>ie(ie(ie(B,b(e)),b(t)),b(n)),zt=()=>ve(H),Nt=()=>ae(H),Wt=e=>ie(H,b(e)),qt=e=>Mt((()=>(e=>ot(e,We,mt))(e)?Ze(e):0)),Bt=e=>Mt((()=>He(e)?ct(e):0)),Ht=e=>{try{Ye(W(e))}catch(e){}return tn},$t=t=>Mt((()=>{if((e=ot(t,(e=>ot(e,Ne))))&&(Ue(t),!te(B))){const e=At();Kt(),qt(e)}})),Gt=e=>Mt((()=>{if(t=(e=>ot(e,Ne))(e)){const n=zt();Yt(),Ut(),t=!0,Xe(e),Bt(n)}})),Kt=()=>Mt((()=>Ze({}))),Ut=()=>Mt((()=>ct({}))),Xt=()=>Mt((()=>{Ue({}),e=!1})),Yt=()=>Mt((()=>{Xe({}),t=!1})),Zt=(e,t)=>{if(-1==s)return;_t();const n=e();return en(t),n},_t=()=>(s++,tn),en=e=>(s>0&&(s--,0==s&&(n=!te(h),r=!te(C),s=1,Vt(1),n&&kt(1),Et(1),r&&Jt(1),s=-1,(null==e?void 0:e(ve(h,(e=>ve(e,(e=>ve(e,(e=>[...e]),(([e,t])=>e===t))),De)),De),ve(E,(e=>ve(e,ve))),ve(C,(e=>[...e]),(([e,t])=>e===t)),ve(M)))&&(s=1,se(h,((e,t)=>se(e,((e,n)=>se(e,(([e],r)=>Le(tn,t,n,r,e))))))),se(C,(([e],t)=>ye(tn,t,e))),s=-1,n=r=!1),je(ke[0],void 0,n,r),Vt(0),n&&kt(0),Et(0),r&&Jt(0),je(ke[1],void 0,n,r),s=0,k([l,d,u,h,E,w,C,M],re))),tn),tn={getTables:At,getTableIds:Dt,getTable:e=>ve(ie(B,b(e)),ve),getRowIds:Ot,getSortedRowIds:Ft,getRow:(e,t)=>ve(ie(ie(B,b(e)),b(t))),getCellIds:jt,getCell:Qt,getValues:zt,getValueIds:Nt,getValue:Wt,hasTables:()=>!te(B),hasTable:e=>ee(B,b(e)),hasRow:(e,t)=>ee(ie(B,b(e)),b(t)),hasCell:(e,t,n)=>ee(ie(ie(B,b(e)),b(t)),b(n)),hasValues:()=>!te(H),hasValue:e=>ee(H,b(e)),getTablesJson:()=>N(B),getValuesJson:()=>N(H),getJson:()=>N([B,H]),getTablesSchemaJson:()=>N(A),getValuesSchemaJson:()=>N(O),getSchemaJson:()=>N([A,O]),setTables:qt,setTable:(e,t)=>Mt((e=>We(t,e)?_e(e,t):0),e),setRow:(e,t,n)=>Mt(((e,t)=>qe(e,t,n)?et(e,ht(e),t,n):0),e,t),addRow:(e,t,n=!0)=>Zt((()=>{let r;return qe(e,r,t)&&(e=b(e),et(e,ht(e),r=vt(e,n?1:0),t)),r})),setPartialRow:(e,t,n)=>Mt(((e,t)=>{if(qe(e,t,n,1)){const r=ht(e);Ae(n,((n,s)=>it(e,r,t,s,n)))}}),e,t),setCell:(e,t,n,r)=>Mt(((e,t,n)=>K(Be(e,t,n,X(r)?r(Qt(e,t,n)):r),(r=>it(e,ht(e),t,n,r)))),e,t,n),setValues:Bt,setPartialValues:e=>Mt((()=>He(e,1)?Ae(e,((e,t)=>ut(t,e))):0)),setValue:(e,t)=>Mt((e=>K($e(e,X(t)?t(Wt(e)):t),(t=>ut(e,t)))),e),setTablesJson:Ht,setValuesJson:e=>{try{dt(W(e))}catch(e){}return tn},setJson:e=>{try{const[t,n]=W(e);Ye(t),dt(n)}catch(t){Ht(e)}return tn},setTablesSchema:$t,setValuesSchema:Gt,setSchema:(e,t)=>Mt((()=>{$t(e),Gt(t)})),delTables:Kt,delTable:e=>Mt((e=>ee(B,e)?ft(e):0),e),delRow:(e,t)=>Mt(((e,t)=>K(ie(B,e),(n=>ee(n,t)?gt(e,n,t):0))),e,t),delCell:(e,t,n,r)=>Mt(((e,t,n)=>K(ie(B,e),(s=>K(ie(s,t),(o=>ee(o,n)?pt(e,s,t,o,n,r):0))))),e,t,n),delValues:Ut,delValue:e=>Mt((e=>ee(H,e)?Lt(e):0),e),delTablesSchema:Xt,delValuesSchema:Yt,delSchema:()=>Mt((()=>{Xt(),Yt()})),transaction:Zt,startTransaction:_t,finishTransaction:en,forEachTable:e=>se(B,((t,n)=>e(n,(e=>se(t,((t,n)=>e(n,(e=>de(t,e))))))))),forEachRow:(e,t)=>se(ie(B,b(e)),((e,n)=>t(n,(t=>de(e,t))))),forEachCell:(e,t,n)=>de(ie(ie(B,b(e)),b(t)),n),forEachValue:e=>de(H,e),addSortedRowIdsListener:(e,t,n,r,s,o,l)=>{let a=Ft(e,t,n,r,s);return Oe((()=>{const l=Ft(e,t,n,r,s);V(l,a)||(a=l,o(tn,e,t,n,r,s,a))}),ne[l?1:0],[e,t],[Dt])},addWillFinishTransactionListener:e=>Oe(e,ke[0]),addDidFinishTransactionListener:e=>Oe(e,ke[1]),callListener:e=>(ze(e),tn),delListener:e=>(Qe(e),tn),getListenerStats:()=>({}),createStore:at};return Ae({[g]:[0,$],[p]:[0,Y],[f]:[1,Z,[Dt]],[y]:[1,_,[Dt]],[L]:[2,ge,[Dt,Ot]],[R]:[2,Re,[Dt,Ot]],[S]:[3,Ie,[Dt,Ot,jt],e=>nt(Qt(...e))],InvalidCell:[3,Te],[T]:[0,Ce],[m]:[0,Ve],[I]:[1,Ee,[Nt],e=>nt(Wt(e[0]))],InvalidValue:[1,me]},(([e,t,n,r],s)=>{tn[v+s+c]=(...s)=>Oe(s[e],t[s[e+1]?1:0],e>0?F(s,0,e):void 0,n,r)})),Pe(tn)};exports.createCheckpoints=Oe,exports.createCustomPersister=qe,exports.createFilePersister=(t,n)=>{let r;return qe(t,(()=>Ke(void 0,null,(function*(){try{return yield e.promises.readFile(n,d)}catch(e){}}))),(t=>Ke(void 0,null,(function*(){try{yield e.promises.writeFile(n,t,d)}catch(e){}}))),(t=>{r=e.watch(n,t)}),(()=>{null==r||r.close(),r=void 0}))},exports.createIndexes=je,exports.createLocalPersister=(e,t)=>Ge(e,t,localStorage),exports.createMetrics=Ne,exports.createQueries=et,exports.createRelationships=tt,exports.createRemotePersister=(e,t,n,r)=>{let s,o;return qe(e,(()=>Ue(void 0,null,(function*(){const e=yield fetch(t);return o=Xe(e),e.text()}))),(e=>Ue(void 0,null,(function*(){return yield fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:e})}))),(e=>{s=setInterval((()=>Ue(void 0,null,(function*(){const n=yield fetch(t,{method:"HEAD"}),r=Xe(n);G(o)||G(r)||r==o||(o=r,e())}))),1e3*r)}),(()=>{K(s,clearInterval),s=void 0}))},exports.createSessionPersister=(e,t)=>Ge(e,t,sessionStorage),exports.createStore=at,exports.defaultSorter=Fe;
|
|
1
|
+
"use strict";var e=require("fs");const t=e=>typeof e,n="",r=t(n),s=t(!0),o=t(0),l=t(t),a="type",i="default",d="utf8",c="Listener",u="Result",v="add",h="Ids",f="Table",g=f+"s",p=f+h,L="Row",y=L+h,w="Sorted"+L+h,S="Cell",R=S+h,I="Value",T=I+"s",m=I+h,b=e=>n+e,x=(e,t)=>e.includes(t),C=(e,t)=>e.every(t),V=(e,t)=>A(e)===A(t)&&C(e,((e,n)=>t[n]===e)),E=(e,t)=>C(e,((n,r)=>0==r||t(e[r-1],n)<=0)),P=(e,t)=>e.sort(t),k=(e,t)=>e.forEach(t),J=(e,t)=>e.map(t),M=e=>O(e,((e,t)=>e+t),0),A=e=>e.length,D=e=>0==A(e),O=(e,t,n)=>e.reduce(t,n),F=(e,t,n)=>e.slice(t,n),j=(e,...t)=>e.push(...t),Q=e=>e.pop(),z=e=>e.shift(),N=e=>JSON.stringify(e,((e,t)=>$(t,Map)?O([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),W=JSON.parse,q=Math.max,B=Math.min,H=isFinite,$=(e,t)=>e instanceof t,G=e=>null==e,K=(e,t,n)=>G(e)?null==n?void 0:n():t(e),U=e=>e==r||e==s,X=e=>t(e)==l,Y=e=>Array.isArray(e),Z=()=>{},_=e=>e.size,ee=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},te=e=>G(e)||0==_(e),ne=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},re=e=>e.clear(),se=(e,t)=>null==e?void 0:e.forEach(t),oe=(e,t)=>null==e?void 0:e.delete(t),le=e=>new Map(e),ae=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},ie=(e,t)=>null==e?void 0:e.get(t),de=(e,t)=>se(e,((e,n)=>t(n,e))),ce=(e,t,n)=>G(n)?(oe(e,t),e):null==e?void 0:e.set(t,n),ue=(e,t,n)=>(ee(e,t)||ce(e,t,n()),ie(e,t)),ve=(e,t,n)=>{const r={},s=null!=t?t:e=>e;return se(e,((e,t)=>K(s(e),(e=>(null==n?void 0:n(e))?0:r[t]=e)))),r},he=(e,t)=>{const n=le(),r=null!=t?t:e=>e;return se(e,((e,t)=>n.set(t,r(e)))),n},fe=e=>he(e,he),ge=(e,t,n,r,s=0)=>K((n?ue:ie)(e,t[s],s>A(t)-2?n:le),(o=>{if(s>A(t)-2)return(null==r?void 0:r(o))&&ce(e,t[s]),o;const l=ge(o,t,n,r,s+1);return te(o)&&ce(e,t[s]),l})),pe=e=>{const n=t(e);return U(n)||n==o&&H(e)?n:void 0},Le=(e,t,n,r,s)=>G(s)?e.delCell(t,n,r,!0):e.setCell(t,n,r,s),ye=(e,t,n)=>G(n)?e.delValue(t):e.setValue(t,n),we=e=>new Set(Y(e)||G(e)?e:[e]),Se=(e,t)=>null==e?void 0:e.add(t),Re=(e,t,n)=>{const r=e.hasRow,s=le(),o=le(),l=le(),a=le(),i=le(),d=(t,n,...r)=>{const s=ue(i,t,we);return k(r,(t=>Se(s,t)&&n&&e.callListener(t))),r},c=(t,...n)=>K(ie(i,t),(r=>{k(D(n)?ne(r):n,(t=>{e.delListener(t),oe(r,t)})),te(r)&&ce(i,t)})),u=(e,n)=>{ce(s,e,n),ee(o,e)||(ce(o,e,t()),ce(l,e,le()),ce(a,e,le()))},v=e=>{ce(s,e),ce(o,e),ce(l,e),ce(a,e),c(e)};return[()=>e,()=>ae(s),e=>de(o,e),e=>ee(o,e),e=>ie(s,e),e=>ie(o,e),(e,t)=>ce(o,e,t),u,(t,s,o,i,v)=>{u(t,s);const h=le(),f=le(),g=ie(l,t),p=ie(a,t),L=t=>{const o=n=>e.getCell(s,t,n),l=ie(g,t),a=r(s,t)?n(i(o,t)):void 0;if(l===a||Y(l)&&Y(a)&&V(l,a)||ce(h,t,[l,a]),!G(v)){const e=ie(p,t),n=r(s,t)?v(o,t):void 0;e!=n&&ce(f,t,n)}},y=e=>{o((()=>{se(h,(([,e],t)=>ce(g,t,e))),se(f,((e,t)=>ce(p,t,e)))}),h,f,g,p,e),re(h),re(f)};de(g,L),e.hasTable(s)&&k(e.getRowIds(s),(e=>{ee(g,e)||L(e)})),y(!0),c(t),d(t,0,e.addRowListener(s,null,((e,t,n)=>L(n))),e.addTableListener(s,(()=>y())))},v,()=>de(i,v),d,c]},Ie=(e,s)=>t(e)==r?t=>t(e):null!=e?e:()=>null!=s?s:n,Te=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},me=/^\d+$/,be=()=>{const e=[];let t=0;return[r=>{var s;return null!=(s=r?z(e):null)?s:n+t++},t=>{me.test(t)&&A(e)<1e3&&j(e,t)}]},xe=e=>{let t;const[r,s]=be(),o=le();return[(s,l,a,i=[],d=(()=>[]))=>{null!=t||(t=e());const c=r(1);return ce(o,c,[s,l,a,i,d]),Se(ge(l,null!=a?a:[n],we),c),c},(e,r,...s)=>k(((e,t=[n])=>{const r=[],s=(e,n)=>n==A(t)?j(r,e):null===t[n]?se(e,(e=>s(e,n+1))):k([t[n],null],(t=>s(ie(e,t),n+1)));return s(e,0),r})(e,r),(e=>se(e,(e=>ie(o,e)[0](t,...null!=r?r:[],...s))))),e=>K(ie(o,e),(([,t,r])=>(ge(t,null!=r?r:[n],void 0,(t=>(oe(t,e),te(t)?1:0))),ce(o,e),s(e),r))),e=>K(ie(o,e),(([e,,n=[],r,s])=>{const o=(...l)=>{var a,i;const d=A(l);d==A(n)?e(t,...l,...s(l)):G(n[d])?k(null!=(i=null==(a=r[d])?void 0:a.call(r,...l))?i:[],(e=>o(...l,e))):o(...l,n[d])};o()}))]},Ce=Object,Ve=Ce.keys,Ee=Ce.isFrozen,Pe=Ce.freeze,ke=e=>$(e,Ce)&&e.constructor==Ce,Je=(e,t)=>!G(((e,t)=>K(e,(e=>e[t])))(e,t)),Me=(e,t)=>delete e[t],Ae=(e,t)=>J(Ce.entries(e),(([e,n])=>t(n,e))),De=e=>ke(e)&&D(Ve(e)),Oe=Te((e=>{let t,r,s,o=100,l=le(),a=le(),i=1;const d=le(),c=le(),[u,v,h]=xe((()=>F)),f=le(),g=le(),p=[],L=[],y=(t,n)=>{i=0,e.transaction((()=>{const[r,s]=ie(f,n);se(r,((n,r)=>se(n,((n,s)=>se(n,((n,o)=>Le(e,r,s,o,n[t]))))))),se(s,((n,r)=>ye(e,r,n[t])))})),i=1},w=e=>{ce(f,e),ce(g,e),v(c,[e])},S=(e,t)=>k(((e,t)=>e.splice(0,t))(e,null!=t?t:A(e)),w),R=()=>S(p,A(p)-o),I=()=>K(t,(()=>{j(p,t),R(),S(L),t=void 0,s=1})),T=()=>{t=Q(p),s=1},m=e.addCellListener(null,null,null,((e,t,n,r,s,o)=>{if(i){I();const e=ue(l,t,le),a=ue(e,n,le),i=ue(a,r,(()=>[o,void 0]));i[1]=s,i[0]===s&&te(ce(a,r))&&te(ce(e,n))&&te(ce(l,t))&&T(),P()}})),b=e.addValueListener(null,((e,t,n,r)=>{if(i){I();const e=ue(a,t,(()=>[r,void 0]));e[1]=n,e[0]===n&&te(ce(a,t))&&T(),P()}})),C=(e="")=>(G(t)&&(t=n+r++,ce(f,t,[l,a]),M(t,e),l=le(),a=le(),s=1),t),V=()=>{D(p)||(((e,...t)=>{e.unshift(...t)})(L,C()),y(0,t),t=Q(p),s=1)},E=()=>{D(L)||(j(p,t),t=z(L),y(1,t),s=1)},P=()=>{s&&(v(d),s=0)},J=e=>{const t=C(e);return P(),t},M=(e,t)=>(O(e)&&ie(g,e)!==t&&(ce(g,e,t),v(c,[e])),F),O=e=>ee(f,e),F={setSize:e=>(o=e,R(),F),addCheckpoint:J,setCheckpoint:M,getStore:()=>e,getCheckpointIds:()=>[[...p],t,[...L]],forEachCheckpoint:e=>de(g,e),hasCheckpoint:O,getCheckpoint:e=>ie(g,e),goBackward:()=>(V(),P(),F),goForward:()=>(E(),P(),F),goTo:e=>{const n=x(p,e)?V:x(L,e)?E:null;for(;!G(n)&&e!=t;)n();return P(),F},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),F),clear:()=>(S(p),S(L),G(t)||w(t),t=void 0,r=0,J(),F),destroy:()=>{e.delListener(m),e.delListener(b)},getListenerStats:()=>({})};return Pe(F.clear())})),Fe=(e,t)=>e<t?-1:1,je=Te((e=>{const t=le(),r=le(),[s,o,l,a,i,d,c,,u,v,h]=Re(e,le,(e=>G(e)?n:Y(e)?J(e,b):b(e))),[f,g,p]=xe((()=>y)),L=(t,n,r)=>{const s=i(t);se(r,((t,r)=>n(r,(n=>se(t,(t=>n(t,(n=>e.forEachCell(s,t,n)))))))))},y={setIndexDefinition:(e,n,s,o,l,a=Fe)=>{const i=G(l)?void 0:([e],[t])=>l(e,t);return u(e,n,((n,s,l,u,v,h)=>{let f=0;const p=we(),L=we(),y=d(e);if(se(s,(([e,t],n)=>{const r=we(e),s=we(t);se(r,(e=>oe(s,e)?oe(r,e):0)),se(r,(e=>{Se(p,e),K(ie(y,e),(t=>{oe(t,n),te(t)&&(ce(y,e),f=1)}))})),se(s,(e=>{Se(p,e),ee(y,e)||(ce(y,e,we()),f=1),Se(ie(y,e),n),G(o)||Se(L,e)}))})),n(),te(v)||(h?de(y,(e=>Se(L,e))):de(l,(e=>K(ie(u,e),(e=>Se(L,e))))),se(L,(e=>{const t=(t,n)=>a(ie(v,t),ie(v,n),e),n=[...ie(y,e)];E(n,t)||(ce(y,e,we(P(n,t))),Se(p,e))}))),(f||h)&&!G(i)){const t=[...y];E(t,i)||(c(e,le(P(t,i))),f=1)}f&&g(t,[e]),se(p,(t=>g(r,[e,t])))}),Ie(s),K(o,Ie)),y},delIndexDefinition:e=>(v(e),y),getStore:s,getIndexIds:o,forEachIndex:e=>l(((t,n)=>e(t,(e=>L(t,e,n))))),forEachSlice:(e,t)=>L(e,t,d(e)),hasIndex:a,hasSlice:(e,t)=>ee(d(e),t),getTableId:i,getSliceIds:e=>ae(d(e)),getSliceRowIds:(e,t)=>ne(ie(d(e),t)),addSliceIdsListener:(e,n)=>f(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>f(n,r,[e,t]),delListener:e=>(p(e),y),destroy:h,getListenerStats:()=>({})};return Pe(y)})),Qe=le([["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,r)=>e+(t-n)/r]],["max",[e=>q(...e),(e,t)=>q(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:q(t,e)]],["min",[e=>B(...e),(e,t)=>B(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:B(t,e)]],["sum",[e=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),ze=(e,t,n,r,s,o=!1)=>{if(te(n))return;const[l,a,i,d]=s;return o||(o=G(e)),se(r,(([n,r])=>{o||(e=G(n)?null==a?void 0:a(e,r,t++):G(r)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,r,n,t),o||(o=G(e)))})),o?l(ne(n),_(n)):e},Ne=Te((e=>{const t=le(),[r,s,o,l,a,i,d,,c,u,v]=Re(e,Z,(e=>isNaN(e)||G(e)||!0===e||!1===e||e===n?void 0:1*e)),[h,f,g]=xe((()=>p)),p={setMetricDefinition:(e,n,r,s,o,l,a)=>{var u;const v=X(r)?[r,o,l,a]:null!=(u=ie(Qe,r))?u:ie(Qe,"sum");return c(e,n,((n,r,s,o,l,a)=>{const c=i(e),u=_(o);a||(a=G(c)),n();let h=ze(c,u,o,r,v,a);H(h)||(h=void 0),h!=c&&(d(e,h),f(t,[e],h,c))}),Ie(s,1)),p},delMetricDefinition:e=>(u(e),p),getStore:r,getMetricIds:s,forEachMetric:o,hasMetric:l,getTableId:a,getMetric:i,addMetricListener:(e,n)=>h(n,t,[e]),delListener:e=>(g(e),p),destroy:v,getListenerStats:()=>({})};return Pe(p)}));var We=(e,t,n)=>new Promise(((r,s)=>{var o=e=>{try{a(n.next(e))}catch(e){s(e)}},l=e=>{try{a(n.throw(e))}catch(e){s(e)}},a=e=>e.done?r(e.value):Promise.resolve(e.value).then(o,l);a((n=n.apply(e,t)).next())}));const qe=(e,t,r,s,o)=>{let l,a,i=0;const d={load:(...r)=>We(void 0,[...r],(function*(r={},s={}){if(2!=i){i=1;const o=yield t();G(o)||o==n?e.transaction((()=>e.setTables(r).setValues(s))):e.setJson(o),i=0}return d})),startAutoLoad:(...e)=>We(void 0,[...e],(function*(e={},t={}){return d.stopAutoLoad(),yield d.load(e,t),s(d.load),d})),stopAutoLoad:()=>(o(),d),save:()=>We(void 0,null,(function*(){return 1!=i&&(i=2,yield r(e.getJson()),i=0),d})),startAutoSave:()=>We(void 0,null,(function*(){return yield d.stopAutoSave().save(),l=e.addTablesListener(d.save),a=e.addValuesListener(d.save),d})),stopAutoSave:()=>(K(l,e.delListener),K(a,e.delListener),d),getStore:()=>e,destroy:()=>d.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Pe(d)};var Be=(e,t,n)=>new Promise(((r,s)=>{var o=e=>{try{a(n.next(e))}catch(e){s(e)}},l=e=>{try{a(n.throw(e))}catch(e){s(e)}},a=e=>e.done?r(e.value):Promise.resolve(e.value).then(o,l);a((n=n.apply(e,t)).next())}));const He="storage",$e=globalThis.window,Ge=(e,t,n)=>{let r;return qe(e,(()=>Be(void 0,null,(function*(){return n.getItem(t)}))),(e=>Be(void 0,null,(function*(){return n.setItem(t,e)}))),(e=>{r=r=>{r.storageArea===n&&r.key===t&&e()},$e.addEventListener(He,r)}),(()=>{$e.removeEventListener(He,r),r=void 0}))};var Ke=(e,t,n)=>new Promise(((r,s)=>{var o=e=>{try{a(n.next(e))}catch(e){s(e)}},l=e=>{try{a(n.throw(e))}catch(e){s(e)}},a=e=>e.done?r(e.value):Promise.resolve(e.value).then(o,l);a((n=n.apply(e,t)).next())})),Ue=(e,t,n)=>new Promise(((r,s)=>{var o=e=>{try{a(n.next(e))}catch(e){s(e)}},l=e=>{try{a(n.throw(e))}catch(e){s(e)}},a=e=>e.done?r(e.value):Promise.resolve(e.value).then(o,l);a((n=n.apply(e,t)).next())}));const Xe=e=>e.headers.get("ETag");var Ye=Object.getOwnPropertySymbols,Ze=Object.prototype.hasOwnProperty,_e=Object.prototype.propertyIsEnumerable;const et=Te((e=>{const t=e.createStore,[r,s,o,l,a,,,i,,d,h,g,p]=Re(e,(()=>!0),Z),I=t(),T=t(),m=le(),b=(e,t,...n)=>k(n,(n=>Se(ue(ue(m,t,le),e,we),n))),x=e=>{K(ie(m,e),(e=>{de(e,((e,t)=>se(t,(t=>e.delListener(t))))),re(e)})),k([T,I],(t=>t.delTable(e)))},V=(e,t,n)=>b(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),E={setQueryDefinition:(t,r,s)=>{i(t,r),x(t);const o=[],l=[[null,[r,null,null,[],le()]]],a=[],d=[],c=[];s({select:(e,t)=>{const r=X(e)?[A(o)+n,e]:[G(t)?e:t,n=>n(e,t)];return j(o,r),{as:e=>r[0]=e}},join:(e,t,n)=>{const r=G(n)||X(t)?null:t,s=G(r)?t:n,o=[e,[e,r,X(s)?s:e=>e(s),[],le()]];return j(l,o),{as:e=>o[0]=e}},where:(e,t,n)=>j(a,X(e)?e:G(n)?n=>n(e)===t:r=>r(e,t)===n),group:(e,t,n,r,s)=>{var o;const l=[e,[e,X(t)?[t,n,r,s]:null!=(o=ie(Qe,t))?o:[(e,t)=>t]]];return j(d,l),{as:e=>l[0]=e}},having:(e,t)=>j(c,X(e)?e:n=>n(e)===t)});const u=le(o);if(te(u))return E;const v=le(l);de(v,((e,[,t])=>K(ie(v,t),(({3:t})=>G(e)?0:j(t,e)))));const h=le(d);let f=I;if(te(h)&&D(c))f=T;else{V(t,f,T);const e=le();de(h,((t,[n,r])=>Se(ue(e,n,we),[t,r])));const n=we();de(u,(t=>ee(e,t)?0:Se(n,t)));const r=le(),s=(n,r,s,o)=>K(n,(([l,a,i,d])=>{de(r,((t,[n])=>{const r=ue(l,t,le),a=ie(r,s),i=o?void 0:n;if(a!==i){const n=we([[a,i]]),o=_(r);ce(r,s,i),se(ie(e,t),(([e,t])=>{const s=ze(d[e],o,r,n,t);d[e]=G(pe(s))?null:s}))}})),te(a)||!C(c,(e=>e((e=>d[e]))))?T.delRow(t,i):G(i)?n[2]=T.addRow(t,d):T.setRow(t,i,d)}));b(f,t,f.addRowListener(t,null,((o,l,a,i)=>{const d=[],c=[],u=le(),v=f.hasRow(t,a);let h=!v;se(n,(e=>{const[n,r,s]=i(t,a,e);j(d,r),j(c,s),h||(h=n)})),de(e,(e=>{const[n,,r]=i(t,a,e);(h||n)&&ce(u,e,[r])})),h&&s(ge(r,d,void 0,(([,e])=>(oe(e,a),te(e)))),u,a,1),v&&s(ge(r,c,(()=>{const e={};return se(n,(n=>e[n]=f.getCell(t,a,n))),[le(),we(),void 0,e]}),(([,e])=>{Se(e,a)})),u,a)})))}V(t,e,f);const L=(n,s,o,l)=>{const i=t=>e.getCell(s,o,t);k(l,(r=>{var s;const[o,,l,a,d]=ie(v,r),c=null==l?void 0:l(i,n),[u,h]=null!=(s=ie(d,n))?s:[];c!=u&&(G(h)||p(t,h),ce(d,n,G(c)?null:[c,...g(t,1,e.addRowListener(o,c,(()=>L(n,o,c,a))))]))})),(n=>{const s=(t,s)=>{var o,l,a;return e.getCell(...G(s)?[r,n,t]:t===r?[r,n,s]:[null==(o=ie(v,t))?void 0:o[0],null==(a=ie(null==(l=ie(v,t))?void 0:l[4],n))?void 0:a[0],s])};f.transaction((()=>C(a,(e=>e(s)))?de(u,((e,r)=>Le(f,t,n,e,r(s,n)))):f.delRow(t,n)))})(n)},{3:y}=ie(v,null);return f.transaction((()=>g(t,1,e.addRowListener(r,null,((n,s,o)=>{e.hasRow(r,o)?L(o,r,o,y):(f.delRow(t,o),se(v,(({4:e})=>K(ie(e,o),(([,n])=>{p(t,n),ce(e,o)})))))}))))),E},delQueryDefinition:e=>(x(e),d(e),E),getStore:r,getQueryIds:s,forEachQuery:o,hasQuery:l,getTableId:a,delListener:e=>(T.delListener(e),E),destroy:h,getListenerStats:()=>((e,t)=>{var n={};for(var r in e)Ze.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&Ye)for(var r of Ye(e))t.indexOf(r)<0&&_e.call(e,r)&&(n[r]=e[r]);return n})(T.getListenerStats(),["tables","tableIds","transaction"])};return Ae({[f]:[1,1],[y]:[0,1],[w]:[0,5],[L]:[1,2],[R]:[0,2],[S]:[1,3]},(([e,t],n)=>{k(e?["get","has","forEach"]:["get"],(e=>E[e+u+n]=(...t)=>T[e+n](...t))),E[v+u+n+c]=(...e)=>T[v+n+c](...F(e,0,t),((n,...r)=>e[t](E,...r)))})),Pe(E)})),tt=Te((e=>{const t=le(),r=le(),s=le(),o=le(),[l,a,i,d,c,u,,,v,h,f]=Re(e,(()=>[le(),le(),le(),le()]),(e=>G(e)?void 0:e+n)),[g,p,L]=xe((()=>R)),y=(e,t,n)=>K(u(e),(([r,,s])=>{if(!ee(s,t)){const o=we();if(c(e)!=S(e))Se(o,t);else{let e=t;for(;!G(e)&&!ee(o,e);)Se(o,e),e=ie(r,e)}if(n)return o;ce(s,t,o)}return ie(s,t)})),w=(e,t)=>K(u(e),(([,,e])=>ce(e,t))),S=e=>ie(t,e),R={setRelationshipDefinition:(e,n,l,a)=>(ce(t,e,l),v(e,n,((t,n)=>{const l=we(),a=we(),i=we(),[d,c]=u(e);se(n,(([t,n],r)=>{G(t)||(Se(a,t),K(ie(c,t),(e=>{oe(e,r),te(e)&&ce(c,t)}))),G(n)||(Se(a,n),ee(c,n)||ce(c,n,we()),Se(ie(c,n),r)),Se(l,r),ce(d,r,n),de(ie(o,e),(t=>{ee(y(e,t),r)&&Se(i,t)}))})),t(),se(l,(t=>p(r,[e,t]))),se(a,(t=>p(s,[e,t]))),se(i,(t=>{w(e,t),p(o,[e,t])}))}),Ie(a)),R),delRelationshipDefinition:e=>(ce(t,e),h(e),R),getStore:l,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 ie(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return ne(ie(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>G(u(e))?[t]:ne(y(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>g(n,r,[e,t]),addLocalRowIdsListener:(e,t,n)=>g(n,s,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(y(e,t),g(n,o,[e,t])),delListener:e=>(w(...L(e)),R),destroy:f,getListenerStats:()=>({})};return Pe(R)})),nt=e=>[e,e],rt=()=>[le(),le()],st=(e,t,n,r=ce)=>(Ae(t,((t,r)=>n(e,r,t))),de(e,(n=>Je(t,n)?0:r(e,n))),e),ot=(e,t,n)=>G(e)||!ke(e)||De(e)||Ee(e)?(null==n||n(),!1):(Ae(e,((n,r)=>{t(n,r)||Me(e,r)})),!De(e)),lt=(e,t,n)=>ce(e,t,ie(e,t)==-n?void 0:n),at=()=>{let e,t,n,r,s=0;const l=le(),d=le(),u=le(),h=le(),w=le(),C=le(),E=le(),M=le(),A=le(),D=le(),O=le(),Q=le(),z=we(),q=le(),B=le(),H=le(),$=rt(),Y=rt(),Z=rt(),_=rt(),ne=rt(),ge=rt(),Re=rt(),Ie=rt(),Te=rt(),me=rt(),Ce=rt(),Ve=rt(),Ee=rt(),ke=rt(),[Oe,je,Qe,ze]=xe((()=>tn)),Ne=e=>{if(!ot(e,((e,t)=>x([a,i],t))))return!1;const t=e[a];return!(!U(t)&&t!=o||(pe(e[i])!=t&&Me(e,i),0))},We=(t,n)=>(!e||ee(A,n)||mt(n))&&ot(t,((e,t)=>qe(n,t,e)),(()=>mt(n))),qe=(e,t,n,r)=>ot(r?n:Ge(n,e,t),((r,s)=>K(Be(e,t,s,r),(e=>(n[s]=e,!0)),(()=>!1))),(()=>mt(e,t))),Be=(t,n,r,s)=>e?K(ie(ie(A,t),r),(e=>pe(s)!=e[a]?mt(t,n,r,s,e[i]):s),(()=>mt(t,n,r,s))):G(pe(s))?mt(t,n,r,s):s,He=(e,t)=>ot(t?e:Ke(e),((t,n)=>K($e(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>bt())),$e=(e,n)=>t?K(ie(O,e),(t=>pe(n)!=t[a]?bt(e,n,t[i]):n),(()=>bt(e,n))):G(pe(n))?bt(e,n):n,Ge=(e,t,n)=>(K(ie(D,t),(([r,s])=>{se(r,((t,n)=>{Je(e,n)||(e[n]=t)})),se(s,(r=>{Je(e,r)||mt(t,n,r)}))})),e),Ke=e=>(t&&(se(Q,((t,n)=>{Je(e,n)||(e[n]=t)})),se(z,(t=>{Je(e,t)||bt(t)}))),e),Ue=e=>st(A,e,((e,t,n)=>{const r=le(),s=we();st(ue(A,t,le),n,((e,t,n)=>{ce(e,t,n),K(n[i],(e=>ce(r,t,e)),(()=>Se(s,t)))})),ce(D,t,[r,s])}),((e,t)=>{ce(A,t),ce(D,t)})),Xe=e=>st(O,e,((e,t,n)=>{ce(O,t,n),K(n[i],(e=>ce(Q,t,e)),(()=>Se(z,t)))}),((e,t)=>{ce(O,t),ce(Q,t),oe(z,t)})),Ye=e=>De(e)?Kt():qt(e),Ze=e=>st(B,e,((e,t,n)=>_e(t,n)),((e,t)=>ft(t))),_e=(e,t)=>st(ue(B,e,(()=>(yt(e,1),le()))),t,((t,n,r)=>et(e,t,n,r)),((t,n)=>gt(e,t,n))),et=(e,t,n,r,s)=>st(ue(t,n,(()=>(wt(e,n,1),le()))),r,((t,r,s)=>tt(e,n,t,r,s)),((r,o)=>pt(e,t,n,r,o,s))),tt=(e,t,n,r,s)=>{ee(n,r)||St(e,t,r,1);const o=ie(n,r);s!==o&&(Rt(e,t,r,o,s),ce(n,r,s))},it=(e,t,n,r,s)=>K(ie(t,n),(t=>tt(e,n,t,r,s)),(()=>et(e,t,n,Ge({[r]:s},e,n)))),dt=e=>De(e)?Ut():Bt(e),ct=e=>st(H,e,((e,t,n)=>ut(t,n)),((e,t)=>Lt(t))),ut=(e,t)=>{ee(H,e)||It(e,1);const n=ie(H,e);t!==n&&(Tt(e,n,t),ce(H,e,t))},vt=(e,t)=>{const[n]=ue(q,e,be),r=n(t);return ee(ie(B,e),r)?vt(e,t):r},ht=e=>{var t;return null!=(t=ie(B,e))?t:_e(e,{})},ft=e=>_e(e,{}),gt=(e,t,n)=>{const[,r]=ue(q,e,be);r(n),et(e,t,n,{},!0)},pt=(e,t,n,r,s,o)=>{var l;const a=ie(null==(l=ie(D,e))?void 0:l[0],s);if(!G(a)&&!o)return tt(e,n,r,s,a);const i=t=>{Rt(e,n,t,ie(r,t)),St(e,n,t,-1),ce(r,t)};G(a)?i(s):de(r,i),te(r)&&(wt(e,n,-1),te(ce(t,n))&&(yt(e,-1),ce(B,e),ce(q,e)))},Lt=e=>{const t=ie(Q,e);if(!G(t))return ut(e,t);Tt(e,ie(H,e)),It(e,-1),ce(H,e)},yt=(e,t)=>lt(l,e,t),wt=(e,t,n)=>lt(ue(d,e,le),t,n),St=(e,t,n,r)=>lt(ue(ue(u,e,le),t,le),n,r),Rt=(e,t,n,r,s)=>ue(ue(ue(h,e,le),t,le),n,(()=>[r,0]))[1]=s,It=(e,t)=>lt(w,e,t),Tt=(e,t,n)=>ue(C,e,(()=>[t,0]))[1]=n,mt=(e,t,n,r,s)=>(j(ue(ue(ue(E,e,le),t,le),n,(()=>[])),r),s),bt=(e,t,n)=>(j(ue(M,e,(()=>[])),t),n),xt=(e,t,n)=>K(ie(ie(ie(h,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...nt(Qt(e,t,n))])),Ct=e=>K(ie(C,e),(([e,t])=>[!0,e,t]),(()=>[!1,...nt(Wt(e))])),Vt=e=>te(E)||te(Te[e])?0:se(e?he(E,fe):E,((t,n)=>se(t,((t,r)=>se(t,((t,s)=>je(Te[e],[n,r,s],t))))))),Et=e=>te(M)||te(me[e])?0:se(e?he(M):M,((t,n)=>je(me[e],[n],t))),Pt=(e,t,n)=>{if(!te(t))return je(e,n),1},kt=e=>{const t=te(ne[e]),n=te(Re[e])&&te(_[e])&&t&&te(Y[e]),r=te(Ie[e])&&te(ge[e])&&te(Z[e])&&te($[e]);if(!n||!r){const s=e?[he(l),fe(d),he(u,fe),he(h,fe)]:[l,d,u,h];if(!n){se(s[2],((t,n)=>se(t,((t,r)=>Pt(Re[e],t,[n,r])))));const n=we();se(s[1],((r,s)=>{Pt(_[e],r,[s])&&!t&&(je(ne[e],[s,null]),Se(n,s))})),t||se(s[3],((t,r)=>{if(!ee(n,r)){const n=we();se(t,(e=>se(e,(([t,r],s)=>r!==t?Se(n,s):oe(e,s))))),se(n,(t=>je(ne[e],[r,t])))}})),Pt(Y[e],s[0])}if(!r){let t;se(s[3],((n,r)=>{let s;se(n,((n,o)=>{let l;se(n,(([n,a],i)=>{a!==n&&(je(Ie[e],[r,o,i],a,n,xt),t=s=l=1)})),l&&je(ge[e],[r,o],xt)})),s&&je(Z[e],[r],xt)})),t&&je($[e],void 0,xt)}}},Jt=e=>{const t=te(Ve[e]),n=te(Ee[e])&&te(Ce[e]);if(!t||!n){const r=e?[he(w),he(C)]:[w,C];if(t||Pt(Ve[e],r[0]),!n){let t;se(r[1],(([n,r],s)=>{r!==n&&(je(Ee[e],[s],r,n,Ct),t=1)})),t&&je(Ce[e],void 0,Ct)}}},Mt=(e,...t)=>(Zt((()=>e(...J(t,b)))),tn),At=()=>ve(B,(e=>ve(e,ve))),Dt=()=>ae(B),Ot=e=>ae(ie(B,b(e))),Ft=(e,t,n,r=0,s)=>{return J(F(P((o=ie(B,b(e)),l=(e,n)=>[G(t)?n:ie(e,b(t)),n],J([...null!=(a=null==o?void 0:o.entries())?a:[]],(([e,t])=>l(t,e)))),(([e],[t])=>Fe(e,t)*(n?-1:1))),r,G(s)?s:r+s),(([,e])=>e));var o,l,a},jt=(e,t)=>ae(ie(ie(B,b(e)),b(t))),Qt=(e,t,n)=>ie(ie(ie(B,b(e)),b(t)),b(n)),zt=()=>ve(H),Nt=()=>ae(H),Wt=e=>ie(H,b(e)),qt=e=>Mt((()=>(e=>ot(e,We,mt))(e)?Ze(e):0)),Bt=e=>Mt((()=>He(e)?ct(e):0)),Ht=e=>{try{Ye(W(e))}catch(e){}return tn},$t=t=>Mt((()=>{if((e=ot(t,(e=>ot(e,Ne))))&&(Ue(t),!te(B))){const e=At();Kt(),qt(e)}})),Gt=e=>Mt((()=>{if(t=(e=>ot(e,Ne))(e)){const n=zt();Yt(),Ut(),t=!0,Xe(e),Bt(n)}})),Kt=()=>Mt((()=>Ze({}))),Ut=()=>Mt((()=>ct({}))),Xt=()=>Mt((()=>{Ue({}),e=!1})),Yt=()=>Mt((()=>{Xe({}),t=!1})),Zt=(e,t)=>{if(-1==s)return;_t();const n=e();return en(t),n},_t=()=>(s++,tn),en=e=>(s>0&&(s--,0==s&&(n=!te(h),r=!te(C),s=1,Vt(1),n&&kt(1),Et(1),r&&Jt(1),s=-1,(null==e?void 0:e(ve(h,(e=>ve(e,(e=>ve(e,(e=>[...e]),(([e,t])=>e===t))),De)),De),ve(E,(e=>ve(e,ve))),ve(C,(e=>[...e]),(([e,t])=>e===t)),ve(M)))&&(s=1,se(h,((e,t)=>se(e,((e,n)=>se(e,(([e],r)=>Le(tn,t,n,r,e))))))),se(C,(([e],t)=>ye(tn,t,e))),s=-1,n=r=!1),je(ke[0],void 0,n,r),Vt(0),n&&kt(0),Et(0),r&&Jt(0),je(ke[1],void 0,n,r),s=0,k([l,d,u,h,E,w,C,M],re))),tn),tn={getTables:At,getTableIds:Dt,getTable:e=>ve(ie(B,b(e)),ve),getRowIds:Ot,getSortedRowIds:Ft,getRow:(e,t)=>ve(ie(ie(B,b(e)),b(t))),getCellIds:jt,getCell:Qt,getValues:zt,getValueIds:Nt,getValue:Wt,hasTables:()=>!te(B),hasTable:e=>ee(B,b(e)),hasRow:(e,t)=>ee(ie(B,b(e)),b(t)),hasCell:(e,t,n)=>ee(ie(ie(B,b(e)),b(t)),b(n)),hasValues:()=>!te(H),hasValue:e=>ee(H,b(e)),getTablesJson:()=>N(B),getValuesJson:()=>N(H),getJson:()=>N([B,H]),getTablesSchemaJson:()=>N(A),getValuesSchemaJson:()=>N(O),getSchemaJson:()=>N([A,O]),setTables:qt,setTable:(e,t)=>Mt((e=>We(t,e)?_e(e,t):0),e),setRow:(e,t,n)=>Mt(((e,t)=>qe(e,t,n)?et(e,ht(e),t,n):0),e,t),addRow:(e,t,n=!0)=>Zt((()=>{let r;return qe(e,r,t)&&(e=b(e),et(e,ht(e),r=vt(e,n?1:0),t)),r})),setPartialRow:(e,t,n)=>Mt(((e,t)=>{if(qe(e,t,n,1)){const r=ht(e);Ae(n,((n,s)=>it(e,r,t,s,n)))}}),e,t),setCell:(e,t,n,r)=>Mt(((e,t,n)=>K(Be(e,t,n,X(r)?r(Qt(e,t,n)):r),(r=>it(e,ht(e),t,n,r)))),e,t,n),setValues:Bt,setPartialValues:e=>Mt((()=>He(e,1)?Ae(e,((e,t)=>ut(t,e))):0)),setValue:(e,t)=>Mt((e=>K($e(e,X(t)?t(Wt(e)):t),(t=>ut(e,t)))),e),setTablesJson:Ht,setValuesJson:e=>{try{dt(W(e))}catch(e){}return tn},setJson:e=>{try{const[t,n]=W(e);Ye(t),dt(n)}catch(t){Ht(e)}return tn},setTablesSchema:$t,setValuesSchema:Gt,setSchema:(e,t)=>Mt((()=>{$t(e),Gt(t)})),delTables:Kt,delTable:e=>Mt((e=>ee(B,e)?ft(e):0),e),delRow:(e,t)=>Mt(((e,t)=>K(ie(B,e),(n=>ee(n,t)?gt(e,n,t):0))),e,t),delCell:(e,t,n,r)=>Mt(((e,t,n)=>K(ie(B,e),(s=>K(ie(s,t),(o=>ee(o,n)?pt(e,s,t,o,n,r):0))))),e,t,n),delValues:Ut,delValue:e=>Mt((e=>ee(H,e)?Lt(e):0),e),delTablesSchema:Xt,delValuesSchema:Yt,delSchema:()=>Mt((()=>{Xt(),Yt()})),transaction:Zt,startTransaction:_t,finishTransaction:en,forEachTable:e=>se(B,((t,n)=>e(n,(e=>se(t,((t,n)=>e(n,(e=>de(t,e))))))))),forEachRow:(e,t)=>se(ie(B,b(e)),((e,n)=>t(n,(t=>de(e,t))))),forEachCell:(e,t,n)=>de(ie(ie(B,b(e)),b(t)),n),forEachValue:e=>de(H,e),addSortedRowIdsListener:(e,t,n,r,s,o,l)=>{let a=Ft(e,t,n,r,s);return Oe((()=>{const l=Ft(e,t,n,r,s);V(l,a)||(a=l,o(tn,e,t,n,r,s,a))}),ne[l?1:0],[e,t],[Dt])},addWillFinishTransactionListener:e=>Oe(e,ke[0]),addDidFinishTransactionListener:e=>Oe(e,ke[1]),callListener:e=>(ze(e),tn),delListener:e=>(Qe(e),tn),getListenerStats:()=>({}),createStore:at};return Ae({[g]:[0,$],[p]:[0,Y],[f]:[1,Z,[Dt]],[y]:[1,_,[Dt]],[L]:[2,ge,[Dt,Ot]],[R]:[2,Re,[Dt,Ot]],[S]:[3,Ie,[Dt,Ot,jt],e=>nt(Qt(...e))],InvalidCell:[3,Te],[T]:[0,Ce],[m]:[0,Ve],[I]:[1,Ee,[Nt],e=>nt(Wt(e[0]))],InvalidValue:[1,me]},(([e,t,n,r],s)=>{tn[v+s+c]=(...s)=>Oe(s[e],t[s[e+1]?1:0],e>0?F(s,0,e):void 0,n,r)})),Pe(tn)};exports.createCheckpoints=Oe,exports.createCustomPersister=qe,exports.createFilePersister=(t,n)=>{let r;return qe(t,(()=>Ke(void 0,null,(function*(){try{return yield e.promises.readFile(n,d)}catch(e){}}))),(t=>Ke(void 0,null,(function*(){try{yield e.promises.writeFile(n,t,d)}catch(e){}}))),(t=>{r=e.watch(n,t)}),(()=>{null==r||r.close(),r=void 0}))},exports.createIndexes=je,exports.createLocalPersister=(e,t)=>Ge(e,t,localStorage),exports.createMetrics=Ne,exports.createQueries=et,exports.createRelationships=tt,exports.createRemotePersister=(e,t,n,r)=>{let s,o;return qe(e,(()=>Ue(void 0,null,(function*(){const e=yield fetch(t);return o=Xe(e),e.text()}))),(e=>Ue(void 0,null,(function*(){return yield fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:e})}))),(e=>{s=setInterval((()=>Ue(void 0,null,(function*(){const n=yield fetch(t,{method:"HEAD"}),r=Xe(n);G(o)||G(r)||r==o||(o=r,e())}))),1e3*r)}),(()=>{K(s,clearInterval),s=void 0}))},exports.createSessionPersister=(e,t)=>Ge(e,t,sessionStorage),exports.createStore=at,exports.defaultSorter=Fe;
|
|
Binary file
|
package/lib/debug/persisters.js
CHANGED
|
@@ -23,7 +23,7 @@ const createCustomPersister = (
|
|
|
23
23
|
let loads = 0;
|
|
24
24
|
let saves = 0;
|
|
25
25
|
const persister = {
|
|
26
|
-
load: async (initialTables, initialValues) => {
|
|
26
|
+
load: async (initialTables = {}, initialValues = {}) => {
|
|
27
27
|
/* istanbul ignore else */
|
|
28
28
|
if (loadSave != 2) {
|
|
29
29
|
loadSave = 1;
|
|
@@ -42,7 +42,7 @@ const createCustomPersister = (
|
|
|
42
42
|
}
|
|
43
43
|
return persister;
|
|
44
44
|
},
|
|
45
|
-
startAutoLoad: async (initialTables, initialValues) => {
|
|
45
|
+
startAutoLoad: async (initialTables = {}, initialValues = {}) => {
|
|
46
46
|
persister.stopAutoLoad();
|
|
47
47
|
await persister.load(initialTables, initialValues);
|
|
48
48
|
startListeningToPersisted(persister.load);
|
package/lib/debug/tinybase.js
CHANGED
|
@@ -1024,7 +1024,7 @@ const createCustomPersister = (
|
|
|
1024
1024
|
let loads = 0;
|
|
1025
1025
|
let saves = 0;
|
|
1026
1026
|
const persister = {
|
|
1027
|
-
load: async (initialTables, initialValues) => {
|
|
1027
|
+
load: async (initialTables = {}, initialValues = {}) => {
|
|
1028
1028
|
/* istanbul ignore else */
|
|
1029
1029
|
if (loadSave != 2) {
|
|
1030
1030
|
loadSave = 1;
|
|
@@ -1043,7 +1043,7 @@ const createCustomPersister = (
|
|
|
1043
1043
|
}
|
|
1044
1044
|
return persister;
|
|
1045
1045
|
},
|
|
1046
|
-
startAutoLoad: async (initialTables, initialValues) => {
|
|
1046
|
+
startAutoLoad: async (initialTables = {}, initialValues = {}) => {
|
|
1047
1047
|
persister.stopAutoLoad();
|
|
1048
1048
|
await persister.load(initialTables, initialValues);
|
|
1049
1049
|
startListeningToPersisted(persister.load);
|
package/lib/es6/persisters.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{watch as e,promises as t}from"fs";const o="utf8",n=e=>null==e,r=(e,t,o)=>n(e)?null==o?void 0:o():t(e),
|
|
1
|
+
import{watch as e,promises as t}from"fs";const o="utf8",n=e=>null==e,r=(e,t,o)=>n(e)?null==o?void 0:o():t(e),a=Object.freeze;var l=(e,t,o)=>new Promise(((n,r)=>{var a=e=>{try{s(o.next(e))}catch(e){r(e)}},l=e=>{try{s(o.throw(e))}catch(e){r(e)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(a,l);s((o=o.apply(e,t)).next())}));const s=(e,t,o,s,i)=>{let u,d,c=0;const v={load:(...o)=>l(void 0,[...o],(function*(o={},r={}){if(2!=c){c=1;const a=yield t();n(a)||""==a?e.transaction((()=>e.setTables(o).setValues(r))):e.setJson(a),c=0}return v})),startAutoLoad:(...e)=>l(void 0,[...e],(function*(e={},t={}){return v.stopAutoLoad(),yield v.load(e,t),s(v.load),v})),stopAutoLoad:()=>(i(),v),save:()=>l(void 0,null,(function*(){return 1!=c&&(c=2,yield o(e.getJson()),c=0),v})),startAutoSave:()=>l(void 0,null,(function*(){return yield v.stopAutoSave().save(),u=e.addTablesListener(v.save),d=e.addValuesListener(v.save),v})),stopAutoSave:()=>(r(u,e.delListener),r(d,e.delListener),v),getStore:()=>e,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return a(v)};var i=(e,t,o)=>new Promise(((n,r)=>{var a=e=>{try{s(o.next(e))}catch(e){r(e)}},l=e=>{try{s(o.throw(e))}catch(e){r(e)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(a,l);s((o=o.apply(e,t)).next())}));const u="storage",d=globalThis.window,c=(e,t,o)=>{let n;return s(e,(()=>i(void 0,null,(function*(){return o.getItem(t)}))),(e=>i(void 0,null,(function*(){return o.setItem(t,e)}))),(e=>{n=n=>{n.storageArea===o&&n.key===t&&e()},d.addEventListener(u,n)}),(()=>{d.removeEventListener(u,n),n=void 0}))},v=(e,t)=>c(e,t,localStorage),y=(e,t)=>c(e,t,sessionStorage);var h=(e,t,o)=>new Promise(((n,r)=>{var a=e=>{try{s(o.next(e))}catch(e){r(e)}},l=e=>{try{s(o.throw(e))}catch(e){r(e)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(a,l);s((o=o.apply(e,t)).next())}));const f=(n,r)=>{let a;return s(n,(()=>h(void 0,null,(function*(){try{return yield t.readFile(r,o)}catch(e){}}))),(e=>h(void 0,null,(function*(){try{yield t.writeFile(r,e,o)}catch(e){}}))),(t=>{a=e(r,t)}),(()=>{null==a||a.close(),a=void 0}))};var p=(e,t,o)=>new Promise(((n,r)=>{var a=e=>{try{s(o.next(e))}catch(e){r(e)}},l=e=>{try{s(o.throw(e))}catch(e){r(e)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(a,l);s((o=o.apply(e,t)).next())}));const m=e=>e.headers.get("ETag"),g=(e,t,o,a)=>{let l,i;return s(e,(()=>p(void 0,null,(function*(){const e=yield fetch(t);return i=m(e),e.text()}))),(e=>p(void 0,null,(function*(){return yield fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:e})}))),(e=>{l=setInterval((()=>p(void 0,null,(function*(){const o=yield fetch(t,{method:"HEAD"}),r=m(o);n(i)||n(r)||r==i||(i=r,e())}))),1e3*a)}),(()=>{r(l,clearInterval),l=void 0}))};export{s as createCustomPersister,f as createFilePersister,v as createLocalPersister,g as createRemotePersister,y as createSessionPersister};
|
package/lib/es6/persisters.js.gz
CHANGED
|
Binary file
|
package/lib/es6/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{watch as e,promises as t}from"fs";const n=e=>typeof e,l="",o=n(l),s=n(!0),r=n(0),a=n(n),i="type",d="default",c="utf8",u="Listener",v="Result",h="add",f="Ids",g="Table",L=g+"s",y=g+f,p="Row",w=p+f,S="Sorted"+p+f,I="Cell",R=I+f,T="Value",b=T+"s",m=T+f,C=e=>l+e,V=(e,t)=>e.includes(t),E=(e,t)=>e.every(t),x=(e,t)=>D(e)===D(t)&&E(e,((e,n)=>t[n]===e)),k=(e,t)=>E(e,((n,l)=>0==l||t(e[l-1],n)<=0)),J=(e,t)=>e.sort(t),P=(e,t)=>e.forEach(t),A=(e,t)=>e.map(t),M=e=>F(e,((e,t)=>e+t),0),D=e=>e.length,O=e=>0==D(e),F=(e,t,n)=>e.reduce(t,n),j=(e,t,n)=>e.slice(t,n),Q=(e,...t)=>e.push(...t),z=e=>e.pop(),N=e=>e.shift(),W=e=>JSON.stringify(e,((e,t)=>G(t,Map)?F([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),B=JSON.parse,H=Math.max,$=Math.min,q=isFinite,G=(e,t)=>e instanceof t,K=e=>null==e,U=(e,t,n)=>K(e)?null==n?void 0:n():t(e),X=e=>e==o||e==s,Y=e=>n(e)==a,Z=e=>Array.isArray(e),_=()=>{},ee=e=>e.size,te=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ne=e=>K(e)||0==ee(e),le=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},oe=e=>e.clear(),se=(e,t)=>null==e?void 0:e.forEach(t),re=(e,t)=>null==e?void 0:e.delete(t),ae=e=>new Map(e),ie=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},de=(e,t)=>null==e?void 0:e.get(t),ce=(e,t)=>se(e,((e,n)=>t(n,e))),ue=(e,t,n)=>K(n)?(re(e,t),e):null==e?void 0:e.set(t,n),ve=(e,t,n)=>(te(e,t)||ue(e,t,n()),de(e,t)),he=(e,t,n)=>{const l={},o=null!=t?t:e=>e;return se(e,((e,t)=>U(o(e),(e=>(null==n?void 0:n(e))?0:l[t]=e)))),l},fe=(e,t)=>{const n=ae(),l=null!=t?t:e=>e;return se(e,((e,t)=>n.set(t,l(e)))),n},ge=e=>fe(e,fe),Le=(e,t,n,l,o=0)=>U((n?ve:de)(e,t[o],o>D(t)-2?n:ae),(s=>{if(o>D(t)-2)return(null==l?void 0:l(s))&&ue(e,t[o]),s;const r=Le(s,t,n,l,o+1);return ne(s)&&ue(e,t[o]),r})),ye=e=>{const t=n(e);return X(t)||t==r&&q(e)?t:void 0},pe=(e,t,n,l,o)=>K(o)?e.delCell(t,n,l,!0):e.setCell(t,n,l,o),we=(e,t,n)=>K(n)?e.delValue(t):e.setValue(t,n),Se=e=>new Set(Z(e)||K(e)?e:[e]),Ie=(e,t)=>null==e?void 0:e.add(t),Re=(e,t,n)=>{const l=e.hasRow,o=ae(),s=ae(),r=ae(),a=ae(),i=ae(),d=(t,n,...l)=>{const o=ve(i,t,Se);return P(l,(t=>Ie(o,t)&&n&&e.callListener(t))),l},c=(t,...n)=>U(de(i,t),(l=>{P(O(n)?le(l):n,(t=>{e.delListener(t),re(l,t)})),ne(l)&&ue(i,t)})),u=(e,n)=>{ue(o,e,n),te(s,e)||(ue(s,e,t()),ue(r,e,ae()),ue(a,e,ae()))},v=e=>{ue(o,e),ue(s,e),ue(r,e),ue(a,e),c(e)};return[()=>e,()=>ie(o),e=>ce(s,e),e=>te(s,e),e=>de(o,e),e=>de(s,e),(e,t)=>ue(s,e,t),u,(t,o,s,i,v)=>{u(t,o);const h=ae(),f=ae(),g=de(r,t),L=de(a,t),y=t=>{const s=n=>e.getCell(o,t,n),r=de(g,t),a=l(o,t)?n(i(s,t)):void 0;if(r===a||Z(r)&&Z(a)&&x(r,a)||ue(h,t,[r,a]),!K(v)){const e=de(L,t),n=l(o,t)?v(s,t):void 0;e!=n&&ue(f,t,n)}},p=e=>{s((()=>{se(h,(([,e],t)=>ue(g,t,e))),se(f,((e,t)=>ue(L,t,e)))}),h,f,g,L,e),oe(h),oe(f)};ce(g,y),e.hasTable(o)&&P(e.getRowIds(o),(e=>{te(g,e)||y(e)})),p(!0),c(t),d(t,0,e.addRowListener(o,null,((e,t,n)=>y(n))),e.addTableListener(o,(()=>p())))},v,()=>ce(i,v),d,c]},Te=(e,t)=>n(e)==o?t=>t(e):null!=e?e:()=>null!=t?t:l,be=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},me=/^\d+$/,Ce=()=>{const e=[];let t=0;return[n=>{var o;return null!=(o=n?N(e):null)?o:l+t++},t=>{me.test(t)&&D(e)<1e3&&Q(e,t)}]},Ve=e=>{let t;const[n,o]=Ce(),s=ae();return[(o,r,a,i=[],d=(()=>[]))=>{null!=t||(t=e());const c=n(1);return ue(s,c,[o,r,a,i,d]),Ie(Le(r,null!=a?a:[l],Se),c),c},(e,n,...o)=>P(((e,t=[l])=>{const n=[],o=(e,l)=>l==D(t)?Q(n,e):null===t[l]?se(e,(e=>o(e,l+1))):P([t[l],null],(t=>o(de(e,t),l+1)));return o(e,0),n})(e,n),(e=>se(e,(e=>de(s,e)[0](t,...null!=n?n:[],...o))))),e=>U(de(s,e),(([,t,n])=>(Le(t,null!=n?n:[l],void 0,(t=>(re(t,e),ne(t)?1:0))),ue(s,e),o(e),n))),e=>U(de(s,e),(([e,,n=[],l,o])=>{const s=(...r)=>{var a,i;const d=D(r);d==D(n)?e(t,...r,...o(r)):K(n[d])?P(null!=(i=null==(a=l[d])?void 0:a.call(l,...r))?i:[],(e=>s(...r,e))):s(...r,n[d])};s()}))]},Ee=Object,xe=Ee.keys,ke=Ee.isFrozen,Je=Ee.freeze,Pe=e=>G(e,Ee)&&e.constructor==Ee,Ae=(e,t)=>!K(((e,t)=>U(e,(e=>e[t])))(e,t)),Me=(e,t)=>delete e[t],De=(e,t)=>A(Ee.entries(e),(([e,n])=>t(n,e))),Oe=e=>Pe(e)&&O(xe(e)),Fe=be((e=>{let t,n,o,s=100,r=ae(),a=ae(),i=1;const d=ae(),c=ae(),[u,v,h]=Ve((()=>F)),f=ae(),g=ae(),L=[],y=[],p=(t,n)=>{i=0,e.transaction((()=>{const[l,o]=de(f,n);se(l,((n,l)=>se(n,((n,o)=>se(n,((n,s)=>pe(e,l,o,s,n[t]))))))),se(o,((n,l)=>we(e,l,n[t])))})),i=1},w=e=>{ue(f,e),ue(g,e),v(c,[e])},S=(e,t)=>P(((e,t)=>e.splice(0,t))(e,null!=t?t:D(e)),w),I=()=>S(L,D(L)-s),R=()=>U(t,(()=>{Q(L,t),I(),S(y),t=void 0,o=1})),T=()=>{t=z(L),o=1},b=e.addCellListener(null,null,null,((e,t,n,l,o,s)=>{if(i){R();const e=ve(r,t,ae),a=ve(e,n,ae),i=ve(a,l,(()=>[s,void 0]));i[1]=o,i[0]===o&&ne(ue(a,l))&&ne(ue(e,n))&&ne(ue(r,t))&&T(),k()}})),m=e.addValueListener(null,((e,t,n,l)=>{if(i){R();const e=ve(a,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ne(ue(a,t))&&T(),k()}})),C=(e="")=>(K(t)&&(t=l+n++,ue(f,t,[r,a]),A(t,e),r=ae(),a=ae(),o=1),t),E=()=>{O(L)||(((e,...t)=>{e.unshift(...t)})(y,C()),p(0,t),t=z(L),o=1)},x=()=>{O(y)||(Q(L,t),t=N(y),p(1,t),o=1)},k=()=>{o&&(v(d),o=0)},J=e=>{const t=C(e);return k(),t},A=(e,t)=>(M(e)&&de(g,e)!==t&&(ue(g,e,t),v(c,[e])),F),M=e=>te(f,e),F={setSize:e=>(s=e,I(),F),addCheckpoint:J,setCheckpoint:A,getStore:()=>e,getCheckpointIds:()=>[[...L],t,[...y]],forEachCheckpoint:e=>ce(g,e),hasCheckpoint:M,getCheckpoint:e=>de(g,e),goBackward:()=>(E(),k(),F),goForward:()=>(x(),k(),F),goTo:e=>{const n=V(L,e)?E:V(y,e)?x:null;for(;!K(n)&&e!=t;)n();return k(),F},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),F),clear:()=>(S(L),S(y),K(t)||w(t),t=void 0,n=0,J(),F),destroy:()=>{e.delListener(b),e.delListener(m)},getListenerStats:()=>({})};return Je(F.clear())})),je=(e,t)=>e<t?-1:1,Qe=be((e=>{const t=ae(),n=ae(),[o,s,r,a,i,d,c,,u,v,h]=Re(e,ae,(e=>K(e)?l:Z(e)?A(e,C):C(e))),[f,g,L]=Ve((()=>p)),y=(t,n,l)=>{const o=i(t);se(l,((t,l)=>n(l,(n=>se(t,(t=>n(t,(n=>e.forEachCell(o,t,n)))))))))},p={setIndexDefinition:(e,l,o,s,r,a=je)=>{const i=K(r)?void 0:([e],[t])=>r(e,t);return u(e,l,((l,o,r,u,v,h)=>{let f=0;const L=Se(),y=Se(),p=d(e);if(se(o,(([e,t],n)=>{const l=Se(e),o=Se(t);se(l,(e=>re(o,e)?re(l,e):0)),se(l,(e=>{Ie(L,e),U(de(p,e),(t=>{re(t,n),ne(t)&&(ue(p,e),f=1)}))})),se(o,(e=>{Ie(L,e),te(p,e)||(ue(p,e,Se()),f=1),Ie(de(p,e),n),K(s)||Ie(y,e)}))})),l(),ne(v)||(h?ce(p,(e=>Ie(y,e))):ce(r,(e=>U(de(u,e),(e=>Ie(y,e))))),se(y,(e=>{const t=(t,n)=>a(de(v,t),de(v,n),e),n=[...de(p,e)];k(n,t)||(ue(p,e,Se(J(n,t))),Ie(L,e))}))),(f||h)&&!K(i)){const t=[...p];k(t,i)||(c(e,ae(J(t,i))),f=1)}f&&g(t,[e]),se(L,(t=>g(n,[e,t])))}),Te(o),U(s,Te)),p},delIndexDefinition:e=>(v(e),p),getStore:o,getIndexIds:s,forEachIndex:e=>r(((t,n)=>e(t,(e=>y(t,e,n))))),forEachSlice:(e,t)=>y(e,t,d(e)),hasIndex:a,hasSlice:(e,t)=>te(d(e),t),getTableId:i,getSliceIds:e=>ie(d(e)),getSliceRowIds:(e,t)=>le(de(d(e),t)),addSliceIdsListener:(e,n)=>f(n,t,[e]),addSliceRowIdsListener:(e,t,l)=>f(l,n,[e,t]),delListener:e=>(L(e),p),destroy:h,getListenerStats:()=>({})};return Je(p)})),ze=ae([["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=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:H(t,e)]],["min",[e=>$(...e),(e,t)=>$(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:$(t,e)]],["sum",[e=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Ne=(e,t,n,l,o,s=!1)=>{if(ne(n))return;const[r,a,i,d]=o;return s||(s=K(e)),se(l,(([n,l])=>{s||(e=K(n)?null==a?void 0:a(e,l,t++):K(l)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,l,n,t),s||(s=K(e)))})),s?r(le(n),ee(n)):e},We=be((e=>{const t=ae(),[n,o,s,r,a,i,d,,c,u,v]=Re(e,_,(e=>isNaN(e)||K(e)||!0===e||!1===e||e===l?void 0:1*e)),[h,f,g]=Ve((()=>L)),L={setMetricDefinition:(e,n,l,o,s,r,a)=>{var u;const v=Y(l)?[l,s,r,a]:null!=(u=de(ze,l))?u:de(ze,"sum");return c(e,n,((n,l,o,s,r,a)=>{const c=i(e),u=ee(s);a||(a=K(c)),n();let h=Ne(c,u,s,l,v,a);q(h)||(h=void 0),h!=c&&(d(e,h),f(t,[e],h,c))}),Te(o,1)),L},delMetricDefinition:e=>(u(e),L),getStore:n,getMetricIds:o,forEachMetric:s,hasMetric:r,getTableId:a,getMetric:i,addMetricListener:(e,n)=>h(n,t,[e]),delListener:e=>(g(e),L),destroy:v,getListenerStats:()=>({})};return Je(L)}));var Be=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const He=(e,t,n,o,s)=>{let r,a,i=0;const d={load:(n,o)=>Be(void 0,null,(function*(){if(2!=i){i=1;const s=yield t();K(s)||s==l?e.transaction((()=>e.setTables(n).setValues(o))):e.setJson(s),i=0}return d})),startAutoLoad:(e,t)=>Be(void 0,null,(function*(){return d.stopAutoLoad(),yield d.load(e,t),o(d.load),d})),stopAutoLoad:()=>(s(),d),save:()=>Be(void 0,null,(function*(){return 1!=i&&(i=2,yield n(e.getJson()),i=0),d})),startAutoSave:()=>Be(void 0,null,(function*(){return yield d.stopAutoSave().save(),r=e.addTablesListener(d.save),a=e.addValuesListener(d.save),d})),stopAutoSave:()=>(U(r,e.delListener),U(a,e.delListener),d),getStore:()=>e,destroy:()=>d.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Je(d)};var $e=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const qe="storage",Ge=globalThis.window,Ke=(e,t,n)=>{let l;return He(e,(()=>$e(void 0,null,(function*(){return n.getItem(t)}))),(e=>$e(void 0,null,(function*(){return n.setItem(t,e)}))),(e=>{l=l=>{l.storageArea===n&&l.key===t&&e()},Ge.addEventListener(qe,l)}),(()=>{Ge.removeEventListener(qe,l),l=void 0}))},Ue=(e,t)=>Ke(e,t,localStorage),Xe=(e,t)=>Ke(e,t,sessionStorage);var Ye=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const Ze=(n,l)=>{let o;return He(n,(()=>Ye(void 0,null,(function*(){try{return yield t.readFile(l,c)}catch(e){}}))),(e=>Ye(void 0,null,(function*(){try{yield t.writeFile(l,e,c)}catch(e){}}))),(t=>{o=e(l,t)}),(()=>{null==o||o.close(),o=void 0}))};var _e=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const et=e=>e.headers.get("ETag"),tt=(e,t,n,l)=>{let o,s;return He(e,(()=>_e(void 0,null,(function*(){const e=yield fetch(t);return s=et(e),e.text()}))),(e=>_e(void 0,null,(function*(){return yield fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:e})}))),(e=>{o=setInterval((()=>_e(void 0,null,(function*(){const n=yield fetch(t,{method:"HEAD"}),l=et(n);K(s)||K(l)||l==s||(s=l,e())}))),1e3*l)}),(()=>{U(o,clearInterval),o=void 0}))};var nt=Object.getOwnPropertySymbols,lt=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable;const st=be((e=>{const t=e.createStore,[n,o,s,r,a,,,i,,d,c,f,L]=Re(e,(()=>!0),_),y=t(),T=t(),b=ae(),m=(e,t,...n)=>P(n,(n=>Ie(ve(ve(b,t,ae),e,Se),n))),C=e=>{U(de(b,e),(e=>{ce(e,((e,t)=>se(t,(t=>e.delListener(t))))),oe(e)})),P([T,y],(t=>t.delTable(e)))},V=(e,t,n)=>m(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),x={setQueryDefinition:(t,n,o)=>{i(t,n),C(t);const s=[],r=[[null,[n,null,null,[],ae()]]],a=[],d=[],c=[];o({select:(e,t)=>{const n=Y(e)?[D(s)+l,e]:[K(t)?e:t,n=>n(e,t)];return Q(s,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const l=K(n)||Y(t)?null:t,o=K(l)?t:n,s=[e,[e,l,Y(o)?o:e=>e(o),[],ae()]];return Q(r,s),{as:e=>s[0]=e}},where:(e,t,n)=>Q(a,Y(e)?e:K(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,o)=>{var s;const r=[e,[e,Y(t)?[t,n,l,o]:null!=(s=de(ze,t))?s:[(e,t)=>t]]];return Q(d,r),{as:e=>r[0]=e}},having:(e,t)=>Q(c,Y(e)?e:n=>n(e)===t)});const u=ae(s);if(ne(u))return x;const v=ae(r);ce(v,((e,[,t])=>U(de(v,t),(({3:t})=>K(e)?0:Q(t,e)))));const h=ae(d);let g=y;if(ne(h)&&O(c))g=T;else{V(t,g,T);const e=ae();ce(h,((t,[n,l])=>Ie(ve(e,n,Se),[t,l])));const n=Se();ce(u,(t=>te(e,t)?0:Ie(n,t)));const l=ae(),o=(n,l,o,s)=>U(n,(([r,a,i,d])=>{ce(l,((t,[n])=>{const l=ve(r,t,ae),a=de(l,o),i=s?void 0:n;if(a!==i){const n=Se([[a,i]]),s=ee(l);ue(l,o,i),se(de(e,t),(([e,t])=>{const o=Ne(d[e],s,l,n,t);d[e]=K(ye(o))?null:o}))}})),ne(a)||!E(c,(e=>e((e=>d[e]))))?T.delRow(t,i):K(i)?n[2]=T.addRow(t,d):T.setRow(t,i,d)}));m(g,t,g.addRowListener(t,null,((s,r,a,i)=>{const d=[],c=[],u=ae(),v=g.hasRow(t,a);let h=!v;se(n,(e=>{const[n,l,o]=i(t,a,e);Q(d,l),Q(c,o),h||(h=n)})),ce(e,(e=>{const[n,,l]=i(t,a,e);(h||n)&&ue(u,e,[l])})),h&&o(Le(l,d,void 0,(([,e])=>(re(e,a),ne(e)))),u,a,1),v&&o(Le(l,c,(()=>{const e={};return se(n,(n=>e[n]=g.getCell(t,a,n))),[ae(),Se(),void 0,e]}),(([,e])=>{Ie(e,a)})),u,a)})))}V(t,e,g);const p=(l,o,s,r)=>{const i=t=>e.getCell(o,s,t);P(r,(n=>{var o;const[s,,r,a,d]=de(v,n),c=null==r?void 0:r(i,l),[u,h]=null!=(o=de(d,l))?o:[];c!=u&&(K(h)||L(t,h),ue(d,l,K(c)?null:[c,...f(t,1,e.addRowListener(s,c,(()=>p(l,s,c,a))))]))})),(l=>{const o=(t,o)=>{var s,r,a;return e.getCell(...K(o)?[n,l,t]:t===n?[n,l,o]:[null==(s=de(v,t))?void 0:s[0],null==(a=de(null==(r=de(v,t))?void 0:r[4],l))?void 0:a[0],o])};g.transaction((()=>E(a,(e=>e(o)))?ce(u,((e,n)=>pe(g,t,l,e,n(o,l)))):g.delRow(t,l)))})(l)},{3:w}=de(v,null);return g.transaction((()=>f(t,1,e.addRowListener(n,null,((l,o,s)=>{e.hasRow(n,s)?p(s,n,s,w):(g.delRow(t,s),se(v,(({4:e})=>U(de(e,s),(([,n])=>{L(t,n),ue(e,s)})))))}))))),x},delQueryDefinition:e=>(C(e),d(e),x),getStore:n,getQueryIds:o,forEachQuery:s,hasQuery:r,getTableId:a,delListener:e=>(T.delListener(e),x),destroy:c,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)lt.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&nt)for(var l of nt(e))t.indexOf(l)<0&&ot.call(e,l)&&(n[l]=e[l]);return n})(T.getListenerStats(),["tables","tableIds","transaction"])};return De({[g]:[1,1],[w]:[0,1],[S]:[0,5],[p]:[1,2],[R]:[0,2],[I]:[1,3]},(([e,t],n)=>{P(e?["get","has","forEach"]:["get"],(e=>x[e+v+n]=(...t)=>T[e+n](...t))),x[h+v+n+u]=(...e)=>T[h+n+u](...j(e,0,t),((n,...l)=>e[t](x,...l)))})),Je(x)})),rt=be((e=>{const t=ae(),n=ae(),o=ae(),s=ae(),[r,a,i,d,c,u,,,v,h,f]=Re(e,(()=>[ae(),ae(),ae(),ae()]),(e=>K(e)?void 0:e+l)),[g,L,y]=Ve((()=>I)),p=(e,t,n)=>U(u(e),(([l,,o])=>{if(!te(o,t)){const s=Se();if(c(e)!=S(e))Ie(s,t);else{let e=t;for(;!K(e)&&!te(s,e);)Ie(s,e),e=de(l,e)}if(n)return s;ue(o,t,s)}return de(o,t)})),w=(e,t)=>U(u(e),(([,,e])=>ue(e,t))),S=e=>de(t,e),I={setRelationshipDefinition:(e,l,r,a)=>(ue(t,e,r),v(e,l,((t,l)=>{const r=Se(),a=Se(),i=Se(),[d,c]=u(e);se(l,(([t,n],l)=>{K(t)||(Ie(a,t),U(de(c,t),(e=>{re(e,l),ne(e)&&ue(c,t)}))),K(n)||(Ie(a,n),te(c,n)||ue(c,n,Se()),Ie(de(c,n),l)),Ie(r,l),ue(d,l,n),ce(de(s,e),(t=>{te(p(e,t),l)&&Ie(i,t)}))})),t(),se(r,(t=>L(n,[e,t]))),se(a,(t=>L(o,[e,t]))),se(i,(t=>{w(e,t),L(s,[e,t])}))}),Te(a)),I),delRelationshipDefinition:e=>(ue(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 de(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return le(de(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>K(u(e))?[t]:le(p(e,t,!0)),addRemoteRowIdListener:(e,t,l)=>g(l,n,[e,t]),addLocalRowIdsListener:(e,t,n)=>g(n,o,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(p(e,t),g(n,s,[e,t])),delListener:e=>(w(...y(e)),I),destroy:f,getListenerStats:()=>({})};return Je(I)})),at=e=>[e,e],it=()=>[ae(),ae()],dt=(e,t,n,l=ue)=>(De(t,((t,l)=>n(e,l,t))),ce(e,(n=>Ae(t,n)?0:l(e,n))),e),ct=(e,t,n)=>K(e)||!Pe(e)||Oe(e)||ke(e)?(null==n||n(),!1):(De(e,((n,l)=>{t(n,l)||Me(e,l)})),!Oe(e)),ut=(e,t,n)=>ue(e,t,de(e,t)==-n?void 0:n),vt=()=>{let e,t,n,l,o=0;const s=ae(),a=ae(),c=ae(),v=ae(),f=ae(),S=ae(),E=ae(),k=ae(),M=ae(),D=ae(),O=ae(),F=ae(),z=Se(),N=ae(),H=ae(),$=ae(),q=it(),G=it(),Z=it(),_=it(),ee=it(),le=it(),Le=it(),Re=it(),Te=it(),be=it(),me=it(),Ee=it(),xe=it(),ke=it(),[Pe,Fe,Qe,ze]=Ve((()=>tn)),Ne=e=>{if(!ct(e,((e,t)=>V([i,d],t))))return!1;const t=e[i];return!(!X(t)&&t!=r||(ye(e[d])!=t&&Me(e,d),0))},We=(t,n)=>(!e||te(M,n)||bt(n))&&ct(t,((e,t)=>Be(n,t,e)),(()=>bt(n))),Be=(e,t,n,l)=>ct(l?n:Ge(n,e,t),((l,o)=>U(He(e,t,o,l),(e=>(n[o]=e,!0)),(()=>!1))),(()=>bt(e,t))),He=(t,n,l,o)=>e?U(de(de(M,t),l),(e=>ye(o)!=e[i]?bt(t,n,l,o,e[d]):o),(()=>bt(t,n,l,o))):K(ye(o))?bt(t,n,l,o):o,$e=(e,t)=>ct(t?e:Ke(e),((t,n)=>U(qe(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>mt())),qe=(e,n)=>t?U(de(O,e),(t=>ye(n)!=t[i]?mt(e,n,t[d]):n),(()=>mt(e,n))):K(ye(n))?mt(e,n):n,Ge=(e,t,n)=>(U(de(D,t),(([l,o])=>{se(l,((t,n)=>{Ae(e,n)||(e[n]=t)})),se(o,(l=>{Ae(e,l)||bt(t,n,l)}))})),e),Ke=e=>(t&&(se(F,((t,n)=>{Ae(e,n)||(e[n]=t)})),se(z,(t=>{Ae(e,t)||mt(t)}))),e),Ue=e=>dt(M,e,((e,t,n)=>{const l=ae(),o=Se();dt(ve(M,t,ae),n,((e,t,n)=>{ue(e,t,n),U(n[d],(e=>ue(l,t,e)),(()=>Ie(o,t)))})),ue(D,t,[l,o])}),((e,t)=>{ue(M,t),ue(D,t)})),Xe=e=>dt(O,e,((e,t,n)=>{ue(O,t,n),U(n[d],(e=>ue(F,t,e)),(()=>Ie(z,t)))}),((e,t)=>{ue(O,t),ue(F,t),re(z,t)})),Ye=e=>Oe(e)?Kt():Bt(e),Ze=e=>dt(H,e,((e,t,n)=>_e(t,n)),((e,t)=>ft(t))),_e=(e,t)=>dt(ve(H,e,(()=>(pt(e,1),ae()))),t,((t,n,l)=>et(e,t,n,l)),((t,n)=>gt(e,t,n))),et=(e,t,n,l,o)=>dt(ve(t,n,(()=>(wt(e,n,1),ae()))),l,((t,l,o)=>tt(e,n,t,l,o)),((l,s)=>Lt(e,t,n,l,s,o))),tt=(e,t,n,l,o)=>{te(n,l)||St(e,t,l,1);const s=de(n,l);o!==s&&(It(e,t,l,s,o),ue(n,l,o))},nt=(e,t,n,l,o)=>U(de(t,n),(t=>tt(e,n,t,l,o)),(()=>et(e,t,n,Ge({[l]:o},e,n)))),lt=e=>Oe(e)?Ut():Ht(e),ot=e=>dt($,e,((e,t,n)=>st(t,n)),((e,t)=>yt(t))),st=(e,t)=>{te($,e)||Rt(e,1);const n=de($,e);t!==n&&(Tt(e,n,t),ue($,e,t))},rt=(e,t)=>{const[n]=ve(N,e,Ce),l=n(t);return te(de(H,e),l)?rt(e,t):l},ht=e=>{var t;return null!=(t=de(H,e))?t:_e(e,{})},ft=e=>_e(e,{}),gt=(e,t,n)=>{const[,l]=ve(N,e,Ce);l(n),et(e,t,n,{},!0)},Lt=(e,t,n,l,o,s)=>{var r;const a=de(null==(r=de(D,e))?void 0:r[0],o);if(!K(a)&&!s)return tt(e,n,l,o,a);const i=t=>{It(e,n,t,de(l,t)),St(e,n,t,-1),ue(l,t)};K(a)?i(o):ce(l,i),ne(l)&&(wt(e,n,-1),ne(ue(t,n))&&(pt(e,-1),ue(H,e),ue(N,e)))},yt=e=>{const t=de(F,e);if(!K(t))return st(e,t);Tt(e,de($,e)),Rt(e,-1),ue($,e)},pt=(e,t)=>ut(s,e,t),wt=(e,t,n)=>ut(ve(a,e,ae),t,n),St=(e,t,n,l)=>ut(ve(ve(c,e,ae),t,ae),n,l),It=(e,t,n,l,o)=>ve(ve(ve(v,e,ae),t,ae),n,(()=>[l,0]))[1]=o,Rt=(e,t)=>ut(f,e,t),Tt=(e,t,n)=>ve(S,e,(()=>[t,0]))[1]=n,bt=(e,t,n,l,o)=>(Q(ve(ve(ve(E,e,ae),t,ae),n,(()=>[])),l),o),mt=(e,t,n)=>(Q(ve(k,e,(()=>[])),t),n),Ct=(e,t,n)=>U(de(de(de(v,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...at(Qt(e,t,n))])),Vt=e=>U(de(S,e),(([e,t])=>[!0,e,t]),(()=>[!1,...at(Wt(e))])),Et=e=>ne(E)||ne(Te[e])?0:se(e?fe(E,ge):E,((t,n)=>se(t,((t,l)=>se(t,((t,o)=>Fe(Te[e],[n,l,o],t))))))),xt=e=>ne(k)||ne(be[e])?0:se(e?fe(k):k,((t,n)=>Fe(be[e],[n],t))),kt=(e,t,n)=>{if(!ne(t))return Fe(e,n),1},Jt=e=>{const t=ne(ee[e]),n=ne(Le[e])&&ne(_[e])&&t&&ne(G[e]),l=ne(Re[e])&&ne(le[e])&&ne(Z[e])&&ne(q[e]);if(!n||!l){const o=e?[fe(s),ge(a),fe(c,ge),fe(v,ge)]:[s,a,c,v];if(!n){se(o[2],((t,n)=>se(t,((t,l)=>kt(Le[e],t,[n,l])))));const n=Se();se(o[1],((l,o)=>{kt(_[e],l,[o])&&!t&&(Fe(ee[e],[o,null]),Ie(n,o))})),t||se(o[3],((t,l)=>{if(!te(n,l)){const n=Se();se(t,(e=>se(e,(([t,l],o)=>l!==t?Ie(n,o):re(e,o))))),se(n,(t=>Fe(ee[e],[l,t])))}})),kt(G[e],o[0])}if(!l){let t;se(o[3],((n,l)=>{let o;se(n,((n,s)=>{let r;se(n,(([n,a],i)=>{a!==n&&(Fe(Re[e],[l,s,i],a,n,Ct),t=o=r=1)})),r&&Fe(le[e],[l,s],Ct)})),o&&Fe(Z[e],[l],Ct)})),t&&Fe(q[e],void 0,Ct)}}},Pt=e=>{const t=ne(Ee[e]),n=ne(xe[e])&&ne(me[e]);if(!t||!n){const l=e?[fe(f),fe(S)]:[f,S];if(t||kt(Ee[e],l[0]),!n){let t;se(l[1],(([n,l],o)=>{l!==n&&(Fe(xe[e],[o],l,n,Vt),t=1)})),t&&Fe(me[e],void 0,Vt)}}},At=(e,...t)=>(Zt((()=>e(...A(t,C)))),tn),Mt=()=>he(H,(e=>he(e,he))),Dt=()=>ie(H),Ot=e=>ie(de(H,C(e))),Ft=(e,t,n,l=0,o)=>{return A(j(J((s=de(H,C(e)),r=(e,n)=>[K(t)?n:de(e,C(t)),n],A([...null!=(a=null==s?void 0:s.entries())?a:[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(n?-1:1))),l,K(o)?o:l+o),(([,e])=>e));var s,r,a},jt=(e,t)=>ie(de(de(H,C(e)),C(t))),Qt=(e,t,n)=>de(de(de(H,C(e)),C(t)),C(n)),zt=()=>he($),Nt=()=>ie($),Wt=e=>de($,C(e)),Bt=e=>At((()=>(e=>ct(e,We,bt))(e)?Ze(e):0)),Ht=e=>At((()=>$e(e)?ot(e):0)),$t=e=>{try{Ye(B(e))}catch(e){}return tn},qt=t=>At((()=>{if((e=ct(t,(e=>ct(e,Ne))))&&(Ue(t),!ne(H))){const e=Mt();Kt(),Bt(e)}})),Gt=e=>At((()=>{if(t=(e=>ct(e,Ne))(e)){const n=zt();Yt(),Ut(),t=!0,Xe(e),Ht(n)}})),Kt=()=>At((()=>Ze({}))),Ut=()=>At((()=>ot({}))),Xt=()=>At((()=>{Ue({}),e=!1})),Yt=()=>At((()=>{Xe({}),t=!1})),Zt=(e,t)=>{if(-1==o)return;_t();const n=e();return en(t),n},_t=()=>(o++,tn),en=e=>(o>0&&(o--,0==o&&(n=!ne(v),l=!ne(S),o=1,Et(1),n&&Jt(1),xt(1),l&&Pt(1),o=-1,(null==e?void 0:e(he(v,(e=>he(e,(e=>he(e,(e=>[...e]),(([e,t])=>e===t))),Oe)),Oe),he(E,(e=>he(e,he))),he(S,(e=>[...e]),(([e,t])=>e===t)),he(k)))&&(o=1,se(v,((e,t)=>se(e,((e,n)=>se(e,(([e],l)=>pe(tn,t,n,l,e))))))),se(S,(([e],t)=>we(tn,t,e))),o=-1,n=l=!1),Fe(ke[0],void 0,n,l),Et(0),n&&Jt(0),xt(0),l&&Pt(0),Fe(ke[1],void 0,n,l),o=0,P([s,a,c,v,E,f,S,k],oe))),tn),tn={getTables:Mt,getTableIds:Dt,getTable:e=>he(de(H,C(e)),he),getRowIds:Ot,getSortedRowIds:Ft,getRow:(e,t)=>he(de(de(H,C(e)),C(t))),getCellIds:jt,getCell:Qt,getValues:zt,getValueIds:Nt,getValue:Wt,hasTables:()=>!ne(H),hasTable:e=>te(H,C(e)),hasRow:(e,t)=>te(de(H,C(e)),C(t)),hasCell:(e,t,n)=>te(de(de(H,C(e)),C(t)),C(n)),hasValues:()=>!ne($),hasValue:e=>te($,C(e)),getTablesJson:()=>W(H),getValuesJson:()=>W($),getJson:()=>W([H,$]),getTablesSchemaJson:()=>W(M),getValuesSchemaJson:()=>W(O),getSchemaJson:()=>W([M,O]),setTables:Bt,setTable:(e,t)=>At((e=>We(t,e)?_e(e,t):0),e),setRow:(e,t,n)=>At(((e,t)=>Be(e,t,n)?et(e,ht(e),t,n):0),e,t),addRow:(e,t,n=!0)=>Zt((()=>{let l;return Be(e,l,t)&&(e=C(e),et(e,ht(e),l=rt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>At(((e,t)=>{if(Be(e,t,n,1)){const l=ht(e);De(n,((n,o)=>nt(e,l,t,o,n)))}}),e,t),setCell:(e,t,n,l)=>At(((e,t,n)=>U(He(e,t,n,Y(l)?l(Qt(e,t,n)):l),(l=>nt(e,ht(e),t,n,l)))),e,t,n),setValues:Ht,setPartialValues:e=>At((()=>$e(e,1)?De(e,((e,t)=>st(t,e))):0)),setValue:(e,t)=>At((e=>U(qe(e,Y(t)?t(Wt(e)):t),(t=>st(e,t)))),e),setTablesJson:$t,setValuesJson:e=>{try{lt(B(e))}catch(e){}return tn},setJson:e=>{try{const[t,n]=B(e);Ye(t),lt(n)}catch(t){$t(e)}return tn},setTablesSchema:qt,setValuesSchema:Gt,setSchema:(e,t)=>At((()=>{qt(e),Gt(t)})),delTables:Kt,delTable:e=>At((e=>te(H,e)?ft(e):0),e),delRow:(e,t)=>At(((e,t)=>U(de(H,e),(n=>te(n,t)?gt(e,n,t):0))),e,t),delCell:(e,t,n,l)=>At(((e,t,n)=>U(de(H,e),(o=>U(de(o,t),(s=>te(s,n)?Lt(e,o,t,s,n,l):0))))),e,t,n),delValues:Ut,delValue:e=>At((e=>te($,e)?yt(e):0),e),delTablesSchema:Xt,delValuesSchema:Yt,delSchema:()=>At((()=>{Xt(),Yt()})),transaction:Zt,startTransaction:_t,finishTransaction:en,forEachTable:e=>se(H,((t,n)=>e(n,(e=>se(t,((t,n)=>e(n,(e=>ce(t,e))))))))),forEachRow:(e,t)=>se(de(H,C(e)),((e,n)=>t(n,(t=>ce(e,t))))),forEachCell:(e,t,n)=>ce(de(de(H,C(e)),C(t)),n),forEachValue:e=>ce($,e),addSortedRowIdsListener:(e,t,n,l,o,s,r)=>{let a=Ft(e,t,n,l,o);return Pe((()=>{const r=Ft(e,t,n,l,o);x(r,a)||(a=r,s(tn,e,t,n,l,o,a))}),ee[r?1:0],[e,t],[Dt])},addWillFinishTransactionListener:e=>Pe(e,ke[0]),addDidFinishTransactionListener:e=>Pe(e,ke[1]),callListener:e=>(ze(e),tn),delListener:e=>(Qe(e),tn),getListenerStats:()=>({}),createStore:vt};return De({[L]:[0,q],[y]:[0,G],[g]:[1,Z,[Dt]],[w]:[1,_,[Dt]],[p]:[2,le,[Dt,Ot]],[R]:[2,Le,[Dt,Ot]],[I]:[3,Re,[Dt,Ot,jt],e=>at(Qt(...e))],InvalidCell:[3,Te],[b]:[0,me],[m]:[0,Ee],[T]:[1,xe,[Nt],e=>at(Wt(e[0]))],InvalidValue:[1,be]},(([e,t,n,l],o)=>{tn[h+o+u]=(...o)=>Pe(o[e],t[o[e+1]?1:0],e>0?j(o,0,e):void 0,n,l)})),Je(tn)};export{Fe as createCheckpoints,He as createCustomPersister,Ze as createFilePersister,Qe as createIndexes,Ue as createLocalPersister,We as createMetrics,st as createQueries,rt as createRelationships,tt as createRemotePersister,Xe as createSessionPersister,vt as createStore,je as defaultSorter};
|
|
1
|
+
import{watch as e,promises as t}from"fs";const n=e=>typeof e,l="",o=n(l),s=n(!0),r=n(0),a=n(n),i="type",d="default",c="utf8",u="Listener",v="Result",h="add",f="Ids",g="Table",L=g+"s",y=g+f,p="Row",w=p+f,S="Sorted"+p+f,I="Cell",R=I+f,T="Value",b=T+"s",m=T+f,C=e=>l+e,V=(e,t)=>e.includes(t),E=(e,t)=>e.every(t),x=(e,t)=>D(e)===D(t)&&E(e,((e,n)=>t[n]===e)),k=(e,t)=>E(e,((n,l)=>0==l||t(e[l-1],n)<=0)),J=(e,t)=>e.sort(t),P=(e,t)=>e.forEach(t),A=(e,t)=>e.map(t),M=e=>F(e,((e,t)=>e+t),0),D=e=>e.length,O=e=>0==D(e),F=(e,t,n)=>e.reduce(t,n),j=(e,t,n)=>e.slice(t,n),Q=(e,...t)=>e.push(...t),z=e=>e.pop(),N=e=>e.shift(),W=e=>JSON.stringify(e,((e,t)=>G(t,Map)?F([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),B=JSON.parse,H=Math.max,$=Math.min,q=isFinite,G=(e,t)=>e instanceof t,K=e=>null==e,U=(e,t,n)=>K(e)?null==n?void 0:n():t(e),X=e=>e==o||e==s,Y=e=>n(e)==a,Z=e=>Array.isArray(e),_=()=>{},ee=e=>e.size,te=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ne=e=>K(e)||0==ee(e),le=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},oe=e=>e.clear(),se=(e,t)=>null==e?void 0:e.forEach(t),re=(e,t)=>null==e?void 0:e.delete(t),ae=e=>new Map(e),ie=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},de=(e,t)=>null==e?void 0:e.get(t),ce=(e,t)=>se(e,((e,n)=>t(n,e))),ue=(e,t,n)=>K(n)?(re(e,t),e):null==e?void 0:e.set(t,n),ve=(e,t,n)=>(te(e,t)||ue(e,t,n()),de(e,t)),he=(e,t,n)=>{const l={},o=null!=t?t:e=>e;return se(e,((e,t)=>U(o(e),(e=>(null==n?void 0:n(e))?0:l[t]=e)))),l},fe=(e,t)=>{const n=ae(),l=null!=t?t:e=>e;return se(e,((e,t)=>n.set(t,l(e)))),n},ge=e=>fe(e,fe),Le=(e,t,n,l,o=0)=>U((n?ve:de)(e,t[o],o>D(t)-2?n:ae),(s=>{if(o>D(t)-2)return(null==l?void 0:l(s))&&ue(e,t[o]),s;const r=Le(s,t,n,l,o+1);return ne(s)&&ue(e,t[o]),r})),ye=e=>{const t=n(e);return X(t)||t==r&&q(e)?t:void 0},pe=(e,t,n,l,o)=>K(o)?e.delCell(t,n,l,!0):e.setCell(t,n,l,o),we=(e,t,n)=>K(n)?e.delValue(t):e.setValue(t,n),Se=e=>new Set(Z(e)||K(e)?e:[e]),Ie=(e,t)=>null==e?void 0:e.add(t),Re=(e,t,n)=>{const l=e.hasRow,o=ae(),s=ae(),r=ae(),a=ae(),i=ae(),d=(t,n,...l)=>{const o=ve(i,t,Se);return P(l,(t=>Ie(o,t)&&n&&e.callListener(t))),l},c=(t,...n)=>U(de(i,t),(l=>{P(O(n)?le(l):n,(t=>{e.delListener(t),re(l,t)})),ne(l)&&ue(i,t)})),u=(e,n)=>{ue(o,e,n),te(s,e)||(ue(s,e,t()),ue(r,e,ae()),ue(a,e,ae()))},v=e=>{ue(o,e),ue(s,e),ue(r,e),ue(a,e),c(e)};return[()=>e,()=>ie(o),e=>ce(s,e),e=>te(s,e),e=>de(o,e),e=>de(s,e),(e,t)=>ue(s,e,t),u,(t,o,s,i,v)=>{u(t,o);const h=ae(),f=ae(),g=de(r,t),L=de(a,t),y=t=>{const s=n=>e.getCell(o,t,n),r=de(g,t),a=l(o,t)?n(i(s,t)):void 0;if(r===a||Z(r)&&Z(a)&&x(r,a)||ue(h,t,[r,a]),!K(v)){const e=de(L,t),n=l(o,t)?v(s,t):void 0;e!=n&&ue(f,t,n)}},p=e=>{s((()=>{se(h,(([,e],t)=>ue(g,t,e))),se(f,((e,t)=>ue(L,t,e)))}),h,f,g,L,e),oe(h),oe(f)};ce(g,y),e.hasTable(o)&&P(e.getRowIds(o),(e=>{te(g,e)||y(e)})),p(!0),c(t),d(t,0,e.addRowListener(o,null,((e,t,n)=>y(n))),e.addTableListener(o,(()=>p())))},v,()=>ce(i,v),d,c]},Te=(e,t)=>n(e)==o?t=>t(e):null!=e?e:()=>null!=t?t:l,be=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},me=/^\d+$/,Ce=()=>{const e=[];let t=0;return[n=>{var o;return null!=(o=n?N(e):null)?o:l+t++},t=>{me.test(t)&&D(e)<1e3&&Q(e,t)}]},Ve=e=>{let t;const[n,o]=Ce(),s=ae();return[(o,r,a,i=[],d=(()=>[]))=>{null!=t||(t=e());const c=n(1);return ue(s,c,[o,r,a,i,d]),Ie(Le(r,null!=a?a:[l],Se),c),c},(e,n,...o)=>P(((e,t=[l])=>{const n=[],o=(e,l)=>l==D(t)?Q(n,e):null===t[l]?se(e,(e=>o(e,l+1))):P([t[l],null],(t=>o(de(e,t),l+1)));return o(e,0),n})(e,n),(e=>se(e,(e=>de(s,e)[0](t,...null!=n?n:[],...o))))),e=>U(de(s,e),(([,t,n])=>(Le(t,null!=n?n:[l],void 0,(t=>(re(t,e),ne(t)?1:0))),ue(s,e),o(e),n))),e=>U(de(s,e),(([e,,n=[],l,o])=>{const s=(...r)=>{var a,i;const d=D(r);d==D(n)?e(t,...r,...o(r)):K(n[d])?P(null!=(i=null==(a=l[d])?void 0:a.call(l,...r))?i:[],(e=>s(...r,e))):s(...r,n[d])};s()}))]},Ee=Object,xe=Ee.keys,ke=Ee.isFrozen,Je=Ee.freeze,Pe=e=>G(e,Ee)&&e.constructor==Ee,Ae=(e,t)=>!K(((e,t)=>U(e,(e=>e[t])))(e,t)),Me=(e,t)=>delete e[t],De=(e,t)=>A(Ee.entries(e),(([e,n])=>t(n,e))),Oe=e=>Pe(e)&&O(xe(e)),Fe=be((e=>{let t,n,o,s=100,r=ae(),a=ae(),i=1;const d=ae(),c=ae(),[u,v,h]=Ve((()=>F)),f=ae(),g=ae(),L=[],y=[],p=(t,n)=>{i=0,e.transaction((()=>{const[l,o]=de(f,n);se(l,((n,l)=>se(n,((n,o)=>se(n,((n,s)=>pe(e,l,o,s,n[t]))))))),se(o,((n,l)=>we(e,l,n[t])))})),i=1},w=e=>{ue(f,e),ue(g,e),v(c,[e])},S=(e,t)=>P(((e,t)=>e.splice(0,t))(e,null!=t?t:D(e)),w),I=()=>S(L,D(L)-s),R=()=>U(t,(()=>{Q(L,t),I(),S(y),t=void 0,o=1})),T=()=>{t=z(L),o=1},b=e.addCellListener(null,null,null,((e,t,n,l,o,s)=>{if(i){R();const e=ve(r,t,ae),a=ve(e,n,ae),i=ve(a,l,(()=>[s,void 0]));i[1]=o,i[0]===o&&ne(ue(a,l))&&ne(ue(e,n))&&ne(ue(r,t))&&T(),k()}})),m=e.addValueListener(null,((e,t,n,l)=>{if(i){R();const e=ve(a,t,(()=>[l,void 0]));e[1]=n,e[0]===n&&ne(ue(a,t))&&T(),k()}})),C=(e="")=>(K(t)&&(t=l+n++,ue(f,t,[r,a]),A(t,e),r=ae(),a=ae(),o=1),t),E=()=>{O(L)||(((e,...t)=>{e.unshift(...t)})(y,C()),p(0,t),t=z(L),o=1)},x=()=>{O(y)||(Q(L,t),t=N(y),p(1,t),o=1)},k=()=>{o&&(v(d),o=0)},J=e=>{const t=C(e);return k(),t},A=(e,t)=>(M(e)&&de(g,e)!==t&&(ue(g,e,t),v(c,[e])),F),M=e=>te(f,e),F={setSize:e=>(s=e,I(),F),addCheckpoint:J,setCheckpoint:A,getStore:()=>e,getCheckpointIds:()=>[[...L],t,[...y]],forEachCheckpoint:e=>ce(g,e),hasCheckpoint:M,getCheckpoint:e=>de(g,e),goBackward:()=>(E(),k(),F),goForward:()=>(x(),k(),F),goTo:e=>{const n=V(L,e)?E:V(y,e)?x:null;for(;!K(n)&&e!=t;)n();return k(),F},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),F),clear:()=>(S(L),S(y),K(t)||w(t),t=void 0,n=0,J(),F),destroy:()=>{e.delListener(b),e.delListener(m)},getListenerStats:()=>({})};return Je(F.clear())})),je=(e,t)=>e<t?-1:1,Qe=be((e=>{const t=ae(),n=ae(),[o,s,r,a,i,d,c,,u,v,h]=Re(e,ae,(e=>K(e)?l:Z(e)?A(e,C):C(e))),[f,g,L]=Ve((()=>p)),y=(t,n,l)=>{const o=i(t);se(l,((t,l)=>n(l,(n=>se(t,(t=>n(t,(n=>e.forEachCell(o,t,n)))))))))},p={setIndexDefinition:(e,l,o,s,r,a=je)=>{const i=K(r)?void 0:([e],[t])=>r(e,t);return u(e,l,((l,o,r,u,v,h)=>{let f=0;const L=Se(),y=Se(),p=d(e);if(se(o,(([e,t],n)=>{const l=Se(e),o=Se(t);se(l,(e=>re(o,e)?re(l,e):0)),se(l,(e=>{Ie(L,e),U(de(p,e),(t=>{re(t,n),ne(t)&&(ue(p,e),f=1)}))})),se(o,(e=>{Ie(L,e),te(p,e)||(ue(p,e,Se()),f=1),Ie(de(p,e),n),K(s)||Ie(y,e)}))})),l(),ne(v)||(h?ce(p,(e=>Ie(y,e))):ce(r,(e=>U(de(u,e),(e=>Ie(y,e))))),se(y,(e=>{const t=(t,n)=>a(de(v,t),de(v,n),e),n=[...de(p,e)];k(n,t)||(ue(p,e,Se(J(n,t))),Ie(L,e))}))),(f||h)&&!K(i)){const t=[...p];k(t,i)||(c(e,ae(J(t,i))),f=1)}f&&g(t,[e]),se(L,(t=>g(n,[e,t])))}),Te(o),U(s,Te)),p},delIndexDefinition:e=>(v(e),p),getStore:o,getIndexIds:s,forEachIndex:e=>r(((t,n)=>e(t,(e=>y(t,e,n))))),forEachSlice:(e,t)=>y(e,t,d(e)),hasIndex:a,hasSlice:(e,t)=>te(d(e),t),getTableId:i,getSliceIds:e=>ie(d(e)),getSliceRowIds:(e,t)=>le(de(d(e),t)),addSliceIdsListener:(e,n)=>f(n,t,[e]),addSliceRowIdsListener:(e,t,l)=>f(l,n,[e,t]),delListener:e=>(L(e),p),destroy:h,getListenerStats:()=>({})};return Je(p)})),ze=ae([["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=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:H(t,e)]],["min",[e=>$(...e),(e,t)=>$(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:$(t,e)]],["sum",[e=>M(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Ne=(e,t,n,l,o,s=!1)=>{if(ne(n))return;const[r,a,i,d]=o;return s||(s=K(e)),se(l,(([n,l])=>{s||(e=K(n)?null==a?void 0:a(e,l,t++):K(l)?null==i?void 0:i(e,n,t--):null==d?void 0:d(e,l,n,t),s||(s=K(e)))})),s?r(le(n),ee(n)):e},We=be((e=>{const t=ae(),[n,o,s,r,a,i,d,,c,u,v]=Re(e,_,(e=>isNaN(e)||K(e)||!0===e||!1===e||e===l?void 0:1*e)),[h,f,g]=Ve((()=>L)),L={setMetricDefinition:(e,n,l,o,s,r,a)=>{var u;const v=Y(l)?[l,s,r,a]:null!=(u=de(ze,l))?u:de(ze,"sum");return c(e,n,((n,l,o,s,r,a)=>{const c=i(e),u=ee(s);a||(a=K(c)),n();let h=Ne(c,u,s,l,v,a);q(h)||(h=void 0),h!=c&&(d(e,h),f(t,[e],h,c))}),Te(o,1)),L},delMetricDefinition:e=>(u(e),L),getStore:n,getMetricIds:o,forEachMetric:s,hasMetric:r,getTableId:a,getMetric:i,addMetricListener:(e,n)=>h(n,t,[e]),delListener:e=>(g(e),L),destroy:v,getListenerStats:()=>({})};return Je(L)}));var Be=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const He=(e,t,n,o,s)=>{let r,a,i=0;const d={load:(...n)=>Be(void 0,[...n],(function*(n={},o={}){if(2!=i){i=1;const s=yield t();K(s)||s==l?e.transaction((()=>e.setTables(n).setValues(o))):e.setJson(s),i=0}return d})),startAutoLoad:(...e)=>Be(void 0,[...e],(function*(e={},t={}){return d.stopAutoLoad(),yield d.load(e,t),o(d.load),d})),stopAutoLoad:()=>(s(),d),save:()=>Be(void 0,null,(function*(){return 1!=i&&(i=2,yield n(e.getJson()),i=0),d})),startAutoSave:()=>Be(void 0,null,(function*(){return yield d.stopAutoSave().save(),r=e.addTablesListener(d.save),a=e.addValuesListener(d.save),d})),stopAutoSave:()=>(U(r,e.delListener),U(a,e.delListener),d),getStore:()=>e,destroy:()=>d.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Je(d)};var $e=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const qe="storage",Ge=globalThis.window,Ke=(e,t,n)=>{let l;return He(e,(()=>$e(void 0,null,(function*(){return n.getItem(t)}))),(e=>$e(void 0,null,(function*(){return n.setItem(t,e)}))),(e=>{l=l=>{l.storageArea===n&&l.key===t&&e()},Ge.addEventListener(qe,l)}),(()=>{Ge.removeEventListener(qe,l),l=void 0}))},Ue=(e,t)=>Ke(e,t,localStorage),Xe=(e,t)=>Ke(e,t,sessionStorage);var Ye=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const Ze=(n,l)=>{let o;return He(n,(()=>Ye(void 0,null,(function*(){try{return yield t.readFile(l,c)}catch(e){}}))),(e=>Ye(void 0,null,(function*(){try{yield t.writeFile(l,e,c)}catch(e){}}))),(t=>{o=e(l,t)}),(()=>{null==o||o.close(),o=void 0}))};var _e=(e,t,n)=>new Promise(((l,o)=>{var s=e=>{try{a(n.next(e))}catch(e){o(e)}},r=e=>{try{a(n.throw(e))}catch(e){o(e)}},a=e=>e.done?l(e.value):Promise.resolve(e.value).then(s,r);a((n=n.apply(e,t)).next())}));const et=e=>e.headers.get("ETag"),tt=(e,t,n,l)=>{let o,s;return He(e,(()=>_e(void 0,null,(function*(){const e=yield fetch(t);return s=et(e),e.text()}))),(e=>_e(void 0,null,(function*(){return yield fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:e})}))),(e=>{o=setInterval((()=>_e(void 0,null,(function*(){const n=yield fetch(t,{method:"HEAD"}),l=et(n);K(s)||K(l)||l==s||(s=l,e())}))),1e3*l)}),(()=>{U(o,clearInterval),o=void 0}))};var nt=Object.getOwnPropertySymbols,lt=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable;const st=be((e=>{const t=e.createStore,[n,o,s,r,a,,,i,,d,c,f,L]=Re(e,(()=>!0),_),y=t(),T=t(),b=ae(),m=(e,t,...n)=>P(n,(n=>Ie(ve(ve(b,t,ae),e,Se),n))),C=e=>{U(de(b,e),(e=>{ce(e,((e,t)=>se(t,(t=>e.delListener(t))))),oe(e)})),P([T,y],(t=>t.delTable(e)))},V=(e,t,n)=>m(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),x={setQueryDefinition:(t,n,o)=>{i(t,n),C(t);const s=[],r=[[null,[n,null,null,[],ae()]]],a=[],d=[],c=[];o({select:(e,t)=>{const n=Y(e)?[D(s)+l,e]:[K(t)?e:t,n=>n(e,t)];return Q(s,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const l=K(n)||Y(t)?null:t,o=K(l)?t:n,s=[e,[e,l,Y(o)?o:e=>e(o),[],ae()]];return Q(r,s),{as:e=>s[0]=e}},where:(e,t,n)=>Q(a,Y(e)?e:K(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,o)=>{var s;const r=[e,[e,Y(t)?[t,n,l,o]:null!=(s=de(ze,t))?s:[(e,t)=>t]]];return Q(d,r),{as:e=>r[0]=e}},having:(e,t)=>Q(c,Y(e)?e:n=>n(e)===t)});const u=ae(s);if(ne(u))return x;const v=ae(r);ce(v,((e,[,t])=>U(de(v,t),(({3:t})=>K(e)?0:Q(t,e)))));const h=ae(d);let g=y;if(ne(h)&&O(c))g=T;else{V(t,g,T);const e=ae();ce(h,((t,[n,l])=>Ie(ve(e,n,Se),[t,l])));const n=Se();ce(u,(t=>te(e,t)?0:Ie(n,t)));const l=ae(),o=(n,l,o,s)=>U(n,(([r,a,i,d])=>{ce(l,((t,[n])=>{const l=ve(r,t,ae),a=de(l,o),i=s?void 0:n;if(a!==i){const n=Se([[a,i]]),s=ee(l);ue(l,o,i),se(de(e,t),(([e,t])=>{const o=Ne(d[e],s,l,n,t);d[e]=K(ye(o))?null:o}))}})),ne(a)||!E(c,(e=>e((e=>d[e]))))?T.delRow(t,i):K(i)?n[2]=T.addRow(t,d):T.setRow(t,i,d)}));m(g,t,g.addRowListener(t,null,((s,r,a,i)=>{const d=[],c=[],u=ae(),v=g.hasRow(t,a);let h=!v;se(n,(e=>{const[n,l,o]=i(t,a,e);Q(d,l),Q(c,o),h||(h=n)})),ce(e,(e=>{const[n,,l]=i(t,a,e);(h||n)&&ue(u,e,[l])})),h&&o(Le(l,d,void 0,(([,e])=>(re(e,a),ne(e)))),u,a,1),v&&o(Le(l,c,(()=>{const e={};return se(n,(n=>e[n]=g.getCell(t,a,n))),[ae(),Se(),void 0,e]}),(([,e])=>{Ie(e,a)})),u,a)})))}V(t,e,g);const p=(l,o,s,r)=>{const i=t=>e.getCell(o,s,t);P(r,(n=>{var o;const[s,,r,a,d]=de(v,n),c=null==r?void 0:r(i,l),[u,h]=null!=(o=de(d,l))?o:[];c!=u&&(K(h)||L(t,h),ue(d,l,K(c)?null:[c,...f(t,1,e.addRowListener(s,c,(()=>p(l,s,c,a))))]))})),(l=>{const o=(t,o)=>{var s,r,a;return e.getCell(...K(o)?[n,l,t]:t===n?[n,l,o]:[null==(s=de(v,t))?void 0:s[0],null==(a=de(null==(r=de(v,t))?void 0:r[4],l))?void 0:a[0],o])};g.transaction((()=>E(a,(e=>e(o)))?ce(u,((e,n)=>pe(g,t,l,e,n(o,l)))):g.delRow(t,l)))})(l)},{3:w}=de(v,null);return g.transaction((()=>f(t,1,e.addRowListener(n,null,((l,o,s)=>{e.hasRow(n,s)?p(s,n,s,w):(g.delRow(t,s),se(v,(({4:e})=>U(de(e,s),(([,n])=>{L(t,n),ue(e,s)})))))}))))),x},delQueryDefinition:e=>(C(e),d(e),x),getStore:n,getQueryIds:o,forEachQuery:s,hasQuery:r,getTableId:a,delListener:e=>(T.delListener(e),x),destroy:c,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)lt.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&nt)for(var l of nt(e))t.indexOf(l)<0&&ot.call(e,l)&&(n[l]=e[l]);return n})(T.getListenerStats(),["tables","tableIds","transaction"])};return De({[g]:[1,1],[w]:[0,1],[S]:[0,5],[p]:[1,2],[R]:[0,2],[I]:[1,3]},(([e,t],n)=>{P(e?["get","has","forEach"]:["get"],(e=>x[e+v+n]=(...t)=>T[e+n](...t))),x[h+v+n+u]=(...e)=>T[h+n+u](...j(e,0,t),((n,...l)=>e[t](x,...l)))})),Je(x)})),rt=be((e=>{const t=ae(),n=ae(),o=ae(),s=ae(),[r,a,i,d,c,u,,,v,h,f]=Re(e,(()=>[ae(),ae(),ae(),ae()]),(e=>K(e)?void 0:e+l)),[g,L,y]=Ve((()=>I)),p=(e,t,n)=>U(u(e),(([l,,o])=>{if(!te(o,t)){const s=Se();if(c(e)!=S(e))Ie(s,t);else{let e=t;for(;!K(e)&&!te(s,e);)Ie(s,e),e=de(l,e)}if(n)return s;ue(o,t,s)}return de(o,t)})),w=(e,t)=>U(u(e),(([,,e])=>ue(e,t))),S=e=>de(t,e),I={setRelationshipDefinition:(e,l,r,a)=>(ue(t,e,r),v(e,l,((t,l)=>{const r=Se(),a=Se(),i=Se(),[d,c]=u(e);se(l,(([t,n],l)=>{K(t)||(Ie(a,t),U(de(c,t),(e=>{re(e,l),ne(e)&&ue(c,t)}))),K(n)||(Ie(a,n),te(c,n)||ue(c,n,Se()),Ie(de(c,n),l)),Ie(r,l),ue(d,l,n),ce(de(s,e),(t=>{te(p(e,t),l)&&Ie(i,t)}))})),t(),se(r,(t=>L(n,[e,t]))),se(a,(t=>L(o,[e,t]))),se(i,(t=>{w(e,t),L(s,[e,t])}))}),Te(a)),I),delRelationshipDefinition:e=>(ue(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 de(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return le(de(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>K(u(e))?[t]:le(p(e,t,!0)),addRemoteRowIdListener:(e,t,l)=>g(l,n,[e,t]),addLocalRowIdsListener:(e,t,n)=>g(n,o,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(p(e,t),g(n,s,[e,t])),delListener:e=>(w(...y(e)),I),destroy:f,getListenerStats:()=>({})};return Je(I)})),at=e=>[e,e],it=()=>[ae(),ae()],dt=(e,t,n,l=ue)=>(De(t,((t,l)=>n(e,l,t))),ce(e,(n=>Ae(t,n)?0:l(e,n))),e),ct=(e,t,n)=>K(e)||!Pe(e)||Oe(e)||ke(e)?(null==n||n(),!1):(De(e,((n,l)=>{t(n,l)||Me(e,l)})),!Oe(e)),ut=(e,t,n)=>ue(e,t,de(e,t)==-n?void 0:n),vt=()=>{let e,t,n,l,o=0;const s=ae(),a=ae(),c=ae(),v=ae(),f=ae(),S=ae(),E=ae(),k=ae(),M=ae(),D=ae(),O=ae(),F=ae(),z=Se(),N=ae(),H=ae(),$=ae(),q=it(),G=it(),Z=it(),_=it(),ee=it(),le=it(),Le=it(),Re=it(),Te=it(),be=it(),me=it(),Ee=it(),xe=it(),ke=it(),[Pe,Fe,Qe,ze]=Ve((()=>tn)),Ne=e=>{if(!ct(e,((e,t)=>V([i,d],t))))return!1;const t=e[i];return!(!X(t)&&t!=r||(ye(e[d])!=t&&Me(e,d),0))},We=(t,n)=>(!e||te(M,n)||bt(n))&&ct(t,((e,t)=>Be(n,t,e)),(()=>bt(n))),Be=(e,t,n,l)=>ct(l?n:Ge(n,e,t),((l,o)=>U(He(e,t,o,l),(e=>(n[o]=e,!0)),(()=>!1))),(()=>bt(e,t))),He=(t,n,l,o)=>e?U(de(de(M,t),l),(e=>ye(o)!=e[i]?bt(t,n,l,o,e[d]):o),(()=>bt(t,n,l,o))):K(ye(o))?bt(t,n,l,o):o,$e=(e,t)=>ct(t?e:Ke(e),((t,n)=>U(qe(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>mt())),qe=(e,n)=>t?U(de(O,e),(t=>ye(n)!=t[i]?mt(e,n,t[d]):n),(()=>mt(e,n))):K(ye(n))?mt(e,n):n,Ge=(e,t,n)=>(U(de(D,t),(([l,o])=>{se(l,((t,n)=>{Ae(e,n)||(e[n]=t)})),se(o,(l=>{Ae(e,l)||bt(t,n,l)}))})),e),Ke=e=>(t&&(se(F,((t,n)=>{Ae(e,n)||(e[n]=t)})),se(z,(t=>{Ae(e,t)||mt(t)}))),e),Ue=e=>dt(M,e,((e,t,n)=>{const l=ae(),o=Se();dt(ve(M,t,ae),n,((e,t,n)=>{ue(e,t,n),U(n[d],(e=>ue(l,t,e)),(()=>Ie(o,t)))})),ue(D,t,[l,o])}),((e,t)=>{ue(M,t),ue(D,t)})),Xe=e=>dt(O,e,((e,t,n)=>{ue(O,t,n),U(n[d],(e=>ue(F,t,e)),(()=>Ie(z,t)))}),((e,t)=>{ue(O,t),ue(F,t),re(z,t)})),Ye=e=>Oe(e)?Kt():Bt(e),Ze=e=>dt(H,e,((e,t,n)=>_e(t,n)),((e,t)=>ft(t))),_e=(e,t)=>dt(ve(H,e,(()=>(pt(e,1),ae()))),t,((t,n,l)=>et(e,t,n,l)),((t,n)=>gt(e,t,n))),et=(e,t,n,l,o)=>dt(ve(t,n,(()=>(wt(e,n,1),ae()))),l,((t,l,o)=>tt(e,n,t,l,o)),((l,s)=>Lt(e,t,n,l,s,o))),tt=(e,t,n,l,o)=>{te(n,l)||St(e,t,l,1);const s=de(n,l);o!==s&&(It(e,t,l,s,o),ue(n,l,o))},nt=(e,t,n,l,o)=>U(de(t,n),(t=>tt(e,n,t,l,o)),(()=>et(e,t,n,Ge({[l]:o},e,n)))),lt=e=>Oe(e)?Ut():Ht(e),ot=e=>dt($,e,((e,t,n)=>st(t,n)),((e,t)=>yt(t))),st=(e,t)=>{te($,e)||Rt(e,1);const n=de($,e);t!==n&&(Tt(e,n,t),ue($,e,t))},rt=(e,t)=>{const[n]=ve(N,e,Ce),l=n(t);return te(de(H,e),l)?rt(e,t):l},ht=e=>{var t;return null!=(t=de(H,e))?t:_e(e,{})},ft=e=>_e(e,{}),gt=(e,t,n)=>{const[,l]=ve(N,e,Ce);l(n),et(e,t,n,{},!0)},Lt=(e,t,n,l,o,s)=>{var r;const a=de(null==(r=de(D,e))?void 0:r[0],o);if(!K(a)&&!s)return tt(e,n,l,o,a);const i=t=>{It(e,n,t,de(l,t)),St(e,n,t,-1),ue(l,t)};K(a)?i(o):ce(l,i),ne(l)&&(wt(e,n,-1),ne(ue(t,n))&&(pt(e,-1),ue(H,e),ue(N,e)))},yt=e=>{const t=de(F,e);if(!K(t))return st(e,t);Tt(e,de($,e)),Rt(e,-1),ue($,e)},pt=(e,t)=>ut(s,e,t),wt=(e,t,n)=>ut(ve(a,e,ae),t,n),St=(e,t,n,l)=>ut(ve(ve(c,e,ae),t,ae),n,l),It=(e,t,n,l,o)=>ve(ve(ve(v,e,ae),t,ae),n,(()=>[l,0]))[1]=o,Rt=(e,t)=>ut(f,e,t),Tt=(e,t,n)=>ve(S,e,(()=>[t,0]))[1]=n,bt=(e,t,n,l,o)=>(Q(ve(ve(ve(E,e,ae),t,ae),n,(()=>[])),l),o),mt=(e,t,n)=>(Q(ve(k,e,(()=>[])),t),n),Ct=(e,t,n)=>U(de(de(de(v,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...at(Qt(e,t,n))])),Vt=e=>U(de(S,e),(([e,t])=>[!0,e,t]),(()=>[!1,...at(Wt(e))])),Et=e=>ne(E)||ne(Te[e])?0:se(e?fe(E,ge):E,((t,n)=>se(t,((t,l)=>se(t,((t,o)=>Fe(Te[e],[n,l,o],t))))))),xt=e=>ne(k)||ne(be[e])?0:se(e?fe(k):k,((t,n)=>Fe(be[e],[n],t))),kt=(e,t,n)=>{if(!ne(t))return Fe(e,n),1},Jt=e=>{const t=ne(ee[e]),n=ne(Le[e])&&ne(_[e])&&t&&ne(G[e]),l=ne(Re[e])&&ne(le[e])&&ne(Z[e])&&ne(q[e]);if(!n||!l){const o=e?[fe(s),ge(a),fe(c,ge),fe(v,ge)]:[s,a,c,v];if(!n){se(o[2],((t,n)=>se(t,((t,l)=>kt(Le[e],t,[n,l])))));const n=Se();se(o[1],((l,o)=>{kt(_[e],l,[o])&&!t&&(Fe(ee[e],[o,null]),Ie(n,o))})),t||se(o[3],((t,l)=>{if(!te(n,l)){const n=Se();se(t,(e=>se(e,(([t,l],o)=>l!==t?Ie(n,o):re(e,o))))),se(n,(t=>Fe(ee[e],[l,t])))}})),kt(G[e],o[0])}if(!l){let t;se(o[3],((n,l)=>{let o;se(n,((n,s)=>{let r;se(n,(([n,a],i)=>{a!==n&&(Fe(Re[e],[l,s,i],a,n,Ct),t=o=r=1)})),r&&Fe(le[e],[l,s],Ct)})),o&&Fe(Z[e],[l],Ct)})),t&&Fe(q[e],void 0,Ct)}}},Pt=e=>{const t=ne(Ee[e]),n=ne(xe[e])&&ne(me[e]);if(!t||!n){const l=e?[fe(f),fe(S)]:[f,S];if(t||kt(Ee[e],l[0]),!n){let t;se(l[1],(([n,l],o)=>{l!==n&&(Fe(xe[e],[o],l,n,Vt),t=1)})),t&&Fe(me[e],void 0,Vt)}}},At=(e,...t)=>(Zt((()=>e(...A(t,C)))),tn),Mt=()=>he(H,(e=>he(e,he))),Dt=()=>ie(H),Ot=e=>ie(de(H,C(e))),Ft=(e,t,n,l=0,o)=>{return A(j(J((s=de(H,C(e)),r=(e,n)=>[K(t)?n:de(e,C(t)),n],A([...null!=(a=null==s?void 0:s.entries())?a:[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(n?-1:1))),l,K(o)?o:l+o),(([,e])=>e));var s,r,a},jt=(e,t)=>ie(de(de(H,C(e)),C(t))),Qt=(e,t,n)=>de(de(de(H,C(e)),C(t)),C(n)),zt=()=>he($),Nt=()=>ie($),Wt=e=>de($,C(e)),Bt=e=>At((()=>(e=>ct(e,We,bt))(e)?Ze(e):0)),Ht=e=>At((()=>$e(e)?ot(e):0)),$t=e=>{try{Ye(B(e))}catch(e){}return tn},qt=t=>At((()=>{if((e=ct(t,(e=>ct(e,Ne))))&&(Ue(t),!ne(H))){const e=Mt();Kt(),Bt(e)}})),Gt=e=>At((()=>{if(t=(e=>ct(e,Ne))(e)){const n=zt();Yt(),Ut(),t=!0,Xe(e),Ht(n)}})),Kt=()=>At((()=>Ze({}))),Ut=()=>At((()=>ot({}))),Xt=()=>At((()=>{Ue({}),e=!1})),Yt=()=>At((()=>{Xe({}),t=!1})),Zt=(e,t)=>{if(-1==o)return;_t();const n=e();return en(t),n},_t=()=>(o++,tn),en=e=>(o>0&&(o--,0==o&&(n=!ne(v),l=!ne(S),o=1,Et(1),n&&Jt(1),xt(1),l&&Pt(1),o=-1,(null==e?void 0:e(he(v,(e=>he(e,(e=>he(e,(e=>[...e]),(([e,t])=>e===t))),Oe)),Oe),he(E,(e=>he(e,he))),he(S,(e=>[...e]),(([e,t])=>e===t)),he(k)))&&(o=1,se(v,((e,t)=>se(e,((e,n)=>se(e,(([e],l)=>pe(tn,t,n,l,e))))))),se(S,(([e],t)=>we(tn,t,e))),o=-1,n=l=!1),Fe(ke[0],void 0,n,l),Et(0),n&&Jt(0),xt(0),l&&Pt(0),Fe(ke[1],void 0,n,l),o=0,P([s,a,c,v,E,f,S,k],oe))),tn),tn={getTables:Mt,getTableIds:Dt,getTable:e=>he(de(H,C(e)),he),getRowIds:Ot,getSortedRowIds:Ft,getRow:(e,t)=>he(de(de(H,C(e)),C(t))),getCellIds:jt,getCell:Qt,getValues:zt,getValueIds:Nt,getValue:Wt,hasTables:()=>!ne(H),hasTable:e=>te(H,C(e)),hasRow:(e,t)=>te(de(H,C(e)),C(t)),hasCell:(e,t,n)=>te(de(de(H,C(e)),C(t)),C(n)),hasValues:()=>!ne($),hasValue:e=>te($,C(e)),getTablesJson:()=>W(H),getValuesJson:()=>W($),getJson:()=>W([H,$]),getTablesSchemaJson:()=>W(M),getValuesSchemaJson:()=>W(O),getSchemaJson:()=>W([M,O]),setTables:Bt,setTable:(e,t)=>At((e=>We(t,e)?_e(e,t):0),e),setRow:(e,t,n)=>At(((e,t)=>Be(e,t,n)?et(e,ht(e),t,n):0),e,t),addRow:(e,t,n=!0)=>Zt((()=>{let l;return Be(e,l,t)&&(e=C(e),et(e,ht(e),l=rt(e,n?1:0),t)),l})),setPartialRow:(e,t,n)=>At(((e,t)=>{if(Be(e,t,n,1)){const l=ht(e);De(n,((n,o)=>nt(e,l,t,o,n)))}}),e,t),setCell:(e,t,n,l)=>At(((e,t,n)=>U(He(e,t,n,Y(l)?l(Qt(e,t,n)):l),(l=>nt(e,ht(e),t,n,l)))),e,t,n),setValues:Ht,setPartialValues:e=>At((()=>$e(e,1)?De(e,((e,t)=>st(t,e))):0)),setValue:(e,t)=>At((e=>U(qe(e,Y(t)?t(Wt(e)):t),(t=>st(e,t)))),e),setTablesJson:$t,setValuesJson:e=>{try{lt(B(e))}catch(e){}return tn},setJson:e=>{try{const[t,n]=B(e);Ye(t),lt(n)}catch(t){$t(e)}return tn},setTablesSchema:qt,setValuesSchema:Gt,setSchema:(e,t)=>At((()=>{qt(e),Gt(t)})),delTables:Kt,delTable:e=>At((e=>te(H,e)?ft(e):0),e),delRow:(e,t)=>At(((e,t)=>U(de(H,e),(n=>te(n,t)?gt(e,n,t):0))),e,t),delCell:(e,t,n,l)=>At(((e,t,n)=>U(de(H,e),(o=>U(de(o,t),(s=>te(s,n)?Lt(e,o,t,s,n,l):0))))),e,t,n),delValues:Ut,delValue:e=>At((e=>te($,e)?yt(e):0),e),delTablesSchema:Xt,delValuesSchema:Yt,delSchema:()=>At((()=>{Xt(),Yt()})),transaction:Zt,startTransaction:_t,finishTransaction:en,forEachTable:e=>se(H,((t,n)=>e(n,(e=>se(t,((t,n)=>e(n,(e=>ce(t,e))))))))),forEachRow:(e,t)=>se(de(H,C(e)),((e,n)=>t(n,(t=>ce(e,t))))),forEachCell:(e,t,n)=>ce(de(de(H,C(e)),C(t)),n),forEachValue:e=>ce($,e),addSortedRowIdsListener:(e,t,n,l,o,s,r)=>{let a=Ft(e,t,n,l,o);return Pe((()=>{const r=Ft(e,t,n,l,o);x(r,a)||(a=r,s(tn,e,t,n,l,o,a))}),ee[r?1:0],[e,t],[Dt])},addWillFinishTransactionListener:e=>Pe(e,ke[0]),addDidFinishTransactionListener:e=>Pe(e,ke[1]),callListener:e=>(ze(e),tn),delListener:e=>(Qe(e),tn),getListenerStats:()=>({}),createStore:vt};return De({[L]:[0,q],[y]:[0,G],[g]:[1,Z,[Dt]],[w]:[1,_,[Dt]],[p]:[2,le,[Dt,Ot]],[R]:[2,Le,[Dt,Ot]],[I]:[3,Re,[Dt,Ot,jt],e=>at(Qt(...e))],InvalidCell:[3,Te],[b]:[0,me],[m]:[0,Ee],[T]:[1,xe,[Nt],e=>at(Wt(e[0]))],InvalidValue:[1,be]},(([e,t,n,l],o)=>{tn[h+o+u]=(...o)=>Pe(o[e],t[o[e+1]?1:0],e>0?j(o,0,e):void 0,n,l)})),Je(tn)};export{Fe as createCheckpoints,He as createCustomPersister,Ze as createFilePersister,Qe as createIndexes,Ue as createLocalPersister,We as createMetrics,st as createQueries,rt as createRelationships,tt as createRemotePersister,Xe as createSessionPersister,vt as createStore,je as defaultSorter};
|
package/lib/es6/tinybase.js.gz
CHANGED
|
Binary file
|
package/lib/persisters.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{promises as t,watch as e}from"fs";const a="utf8",s=t=>null==t,o=(t,e,a)=>s(t)?a?.():e(t),n=Object.freeze,r=(t,e,a,r,c)=>{let i,d,l=0;const u={load:async(a,o)=>{if(2!=l){l=1;const n=await e();s(n)||""==n?t.transaction((()=>t.setTables(a).setValues(o))):t.setJson(n),l=0}return u},startAutoLoad:async(t,e)=>(u.stopAutoLoad(),await u.load(t,e),r(u.load),u),stopAutoLoad:()=>(c(),u),save:async()=>(1!=l&&(l=2,await a(t.getJson()),l=0),u),startAutoSave:async()=>(await u.stopAutoSave().save(),i=t.addTablesListener(u.save),d=t.addValuesListener(u.save),u),stopAutoSave:()=>(o(i,t.delListener),o(d,t.delListener),u),getStore:()=>t,destroy:()=>u.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(u)},c="storage",i=globalThis.window,d=(t,e,a)=>{let s;return r(t,(async()=>a.getItem(e)),(async t=>a.setItem(e,t)),(t=>{s=s=>{s.storageArea===a&&s.key===e&&t()},i.addEventListener(c,s)}),(()=>{i.removeEventListener(c,s),s=void 0}))},l=(t,e)=>d(t,e,localStorage),u=(t,e)=>d(t,e,sessionStorage),y=(s,o)=>{let n;return r(s,(async()=>{try{return await t.readFile(o,a)}catch{}}),(async e=>{try{await t.writeFile(o,e,a)}catch{}}),(t=>{n=e(o,t)}),(()=>{n?.close(),n=void 0}))},v=t=>t.headers.get("ETag"),w=(t,e,a,n)=>{let c,i;return r(t,(async()=>{const t=await fetch(e);return i=v(t),t.text()}),(async t=>await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:t})),(t=>{c=setInterval((async()=>{const a=await fetch(e,{method:"HEAD"}),o=v(a);s(i)||s(o)||o==i||(i=o,t())}),1e3*n)}),(()=>{o(c,clearInterval),c=void 0}))};export{r as createCustomPersister,y as createFilePersister,l as createLocalPersister,w as createRemotePersister,u as createSessionPersister};
|
|
1
|
+
import{promises as t,watch as e}from"fs";const a="utf8",s=t=>null==t,o=(t,e,a)=>s(t)?a?.():e(t),n=Object.freeze,r=(t,e,a,r,c)=>{let i,d,l=0;const u={load:async(a={},o={})=>{if(2!=l){l=1;const n=await e();s(n)||""==n?t.transaction((()=>t.setTables(a).setValues(o))):t.setJson(n),l=0}return u},startAutoLoad:async(t={},e={})=>(u.stopAutoLoad(),await u.load(t,e),r(u.load),u),stopAutoLoad:()=>(c(),u),save:async()=>(1!=l&&(l=2,await a(t.getJson()),l=0),u),startAutoSave:async()=>(await u.stopAutoSave().save(),i=t.addTablesListener(u.save),d=t.addValuesListener(u.save),u),stopAutoSave:()=>(o(i,t.delListener),o(d,t.delListener),u),getStore:()=>t,destroy:()=>u.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(u)},c="storage",i=globalThis.window,d=(t,e,a)=>{let s;return r(t,(async()=>a.getItem(e)),(async t=>a.setItem(e,t)),(t=>{s=s=>{s.storageArea===a&&s.key===e&&t()},i.addEventListener(c,s)}),(()=>{i.removeEventListener(c,s),s=void 0}))},l=(t,e)=>d(t,e,localStorage),u=(t,e)=>d(t,e,sessionStorage),y=(s,o)=>{let n;return r(s,(async()=>{try{return await t.readFile(o,a)}catch{}}),(async e=>{try{await t.writeFile(o,e,a)}catch{}}),(t=>{n=e(o,t)}),(()=>{n?.close(),n=void 0}))},v=t=>t.headers.get("ETag"),w=(t,e,a,n)=>{let c,i;return r(t,(async()=>{const t=await fetch(e);return i=v(t),t.text()}),(async t=>await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:t})),(t=>{c=setInterval((async()=>{const a=await fetch(e,{method:"HEAD"}),o=v(a);s(i)||s(o)||o==i||(i=o,t())}),1e3*n)}),(()=>{o(c,clearInterval),c=void 0}))};export{r as createCustomPersister,y as createFilePersister,l as createLocalPersister,w as createRemotePersister,u as createSessionPersister};
|
package/lib/persisters.js.gz
CHANGED
|
Binary file
|
package/lib/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{promises as e,watch as t}from"fs";const s=e=>typeof e,n="",o=s(n),a=s(!0),r=s(0),i=s(s),l="type",c="default",d="utf8",u="Listener",h="Result",g="add",f="Ids",L="Table",w=L+"s",v=L+f,S="Row",R=S+f,I="Sorted"+S+f,T="Cell",y=T+f,p="Value",b=p+"s",m=p+f,C=e=>n+e,V=(e,t)=>e.includes(t),E=(e,t)=>e.every(t),k=(e,t)=>F(e)===F(t)&&E(e,((e,s)=>t[s]===e)),J=(e,t)=>E(e,((s,n)=>0==n||t(e[n-1],s)<=0)),A=(e,t)=>e.sort(t),M=(e,t)=>e.forEach(t),D=(e,t)=>e.map(t),x=e=>z(e,((e,t)=>e+t),0),F=e=>e.length,Q=e=>0==F(e),z=(e,t,s)=>e.reduce(t,s),N=(e,t,s)=>e.slice(t,s),O=(e,...t)=>e.push(...t),j=e=>e.pop(),P=e=>e.shift(),W=e=>JSON.stringify(e,((e,t)=>G(t,Map)?z([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),B=JSON.parse,H=Math.max,$=Math.min,q=isFinite,G=(e,t)=>e instanceof t,K=e=>null==e,U=(e,t,s)=>K(e)?s?.():t(e),X=e=>e==o||e==a,Y=e=>s(e)==i,Z=e=>Array.isArray(e),_=()=>{},ee=e=>e.size,te=(e,t)=>e?.has(t)??!1,se=e=>K(e)||0==ee(e),ne=e=>[...e?.values()??[]],oe=e=>e.clear(),ae=(e,t)=>e?.forEach(t),re=(e,t)=>e?.delete(t),ie=e=>new Map(e),le=e=>[...e?.keys()??[]],ce=(e,t)=>e?.get(t),de=(e,t)=>ae(e,((e,s)=>t(s,e))),ue=(e,t,s)=>K(s)?(re(e,t),e):e?.set(t,s),he=(e,t,s)=>(te(e,t)||ue(e,t,s()),ce(e,t)),ge=(e,t,s)=>{const n={},o=t??(e=>e);return ae(e,((e,t)=>U(o(e),(e=>s?.(e)?0:n[t]=e)))),n},fe=(e,t)=>{const s=ie(),n=t??(e=>e);return ae(e,((e,t)=>s.set(t,n(e)))),s},Le=e=>fe(e,fe),we=(e,t,s,n,o=0)=>U((s?he:ce)(e,t[o],o>F(t)-2?s:ie),(a=>{if(o>F(t)-2)return n?.(a)&&ue(e,t[o]),a;const r=we(a,t,s,n,o+1);return se(a)&&ue(e,t[o]),r})),ve=e=>{const t=s(e);return X(t)||t==r&&q(e)?t:void 0},Se=(e,t,s,n,o)=>K(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),Re=(e,t,s)=>K(s)?e.delValue(t):e.setValue(t,s),Ie=e=>new Set(Z(e)||K(e)?e:[e]),Te=(e,t)=>e?.add(t),ye=(e,t,s)=>{const n=e.hasRow,o=ie(),a=ie(),r=ie(),i=ie(),l=ie(),c=(t,s,...n)=>{const o=he(l,t,Ie);return M(n,(t=>Te(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>U(ce(l,t),(n=>{M(Q(s)?ne(n):s,(t=>{e.delListener(t),re(n,t)})),se(n)&&ue(l,t)})),u=(e,s)=>{ue(o,e,s),te(a,e)||(ue(a,e,t()),ue(r,e,ie()),ue(i,e,ie()))},h=e=>{ue(o,e),ue(a,e),ue(r,e),ue(i,e),d(e)};return[()=>e,()=>le(o),e=>de(a,e),e=>te(a,e),e=>ce(o,e),e=>ce(a,e),(e,t)=>ue(a,e,t),u,(t,o,a,l,h)=>{u(t,o);const g=ie(),f=ie(),L=ce(r,t),w=ce(i,t),v=t=>{const a=s=>e.getCell(o,t,s),r=ce(L,t),i=n(o,t)?s(l(a,t)):void 0;if(r===i||Z(r)&&Z(i)&&k(r,i)||ue(g,t,[r,i]),!K(h)){const e=ce(w,t),s=n(o,t)?h(a,t):void 0;e!=s&&ue(f,t,s)}},S=e=>{a((()=>{ae(g,(([,e],t)=>ue(L,t,e))),ae(f,((e,t)=>ue(w,t,e)))}),g,f,L,w,e),oe(g),oe(f)};de(L,v),e.hasTable(o)&&M(e.getRowIds(o),(e=>{te(L,e)||v(e)})),S(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>v(s))),e.addTableListener(o,(()=>S())))},h,()=>de(l,h),c,d]},pe=(e,t)=>s(e)==o?t=>t(e):e??(()=>t??n),be=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},me=/^\d+$/,Ce=()=>{const e=[];let t=0;return[s=>(s?P(e):null)??n+t++,t=>{me.test(t)&&F(e)<1e3&&O(e,t)}]},Ve=e=>{let t;const[s,o]=Ce(),a=ie();return[(o,r,i,l=[],c=(()=>[]))=>{t??=e();const d=s(1);return ue(a,d,[o,r,i,l,c]),Te(we(r,i??[n],Ie),d),d},(e,s,...o)=>M(((e,t=[n])=>{const s=[],o=(e,n)=>n==F(t)?O(s,e):null===t[n]?ae(e,(e=>o(e,n+1))):M([t[n],null],(t=>o(ce(e,t),n+1)));return o(e,0),s})(e,s),(e=>ae(e,(e=>ce(a,e)[0](t,...s??[],...o))))),e=>U(ce(a,e),(([,t,s])=>(we(t,s??[n],void 0,(t=>(re(t,e),se(t)?1:0))),ue(a,e),o(e),s))),e=>U(ce(a,e),(([e,,s=[],n,o])=>{const a=(...r)=>{const i=F(r);i==F(s)?e(t,...r,...o(r)):K(s[i])?M(n[i]?.(...r)??[],(e=>a(...r,e))):a(...r,s[i])};a()}))]},Ee=Object,ke=Ee.keys,Je=Ee.isFrozen,Ae=Ee.freeze,Me=e=>G(e,Ee)&&e.constructor==Ee,De=(e,t)=>!K(((e,t)=>U(e,(e=>e[t])))(e,t)),xe=(e,t)=>delete e[t],Fe=(e,t)=>D(Ee.entries(e),(([e,s])=>t(s,e))),Qe=e=>Me(e)&&Q(ke(e)),ze=be((e=>{let t,s,o,a=100,r=ie(),i=ie(),l=1;const c=ie(),d=ie(),[u,h,g]=Ve((()=>z)),f=ie(),L=ie(),w=[],v=[],S=(t,s)=>{l=0,e.transaction((()=>{const[n,o]=ce(f,s);ae(n,((s,n)=>ae(s,((s,o)=>ae(s,((s,a)=>Se(e,n,o,a,s[t]))))))),ae(o,((s,n)=>Re(e,n,s[t])))})),l=1},R=e=>{ue(f,e),ue(L,e),h(d,[e])},I=(e,t)=>M(((e,t)=>e.splice(0,t))(e,t??F(e)),R),T=()=>I(w,F(w)-a),y=()=>U(t,(()=>{O(w,t),T(),I(v),t=void 0,o=1})),p=()=>{t=j(w),o=1},b=e.addCellListener(null,null,null,((e,t,s,n,o,a)=>{if(l){y();const e=he(r,t,ie),i=he(e,s,ie),l=he(i,n,(()=>[a,void 0]));l[1]=o,l[0]===o&&se(ue(i,n))&&se(ue(e,s))&&se(ue(r,t))&&p(),J()}})),m=e.addValueListener(null,((e,t,s,n)=>{if(l){y();const e=he(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&se(ue(i,t))&&p(),J()}})),C=(e="")=>(K(t)&&(t=n+s++,ue(f,t,[r,i]),D(t,e),r=ie(),i=ie(),o=1),t),E=()=>{Q(w)||(((e,...t)=>{e.unshift(...t)})(v,C()),S(0,t),t=j(w),o=1)},k=()=>{Q(v)||(O(w,t),t=P(v),S(1,t),o=1)},J=()=>{o&&(h(c),o=0)},A=e=>{const t=C(e);return J(),t},D=(e,t)=>(x(e)&&ce(L,e)!==t&&(ue(L,e,t),h(d,[e])),z),x=e=>te(f,e),z={setSize:e=>(a=e,T(),z),addCheckpoint:A,setCheckpoint:D,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...v]],forEachCheckpoint:e=>de(L,e),hasCheckpoint:x,getCheckpoint:e=>ce(L,e),goBackward:()=>(E(),J(),z),goForward:()=>(k(),J(),z),goTo:e=>{const s=V(w,e)?E:V(v,e)?k:null;for(;!K(s)&&e!=t;)s();return J(),z},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),z),clear:()=>(I(w),I(v),K(t)||R(t),t=void 0,s=0,A(),z),destroy:()=>{e.delListener(b),e.delListener(m)},getListenerStats:()=>({})};return Ae(z.clear())})),Ne=(e,t)=>e<t?-1:1,Oe=be((e=>{const t=ie(),s=ie(),[o,a,r,i,l,c,d,,u,h,g]=ye(e,ie,(e=>K(e)?n:Z(e)?D(e,C):C(e))),[f,L,w]=Ve((()=>S)),v=(t,s,n)=>{const o=l(t);ae(n,((t,n)=>s(n,(s=>ae(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},S={setIndexDefinition:(e,n,o,a,r,i=Ne)=>{const l=K(r)?void 0:([e],[t])=>r(e,t);return u(e,n,((n,o,r,u,h,g)=>{let f=0;const w=Ie(),v=Ie(),S=c(e);if(ae(o,(([e,t],s)=>{const n=Ie(e),o=Ie(t);ae(n,(e=>re(o,e)?re(n,e):0)),ae(n,(e=>{Te(w,e),U(ce(S,e),(t=>{re(t,s),se(t)&&(ue(S,e),f=1)}))})),ae(o,(e=>{Te(w,e),te(S,e)||(ue(S,e,Ie()),f=1),Te(ce(S,e),s),K(a)||Te(v,e)}))})),n(),se(h)||(g?de(S,(e=>Te(v,e))):de(r,(e=>U(ce(u,e),(e=>Te(v,e))))),ae(v,(e=>{const t=(t,s)=>i(ce(h,t),ce(h,s),e),s=[...ce(S,e)];J(s,t)||(ue(S,e,Ie(A(s,t))),Te(w,e))}))),(f||g)&&!K(l)){const t=[...S];J(t,l)||(d(e,ie(A(t,l))),f=1)}f&&L(t,[e]),ae(w,(t=>L(s,[e,t])))}),pe(o),U(a,pe)),S},delIndexDefinition:e=>(h(e),S),getStore:o,getIndexIds:a,forEachIndex:e=>r(((t,s)=>e(t,(e=>v(t,e,s))))),forEachSlice:(e,t)=>v(e,t,c(e)),hasIndex:i,hasSlice:(e,t)=>te(c(e),t),getTableId:l,getSliceIds:e=>le(c(e)),getSliceRowIds:(e,t)=>ne(ce(c(e),t)),addSliceIdsListener:(e,s)=>f(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>f(n,s,[e,t]),delListener:e=>(w(e),S),destroy:g,getListenerStats:()=>({})};return Ae(S)})),je=ie([["avg",[(e,t)=>x(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=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:H(t,e)]],["min",[e=>$(...e),(e,t)=>$(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:$(t,e)]],["sum",[e=>x(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Pe=(e,t,s,n,o,a=!1)=>{if(se(s))return;const[r,i,l,c]=o;return a||=K(e),ae(n,(([s,n])=>{a||(e=K(s)?i?.(e,n,t++):K(n)?l?.(e,s,t--):c?.(e,n,s,t),a||=K(e))})),a?r(ne(s),ee(s)):e},We=be((e=>{const t=ie(),[s,o,a,r,i,l,c,,d,u,h]=ye(e,_,(e=>isNaN(e)||K(e)||!0===e||!1===e||e===n?void 0:1*e)),[g,f,L]=Ve((()=>w)),w={setMetricDefinition:(e,s,n,o,a,r,i)=>{const u=Y(n)?[n,a,r,i]:ce(je,n)??ce(je,"sum");return d(e,s,((s,n,o,a,r,i)=>{const d=l(e),h=ee(a);i||=K(d),s();let g=Pe(d,h,a,n,u,i);q(g)||(g=void 0),g!=d&&(c(e,g),f(t,[e],g,d))}),pe(o,1)),w},delMetricDefinition:e=>(u(e),w),getStore:s,getMetricIds:o,forEachMetric:a,hasMetric:r,getTableId:i,getMetric:l,addMetricListener:(e,s)=>g(s,t,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return Ae(w)})),Be=(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();K(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:()=>(U(r,e.delListener),U(i,e.delListener),c),getStore:()=>e,destroy:()=>c.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Ae(c)},He="storage",$e=globalThis.window,qe=(e,t,s)=>{let n;return Be(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},$e.addEventListener(He,n)}),(()=>{$e.removeEventListener(He,n),n=void 0}))},Ge=(e,t)=>qe(e,t,localStorage),Ke=(e,t)=>qe(e,t,sessionStorage),Ue=(s,n)=>{let o;return Be(s,(async()=>{try{return await e.readFile(n,d)}catch{}}),(async t=>{try{await e.writeFile(n,t,d)}catch{}}),(e=>{o=t(n,e)}),(()=>{o?.close(),o=void 0}))},Xe=e=>e.headers.get("ETag"),Ye=(e,t,s,n)=>{let o,a;return Be(e,(async()=>{const e=await fetch(t);return a=Xe(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=Xe(s);K(a)||K(n)||n==a||(a=n,e())}),1e3*n)}),(()=>{U(o,clearInterval),o=void 0}))},Ze=be((e=>{const t=e.createStore,[s,o,a,r,i,,,l,,c,d,f,w]=ye(e,(()=>!0),_),v=t(),p=t(),b=ie(),m=(e,t,...s)=>M(s,(s=>Te(he(he(b,t,ie),e,Ie),s))),C=e=>{U(ce(b,e),(e=>{de(e,((e,t)=>ae(t,(t=>e.delListener(t))))),oe(e)})),M([p,v],(t=>t.delTable(e)))},V=(e,t,s)=>m(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),k={setQueryDefinition:(t,s,o)=>{l(t,s),C(t);const a=[],r=[[null,[s,null,null,[],ie()]]],i=[],c=[],d=[];o({select:(e,t)=>{const s=Y(e)?[F(a)+n,e]:[K(t)?e:t,s=>s(e,t)];return O(a,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=K(s)||Y(t)?null:t,o=K(n)?t:s,a=[e,[e,n,Y(o)?o:e=>e(o),[],ie()]];return O(r,a),{as:e=>a[0]=e}},where:(e,t,s)=>O(i,Y(e)?e:K(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const a=[e,[e,Y(t)?[t,s,n,o]:ce(je,t)??[(e,t)=>t]]];return O(c,a),{as:e=>a[0]=e}},having:(e,t)=>O(d,Y(e)?e:s=>s(e)===t)});const u=ie(a);if(se(u))return k;const h=ie(r);de(h,((e,[,t])=>U(ce(h,t),(({3:t})=>K(e)?0:O(t,e)))));const g=ie(c);let L=v;if(se(g)&&Q(d))L=p;else{V(t,L,p);const e=ie();de(g,((t,[s,n])=>Te(he(e,s,Ie),[t,n])));const s=Ie();de(u,(t=>te(e,t)?0:Te(s,t)));const n=ie(),o=(s,n,o,a)=>U(s,(([r,i,l,c])=>{de(n,((t,[s])=>{const n=he(r,t,ie),i=ce(n,o),l=a?void 0:s;if(i!==l){const s=Ie([[i,l]]),a=ee(n);ue(n,o,l),ae(ce(e,t),(([e,t])=>{const o=Pe(c[e],a,n,s,t);c[e]=K(ve(o))?null:o}))}})),se(i)||!E(d,(e=>e((e=>c[e]))))?p.delRow(t,l):K(l)?s[2]=p.addRow(t,c):p.setRow(t,l,c)}));m(L,t,L.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=ie(),h=L.hasRow(t,i);let g=!h;ae(s,(e=>{const[s,n,o]=l(t,i,e);O(c,n),O(d,o),g||=s})),de(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&ue(u,e,[n])})),g&&o(we(n,c,void 0,(([,e])=>(re(e,i),se(e)))),u,i,1),h&&o(we(n,d,(()=>{const e={};return ae(s,(s=>e[s]=L.getCell(t,i,s))),[ie(),Ie(),void 0,e]}),(([,e])=>{Te(e,i)})),u,i)})))}V(t,e,L);const S=(n,o,a,r)=>{const l=t=>e.getCell(o,a,t);M(r,(s=>{const[o,,a,r,i]=ce(h,s),c=a?.(l,n),[d,u]=ce(i,n)??[];c!=d&&(K(u)||w(t,u),ue(i,n,K(c)?null:[c,...f(t,1,e.addRowListener(o,c,(()=>S(n,o,c,r))))]))})),(n=>{const o=(t,o)=>e.getCell(...K(o)?[s,n,t]:t===s?[s,n,o]:[ce(h,t)?.[0],ce(ce(h,t)?.[4],n)?.[0],o]);L.transaction((()=>E(i,(e=>e(o)))?de(u,((e,s)=>Se(L,t,n,e,s(o,n)))):L.delRow(t,n)))})(n)},{3:R}=ce(h,null);return L.transaction((()=>f(t,1,e.addRowListener(s,null,((n,o,a)=>{e.hasRow(s,a)?S(a,s,a,R):(L.delRow(t,a),ae(h,(({4:e})=>U(ce(e,a),(([,s])=>{w(t,s),ue(e,a)})))))}))))),k},delQueryDefinition:e=>(C(e),c(e),k),getStore:s,getQueryIds:o,forEachQuery:a,hasQuery:r,getTableId:i,delListener:e=>(p.delListener(e),k),destroy:d,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=p.getListenerStats();return n}};return Fe({[L]:[1,1],[R]:[0,1],[I]:[0,5],[S]:[1,2],[y]:[0,2],[T]:[1,3]},(([e,t],s)=>{M(e?["get","has","forEach"]:["get"],(e=>k[e+h+s]=(...t)=>p[e+s](...t))),k[g+h+s+u]=(...e)=>p[g+s+u](...N(e,0,t),((s,...n)=>e[t](k,...n)))})),Ae(k)})),_e=be((e=>{const t=ie(),s=ie(),o=ie(),a=ie(),[r,i,l,c,d,u,,,h,g,f]=ye(e,(()=>[ie(),ie(),ie(),ie()]),(e=>K(e)?void 0:e+n)),[L,w,v]=Ve((()=>T)),S=(e,t,s)=>U(u(e),(([n,,o])=>{if(!te(o,t)){const a=Ie();if(d(e)!=I(e))Te(a,t);else{let e=t;for(;!K(e)&&!te(a,e);)Te(a,e),e=ce(n,e)}if(s)return a;ue(o,t,a)}return ce(o,t)})),R=(e,t)=>U(u(e),(([,,e])=>ue(e,t))),I=e=>ce(t,e),T={setRelationshipDefinition:(e,n,r,i)=>(ue(t,e,r),h(e,n,((t,n)=>{const r=Ie(),i=Ie(),l=Ie(),[c,d]=u(e);ae(n,(([t,s],n)=>{K(t)||(Te(i,t),U(ce(d,t),(e=>{re(e,n),se(e)&&ue(d,t)}))),K(s)||(Te(i,s),te(d,s)||ue(d,s,Ie()),Te(ce(d,s),n)),Te(r,n),ue(c,n,s),de(ce(a,e),(t=>{te(S(e,t),n)&&Te(l,t)}))})),t(),ae(r,(t=>w(s,[e,t]))),ae(i,(t=>w(o,[e,t]))),ae(l,(t=>{R(e,t),w(a,[e,t])}))}),pe(i)),T),delRelationshipDefinition:e=>(ue(t,e),g(e),T),getStore:r,getRelationshipIds:i,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:I,getRemoteRowId:(e,t)=>ce(u(e)?.[0],t),getLocalRowIds:(e,t)=>ne(ce(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>K(u(e))?[t]:ne(S(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)=>(S(e,t),L(s,a,[e,t])),delListener:e=>(R(...v(e)),T),destroy:f,getListenerStats:()=>({})};return Ae(T)})),et=e=>[e,e],tt=()=>[ie(),ie()],st=(e,t,s,n=ue)=>(Fe(t,((t,n)=>s(e,n,t))),de(e,(s=>De(t,s)?0:n(e,s))),e),nt=(e,t,s)=>K(e)||!Me(e)||Qe(e)||Je(e)?(s?.(),!1):(Fe(e,((s,n)=>{t(s,n)||xe(e,n)})),!Qe(e)),ot=(e,t,s)=>ue(e,t,ce(e,t)==-s?void 0:s),at=()=>{let e,t,s,n,o=0;const a=ie(),i=ie(),d=ie(),h=ie(),f=ie(),I=ie(),E=ie(),J=ie(),x=ie(),F=ie(),Q=ie(),z=ie(),j=Ie(),P=ie(),H=ie(),$=ie(),q=tt(),G=tt(),Z=tt(),_=tt(),ee=tt(),ne=tt(),we=tt(),ye=tt(),pe=tt(),be=tt(),me=tt(),Ee=tt(),ke=tt(),Je=tt(),[Me,ze,Oe,je]=Ve((()=>ts)),Pe=e=>{if(!nt(e,((e,t)=>V([l,c],t))))return!1;const t=e[l];return!(!X(t)&&t!=r||(ve(e[c])!=t&&xe(e,c),0))},We=(t,s)=>(!e||te(x,s)||bt(s))&&nt(t,((e,t)=>Be(s,t,e)),(()=>bt(s))),Be=(e,t,s,n)=>nt(n?s:Ge(s,e,t),((n,o)=>U(He(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>bt(e,t))),He=(t,s,n,o)=>e?U(ce(ce(x,t),n),(e=>ve(o)!=e[l]?bt(t,s,n,o,e[c]):o),(()=>bt(t,s,n,o))):K(ve(o))?bt(t,s,n,o):o,$e=(e,t)=>nt(t?e:Ke(e),((t,s)=>U(qe(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>mt())),qe=(e,s)=>t?U(ce(Q,e),(t=>ve(s)!=t[l]?mt(e,s,t[c]):s),(()=>mt(e,s))):K(ve(s))?mt(e,s):s,Ge=(e,t,s)=>(U(ce(F,t),(([n,o])=>{ae(n,((t,s)=>{De(e,s)||(e[s]=t)})),ae(o,(n=>{De(e,n)||bt(t,s,n)}))})),e),Ke=e=>(t&&(ae(z,((t,s)=>{De(e,s)||(e[s]=t)})),ae(j,(t=>{De(e,t)||mt(t)}))),e),Ue=e=>st(x,e,((e,t,s)=>{const n=ie(),o=Ie();st(he(x,t,ie),s,((e,t,s)=>{ue(e,t,s),U(s[c],(e=>ue(n,t,e)),(()=>Te(o,t)))})),ue(F,t,[n,o])}),((e,t)=>{ue(x,t),ue(F,t)})),Xe=e=>st(Q,e,((e,t,s)=>{ue(Q,t,s),U(s[c],(e=>ue(z,t,e)),(()=>Te(j,t)))}),((e,t)=>{ue(Q,t),ue(z,t),re(j,t)})),Ye=e=>Qe(e)?Kt():Bt(e),Ze=e=>st(H,e,((e,t,s)=>_e(t,s)),((e,t)=>ft(t))),_e=(e,t)=>st(he(H,e,(()=>(St(e,1),ie()))),t,((t,s,n)=>rt(e,t,s,n)),((t,s)=>Lt(e,t,s))),rt=(e,t,s,n,o)=>st(he(t,s,(()=>(Rt(e,s,1),ie()))),n,((t,n,o)=>it(e,s,t,n,o)),((n,a)=>wt(e,t,s,n,a,o))),it=(e,t,s,n,o)=>{te(s,n)||It(e,t,n,1);const a=ce(s,n);o!==a&&(Tt(e,t,n,a,o),ue(s,n,o))},lt=(e,t,s,n,o)=>U(ce(t,s),(t=>it(e,s,t,n,o)),(()=>rt(e,t,s,Ge({[n]:o},e,s)))),ct=e=>Qe(e)?Ut():Ht(e),dt=e=>st($,e,((e,t,s)=>ut(t,s)),((e,t)=>vt(t))),ut=(e,t)=>{te($,e)||yt(e,1);const s=ce($,e);t!==s&&(pt(e,s,t),ue($,e,t))},ht=(e,t)=>{const[s]=he(P,e,Ce),n=s(t);return te(ce(H,e),n)?ht(e,t):n},gt=e=>ce(H,e)??_e(e,{}),ft=e=>_e(e,{}),Lt=(e,t,s)=>{const[,n]=he(P,e,Ce);n(s),rt(e,t,s,{},!0)},wt=(e,t,s,n,o,a)=>{const r=ce(ce(F,e)?.[0],o);if(!K(r)&&!a)return it(e,s,n,o,r);const i=t=>{Tt(e,s,t,ce(n,t)),It(e,s,t,-1),ue(n,t)};K(r)?i(o):de(n,i),se(n)&&(Rt(e,s,-1),se(ue(t,s))&&(St(e,-1),ue(H,e),ue(P,e)))},vt=e=>{const t=ce(z,e);if(!K(t))return ut(e,t);pt(e,ce($,e)),yt(e,-1),ue($,e)},St=(e,t)=>ot(a,e,t),Rt=(e,t,s)=>ot(he(i,e,ie),t,s),It=(e,t,s,n)=>ot(he(he(d,e,ie),t,ie),s,n),Tt=(e,t,s,n,o)=>he(he(he(h,e,ie),t,ie),s,(()=>[n,0]))[1]=o,yt=(e,t)=>ot(f,e,t),pt=(e,t,s)=>he(I,e,(()=>[t,0]))[1]=s,bt=(e,t,s,n,o)=>(O(he(he(he(E,e,ie),t,ie),s,(()=>[])),n),o),mt=(e,t,s)=>(O(he(J,e,(()=>[])),t),s),Ct=(e,t,s)=>U(ce(ce(ce(h,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...et(Ot(e,t,s))])),Vt=e=>U(ce(I,e),(([e,t])=>[!0,e,t]),(()=>[!1,...et(Wt(e))])),Et=e=>se(E)||se(pe[e])?0:ae(e?fe(E,Le):E,((t,s)=>ae(t,((t,n)=>ae(t,((t,o)=>ze(pe[e],[s,n,o],t))))))),kt=e=>se(J)||se(be[e])?0:ae(e?fe(J):J,((t,s)=>ze(be[e],[s],t))),Jt=(e,t,s)=>{if(!se(t))return ze(e,s),1},At=e=>{const t=se(ee[e]),s=se(we[e])&&se(_[e])&&t&&se(G[e]),n=se(ye[e])&&se(ne[e])&&se(Z[e])&&se(q[e]);if(!s||!n){const o=e?[fe(a),Le(i),fe(d,Le),fe(h,Le)]:[a,i,d,h];if(!s){ae(o[2],((t,s)=>ae(t,((t,n)=>Jt(we[e],t,[s,n])))));const s=Ie();ae(o[1],((n,o)=>{Jt(_[e],n,[o])&&!t&&(ze(ee[e],[o,null]),Te(s,o))})),t||ae(o[3],((t,n)=>{if(!te(s,n)){const s=Ie();ae(t,(e=>ae(e,(([t,n],o)=>n!==t?Te(s,o):re(e,o))))),ae(s,(t=>ze(ee[e],[n,t])))}})),Jt(G[e],o[0])}if(!n){let t;ae(o[3],((s,n)=>{let o;ae(s,((s,a)=>{let r;ae(s,(([s,i],l)=>{i!==s&&(ze(ye[e],[n,a,l],i,s,Ct),t=o=r=1)})),r&&ze(ne[e],[n,a],Ct)})),o&&ze(Z[e],[n],Ct)})),t&&ze(q[e],void 0,Ct)}}},Mt=e=>{const t=se(Ee[e]),s=se(ke[e])&&se(me[e]);if(!t||!s){const n=e?[fe(f),fe(I)]:[f,I];if(t||Jt(Ee[e],n[0]),!s){let t;ae(n[1],(([s,n],o)=>{n!==s&&(ze(ke[e],[o],n,s,Vt),t=1)})),t&&ze(me[e],void 0,Vt)}}},Dt=(e,...t)=>(Zt((()=>e(...D(t,C)))),ts),xt=()=>ge(H,(e=>ge(e,ge))),Ft=()=>le(H),Qt=e=>le(ce(H,C(e))),zt=(e,t,s,n=0,o)=>{return D(N(A((a=ce(H,C(e)),r=(e,s)=>[K(t)?s:ce(e,C(t)),s],D([...a?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ne(e,t)*(s?-1:1))),n,K(o)?o:n+o),(([,e])=>e));var a,r},Nt=(e,t)=>le(ce(ce(H,C(e)),C(t))),Ot=(e,t,s)=>ce(ce(ce(H,C(e)),C(t)),C(s)),jt=()=>ge($),Pt=()=>le($),Wt=e=>ce($,C(e)),Bt=e=>Dt((()=>(e=>nt(e,We,bt))(e)?Ze(e):0)),Ht=e=>Dt((()=>$e(e)?dt(e):0)),$t=e=>{try{Ye(B(e))}catch{}return ts},qt=t=>Dt((()=>{if((e=nt(t,(e=>nt(e,Pe))))&&(Ue(t),!se(H))){const e=xt();Kt(),Bt(e)}})),Gt=e=>Dt((()=>{if(t=(e=>nt(e,Pe))(e)){const s=jt();Yt(),Ut(),t=!0,Xe(e),Ht(s)}})),Kt=()=>Dt((()=>Ze({}))),Ut=()=>Dt((()=>dt({}))),Xt=()=>Dt((()=>{Ue({}),e=!1})),Yt=()=>Dt((()=>{Xe({}),t=!1})),Zt=(e,t)=>{if(-1==o)return;_t();const s=e();return es(t),s},_t=()=>(o++,ts),es=e=>(o>0&&(o--,0==o&&(s=!se(h),n=!se(I),o=1,Et(1),s&&At(1),kt(1),n&&Mt(1),o=-1,e?.(ge(h,(e=>ge(e,(e=>ge(e,(e=>[...e]),(([e,t])=>e===t))),Qe)),Qe),ge(E,(e=>ge(e,ge))),ge(I,(e=>[...e]),(([e,t])=>e===t)),ge(J))&&(o=1,ae(h,((e,t)=>ae(e,((e,s)=>ae(e,(([e],n)=>Se(ts,t,s,n,e))))))),ae(I,(([e],t)=>Re(ts,t,e))),o=-1,s=n=!1),ze(Je[0],void 0,s,n),Et(0),s&&At(0),kt(0),n&&Mt(0),ze(Je[1],void 0,s,n),o=0,M([a,i,d,h,E,f,I,J],oe))),ts),ts={getTables:xt,getTableIds:Ft,getTable:e=>ge(ce(H,C(e)),ge),getRowIds:Qt,getSortedRowIds:zt,getRow:(e,t)=>ge(ce(ce(H,C(e)),C(t))),getCellIds:Nt,getCell:Ot,getValues:jt,getValueIds:Pt,getValue:Wt,hasTables:()=>!se(H),hasTable:e=>te(H,C(e)),hasRow:(e,t)=>te(ce(H,C(e)),C(t)),hasCell:(e,t,s)=>te(ce(ce(H,C(e)),C(t)),C(s)),hasValues:()=>!se($),hasValue:e=>te($,C(e)),getTablesJson:()=>W(H),getValuesJson:()=>W($),getJson:()=>W([H,$]),getTablesSchemaJson:()=>W(x),getValuesSchemaJson:()=>W(Q),getSchemaJson:()=>W([x,Q]),setTables:Bt,setTable:(e,t)=>Dt((e=>We(t,e)?_e(e,t):0),e),setRow:(e,t,s)=>Dt(((e,t)=>Be(e,t,s)?rt(e,gt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Zt((()=>{let n;return Be(e,n,t)&&(e=C(e),rt(e,gt(e),n=ht(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Dt(((e,t)=>{if(Be(e,t,s,1)){const n=gt(e);Fe(s,((s,o)=>lt(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Dt(((e,t,s)=>U(He(e,t,s,Y(n)?n(Ot(e,t,s)):n),(n=>lt(e,gt(e),t,s,n)))),e,t,s),setValues:Ht,setPartialValues:e=>Dt((()=>$e(e,1)?Fe(e,((e,t)=>ut(t,e))):0)),setValue:(e,t)=>Dt((e=>U(qe(e,Y(t)?t(Wt(e)):t),(t=>ut(e,t)))),e),setTablesJson:$t,setValuesJson:e=>{try{ct(B(e))}catch{}return ts},setJson:e=>{try{const[t,s]=B(e);Ye(t),ct(s)}catch{$t(e)}return ts},setTablesSchema:qt,setValuesSchema:Gt,setSchema:(e,t)=>Dt((()=>{qt(e),Gt(t)})),delTables:Kt,delTable:e=>Dt((e=>te(H,e)?ft(e):0),e),delRow:(e,t)=>Dt(((e,t)=>U(ce(H,e),(s=>te(s,t)?Lt(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Dt(((e,t,s)=>U(ce(H,e),(o=>U(ce(o,t),(a=>te(a,s)?wt(e,o,t,a,s,n):0))))),e,t,s),delValues:Ut,delValue:e=>Dt((e=>te($,e)?vt(e):0),e),delTablesSchema:Xt,delValuesSchema:Yt,delSchema:()=>Dt((()=>{Xt(),Yt()})),transaction:Zt,startTransaction:_t,finishTransaction:es,forEachTable:e=>ae(H,((t,s)=>e(s,(e=>ae(t,((t,s)=>e(s,(e=>de(t,e))))))))),forEachRow:(e,t)=>ae(ce(H,C(e)),((e,s)=>t(s,(t=>de(e,t))))),forEachCell:(e,t,s)=>de(ce(ce(H,C(e)),C(t)),s),forEachValue:e=>de($,e),addSortedRowIdsListener:(e,t,s,n,o,a,r)=>{let i=zt(e,t,s,n,o);return Me((()=>{const r=zt(e,t,s,n,o);k(r,i)||(i=r,a(ts,e,t,s,n,o,i))}),ee[r?1:0],[e,t],[Ft])},addWillFinishTransactionListener:e=>Me(e,Je[0]),addDidFinishTransactionListener:e=>Me(e,Je[1]),callListener:e=>(je(e),ts),delListener:e=>(Oe(e),ts),getListenerStats:()=>({}),createStore:at};return Fe({[w]:[0,q],[v]:[0,G],[L]:[1,Z,[Ft]],[R]:[1,_,[Ft]],[S]:[2,ne,[Ft,Qt]],[y]:[2,we,[Ft,Qt]],[T]:[3,ye,[Ft,Qt,Nt],e=>et(Ot(...e))],InvalidCell:[3,pe],[b]:[0,me],[m]:[0,Ee],[p]:[1,ke,[Pt],e=>et(Wt(e[0]))],InvalidValue:[1,be]},(([e,t,s,n],o)=>{ts[g+o+u]=(...o)=>Me(o[e],t[o[e+1]?1:0],e>0?N(o,0,e):void 0,s,n)})),Ae(ts)};export{ze as createCheckpoints,Be as createCustomPersister,Ue as createFilePersister,Oe as createIndexes,Ge as createLocalPersister,We as createMetrics,Ze as createQueries,_e as createRelationships,Ye as createRemotePersister,Ke as createSessionPersister,at as createStore,Ne as defaultSorter};
|
|
1
|
+
import{promises as e,watch as t}from"fs";const s=e=>typeof e,n="",o=s(n),a=s(!0),r=s(0),i=s(s),l="type",c="default",d="utf8",u="Listener",h="Result",g="add",f="Ids",L="Table",w=L+"s",v=L+f,S="Row",R=S+f,I="Sorted"+S+f,T="Cell",y=T+f,p="Value",b=p+"s",m=p+f,C=e=>n+e,V=(e,t)=>e.includes(t),E=(e,t)=>e.every(t),k=(e,t)=>F(e)===F(t)&&E(e,((e,s)=>t[s]===e)),J=(e,t)=>E(e,((s,n)=>0==n||t(e[n-1],s)<=0)),A=(e,t)=>e.sort(t),M=(e,t)=>e.forEach(t),D=(e,t)=>e.map(t),x=e=>z(e,((e,t)=>e+t),0),F=e=>e.length,Q=e=>0==F(e),z=(e,t,s)=>e.reduce(t,s),N=(e,t,s)=>e.slice(t,s),O=(e,...t)=>e.push(...t),j=e=>e.pop(),P=e=>e.shift(),W=e=>JSON.stringify(e,((e,t)=>G(t,Map)?z([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),B=JSON.parse,H=Math.max,$=Math.min,q=isFinite,G=(e,t)=>e instanceof t,K=e=>null==e,U=(e,t,s)=>K(e)?s?.():t(e),X=e=>e==o||e==a,Y=e=>s(e)==i,Z=e=>Array.isArray(e),_=()=>{},ee=e=>e.size,te=(e,t)=>e?.has(t)??!1,se=e=>K(e)||0==ee(e),ne=e=>[...e?.values()??[]],oe=e=>e.clear(),ae=(e,t)=>e?.forEach(t),re=(e,t)=>e?.delete(t),ie=e=>new Map(e),le=e=>[...e?.keys()??[]],ce=(e,t)=>e?.get(t),de=(e,t)=>ae(e,((e,s)=>t(s,e))),ue=(e,t,s)=>K(s)?(re(e,t),e):e?.set(t,s),he=(e,t,s)=>(te(e,t)||ue(e,t,s()),ce(e,t)),ge=(e,t,s)=>{const n={},o=t??(e=>e);return ae(e,((e,t)=>U(o(e),(e=>s?.(e)?0:n[t]=e)))),n},fe=(e,t)=>{const s=ie(),n=t??(e=>e);return ae(e,((e,t)=>s.set(t,n(e)))),s},Le=e=>fe(e,fe),we=(e,t,s,n,o=0)=>U((s?he:ce)(e,t[o],o>F(t)-2?s:ie),(a=>{if(o>F(t)-2)return n?.(a)&&ue(e,t[o]),a;const r=we(a,t,s,n,o+1);return se(a)&&ue(e,t[o]),r})),ve=e=>{const t=s(e);return X(t)||t==r&&q(e)?t:void 0},Se=(e,t,s,n,o)=>K(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),Re=(e,t,s)=>K(s)?e.delValue(t):e.setValue(t,s),Ie=e=>new Set(Z(e)||K(e)?e:[e]),Te=(e,t)=>e?.add(t),ye=(e,t,s)=>{const n=e.hasRow,o=ie(),a=ie(),r=ie(),i=ie(),l=ie(),c=(t,s,...n)=>{const o=he(l,t,Ie);return M(n,(t=>Te(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>U(ce(l,t),(n=>{M(Q(s)?ne(n):s,(t=>{e.delListener(t),re(n,t)})),se(n)&&ue(l,t)})),u=(e,s)=>{ue(o,e,s),te(a,e)||(ue(a,e,t()),ue(r,e,ie()),ue(i,e,ie()))},h=e=>{ue(o,e),ue(a,e),ue(r,e),ue(i,e),d(e)};return[()=>e,()=>le(o),e=>de(a,e),e=>te(a,e),e=>ce(o,e),e=>ce(a,e),(e,t)=>ue(a,e,t),u,(t,o,a,l,h)=>{u(t,o);const g=ie(),f=ie(),L=ce(r,t),w=ce(i,t),v=t=>{const a=s=>e.getCell(o,t,s),r=ce(L,t),i=n(o,t)?s(l(a,t)):void 0;if(r===i||Z(r)&&Z(i)&&k(r,i)||ue(g,t,[r,i]),!K(h)){const e=ce(w,t),s=n(o,t)?h(a,t):void 0;e!=s&&ue(f,t,s)}},S=e=>{a((()=>{ae(g,(([,e],t)=>ue(L,t,e))),ae(f,((e,t)=>ue(w,t,e)))}),g,f,L,w,e),oe(g),oe(f)};de(L,v),e.hasTable(o)&&M(e.getRowIds(o),(e=>{te(L,e)||v(e)})),S(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>v(s))),e.addTableListener(o,(()=>S())))},h,()=>de(l,h),c,d]},pe=(e,t)=>s(e)==o?t=>t(e):e??(()=>t??n),be=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},me=/^\d+$/,Ce=()=>{const e=[];let t=0;return[s=>(s?P(e):null)??n+t++,t=>{me.test(t)&&F(e)<1e3&&O(e,t)}]},Ve=e=>{let t;const[s,o]=Ce(),a=ie();return[(o,r,i,l=[],c=(()=>[]))=>{t??=e();const d=s(1);return ue(a,d,[o,r,i,l,c]),Te(we(r,i??[n],Ie),d),d},(e,s,...o)=>M(((e,t=[n])=>{const s=[],o=(e,n)=>n==F(t)?O(s,e):null===t[n]?ae(e,(e=>o(e,n+1))):M([t[n],null],(t=>o(ce(e,t),n+1)));return o(e,0),s})(e,s),(e=>ae(e,(e=>ce(a,e)[0](t,...s??[],...o))))),e=>U(ce(a,e),(([,t,s])=>(we(t,s??[n],void 0,(t=>(re(t,e),se(t)?1:0))),ue(a,e),o(e),s))),e=>U(ce(a,e),(([e,,s=[],n,o])=>{const a=(...r)=>{const i=F(r);i==F(s)?e(t,...r,...o(r)):K(s[i])?M(n[i]?.(...r)??[],(e=>a(...r,e))):a(...r,s[i])};a()}))]},Ee=Object,ke=Ee.keys,Je=Ee.isFrozen,Ae=Ee.freeze,Me=e=>G(e,Ee)&&e.constructor==Ee,De=(e,t)=>!K(((e,t)=>U(e,(e=>e[t])))(e,t)),xe=(e,t)=>delete e[t],Fe=(e,t)=>D(Ee.entries(e),(([e,s])=>t(s,e))),Qe=e=>Me(e)&&Q(ke(e)),ze=be((e=>{let t,s,o,a=100,r=ie(),i=ie(),l=1;const c=ie(),d=ie(),[u,h,g]=Ve((()=>z)),f=ie(),L=ie(),w=[],v=[],S=(t,s)=>{l=0,e.transaction((()=>{const[n,o]=ce(f,s);ae(n,((s,n)=>ae(s,((s,o)=>ae(s,((s,a)=>Se(e,n,o,a,s[t]))))))),ae(o,((s,n)=>Re(e,n,s[t])))})),l=1},R=e=>{ue(f,e),ue(L,e),h(d,[e])},I=(e,t)=>M(((e,t)=>e.splice(0,t))(e,t??F(e)),R),T=()=>I(w,F(w)-a),y=()=>U(t,(()=>{O(w,t),T(),I(v),t=void 0,o=1})),p=()=>{t=j(w),o=1},b=e.addCellListener(null,null,null,((e,t,s,n,o,a)=>{if(l){y();const e=he(r,t,ie),i=he(e,s,ie),l=he(i,n,(()=>[a,void 0]));l[1]=o,l[0]===o&&se(ue(i,n))&&se(ue(e,s))&&se(ue(r,t))&&p(),J()}})),m=e.addValueListener(null,((e,t,s,n)=>{if(l){y();const e=he(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&se(ue(i,t))&&p(),J()}})),C=(e="")=>(K(t)&&(t=n+s++,ue(f,t,[r,i]),D(t,e),r=ie(),i=ie(),o=1),t),E=()=>{Q(w)||(((e,...t)=>{e.unshift(...t)})(v,C()),S(0,t),t=j(w),o=1)},k=()=>{Q(v)||(O(w,t),t=P(v),S(1,t),o=1)},J=()=>{o&&(h(c),o=0)},A=e=>{const t=C(e);return J(),t},D=(e,t)=>(x(e)&&ce(L,e)!==t&&(ue(L,e,t),h(d,[e])),z),x=e=>te(f,e),z={setSize:e=>(a=e,T(),z),addCheckpoint:A,setCheckpoint:D,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...v]],forEachCheckpoint:e=>de(L,e),hasCheckpoint:x,getCheckpoint:e=>ce(L,e),goBackward:()=>(E(),J(),z),goForward:()=>(k(),J(),z),goTo:e=>{const s=V(w,e)?E:V(v,e)?k:null;for(;!K(s)&&e!=t;)s();return J(),z},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),z),clear:()=>(I(w),I(v),K(t)||R(t),t=void 0,s=0,A(),z),destroy:()=>{e.delListener(b),e.delListener(m)},getListenerStats:()=>({})};return Ae(z.clear())})),Ne=(e,t)=>e<t?-1:1,Oe=be((e=>{const t=ie(),s=ie(),[o,a,r,i,l,c,d,,u,h,g]=ye(e,ie,(e=>K(e)?n:Z(e)?D(e,C):C(e))),[f,L,w]=Ve((()=>S)),v=(t,s,n)=>{const o=l(t);ae(n,((t,n)=>s(n,(s=>ae(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},S={setIndexDefinition:(e,n,o,a,r,i=Ne)=>{const l=K(r)?void 0:([e],[t])=>r(e,t);return u(e,n,((n,o,r,u,h,g)=>{let f=0;const w=Ie(),v=Ie(),S=c(e);if(ae(o,(([e,t],s)=>{const n=Ie(e),o=Ie(t);ae(n,(e=>re(o,e)?re(n,e):0)),ae(n,(e=>{Te(w,e),U(ce(S,e),(t=>{re(t,s),se(t)&&(ue(S,e),f=1)}))})),ae(o,(e=>{Te(w,e),te(S,e)||(ue(S,e,Ie()),f=1),Te(ce(S,e),s),K(a)||Te(v,e)}))})),n(),se(h)||(g?de(S,(e=>Te(v,e))):de(r,(e=>U(ce(u,e),(e=>Te(v,e))))),ae(v,(e=>{const t=(t,s)=>i(ce(h,t),ce(h,s),e),s=[...ce(S,e)];J(s,t)||(ue(S,e,Ie(A(s,t))),Te(w,e))}))),(f||g)&&!K(l)){const t=[...S];J(t,l)||(d(e,ie(A(t,l))),f=1)}f&&L(t,[e]),ae(w,(t=>L(s,[e,t])))}),pe(o),U(a,pe)),S},delIndexDefinition:e=>(h(e),S),getStore:o,getIndexIds:a,forEachIndex:e=>r(((t,s)=>e(t,(e=>v(t,e,s))))),forEachSlice:(e,t)=>v(e,t,c(e)),hasIndex:i,hasSlice:(e,t)=>te(c(e),t),getTableId:l,getSliceIds:e=>le(c(e)),getSliceRowIds:(e,t)=>ne(ce(c(e),t)),addSliceIdsListener:(e,s)=>f(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>f(n,s,[e,t]),delListener:e=>(w(e),S),destroy:g,getListenerStats:()=>({})};return Ae(S)})),je=ie([["avg",[(e,t)=>x(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=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:H(t,e)]],["min",[e=>$(...e),(e,t)=>$(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:$(t,e)]],["sum",[e=>x(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Pe=(e,t,s,n,o,a=!1)=>{if(se(s))return;const[r,i,l,c]=o;return a||=K(e),ae(n,(([s,n])=>{a||(e=K(s)?i?.(e,n,t++):K(n)?l?.(e,s,t--):c?.(e,n,s,t),a||=K(e))})),a?r(ne(s),ee(s)):e},We=be((e=>{const t=ie(),[s,o,a,r,i,l,c,,d,u,h]=ye(e,_,(e=>isNaN(e)||K(e)||!0===e||!1===e||e===n?void 0:1*e)),[g,f,L]=Ve((()=>w)),w={setMetricDefinition:(e,s,n,o,a,r,i)=>{const u=Y(n)?[n,a,r,i]:ce(je,n)??ce(je,"sum");return d(e,s,((s,n,o,a,r,i)=>{const d=l(e),h=ee(a);i||=K(d),s();let g=Pe(d,h,a,n,u,i);q(g)||(g=void 0),g!=d&&(c(e,g),f(t,[e],g,d))}),pe(o,1)),w},delMetricDefinition:e=>(u(e),w),getStore:s,getMetricIds:o,forEachMetric:a,hasMetric:r,getTableId:i,getMetric:l,addMetricListener:(e,s)=>g(s,t,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return Ae(w)})),Be=(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();K(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:()=>(U(r,e.delListener),U(i,e.delListener),c),getStore:()=>e,destroy:()=>c.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Ae(c)},He="storage",$e=globalThis.window,qe=(e,t,s)=>{let n;return Be(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},$e.addEventListener(He,n)}),(()=>{$e.removeEventListener(He,n),n=void 0}))},Ge=(e,t)=>qe(e,t,localStorage),Ke=(e,t)=>qe(e,t,sessionStorage),Ue=(s,n)=>{let o;return Be(s,(async()=>{try{return await e.readFile(n,d)}catch{}}),(async t=>{try{await e.writeFile(n,t,d)}catch{}}),(e=>{o=t(n,e)}),(()=>{o?.close(),o=void 0}))},Xe=e=>e.headers.get("ETag"),Ye=(e,t,s,n)=>{let o,a;return Be(e,(async()=>{const e=await fetch(t);return a=Xe(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=Xe(s);K(a)||K(n)||n==a||(a=n,e())}),1e3*n)}),(()=>{U(o,clearInterval),o=void 0}))},Ze=be((e=>{const t=e.createStore,[s,o,a,r,i,,,l,,c,d,f,w]=ye(e,(()=>!0),_),v=t(),p=t(),b=ie(),m=(e,t,...s)=>M(s,(s=>Te(he(he(b,t,ie),e,Ie),s))),C=e=>{U(ce(b,e),(e=>{de(e,((e,t)=>ae(t,(t=>e.delListener(t))))),oe(e)})),M([p,v],(t=>t.delTable(e)))},V=(e,t,s)=>m(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),k={setQueryDefinition:(t,s,o)=>{l(t,s),C(t);const a=[],r=[[null,[s,null,null,[],ie()]]],i=[],c=[],d=[];o({select:(e,t)=>{const s=Y(e)?[F(a)+n,e]:[K(t)?e:t,s=>s(e,t)];return O(a,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=K(s)||Y(t)?null:t,o=K(n)?t:s,a=[e,[e,n,Y(o)?o:e=>e(o),[],ie()]];return O(r,a),{as:e=>a[0]=e}},where:(e,t,s)=>O(i,Y(e)?e:K(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const a=[e,[e,Y(t)?[t,s,n,o]:ce(je,t)??[(e,t)=>t]]];return O(c,a),{as:e=>a[0]=e}},having:(e,t)=>O(d,Y(e)?e:s=>s(e)===t)});const u=ie(a);if(se(u))return k;const h=ie(r);de(h,((e,[,t])=>U(ce(h,t),(({3:t})=>K(e)?0:O(t,e)))));const g=ie(c);let L=v;if(se(g)&&Q(d))L=p;else{V(t,L,p);const e=ie();de(g,((t,[s,n])=>Te(he(e,s,Ie),[t,n])));const s=Ie();de(u,(t=>te(e,t)?0:Te(s,t)));const n=ie(),o=(s,n,o,a)=>U(s,(([r,i,l,c])=>{de(n,((t,[s])=>{const n=he(r,t,ie),i=ce(n,o),l=a?void 0:s;if(i!==l){const s=Ie([[i,l]]),a=ee(n);ue(n,o,l),ae(ce(e,t),(([e,t])=>{const o=Pe(c[e],a,n,s,t);c[e]=K(ve(o))?null:o}))}})),se(i)||!E(d,(e=>e((e=>c[e]))))?p.delRow(t,l):K(l)?s[2]=p.addRow(t,c):p.setRow(t,l,c)}));m(L,t,L.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=ie(),h=L.hasRow(t,i);let g=!h;ae(s,(e=>{const[s,n,o]=l(t,i,e);O(c,n),O(d,o),g||=s})),de(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&ue(u,e,[n])})),g&&o(we(n,c,void 0,(([,e])=>(re(e,i),se(e)))),u,i,1),h&&o(we(n,d,(()=>{const e={};return ae(s,(s=>e[s]=L.getCell(t,i,s))),[ie(),Ie(),void 0,e]}),(([,e])=>{Te(e,i)})),u,i)})))}V(t,e,L);const S=(n,o,a,r)=>{const l=t=>e.getCell(o,a,t);M(r,(s=>{const[o,,a,r,i]=ce(h,s),c=a?.(l,n),[d,u]=ce(i,n)??[];c!=d&&(K(u)||w(t,u),ue(i,n,K(c)?null:[c,...f(t,1,e.addRowListener(o,c,(()=>S(n,o,c,r))))]))})),(n=>{const o=(t,o)=>e.getCell(...K(o)?[s,n,t]:t===s?[s,n,o]:[ce(h,t)?.[0],ce(ce(h,t)?.[4],n)?.[0],o]);L.transaction((()=>E(i,(e=>e(o)))?de(u,((e,s)=>Se(L,t,n,e,s(o,n)))):L.delRow(t,n)))})(n)},{3:R}=ce(h,null);return L.transaction((()=>f(t,1,e.addRowListener(s,null,((n,o,a)=>{e.hasRow(s,a)?S(a,s,a,R):(L.delRow(t,a),ae(h,(({4:e})=>U(ce(e,a),(([,s])=>{w(t,s),ue(e,a)})))))}))))),k},delQueryDefinition:e=>(C(e),c(e),k),getStore:s,getQueryIds:o,forEachQuery:a,hasQuery:r,getTableId:i,delListener:e=>(p.delListener(e),k),destroy:d,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=p.getListenerStats();return n}};return Fe({[L]:[1,1],[R]:[0,1],[I]:[0,5],[S]:[1,2],[y]:[0,2],[T]:[1,3]},(([e,t],s)=>{M(e?["get","has","forEach"]:["get"],(e=>k[e+h+s]=(...t)=>p[e+s](...t))),k[g+h+s+u]=(...e)=>p[g+s+u](...N(e,0,t),((s,...n)=>e[t](k,...n)))})),Ae(k)})),_e=be((e=>{const t=ie(),s=ie(),o=ie(),a=ie(),[r,i,l,c,d,u,,,h,g,f]=ye(e,(()=>[ie(),ie(),ie(),ie()]),(e=>K(e)?void 0:e+n)),[L,w,v]=Ve((()=>T)),S=(e,t,s)=>U(u(e),(([n,,o])=>{if(!te(o,t)){const a=Ie();if(d(e)!=I(e))Te(a,t);else{let e=t;for(;!K(e)&&!te(a,e);)Te(a,e),e=ce(n,e)}if(s)return a;ue(o,t,a)}return ce(o,t)})),R=(e,t)=>U(u(e),(([,,e])=>ue(e,t))),I=e=>ce(t,e),T={setRelationshipDefinition:(e,n,r,i)=>(ue(t,e,r),h(e,n,((t,n)=>{const r=Ie(),i=Ie(),l=Ie(),[c,d]=u(e);ae(n,(([t,s],n)=>{K(t)||(Te(i,t),U(ce(d,t),(e=>{re(e,n),se(e)&&ue(d,t)}))),K(s)||(Te(i,s),te(d,s)||ue(d,s,Ie()),Te(ce(d,s),n)),Te(r,n),ue(c,n,s),de(ce(a,e),(t=>{te(S(e,t),n)&&Te(l,t)}))})),t(),ae(r,(t=>w(s,[e,t]))),ae(i,(t=>w(o,[e,t]))),ae(l,(t=>{R(e,t),w(a,[e,t])}))}),pe(i)),T),delRelationshipDefinition:e=>(ue(t,e),g(e),T),getStore:r,getRelationshipIds:i,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:I,getRemoteRowId:(e,t)=>ce(u(e)?.[0],t),getLocalRowIds:(e,t)=>ne(ce(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>K(u(e))?[t]:ne(S(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)=>(S(e,t),L(s,a,[e,t])),delListener:e=>(R(...v(e)),T),destroy:f,getListenerStats:()=>({})};return Ae(T)})),et=e=>[e,e],tt=()=>[ie(),ie()],st=(e,t,s,n=ue)=>(Fe(t,((t,n)=>s(e,n,t))),de(e,(s=>De(t,s)?0:n(e,s))),e),nt=(e,t,s)=>K(e)||!Me(e)||Qe(e)||Je(e)?(s?.(),!1):(Fe(e,((s,n)=>{t(s,n)||xe(e,n)})),!Qe(e)),ot=(e,t,s)=>ue(e,t,ce(e,t)==-s?void 0:s),at=()=>{let e,t,s,n,o=0;const a=ie(),i=ie(),d=ie(),h=ie(),f=ie(),I=ie(),E=ie(),J=ie(),x=ie(),F=ie(),Q=ie(),z=ie(),j=Ie(),P=ie(),H=ie(),$=ie(),q=tt(),G=tt(),Z=tt(),_=tt(),ee=tt(),ne=tt(),we=tt(),ye=tt(),pe=tt(),be=tt(),me=tt(),Ee=tt(),ke=tt(),Je=tt(),[Me,ze,Oe,je]=Ve((()=>ts)),Pe=e=>{if(!nt(e,((e,t)=>V([l,c],t))))return!1;const t=e[l];return!(!X(t)&&t!=r||(ve(e[c])!=t&&xe(e,c),0))},We=(t,s)=>(!e||te(x,s)||bt(s))&&nt(t,((e,t)=>Be(s,t,e)),(()=>bt(s))),Be=(e,t,s,n)=>nt(n?s:Ge(s,e,t),((n,o)=>U(He(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>bt(e,t))),He=(t,s,n,o)=>e?U(ce(ce(x,t),n),(e=>ve(o)!=e[l]?bt(t,s,n,o,e[c]):o),(()=>bt(t,s,n,o))):K(ve(o))?bt(t,s,n,o):o,$e=(e,t)=>nt(t?e:Ke(e),((t,s)=>U(qe(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>mt())),qe=(e,s)=>t?U(ce(Q,e),(t=>ve(s)!=t[l]?mt(e,s,t[c]):s),(()=>mt(e,s))):K(ve(s))?mt(e,s):s,Ge=(e,t,s)=>(U(ce(F,t),(([n,o])=>{ae(n,((t,s)=>{De(e,s)||(e[s]=t)})),ae(o,(n=>{De(e,n)||bt(t,s,n)}))})),e),Ke=e=>(t&&(ae(z,((t,s)=>{De(e,s)||(e[s]=t)})),ae(j,(t=>{De(e,t)||mt(t)}))),e),Ue=e=>st(x,e,((e,t,s)=>{const n=ie(),o=Ie();st(he(x,t,ie),s,((e,t,s)=>{ue(e,t,s),U(s[c],(e=>ue(n,t,e)),(()=>Te(o,t)))})),ue(F,t,[n,o])}),((e,t)=>{ue(x,t),ue(F,t)})),Xe=e=>st(Q,e,((e,t,s)=>{ue(Q,t,s),U(s[c],(e=>ue(z,t,e)),(()=>Te(j,t)))}),((e,t)=>{ue(Q,t),ue(z,t),re(j,t)})),Ye=e=>Qe(e)?Kt():Bt(e),Ze=e=>st(H,e,((e,t,s)=>_e(t,s)),((e,t)=>ft(t))),_e=(e,t)=>st(he(H,e,(()=>(St(e,1),ie()))),t,((t,s,n)=>rt(e,t,s,n)),((t,s)=>Lt(e,t,s))),rt=(e,t,s,n,o)=>st(he(t,s,(()=>(Rt(e,s,1),ie()))),n,((t,n,o)=>it(e,s,t,n,o)),((n,a)=>wt(e,t,s,n,a,o))),it=(e,t,s,n,o)=>{te(s,n)||It(e,t,n,1);const a=ce(s,n);o!==a&&(Tt(e,t,n,a,o),ue(s,n,o))},lt=(e,t,s,n,o)=>U(ce(t,s),(t=>it(e,s,t,n,o)),(()=>rt(e,t,s,Ge({[n]:o},e,s)))),ct=e=>Qe(e)?Ut():Ht(e),dt=e=>st($,e,((e,t,s)=>ut(t,s)),((e,t)=>vt(t))),ut=(e,t)=>{te($,e)||yt(e,1);const s=ce($,e);t!==s&&(pt(e,s,t),ue($,e,t))},ht=(e,t)=>{const[s]=he(P,e,Ce),n=s(t);return te(ce(H,e),n)?ht(e,t):n},gt=e=>ce(H,e)??_e(e,{}),ft=e=>_e(e,{}),Lt=(e,t,s)=>{const[,n]=he(P,e,Ce);n(s),rt(e,t,s,{},!0)},wt=(e,t,s,n,o,a)=>{const r=ce(ce(F,e)?.[0],o);if(!K(r)&&!a)return it(e,s,n,o,r);const i=t=>{Tt(e,s,t,ce(n,t)),It(e,s,t,-1),ue(n,t)};K(r)?i(o):de(n,i),se(n)&&(Rt(e,s,-1),se(ue(t,s))&&(St(e,-1),ue(H,e),ue(P,e)))},vt=e=>{const t=ce(z,e);if(!K(t))return ut(e,t);pt(e,ce($,e)),yt(e,-1),ue($,e)},St=(e,t)=>ot(a,e,t),Rt=(e,t,s)=>ot(he(i,e,ie),t,s),It=(e,t,s,n)=>ot(he(he(d,e,ie),t,ie),s,n),Tt=(e,t,s,n,o)=>he(he(he(h,e,ie),t,ie),s,(()=>[n,0]))[1]=o,yt=(e,t)=>ot(f,e,t),pt=(e,t,s)=>he(I,e,(()=>[t,0]))[1]=s,bt=(e,t,s,n,o)=>(O(he(he(he(E,e,ie),t,ie),s,(()=>[])),n),o),mt=(e,t,s)=>(O(he(J,e,(()=>[])),t),s),Ct=(e,t,s)=>U(ce(ce(ce(h,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...et(Ot(e,t,s))])),Vt=e=>U(ce(I,e),(([e,t])=>[!0,e,t]),(()=>[!1,...et(Wt(e))])),Et=e=>se(E)||se(pe[e])?0:ae(e?fe(E,Le):E,((t,s)=>ae(t,((t,n)=>ae(t,((t,o)=>ze(pe[e],[s,n,o],t))))))),kt=e=>se(J)||se(be[e])?0:ae(e?fe(J):J,((t,s)=>ze(be[e],[s],t))),Jt=(e,t,s)=>{if(!se(t))return ze(e,s),1},At=e=>{const t=se(ee[e]),s=se(we[e])&&se(_[e])&&t&&se(G[e]),n=se(ye[e])&&se(ne[e])&&se(Z[e])&&se(q[e]);if(!s||!n){const o=e?[fe(a),Le(i),fe(d,Le),fe(h,Le)]:[a,i,d,h];if(!s){ae(o[2],((t,s)=>ae(t,((t,n)=>Jt(we[e],t,[s,n])))));const s=Ie();ae(o[1],((n,o)=>{Jt(_[e],n,[o])&&!t&&(ze(ee[e],[o,null]),Te(s,o))})),t||ae(o[3],((t,n)=>{if(!te(s,n)){const s=Ie();ae(t,(e=>ae(e,(([t,n],o)=>n!==t?Te(s,o):re(e,o))))),ae(s,(t=>ze(ee[e],[n,t])))}})),Jt(G[e],o[0])}if(!n){let t;ae(o[3],((s,n)=>{let o;ae(s,((s,a)=>{let r;ae(s,(([s,i],l)=>{i!==s&&(ze(ye[e],[n,a,l],i,s,Ct),t=o=r=1)})),r&&ze(ne[e],[n,a],Ct)})),o&&ze(Z[e],[n],Ct)})),t&&ze(q[e],void 0,Ct)}}},Mt=e=>{const t=se(Ee[e]),s=se(ke[e])&&se(me[e]);if(!t||!s){const n=e?[fe(f),fe(I)]:[f,I];if(t||Jt(Ee[e],n[0]),!s){let t;ae(n[1],(([s,n],o)=>{n!==s&&(ze(ke[e],[o],n,s,Vt),t=1)})),t&&ze(me[e],void 0,Vt)}}},Dt=(e,...t)=>(Zt((()=>e(...D(t,C)))),ts),xt=()=>ge(H,(e=>ge(e,ge))),Ft=()=>le(H),Qt=e=>le(ce(H,C(e))),zt=(e,t,s,n=0,o)=>{return D(N(A((a=ce(H,C(e)),r=(e,s)=>[K(t)?s:ce(e,C(t)),s],D([...a?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Ne(e,t)*(s?-1:1))),n,K(o)?o:n+o),(([,e])=>e));var a,r},Nt=(e,t)=>le(ce(ce(H,C(e)),C(t))),Ot=(e,t,s)=>ce(ce(ce(H,C(e)),C(t)),C(s)),jt=()=>ge($),Pt=()=>le($),Wt=e=>ce($,C(e)),Bt=e=>Dt((()=>(e=>nt(e,We,bt))(e)?Ze(e):0)),Ht=e=>Dt((()=>$e(e)?dt(e):0)),$t=e=>{try{Ye(B(e))}catch{}return ts},qt=t=>Dt((()=>{if((e=nt(t,(e=>nt(e,Pe))))&&(Ue(t),!se(H))){const e=xt();Kt(),Bt(e)}})),Gt=e=>Dt((()=>{if(t=(e=>nt(e,Pe))(e)){const s=jt();Yt(),Ut(),t=!0,Xe(e),Ht(s)}})),Kt=()=>Dt((()=>Ze({}))),Ut=()=>Dt((()=>dt({}))),Xt=()=>Dt((()=>{Ue({}),e=!1})),Yt=()=>Dt((()=>{Xe({}),t=!1})),Zt=(e,t)=>{if(-1==o)return;_t();const s=e();return es(t),s},_t=()=>(o++,ts),es=e=>(o>0&&(o--,0==o&&(s=!se(h),n=!se(I),o=1,Et(1),s&&At(1),kt(1),n&&Mt(1),o=-1,e?.(ge(h,(e=>ge(e,(e=>ge(e,(e=>[...e]),(([e,t])=>e===t))),Qe)),Qe),ge(E,(e=>ge(e,ge))),ge(I,(e=>[...e]),(([e,t])=>e===t)),ge(J))&&(o=1,ae(h,((e,t)=>ae(e,((e,s)=>ae(e,(([e],n)=>Se(ts,t,s,n,e))))))),ae(I,(([e],t)=>Re(ts,t,e))),o=-1,s=n=!1),ze(Je[0],void 0,s,n),Et(0),s&&At(0),kt(0),n&&Mt(0),ze(Je[1],void 0,s,n),o=0,M([a,i,d,h,E,f,I,J],oe))),ts),ts={getTables:xt,getTableIds:Ft,getTable:e=>ge(ce(H,C(e)),ge),getRowIds:Qt,getSortedRowIds:zt,getRow:(e,t)=>ge(ce(ce(H,C(e)),C(t))),getCellIds:Nt,getCell:Ot,getValues:jt,getValueIds:Pt,getValue:Wt,hasTables:()=>!se(H),hasTable:e=>te(H,C(e)),hasRow:(e,t)=>te(ce(H,C(e)),C(t)),hasCell:(e,t,s)=>te(ce(ce(H,C(e)),C(t)),C(s)),hasValues:()=>!se($),hasValue:e=>te($,C(e)),getTablesJson:()=>W(H),getValuesJson:()=>W($),getJson:()=>W([H,$]),getTablesSchemaJson:()=>W(x),getValuesSchemaJson:()=>W(Q),getSchemaJson:()=>W([x,Q]),setTables:Bt,setTable:(e,t)=>Dt((e=>We(t,e)?_e(e,t):0),e),setRow:(e,t,s)=>Dt(((e,t)=>Be(e,t,s)?rt(e,gt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Zt((()=>{let n;return Be(e,n,t)&&(e=C(e),rt(e,gt(e),n=ht(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Dt(((e,t)=>{if(Be(e,t,s,1)){const n=gt(e);Fe(s,((s,o)=>lt(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Dt(((e,t,s)=>U(He(e,t,s,Y(n)?n(Ot(e,t,s)):n),(n=>lt(e,gt(e),t,s,n)))),e,t,s),setValues:Ht,setPartialValues:e=>Dt((()=>$e(e,1)?Fe(e,((e,t)=>ut(t,e))):0)),setValue:(e,t)=>Dt((e=>U(qe(e,Y(t)?t(Wt(e)):t),(t=>ut(e,t)))),e),setTablesJson:$t,setValuesJson:e=>{try{ct(B(e))}catch{}return ts},setJson:e=>{try{const[t,s]=B(e);Ye(t),ct(s)}catch{$t(e)}return ts},setTablesSchema:qt,setValuesSchema:Gt,setSchema:(e,t)=>Dt((()=>{qt(e),Gt(t)})),delTables:Kt,delTable:e=>Dt((e=>te(H,e)?ft(e):0),e),delRow:(e,t)=>Dt(((e,t)=>U(ce(H,e),(s=>te(s,t)?Lt(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Dt(((e,t,s)=>U(ce(H,e),(o=>U(ce(o,t),(a=>te(a,s)?wt(e,o,t,a,s,n):0))))),e,t,s),delValues:Ut,delValue:e=>Dt((e=>te($,e)?vt(e):0),e),delTablesSchema:Xt,delValuesSchema:Yt,delSchema:()=>Dt((()=>{Xt(),Yt()})),transaction:Zt,startTransaction:_t,finishTransaction:es,forEachTable:e=>ae(H,((t,s)=>e(s,(e=>ae(t,((t,s)=>e(s,(e=>de(t,e))))))))),forEachRow:(e,t)=>ae(ce(H,C(e)),((e,s)=>t(s,(t=>de(e,t))))),forEachCell:(e,t,s)=>de(ce(ce(H,C(e)),C(t)),s),forEachValue:e=>de($,e),addSortedRowIdsListener:(e,t,s,n,o,a,r)=>{let i=zt(e,t,s,n,o);return Me((()=>{const r=zt(e,t,s,n,o);k(r,i)||(i=r,a(ts,e,t,s,n,o,i))}),ee[r?1:0],[e,t],[Ft])},addWillFinishTransactionListener:e=>Me(e,Je[0]),addDidFinishTransactionListener:e=>Me(e,Je[1]),callListener:e=>(je(e),ts),delListener:e=>(Oe(e),ts),getListenerStats:()=>({}),createStore:at};return Fe({[w]:[0,q],[v]:[0,G],[L]:[1,Z,[Ft]],[R]:[1,_,[Ft]],[S]:[2,ne,[Ft,Qt]],[y]:[2,we,[Ft,Qt]],[T]:[3,ye,[Ft,Qt,Nt],e=>et(Ot(...e))],InvalidCell:[3,pe],[b]:[0,me],[m]:[0,Ee],[p]:[1,ke,[Pt],e=>et(Wt(e[0]))],InvalidValue:[1,be]},(([e,t,s,n],o)=>{ts[g+o+u]=(...o)=>Me(o[e],t[o[e+1]?1:0],e>0?N(o,0,e):void 0,s,n)})),Ae(ts)};export{ze as createCheckpoints,Be as createCustomPersister,Ue as createFilePersister,Oe as createIndexes,Ge as createLocalPersister,We as createMetrics,Ze as createQueries,_e as createRelationships,Ye as createRemotePersister,Ke as createSessionPersister,at as createStore,Ne as defaultSorter};
|
package/lib/tinybase.js.gz
CHANGED
|
Binary file
|
package/lib/umd/persisters.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t){"use strict";const s="utf8",a=e=>null==e,o=(e,t,s)=>a(e)?s?.():t(e),r=Object.freeze,n=(e,t,s,n,i)=>{let c,d,l=0;const u={load:async(s,o)=>{if(2!=l){l=1;const r=await t();a(r)||""==r?e.transaction((()=>e.setTables(s).setValues(o))):e.setJson(r),l=0}return u},startAutoLoad:async(e,t)=>(u.stopAutoLoad(),await u.load(e,t),n(u.load),u),stopAutoLoad:()=>(i(),u),save:async()=>(1!=l&&(l=2,await s(e.getJson()),l=0),u),startAutoSave:async()=>(await u.stopAutoSave().save(),c=e.addTablesListener(u.save),d=e.addValuesListener(u.save),u),stopAutoSave:()=>(o(c,e.delListener),o(d,e.delListener),u),getStore:()=>e,destroy:()=>u.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(u)},i="storage",c=globalThis.window,d=(e,t,s)=>{let a;return n(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{a=a=>{a.storageArea===s&&a.key===t&&e()},c.addEventListener(i,a)}),(()=>{c.removeEventListener(i,a),a=void 0}))},l=e=>e.headers.get("ETag");e.createCustomPersister=n,e.createFilePersister=(e,a)=>{let o;return n(e,(async()=>{try{return await t.promises.readFile(a,s)}catch{}}),(async e=>{try{await t.promises.writeFile(a,e,s)}catch{}}),(e=>{o=t.watch(a,e)}),(()=>{o?.close(),o=void 0}))},e.createLocalPersister=(e,t)=>d(e,t,localStorage),e.createRemotePersister=(e,t,s,r)=>{let i,c;return n(e,(async()=>{const e=await fetch(t);return c=l(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{i=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),o=l(s);a(c)||a(o)||o==c||(c=o,e())}),1e3*r)}),(()=>{o(i,clearInterval),i=void 0}))},e.createSessionPersister=(e,t)=>d(e,t,sessionStorage)},"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).TinyBasePersisters={},e.fs);
|
|
1
|
+
var e,t;e=this,t=function(e,t){"use strict";const s="utf8",a=e=>null==e,o=(e,t,s)=>a(e)?s?.():t(e),r=Object.freeze,n=(e,t,s,n,i)=>{let c,d,l=0;const u={load:async(s={},o={})=>{if(2!=l){l=1;const r=await t();a(r)||""==r?e.transaction((()=>e.setTables(s).setValues(o))):e.setJson(r),l=0}return u},startAutoLoad:async(e={},t={})=>(u.stopAutoLoad(),await u.load(e,t),n(u.load),u),stopAutoLoad:()=>(i(),u),save:async()=>(1!=l&&(l=2,await s(e.getJson()),l=0),u),startAutoSave:async()=>(await u.stopAutoSave().save(),c=e.addTablesListener(u.save),d=e.addValuesListener(u.save),u),stopAutoSave:()=>(o(c,e.delListener),o(d,e.delListener),u),getStore:()=>e,destroy:()=>u.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(u)},i="storage",c=globalThis.window,d=(e,t,s)=>{let a;return n(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{a=a=>{a.storageArea===s&&a.key===t&&e()},c.addEventListener(i,a)}),(()=>{c.removeEventListener(i,a),a=void 0}))},l=e=>e.headers.get("ETag");e.createCustomPersister=n,e.createFilePersister=(e,a)=>{let o;return n(e,(async()=>{try{return await t.promises.readFile(a,s)}catch{}}),(async e=>{try{await t.promises.writeFile(a,e,s)}catch{}}),(e=>{o=t.watch(a,e)}),(()=>{o?.close(),o=void 0}))},e.createLocalPersister=(e,t)=>d(e,t,localStorage),e.createRemotePersister=(e,t,s,r)=>{let i,c;return n(e,(async()=>{const e=await fetch(t);return c=l(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{i=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),o=l(s);a(c)||a(o)||o==c||(c=o,e())}),1e3*r)}),(()=>{o(i,clearInterval),i=void 0}))},e.createSessionPersister=(e,t)=>d(e,t,sessionStorage)},"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).TinyBasePersisters={},e.fs);
|
package/lib/umd/persisters.js.gz
CHANGED
|
Binary file
|
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="type",c="default",d="utf8",u="Listener",h="Result",f="add",g="Ids",L="Table",w=L+"s",v=L+g,S="Row",p=S+g,R="Sorted"+S+g,y="Cell",I=y+g,T="Value",b=T+"s",m=T+g,C=e=>n+e,V=(e,t)=>e.includes(t),E=(e,t)=>e.every(t),k=(e,t)=>F(e)===F(t)&&E(e,((e,s)=>t[s]===e)),J=(e,t)=>E(e,((s,n)=>0==n||t(e[n-1],s)<=0)),M=(e,t)=>e.sort(t),x=(e,t)=>e.forEach(t),A=(e,t)=>e.map(t),D=e=>Q(e,((e,t)=>e+t),0),F=e=>e.length,P=e=>0==F(e),Q=(e,t,s)=>e.reduce(t,s),j=(e,t,s)=>e.slice(t,s),z=(e,...t)=>e.push(...t),N=e=>e.pop(),O=e=>e.shift(),W=e=>JSON.stringify(e,((e,t)=>G(t,Map)?Q([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),B=JSON.parse,q=Math.max,H=Math.min,$=isFinite,G=(e,t)=>e instanceof t,K=e=>null==e,U=(e,t,s)=>K(e)?s?.():t(e),X=e=>e==o||e==r,Y=e=>s(e)==i,Z=e=>Array.isArray(e),_=()=>{},ee=e=>e.size,te=(e,t)=>e?.has(t)??!1,se=e=>K(e)||0==ee(e),ne=e=>[...e?.values()??[]],oe=e=>e.clear(),re=(e,t)=>e?.forEach(t),ae=(e,t)=>e?.delete(t),ie=e=>new Map(e),le=e=>[...e?.keys()??[]],ce=(e,t)=>e?.get(t),de=(e,t)=>re(e,((e,s)=>t(s,e))),ue=(e,t,s)=>K(s)?(ae(e,t),e):e?.set(t,s),he=(e,t,s)=>(te(e,t)||ue(e,t,s()),ce(e,t)),fe=(e,t,s)=>{const n={},o=t??(e=>e);return re(e,((e,t)=>U(o(e),(e=>s?.(e)?0:n[t]=e)))),n},ge=(e,t)=>{const s=ie(),n=t??(e=>e);return re(e,((e,t)=>s.set(t,n(e)))),s},Le=e=>ge(e,ge),we=(e,t,s,n,o=0)=>U((s?he:ce)(e,t[o],o>F(t)-2?s:ie),(r=>{if(o>F(t)-2)return n?.(r)&&ue(e,t[o]),r;const a=we(r,t,s,n,o+1);return se(r)&&ue(e,t[o]),a})),ve=e=>{const t=s(e);return X(t)||t==a&&$(e)?t:void 0},Se=(e,t,s,n,o)=>K(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),pe=(e,t,s)=>K(s)?e.delValue(t):e.setValue(t,s),Re=e=>new Set(Z(e)||K(e)?e:[e]),ye=(e,t)=>e?.add(t),Ie=(e,t,s)=>{const n=e.hasRow,o=ie(),r=ie(),a=ie(),i=ie(),l=ie(),c=(t,s,...n)=>{const o=he(l,t,Re);return x(n,(t=>ye(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>U(ce(l,t),(n=>{x(P(s)?ne(n):s,(t=>{e.delListener(t),ae(n,t)})),se(n)&&ue(l,t)})),u=(e,s)=>{ue(o,e,s),te(r,e)||(ue(r,e,t()),ue(a,e,ie()),ue(i,e,ie()))},h=e=>{ue(o,e),ue(r,e),ue(a,e),ue(i,e),d(e)};return[()=>e,()=>le(o),e=>de(r,e),e=>te(r,e),e=>ce(o,e),e=>ce(r,e),(e,t)=>ue(r,e,t),u,(t,o,r,l,h)=>{u(t,o);const f=ie(),g=ie(),L=ce(a,t),w=ce(i,t),v=t=>{const r=s=>e.getCell(o,t,s),a=ce(L,t),i=n(o,t)?s(l(r,t)):void 0;if(a===i||Z(a)&&Z(i)&&k(a,i)||ue(f,t,[a,i]),!K(h)){const e=ce(w,t),s=n(o,t)?h(r,t):void 0;e!=s&&ue(g,t,s)}},S=e=>{r((()=>{re(f,(([,e],t)=>ue(L,t,e))),re(g,((e,t)=>ue(w,t,e)))}),f,g,L,w,e),oe(f),oe(g)};de(L,v),e.hasTable(o)&&x(e.getRowIds(o),(e=>{te(L,e)||v(e)})),S(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>v(s))),e.addTableListener(o,(()=>S())))},h,()=>de(l,h),c,d]},Te=(e,t)=>s(e)==o?t=>t(e):e??(()=>t??n),be=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},me=/^\d+$/,Ce=()=>{const e=[];let t=0;return[s=>(s?O(e):null)??n+t++,t=>{me.test(t)&&F(e)<1e3&&z(e,t)}]},Ve=e=>{let t;const[s,o]=Ce(),r=ie();return[(o,a,i,l=[],c=(()=>[]))=>{t??=e();const d=s(1);return ue(r,d,[o,a,i,l,c]),ye(we(a,i??[n],Re),d),d},(e,s,...o)=>x(((e,t=[n])=>{const s=[],o=(e,n)=>n==F(t)?z(s,e):null===t[n]?re(e,(e=>o(e,n+1))):x([t[n],null],(t=>o(ce(e,t),n+1)));return o(e,0),s})(e,s),(e=>re(e,(e=>ce(r,e)[0](t,...s??[],...o))))),e=>U(ce(r,e),(([,t,s])=>(we(t,s??[n],void 0,(t=>(ae(t,e),se(t)?1:0))),ue(r,e),o(e),s))),e=>U(ce(r,e),(([e,,s=[],n,o])=>{const r=(...a)=>{const i=F(a);i==F(s)?e(t,...a,...o(a)):K(s[i])?x(n[i]?.(...a)??[],(e=>r(...a,e))):r(...a,s[i])};r()}))]},Ee=Object,ke=Ee.keys,Je=Ee.isFrozen,Me=Ee.freeze,xe=e=>G(e,Ee)&&e.constructor==Ee,Ae=(e,t)=>!K(((e,t)=>U(e,(e=>e[t])))(e,t)),De=(e,t)=>delete e[t],Fe=(e,t)=>A(Ee.entries(e),(([e,s])=>t(s,e))),Pe=e=>xe(e)&&P(ke(e)),Qe=be((e=>{let t,s,o,r=100,a=ie(),i=ie(),l=1;const c=ie(),d=ie(),[u,h,f]=Ve((()=>Q)),g=ie(),L=ie(),w=[],v=[],S=(t,s)=>{l=0,e.transaction((()=>{const[n,o]=ce(g,s);re(n,((s,n)=>re(s,((s,o)=>re(s,((s,r)=>Se(e,n,o,r,s[t]))))))),re(o,((s,n)=>pe(e,n,s[t])))})),l=1},p=e=>{ue(g,e),ue(L,e),h(d,[e])},R=(e,t)=>x(((e,t)=>e.splice(0,t))(e,t??F(e)),p),y=()=>R(w,F(w)-r),I=()=>U(t,(()=>{z(w,t),y(),R(v),t=void 0,o=1})),T=()=>{t=N(w),o=1},b=e.addCellListener(null,null,null,((e,t,s,n,o,r)=>{if(l){I();const e=he(a,t,ie),i=he(e,s,ie),l=he(i,n,(()=>[r,void 0]));l[1]=o,l[0]===o&&se(ue(i,n))&&se(ue(e,s))&&se(ue(a,t))&&T(),J()}})),m=e.addValueListener(null,((e,t,s,n)=>{if(l){I();const e=he(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&se(ue(i,t))&&T(),J()}})),C=(e="")=>(K(t)&&(t=n+s++,ue(g,t,[a,i]),A(t,e),a=ie(),i=ie(),o=1),t),E=()=>{P(w)||(((e,...t)=>{e.unshift(...t)})(v,C()),S(0,t),t=N(w),o=1)},k=()=>{P(v)||(z(w,t),t=O(v),S(1,t),o=1)},J=()=>{o&&(h(c),o=0)},M=e=>{const t=C(e);return J(),t},A=(e,t)=>(D(e)&&ce(L,e)!==t&&(ue(L,e,t),h(d,[e])),Q),D=e=>te(g,e),Q={setSize:e=>(r=e,y(),Q),addCheckpoint:M,setCheckpoint:A,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...v]],forEachCheckpoint:e=>de(L,e),hasCheckpoint:D,getCheckpoint:e=>ce(L,e),goBackward:()=>(E(),J(),Q),goForward:()=>(k(),J(),Q),goTo:e=>{const s=V(w,e)?E:V(v,e)?k:null;for(;!K(s)&&e!=t;)s();return J(),Q},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(f(e),Q),clear:()=>(R(w),R(v),K(t)||p(t),t=void 0,s=0,M(),Q),destroy:()=>{e.delListener(b),e.delListener(m)},getListenerStats:()=>({})};return Me(Q.clear())})),je=(e,t)=>e<t?-1:1,ze=be((e=>{const t=ie(),s=ie(),[o,r,a,i,l,c,d,,u,h,f]=Ie(e,ie,(e=>K(e)?n:Z(e)?A(e,C):C(e))),[g,L,w]=Ve((()=>S)),v=(t,s,n)=>{const o=l(t);re(n,((t,n)=>s(n,(s=>re(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},S={setIndexDefinition:(e,n,o,r,a,i=je)=>{const l=K(a)?void 0:([e],[t])=>a(e,t);return u(e,n,((n,o,a,u,h,f)=>{let g=0;const w=Re(),v=Re(),S=c(e);if(re(o,(([e,t],s)=>{const n=Re(e),o=Re(t);re(n,(e=>ae(o,e)?ae(n,e):0)),re(n,(e=>{ye(w,e),U(ce(S,e),(t=>{ae(t,s),se(t)&&(ue(S,e),g=1)}))})),re(o,(e=>{ye(w,e),te(S,e)||(ue(S,e,Re()),g=1),ye(ce(S,e),s),K(r)||ye(v,e)}))})),n(),se(h)||(f?de(S,(e=>ye(v,e))):de(a,(e=>U(ce(u,e),(e=>ye(v,e))))),re(v,(e=>{const t=(t,s)=>i(ce(h,t),ce(h,s),e),s=[...ce(S,e)];J(s,t)||(ue(S,e,Re(M(s,t))),ye(w,e))}))),(g||f)&&!K(l)){const t=[...S];J(t,l)||(d(e,ie(M(t,l))),g=1)}g&&L(t,[e]),re(w,(t=>L(s,[e,t])))}),Te(o),U(r,Te)),S},delIndexDefinition:e=>(h(e),S),getStore:o,getIndexIds:r,forEachIndex:e=>a(((t,s)=>e(t,(e=>v(t,e,s))))),forEachSlice:(e,t)=>v(e,t,c(e)),hasIndex:i,hasSlice:(e,t)=>te(c(e),t),getTableId:l,getSliceIds:e=>le(c(e)),getSliceRowIds:(e,t)=>ne(ce(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 Me(S)})),Ne=ie([["avg",[(e,t)=>D(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>q(...e),(e,t)=>q(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:q(t,e)]],["min",[e=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:H(t,e)]],["sum",[e=>D(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Oe=(e,t,s,n,o,r=!1)=>{if(se(s))return;const[a,i,l,c]=o;return r||=K(e),re(n,(([s,n])=>{r||(e=K(s)?i?.(e,n,t++):K(n)?l?.(e,s,t--):c?.(e,n,s,t),r||=K(e))})),r?a(ne(s),ee(s)):e},We=be((e=>{const t=ie(),[s,o,r,a,i,l,c,,d,u,h]=Ie(e,_,(e=>isNaN(e)||K(e)||!0===e||!1===e||e===n?void 0:1*e)),[f,g,L]=Ve((()=>w)),w={setMetricDefinition:(e,s,n,o,r,a,i)=>{const u=Y(n)?[n,r,a,i]:ce(Ne,n)??ce(Ne,"sum");return d(e,s,((s,n,o,r,a,i)=>{const d=l(e),h=ee(r);i||=K(d),s();let f=Oe(d,h,r,n,u,i);$(f)||(f=void 0),f!=d&&(c(e,f),g(t,[e],f,d))}),Te(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 Me(w)})),Be=(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();K(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:()=>(U(a,e.delListener),U(i,e.delListener),c),getStore:()=>e,destroy:()=>c.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Me(c)},qe="storage",He=globalThis.window,$e=(e,t,s)=>{let n;return Be(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},He.addEventListener(qe,n)}),(()=>{He.removeEventListener(qe,n),n=void 0}))},Ge=e=>e.headers.get("ETag"),Ke=be((e=>{const t=e.createStore,[s,o,r,a,i,,,l,,c,d,g,w]=Ie(e,(()=>!0),_),v=t(),T=t(),b=ie(),m=(e,t,...s)=>x(s,(s=>ye(he(he(b,t,ie),e,Re),s))),C=e=>{U(ce(b,e),(e=>{de(e,((e,t)=>re(t,(t=>e.delListener(t))))),oe(e)})),x([T,v],(t=>t.delTable(e)))},V=(e,t,s)=>m(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),k={setQueryDefinition:(t,s,o)=>{l(t,s),C(t);const r=[],a=[[null,[s,null,null,[],ie()]]],i=[],c=[],d=[];o({select:(e,t)=>{const s=Y(e)?[F(r)+n,e]:[K(t)?e:t,s=>s(e,t)];return z(r,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=K(s)||Y(t)?null:t,o=K(n)?t:s,r=[e,[e,n,Y(o)?o:e=>e(o),[],ie()]];return z(a,r),{as:e=>r[0]=e}},where:(e,t,s)=>z(i,Y(e)?e:K(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const r=[e,[e,Y(t)?[t,s,n,o]:ce(Ne,t)??[(e,t)=>t]]];return z(c,r),{as:e=>r[0]=e}},having:(e,t)=>z(d,Y(e)?e:s=>s(e)===t)});const u=ie(r);if(se(u))return k;const h=ie(a);de(h,((e,[,t])=>U(ce(h,t),(({3:t})=>K(e)?0:z(t,e)))));const f=ie(c);let L=v;if(se(f)&&P(d))L=T;else{V(t,L,T);const e=ie();de(f,((t,[s,n])=>ye(he(e,s,Re),[t,n])));const s=Re();de(u,(t=>te(e,t)?0:ye(s,t)));const n=ie(),o=(s,n,o,r)=>U(s,(([a,i,l,c])=>{de(n,((t,[s])=>{const n=he(a,t,ie),i=ce(n,o),l=r?void 0:s;if(i!==l){const s=Re([[i,l]]),r=ee(n);ue(n,o,l),re(ce(e,t),(([e,t])=>{const o=Oe(c[e],r,n,s,t);c[e]=K(ve(o))?null:o}))}})),se(i)||!E(d,(e=>e((e=>c[e]))))?T.delRow(t,l):K(l)?s[2]=T.addRow(t,c):T.setRow(t,l,c)}));m(L,t,L.addRowListener(t,null,((r,a,i,l)=>{const c=[],d=[],u=ie(),h=L.hasRow(t,i);let f=!h;re(s,(e=>{const[s,n,o]=l(t,i,e);z(c,n),z(d,o),f||=s})),de(e,(e=>{const[s,,n]=l(t,i,e);(f||s)&&ue(u,e,[n])})),f&&o(we(n,c,void 0,(([,e])=>(ae(e,i),se(e)))),u,i,1),h&&o(we(n,d,(()=>{const e={};return re(s,(s=>e[s]=L.getCell(t,i,s))),[ie(),Re(),void 0,e]}),(([,e])=>{ye(e,i)})),u,i)})))}V(t,e,L);const S=(n,o,r,a)=>{const l=t=>e.getCell(o,r,t);x(a,(s=>{const[o,,r,a,i]=ce(h,s),c=r?.(l,n),[d,u]=ce(i,n)??[];c!=d&&(K(u)||w(t,u),ue(i,n,K(c)?null:[c,...g(t,1,e.addRowListener(o,c,(()=>S(n,o,c,a))))]))})),(n=>{const o=(t,o)=>e.getCell(...K(o)?[s,n,t]:t===s?[s,n,o]:[ce(h,t)?.[0],ce(ce(h,t)?.[4],n)?.[0],o]);L.transaction((()=>E(i,(e=>e(o)))?de(u,((e,s)=>Se(L,t,n,e,s(o,n)))):L.delRow(t,n)))})(n)},{3:p}=ce(h,null);return L.transaction((()=>g(t,1,e.addRowListener(s,null,((n,o,r)=>{e.hasRow(s,r)?S(r,s,r,p):(L.delRow(t,r),re(h,(({4:e})=>U(ce(e,r),(([,s])=>{w(t,s),ue(e,r)})))))}))))),k},delQueryDefinition:e=>(C(e),c(e),k),getStore:s,getQueryIds:o,forEachQuery:r,hasQuery:a,getTableId:i,delListener:e=>(T.delListener(e),k),destroy:d,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=T.getListenerStats();return n}};return Fe({[L]:[1,1],[p]:[0,1],[R]:[0,5],[S]:[1,2],[I]:[0,2],[y]:[1,3]},(([e,t],s)=>{x(e?["get","has","forEach"]:["get"],(e=>k[e+h+s]=(...t)=>T[e+s](...t))),k[f+h+s+u]=(...e)=>T[f+s+u](...j(e,0,t),((s,...n)=>e[t](k,...n)))})),Me(k)})),Ue=be((e=>{const t=ie(),s=ie(),o=ie(),r=ie(),[a,i,l,c,d,u,,,h,f,g]=Ie(e,(()=>[ie(),ie(),ie(),ie()]),(e=>K(e)?void 0:e+n)),[L,w,v]=Ve((()=>y)),S=(e,t,s)=>U(u(e),(([n,,o])=>{if(!te(o,t)){const r=Re();if(d(e)!=R(e))ye(r,t);else{let e=t;for(;!K(e)&&!te(r,e);)ye(r,e),e=ce(n,e)}if(s)return r;ue(o,t,r)}return ce(o,t)})),p=(e,t)=>U(u(e),(([,,e])=>ue(e,t))),R=e=>ce(t,e),y={setRelationshipDefinition:(e,n,a,i)=>(ue(t,e,a),h(e,n,((t,n)=>{const a=Re(),i=Re(),l=Re(),[c,d]=u(e);re(n,(([t,s],n)=>{K(t)||(ye(i,t),U(ce(d,t),(e=>{ae(e,n),se(e)&&ue(d,t)}))),K(s)||(ye(i,s),te(d,s)||ue(d,s,Re()),ye(ce(d,s),n)),ye(a,n),ue(c,n,s),de(ce(r,e),(t=>{te(S(e,t),n)&&ye(l,t)}))})),t(),re(a,(t=>w(s,[e,t]))),re(i,(t=>w(o,[e,t]))),re(l,(t=>{p(e,t),w(r,[e,t])}))}),Te(i)),y),delRelationshipDefinition:e=>(ue(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)=>ce(u(e)?.[0],t),getLocalRowIds:(e,t)=>ne(ce(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>K(u(e))?[t]:ne(S(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)=>(S(e,t),L(s,r,[e,t])),delListener:e=>(p(...v(e)),y),destroy:g,getListenerStats:()=>({})};return Me(y)})),Xe=e=>[e,e],Ye=()=>[ie(),ie()],Ze=(e,t,s,n=ue)=>(Fe(t,((t,n)=>s(e,n,t))),de(e,(s=>Ae(t,s)?0:n(e,s))),e),_e=(e,t,s)=>K(e)||!xe(e)||Pe(e)||Je(e)?(s?.(),!1):(Fe(e,((s,n)=>{t(s,n)||De(e,n)})),!Pe(e)),et=(e,t,s)=>ue(e,t,ce(e,t)==-s?void 0:s),tt=()=>{let e,t,s,n,o=0;const r=ie(),i=ie(),d=ie(),h=ie(),g=ie(),R=ie(),E=ie(),J=ie(),D=ie(),F=ie(),P=ie(),Q=ie(),N=Re(),O=ie(),q=ie(),H=ie(),$=Ye(),G=Ye(),Z=Ye(),_=Ye(),ee=Ye(),ne=Ye(),we=Ye(),Ie=Ye(),Te=Ye(),be=Ye(),me=Ye(),Ee=Ye(),ke=Ye(),Je=Ye(),[xe,Qe,ze,Ne]=Ve((()=>ts)),Oe=e=>{if(!_e(e,((e,t)=>V([l,c],t))))return!1;const t=e[l];return!(!X(t)&&t!=a||(ve(e[c])!=t&&De(e,c),0))},We=(t,s)=>(!e||te(D,s)||bt(s))&&_e(t,((e,t)=>Be(s,t,e)),(()=>bt(s))),Be=(e,t,s,n)=>_e(n?s:Ge(s,e,t),((n,o)=>U(qe(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>bt(e,t))),qe=(t,s,n,o)=>e?U(ce(ce(D,t),n),(e=>ve(o)!=e[l]?bt(t,s,n,o,e[c]):o),(()=>bt(t,s,n,o))):K(ve(o))?bt(t,s,n,o):o,He=(e,t)=>_e(t?e:Ke(e),((t,s)=>U($e(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>mt())),$e=(e,s)=>t?U(ce(P,e),(t=>ve(s)!=t[l]?mt(e,s,t[c]):s),(()=>mt(e,s))):K(ve(s))?mt(e,s):s,Ge=(e,t,s)=>(U(ce(F,t),(([n,o])=>{re(n,((t,s)=>{Ae(e,s)||(e[s]=t)})),re(o,(n=>{Ae(e,n)||bt(t,s,n)}))})),e),Ke=e=>(t&&(re(Q,((t,s)=>{Ae(e,s)||(e[s]=t)})),re(N,(t=>{Ae(e,t)||mt(t)}))),e),Ue=e=>Ze(D,e,((e,t,s)=>{const n=ie(),o=Re();Ze(he(D,t,ie),s,((e,t,s)=>{ue(e,t,s),U(s[c],(e=>ue(n,t,e)),(()=>ye(o,t)))})),ue(F,t,[n,o])}),((e,t)=>{ue(D,t),ue(F,t)})),st=e=>Ze(P,e,((e,t,s)=>{ue(P,t,s),U(s[c],(e=>ue(Q,t,e)),(()=>ye(N,t)))}),((e,t)=>{ue(P,t),ue(Q,t),ae(N,t)})),nt=e=>Pe(e)?Kt():Bt(e),ot=e=>Ze(q,e,((e,t,s)=>rt(t,s)),((e,t)=>gt(t))),rt=(e,t)=>Ze(he(q,e,(()=>(St(e,1),ie()))),t,((t,s,n)=>at(e,t,s,n)),((t,s)=>Lt(e,t,s))),at=(e,t,s,n,o)=>Ze(he(t,s,(()=>(pt(e,s,1),ie()))),n,((t,n,o)=>it(e,s,t,n,o)),((n,r)=>wt(e,t,s,n,r,o))),it=(e,t,s,n,o)=>{te(s,n)||Rt(e,t,n,1);const r=ce(s,n);o!==r&&(yt(e,t,n,r,o),ue(s,n,o))},lt=(e,t,s,n,o)=>U(ce(t,s),(t=>it(e,s,t,n,o)),(()=>at(e,t,s,Ge({[n]:o},e,s)))),ct=e=>Pe(e)?Ut():qt(e),dt=e=>Ze(H,e,((e,t,s)=>ut(t,s)),((e,t)=>vt(t))),ut=(e,t)=>{te(H,e)||It(e,1);const s=ce(H,e);t!==s&&(Tt(e,s,t),ue(H,e,t))},ht=(e,t)=>{const[s]=he(O,e,Ce),n=s(t);return te(ce(q,e),n)?ht(e,t):n},ft=e=>ce(q,e)??rt(e,{}),gt=e=>rt(e,{}),Lt=(e,t,s)=>{const[,n]=he(O,e,Ce);n(s),at(e,t,s,{},!0)},wt=(e,t,s,n,o,r)=>{const a=ce(ce(F,e)?.[0],o);if(!K(a)&&!r)return it(e,s,n,o,a);const i=t=>{yt(e,s,t,ce(n,t)),Rt(e,s,t,-1),ue(n,t)};K(a)?i(o):de(n,i),se(n)&&(pt(e,s,-1),se(ue(t,s))&&(St(e,-1),ue(q,e),ue(O,e)))},vt=e=>{const t=ce(Q,e);if(!K(t))return ut(e,t);Tt(e,ce(H,e)),It(e,-1),ue(H,e)},St=(e,t)=>et(r,e,t),pt=(e,t,s)=>et(he(i,e,ie),t,s),Rt=(e,t,s,n)=>et(he(he(d,e,ie),t,ie),s,n),yt=(e,t,s,n,o)=>he(he(he(h,e,ie),t,ie),s,(()=>[n,0]))[1]=o,It=(e,t)=>et(g,e,t),Tt=(e,t,s)=>he(R,e,(()=>[t,0]))[1]=s,bt=(e,t,s,n,o)=>(z(he(he(he(E,e,ie),t,ie),s,(()=>[])),n),o),mt=(e,t,s)=>(z(he(J,e,(()=>[])),t),s),Ct=(e,t,s)=>U(ce(ce(ce(h,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Xe(zt(e,t,s))])),Vt=e=>U(ce(R,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Xe(Wt(e))])),Et=e=>se(E)||se(Te[e])?0:re(e?ge(E,Le):E,((t,s)=>re(t,((t,n)=>re(t,((t,o)=>Qe(Te[e],[s,n,o],t))))))),kt=e=>se(J)||se(be[e])?0:re(e?ge(J):J,((t,s)=>Qe(be[e],[s],t))),Jt=(e,t,s)=>{if(!se(t))return Qe(e,s),1},Mt=e=>{const t=se(ee[e]),s=se(we[e])&&se(_[e])&&t&&se(G[e]),n=se(Ie[e])&&se(ne[e])&&se(Z[e])&&se($[e]);if(!s||!n){const o=e?[ge(r),Le(i),ge(d,Le),ge(h,Le)]:[r,i,d,h];if(!s){re(o[2],((t,s)=>re(t,((t,n)=>Jt(we[e],t,[s,n])))));const s=Re();re(o[1],((n,o)=>{Jt(_[e],n,[o])&&!t&&(Qe(ee[e],[o,null]),ye(s,o))})),t||re(o[3],((t,n)=>{if(!te(s,n)){const s=Re();re(t,(e=>re(e,(([t,n],o)=>n!==t?ye(s,o):ae(e,o))))),re(s,(t=>Qe(ee[e],[n,t])))}})),Jt(G[e],o[0])}if(!n){let t;re(o[3],((s,n)=>{let o;re(s,((s,r)=>{let a;re(s,(([s,i],l)=>{i!==s&&(Qe(Ie[e],[n,r,l],i,s,Ct),t=o=a=1)})),a&&Qe(ne[e],[n,r],Ct)})),o&&Qe(Z[e],[n],Ct)})),t&&Qe($[e],void 0,Ct)}}},xt=e=>{const t=se(Ee[e]),s=se(ke[e])&&se(me[e]);if(!t||!s){const n=e?[ge(g),ge(R)]:[g,R];if(t||Jt(Ee[e],n[0]),!s){let t;re(n[1],(([s,n],o)=>{n!==s&&(Qe(ke[e],[o],n,s,Vt),t=1)})),t&&Qe(me[e],void 0,Vt)}}},At=(e,...t)=>(Zt((()=>e(...A(t,C)))),ts),Dt=()=>fe(q,(e=>fe(e,fe))),Ft=()=>le(q),Pt=e=>le(ce(q,C(e))),Qt=(e,t,s,n=0,o)=>{return A(j(M((r=ce(q,C(e)),a=(e,s)=>[K(t)?s:ce(e,C(t)),s],A([...r?.entries()??[]],(([e,t])=>a(t,e)))),(([e],[t])=>je(e,t)*(s?-1:1))),n,K(o)?o:n+o),(([,e])=>e));var r,a},jt=(e,t)=>le(ce(ce(q,C(e)),C(t))),zt=(e,t,s)=>ce(ce(ce(q,C(e)),C(t)),C(s)),Nt=()=>fe(H),Ot=()=>le(H),Wt=e=>ce(H,C(e)),Bt=e=>At((()=>(e=>_e(e,We,bt))(e)?ot(e):0)),qt=e=>At((()=>He(e)?dt(e):0)),Ht=e=>{try{nt(B(e))}catch{}return ts},$t=t=>At((()=>{if((e=_e(t,(e=>_e(e,Oe))))&&(Ue(t),!se(q))){const e=Dt();Kt(),Bt(e)}})),Gt=e=>At((()=>{if(t=(e=>_e(e,Oe))(e)){const s=Nt();Yt(),Ut(),t=!0,st(e),qt(s)}})),Kt=()=>At((()=>ot({}))),Ut=()=>At((()=>dt({}))),Xt=()=>At((()=>{Ue({}),e=!1})),Yt=()=>At((()=>{st({}),t=!1})),Zt=(e,t)=>{if(-1==o)return;_t();const s=e();return es(t),s},_t=()=>(o++,ts),es=e=>(o>0&&(o--,0==o&&(s=!se(h),n=!se(R),o=1,Et(1),s&&Mt(1),kt(1),n&&xt(1),o=-1,e?.(fe(h,(e=>fe(e,(e=>fe(e,(e=>[...e]),(([e,t])=>e===t))),Pe)),Pe),fe(E,(e=>fe(e,fe))),fe(R,(e=>[...e]),(([e,t])=>e===t)),fe(J))&&(o=1,re(h,((e,t)=>re(e,((e,s)=>re(e,(([e],n)=>Se(ts,t,s,n,e))))))),re(R,(([e],t)=>pe(ts,t,e))),o=-1,s=n=!1),Qe(Je[0],void 0,s,n),Et(0),s&&Mt(0),kt(0),n&&xt(0),Qe(Je[1],void 0,s,n),o=0,x([r,i,d,h,E,g,R,J],oe))),ts),ts={getTables:Dt,getTableIds:Ft,getTable:e=>fe(ce(q,C(e)),fe),getRowIds:Pt,getSortedRowIds:Qt,getRow:(e,t)=>fe(ce(ce(q,C(e)),C(t))),getCellIds:jt,getCell:zt,getValues:Nt,getValueIds:Ot,getValue:Wt,hasTables:()=>!se(q),hasTable:e=>te(q,C(e)),hasRow:(e,t)=>te(ce(q,C(e)),C(t)),hasCell:(e,t,s)=>te(ce(ce(q,C(e)),C(t)),C(s)),hasValues:()=>!se(H),hasValue:e=>te(H,C(e)),getTablesJson:()=>W(q),getValuesJson:()=>W(H),getJson:()=>W([q,H]),getTablesSchemaJson:()=>W(D),getValuesSchemaJson:()=>W(P),getSchemaJson:()=>W([D,P]),setTables:Bt,setTable:(e,t)=>At((e=>We(t,e)?rt(e,t):0),e),setRow:(e,t,s)=>At(((e,t)=>Be(e,t,s)?at(e,ft(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Zt((()=>{let n;return Be(e,n,t)&&(e=C(e),at(e,ft(e),n=ht(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>At(((e,t)=>{if(Be(e,t,s,1)){const n=ft(e);Fe(s,((s,o)=>lt(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>At(((e,t,s)=>U(qe(e,t,s,Y(n)?n(zt(e,t,s)):n),(n=>lt(e,ft(e),t,s,n)))),e,t,s),setValues:qt,setPartialValues:e=>At((()=>He(e,1)?Fe(e,((e,t)=>ut(t,e))):0)),setValue:(e,t)=>At((e=>U($e(e,Y(t)?t(Wt(e)):t),(t=>ut(e,t)))),e),setTablesJson:Ht,setValuesJson:e=>{try{ct(B(e))}catch{}return ts},setJson:e=>{try{const[t,s]=B(e);nt(t),ct(s)}catch{Ht(e)}return ts},setTablesSchema:$t,setValuesSchema:Gt,setSchema:(e,t)=>At((()=>{$t(e),Gt(t)})),delTables:Kt,delTable:e=>At((e=>te(q,e)?gt(e):0),e),delRow:(e,t)=>At(((e,t)=>U(ce(q,e),(s=>te(s,t)?Lt(e,s,t):0))),e,t),delCell:(e,t,s,n)=>At(((e,t,s)=>U(ce(q,e),(o=>U(ce(o,t),(r=>te(r,s)?wt(e,o,t,r,s,n):0))))),e,t,s),delValues:Ut,delValue:e=>At((e=>te(H,e)?vt(e):0),e),delTablesSchema:Xt,delValuesSchema:Yt,delSchema:()=>At((()=>{Xt(),Yt()})),transaction:Zt,startTransaction:_t,finishTransaction:es,forEachTable:e=>re(q,((t,s)=>e(s,(e=>re(t,((t,s)=>e(s,(e=>de(t,e))))))))),forEachRow:(e,t)=>re(ce(q,C(e)),((e,s)=>t(s,(t=>de(e,t))))),forEachCell:(e,t,s)=>de(ce(ce(q,C(e)),C(t)),s),forEachValue:e=>de(H,e),addSortedRowIdsListener:(e,t,s,n,o,r,a)=>{let i=Qt(e,t,s,n,o);return xe((()=>{const a=Qt(e,t,s,n,o);k(a,i)||(i=a,r(ts,e,t,s,n,o,i))}),ee[a?1:0],[e,t],[Ft])},addWillFinishTransactionListener:e=>xe(e,Je[0]),addDidFinishTransactionListener:e=>xe(e,Je[1]),callListener:e=>(Ne(e),ts),delListener:e=>(ze(e),ts),getListenerStats:()=>({}),createStore:tt};return Fe({[w]:[0,$],[v]:[0,G],[L]:[1,Z,[Ft]],[p]:[1,_,[Ft]],[S]:[2,ne,[Ft,Pt]],[I]:[2,we,[Ft,Pt]],[y]:[3,Ie,[Ft,Pt,jt],e=>Xe(zt(...e))],InvalidCell:[3,Te],[b]:[0,me],[m]:[0,Ee],[T]:[1,ke,[Ot],e=>Xe(Wt(e[0]))],InvalidValue:[1,be]},(([e,t,s,n],o)=>{ts[f+o+u]=(...o)=>xe(o[e],t[o[e+1]?1:0],e>0?j(o,0,e):void 0,s,n)})),Me(ts)};e.createCheckpoints=Qe,e.createCustomPersister=Be,e.createFilePersister=(e,s)=>{let n;return Be(e,(async()=>{try{return await t.promises.readFile(s,d)}catch{}}),(async e=>{try{await t.promises.writeFile(s,e,d)}catch{}}),(e=>{n=t.watch(s,e)}),(()=>{n?.close(),n=void 0}))},e.createIndexes=ze,e.createLocalPersister=(e,t)=>$e(e,t,localStorage),e.createMetrics=We,e.createQueries=Ke,e.createRelationships=Ue,e.createRemotePersister=(e,t,s,n)=>{let o,r;return Be(e,(async()=>{const e=await fetch(t);return r=Ge(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=Ge(s);K(r)||K(n)||n==r||(r=n,e())}),1e3*n)}),(()=>{U(o,clearInterval),o=void 0}))},e.createSessionPersister=(e,t)=>$e(e,t,sessionStorage),e.createStore=tt,e.defaultSorter=je},"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),r=s(!0),a=s(0),i=s(s),l="type",c="default",d="utf8",u="Listener",h="Result",f="add",g="Ids",L="Table",w=L+"s",v=L+g,S="Row",p=S+g,R="Sorted"+S+g,y="Cell",I=y+g,T="Value",b=T+"s",m=T+g,C=e=>n+e,V=(e,t)=>e.includes(t),E=(e,t)=>e.every(t),k=(e,t)=>F(e)===F(t)&&E(e,((e,s)=>t[s]===e)),J=(e,t)=>E(e,((s,n)=>0==n||t(e[n-1],s)<=0)),M=(e,t)=>e.sort(t),x=(e,t)=>e.forEach(t),A=(e,t)=>e.map(t),D=e=>Q(e,((e,t)=>e+t),0),F=e=>e.length,P=e=>0==F(e),Q=(e,t,s)=>e.reduce(t,s),j=(e,t,s)=>e.slice(t,s),z=(e,...t)=>e.push(...t),N=e=>e.pop(),O=e=>e.shift(),W=e=>JSON.stringify(e,((e,t)=>G(t,Map)?Q([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),B=JSON.parse,q=Math.max,H=Math.min,$=isFinite,G=(e,t)=>e instanceof t,K=e=>null==e,U=(e,t,s)=>K(e)?s?.():t(e),X=e=>e==o||e==r,Y=e=>s(e)==i,Z=e=>Array.isArray(e),_=()=>{},ee=e=>e.size,te=(e,t)=>e?.has(t)??!1,se=e=>K(e)||0==ee(e),ne=e=>[...e?.values()??[]],oe=e=>e.clear(),re=(e,t)=>e?.forEach(t),ae=(e,t)=>e?.delete(t),ie=e=>new Map(e),le=e=>[...e?.keys()??[]],ce=(e,t)=>e?.get(t),de=(e,t)=>re(e,((e,s)=>t(s,e))),ue=(e,t,s)=>K(s)?(ae(e,t),e):e?.set(t,s),he=(e,t,s)=>(te(e,t)||ue(e,t,s()),ce(e,t)),fe=(e,t,s)=>{const n={},o=t??(e=>e);return re(e,((e,t)=>U(o(e),(e=>s?.(e)?0:n[t]=e)))),n},ge=(e,t)=>{const s=ie(),n=t??(e=>e);return re(e,((e,t)=>s.set(t,n(e)))),s},Le=e=>ge(e,ge),we=(e,t,s,n,o=0)=>U((s?he:ce)(e,t[o],o>F(t)-2?s:ie),(r=>{if(o>F(t)-2)return n?.(r)&&ue(e,t[o]),r;const a=we(r,t,s,n,o+1);return se(r)&&ue(e,t[o]),a})),ve=e=>{const t=s(e);return X(t)||t==a&&$(e)?t:void 0},Se=(e,t,s,n,o)=>K(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),pe=(e,t,s)=>K(s)?e.delValue(t):e.setValue(t,s),Re=e=>new Set(Z(e)||K(e)?e:[e]),ye=(e,t)=>e?.add(t),Ie=(e,t,s)=>{const n=e.hasRow,o=ie(),r=ie(),a=ie(),i=ie(),l=ie(),c=(t,s,...n)=>{const o=he(l,t,Re);return x(n,(t=>ye(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>U(ce(l,t),(n=>{x(P(s)?ne(n):s,(t=>{e.delListener(t),ae(n,t)})),se(n)&&ue(l,t)})),u=(e,s)=>{ue(o,e,s),te(r,e)||(ue(r,e,t()),ue(a,e,ie()),ue(i,e,ie()))},h=e=>{ue(o,e),ue(r,e),ue(a,e),ue(i,e),d(e)};return[()=>e,()=>le(o),e=>de(r,e),e=>te(r,e),e=>ce(o,e),e=>ce(r,e),(e,t)=>ue(r,e,t),u,(t,o,r,l,h)=>{u(t,o);const f=ie(),g=ie(),L=ce(a,t),w=ce(i,t),v=t=>{const r=s=>e.getCell(o,t,s),a=ce(L,t),i=n(o,t)?s(l(r,t)):void 0;if(a===i||Z(a)&&Z(i)&&k(a,i)||ue(f,t,[a,i]),!K(h)){const e=ce(w,t),s=n(o,t)?h(r,t):void 0;e!=s&&ue(g,t,s)}},S=e=>{r((()=>{re(f,(([,e],t)=>ue(L,t,e))),re(g,((e,t)=>ue(w,t,e)))}),f,g,L,w,e),oe(f),oe(g)};de(L,v),e.hasTable(o)&&x(e.getRowIds(o),(e=>{te(L,e)||v(e)})),S(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>v(s))),e.addTableListener(o,(()=>S())))},h,()=>de(l,h),c,d]},Te=(e,t)=>s(e)==o?t=>t(e):e??(()=>t??n),be=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},me=/^\d+$/,Ce=()=>{const e=[];let t=0;return[s=>(s?O(e):null)??n+t++,t=>{me.test(t)&&F(e)<1e3&&z(e,t)}]},Ve=e=>{let t;const[s,o]=Ce(),r=ie();return[(o,a,i,l=[],c=(()=>[]))=>{t??=e();const d=s(1);return ue(r,d,[o,a,i,l,c]),ye(we(a,i??[n],Re),d),d},(e,s,...o)=>x(((e,t=[n])=>{const s=[],o=(e,n)=>n==F(t)?z(s,e):null===t[n]?re(e,(e=>o(e,n+1))):x([t[n],null],(t=>o(ce(e,t),n+1)));return o(e,0),s})(e,s),(e=>re(e,(e=>ce(r,e)[0](t,...s??[],...o))))),e=>U(ce(r,e),(([,t,s])=>(we(t,s??[n],void 0,(t=>(ae(t,e),se(t)?1:0))),ue(r,e),o(e),s))),e=>U(ce(r,e),(([e,,s=[],n,o])=>{const r=(...a)=>{const i=F(a);i==F(s)?e(t,...a,...o(a)):K(s[i])?x(n[i]?.(...a)??[],(e=>r(...a,e))):r(...a,s[i])};r()}))]},Ee=Object,ke=Ee.keys,Je=Ee.isFrozen,Me=Ee.freeze,xe=e=>G(e,Ee)&&e.constructor==Ee,Ae=(e,t)=>!K(((e,t)=>U(e,(e=>e[t])))(e,t)),De=(e,t)=>delete e[t],Fe=(e,t)=>A(Ee.entries(e),(([e,s])=>t(s,e))),Pe=e=>xe(e)&&P(ke(e)),Qe=be((e=>{let t,s,o,r=100,a=ie(),i=ie(),l=1;const c=ie(),d=ie(),[u,h,f]=Ve((()=>Q)),g=ie(),L=ie(),w=[],v=[],S=(t,s)=>{l=0,e.transaction((()=>{const[n,o]=ce(g,s);re(n,((s,n)=>re(s,((s,o)=>re(s,((s,r)=>Se(e,n,o,r,s[t]))))))),re(o,((s,n)=>pe(e,n,s[t])))})),l=1},p=e=>{ue(g,e),ue(L,e),h(d,[e])},R=(e,t)=>x(((e,t)=>e.splice(0,t))(e,t??F(e)),p),y=()=>R(w,F(w)-r),I=()=>U(t,(()=>{z(w,t),y(),R(v),t=void 0,o=1})),T=()=>{t=N(w),o=1},b=e.addCellListener(null,null,null,((e,t,s,n,o,r)=>{if(l){I();const e=he(a,t,ie),i=he(e,s,ie),l=he(i,n,(()=>[r,void 0]));l[1]=o,l[0]===o&&se(ue(i,n))&&se(ue(e,s))&&se(ue(a,t))&&T(),J()}})),m=e.addValueListener(null,((e,t,s,n)=>{if(l){I();const e=he(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&se(ue(i,t))&&T(),J()}})),C=(e="")=>(K(t)&&(t=n+s++,ue(g,t,[a,i]),A(t,e),a=ie(),i=ie(),o=1),t),E=()=>{P(w)||(((e,...t)=>{e.unshift(...t)})(v,C()),S(0,t),t=N(w),o=1)},k=()=>{P(v)||(z(w,t),t=O(v),S(1,t),o=1)},J=()=>{o&&(h(c),o=0)},M=e=>{const t=C(e);return J(),t},A=(e,t)=>(D(e)&&ce(L,e)!==t&&(ue(L,e,t),h(d,[e])),Q),D=e=>te(g,e),Q={setSize:e=>(r=e,y(),Q),addCheckpoint:M,setCheckpoint:A,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...v]],forEachCheckpoint:e=>de(L,e),hasCheckpoint:D,getCheckpoint:e=>ce(L,e),goBackward:()=>(E(),J(),Q),goForward:()=>(k(),J(),Q),goTo:e=>{const s=V(w,e)?E:V(v,e)?k:null;for(;!K(s)&&e!=t;)s();return J(),Q},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(f(e),Q),clear:()=>(R(w),R(v),K(t)||p(t),t=void 0,s=0,M(),Q),destroy:()=>{e.delListener(b),e.delListener(m)},getListenerStats:()=>({})};return Me(Q.clear())})),je=(e,t)=>e<t?-1:1,ze=be((e=>{const t=ie(),s=ie(),[o,r,a,i,l,c,d,,u,h,f]=Ie(e,ie,(e=>K(e)?n:Z(e)?A(e,C):C(e))),[g,L,w]=Ve((()=>S)),v=(t,s,n)=>{const o=l(t);re(n,((t,n)=>s(n,(s=>re(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},S={setIndexDefinition:(e,n,o,r,a,i=je)=>{const l=K(a)?void 0:([e],[t])=>a(e,t);return u(e,n,((n,o,a,u,h,f)=>{let g=0;const w=Re(),v=Re(),S=c(e);if(re(o,(([e,t],s)=>{const n=Re(e),o=Re(t);re(n,(e=>ae(o,e)?ae(n,e):0)),re(n,(e=>{ye(w,e),U(ce(S,e),(t=>{ae(t,s),se(t)&&(ue(S,e),g=1)}))})),re(o,(e=>{ye(w,e),te(S,e)||(ue(S,e,Re()),g=1),ye(ce(S,e),s),K(r)||ye(v,e)}))})),n(),se(h)||(f?de(S,(e=>ye(v,e))):de(a,(e=>U(ce(u,e),(e=>ye(v,e))))),re(v,(e=>{const t=(t,s)=>i(ce(h,t),ce(h,s),e),s=[...ce(S,e)];J(s,t)||(ue(S,e,Re(M(s,t))),ye(w,e))}))),(g||f)&&!K(l)){const t=[...S];J(t,l)||(d(e,ie(M(t,l))),g=1)}g&&L(t,[e]),re(w,(t=>L(s,[e,t])))}),Te(o),U(r,Te)),S},delIndexDefinition:e=>(h(e),S),getStore:o,getIndexIds:r,forEachIndex:e=>a(((t,s)=>e(t,(e=>v(t,e,s))))),forEachSlice:(e,t)=>v(e,t,c(e)),hasIndex:i,hasSlice:(e,t)=>te(c(e),t),getTableId:l,getSliceIds:e=>le(c(e)),getSliceRowIds:(e,t)=>ne(ce(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 Me(S)})),Ne=ie([["avg",[(e,t)=>D(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>q(...e),(e,t)=>q(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:q(t,e)]],["min",[e=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:H(t,e)]],["sum",[e=>D(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Oe=(e,t,s,n,o,r=!1)=>{if(se(s))return;const[a,i,l,c]=o;return r||=K(e),re(n,(([s,n])=>{r||(e=K(s)?i?.(e,n,t++):K(n)?l?.(e,s,t--):c?.(e,n,s,t),r||=K(e))})),r?a(ne(s),ee(s)):e},We=be((e=>{const t=ie(),[s,o,r,a,i,l,c,,d,u,h]=Ie(e,_,(e=>isNaN(e)||K(e)||!0===e||!1===e||e===n?void 0:1*e)),[f,g,L]=Ve((()=>w)),w={setMetricDefinition:(e,s,n,o,r,a,i)=>{const u=Y(n)?[n,r,a,i]:ce(Ne,n)??ce(Ne,"sum");return d(e,s,((s,n,o,r,a,i)=>{const d=l(e),h=ee(r);i||=K(d),s();let f=Oe(d,h,r,n,u,i);$(f)||(f=void 0),f!=d&&(c(e,f),g(t,[e],f,d))}),Te(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 Me(w)})),Be=(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();K(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:()=>(U(a,e.delListener),U(i,e.delListener),c),getStore:()=>e,destroy:()=>c.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return Me(c)},qe="storage",He=globalThis.window,$e=(e,t,s)=>{let n;return Be(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},He.addEventListener(qe,n)}),(()=>{He.removeEventListener(qe,n),n=void 0}))},Ge=e=>e.headers.get("ETag"),Ke=be((e=>{const t=e.createStore,[s,o,r,a,i,,,l,,c,d,g,w]=Ie(e,(()=>!0),_),v=t(),T=t(),b=ie(),m=(e,t,...s)=>x(s,(s=>ye(he(he(b,t,ie),e,Re),s))),C=e=>{U(ce(b,e),(e=>{de(e,((e,t)=>re(t,(t=>e.delListener(t))))),oe(e)})),x([T,v],(t=>t.delTable(e)))},V=(e,t,s)=>m(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),k={setQueryDefinition:(t,s,o)=>{l(t,s),C(t);const r=[],a=[[null,[s,null,null,[],ie()]]],i=[],c=[],d=[];o({select:(e,t)=>{const s=Y(e)?[F(r)+n,e]:[K(t)?e:t,s=>s(e,t)];return z(r,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=K(s)||Y(t)?null:t,o=K(n)?t:s,r=[e,[e,n,Y(o)?o:e=>e(o),[],ie()]];return z(a,r),{as:e=>r[0]=e}},where:(e,t,s)=>z(i,Y(e)?e:K(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const r=[e,[e,Y(t)?[t,s,n,o]:ce(Ne,t)??[(e,t)=>t]]];return z(c,r),{as:e=>r[0]=e}},having:(e,t)=>z(d,Y(e)?e:s=>s(e)===t)});const u=ie(r);if(se(u))return k;const h=ie(a);de(h,((e,[,t])=>U(ce(h,t),(({3:t})=>K(e)?0:z(t,e)))));const f=ie(c);let L=v;if(se(f)&&P(d))L=T;else{V(t,L,T);const e=ie();de(f,((t,[s,n])=>ye(he(e,s,Re),[t,n])));const s=Re();de(u,(t=>te(e,t)?0:ye(s,t)));const n=ie(),o=(s,n,o,r)=>U(s,(([a,i,l,c])=>{de(n,((t,[s])=>{const n=he(a,t,ie),i=ce(n,o),l=r?void 0:s;if(i!==l){const s=Re([[i,l]]),r=ee(n);ue(n,o,l),re(ce(e,t),(([e,t])=>{const o=Oe(c[e],r,n,s,t);c[e]=K(ve(o))?null:o}))}})),se(i)||!E(d,(e=>e((e=>c[e]))))?T.delRow(t,l):K(l)?s[2]=T.addRow(t,c):T.setRow(t,l,c)}));m(L,t,L.addRowListener(t,null,((r,a,i,l)=>{const c=[],d=[],u=ie(),h=L.hasRow(t,i);let f=!h;re(s,(e=>{const[s,n,o]=l(t,i,e);z(c,n),z(d,o),f||=s})),de(e,(e=>{const[s,,n]=l(t,i,e);(f||s)&&ue(u,e,[n])})),f&&o(we(n,c,void 0,(([,e])=>(ae(e,i),se(e)))),u,i,1),h&&o(we(n,d,(()=>{const e={};return re(s,(s=>e[s]=L.getCell(t,i,s))),[ie(),Re(),void 0,e]}),(([,e])=>{ye(e,i)})),u,i)})))}V(t,e,L);const S=(n,o,r,a)=>{const l=t=>e.getCell(o,r,t);x(a,(s=>{const[o,,r,a,i]=ce(h,s),c=r?.(l,n),[d,u]=ce(i,n)??[];c!=d&&(K(u)||w(t,u),ue(i,n,K(c)?null:[c,...g(t,1,e.addRowListener(o,c,(()=>S(n,o,c,a))))]))})),(n=>{const o=(t,o)=>e.getCell(...K(o)?[s,n,t]:t===s?[s,n,o]:[ce(h,t)?.[0],ce(ce(h,t)?.[4],n)?.[0],o]);L.transaction((()=>E(i,(e=>e(o)))?de(u,((e,s)=>Se(L,t,n,e,s(o,n)))):L.delRow(t,n)))})(n)},{3:p}=ce(h,null);return L.transaction((()=>g(t,1,e.addRowListener(s,null,((n,o,r)=>{e.hasRow(s,r)?S(r,s,r,p):(L.delRow(t,r),re(h,(({4:e})=>U(ce(e,r),(([,s])=>{w(t,s),ue(e,r)})))))}))))),k},delQueryDefinition:e=>(C(e),c(e),k),getStore:s,getQueryIds:o,forEachQuery:r,hasQuery:a,getTableId:i,delListener:e=>(T.delListener(e),k),destroy:d,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=T.getListenerStats();return n}};return Fe({[L]:[1,1],[p]:[0,1],[R]:[0,5],[S]:[1,2],[I]:[0,2],[y]:[1,3]},(([e,t],s)=>{x(e?["get","has","forEach"]:["get"],(e=>k[e+h+s]=(...t)=>T[e+s](...t))),k[f+h+s+u]=(...e)=>T[f+s+u](...j(e,0,t),((s,...n)=>e[t](k,...n)))})),Me(k)})),Ue=be((e=>{const t=ie(),s=ie(),o=ie(),r=ie(),[a,i,l,c,d,u,,,h,f,g]=Ie(e,(()=>[ie(),ie(),ie(),ie()]),(e=>K(e)?void 0:e+n)),[L,w,v]=Ve((()=>y)),S=(e,t,s)=>U(u(e),(([n,,o])=>{if(!te(o,t)){const r=Re();if(d(e)!=R(e))ye(r,t);else{let e=t;for(;!K(e)&&!te(r,e);)ye(r,e),e=ce(n,e)}if(s)return r;ue(o,t,r)}return ce(o,t)})),p=(e,t)=>U(u(e),(([,,e])=>ue(e,t))),R=e=>ce(t,e),y={setRelationshipDefinition:(e,n,a,i)=>(ue(t,e,a),h(e,n,((t,n)=>{const a=Re(),i=Re(),l=Re(),[c,d]=u(e);re(n,(([t,s],n)=>{K(t)||(ye(i,t),U(ce(d,t),(e=>{ae(e,n),se(e)&&ue(d,t)}))),K(s)||(ye(i,s),te(d,s)||ue(d,s,Re()),ye(ce(d,s),n)),ye(a,n),ue(c,n,s),de(ce(r,e),(t=>{te(S(e,t),n)&&ye(l,t)}))})),t(),re(a,(t=>w(s,[e,t]))),re(i,(t=>w(o,[e,t]))),re(l,(t=>{p(e,t),w(r,[e,t])}))}),Te(i)),y),delRelationshipDefinition:e=>(ue(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)=>ce(u(e)?.[0],t),getLocalRowIds:(e,t)=>ne(ce(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>K(u(e))?[t]:ne(S(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)=>(S(e,t),L(s,r,[e,t])),delListener:e=>(p(...v(e)),y),destroy:g,getListenerStats:()=>({})};return Me(y)})),Xe=e=>[e,e],Ye=()=>[ie(),ie()],Ze=(e,t,s,n=ue)=>(Fe(t,((t,n)=>s(e,n,t))),de(e,(s=>Ae(t,s)?0:n(e,s))),e),_e=(e,t,s)=>K(e)||!xe(e)||Pe(e)||Je(e)?(s?.(),!1):(Fe(e,((s,n)=>{t(s,n)||De(e,n)})),!Pe(e)),et=(e,t,s)=>ue(e,t,ce(e,t)==-s?void 0:s),tt=()=>{let e,t,s,n,o=0;const r=ie(),i=ie(),d=ie(),h=ie(),g=ie(),R=ie(),E=ie(),J=ie(),D=ie(),F=ie(),P=ie(),Q=ie(),N=Re(),O=ie(),q=ie(),H=ie(),$=Ye(),G=Ye(),Z=Ye(),_=Ye(),ee=Ye(),ne=Ye(),we=Ye(),Ie=Ye(),Te=Ye(),be=Ye(),me=Ye(),Ee=Ye(),ke=Ye(),Je=Ye(),[xe,Qe,ze,Ne]=Ve((()=>ts)),Oe=e=>{if(!_e(e,((e,t)=>V([l,c],t))))return!1;const t=e[l];return!(!X(t)&&t!=a||(ve(e[c])!=t&&De(e,c),0))},We=(t,s)=>(!e||te(D,s)||bt(s))&&_e(t,((e,t)=>Be(s,t,e)),(()=>bt(s))),Be=(e,t,s,n)=>_e(n?s:Ge(s,e,t),((n,o)=>U(qe(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>bt(e,t))),qe=(t,s,n,o)=>e?U(ce(ce(D,t),n),(e=>ve(o)!=e[l]?bt(t,s,n,o,e[c]):o),(()=>bt(t,s,n,o))):K(ve(o))?bt(t,s,n,o):o,He=(e,t)=>_e(t?e:Ke(e),((t,s)=>U($e(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>mt())),$e=(e,s)=>t?U(ce(P,e),(t=>ve(s)!=t[l]?mt(e,s,t[c]):s),(()=>mt(e,s))):K(ve(s))?mt(e,s):s,Ge=(e,t,s)=>(U(ce(F,t),(([n,o])=>{re(n,((t,s)=>{Ae(e,s)||(e[s]=t)})),re(o,(n=>{Ae(e,n)||bt(t,s,n)}))})),e),Ke=e=>(t&&(re(Q,((t,s)=>{Ae(e,s)||(e[s]=t)})),re(N,(t=>{Ae(e,t)||mt(t)}))),e),Ue=e=>Ze(D,e,((e,t,s)=>{const n=ie(),o=Re();Ze(he(D,t,ie),s,((e,t,s)=>{ue(e,t,s),U(s[c],(e=>ue(n,t,e)),(()=>ye(o,t)))})),ue(F,t,[n,o])}),((e,t)=>{ue(D,t),ue(F,t)})),st=e=>Ze(P,e,((e,t,s)=>{ue(P,t,s),U(s[c],(e=>ue(Q,t,e)),(()=>ye(N,t)))}),((e,t)=>{ue(P,t),ue(Q,t),ae(N,t)})),nt=e=>Pe(e)?Kt():Bt(e),ot=e=>Ze(q,e,((e,t,s)=>rt(t,s)),((e,t)=>gt(t))),rt=(e,t)=>Ze(he(q,e,(()=>(St(e,1),ie()))),t,((t,s,n)=>at(e,t,s,n)),((t,s)=>Lt(e,t,s))),at=(e,t,s,n,o)=>Ze(he(t,s,(()=>(pt(e,s,1),ie()))),n,((t,n,o)=>it(e,s,t,n,o)),((n,r)=>wt(e,t,s,n,r,o))),it=(e,t,s,n,o)=>{te(s,n)||Rt(e,t,n,1);const r=ce(s,n);o!==r&&(yt(e,t,n,r,o),ue(s,n,o))},lt=(e,t,s,n,o)=>U(ce(t,s),(t=>it(e,s,t,n,o)),(()=>at(e,t,s,Ge({[n]:o},e,s)))),ct=e=>Pe(e)?Ut():qt(e),dt=e=>Ze(H,e,((e,t,s)=>ut(t,s)),((e,t)=>vt(t))),ut=(e,t)=>{te(H,e)||It(e,1);const s=ce(H,e);t!==s&&(Tt(e,s,t),ue(H,e,t))},ht=(e,t)=>{const[s]=he(O,e,Ce),n=s(t);return te(ce(q,e),n)?ht(e,t):n},ft=e=>ce(q,e)??rt(e,{}),gt=e=>rt(e,{}),Lt=(e,t,s)=>{const[,n]=he(O,e,Ce);n(s),at(e,t,s,{},!0)},wt=(e,t,s,n,o,r)=>{const a=ce(ce(F,e)?.[0],o);if(!K(a)&&!r)return it(e,s,n,o,a);const i=t=>{yt(e,s,t,ce(n,t)),Rt(e,s,t,-1),ue(n,t)};K(a)?i(o):de(n,i),se(n)&&(pt(e,s,-1),se(ue(t,s))&&(St(e,-1),ue(q,e),ue(O,e)))},vt=e=>{const t=ce(Q,e);if(!K(t))return ut(e,t);Tt(e,ce(H,e)),It(e,-1),ue(H,e)},St=(e,t)=>et(r,e,t),pt=(e,t,s)=>et(he(i,e,ie),t,s),Rt=(e,t,s,n)=>et(he(he(d,e,ie),t,ie),s,n),yt=(e,t,s,n,o)=>he(he(he(h,e,ie),t,ie),s,(()=>[n,0]))[1]=o,It=(e,t)=>et(g,e,t),Tt=(e,t,s)=>he(R,e,(()=>[t,0]))[1]=s,bt=(e,t,s,n,o)=>(z(he(he(he(E,e,ie),t,ie),s,(()=>[])),n),o),mt=(e,t,s)=>(z(he(J,e,(()=>[])),t),s),Ct=(e,t,s)=>U(ce(ce(ce(h,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Xe(zt(e,t,s))])),Vt=e=>U(ce(R,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Xe(Wt(e))])),Et=e=>se(E)||se(Te[e])?0:re(e?ge(E,Le):E,((t,s)=>re(t,((t,n)=>re(t,((t,o)=>Qe(Te[e],[s,n,o],t))))))),kt=e=>se(J)||se(be[e])?0:re(e?ge(J):J,((t,s)=>Qe(be[e],[s],t))),Jt=(e,t,s)=>{if(!se(t))return Qe(e,s),1},Mt=e=>{const t=se(ee[e]),s=se(we[e])&&se(_[e])&&t&&se(G[e]),n=se(Ie[e])&&se(ne[e])&&se(Z[e])&&se($[e]);if(!s||!n){const o=e?[ge(r),Le(i),ge(d,Le),ge(h,Le)]:[r,i,d,h];if(!s){re(o[2],((t,s)=>re(t,((t,n)=>Jt(we[e],t,[s,n])))));const s=Re();re(o[1],((n,o)=>{Jt(_[e],n,[o])&&!t&&(Qe(ee[e],[o,null]),ye(s,o))})),t||re(o[3],((t,n)=>{if(!te(s,n)){const s=Re();re(t,(e=>re(e,(([t,n],o)=>n!==t?ye(s,o):ae(e,o))))),re(s,(t=>Qe(ee[e],[n,t])))}})),Jt(G[e],o[0])}if(!n){let t;re(o[3],((s,n)=>{let o;re(s,((s,r)=>{let a;re(s,(([s,i],l)=>{i!==s&&(Qe(Ie[e],[n,r,l],i,s,Ct),t=o=a=1)})),a&&Qe(ne[e],[n,r],Ct)})),o&&Qe(Z[e],[n],Ct)})),t&&Qe($[e],void 0,Ct)}}},xt=e=>{const t=se(Ee[e]),s=se(ke[e])&&se(me[e]);if(!t||!s){const n=e?[ge(g),ge(R)]:[g,R];if(t||Jt(Ee[e],n[0]),!s){let t;re(n[1],(([s,n],o)=>{n!==s&&(Qe(ke[e],[o],n,s,Vt),t=1)})),t&&Qe(me[e],void 0,Vt)}}},At=(e,...t)=>(Zt((()=>e(...A(t,C)))),ts),Dt=()=>fe(q,(e=>fe(e,fe))),Ft=()=>le(q),Pt=e=>le(ce(q,C(e))),Qt=(e,t,s,n=0,o)=>{return A(j(M((r=ce(q,C(e)),a=(e,s)=>[K(t)?s:ce(e,C(t)),s],A([...r?.entries()??[]],(([e,t])=>a(t,e)))),(([e],[t])=>je(e,t)*(s?-1:1))),n,K(o)?o:n+o),(([,e])=>e));var r,a},jt=(e,t)=>le(ce(ce(q,C(e)),C(t))),zt=(e,t,s)=>ce(ce(ce(q,C(e)),C(t)),C(s)),Nt=()=>fe(H),Ot=()=>le(H),Wt=e=>ce(H,C(e)),Bt=e=>At((()=>(e=>_e(e,We,bt))(e)?ot(e):0)),qt=e=>At((()=>He(e)?dt(e):0)),Ht=e=>{try{nt(B(e))}catch{}return ts},$t=t=>At((()=>{if((e=_e(t,(e=>_e(e,Oe))))&&(Ue(t),!se(q))){const e=Dt();Kt(),Bt(e)}})),Gt=e=>At((()=>{if(t=(e=>_e(e,Oe))(e)){const s=Nt();Yt(),Ut(),t=!0,st(e),qt(s)}})),Kt=()=>At((()=>ot({}))),Ut=()=>At((()=>dt({}))),Xt=()=>At((()=>{Ue({}),e=!1})),Yt=()=>At((()=>{st({}),t=!1})),Zt=(e,t)=>{if(-1==o)return;_t();const s=e();return es(t),s},_t=()=>(o++,ts),es=e=>(o>0&&(o--,0==o&&(s=!se(h),n=!se(R),o=1,Et(1),s&&Mt(1),kt(1),n&&xt(1),o=-1,e?.(fe(h,(e=>fe(e,(e=>fe(e,(e=>[...e]),(([e,t])=>e===t))),Pe)),Pe),fe(E,(e=>fe(e,fe))),fe(R,(e=>[...e]),(([e,t])=>e===t)),fe(J))&&(o=1,re(h,((e,t)=>re(e,((e,s)=>re(e,(([e],n)=>Se(ts,t,s,n,e))))))),re(R,(([e],t)=>pe(ts,t,e))),o=-1,s=n=!1),Qe(Je[0],void 0,s,n),Et(0),s&&Mt(0),kt(0),n&&xt(0),Qe(Je[1],void 0,s,n),o=0,x([r,i,d,h,E,g,R,J],oe))),ts),ts={getTables:Dt,getTableIds:Ft,getTable:e=>fe(ce(q,C(e)),fe),getRowIds:Pt,getSortedRowIds:Qt,getRow:(e,t)=>fe(ce(ce(q,C(e)),C(t))),getCellIds:jt,getCell:zt,getValues:Nt,getValueIds:Ot,getValue:Wt,hasTables:()=>!se(q),hasTable:e=>te(q,C(e)),hasRow:(e,t)=>te(ce(q,C(e)),C(t)),hasCell:(e,t,s)=>te(ce(ce(q,C(e)),C(t)),C(s)),hasValues:()=>!se(H),hasValue:e=>te(H,C(e)),getTablesJson:()=>W(q),getValuesJson:()=>W(H),getJson:()=>W([q,H]),getTablesSchemaJson:()=>W(D),getValuesSchemaJson:()=>W(P),getSchemaJson:()=>W([D,P]),setTables:Bt,setTable:(e,t)=>At((e=>We(t,e)?rt(e,t):0),e),setRow:(e,t,s)=>At(((e,t)=>Be(e,t,s)?at(e,ft(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Zt((()=>{let n;return Be(e,n,t)&&(e=C(e),at(e,ft(e),n=ht(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>At(((e,t)=>{if(Be(e,t,s,1)){const n=ft(e);Fe(s,((s,o)=>lt(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>At(((e,t,s)=>U(qe(e,t,s,Y(n)?n(zt(e,t,s)):n),(n=>lt(e,ft(e),t,s,n)))),e,t,s),setValues:qt,setPartialValues:e=>At((()=>He(e,1)?Fe(e,((e,t)=>ut(t,e))):0)),setValue:(e,t)=>At((e=>U($e(e,Y(t)?t(Wt(e)):t),(t=>ut(e,t)))),e),setTablesJson:Ht,setValuesJson:e=>{try{ct(B(e))}catch{}return ts},setJson:e=>{try{const[t,s]=B(e);nt(t),ct(s)}catch{Ht(e)}return ts},setTablesSchema:$t,setValuesSchema:Gt,setSchema:(e,t)=>At((()=>{$t(e),Gt(t)})),delTables:Kt,delTable:e=>At((e=>te(q,e)?gt(e):0),e),delRow:(e,t)=>At(((e,t)=>U(ce(q,e),(s=>te(s,t)?Lt(e,s,t):0))),e,t),delCell:(e,t,s,n)=>At(((e,t,s)=>U(ce(q,e),(o=>U(ce(o,t),(r=>te(r,s)?wt(e,o,t,r,s,n):0))))),e,t,s),delValues:Ut,delValue:e=>At((e=>te(H,e)?vt(e):0),e),delTablesSchema:Xt,delValuesSchema:Yt,delSchema:()=>At((()=>{Xt(),Yt()})),transaction:Zt,startTransaction:_t,finishTransaction:es,forEachTable:e=>re(q,((t,s)=>e(s,(e=>re(t,((t,s)=>e(s,(e=>de(t,e))))))))),forEachRow:(e,t)=>re(ce(q,C(e)),((e,s)=>t(s,(t=>de(e,t))))),forEachCell:(e,t,s)=>de(ce(ce(q,C(e)),C(t)),s),forEachValue:e=>de(H,e),addSortedRowIdsListener:(e,t,s,n,o,r,a)=>{let i=Qt(e,t,s,n,o);return xe((()=>{const a=Qt(e,t,s,n,o);k(a,i)||(i=a,r(ts,e,t,s,n,o,i))}),ee[a?1:0],[e,t],[Ft])},addWillFinishTransactionListener:e=>xe(e,Je[0]),addDidFinishTransactionListener:e=>xe(e,Je[1]),callListener:e=>(Ne(e),ts),delListener:e=>(ze(e),ts),getListenerStats:()=>({}),createStore:tt};return Fe({[w]:[0,$],[v]:[0,G],[L]:[1,Z,[Ft]],[p]:[1,_,[Ft]],[S]:[2,ne,[Ft,Pt]],[I]:[2,we,[Ft,Pt]],[y]:[3,Ie,[Ft,Pt,jt],e=>Xe(zt(...e))],InvalidCell:[3,Te],[b]:[0,me],[m]:[0,Ee],[T]:[1,ke,[Ot],e=>Xe(Wt(e[0]))],InvalidValue:[1,be]},(([e,t,s,n],o)=>{ts[f+o+u]=(...o)=>xe(o[e],t[o[e+1]?1:0],e>0?j(o,0,e):void 0,s,n)})),Me(ts)};e.createCheckpoints=Qe,e.createCustomPersister=Be,e.createFilePersister=(e,s)=>{let n;return Be(e,(async()=>{try{return await t.promises.readFile(s,d)}catch{}}),(async e=>{try{await t.promises.writeFile(s,e,d)}catch{}}),(e=>{n=t.watch(s,e)}),(()=>{n?.close(),n=void 0}))},e.createIndexes=ze,e.createLocalPersister=(e,t)=>$e(e,t,localStorage),e.createMetrics=We,e.createQueries=Ke,e.createRelationships=Ue,e.createRemotePersister=(e,t,s,n)=>{let o,r;return Be(e,(async()=>{const e=await fetch(t);return r=Ge(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=Ge(s);K(r)||K(n)||n==r||(r=n,e())}),1e3*n)}),(()=>{U(o,clearInterval),o=void 0}))},e.createSessionPersister=(e,t)=>$e(e,t,sessionStorage),e.createStore=tt,e.defaultSorter=je},"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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t){"use strict";const o="utf8",
|
|
1
|
+
var e,t;e=this,t=function(e,t){"use strict";const o="utf8",r=e=>null==e,n=(e,t,o)=>r(e)?null==o?void 0:o():t(e),s=Object.freeze;var a=(e,t,o)=>new Promise(((r,n)=>{var s=e=>{try{i(o.next(e))}catch(e){n(e)}},a=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=e=>e.done?r(e.value):Promise.resolve(e.value).then(s,a);i((o=o.apply(e,t)).next())}));const i=(e,t,o,i,l)=>{let u,d,c=0;const v={load:(...o)=>a(void 0,[...o],(function*(o={},n={}){if(2!=c){c=1;const s=yield t();r(s)||""==s?e.transaction((()=>e.setTables(o).setValues(n))):e.setJson(s),c=0}return v})),startAutoLoad:(...e)=>a(void 0,[...e],(function*(e={},t={}){return v.stopAutoLoad(),yield v.load(e,t),i(v.load),v})),stopAutoLoad:()=>(l(),v),save:()=>a(void 0,null,(function*(){return 1!=c&&(c=2,yield o(e.getJson()),c=0),v})),startAutoSave:()=>a(void 0,null,(function*(){return yield v.stopAutoSave().save(),u=e.addTablesListener(v.save),d=e.addValuesListener(v.save),v})),stopAutoSave:()=>(n(u,e.delListener),n(d,e.delListener),v),getStore:()=>e,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(v)};var l=(e,t,o)=>new Promise(((r,n)=>{var s=e=>{try{i(o.next(e))}catch(e){n(e)}},a=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=e=>e.done?r(e.value):Promise.resolve(e.value).then(s,a);i((o=o.apply(e,t)).next())}));const u="storage",d=globalThis.window,c=(e,t,o)=>{let r;return i(e,(()=>l(void 0,null,(function*(){return o.getItem(t)}))),(e=>l(void 0,null,(function*(){return o.setItem(t,e)}))),(e=>{r=r=>{r.storageArea===o&&r.key===t&&e()},d.addEventListener(u,r)}),(()=>{d.removeEventListener(u,r),r=void 0}))};var v=(e,t,o)=>new Promise(((r,n)=>{var s=e=>{try{i(o.next(e))}catch(e){n(e)}},a=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=e=>e.done?r(e.value):Promise.resolve(e.value).then(s,a);i((o=o.apply(e,t)).next())})),f=(e,t,o)=>new Promise(((r,n)=>{var s=e=>{try{i(o.next(e))}catch(e){n(e)}},a=e=>{try{i(o.throw(e))}catch(e){n(e)}},i=e=>e.done?r(e.value):Promise.resolve(e.value).then(s,a);i((o=o.apply(e,t)).next())}));const y=e=>e.headers.get("ETag");e.createCustomPersister=i,e.createFilePersister=(e,r)=>{let n;return i(e,(()=>v(void 0,null,(function*(){try{return yield t.promises.readFile(r,o)}catch(e){}}))),(e=>v(void 0,null,(function*(){try{yield t.promises.writeFile(r,e,o)}catch(e){}}))),(e=>{n=t.watch(r,e)}),(()=>{null==n||n.close(),n=void 0}))},e.createLocalPersister=(e,t)=>c(e,t,localStorage),e.createRemotePersister=(e,t,o,s)=>{let a,l;return i(e,(()=>f(void 0,null,(function*(){const e=yield fetch(t);return l=y(e),e.text()}))),(e=>f(void 0,null,(function*(){return yield fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:e})}))),(e=>{a=setInterval((()=>f(void 0,null,(function*(){const o=yield fetch(t,{method:"HEAD"}),n=y(o);r(l)||r(n)||n==l||(l=n,e())}))),1e3*s)}),(()=>{n(a,clearInterval),a=void 0}))},e.createSessionPersister=(e,t)=>c(e,t,sessionStorage)},"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).TinyBasePersisters={},e.fs);
|
|
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,s="",o=n(s),r=n(!0),l=n(0),i=n(n),a="type",d="default",c="utf8",u="Listener",v="Result",h="add",f="Ids",g="Table",p=g+"s",y=g+f,L="Row",w=L+f,S="Sorted"+L+f,R="Cell",I=R+f,T="Value",m=T+"s",b=T+f,C=e=>s+e,V=(e,t)=>e.includes(t),x=(e,t)=>e.every(t),E=(e,t)=>D(e)===D(t)&&x(e,((e,n)=>t[n]===e)),P=(e,t)=>x(e,((n,s)=>0==s||t(e[s-1],n)<=0)),k=(e,t)=>e.sort(t),J=(e,t)=>e.forEach(t),M=(e,t)=>e.map(t),A=e=>F(e,((e,t)=>e+t),0),D=e=>e.length,O=e=>0==D(e),F=(e,t,n)=>e.reduce(t,n),j=(e,t,n)=>e.slice(t,n),Q=(e,...t)=>e.push(...t),z=e=>e.pop(),N=e=>e.shift(),W=e=>JSON.stringify(e,((e,t)=>G(t,Map)?F([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),B=JSON.parse,q=Math.max,H=Math.min,$=isFinite,G=(e,t)=>e instanceof t,K=e=>null==e,U=(e,t,n)=>K(e)?null==n?void 0:n():t(e),X=e=>e==o||e==r,Y=e=>n(e)==i,Z=e=>Array.isArray(e),_=()=>{},ee=e=>e.size,te=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ne=e=>K(e)||0==ee(e),se=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},oe=e=>e.clear(),re=(e,t)=>null==e?void 0:e.forEach(t),le=(e,t)=>null==e?void 0:e.delete(t),ie=e=>new Map(e),ae=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},de=(e,t)=>null==e?void 0:e.get(t),ce=(e,t)=>re(e,((e,n)=>t(n,e))),ue=(e,t,n)=>K(n)?(le(e,t),e):null==e?void 0:e.set(t,n),ve=(e,t,n)=>(te(e,t)||ue(e,t,n()),de(e,t)),he=(e,t,n)=>{const s={},o=null!=t?t:e=>e;return re(e,((e,t)=>U(o(e),(e=>(null==n?void 0:n(e))?0:s[t]=e)))),s},fe=(e,t)=>{const n=ie(),s=null!=t?t:e=>e;return re(e,((e,t)=>n.set(t,s(e)))),n},ge=e=>fe(e,fe),pe=(e,t,n,s,o=0)=>U((n?ve:de)(e,t[o],o>D(t)-2?n:ie),(r=>{if(o>D(t)-2)return(null==s?void 0:s(r))&&ue(e,t[o]),r;const l=pe(r,t,n,s,o+1);return ne(r)&&ue(e,t[o]),l})),ye=e=>{const t=n(e);return X(t)||t==l&&$(e)?t:void 0},Le=(e,t,n,s,o)=>K(o)?e.delCell(t,n,s,!0):e.setCell(t,n,s,o),we=(e,t,n)=>K(n)?e.delValue(t):e.setValue(t,n),Se=e=>new Set(Z(e)||K(e)?e:[e]),Re=(e,t)=>null==e?void 0:e.add(t),Ie=(e,t,n)=>{const s=e.hasRow,o=ie(),r=ie(),l=ie(),i=ie(),a=ie(),d=(t,n,...s)=>{const o=ve(a,t,Se);return J(s,(t=>Re(o,t)&&n&&e.callListener(t))),s},c=(t,...n)=>U(de(a,t),(s=>{J(O(n)?se(s):n,(t=>{e.delListener(t),le(s,t)})),ne(s)&&ue(a,t)})),u=(e,n)=>{ue(o,e,n),te(r,e)||(ue(r,e,t()),ue(l,e,ie()),ue(i,e,ie()))},v=e=>{ue(o,e),ue(r,e),ue(l,e),ue(i,e),c(e)};return[()=>e,()=>ae(o),e=>ce(r,e),e=>te(r,e),e=>de(o,e),e=>de(r,e),(e,t)=>ue(r,e,t),u,(t,o,r,a,v)=>{u(t,o);const h=ie(),f=ie(),g=de(l,t),p=de(i,t),y=t=>{const r=n=>e.getCell(o,t,n),l=de(g,t),i=s(o,t)?n(a(r,t)):void 0;if(l===i||Z(l)&&Z(i)&&E(l,i)||ue(h,t,[l,i]),!K(v)){const e=de(p,t),n=s(o,t)?v(r,t):void 0;e!=n&&ue(f,t,n)}},L=e=>{r((()=>{re(h,(([,e],t)=>ue(g,t,e))),re(f,((e,t)=>ue(p,t,e)))}),h,f,g,p,e),oe(h),oe(f)};ce(g,y),e.hasTable(o)&&J(e.getRowIds(o),(e=>{te(g,e)||y(e)})),L(!0),c(t),d(t,0,e.addRowListener(o,null,((e,t,n)=>y(n))),e.addTableListener(o,(()=>L())))},v,()=>ce(a,v),d,c]},Te=(e,t)=>n(e)==o?t=>t(e):null!=e?e:()=>null!=t?t:s,me=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},be=/^\d+$/,Ce=()=>{const e=[];let t=0;return[n=>{var o;return null!=(o=n?N(e):null)?o:s+t++},t=>{be.test(t)&&D(e)<1e3&&Q(e,t)}]},Ve=e=>{let t;const[n,o]=Ce(),r=ie();return[(o,l,i,a=[],d=(()=>[]))=>{null!=t||(t=e());const c=n(1);return ue(r,c,[o,l,i,a,d]),Re(pe(l,null!=i?i:[s],Se),c),c},(e,n,...o)=>J(((e,t=[s])=>{const n=[],o=(e,s)=>s==D(t)?Q(n,e):null===t[s]?re(e,(e=>o(e,s+1))):J([t[s],null],(t=>o(de(e,t),s+1)));return o(e,0),n})(e,n),(e=>re(e,(e=>de(r,e)[0](t,...null!=n?n:[],...o))))),e=>U(de(r,e),(([,t,n])=>(pe(t,null!=n?n:[s],void 0,(t=>(le(t,e),ne(t)?1:0))),ue(r,e),o(e),n))),e=>U(de(r,e),(([e,,n=[],s,o])=>{const r=(...l)=>{var i,a;const d=D(l);d==D(n)?e(t,...l,...o(l)):K(n[d])?J(null!=(a=null==(i=s[d])?void 0:i.call(s,...l))?a:[],(e=>r(...l,e))):r(...l,n[d])};r()}))]},xe=Object,Ee=xe.keys,Pe=xe.isFrozen,ke=xe.freeze,Je=e=>G(e,xe)&&e.constructor==xe,Me=(e,t)=>!K(((e,t)=>U(e,(e=>e[t])))(e,t)),Ae=(e,t)=>delete e[t],De=(e,t)=>M(xe.entries(e),(([e,n])=>t(n,e))),Oe=e=>Je(e)&&O(Ee(e)),Fe=me((e=>{let t,n,o,r=100,l=ie(),i=ie(),a=1;const d=ie(),c=ie(),[u,v,h]=Ve((()=>F)),f=ie(),g=ie(),p=[],y=[],L=(t,n)=>{a=0,e.transaction((()=>{const[s,o]=de(f,n);re(s,((n,s)=>re(n,((n,o)=>re(n,((n,r)=>Le(e,s,o,r,n[t]))))))),re(o,((n,s)=>we(e,s,n[t])))})),a=1},w=e=>{ue(f,e),ue(g,e),v(c,[e])},S=(e,t)=>J(((e,t)=>e.splice(0,t))(e,null!=t?t:D(e)),w),R=()=>S(p,D(p)-r),I=()=>U(t,(()=>{Q(p,t),R(),S(y),t=void 0,o=1})),T=()=>{t=z(p),o=1},m=e.addCellListener(null,null,null,((e,t,n,s,o,r)=>{if(a){I();const e=ve(l,t,ie),i=ve(e,n,ie),a=ve(i,s,(()=>[r,void 0]));a[1]=o,a[0]===o&&ne(ue(i,s))&&ne(ue(e,n))&&ne(ue(l,t))&&T(),P()}})),b=e.addValueListener(null,((e,t,n,s)=>{if(a){I();const e=ve(i,t,(()=>[s,void 0]));e[1]=n,e[0]===n&&ne(ue(i,t))&&T(),P()}})),C=(e="")=>(K(t)&&(t=s+n++,ue(f,t,[l,i]),M(t,e),l=ie(),i=ie(),o=1),t),x=()=>{O(p)||(((e,...t)=>{e.unshift(...t)})(y,C()),L(0,t),t=z(p),o=1)},E=()=>{O(y)||(Q(p,t),t=N(y),L(1,t),o=1)},P=()=>{o&&(v(d),o=0)},k=e=>{const t=C(e);return P(),t},M=(e,t)=>(A(e)&&de(g,e)!==t&&(ue(g,e,t),v(c,[e])),F),A=e=>te(f,e),F={setSize:e=>(r=e,R(),F),addCheckpoint:k,setCheckpoint:M,getStore:()=>e,getCheckpointIds:()=>[[...p],t,[...y]],forEachCheckpoint:e=>ce(g,e),hasCheckpoint:A,getCheckpoint:e=>de(g,e),goBackward:()=>(x(),P(),F),goForward:()=>(E(),P(),F),goTo:e=>{const n=V(p,e)?x:V(y,e)?E:null;for(;!K(n)&&e!=t;)n();return P(),F},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),F),clear:()=>(S(p),S(y),K(t)||w(t),t=void 0,n=0,k(),F),destroy:()=>{e.delListener(m),e.delListener(b)},getListenerStats:()=>({})};return ke(F.clear())})),je=(e,t)=>e<t?-1:1,Qe=me((e=>{const t=ie(),n=ie(),[o,r,l,i,a,d,c,,u,v,h]=Ie(e,ie,(e=>K(e)?s:Z(e)?M(e,C):C(e))),[f,g,p]=Ve((()=>L)),y=(t,n,s)=>{const o=a(t);re(s,((t,s)=>n(s,(n=>re(t,(t=>n(t,(n=>e.forEachCell(o,t,n)))))))))},L={setIndexDefinition:(e,s,o,r,l,i=je)=>{const a=K(l)?void 0:([e],[t])=>l(e,t);return u(e,s,((s,o,l,u,v,h)=>{let f=0;const p=Se(),y=Se(),L=d(e);if(re(o,(([e,t],n)=>{const s=Se(e),o=Se(t);re(s,(e=>le(o,e)?le(s,e):0)),re(s,(e=>{Re(p,e),U(de(L,e),(t=>{le(t,n),ne(t)&&(ue(L,e),f=1)}))})),re(o,(e=>{Re(p,e),te(L,e)||(ue(L,e,Se()),f=1),Re(de(L,e),n),K(r)||Re(y,e)}))})),s(),ne(v)||(h?ce(L,(e=>Re(y,e))):ce(l,(e=>U(de(u,e),(e=>Re(y,e))))),re(y,(e=>{const t=(t,n)=>i(de(v,t),de(v,n),e),n=[...de(L,e)];P(n,t)||(ue(L,e,Se(k(n,t))),Re(p,e))}))),(f||h)&&!K(a)){const t=[...L];P(t,a)||(c(e,ie(k(t,a))),f=1)}f&&g(t,[e]),re(p,(t=>g(n,[e,t])))}),Te(o),U(r,Te)),L},delIndexDefinition:e=>(v(e),L),getStore:o,getIndexIds:r,forEachIndex:e=>l(((t,n)=>e(t,(e=>y(t,e,n))))),forEachSlice:(e,t)=>y(e,t,d(e)),hasIndex:i,hasSlice:(e,t)=>te(d(e),t),getTableId:a,getSliceIds:e=>ae(d(e)),getSliceRowIds:(e,t)=>se(de(d(e),t)),addSliceIdsListener:(e,n)=>f(n,t,[e]),addSliceRowIdsListener:(e,t,s)=>f(s,n,[e,t]),delListener:e=>(p(e),L),destroy:h,getListenerStats:()=>({})};return ke(L)})),ze=ie([["avg",[(e,t)=>A(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>q(...e),(e,t)=>q(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:q(t,e)]],["min",[e=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:H(t,e)]],["sum",[e=>A(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Ne=(e,t,n,s,o,r=!1)=>{if(ne(n))return;const[l,i,a,d]=o;return r||(r=K(e)),re(s,(([n,s])=>{r||(e=K(n)?null==i?void 0:i(e,s,t++):K(s)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,s,n,t),r||(r=K(e)))})),r?l(se(n),ee(n)):e},We=me((e=>{const t=ie(),[n,o,r,l,i,a,d,,c,u,v]=Ie(e,_,(e=>isNaN(e)||K(e)||!0===e||!1===e||e===s?void 0:1*e)),[h,f,g]=Ve((()=>p)),p={setMetricDefinition:(e,n,s,o,r,l,i)=>{var u;const v=Y(s)?[s,r,l,i]:null!=(u=de(ze,s))?u:de(ze,"sum");return c(e,n,((n,s,o,r,l,i)=>{const c=a(e),u=ee(r);i||(i=K(c)),n();let h=Ne(c,u,r,s,v,i);$(h)||(h=void 0),h!=c&&(d(e,h),f(t,[e],h,c))}),Te(o,1)),p},delMetricDefinition:e=>(u(e),p),getStore:n,getMetricIds:o,forEachMetric:r,hasMetric:l,getTableId:i,getMetric:a,addMetricListener:(e,n)=>h(n,t,[e]),delListener:e=>(g(e),p),destroy:v,getListenerStats:()=>({})};return ke(p)}));var Be=(e,t,n)=>new Promise(((s,o)=>{var r=e=>{try{i(n.next(e))}catch(e){o(e)}},l=e=>{try{i(n.throw(e))}catch(e){o(e)}},i=e=>e.done?s(e.value):Promise.resolve(e.value).then(r,l);i((n=n.apply(e,t)).next())}));const qe=(e,t,n,o,r)=>{let l,i,a=0;const d={load:(n,o)=>Be(void 0,null,(function*(){if(2!=a){a=1;const r=yield t();K(r)||r==s?e.transaction((()=>e.setTables(n).setValues(o))):e.setJson(r),a=0}return d})),startAutoLoad:(e,t)=>Be(void 0,null,(function*(){return d.stopAutoLoad(),yield d.load(e,t),o(d.load),d})),stopAutoLoad:()=>(r(),d),save:()=>Be(void 0,null,(function*(){return 1!=a&&(a=2,yield n(e.getJson()),a=0),d})),startAutoSave:()=>Be(void 0,null,(function*(){return yield d.stopAutoSave().save(),l=e.addTablesListener(d.save),i=e.addValuesListener(d.save),d})),stopAutoSave:()=>(U(l,e.delListener),U(i,e.delListener),d),getStore:()=>e,destroy:()=>d.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ke(d)};var He=(e,t,n)=>new Promise(((s,o)=>{var r=e=>{try{i(n.next(e))}catch(e){o(e)}},l=e=>{try{i(n.throw(e))}catch(e){o(e)}},i=e=>e.done?s(e.value):Promise.resolve(e.value).then(r,l);i((n=n.apply(e,t)).next())}));const $e="storage",Ge=globalThis.window,Ke=(e,t,n)=>{let s;return qe(e,(()=>He(void 0,null,(function*(){return n.getItem(t)}))),(e=>He(void 0,null,(function*(){return n.setItem(t,e)}))),(e=>{s=s=>{s.storageArea===n&&s.key===t&&e()},Ge.addEventListener($e,s)}),(()=>{Ge.removeEventListener($e,s),s=void 0}))};var Ue=(e,t,n)=>new Promise(((s,o)=>{var r=e=>{try{i(n.next(e))}catch(e){o(e)}},l=e=>{try{i(n.throw(e))}catch(e){o(e)}},i=e=>e.done?s(e.value):Promise.resolve(e.value).then(r,l);i((n=n.apply(e,t)).next())})),Xe=(e,t,n)=>new Promise(((s,o)=>{var r=e=>{try{i(n.next(e))}catch(e){o(e)}},l=e=>{try{i(n.throw(e))}catch(e){o(e)}},i=e=>e.done?s(e.value):Promise.resolve(e.value).then(r,l);i((n=n.apply(e,t)).next())}));const Ye=e=>e.headers.get("ETag");var Ze=Object.getOwnPropertySymbols,_e=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable;const tt=me((e=>{const t=e.createStore,[n,o,r,l,i,,,a,,d,c,f,p]=Ie(e,(()=>!0),_),y=t(),T=t(),m=ie(),b=(e,t,...n)=>J(n,(n=>Re(ve(ve(m,t,ie),e,Se),n))),C=e=>{U(de(m,e),(e=>{ce(e,((e,t)=>re(t,(t=>e.delListener(t))))),oe(e)})),J([T,y],(t=>t.delTable(e)))},V=(e,t,n)=>b(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),E={setQueryDefinition:(t,n,o)=>{a(t,n),C(t);const r=[],l=[[null,[n,null,null,[],ie()]]],i=[],d=[],c=[];o({select:(e,t)=>{const n=Y(e)?[D(r)+s,e]:[K(t)?e:t,n=>n(e,t)];return Q(r,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=K(n)||Y(t)?null:t,o=K(s)?t:n,r=[e,[e,s,Y(o)?o:e=>e(o),[],ie()]];return Q(l,r),{as:e=>r[0]=e}},where:(e,t,n)=>Q(i,Y(e)?e:K(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,o)=>{var r;const l=[e,[e,Y(t)?[t,n,s,o]:null!=(r=de(ze,t))?r:[(e,t)=>t]]];return Q(d,l),{as:e=>l[0]=e}},having:(e,t)=>Q(c,Y(e)?e:n=>n(e)===t)});const u=ie(r);if(ne(u))return E;const v=ie(l);ce(v,((e,[,t])=>U(de(v,t),(({3:t})=>K(e)?0:Q(t,e)))));const h=ie(d);let g=y;if(ne(h)&&O(c))g=T;else{V(t,g,T);const e=ie();ce(h,((t,[n,s])=>Re(ve(e,n,Se),[t,s])));const n=Se();ce(u,(t=>te(e,t)?0:Re(n,t)));const s=ie(),o=(n,s,o,r)=>U(n,(([l,i,a,d])=>{ce(s,((t,[n])=>{const s=ve(l,t,ie),i=de(s,o),a=r?void 0:n;if(i!==a){const n=Se([[i,a]]),r=ee(s);ue(s,o,a),re(de(e,t),(([e,t])=>{const o=Ne(d[e],r,s,n,t);d[e]=K(ye(o))?null:o}))}})),ne(i)||!x(c,(e=>e((e=>d[e]))))?T.delRow(t,a):K(a)?n[2]=T.addRow(t,d):T.setRow(t,a,d)}));b(g,t,g.addRowListener(t,null,((r,l,i,a)=>{const d=[],c=[],u=ie(),v=g.hasRow(t,i);let h=!v;re(n,(e=>{const[n,s,o]=a(t,i,e);Q(d,s),Q(c,o),h||(h=n)})),ce(e,(e=>{const[n,,s]=a(t,i,e);(h||n)&&ue(u,e,[s])})),h&&o(pe(s,d,void 0,(([,e])=>(le(e,i),ne(e)))),u,i,1),v&&o(pe(s,c,(()=>{const e={};return re(n,(n=>e[n]=g.getCell(t,i,n))),[ie(),Se(),void 0,e]}),(([,e])=>{Re(e,i)})),u,i)})))}V(t,e,g);const L=(s,o,r,l)=>{const a=t=>e.getCell(o,r,t);J(l,(n=>{var o;const[r,,l,i,d]=de(v,n),c=null==l?void 0:l(a,s),[u,h]=null!=(o=de(d,s))?o:[];c!=u&&(K(h)||p(t,h),ue(d,s,K(c)?null:[c,...f(t,1,e.addRowListener(r,c,(()=>L(s,r,c,i))))]))})),(s=>{const o=(t,o)=>{var r,l,i;return e.getCell(...K(o)?[n,s,t]:t===n?[n,s,o]:[null==(r=de(v,t))?void 0:r[0],null==(i=de(null==(l=de(v,t))?void 0:l[4],s))?void 0:i[0],o])};g.transaction((()=>x(i,(e=>e(o)))?ce(u,((e,n)=>Le(g,t,s,e,n(o,s)))):g.delRow(t,s)))})(s)},{3:w}=de(v,null);return g.transaction((()=>f(t,1,e.addRowListener(n,null,((s,o,r)=>{e.hasRow(n,r)?L(r,n,r,w):(g.delRow(t,r),re(v,(({4:e})=>U(de(e,r),(([,n])=>{p(t,n),ue(e,r)})))))}))))),E},delQueryDefinition:e=>(C(e),d(e),E),getStore:n,getQueryIds:o,forEachQuery:r,hasQuery:l,getTableId:i,delListener:e=>(T.delListener(e),E),destroy:c,getListenerStats:()=>((e,t)=>{var n={};for(var s in e)_e.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&Ze)for(var s of Ze(e))t.indexOf(s)<0&&et.call(e,s)&&(n[s]=e[s]);return n})(T.getListenerStats(),["tables","tableIds","transaction"])};return De({[g]:[1,1],[w]:[0,1],[S]:[0,5],[L]:[1,2],[I]:[0,2],[R]:[1,3]},(([e,t],n)=>{J(e?["get","has","forEach"]:["get"],(e=>E[e+v+n]=(...t)=>T[e+n](...t))),E[h+v+n+u]=(...e)=>T[h+n+u](...j(e,0,t),((n,...s)=>e[t](E,...s)))})),ke(E)})),nt=me((e=>{const t=ie(),n=ie(),o=ie(),r=ie(),[l,i,a,d,c,u,,,v,h,f]=Ie(e,(()=>[ie(),ie(),ie(),ie()]),(e=>K(e)?void 0:e+s)),[g,p,y]=Ve((()=>R)),L=(e,t,n)=>U(u(e),(([s,,o])=>{if(!te(o,t)){const r=Se();if(c(e)!=S(e))Re(r,t);else{let e=t;for(;!K(e)&&!te(r,e);)Re(r,e),e=de(s,e)}if(n)return r;ue(o,t,r)}return de(o,t)})),w=(e,t)=>U(u(e),(([,,e])=>ue(e,t))),S=e=>de(t,e),R={setRelationshipDefinition:(e,s,l,i)=>(ue(t,e,l),v(e,s,((t,s)=>{const l=Se(),i=Se(),a=Se(),[d,c]=u(e);re(s,(([t,n],s)=>{K(t)||(Re(i,t),U(de(c,t),(e=>{le(e,s),ne(e)&&ue(c,t)}))),K(n)||(Re(i,n),te(c,n)||ue(c,n,Se()),Re(de(c,n),s)),Re(l,s),ue(d,s,n),ce(de(r,e),(t=>{te(L(e,t),s)&&Re(a,t)}))})),t(),re(l,(t=>p(n,[e,t]))),re(i,(t=>p(o,[e,t]))),re(a,(t=>{w(e,t),p(r,[e,t])}))}),Te(i)),R),delRelationshipDefinition:e=>(ue(t,e),h(e),R),getStore:l,getRelationshipIds:i,forEachRelationship:t=>a((n=>t(n,(t=>e.forEachRow(c(n),t))))),hasRelationship:d,getLocalTableId:c,getRemoteTableId:S,getRemoteRowId:(e,t)=>{var n;return de(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return se(de(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>K(u(e))?[t]:se(L(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>g(s,n,[e,t]),addLocalRowIdsListener:(e,t,n)=>g(n,o,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(L(e,t),g(n,r,[e,t])),delListener:e=>(w(...y(e)),R),destroy:f,getListenerStats:()=>({})};return ke(R)})),st=e=>[e,e],ot=()=>[ie(),ie()],rt=(e,t,n,s=ue)=>(De(t,((t,s)=>n(e,s,t))),ce(e,(n=>Me(t,n)?0:s(e,n))),e),lt=(e,t,n)=>K(e)||!Je(e)||Oe(e)||Pe(e)?(null==n||n(),!1):(De(e,((n,s)=>{t(n,s)||Ae(e,s)})),!Oe(e)),it=(e,t,n)=>ue(e,t,de(e,t)==-n?void 0:n),at=()=>{let e,t,n,s,o=0;const r=ie(),i=ie(),c=ie(),v=ie(),f=ie(),S=ie(),x=ie(),P=ie(),A=ie(),D=ie(),O=ie(),F=ie(),z=Se(),N=ie(),q=ie(),H=ie(),$=ot(),G=ot(),Z=ot(),_=ot(),ee=ot(),se=ot(),pe=ot(),Ie=ot(),Te=ot(),me=ot(),be=ot(),xe=ot(),Ee=ot(),Pe=ot(),[Je,Fe,Qe,ze]=Ve((()=>tn)),Ne=e=>{if(!lt(e,((e,t)=>V([a,d],t))))return!1;const t=e[a];return!(!X(t)&&t!=l||(ye(e[d])!=t&&Ae(e,d),0))},We=(t,n)=>(!e||te(A,n)||mt(n))&<(t,((e,t)=>Be(n,t,e)),(()=>mt(n))),Be=(e,t,n,s)=>lt(s?n:Ge(n,e,t),((s,o)=>U(qe(e,t,o,s),(e=>(n[o]=e,!0)),(()=>!1))),(()=>mt(e,t))),qe=(t,n,s,o)=>e?U(de(de(A,t),s),(e=>ye(o)!=e[a]?mt(t,n,s,o,e[d]):o),(()=>mt(t,n,s,o))):K(ye(o))?mt(t,n,s,o):o,He=(e,t)=>lt(t?e:Ke(e),((t,n)=>U($e(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>bt())),$e=(e,n)=>t?U(de(O,e),(t=>ye(n)!=t[a]?bt(e,n,t[d]):n),(()=>bt(e,n))):K(ye(n))?bt(e,n):n,Ge=(e,t,n)=>(U(de(D,t),(([s,o])=>{re(s,((t,n)=>{Me(e,n)||(e[n]=t)})),re(o,(s=>{Me(e,s)||mt(t,n,s)}))})),e),Ke=e=>(t&&(re(F,((t,n)=>{Me(e,n)||(e[n]=t)})),re(z,(t=>{Me(e,t)||bt(t)}))),e),Ue=e=>rt(A,e,((e,t,n)=>{const s=ie(),o=Se();rt(ve(A,t,ie),n,((e,t,n)=>{ue(e,t,n),U(n[d],(e=>ue(s,t,e)),(()=>Re(o,t)))})),ue(D,t,[s,o])}),((e,t)=>{ue(A,t),ue(D,t)})),Xe=e=>rt(O,e,((e,t,n)=>{ue(O,t,n),U(n[d],(e=>ue(F,t,e)),(()=>Re(z,t)))}),((e,t)=>{ue(O,t),ue(F,t),le(z,t)})),Ye=e=>Oe(e)?Kt():Bt(e),Ze=e=>rt(q,e,((e,t,n)=>_e(t,n)),((e,t)=>ft(t))),_e=(e,t)=>rt(ve(q,e,(()=>(Lt(e,1),ie()))),t,((t,n,s)=>et(e,t,n,s)),((t,n)=>gt(e,t,n))),et=(e,t,n,s,o)=>rt(ve(t,n,(()=>(wt(e,n,1),ie()))),s,((t,s,o)=>tt(e,n,t,s,o)),((s,r)=>pt(e,t,n,s,r,o))),tt=(e,t,n,s,o)=>{te(n,s)||St(e,t,s,1);const r=de(n,s);o!==r&&(Rt(e,t,s,r,o),ue(n,s,o))},nt=(e,t,n,s,o)=>U(de(t,n),(t=>tt(e,n,t,s,o)),(()=>et(e,t,n,Ge({[s]:o},e,n)))),dt=e=>Oe(e)?Ut():qt(e),ct=e=>rt(H,e,((e,t,n)=>ut(t,n)),((e,t)=>yt(t))),ut=(e,t)=>{te(H,e)||It(e,1);const n=de(H,e);t!==n&&(Tt(e,n,t),ue(H,e,t))},vt=(e,t)=>{const[n]=ve(N,e,Ce),s=n(t);return te(de(q,e),s)?vt(e,t):s},ht=e=>{var t;return null!=(t=de(q,e))?t:_e(e,{})},ft=e=>_e(e,{}),gt=(e,t,n)=>{const[,s]=ve(N,e,Ce);s(n),et(e,t,n,{},!0)},pt=(e,t,n,s,o,r)=>{var l;const i=de(null==(l=de(D,e))?void 0:l[0],o);if(!K(i)&&!r)return tt(e,n,s,o,i);const a=t=>{Rt(e,n,t,de(s,t)),St(e,n,t,-1),ue(s,t)};K(i)?a(o):ce(s,a),ne(s)&&(wt(e,n,-1),ne(ue(t,n))&&(Lt(e,-1),ue(q,e),ue(N,e)))},yt=e=>{const t=de(F,e);if(!K(t))return ut(e,t);Tt(e,de(H,e)),It(e,-1),ue(H,e)},Lt=(e,t)=>it(r,e,t),wt=(e,t,n)=>it(ve(i,e,ie),t,n),St=(e,t,n,s)=>it(ve(ve(c,e,ie),t,ie),n,s),Rt=(e,t,n,s,o)=>ve(ve(ve(v,e,ie),t,ie),n,(()=>[s,0]))[1]=o,It=(e,t)=>it(f,e,t),Tt=(e,t,n)=>ve(S,e,(()=>[t,0]))[1]=n,mt=(e,t,n,s,o)=>(Q(ve(ve(ve(x,e,ie),t,ie),n,(()=>[])),s),o),bt=(e,t,n)=>(Q(ve(P,e,(()=>[])),t),n),Ct=(e,t,n)=>U(de(de(de(v,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...st(Qt(e,t,n))])),Vt=e=>U(de(S,e),(([e,t])=>[!0,e,t]),(()=>[!1,...st(Wt(e))])),xt=e=>ne(x)||ne(Te[e])?0:re(e?fe(x,ge):x,((t,n)=>re(t,((t,s)=>re(t,((t,o)=>Fe(Te[e],[n,s,o],t))))))),Et=e=>ne(P)||ne(me[e])?0:re(e?fe(P):P,((t,n)=>Fe(me[e],[n],t))),Pt=(e,t,n)=>{if(!ne(t))return Fe(e,n),1},kt=e=>{const t=ne(ee[e]),n=ne(pe[e])&&ne(_[e])&&t&&ne(G[e]),s=ne(Ie[e])&&ne(se[e])&&ne(Z[e])&&ne($[e]);if(!n||!s){const o=e?[fe(r),ge(i),fe(c,ge),fe(v,ge)]:[r,i,c,v];if(!n){re(o[2],((t,n)=>re(t,((t,s)=>Pt(pe[e],t,[n,s])))));const n=Se();re(o[1],((s,o)=>{Pt(_[e],s,[o])&&!t&&(Fe(ee[e],[o,null]),Re(n,o))})),t||re(o[3],((t,s)=>{if(!te(n,s)){const n=Se();re(t,(e=>re(e,(([t,s],o)=>s!==t?Re(n,o):le(e,o))))),re(n,(t=>Fe(ee[e],[s,t])))}})),Pt(G[e],o[0])}if(!s){let t;re(o[3],((n,s)=>{let o;re(n,((n,r)=>{let l;re(n,(([n,i],a)=>{i!==n&&(Fe(Ie[e],[s,r,a],i,n,Ct),t=o=l=1)})),l&&Fe(se[e],[s,r],Ct)})),o&&Fe(Z[e],[s],Ct)})),t&&Fe($[e],void 0,Ct)}}},Jt=e=>{const t=ne(xe[e]),n=ne(Ee[e])&&ne(be[e]);if(!t||!n){const s=e?[fe(f),fe(S)]:[f,S];if(t||Pt(xe[e],s[0]),!n){let t;re(s[1],(([n,s],o)=>{s!==n&&(Fe(Ee[e],[o],s,n,Vt),t=1)})),t&&Fe(be[e],void 0,Vt)}}},Mt=(e,...t)=>(Zt((()=>e(...M(t,C)))),tn),At=()=>he(q,(e=>he(e,he))),Dt=()=>ae(q),Ot=e=>ae(de(q,C(e))),Ft=(e,t,n,s=0,o)=>{return M(j(k((r=de(q,C(e)),l=(e,n)=>[K(t)?n:de(e,C(t)),n],M([...null!=(i=null==r?void 0:r.entries())?i:[]],(([e,t])=>l(t,e)))),(([e],[t])=>je(e,t)*(n?-1:1))),s,K(o)?o:s+o),(([,e])=>e));var r,l,i},jt=(e,t)=>ae(de(de(q,C(e)),C(t))),Qt=(e,t,n)=>de(de(de(q,C(e)),C(t)),C(n)),zt=()=>he(H),Nt=()=>ae(H),Wt=e=>de(H,C(e)),Bt=e=>Mt((()=>(e=>lt(e,We,mt))(e)?Ze(e):0)),qt=e=>Mt((()=>He(e)?ct(e):0)),Ht=e=>{try{Ye(B(e))}catch(e){}return tn},$t=t=>Mt((()=>{if((e=lt(t,(e=>lt(e,Ne))))&&(Ue(t),!ne(q))){const e=At();Kt(),Bt(e)}})),Gt=e=>Mt((()=>{if(t=(e=>lt(e,Ne))(e)){const n=zt();Yt(),Ut(),t=!0,Xe(e),qt(n)}})),Kt=()=>Mt((()=>Ze({}))),Ut=()=>Mt((()=>ct({}))),Xt=()=>Mt((()=>{Ue({}),e=!1})),Yt=()=>Mt((()=>{Xe({}),t=!1})),Zt=(e,t)=>{if(-1==o)return;_t();const n=e();return en(t),n},_t=()=>(o++,tn),en=e=>(o>0&&(o--,0==o&&(n=!ne(v),s=!ne(S),o=1,xt(1),n&&kt(1),Et(1),s&&Jt(1),o=-1,(null==e?void 0:e(he(v,(e=>he(e,(e=>he(e,(e=>[...e]),(([e,t])=>e===t))),Oe)),Oe),he(x,(e=>he(e,he))),he(S,(e=>[...e]),(([e,t])=>e===t)),he(P)))&&(o=1,re(v,((e,t)=>re(e,((e,n)=>re(e,(([e],s)=>Le(tn,t,n,s,e))))))),re(S,(([e],t)=>we(tn,t,e))),o=-1,n=s=!1),Fe(Pe[0],void 0,n,s),xt(0),n&&kt(0),Et(0),s&&Jt(0),Fe(Pe[1],void 0,n,s),o=0,J([r,i,c,v,x,f,S,P],oe))),tn),tn={getTables:At,getTableIds:Dt,getTable:e=>he(de(q,C(e)),he),getRowIds:Ot,getSortedRowIds:Ft,getRow:(e,t)=>he(de(de(q,C(e)),C(t))),getCellIds:jt,getCell:Qt,getValues:zt,getValueIds:Nt,getValue:Wt,hasTables:()=>!ne(q),hasTable:e=>te(q,C(e)),hasRow:(e,t)=>te(de(q,C(e)),C(t)),hasCell:(e,t,n)=>te(de(de(q,C(e)),C(t)),C(n)),hasValues:()=>!ne(H),hasValue:e=>te(H,C(e)),getTablesJson:()=>W(q),getValuesJson:()=>W(H),getJson:()=>W([q,H]),getTablesSchemaJson:()=>W(A),getValuesSchemaJson:()=>W(O),getSchemaJson:()=>W([A,O]),setTables:Bt,setTable:(e,t)=>Mt((e=>We(t,e)?_e(e,t):0),e),setRow:(e,t,n)=>Mt(((e,t)=>Be(e,t,n)?et(e,ht(e),t,n):0),e,t),addRow:(e,t,n=!0)=>Zt((()=>{let s;return Be(e,s,t)&&(e=C(e),et(e,ht(e),s=vt(e,n?1:0),t)),s})),setPartialRow:(e,t,n)=>Mt(((e,t)=>{if(Be(e,t,n,1)){const s=ht(e);De(n,((n,o)=>nt(e,s,t,o,n)))}}),e,t),setCell:(e,t,n,s)=>Mt(((e,t,n)=>U(qe(e,t,n,Y(s)?s(Qt(e,t,n)):s),(s=>nt(e,ht(e),t,n,s)))),e,t,n),setValues:qt,setPartialValues:e=>Mt((()=>He(e,1)?De(e,((e,t)=>ut(t,e))):0)),setValue:(e,t)=>Mt((e=>U($e(e,Y(t)?t(Wt(e)):t),(t=>ut(e,t)))),e),setTablesJson:Ht,setValuesJson:e=>{try{dt(B(e))}catch(e){}return tn},setJson:e=>{try{const[t,n]=B(e);Ye(t),dt(n)}catch(t){Ht(e)}return tn},setTablesSchema:$t,setValuesSchema:Gt,setSchema:(e,t)=>Mt((()=>{$t(e),Gt(t)})),delTables:Kt,delTable:e=>Mt((e=>te(q,e)?ft(e):0),e),delRow:(e,t)=>Mt(((e,t)=>U(de(q,e),(n=>te(n,t)?gt(e,n,t):0))),e,t),delCell:(e,t,n,s)=>Mt(((e,t,n)=>U(de(q,e),(o=>U(de(o,t),(r=>te(r,n)?pt(e,o,t,r,n,s):0))))),e,t,n),delValues:Ut,delValue:e=>Mt((e=>te(H,e)?yt(e):0),e),delTablesSchema:Xt,delValuesSchema:Yt,delSchema:()=>Mt((()=>{Xt(),Yt()})),transaction:Zt,startTransaction:_t,finishTransaction:en,forEachTable:e=>re(q,((t,n)=>e(n,(e=>re(t,((t,n)=>e(n,(e=>ce(t,e))))))))),forEachRow:(e,t)=>re(de(q,C(e)),((e,n)=>t(n,(t=>ce(e,t))))),forEachCell:(e,t,n)=>ce(de(de(q,C(e)),C(t)),n),forEachValue:e=>ce(H,e),addSortedRowIdsListener:(e,t,n,s,o,r,l)=>{let i=Ft(e,t,n,s,o);return Je((()=>{const l=Ft(e,t,n,s,o);E(l,i)||(i=l,r(tn,e,t,n,s,o,i))}),ee[l?1:0],[e,t],[Dt])},addWillFinishTransactionListener:e=>Je(e,Pe[0]),addDidFinishTransactionListener:e=>Je(e,Pe[1]),callListener:e=>(ze(e),tn),delListener:e=>(Qe(e),tn),getListenerStats:()=>({}),createStore:at};return De({[p]:[0,$],[y]:[0,G],[g]:[1,Z,[Dt]],[w]:[1,_,[Dt]],[L]:[2,se,[Dt,Ot]],[I]:[2,pe,[Dt,Ot]],[R]:[3,Ie,[Dt,Ot,jt],e=>st(Qt(...e))],InvalidCell:[3,Te],[m]:[0,be],[b]:[0,xe],[T]:[1,Ee,[Nt],e=>st(Wt(e[0]))],InvalidValue:[1,me]},(([e,t,n,s],o)=>{tn[h+o+u]=(...o)=>Je(o[e],t[o[e+1]?1:0],e>0?j(o,0,e):void 0,n,s)})),ke(tn)};e.createCheckpoints=Fe,e.createCustomPersister=qe,e.createFilePersister=(e,n)=>{let s;return qe(e,(()=>Ue(void 0,null,(function*(){try{return yield t.promises.readFile(n,c)}catch(e){}}))),(e=>Ue(void 0,null,(function*(){try{yield t.promises.writeFile(n,e,c)}catch(e){}}))),(e=>{s=t.watch(n,e)}),(()=>{null==s||s.close(),s=void 0}))},e.createIndexes=Qe,e.createLocalPersister=(e,t)=>Ke(e,t,localStorage),e.createMetrics=We,e.createQueries=tt,e.createRelationships=nt,e.createRemotePersister=(e,t,n,s)=>{let o,r;return qe(e,(()=>Xe(void 0,null,(function*(){const e=yield fetch(t);return r=Ye(e),e.text()}))),(e=>Xe(void 0,null,(function*(){return yield fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:e})}))),(e=>{o=setInterval((()=>Xe(void 0,null,(function*(){const n=yield fetch(t,{method:"HEAD"}),s=Ye(n);K(r)||K(s)||s==r||(r=s,e())}))),1e3*s)}),(()=>{U(o,clearInterval),o=void 0}))},e.createSessionPersister=(e,t)=>Ke(e,t,sessionStorage),e.createStore=at,e.defaultSorter=je},"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,s="",o=n(s),r=n(!0),l=n(0),i=n(n),a="type",d="default",c="utf8",u="Listener",v="Result",h="add",f="Ids",g="Table",p=g+"s",y=g+f,L="Row",w=L+f,S="Sorted"+L+f,R="Cell",I=R+f,T="Value",m=T+"s",b=T+f,C=e=>s+e,V=(e,t)=>e.includes(t),x=(e,t)=>e.every(t),E=(e,t)=>D(e)===D(t)&&x(e,((e,n)=>t[n]===e)),P=(e,t)=>x(e,((n,s)=>0==s||t(e[s-1],n)<=0)),k=(e,t)=>e.sort(t),J=(e,t)=>e.forEach(t),M=(e,t)=>e.map(t),A=e=>F(e,((e,t)=>e+t),0),D=e=>e.length,O=e=>0==D(e),F=(e,t,n)=>e.reduce(t,n),j=(e,t,n)=>e.slice(t,n),Q=(e,...t)=>e.push(...t),z=e=>e.pop(),N=e=>e.shift(),W=e=>JSON.stringify(e,((e,t)=>G(t,Map)?F([...t],((e,[t,n])=>(e[t]=n,e)),{}):t)),B=JSON.parse,q=Math.max,H=Math.min,$=isFinite,G=(e,t)=>e instanceof t,K=e=>null==e,U=(e,t,n)=>K(e)?null==n?void 0:n():t(e),X=e=>e==o||e==r,Y=e=>n(e)==i,Z=e=>Array.isArray(e),_=()=>{},ee=e=>e.size,te=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},ne=e=>K(e)||0==ee(e),se=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},oe=e=>e.clear(),re=(e,t)=>null==e?void 0:e.forEach(t),le=(e,t)=>null==e?void 0:e.delete(t),ie=e=>new Map(e),ae=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},de=(e,t)=>null==e?void 0:e.get(t),ce=(e,t)=>re(e,((e,n)=>t(n,e))),ue=(e,t,n)=>K(n)?(le(e,t),e):null==e?void 0:e.set(t,n),ve=(e,t,n)=>(te(e,t)||ue(e,t,n()),de(e,t)),he=(e,t,n)=>{const s={},o=null!=t?t:e=>e;return re(e,((e,t)=>U(o(e),(e=>(null==n?void 0:n(e))?0:s[t]=e)))),s},fe=(e,t)=>{const n=ie(),s=null!=t?t:e=>e;return re(e,((e,t)=>n.set(t,s(e)))),n},ge=e=>fe(e,fe),pe=(e,t,n,s,o=0)=>U((n?ve:de)(e,t[o],o>D(t)-2?n:ie),(r=>{if(o>D(t)-2)return(null==s?void 0:s(r))&&ue(e,t[o]),r;const l=pe(r,t,n,s,o+1);return ne(r)&&ue(e,t[o]),l})),ye=e=>{const t=n(e);return X(t)||t==l&&$(e)?t:void 0},Le=(e,t,n,s,o)=>K(o)?e.delCell(t,n,s,!0):e.setCell(t,n,s,o),we=(e,t,n)=>K(n)?e.delValue(t):e.setValue(t,n),Se=e=>new Set(Z(e)||K(e)?e:[e]),Re=(e,t)=>null==e?void 0:e.add(t),Ie=(e,t,n)=>{const s=e.hasRow,o=ie(),r=ie(),l=ie(),i=ie(),a=ie(),d=(t,n,...s)=>{const o=ve(a,t,Se);return J(s,(t=>Re(o,t)&&n&&e.callListener(t))),s},c=(t,...n)=>U(de(a,t),(s=>{J(O(n)?se(s):n,(t=>{e.delListener(t),le(s,t)})),ne(s)&&ue(a,t)})),u=(e,n)=>{ue(o,e,n),te(r,e)||(ue(r,e,t()),ue(l,e,ie()),ue(i,e,ie()))},v=e=>{ue(o,e),ue(r,e),ue(l,e),ue(i,e),c(e)};return[()=>e,()=>ae(o),e=>ce(r,e),e=>te(r,e),e=>de(o,e),e=>de(r,e),(e,t)=>ue(r,e,t),u,(t,o,r,a,v)=>{u(t,o);const h=ie(),f=ie(),g=de(l,t),p=de(i,t),y=t=>{const r=n=>e.getCell(o,t,n),l=de(g,t),i=s(o,t)?n(a(r,t)):void 0;if(l===i||Z(l)&&Z(i)&&E(l,i)||ue(h,t,[l,i]),!K(v)){const e=de(p,t),n=s(o,t)?v(r,t):void 0;e!=n&&ue(f,t,n)}},L=e=>{r((()=>{re(h,(([,e],t)=>ue(g,t,e))),re(f,((e,t)=>ue(p,t,e)))}),h,f,g,p,e),oe(h),oe(f)};ce(g,y),e.hasTable(o)&&J(e.getRowIds(o),(e=>{te(g,e)||y(e)})),L(!0),c(t),d(t,0,e.addRowListener(o,null,((e,t,n)=>y(n))),e.addTableListener(o,(()=>L())))},v,()=>ce(a,v),d,c]},Te=(e,t)=>n(e)==o?t=>t(e):null!=e?e:()=>null!=t?t:s,me=e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))},be=/^\d+$/,Ce=()=>{const e=[];let t=0;return[n=>{var o;return null!=(o=n?N(e):null)?o:s+t++},t=>{be.test(t)&&D(e)<1e3&&Q(e,t)}]},Ve=e=>{let t;const[n,o]=Ce(),r=ie();return[(o,l,i,a=[],d=(()=>[]))=>{null!=t||(t=e());const c=n(1);return ue(r,c,[o,l,i,a,d]),Re(pe(l,null!=i?i:[s],Se),c),c},(e,n,...o)=>J(((e,t=[s])=>{const n=[],o=(e,s)=>s==D(t)?Q(n,e):null===t[s]?re(e,(e=>o(e,s+1))):J([t[s],null],(t=>o(de(e,t),s+1)));return o(e,0),n})(e,n),(e=>re(e,(e=>de(r,e)[0](t,...null!=n?n:[],...o))))),e=>U(de(r,e),(([,t,n])=>(pe(t,null!=n?n:[s],void 0,(t=>(le(t,e),ne(t)?1:0))),ue(r,e),o(e),n))),e=>U(de(r,e),(([e,,n=[],s,o])=>{const r=(...l)=>{var i,a;const d=D(l);d==D(n)?e(t,...l,...o(l)):K(n[d])?J(null!=(a=null==(i=s[d])?void 0:i.call(s,...l))?a:[],(e=>r(...l,e))):r(...l,n[d])};r()}))]},xe=Object,Ee=xe.keys,Pe=xe.isFrozen,ke=xe.freeze,Je=e=>G(e,xe)&&e.constructor==xe,Me=(e,t)=>!K(((e,t)=>U(e,(e=>e[t])))(e,t)),Ae=(e,t)=>delete e[t],De=(e,t)=>M(xe.entries(e),(([e,n])=>t(n,e))),Oe=e=>Je(e)&&O(Ee(e)),Fe=me((e=>{let t,n,o,r=100,l=ie(),i=ie(),a=1;const d=ie(),c=ie(),[u,v,h]=Ve((()=>F)),f=ie(),g=ie(),p=[],y=[],L=(t,n)=>{a=0,e.transaction((()=>{const[s,o]=de(f,n);re(s,((n,s)=>re(n,((n,o)=>re(n,((n,r)=>Le(e,s,o,r,n[t]))))))),re(o,((n,s)=>we(e,s,n[t])))})),a=1},w=e=>{ue(f,e),ue(g,e),v(c,[e])},S=(e,t)=>J(((e,t)=>e.splice(0,t))(e,null!=t?t:D(e)),w),R=()=>S(p,D(p)-r),I=()=>U(t,(()=>{Q(p,t),R(),S(y),t=void 0,o=1})),T=()=>{t=z(p),o=1},m=e.addCellListener(null,null,null,((e,t,n,s,o,r)=>{if(a){I();const e=ve(l,t,ie),i=ve(e,n,ie),a=ve(i,s,(()=>[r,void 0]));a[1]=o,a[0]===o&&ne(ue(i,s))&&ne(ue(e,n))&&ne(ue(l,t))&&T(),P()}})),b=e.addValueListener(null,((e,t,n,s)=>{if(a){I();const e=ve(i,t,(()=>[s,void 0]));e[1]=n,e[0]===n&&ne(ue(i,t))&&T(),P()}})),C=(e="")=>(K(t)&&(t=s+n++,ue(f,t,[l,i]),M(t,e),l=ie(),i=ie(),o=1),t),x=()=>{O(p)||(((e,...t)=>{e.unshift(...t)})(y,C()),L(0,t),t=z(p),o=1)},E=()=>{O(y)||(Q(p,t),t=N(y),L(1,t),o=1)},P=()=>{o&&(v(d),o=0)},k=e=>{const t=C(e);return P(),t},M=(e,t)=>(A(e)&&de(g,e)!==t&&(ue(g,e,t),v(c,[e])),F),A=e=>te(f,e),F={setSize:e=>(r=e,R(),F),addCheckpoint:k,setCheckpoint:M,getStore:()=>e,getCheckpointIds:()=>[[...p],t,[...y]],forEachCheckpoint:e=>ce(g,e),hasCheckpoint:A,getCheckpoint:e=>de(g,e),goBackward:()=>(x(),P(),F),goForward:()=>(E(),P(),F),goTo:e=>{const n=V(p,e)?x:V(y,e)?E:null;for(;!K(n)&&e!=t;)n();return P(),F},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(h(e),F),clear:()=>(S(p),S(y),K(t)||w(t),t=void 0,n=0,k(),F),destroy:()=>{e.delListener(m),e.delListener(b)},getListenerStats:()=>({})};return ke(F.clear())})),je=(e,t)=>e<t?-1:1,Qe=me((e=>{const t=ie(),n=ie(),[o,r,l,i,a,d,c,,u,v,h]=Ie(e,ie,(e=>K(e)?s:Z(e)?M(e,C):C(e))),[f,g,p]=Ve((()=>L)),y=(t,n,s)=>{const o=a(t);re(s,((t,s)=>n(s,(n=>re(t,(t=>n(t,(n=>e.forEachCell(o,t,n)))))))))},L={setIndexDefinition:(e,s,o,r,l,i=je)=>{const a=K(l)?void 0:([e],[t])=>l(e,t);return u(e,s,((s,o,l,u,v,h)=>{let f=0;const p=Se(),y=Se(),L=d(e);if(re(o,(([e,t],n)=>{const s=Se(e),o=Se(t);re(s,(e=>le(o,e)?le(s,e):0)),re(s,(e=>{Re(p,e),U(de(L,e),(t=>{le(t,n),ne(t)&&(ue(L,e),f=1)}))})),re(o,(e=>{Re(p,e),te(L,e)||(ue(L,e,Se()),f=1),Re(de(L,e),n),K(r)||Re(y,e)}))})),s(),ne(v)||(h?ce(L,(e=>Re(y,e))):ce(l,(e=>U(de(u,e),(e=>Re(y,e))))),re(y,(e=>{const t=(t,n)=>i(de(v,t),de(v,n),e),n=[...de(L,e)];P(n,t)||(ue(L,e,Se(k(n,t))),Re(p,e))}))),(f||h)&&!K(a)){const t=[...L];P(t,a)||(c(e,ie(k(t,a))),f=1)}f&&g(t,[e]),re(p,(t=>g(n,[e,t])))}),Te(o),U(r,Te)),L},delIndexDefinition:e=>(v(e),L),getStore:o,getIndexIds:r,forEachIndex:e=>l(((t,n)=>e(t,(e=>y(t,e,n))))),forEachSlice:(e,t)=>y(e,t,d(e)),hasIndex:i,hasSlice:(e,t)=>te(d(e),t),getTableId:a,getSliceIds:e=>ae(d(e)),getSliceRowIds:(e,t)=>se(de(d(e),t)),addSliceIdsListener:(e,n)=>f(n,t,[e]),addSliceRowIdsListener:(e,t,s)=>f(s,n,[e,t]),delListener:e=>(p(e),L),destroy:h,getListenerStats:()=>({})};return ke(L)})),ze=ie([["avg",[(e,t)=>A(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>q(...e),(e,t)=>q(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:q(t,e)]],["min",[e=>H(...e),(e,t)=>H(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:H(t,e)]],["sum",[e=>A(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),Ne=(e,t,n,s,o,r=!1)=>{if(ne(n))return;const[l,i,a,d]=o;return r||(r=K(e)),re(s,(([n,s])=>{r||(e=K(n)?null==i?void 0:i(e,s,t++):K(s)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,s,n,t),r||(r=K(e)))})),r?l(se(n),ee(n)):e},We=me((e=>{const t=ie(),[n,o,r,l,i,a,d,,c,u,v]=Ie(e,_,(e=>isNaN(e)||K(e)||!0===e||!1===e||e===s?void 0:1*e)),[h,f,g]=Ve((()=>p)),p={setMetricDefinition:(e,n,s,o,r,l,i)=>{var u;const v=Y(s)?[s,r,l,i]:null!=(u=de(ze,s))?u:de(ze,"sum");return c(e,n,((n,s,o,r,l,i)=>{const c=a(e),u=ee(r);i||(i=K(c)),n();let h=Ne(c,u,r,s,v,i);$(h)||(h=void 0),h!=c&&(d(e,h),f(t,[e],h,c))}),Te(o,1)),p},delMetricDefinition:e=>(u(e),p),getStore:n,getMetricIds:o,forEachMetric:r,hasMetric:l,getTableId:i,getMetric:a,addMetricListener:(e,n)=>h(n,t,[e]),delListener:e=>(g(e),p),destroy:v,getListenerStats:()=>({})};return ke(p)}));var Be=(e,t,n)=>new Promise(((s,o)=>{var r=e=>{try{i(n.next(e))}catch(e){o(e)}},l=e=>{try{i(n.throw(e))}catch(e){o(e)}},i=e=>e.done?s(e.value):Promise.resolve(e.value).then(r,l);i((n=n.apply(e,t)).next())}));const qe=(e,t,n,o,r)=>{let l,i,a=0;const d={load:(...n)=>Be(void 0,[...n],(function*(n={},o={}){if(2!=a){a=1;const r=yield t();K(r)||r==s?e.transaction((()=>e.setTables(n).setValues(o))):e.setJson(r),a=0}return d})),startAutoLoad:(...e)=>Be(void 0,[...e],(function*(e={},t={}){return d.stopAutoLoad(),yield d.load(e,t),o(d.load),d})),stopAutoLoad:()=>(r(),d),save:()=>Be(void 0,null,(function*(){return 1!=a&&(a=2,yield n(e.getJson()),a=0),d})),startAutoSave:()=>Be(void 0,null,(function*(){return yield d.stopAutoSave().save(),l=e.addTablesListener(d.save),i=e.addValuesListener(d.save),d})),stopAutoSave:()=>(U(l,e.delListener),U(i,e.delListener),d),getStore:()=>e,destroy:()=>d.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ke(d)};var He=(e,t,n)=>new Promise(((s,o)=>{var r=e=>{try{i(n.next(e))}catch(e){o(e)}},l=e=>{try{i(n.throw(e))}catch(e){o(e)}},i=e=>e.done?s(e.value):Promise.resolve(e.value).then(r,l);i((n=n.apply(e,t)).next())}));const $e="storage",Ge=globalThis.window,Ke=(e,t,n)=>{let s;return qe(e,(()=>He(void 0,null,(function*(){return n.getItem(t)}))),(e=>He(void 0,null,(function*(){return n.setItem(t,e)}))),(e=>{s=s=>{s.storageArea===n&&s.key===t&&e()},Ge.addEventListener($e,s)}),(()=>{Ge.removeEventListener($e,s),s=void 0}))};var Ue=(e,t,n)=>new Promise(((s,o)=>{var r=e=>{try{i(n.next(e))}catch(e){o(e)}},l=e=>{try{i(n.throw(e))}catch(e){o(e)}},i=e=>e.done?s(e.value):Promise.resolve(e.value).then(r,l);i((n=n.apply(e,t)).next())})),Xe=(e,t,n)=>new Promise(((s,o)=>{var r=e=>{try{i(n.next(e))}catch(e){o(e)}},l=e=>{try{i(n.throw(e))}catch(e){o(e)}},i=e=>e.done?s(e.value):Promise.resolve(e.value).then(r,l);i((n=n.apply(e,t)).next())}));const Ye=e=>e.headers.get("ETag");var Ze=Object.getOwnPropertySymbols,_e=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable;const tt=me((e=>{const t=e.createStore,[n,o,r,l,i,,,a,,d,c,f,p]=Ie(e,(()=>!0),_),y=t(),T=t(),m=ie(),b=(e,t,...n)=>J(n,(n=>Re(ve(ve(m,t,ie),e,Se),n))),C=e=>{U(de(m,e),(e=>{ce(e,((e,t)=>re(t,(t=>e.delListener(t))))),oe(e)})),J([T,y],(t=>t.delTable(e)))},V=(e,t,n)=>b(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),E={setQueryDefinition:(t,n,o)=>{a(t,n),C(t);const r=[],l=[[null,[n,null,null,[],ie()]]],i=[],d=[],c=[];o({select:(e,t)=>{const n=Y(e)?[D(r)+s,e]:[K(t)?e:t,n=>n(e,t)];return Q(r,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=K(n)||Y(t)?null:t,o=K(s)?t:n,r=[e,[e,s,Y(o)?o:e=>e(o),[],ie()]];return Q(l,r),{as:e=>r[0]=e}},where:(e,t,n)=>Q(i,Y(e)?e:K(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,o)=>{var r;const l=[e,[e,Y(t)?[t,n,s,o]:null!=(r=de(ze,t))?r:[(e,t)=>t]]];return Q(d,l),{as:e=>l[0]=e}},having:(e,t)=>Q(c,Y(e)?e:n=>n(e)===t)});const u=ie(r);if(ne(u))return E;const v=ie(l);ce(v,((e,[,t])=>U(de(v,t),(({3:t})=>K(e)?0:Q(t,e)))));const h=ie(d);let g=y;if(ne(h)&&O(c))g=T;else{V(t,g,T);const e=ie();ce(h,((t,[n,s])=>Re(ve(e,n,Se),[t,s])));const n=Se();ce(u,(t=>te(e,t)?0:Re(n,t)));const s=ie(),o=(n,s,o,r)=>U(n,(([l,i,a,d])=>{ce(s,((t,[n])=>{const s=ve(l,t,ie),i=de(s,o),a=r?void 0:n;if(i!==a){const n=Se([[i,a]]),r=ee(s);ue(s,o,a),re(de(e,t),(([e,t])=>{const o=Ne(d[e],r,s,n,t);d[e]=K(ye(o))?null:o}))}})),ne(i)||!x(c,(e=>e((e=>d[e]))))?T.delRow(t,a):K(a)?n[2]=T.addRow(t,d):T.setRow(t,a,d)}));b(g,t,g.addRowListener(t,null,((r,l,i,a)=>{const d=[],c=[],u=ie(),v=g.hasRow(t,i);let h=!v;re(n,(e=>{const[n,s,o]=a(t,i,e);Q(d,s),Q(c,o),h||(h=n)})),ce(e,(e=>{const[n,,s]=a(t,i,e);(h||n)&&ue(u,e,[s])})),h&&o(pe(s,d,void 0,(([,e])=>(le(e,i),ne(e)))),u,i,1),v&&o(pe(s,c,(()=>{const e={};return re(n,(n=>e[n]=g.getCell(t,i,n))),[ie(),Se(),void 0,e]}),(([,e])=>{Re(e,i)})),u,i)})))}V(t,e,g);const L=(s,o,r,l)=>{const a=t=>e.getCell(o,r,t);J(l,(n=>{var o;const[r,,l,i,d]=de(v,n),c=null==l?void 0:l(a,s),[u,h]=null!=(o=de(d,s))?o:[];c!=u&&(K(h)||p(t,h),ue(d,s,K(c)?null:[c,...f(t,1,e.addRowListener(r,c,(()=>L(s,r,c,i))))]))})),(s=>{const o=(t,o)=>{var r,l,i;return e.getCell(...K(o)?[n,s,t]:t===n?[n,s,o]:[null==(r=de(v,t))?void 0:r[0],null==(i=de(null==(l=de(v,t))?void 0:l[4],s))?void 0:i[0],o])};g.transaction((()=>x(i,(e=>e(o)))?ce(u,((e,n)=>Le(g,t,s,e,n(o,s)))):g.delRow(t,s)))})(s)},{3:w}=de(v,null);return g.transaction((()=>f(t,1,e.addRowListener(n,null,((s,o,r)=>{e.hasRow(n,r)?L(r,n,r,w):(g.delRow(t,r),re(v,(({4:e})=>U(de(e,r),(([,n])=>{p(t,n),ue(e,r)})))))}))))),E},delQueryDefinition:e=>(C(e),d(e),E),getStore:n,getQueryIds:o,forEachQuery:r,hasQuery:l,getTableId:i,delListener:e=>(T.delListener(e),E),destroy:c,getListenerStats:()=>((e,t)=>{var n={};for(var s in e)_e.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&Ze)for(var s of Ze(e))t.indexOf(s)<0&&et.call(e,s)&&(n[s]=e[s]);return n})(T.getListenerStats(),["tables","tableIds","transaction"])};return De({[g]:[1,1],[w]:[0,1],[S]:[0,5],[L]:[1,2],[I]:[0,2],[R]:[1,3]},(([e,t],n)=>{J(e?["get","has","forEach"]:["get"],(e=>E[e+v+n]=(...t)=>T[e+n](...t))),E[h+v+n+u]=(...e)=>T[h+n+u](...j(e,0,t),((n,...s)=>e[t](E,...s)))})),ke(E)})),nt=me((e=>{const t=ie(),n=ie(),o=ie(),r=ie(),[l,i,a,d,c,u,,,v,h,f]=Ie(e,(()=>[ie(),ie(),ie(),ie()]),(e=>K(e)?void 0:e+s)),[g,p,y]=Ve((()=>R)),L=(e,t,n)=>U(u(e),(([s,,o])=>{if(!te(o,t)){const r=Se();if(c(e)!=S(e))Re(r,t);else{let e=t;for(;!K(e)&&!te(r,e);)Re(r,e),e=de(s,e)}if(n)return r;ue(o,t,r)}return de(o,t)})),w=(e,t)=>U(u(e),(([,,e])=>ue(e,t))),S=e=>de(t,e),R={setRelationshipDefinition:(e,s,l,i)=>(ue(t,e,l),v(e,s,((t,s)=>{const l=Se(),i=Se(),a=Se(),[d,c]=u(e);re(s,(([t,n],s)=>{K(t)||(Re(i,t),U(de(c,t),(e=>{le(e,s),ne(e)&&ue(c,t)}))),K(n)||(Re(i,n),te(c,n)||ue(c,n,Se()),Re(de(c,n),s)),Re(l,s),ue(d,s,n),ce(de(r,e),(t=>{te(L(e,t),s)&&Re(a,t)}))})),t(),re(l,(t=>p(n,[e,t]))),re(i,(t=>p(o,[e,t]))),re(a,(t=>{w(e,t),p(r,[e,t])}))}),Te(i)),R),delRelationshipDefinition:e=>(ue(t,e),h(e),R),getStore:l,getRelationshipIds:i,forEachRelationship:t=>a((n=>t(n,(t=>e.forEachRow(c(n),t))))),hasRelationship:d,getLocalTableId:c,getRemoteTableId:S,getRemoteRowId:(e,t)=>{var n;return de(null==(n=u(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return se(de(null==(n=u(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>K(u(e))?[t]:se(L(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>g(s,n,[e,t]),addLocalRowIdsListener:(e,t,n)=>g(n,o,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(L(e,t),g(n,r,[e,t])),delListener:e=>(w(...y(e)),R),destroy:f,getListenerStats:()=>({})};return ke(R)})),st=e=>[e,e],ot=()=>[ie(),ie()],rt=(e,t,n,s=ue)=>(De(t,((t,s)=>n(e,s,t))),ce(e,(n=>Me(t,n)?0:s(e,n))),e),lt=(e,t,n)=>K(e)||!Je(e)||Oe(e)||Pe(e)?(null==n||n(),!1):(De(e,((n,s)=>{t(n,s)||Ae(e,s)})),!Oe(e)),it=(e,t,n)=>ue(e,t,de(e,t)==-n?void 0:n),at=()=>{let e,t,n,s,o=0;const r=ie(),i=ie(),c=ie(),v=ie(),f=ie(),S=ie(),x=ie(),P=ie(),A=ie(),D=ie(),O=ie(),F=ie(),z=Se(),N=ie(),q=ie(),H=ie(),$=ot(),G=ot(),Z=ot(),_=ot(),ee=ot(),se=ot(),pe=ot(),Ie=ot(),Te=ot(),me=ot(),be=ot(),xe=ot(),Ee=ot(),Pe=ot(),[Je,Fe,Qe,ze]=Ve((()=>tn)),Ne=e=>{if(!lt(e,((e,t)=>V([a,d],t))))return!1;const t=e[a];return!(!X(t)&&t!=l||(ye(e[d])!=t&&Ae(e,d),0))},We=(t,n)=>(!e||te(A,n)||mt(n))&<(t,((e,t)=>Be(n,t,e)),(()=>mt(n))),Be=(e,t,n,s)=>lt(s?n:Ge(n,e,t),((s,o)=>U(qe(e,t,o,s),(e=>(n[o]=e,!0)),(()=>!1))),(()=>mt(e,t))),qe=(t,n,s,o)=>e?U(de(de(A,t),s),(e=>ye(o)!=e[a]?mt(t,n,s,o,e[d]):o),(()=>mt(t,n,s,o))):K(ye(o))?mt(t,n,s,o):o,He=(e,t)=>lt(t?e:Ke(e),((t,n)=>U($e(n,t),(t=>(e[n]=t,!0)),(()=>!1))),(()=>bt())),$e=(e,n)=>t?U(de(O,e),(t=>ye(n)!=t[a]?bt(e,n,t[d]):n),(()=>bt(e,n))):K(ye(n))?bt(e,n):n,Ge=(e,t,n)=>(U(de(D,t),(([s,o])=>{re(s,((t,n)=>{Me(e,n)||(e[n]=t)})),re(o,(s=>{Me(e,s)||mt(t,n,s)}))})),e),Ke=e=>(t&&(re(F,((t,n)=>{Me(e,n)||(e[n]=t)})),re(z,(t=>{Me(e,t)||bt(t)}))),e),Ue=e=>rt(A,e,((e,t,n)=>{const s=ie(),o=Se();rt(ve(A,t,ie),n,((e,t,n)=>{ue(e,t,n),U(n[d],(e=>ue(s,t,e)),(()=>Re(o,t)))})),ue(D,t,[s,o])}),((e,t)=>{ue(A,t),ue(D,t)})),Xe=e=>rt(O,e,((e,t,n)=>{ue(O,t,n),U(n[d],(e=>ue(F,t,e)),(()=>Re(z,t)))}),((e,t)=>{ue(O,t),ue(F,t),le(z,t)})),Ye=e=>Oe(e)?Kt():Bt(e),Ze=e=>rt(q,e,((e,t,n)=>_e(t,n)),((e,t)=>ft(t))),_e=(e,t)=>rt(ve(q,e,(()=>(Lt(e,1),ie()))),t,((t,n,s)=>et(e,t,n,s)),((t,n)=>gt(e,t,n))),et=(e,t,n,s,o)=>rt(ve(t,n,(()=>(wt(e,n,1),ie()))),s,((t,s,o)=>tt(e,n,t,s,o)),((s,r)=>pt(e,t,n,s,r,o))),tt=(e,t,n,s,o)=>{te(n,s)||St(e,t,s,1);const r=de(n,s);o!==r&&(Rt(e,t,s,r,o),ue(n,s,o))},nt=(e,t,n,s,o)=>U(de(t,n),(t=>tt(e,n,t,s,o)),(()=>et(e,t,n,Ge({[s]:o},e,n)))),dt=e=>Oe(e)?Ut():qt(e),ct=e=>rt(H,e,((e,t,n)=>ut(t,n)),((e,t)=>yt(t))),ut=(e,t)=>{te(H,e)||It(e,1);const n=de(H,e);t!==n&&(Tt(e,n,t),ue(H,e,t))},vt=(e,t)=>{const[n]=ve(N,e,Ce),s=n(t);return te(de(q,e),s)?vt(e,t):s},ht=e=>{var t;return null!=(t=de(q,e))?t:_e(e,{})},ft=e=>_e(e,{}),gt=(e,t,n)=>{const[,s]=ve(N,e,Ce);s(n),et(e,t,n,{},!0)},pt=(e,t,n,s,o,r)=>{var l;const i=de(null==(l=de(D,e))?void 0:l[0],o);if(!K(i)&&!r)return tt(e,n,s,o,i);const a=t=>{Rt(e,n,t,de(s,t)),St(e,n,t,-1),ue(s,t)};K(i)?a(o):ce(s,a),ne(s)&&(wt(e,n,-1),ne(ue(t,n))&&(Lt(e,-1),ue(q,e),ue(N,e)))},yt=e=>{const t=de(F,e);if(!K(t))return ut(e,t);Tt(e,de(H,e)),It(e,-1),ue(H,e)},Lt=(e,t)=>it(r,e,t),wt=(e,t,n)=>it(ve(i,e,ie),t,n),St=(e,t,n,s)=>it(ve(ve(c,e,ie),t,ie),n,s),Rt=(e,t,n,s,o)=>ve(ve(ve(v,e,ie),t,ie),n,(()=>[s,0]))[1]=o,It=(e,t)=>it(f,e,t),Tt=(e,t,n)=>ve(S,e,(()=>[t,0]))[1]=n,mt=(e,t,n,s,o)=>(Q(ve(ve(ve(x,e,ie),t,ie),n,(()=>[])),s),o),bt=(e,t,n)=>(Q(ve(P,e,(()=>[])),t),n),Ct=(e,t,n)=>U(de(de(de(v,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...st(Qt(e,t,n))])),Vt=e=>U(de(S,e),(([e,t])=>[!0,e,t]),(()=>[!1,...st(Wt(e))])),xt=e=>ne(x)||ne(Te[e])?0:re(e?fe(x,ge):x,((t,n)=>re(t,((t,s)=>re(t,((t,o)=>Fe(Te[e],[n,s,o],t))))))),Et=e=>ne(P)||ne(me[e])?0:re(e?fe(P):P,((t,n)=>Fe(me[e],[n],t))),Pt=(e,t,n)=>{if(!ne(t))return Fe(e,n),1},kt=e=>{const t=ne(ee[e]),n=ne(pe[e])&&ne(_[e])&&t&&ne(G[e]),s=ne(Ie[e])&&ne(se[e])&&ne(Z[e])&&ne($[e]);if(!n||!s){const o=e?[fe(r),ge(i),fe(c,ge),fe(v,ge)]:[r,i,c,v];if(!n){re(o[2],((t,n)=>re(t,((t,s)=>Pt(pe[e],t,[n,s])))));const n=Se();re(o[1],((s,o)=>{Pt(_[e],s,[o])&&!t&&(Fe(ee[e],[o,null]),Re(n,o))})),t||re(o[3],((t,s)=>{if(!te(n,s)){const n=Se();re(t,(e=>re(e,(([t,s],o)=>s!==t?Re(n,o):le(e,o))))),re(n,(t=>Fe(ee[e],[s,t])))}})),Pt(G[e],o[0])}if(!s){let t;re(o[3],((n,s)=>{let o;re(n,((n,r)=>{let l;re(n,(([n,i],a)=>{i!==n&&(Fe(Ie[e],[s,r,a],i,n,Ct),t=o=l=1)})),l&&Fe(se[e],[s,r],Ct)})),o&&Fe(Z[e],[s],Ct)})),t&&Fe($[e],void 0,Ct)}}},Jt=e=>{const t=ne(xe[e]),n=ne(Ee[e])&&ne(be[e]);if(!t||!n){const s=e?[fe(f),fe(S)]:[f,S];if(t||Pt(xe[e],s[0]),!n){let t;re(s[1],(([n,s],o)=>{s!==n&&(Fe(Ee[e],[o],s,n,Vt),t=1)})),t&&Fe(be[e],void 0,Vt)}}},Mt=(e,...t)=>(Zt((()=>e(...M(t,C)))),tn),At=()=>he(q,(e=>he(e,he))),Dt=()=>ae(q),Ot=e=>ae(de(q,C(e))),Ft=(e,t,n,s=0,o)=>{return M(j(k((r=de(q,C(e)),l=(e,n)=>[K(t)?n:de(e,C(t)),n],M([...null!=(i=null==r?void 0:r.entries())?i:[]],(([e,t])=>l(t,e)))),(([e],[t])=>je(e,t)*(n?-1:1))),s,K(o)?o:s+o),(([,e])=>e));var r,l,i},jt=(e,t)=>ae(de(de(q,C(e)),C(t))),Qt=(e,t,n)=>de(de(de(q,C(e)),C(t)),C(n)),zt=()=>he(H),Nt=()=>ae(H),Wt=e=>de(H,C(e)),Bt=e=>Mt((()=>(e=>lt(e,We,mt))(e)?Ze(e):0)),qt=e=>Mt((()=>He(e)?ct(e):0)),Ht=e=>{try{Ye(B(e))}catch(e){}return tn},$t=t=>Mt((()=>{if((e=lt(t,(e=>lt(e,Ne))))&&(Ue(t),!ne(q))){const e=At();Kt(),Bt(e)}})),Gt=e=>Mt((()=>{if(t=(e=>lt(e,Ne))(e)){const n=zt();Yt(),Ut(),t=!0,Xe(e),qt(n)}})),Kt=()=>Mt((()=>Ze({}))),Ut=()=>Mt((()=>ct({}))),Xt=()=>Mt((()=>{Ue({}),e=!1})),Yt=()=>Mt((()=>{Xe({}),t=!1})),Zt=(e,t)=>{if(-1==o)return;_t();const n=e();return en(t),n},_t=()=>(o++,tn),en=e=>(o>0&&(o--,0==o&&(n=!ne(v),s=!ne(S),o=1,xt(1),n&&kt(1),Et(1),s&&Jt(1),o=-1,(null==e?void 0:e(he(v,(e=>he(e,(e=>he(e,(e=>[...e]),(([e,t])=>e===t))),Oe)),Oe),he(x,(e=>he(e,he))),he(S,(e=>[...e]),(([e,t])=>e===t)),he(P)))&&(o=1,re(v,((e,t)=>re(e,((e,n)=>re(e,(([e],s)=>Le(tn,t,n,s,e))))))),re(S,(([e],t)=>we(tn,t,e))),o=-1,n=s=!1),Fe(Pe[0],void 0,n,s),xt(0),n&&kt(0),Et(0),s&&Jt(0),Fe(Pe[1],void 0,n,s),o=0,J([r,i,c,v,x,f,S,P],oe))),tn),tn={getTables:At,getTableIds:Dt,getTable:e=>he(de(q,C(e)),he),getRowIds:Ot,getSortedRowIds:Ft,getRow:(e,t)=>he(de(de(q,C(e)),C(t))),getCellIds:jt,getCell:Qt,getValues:zt,getValueIds:Nt,getValue:Wt,hasTables:()=>!ne(q),hasTable:e=>te(q,C(e)),hasRow:(e,t)=>te(de(q,C(e)),C(t)),hasCell:(e,t,n)=>te(de(de(q,C(e)),C(t)),C(n)),hasValues:()=>!ne(H),hasValue:e=>te(H,C(e)),getTablesJson:()=>W(q),getValuesJson:()=>W(H),getJson:()=>W([q,H]),getTablesSchemaJson:()=>W(A),getValuesSchemaJson:()=>W(O),getSchemaJson:()=>W([A,O]),setTables:Bt,setTable:(e,t)=>Mt((e=>We(t,e)?_e(e,t):0),e),setRow:(e,t,n)=>Mt(((e,t)=>Be(e,t,n)?et(e,ht(e),t,n):0),e,t),addRow:(e,t,n=!0)=>Zt((()=>{let s;return Be(e,s,t)&&(e=C(e),et(e,ht(e),s=vt(e,n?1:0),t)),s})),setPartialRow:(e,t,n)=>Mt(((e,t)=>{if(Be(e,t,n,1)){const s=ht(e);De(n,((n,o)=>nt(e,s,t,o,n)))}}),e,t),setCell:(e,t,n,s)=>Mt(((e,t,n)=>U(qe(e,t,n,Y(s)?s(Qt(e,t,n)):s),(s=>nt(e,ht(e),t,n,s)))),e,t,n),setValues:qt,setPartialValues:e=>Mt((()=>He(e,1)?De(e,((e,t)=>ut(t,e))):0)),setValue:(e,t)=>Mt((e=>U($e(e,Y(t)?t(Wt(e)):t),(t=>ut(e,t)))),e),setTablesJson:Ht,setValuesJson:e=>{try{dt(B(e))}catch(e){}return tn},setJson:e=>{try{const[t,n]=B(e);Ye(t),dt(n)}catch(t){Ht(e)}return tn},setTablesSchema:$t,setValuesSchema:Gt,setSchema:(e,t)=>Mt((()=>{$t(e),Gt(t)})),delTables:Kt,delTable:e=>Mt((e=>te(q,e)?ft(e):0),e),delRow:(e,t)=>Mt(((e,t)=>U(de(q,e),(n=>te(n,t)?gt(e,n,t):0))),e,t),delCell:(e,t,n,s)=>Mt(((e,t,n)=>U(de(q,e),(o=>U(de(o,t),(r=>te(r,n)?pt(e,o,t,r,n,s):0))))),e,t,n),delValues:Ut,delValue:e=>Mt((e=>te(H,e)?yt(e):0),e),delTablesSchema:Xt,delValuesSchema:Yt,delSchema:()=>Mt((()=>{Xt(),Yt()})),transaction:Zt,startTransaction:_t,finishTransaction:en,forEachTable:e=>re(q,((t,n)=>e(n,(e=>re(t,((t,n)=>e(n,(e=>ce(t,e))))))))),forEachRow:(e,t)=>re(de(q,C(e)),((e,n)=>t(n,(t=>ce(e,t))))),forEachCell:(e,t,n)=>ce(de(de(q,C(e)),C(t)),n),forEachValue:e=>ce(H,e),addSortedRowIdsListener:(e,t,n,s,o,r,l)=>{let i=Ft(e,t,n,s,o);return Je((()=>{const l=Ft(e,t,n,s,o);E(l,i)||(i=l,r(tn,e,t,n,s,o,i))}),ee[l?1:0],[e,t],[Dt])},addWillFinishTransactionListener:e=>Je(e,Pe[0]),addDidFinishTransactionListener:e=>Je(e,Pe[1]),callListener:e=>(ze(e),tn),delListener:e=>(Qe(e),tn),getListenerStats:()=>({}),createStore:at};return De({[p]:[0,$],[y]:[0,G],[g]:[1,Z,[Dt]],[w]:[1,_,[Dt]],[L]:[2,se,[Dt,Ot]],[I]:[2,pe,[Dt,Ot]],[R]:[3,Ie,[Dt,Ot,jt],e=>st(Qt(...e))],InvalidCell:[3,Te],[m]:[0,be],[b]:[0,xe],[T]:[1,Ee,[Nt],e=>st(Wt(e[0]))],InvalidValue:[1,me]},(([e,t,n,s],o)=>{tn[h+o+u]=(...o)=>Je(o[e],t[o[e+1]?1:0],e>0?j(o,0,e):void 0,n,s)})),ke(tn)};e.createCheckpoints=Fe,e.createCustomPersister=qe,e.createFilePersister=(e,n)=>{let s;return qe(e,(()=>Ue(void 0,null,(function*(){try{return yield t.promises.readFile(n,c)}catch(e){}}))),(e=>Ue(void 0,null,(function*(){try{yield t.promises.writeFile(n,e,c)}catch(e){}}))),(e=>{s=t.watch(n,e)}),(()=>{null==s||s.close(),s=void 0}))},e.createIndexes=Qe,e.createLocalPersister=(e,t)=>Ke(e,t,localStorage),e.createMetrics=We,e.createQueries=tt,e.createRelationships=nt,e.createRemotePersister=(e,t,n,s)=>{let o,r;return qe(e,(()=>Xe(void 0,null,(function*(){const e=yield fetch(t);return r=Ye(e),e.text()}))),(e=>Xe(void 0,null,(function*(){return yield fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:e})}))),(e=>{o=setInterval((()=>Xe(void 0,null,(function*(){const n=yield fetch(t,{method:"HEAD"}),s=Ye(n);K(r)||K(s)||s==r||(r=s,e())}))),1e3*s)}),(()=>{U(o,clearInterval),o=void 0}))},e.createSessionPersister=(e,t)=>Ke(e,t,sessionStorage),e.createStore=at,e.defaultSorter=je},"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
package/readme.md
CHANGED
|
@@ -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.3kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>8.8kB</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.3kB</td><td>10.1kB</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.7kB</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.7kB</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.7kB</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.1kB</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.8kB</td><td>21.5kB</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>
|
|
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.3kB</em> to your app. Incrementally add the other modules as you need more functionality, or get it all for <em>8.8kB</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.3kB</td><td>10.1kB</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.7kB</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.7kB</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.7kB</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.1kB</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.8kB</td><td>21.5kB</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>642</td><td>642</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.4">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>
|