tinybase 4.0.0-beta.2 → 4.0.0-beta.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/persister-automerge.cjs +1 -0
- package/lib/cjs/persister-automerge.cjs.gz +0 -0
- package/lib/cjs/persister-browser.cjs +1 -1
- package/lib/cjs/persister-browser.cjs.gz +0 -0
- package/lib/cjs/persister-file.cjs +1 -1
- package/lib/cjs/persister-file.cjs.gz +0 -0
- package/lib/cjs/persister-remote.cjs +1 -1
- package/lib/cjs/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persister-yjs.cjs +1 -1
- package/lib/cjs/persister-yjs.cjs.gz +0 -0
- package/lib/cjs/persisters.cjs +1 -1
- package/lib/cjs/persisters.cjs.gz +0 -0
- package/lib/cjs/queries.cjs +1 -1
- package/lib/cjs/queries.cjs.gz +0 -0
- package/lib/cjs/store.cjs +1 -1
- package/lib/cjs/store.cjs.gz +0 -0
- package/lib/cjs/tinybase.cjs +1 -1
- package/lib/cjs/tinybase.cjs.gz +0 -0
- package/lib/cjs/tools.cjs +1 -1
- package/lib/cjs/tools.cjs.gz +0 -0
- package/lib/cjs-es6/persister-automerge.cjs +1 -0
- package/lib/cjs-es6/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persister-browser.cjs +1 -1
- package/lib/cjs-es6/persister-browser.cjs.gz +0 -0
- package/lib/cjs-es6/persister-file.cjs +1 -1
- package/lib/cjs-es6/persister-file.cjs.gz +0 -0
- package/lib/cjs-es6/persister-remote.cjs +1 -1
- package/lib/cjs-es6/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persister-yjs.cjs +1 -1
- package/lib/cjs-es6/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/persisters.cjs +1 -1
- package/lib/cjs-es6/persisters.cjs.gz +0 -0
- package/lib/cjs-es6/queries.cjs +1 -1
- package/lib/cjs-es6/queries.cjs.gz +0 -0
- package/lib/cjs-es6/store.cjs +1 -1
- package/lib/cjs-es6/store.cjs.gz +0 -0
- package/lib/cjs-es6/tinybase.cjs +1 -1
- package/lib/cjs-es6/tinybase.cjs.gz +0 -0
- package/lib/cjs-es6/tools.cjs +1 -1
- package/lib/cjs-es6/tools.cjs.gz +0 -0
- package/lib/debug/persister-automerge.js +257 -0
- package/lib/debug/persister-browser.js +2 -2
- package/lib/debug/persister-file.js +2 -2
- package/lib/debug/persister-remote.js +2 -2
- package/lib/debug/persister-yjs.js +3 -3
- package/lib/debug/persisters.js +2 -2
- package/lib/debug/queries.js +1 -1
- package/lib/debug/store.js +27 -13
- package/lib/debug/tinybase.js +30 -16
- package/lib/debug/tools.js +50 -2
- package/lib/es6/persister-automerge.js +1 -0
- package/lib/es6/persister-automerge.js.gz +0 -0
- package/lib/es6/persister-browser.js +1 -1
- package/lib/es6/persister-browser.js.gz +0 -0
- package/lib/es6/persister-file.js +1 -1
- package/lib/es6/persister-file.js.gz +0 -0
- package/lib/es6/persister-remote.js +1 -1
- package/lib/es6/persister-remote.js.gz +0 -0
- package/lib/es6/persister-yjs.js +1 -1
- package/lib/es6/persister-yjs.js.gz +0 -0
- package/lib/es6/persisters.js +1 -1
- package/lib/es6/persisters.js.gz +0 -0
- package/lib/es6/queries.js +1 -1
- package/lib/es6/queries.js.gz +0 -0
- package/lib/es6/store.js +1 -1
- package/lib/es6/store.js.gz +0 -0
- package/lib/es6/tinybase.js +1 -1
- package/lib/es6/tinybase.js.gz +0 -0
- package/lib/es6/tools.js +1 -1
- package/lib/es6/tools.js.gz +0 -0
- package/lib/persister-automerge.js +1 -0
- package/lib/persister-automerge.js.gz +0 -0
- package/lib/persister-browser.js +1 -1
- package/lib/persister-browser.js.gz +0 -0
- package/lib/persister-file.js +1 -1
- package/lib/persister-file.js.gz +0 -0
- package/lib/persister-remote.js +1 -1
- package/lib/persister-remote.js.gz +0 -0
- package/lib/persister-yjs.js +1 -1
- package/lib/persister-yjs.js.gz +0 -0
- package/lib/persisters.js +1 -1
- package/lib/persisters.js.gz +0 -0
- package/lib/queries.js +1 -1
- package/lib/queries.js.gz +0 -0
- package/lib/store.js +1 -1
- package/lib/store.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/tools.js +1 -1
- package/lib/tools.js.gz +0 -0
- package/lib/types/persister-automerge.d.ts +110 -0
- package/lib/types/persister-yjs.d.ts +3 -2
- package/lib/types/persisters.d.ts +8 -8
- package/lib/types/store.d.ts +53 -0
- package/lib/types/tools.d.ts +4 -4
- package/lib/types/with-schemas/persister-automerge.d.ts +120 -0
- package/lib/types/with-schemas/persister-yjs.d.ts +3 -2
- package/lib/types/with-schemas/persisters.d.ts +8 -8
- package/lib/types/with-schemas/store.d.ts +59 -0
- package/lib/types/with-schemas/tools.d.ts +4 -4
- package/lib/umd/persister-automerge.js +1 -0
- package/lib/umd/persister-automerge.js.gz +0 -0
- package/lib/umd/persister-browser.js +1 -1
- package/lib/umd/persister-browser.js.gz +0 -0
- package/lib/umd/persister-file.js +1 -1
- package/lib/umd/persister-file.js.gz +0 -0
- package/lib/umd/persister-remote.js +1 -1
- package/lib/umd/persister-remote.js.gz +0 -0
- package/lib/umd/persister-yjs.js +1 -1
- package/lib/umd/persister-yjs.js.gz +0 -0
- package/lib/umd/persisters.js +1 -1
- package/lib/umd/persisters.js.gz +0 -0
- package/lib/umd/queries.js +1 -1
- package/lib/umd/queries.js.gz +0 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd/tools.js +1 -1
- package/lib/umd/tools.js.gz +0 -0
- package/lib/umd-es6/persister-automerge.js +1 -0
- package/lib/umd-es6/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persister-browser.js +1 -1
- package/lib/umd-es6/persister-browser.js.gz +0 -0
- package/lib/umd-es6/persister-file.js +1 -1
- package/lib/umd-es6/persister-file.js.gz +0 -0
- package/lib/umd-es6/persister-remote.js +1 -1
- package/lib/umd-es6/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persister-yjs.js +1 -1
- package/lib/umd-es6/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/persisters.js +1 -1
- package/lib/umd-es6/persisters.js.gz +0 -0
- package/lib/umd-es6/queries.js +1 -1
- package/lib/umd-es6/queries.js.gz +0 -0
- package/lib/umd-es6/store.js +1 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/lib/umd-es6/tools.js +1 -1
- package/lib/umd-es6/tools.js.gz +0 -0
- package/package.json +56 -26
- package/readme.md +3 -3
package/lib/umd/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),o=t(!0),a=t(0),r=t(t),i="type",l="default",c="Listener",d="Result",u="add",h="Ids",g="Table",f=g+"s",L=g+h,w="Row",v=w+h,R="Sorted"+w+h,S="Cell",I=S+h,T="Value",p=T+"s",y=T+h,C=e=>s+e,b=(e,t)=>e.includes(t),V=(e,t)=>e.every(t),m=(e,t)=>J(e)===J(t)&&V(e,((e,s)=>t[s]===e)),k=(e,t)=>V(e,((s,n)=>0==n||t(e[n-1],s)<=0)),E=(e,t)=>e.sort(t),M=(e,t)=>e.forEach(t),x=(e,t)=>e.map(t),D=e=>F(e,((e,t)=>e+t),0),J=e=>e.length,A=e=>0==J(e),F=(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(),j=e=>e.shift(),O=e=>JSON.stringify(e,((e,t)=>q(t,Map)?F([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),P=JSON.parse,W=Math.max,B=Math.min,$=isFinite,q=(e,t)=>e instanceof t,G=e=>null==e,H=(e,t,s)=>G(e)?s?.():t(e),K=e=>e==n||e==o,U=e=>t(e)==r,X=e=>Array.isArray(e),Y=()=>{},Z=Object,_=Z.keys,ee=Z.isFrozen,te=Z.freeze,se=e=>q(e,Z)&&e.constructor==Z,ne=(e,t)=>!G(((e,t)=>H(e,(e=>e[t])))(e,t)),oe=(e,t)=>delete e[t],ae=(e,t)=>x(Z.entries(e),(([e,s])=>t(s,e))),re=e=>se(e)&&A(_(e)),ie=e=>e.size,le=(e,t)=>e?.has(t)??!1,ce=e=>G(e)||0==ie(e),de=e=>[...e?.values()??[]],ue=e=>e.clear(),he=(e,t)=>e?.forEach(t),ge=(e,t)=>e?.delete(t),fe=e=>new Map(e),Le=e=>[...e?.keys()??[]],we=(e,t)=>e?.get(t),ve=(e,t)=>he(e,((e,s)=>t(s,e))),Re=(e,t,s)=>G(s)?(ge(e,t),e):e?.set(t,s),Se=(e,t,s)=>(le(e,t)||Re(e,t,s()),we(e,t)),Ie=(e,t,s)=>{const n={};return he(e,((e,o)=>{const a=t?t(e,o):e;!s?.(a,e)&&(n[o]=a)})),n},Te=(e,t,s)=>Ie(e,(e=>Ie(e,t,s)),re),pe=(e,t,s)=>Ie(e,(e=>Te(e,t,s)),re),ye=(e,t)=>{const s=fe();return he(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ce=e=>ye(e,ye),be=e=>ye(e,Ce),Ve=(e,t,s,n,o=0)=>H((s?Se:we)(e,t[o],o>J(t)-2?s:fe),(a=>{if(o>J(t)-2)return n?.(a)&&Re(e,t[o]),a;const r=Ve(a,t,s,n,o+1);return ce(a)&&Re(e,t[o]),r})),me=e=>{const s=t(e);return K(s)||s==a&&$(e)?s:void 0},ke=(e,t,s,n,o)=>G(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),Ee=(e,t,s)=>G(s)?e.delValue(t):e.setValue(t,s),Me=e=>new Set(X(e)||G(e)?e:[e]),xe=(e,t)=>e?.add(t),De=(e,t,s)=>{const n=e.hasRow,o=fe(),a=fe(),r=fe(),i=fe(),l=fe(),c=(t,s,...n)=>{const o=Se(l,t,Me);return M(n,(t=>xe(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>H(we(l,t),(n=>{M(A(s)?de(n):s,(t=>{e.delListener(t),ge(n,t)})),ce(n)&&Re(l,t)})),u=(e,s)=>{Re(o,e,s),le(a,e)||(Re(a,e,t()),Re(r,e,fe()),Re(i,e,fe()))},h=e=>{Re(o,e),Re(a,e),Re(r,e),Re(i,e),d(e)};return[()=>e,()=>Le(o),e=>ve(a,e),e=>le(a,e),e=>we(o,e),e=>we(a,e),(e,t)=>Re(a,e,t),u,(t,o,a,l,h)=>{u(t,o);const g=fe(),f=fe(),L=we(r,t),w=we(i,t),v=t=>{const a=s=>e.getCell(o,t,s),r=we(L,t),i=n(o,t)?s(l(a,t)):void 0;if(r===i||X(r)&&X(i)&&m(r,i)||Re(g,t,[r,i]),!G(h)){const e=we(w,t),s=n(o,t)?h(a,t):void 0;e!=s&&Re(f,t,s)}},R=e=>{a((()=>{he(g,(([,e],t)=>Re(L,t,e))),he(f,((e,t)=>Re(w,t,e)))}),g,f,L,w,e),ue(g),ue(f)};ve(L,v),e.hasTable(o)&&M(e.getRowIds(o),(e=>{le(L,e)||v(e)})),R(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>v(s))),e.addTableListener(o,(()=>R())))},h,()=>ve(l,h),c,d]},Je=(e,o)=>t(e)==n?t=>t(e):e??(()=>o??s),Ae=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Fe=/^\d+$/,Qe=()=>{const e=[];let t=0;return[n=>(n?j(e):null)??s+t++,t=>{Fe.test(t)&&J(e)<1e3&&z(e,t)}]},ze=e=>{let t;const[n,o]=Qe(),a=fe();return[(o,r,i,l=[],c=(()=>[]))=>{t??=e();const d=n(1);return Re(a,d,[o,r,i,l,c]),xe(Ve(r,i??[s],Me),d),d},(e,n,...o)=>M(((e,t=[s])=>{const n=[],o=(e,s)=>s==J(t)?z(n,e):null===t[s]?he(e,(e=>o(e,s+1))):M([t[s],null],(t=>o(we(e,t),s+1)));return o(e,0),n})(e,n),(e=>he(e,(e=>we(a,e)[0](t,...n??[],...o))))),e=>H(we(a,e),(([,t,n])=>(Ve(t,n??[s],void 0,(t=>(ge(t,e),ce(t)?1:0))),Re(a,e),o(e),n))),e=>H(we(a,e),(([e,,s=[],n,o])=>{const a=(...r)=>{const i=J(r);i==J(s)?e(t,...r,...o(r)):G(s[i])?M(n[i]?.(...r)??[],(e=>a(...r,e))):a(...r,s[i])};a()}))]},Ne=Ae((e=>{let t,n,o,a=100,r=fe(),i=fe(),l=1;const c=fe(),d=fe(),[u,h,g]=ze((()=>O)),f=fe(),L=fe(),w=[],v=[],R=(t,s)=>{l=0,e.transaction((()=>{const[n,o]=we(f,s);he(n,((s,n)=>he(s,((s,o)=>he(s,((s,a)=>ke(e,n,o,a,s[t]))))))),he(o,((s,n)=>Ee(e,n,s[t])))})),l=1},S=e=>{Re(f,e),Re(L,e),h(d,[e])},I=(e,t)=>M(((e,t)=>e.splice(0,t))(e,t??J(e)),S),T=()=>I(w,J(w)-a),p=()=>H(t,(()=>{z(w,t),T(),I(v),t=void 0,o=1})),y=()=>{t=N(w),o=1},C=e.addCellListener(null,null,null,((e,t,s,n,o,a)=>{if(l){p();const e=Se(r,t,fe),i=Se(e,s,fe),l=Se(i,n,(()=>[a,void 0]));l[1]=o,l[0]===o&&ce(Re(i,n))&&ce(Re(e,s))&&ce(Re(r,t))&&y(),x()}})),V=e.addValueListener(null,((e,t,s,n)=>{if(l){p();const e=Se(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ce(Re(i,t))&&y(),x()}})),m=(e="")=>(G(t)&&(t=s+n++,Re(f,t,[r,i]),F(t,e),r=fe(),i=fe(),o=1),t),k=()=>{A(w)||(((e,...t)=>{e.unshift(...t)})(v,m()),R(0,t),t=N(w),o=1)},E=()=>{A(v)||(z(w,t),t=j(v),R(1,t),o=1)},x=()=>{o&&(h(c),o=0)},D=e=>{const t=m(e);return x(),t},F=(e,t)=>(Q(e)&&we(L,e)!==t&&(Re(L,e,t),h(d,[e])),O),Q=e=>le(f,e),O={setSize:e=>(a=e,T(),O),addCheckpoint:D,setCheckpoint:F,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...v]],forEachCheckpoint:e=>ve(L,e),hasCheckpoint:Q,getCheckpoint:e=>we(L,e),goBackward:()=>(k(),x(),O),goForward:()=>(E(),x(),O),goTo:e=>{const s=b(w,e)?k:b(v,e)?E:null;for(;!G(s)&&e!=t;)s();return x(),O},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),O),clear:()=>(I(w),I(v),G(t)||S(t),t=void 0,n=0,D(),O),destroy:()=>{e.delListener(C),e.delListener(V)},getListenerStats:()=>({})};return te(O.clear())})),je=(e,t)=>e<t?-1:1,Oe=Ae((e=>{const t=fe(),n=fe(),[o,a,r,i,l,c,d,,u,h,g]=De(e,fe,(e=>G(e)?s:X(e)?x(e,C):C(e))),[f,L,w]=ze((()=>R)),v=(t,s,n)=>{const o=l(t);he(n,((t,n)=>s(n,(s=>he(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},R={setIndexDefinition:(e,s,o,a,r,i=je)=>{const l=G(r)?void 0:([e],[t])=>r(e,t);return u(e,s,((s,o,r,u,h,g)=>{let f=0;const w=Me(),v=Me(),R=c(e);if(he(o,(([e,t],s)=>{const n=Me(e),o=Me(t);he(n,(e=>ge(o,e)?ge(n,e):0)),he(n,(e=>{xe(w,e),H(we(R,e),(t=>{ge(t,s),ce(t)&&(Re(R,e),f=1)}))})),he(o,(e=>{xe(w,e),le(R,e)||(Re(R,e,Me()),f=1),xe(we(R,e),s),G(a)||xe(v,e)}))})),s(),ce(h)||(g?ve(R,(e=>xe(v,e))):ve(r,(e=>H(we(u,e),(e=>xe(v,e))))),he(v,(e=>{const t=(t,s)=>i(we(h,t),we(h,s),e),s=[...we(R,e)];k(s,t)||(Re(R,e,Me(E(s,t))),xe(w,e))}))),(f||g)&&!G(l)){const t=[...R];k(t,l)||(d(e,fe(E(t,l))),f=1)}f&&L(t,[e]),he(w,(t=>L(n,[e,t])))}),Je(o),H(a,Je)),R},delIndexDefinition:e=>(h(e),R),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)=>le(c(e),t),getTableId:l,getSliceIds:e=>Le(c(e)),getSliceRowIds:(e,t)=>de(we(c(e),t)),addSliceIdsListener:(e,s)=>f(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>f(s,n,[e,t]),delListener:e=>(w(e),R),destroy:g,getListenerStats:()=>({})};return te(R)})),Pe=fe([["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=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:W(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=>D(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),We=(e,t,s,n,o,a=!1)=>{if(ce(s))return;const[r,i,l,c]=o;return a||=G(e),he(n,(([s,n])=>{a||(e=G(s)?i?.(e,n,t++):G(n)?l?.(e,s,t--):c?.(e,n,s,t),a||=G(e))})),a?r(de(s),ie(s)):e},Be=Ae((e=>{const t=fe(),[n,o,a,r,i,l,c,,d,u,h]=De(e,Y,(e=>isNaN(e)||G(e)||!0===e||!1===e||e===s?void 0:1*e)),[g,f,L]=ze((()=>w)),w={setMetricDefinition:(e,s,n,o,a,r,i)=>{const u=U(n)?[n,a,r,i]:we(Pe,n)??we(Pe,"sum");return d(e,s,((s,n,o,a,r,i)=>{const d=l(e),h=ie(a);i||=G(d),s();let g=We(d,h,a,n,u,i);$(g)||(g=void 0),g!=d&&(c(e,g),f(t,[e],g,d))}),Je(o,1)),w},delMetricDefinition:e=>(u(e),w),getStore:n,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 te(w)})),$e=Ae((e=>{const t=e.createStore,[n,o,a,r,i,,,l,,h,f,L,T]=De(e,(()=>!0),Y),p=t(),y=t(),C=fe(),b=(e,t,...s)=>M(s,(s=>xe(Se(Se(C,t,fe),e,Me),s))),m=e=>{H(we(C,e),(e=>{ve(e,((e,t)=>he(t,(t=>e.delListener(t))))),ue(e)})),M([y,p],(t=>t.delTable(e)))},k=(e,t,s)=>b(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),E={setQueryDefinition:(t,n,o)=>{l(t,n),m(t);const a=[],r=[[null,[n,null,null,[],fe()]]],i=[],c=[],d=[];o({select:(e,t)=>{const n=U(e)?[J(a)+s,e]:[G(t)?e:t,s=>s(e,t)];return z(a,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=G(s)||U(t)?null:t,o=G(n)?t:s,a=[e,[e,n,U(o)?o:e=>e(o),[],fe()]];return z(r,a),{as:e=>a[0]=e}},where:(e,t,s)=>z(i,U(e)?e:G(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const a=[e,[e,U(t)?[t,s,n,o]:we(Pe,t)??[(e,t)=>t]]];return z(c,a),{as:e=>a[0]=e}},having:(e,t)=>z(d,U(e)?e:s=>s(e)===t)});const u=fe(a);if(ce(u))return E;const h=fe(r);ve(h,((e,[,t])=>H(we(h,t),(({3:t})=>G(e)?0:z(t,e)))));const g=fe(c);let f=p;if(ce(g)&&A(d))f=y;else{k(t,f,y);const e=fe();ve(g,((t,[s,n])=>xe(Se(e,s,Me),[t,n])));const s=Me();ve(u,(t=>le(e,t)?0:xe(s,t)));const n=fe(),o=(s,n,o,a)=>H(s,(([r,i,l,c])=>{ve(n,((t,[s])=>{const n=Se(r,t,fe),i=we(n,o),l=a?void 0:s;if(i!==l){const s=Me([[i,l]]),a=ie(n);Re(n,o,l),he(we(e,t),(([e,t])=>{const o=We(c[e],a,n,s,t);c[e]=G(me(o))?null:o}))}})),ce(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)}));b(f,t,f.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=fe(),h=f.hasRow(t,i);let g=!h;he(s,(e=>{const[s,n,o]=l(t,i,e);z(c,n),z(d,o),g||=s})),ve(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&Re(u,e,[n])})),g&&o(Ve(n,c,void 0,(([,e])=>(ge(e,i),ce(e)))),u,i,1),h&&o(Ve(n,d,(()=>{const e={};return he(s,(s=>e[s]=f.getCell(t,i,s))),[fe(),Me(),void 0,e]}),(([,e])=>{xe(e,i)})),u,i)})))}k(t,e,f);const w=(s,o,a,r)=>{const l=t=>e.getCell(o,a,t);M(r,(n=>{const[o,,a,r,i]=we(h,n),c=a?.(l,s),[d,u]=we(i,s)??[];c!=d&&(G(u)||T(t,u),Re(i,s,G(c)?null:[c,...L(t,1,e.addRowListener(o,c,(()=>w(s,o,c,r))))]))})),(s=>{const o=(t,o)=>e.getCell(...G(o)?[n,s,t]:t===n?[n,s,o]:[we(h,t)?.[0],we(we(h,t)?.[4],s)?.[0],o]);f.transaction((()=>V(i,(e=>e(o)))?ve(u,((e,n)=>ke(f,t,s,e,n(o,s)))):f.delRow(t,s)))})(s)},{3:v}=we(h,null);return f.transaction((()=>L(t,1,e.addRowListener(n,null,((s,o,a)=>{e.hasRow(n,a)?w(a,n,a,v):(f.delRow(t,a),he(h,(({4:e})=>H(we(e,a),(([,s])=>{T(t,s),Re(e,a)})))))}))))),E},delQueryDefinition:e=>(m(e),h(e),E),getStore:n,getQueryIds:o,forEachQuery:a,hasQuery:r,getTableId:i,delListener:e=>(y.delListener(e),E),destroy:f,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=y.getListenerStats();return n}};return ae({[g]:[1,1],[v]:[0,1],[R]:[0,5],[w]:[1,2],[I]:[0,2],[S]:[1,3]},(([e,t],s)=>{M(e?["get","has","forEach"]:["get"],(e=>E[e+d+s]=(...t)=>y[e+s](...t))),E[u+d+s+c]=(...e)=>y[u+s+c](...Q(e,0,t),((s,...n)=>e[t](E,...n)))})),te(E)})),qe=Ae((e=>{const t=fe(),n=fe(),o=fe(),a=fe(),[r,i,l,c,d,u,,,h,g,f]=De(e,(()=>[fe(),fe(),fe(),fe()]),(e=>G(e)?void 0:e+s)),[L,w,v]=ze((()=>T)),R=(e,t,s)=>H(u(e),(([n,,o])=>{if(!le(o,t)){const a=Me();if(d(e)!=I(e))xe(a,t);else{let e=t;for(;!G(e)&&!le(a,e);)xe(a,e),e=we(n,e)}if(s)return a;Re(o,t,a)}return we(o,t)})),S=(e,t)=>H(u(e),(([,,e])=>Re(e,t))),I=e=>we(t,e),T={setRelationshipDefinition:(e,s,r,i)=>(Re(t,e,r),h(e,s,((t,s)=>{const r=Me(),i=Me(),l=Me(),[c,d]=u(e);he(s,(([t,s],n)=>{G(t)||(xe(i,t),H(we(d,t),(e=>{ge(e,n),ce(e)&&Re(d,t)}))),G(s)||(xe(i,s),le(d,s)||Re(d,s,Me()),xe(we(d,s),n)),xe(r,n),Re(c,n,s),ve(we(a,e),(t=>{le(R(e,t),n)&&xe(l,t)}))})),t(),he(r,(t=>w(n,[e,t]))),he(i,(t=>w(o,[e,t]))),he(l,(t=>{S(e,t),w(a,[e,t])}))}),Je(i)),T),delRelationshipDefinition:e=>(Re(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)=>we(u(e)?.[0],t),getLocalRowIds:(e,t)=>de(we(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>G(u(e))?[t]:de(R(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>L(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(R(e,t),L(s,a,[e,t])),delListener:e=>(S(...v(e)),T),destroy:f,getListenerStats:()=>({})};return te(T)})),Ge=e=>[e,e],He=()=>[fe(),fe()],Ke=e=>[...e],Ue=([e,t])=>e===t,Xe=(e,t,s,n=Re)=>(ae(t,((t,n)=>s(e,n,t))),ve(e,(s=>ne(t,s)?0:n(e,s))),e),Ye=(e,t,s)=>G(e)||!se(e)||re(e)||ee(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||oe(e,n)})),!re(e)),Ze=(e,t,s)=>Re(e,t,we(e,t)==-s?void 0:s),_e=()=>{let e,t,s,n,o=0;const r=fe(),d=fe(),h=fe(),R=fe(),V=fe(),k=fe(),D=fe(),J=fe(),A=fe(),F=fe(),N=fe(),j=fe(),W=Me(),B=fe(),$=fe(),q=fe(),X=He(),Y=He(),Z=He(),_=He(),ee=He(),se=He(),ie=He(),de=He(),Ve=He(),De=He(),Je=He(),Ae=He(),Fe=He(),Ne=He(),[Oe,Pe,We,Be]=ze((()=>ds)),$e=e=>{if(!Ye(e,((e,t)=>b([i,l],t))))return!1;const t=e[i];return!(!K(t)&&t!=a||(me(e[l])!=t&&oe(e,l),0))},qe=(t,s)=>(!e||le(A,s)||Et(s))&&Ye(t,((e,t)=>et(s,t,e)),(()=>Et(s))),et=(e,t,s,n)=>Ye(n?s:ot(s,e,t),((n,o)=>H(tt(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>Et(e,t))),tt=(t,s,n,o)=>e?H(we(we(A,t),n),(e=>me(o)!=e[i]?Et(t,s,n,o,e[l]):o),(()=>Et(t,s,n,o))):G(me(o))?Et(t,s,n,o):o,st=(e,t)=>Ye(t?e:at(e),((t,s)=>H(nt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Mt())),nt=(e,s)=>t?H(we(N,e),(t=>me(s)!=t[i]?Mt(e,s,t[l]):s),(()=>Mt(e,s))):G(me(s))?Mt(e,s):s,ot=(e,t,s)=>(H(we(F,t),(([n,o])=>{he(n,((t,s)=>{ne(e,s)||(e[s]=t)})),he(o,(n=>{ne(e,n)||Et(t,s,n)}))})),e),at=e=>(t&&(he(j,((t,s)=>{ne(e,s)||(e[s]=t)})),he(W,(t=>{ne(e,t)||Mt(t)}))),e),rt=e=>Xe(A,e,((e,t,s)=>{const n=fe(),o=Me();Xe(Se(A,t,fe),s,((e,t,s)=>{Re(e,t,s),H(s[l],(e=>Re(n,t,e)),(()=>xe(o,t)))})),Re(F,t,[n,o])}),((e,t)=>{Re(A,t),Re(F,t)})),it=e=>Xe(N,e,((e,t,s)=>{Re(N,t,s),H(s[l],(e=>Re(j,t,e)),(()=>xe(W,t)))}),((e,t)=>{Re(N,t),Re(j,t),ge(W,t)})),lt=e=>re(e)?ts():Xt(e),ct=e=>Xe($,e,((e,t,s)=>dt(t,s)),((e,t)=>St(t))),dt=(e,t)=>Xe(Se($,e,(()=>(yt(e,1),fe()))),t,((t,s,n)=>ut(e,t,s,n)),((t,s)=>It(e,t,s))),ut=(e,t,s,n,o)=>Xe(Se(t,s,(()=>(Ct(e,s,1),fe()))),n,((t,n,o)=>ht(e,s,t,n,o)),((n,a)=>Tt(e,t,s,n,a,o))),ht=(e,t,s,n,o)=>{le(s,n)||bt(e,t,n,1);const a=we(s,n);o!==a&&(Vt(e,t,n,a,o),Re(s,n,o))},gt=(e,t,s,n,o)=>H(we(t,s),(t=>ht(e,s,t,n,o)),(()=>ut(e,t,s,ot({[n]:o},e,s)))),ft=e=>re(e)?os():Yt(e),Lt=e=>Xe(q,e,((e,t,s)=>wt(t,s)),((e,t)=>pt(t))),wt=(e,t)=>{le(q,e)||mt(e,1);const s=we(q,e);t!==s&&(kt(e,s,t),Re(q,e,t))},vt=(e,t)=>{const[s]=Se(B,e,Qe),n=s(t);return le(we($,e),n)?vt(e,t):n},Rt=e=>we($,e)??dt(e,{}),St=e=>dt(e,{}),It=(e,t,s)=>{const[,n]=Se(B,e,Qe);n(s),ut(e,t,s,{},!0)},Tt=(e,t,s,n,o,a)=>{const r=we(we(F,e)?.[0],o);if(!G(r)&&!a)return ht(e,s,n,o,r);const i=t=>{Vt(e,s,t,we(n,t)),bt(e,s,t,-1),Re(n,t)};G(r)?i(o):ve(n,i),ce(n)&&(Ct(e,s,-1),ce(Re(t,s))&&(yt(e,-1),Re($,e),Re(B,e)))},pt=e=>{const t=we(j,e);if(!G(t))return wt(e,t);kt(e,we(q,e)),mt(e,-1),Re(q,e)},yt=(e,t)=>Ze(r,e,t),Ct=(e,t,s)=>Ze(Se(d,e,fe),t,s),bt=(e,t,s,n)=>Ze(Se(Se(h,e,fe),t,fe),s,n),Vt=(e,t,s,n,o)=>Se(Se(Se(R,e,fe),t,fe),s,(()=>[n,0]))[1]=o,mt=(e,t)=>Ze(V,e,t),kt=(e,t,s)=>Se(k,e,(()=>[t,0]))[1]=s,Et=(e,t,s,n,o)=>(z(Se(Se(Se(D,e,fe),t,fe),s,(()=>[])),n),o),Mt=(e,t,s)=>(z(Se(J,e,(()=>[])),t),s),xt=(e,t,s)=>H(we(we(we(R,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(Gt(e,t,s))])),Dt=e=>H(we(k,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(Ut(e))])),Jt=e=>ce(D)||ce(Ve[e])?0:he(e?be(D):D,((t,s)=>he(t,((t,n)=>he(t,((t,o)=>Pe(Ve[e],[s,n,o],t))))))),At=e=>ce(J)||ce(De[e])?0:he(e?ye(J):J,((t,s)=>Pe(De[e],[s],t))),Ft=(e,t,s)=>{if(!ce(t))return Pe(e,s),1},Qt=e=>{const t=ce(ee[e]),s=ce(ie[e])&&ce(_[e])&&t&&ce(Y[e]),n=ce(de[e])&&ce(se[e])&&ce(Z[e])&&ce(X[e]);if(!s||!n){const o=e?[ye(r),Ce(d),be(h),be(R)]:[r,d,h,R];if(!s){he(o[2],((t,s)=>he(t,((t,n)=>Ft(ie[e],t,[s,n])))));const s=Me();he(o[1],((n,o)=>{Ft(_[e],n,[o])&&!t&&(Pe(ee[e],[o,null]),xe(s,o))})),t||he(o[3],((t,n)=>{if(!le(s,n)){const s=Me();he(t,(e=>he(e,(([t,n],o)=>n!==t?xe(s,o):ge(e,o))))),he(s,(t=>Pe(ee[e],[n,t])))}})),Ft(Y[e],o[0])}if(!n){let t;he(o[3],((s,n)=>{let o;he(s,((s,a)=>{let r;he(s,(([s,i],l)=>{i!==s&&(Pe(de[e],[n,a,l],i,s,xt),t=o=r=1)})),r&&Pe(se[e],[n,a],xt)})),o&&Pe(Z[e],[n],xt)})),t&&Pe(X[e],void 0,xt)}}},zt=e=>{const t=ce(Ae[e]),s=ce(Fe[e])&&ce(Je[e]);if(!t||!s){const n=e?[ye(V),ye(k)]:[V,k];if(t||Ft(Ae[e],n[0]),!s){let t;he(n[1],(([s,n],o)=>{n!==s&&(Pe(Fe[e],[o],n,s,Dt),t=1)})),t&&Pe(Je[e],void 0,Dt)}}},Nt=(e,...t)=>(is((()=>e(...x(t,C)))),ds),jt=()=>[Ie(R,((e,t)=>-1===we(r,t)?null:Ie(e,((e,s)=>-1===we(we(d,t),s)?null:Ie(e,(([,e])=>e??null),((e,t)=>Ue(t)))),re)),re),Ie(k,(([,e])=>e??null),((e,t)=>Ue(t)))],Ot=()=>({cellsTouched:s,valuesTouched:n,changedCells:pe(R,Ke,Ue),invalidCells:pe(D),changedValues:Ie(k,Ke,Ue),invalidValues:Ie(J),changedTableIds:Ie(r),changedRowIds:Te(d),changedCellIds:pe(h),changedValueIds:Ie(V)}),Pt=()=>pe($),Wt=()=>Le($),Bt=e=>Le(we($,C(e))),$t=(e,t,s,n=0,o)=>{return x(Q(E((a=we($,C(e)),r=(e,s)=>[G(t)?s:we(e,C(t)),s],x([...a?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(s?-1:1))),n,G(o)?o:n+o),(([,e])=>e));var a,r},qt=(e,t)=>Le(we(we($,C(e)),C(t))),Gt=(e,t,s)=>we(we(we($,C(e)),C(t)),C(s)),Ht=()=>Ie(q),Kt=()=>Le(q),Ut=e=>we(q,C(e)),Xt=e=>Nt((()=>(e=>Ye(e,qe,Et))(e)?ct(e):0)),Yt=e=>Nt((()=>st(e)?Lt(e):0)),Zt=e=>{try{lt(P(e))}catch{}return ds},_t=t=>Nt((()=>{if((e=Ye(t,(e=>Ye(e,$e))))&&(rt(t),!ce($))){const e=Pt();ts(),Xt(e)}})),es=e=>Nt((()=>{if(t=(e=>Ye(e,$e))(e)){const s=Ht();rs(),os(),t=!0,it(e),Yt(s)}})),ts=()=>Nt((()=>ct({}))),ss=e=>Nt((e=>le($,e)?St(e):0),e),ns=(e,t)=>Nt(((e,t)=>H(we($,e),(s=>le(s,t)?It(e,s,t):0))),e,t),os=()=>Nt((()=>Lt({}))),as=()=>Nt((()=>{rt({}),e=!1})),rs=()=>Nt((()=>{it({}),t=!1})),is=(e,t)=>{if(-1==o)return;ls();const s=e();return cs(t),s},ls=()=>(o++,ds),cs=e=>(o>0&&(o--,0==o&&(s=!ce(R),n=!ce(k),o=1,Jt(1),s&&Qt(1),At(1),n&&zt(1),o=-1,e?.(jt,Ot)&&(o=1,he(R,((e,t)=>he(e,((e,s)=>he(e,(([e],n)=>ke(ds,t,s,n,e))))))),he(k,(([e],t)=>Ee(ds,t,e))),o=-1,s=n=!1),Pe(Ne[0],void 0,jt,Ot),Jt(0),s&&Qt(0),At(0),n&&zt(0),Pe(Ne[1],void 0,jt,Ot),o=0,M([r,d,h,R,D,V,k,J],ue))),ds),ds={getContent:()=>[Pt(),Ht()],getTables:Pt,getTableIds:Wt,getTable:e=>Te(we($,C(e))),getRowIds:Bt,getSortedRowIds:$t,getRow:(e,t)=>Ie(we(we($,C(e)),C(t))),getCellIds:qt,getCell:Gt,getValues:Ht,getValueIds:Kt,getValue:Ut,hasTables:()=>!ce($),hasTable:e=>le($,C(e)),hasRow:(e,t)=>le(we($,C(e)),C(t)),hasCell:(e,t,s)=>le(we(we($,C(e)),C(t)),C(s)),hasValues:()=>!ce(q),hasValue:e=>le(q,C(e)),getTablesJson:()=>O($),getValuesJson:()=>O(q),getJson:()=>O([$,q]),getTablesSchemaJson:()=>O(A),getValuesSchemaJson:()=>O(N),getSchemaJson:()=>O([A,N]),setContent:([e,t])=>Nt((()=>{Xt(e),Yt(t)})),setTables:Xt,setTable:(e,t)=>Nt((e=>qe(t,e)?dt(e,t):0),e),setRow:(e,t,s)=>Nt(((e,t)=>et(e,t,s)?ut(e,Rt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>is((()=>{let n;return et(e,n,t)&&(e=C(e),ut(e,Rt(e),n=vt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Nt(((e,t)=>{if(et(e,t,s,1)){const n=Rt(e);ae(s,((s,o)=>gt(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Nt(((e,t,s)=>H(tt(e,t,s,U(n)?n(Gt(e,t,s)):n),(n=>gt(e,Rt(e),t,s,n)))),e,t,s),setValues:Yt,setPartialValues:e=>Nt((()=>st(e,1)?ae(e,((e,t)=>wt(t,e))):0)),setValue:(e,t)=>Nt((e=>H(nt(e,U(t)?t(Ut(e)):t),(t=>wt(e,t)))),e),setTransactionChanges:e=>Nt((()=>{ae(e[0],((e,t)=>G(e)?ss(t):ae(e,((e,s)=>G(e)?ns(t,s):ae(e,((e,n)=>ke(ds,t,s,n,e))))))),ae(e[1],((e,t)=>Ee(ds,t,e)))})),setTablesJson:Zt,setValuesJson:e=>{try{ft(P(e))}catch{}return ds},setJson:e=>{try{const[t,s]=P(e);lt(t),ft(s)}catch{Zt(e)}return ds},setTablesSchema:_t,setValuesSchema:es,setSchema:(e,t)=>Nt((()=>{_t(e),es(t)})),delTables:ts,delTable:ss,delRow:ns,delCell:(e,t,s,n)=>Nt(((e,t,s)=>H(we($,e),(o=>H(we(o,t),(a=>le(a,s)?Tt(e,o,t,a,s,n):0))))),e,t,s),delValues:os,delValue:e=>Nt((e=>le(q,e)?pt(e):0),e),delTablesSchema:as,delValuesSchema:rs,delSchema:()=>Nt((()=>{as(),rs()})),transaction:is,startTransaction:ls,finishTransaction:cs,forEachTable:e=>he($,((t,s)=>e(s,(e=>he(t,((t,s)=>e(s,(e=>ve(t,e))))))))),forEachRow:(e,t)=>he(we($,C(e)),((e,s)=>t(s,(t=>ve(e,t))))),forEachCell:(e,t,s)=>ve(we(we($,C(e)),C(t)),s),forEachValue:e=>ve(q,e),addSortedRowIdsListener:(e,t,s,n,o,a,r)=>{let i=$t(e,t,s,n,o);return Oe((()=>{const r=$t(e,t,s,n,o);m(r,i)||(i=r,a(ds,e,t,s,n,o,i))}),ee[r?1:0],[e,t],[Wt])},addWillFinishTransactionListener:e=>Oe(e,Ne[0]),addDidFinishTransactionListener:e=>Oe(e,Ne[1]),callListener:e=>(Be(e),ds),delListener:e=>(We(e),ds),getListenerStats:()=>({}),createStore:_e};return ae({[f]:[0,X],[L]:[0,Y],[g]:[1,Z,[Wt]],[v]:[1,_,[Wt]],[w]:[2,se,[Wt,Bt]],[I]:[2,ie,[Wt,Bt]],[S]:[3,de,[Wt,Bt,qt],e=>Ge(Gt(...e))],InvalidCell:[3,Ve],[p]:[0,Je],[y]:[0,Ae],[T]:[1,Fe,[Kt],e=>Ge(Ut(e[0]))],InvalidValue:[1,De]},(([e,t,s,n],o)=>{ds[u+o+c]=(...o)=>Oe(o[e],t[o[e+1]?1:0],e>0?Q(o,0,e):void 0,s,n)})),te(ds)};e.createCheckpoints=Ne,e.createCustomPersister=(e,t,s,n,o)=>{let a,r,i=0,l=!1;const c=async e=>{2!=i&&(i=1,await e(),i=0)},d={load:async(s,n)=>(await c((async()=>{let o;try{o=await t()}catch{}e.setContent(o??[s,n])})),d),startAutoLoad:async(s,o)=>(d.stopAutoLoad(),await d.load(s,o),l=!0,r=n((async(s,n)=>{await c((async()=>{if(n)e.setTransactionChanges(n());else try{e.setContent(s?.()??await t())}catch{}}))})),d),stopAutoLoad:()=>(l&&(o(r),r=void 0,l=!1),d),save:async t=>(1!=i&&(i=2,await s(e.getContent,t),i=0),d),startAutoSave:async()=>(await d.stopAutoSave().save(),a=e.addDidFinishTransactionListener(((e,t)=>d.save(t))),d),stopAutoSave:()=>(H(a,e.delListener),d),getStore:()=>e,destroy:()=>d.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return te(d)},e.createIndexes=Oe,e.createMetrics=Be,e.createQueries=$e,e.createRelationships=qe,e.createStore=_e,e.defaultSorter=je},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),o=t(!0),a=t(0),r=t(t),i="type",l="default",c="Listener",d="Result",u="add",h="Ids",g="Table",f=g+"s",L=g+h,w="Row",S=w+h,v="Sorted"+w+h,R="Cell",T=R+h,I="Value",p=I+"s",y=I+h,C=e=>s+e,b=(e,t)=>e.includes(t),V=(e,t)=>e.every(t),m=(e,t)=>J(e)===J(t)&&V(e,((e,s)=>t[s]===e)),k=(e,t)=>V(e,((s,n)=>0==n||t(e[n-1],s)<=0)),E=(e,t)=>e.sort(t),M=(e,t)=>e.forEach(t),x=(e,t)=>e.map(t),D=e=>F(e,((e,t)=>e+t),0),J=e=>e.length,A=e=>0==J(e),F=(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(),j=e=>e.shift(),O=e=>JSON.stringify(e,((e,t)=>q(t,Map)?F([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),P=JSON.parse,B=Math.max,W=Math.min,$=isFinite,q=(e,t)=>e instanceof t,G=e=>null==e,H=(e,t,s)=>G(e)?s?.():t(e),K=e=>e==n||e==o,U=e=>t(e)==r,X=e=>Array.isArray(e),Y=()=>{},Z=Object,_=Z.keys,ee=Z.isFrozen,te=Z.freeze,se=e=>q(e,Z)&&e.constructor==Z,ne=(e,t)=>!G(((e,t)=>H(e,(e=>e[t])))(e,t)),oe=(e,t)=>delete e[t],ae=(e,t)=>x(Z.entries(e),(([e,s])=>t(s,e))),re=e=>se(e)&&A(_(e)),ie=e=>e.size,le=(e,t)=>e?.has(t)??!1,ce=e=>G(e)||0==ie(e),de=e=>[...e?.values()??[]],ue=e=>e.clear(),he=(e,t)=>e?.forEach(t),ge=(e,t)=>e?.delete(t),fe=e=>new Map(e),Le=e=>[...e?.keys()??[]],we=(e,t)=>e?.get(t),Se=(e,t)=>he(e,((e,s)=>t(s,e))),ve=(e,t,s)=>G(s)?(ge(e,t),e):e?.set(t,s),Re=(e,t,s)=>(le(e,t)||ve(e,t,s()),we(e,t)),Te=(e,t,s)=>{const n={};return he(e,((e,o)=>{const a=t?t(e,o):e;!s?.(a,e)&&(n[o]=a)})),n},Ie=(e,t,s)=>Te(e,(e=>Te(e,t,s)),re),pe=(e,t,s)=>Te(e,(e=>Ie(e,t,s)),re),ye=(e,t)=>{const s=fe();return he(e,((e,n)=>s.set(n,t?.(e)??e))),s},Ce=e=>ye(e,ye),be=e=>ye(e,Ce),Ve=(e,t,s,n,o=0)=>H((s?Re:we)(e,t[o],o>J(t)-2?s:fe),(a=>{if(o>J(t)-2)return n?.(a)&&ve(e,t[o]),a;const r=Ve(a,t,s,n,o+1);return ce(a)&&ve(e,t[o]),r})),me=e=>{const s=t(e);return K(s)||s==a&&$(e)?s:void 0},ke=(e,t,s,n,o)=>G(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),Ee=(e,t,s)=>G(s)?e.delValue(t):e.setValue(t,s),Me=e=>new Set(X(e)||G(e)?e:[e]),xe=(e,t)=>e?.add(t),De=(e,t,s)=>{const n=e.hasRow,o=fe(),a=fe(),r=fe(),i=fe(),l=fe(),c=(t,s,...n)=>{const o=Re(l,t,Me);return M(n,(t=>xe(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>H(we(l,t),(n=>{M(A(s)?de(n):s,(t=>{e.delListener(t),ge(n,t)})),ce(n)&&ve(l,t)})),u=(e,s)=>{ve(o,e,s),le(a,e)||(ve(a,e,t()),ve(r,e,fe()),ve(i,e,fe()))},h=e=>{ve(o,e),ve(a,e),ve(r,e),ve(i,e),d(e)};return[()=>e,()=>Le(o),e=>Se(a,e),e=>le(a,e),e=>we(o,e),e=>we(a,e),(e,t)=>ve(a,e,t),u,(t,o,a,l,h)=>{u(t,o);const g=fe(),f=fe(),L=we(r,t),w=we(i,t),S=t=>{const a=s=>e.getCell(o,t,s),r=we(L,t),i=n(o,t)?s(l(a,t)):void 0;if(r===i||X(r)&&X(i)&&m(r,i)||ve(g,t,[r,i]),!G(h)){const e=we(w,t),s=n(o,t)?h(a,t):void 0;e!=s&&ve(f,t,s)}},v=e=>{a((()=>{he(g,(([,e],t)=>ve(L,t,e))),he(f,((e,t)=>ve(w,t,e)))}),g,f,L,w,e),ue(g),ue(f)};Se(L,S),e.hasTable(o)&&M(e.getRowIds(o),(e=>{le(L,e)||S(e)})),v(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>S(s))),e.addTableListener(o,(()=>v())))},h,()=>Se(l,h),c,d]},Je=(e,o)=>t(e)==n?t=>t(e):e??(()=>o??s),Ae=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Fe=/^\d+$/,Qe=()=>{const e=[];let t=0;return[n=>(n?j(e):null)??s+t++,t=>{Fe.test(t)&&J(e)<1e3&&z(e,t)}]},ze=e=>{let t;const[n,o]=Qe(),a=fe();return[(o,r,i,l=[],c=(()=>[]))=>{t??=e();const d=n(1);return ve(a,d,[o,r,i,l,c]),xe(Ve(r,i??[s],Me),d),d},(e,n,...o)=>M(((e,t=[s])=>{const n=[],o=(e,s)=>s==J(t)?z(n,e):null===t[s]?he(e,(e=>o(e,s+1))):M([t[s],null],(t=>o(we(e,t),s+1)));return o(e,0),n})(e,n),(e=>he(e,(e=>we(a,e)[0](t,...n??[],...o))))),e=>H(we(a,e),(([,t,n])=>(Ve(t,n??[s],void 0,(t=>(ge(t,e),ce(t)?1:0))),ve(a,e),o(e),n))),e=>H(we(a,e),(([e,,s=[],n,o])=>{const a=(...r)=>{const i=J(r);i==J(s)?e(t,...r,...o(r)):G(s[i])?M(n[i]?.(...r)??[],(e=>a(...r,e))):a(...r,s[i])};a()}))]},Ne=Ae((e=>{let t,n,o,a=100,r=fe(),i=fe(),l=1;const c=fe(),d=fe(),[u,h,g]=ze((()=>O)),f=fe(),L=fe(),w=[],S=[],v=(t,s)=>{l=0,e.transaction((()=>{const[n,o]=we(f,s);he(n,((s,n)=>he(s,((s,o)=>he(s,((s,a)=>ke(e,n,o,a,s[t]))))))),he(o,((s,n)=>Ee(e,n,s[t])))})),l=1},R=e=>{ve(f,e),ve(L,e),h(d,[e])},T=(e,t)=>M(((e,t)=>e.splice(0,t))(e,t??J(e)),R),I=()=>T(w,J(w)-a),p=()=>H(t,(()=>{z(w,t),I(),T(S),t=void 0,o=1})),y=()=>{t=N(w),o=1},C=e.addCellListener(null,null,null,((e,t,s,n,o,a)=>{if(l){p();const e=Re(r,t,fe),i=Re(e,s,fe),l=Re(i,n,(()=>[a,void 0]));l[1]=o,l[0]===o&&ce(ve(i,n))&&ce(ve(e,s))&&ce(ve(r,t))&&y(),x()}})),V=e.addValueListener(null,((e,t,s,n)=>{if(l){p();const e=Re(i,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ce(ve(i,t))&&y(),x()}})),m=(e="")=>(G(t)&&(t=s+n++,ve(f,t,[r,i]),F(t,e),r=fe(),i=fe(),o=1),t),k=()=>{A(w)||(((e,...t)=>{e.unshift(...t)})(S,m()),v(0,t),t=N(w),o=1)},E=()=>{A(S)||(z(w,t),t=j(S),v(1,t),o=1)},x=()=>{o&&(h(c),o=0)},D=e=>{const t=m(e);return x(),t},F=(e,t)=>(Q(e)&&we(L,e)!==t&&(ve(L,e,t),h(d,[e])),O),Q=e=>le(f,e),O={setSize:e=>(a=e,I(),O),addCheckpoint:D,setCheckpoint:F,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...S]],forEachCheckpoint:e=>Se(L,e),hasCheckpoint:Q,getCheckpoint:e=>we(L,e),goBackward:()=>(k(),x(),O),goForward:()=>(E(),x(),O),goTo:e=>{const s=b(w,e)?k:b(S,e)?E:null;for(;!G(s)&&e!=t;)s();return x(),O},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(g(e),O),clear:()=>(T(w),T(S),G(t)||R(t),t=void 0,n=0,D(),O),destroy:()=>{e.delListener(C),e.delListener(V)},getListenerStats:()=>({})};return te(O.clear())})),je=(e,t)=>e<t?-1:1,Oe=Ae((e=>{const t=fe(),n=fe(),[o,a,r,i,l,c,d,,u,h,g]=De(e,fe,(e=>G(e)?s:X(e)?x(e,C):C(e))),[f,L,w]=ze((()=>v)),S=(t,s,n)=>{const o=l(t);he(n,((t,n)=>s(n,(s=>he(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},v={setIndexDefinition:(e,s,o,a,r,i=je)=>{const l=G(r)?void 0:([e],[t])=>r(e,t);return u(e,s,((s,o,r,u,h,g)=>{let f=0;const w=Me(),S=Me(),v=c(e);if(he(o,(([e,t],s)=>{const n=Me(e),o=Me(t);he(n,(e=>ge(o,e)?ge(n,e):0)),he(n,(e=>{xe(w,e),H(we(v,e),(t=>{ge(t,s),ce(t)&&(ve(v,e),f=1)}))})),he(o,(e=>{xe(w,e),le(v,e)||(ve(v,e,Me()),f=1),xe(we(v,e),s),G(a)||xe(S,e)}))})),s(),ce(h)||(g?Se(v,(e=>xe(S,e))):Se(r,(e=>H(we(u,e),(e=>xe(S,e))))),he(S,(e=>{const t=(t,s)=>i(we(h,t),we(h,s),e),s=[...we(v,e)];k(s,t)||(ve(v,e,Me(E(s,t))),xe(w,e))}))),(f||g)&&!G(l)){const t=[...v];k(t,l)||(d(e,fe(E(t,l))),f=1)}f&&L(t,[e]),he(w,(t=>L(n,[e,t])))}),Je(o),H(a,Je)),v},delIndexDefinition:e=>(h(e),v),getStore:o,getIndexIds:a,forEachIndex:e=>r(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,c(e)),hasIndex:i,hasSlice:(e,t)=>le(c(e),t),getTableId:l,getSliceIds:e=>Le(c(e)),getSliceRowIds:(e,t)=>de(we(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 te(v)})),Pe=fe([["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=>B(...e),(e,t)=>B(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:B(t,e)]],["min",[e=>W(...e),(e,t)=>W(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:W(t,e)]],["sum",[e=>D(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Be=(e,t,s,n,o,a=!1)=>{if(ce(s))return;const[r,i,l,c]=o;return a||=G(e),he(n,(([s,n])=>{a||(e=G(s)?i?.(e,n,t++):G(n)?l?.(e,s,t--):c?.(e,n,s,t),a||=G(e))})),a?r(de(s),ie(s)):e},We=Ae((e=>{const t=fe(),[n,o,a,r,i,l,c,,d,u,h]=De(e,Y,(e=>isNaN(e)||G(e)||!0===e||!1===e||e===s?void 0:1*e)),[g,f,L]=ze((()=>w)),w={setMetricDefinition:(e,s,n,o,a,r,i)=>{const u=U(n)?[n,a,r,i]:we(Pe,n)??we(Pe,"sum");return d(e,s,((s,n,o,a,r,i)=>{const d=l(e),h=ie(a);i||=G(d),s();let g=Be(d,h,a,n,u,i);$(g)||(g=void 0),g!=d&&(c(e,g),f(t,[e],g,d))}),Je(o,1)),w},delMetricDefinition:e=>(u(e),w),getStore:n,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 te(w)})),$e=Ae((e=>{const t=e.createStore,[n,o,a,r,i,,,l,,h,f,L,I]=De(e,(()=>!0),Y),p=t(),y=t(),C=fe(),b=(e,t,...s)=>M(s,(s=>xe(Re(Re(C,t,fe),e,Me),s))),m=e=>{H(we(C,e),(e=>{Se(e,((e,t)=>he(t,(t=>e.delListener(t))))),ue(e)})),M([y,p],(t=>t.delTable(e)))},k=(e,t,s)=>b(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),E={setQueryDefinition:(t,n,o)=>{l(t,n),m(t);const a=[],r=[[null,[n,null,null,[],fe()]]],i=[],c=[],d=[];o({select:(e,t)=>{const n=U(e)?[J(a)+s,e]:[G(t)?e:t,s=>s(e,t)];return z(a,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=G(s)||U(t)?null:t,o=G(n)?t:s,a=[e,[e,n,U(o)?o:e=>e(o),[],fe()]];return z(r,a),{as:e=>a[0]=e}},where:(e,t,s)=>z(i,U(e)?e:G(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const a=[e,[e,U(t)?[t,s,n,o]:we(Pe,t)??[(e,t)=>t]]];return z(c,a),{as:e=>a[0]=e}},having:(e,t)=>z(d,U(e)?e:s=>s(e)===t)});const u=fe(a);if(ce(u))return E;const h=fe(r);Se(h,((e,[,t])=>H(we(h,t),(({3:t})=>G(e)?0:z(t,e)))));const g=fe(c);let f=p;if(ce(g)&&A(d))f=y;else{k(t,f,y);const e=fe();Se(g,((t,[s,n])=>xe(Re(e,s,Me),[t,n])));const s=Me();Se(u,(t=>le(e,t)?0:xe(s,t)));const n=fe(),o=(s,n,o,a)=>H(s,(([r,i,l,c])=>{Se(n,((t,[s])=>{const n=Re(r,t,fe),i=we(n,o),l=a?void 0:s;if(i!==l){const s=Me([[i,l]]),a=ie(n);ve(n,o,l),he(we(e,t),(([e,t])=>{const o=Be(c[e],a,n,s,t);c[e]=G(me(o))?null:o}))}})),ce(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)}));b(f,t,f.addRowListener(t,null,((a,r,i,l)=>{const c=[],d=[],u=fe(),h=f.hasRow(t,i);let g=!h;he(s,(e=>{const[s,n,o]=l(t,i,e);z(c,n),z(d,o),g||=s})),Se(e,(e=>{const[s,,n]=l(t,i,e);(g||s)&&ve(u,e,[n])})),g&&o(Ve(n,c,void 0,(([,e])=>(ge(e,i),ce(e)))),u,i,1),h&&o(Ve(n,d,(()=>{const e={};return he(s,(s=>e[s]=f.getCell(t,i,s))),[fe(),Me(),void 0,e]}),(([,e])=>{xe(e,i)})),u,i)})))}k(t,e,f);const w=(s,o,a,r)=>{const l=t=>e.getCell(o,a,t);M(r,(n=>{const[o,,a,r,i]=we(h,n),c=a?.(l,s),[d,u]=we(i,s)??[];c!=d&&(G(u)||I(t,u),ve(i,s,G(c)?null:[c,...L(t,1,e.addRowListener(o,c,(()=>w(s,o,c,r))))]))})),(s=>{const o=(t,o)=>e.getCell(...G(o)?[n,s,t]:t===n?[n,s,o]:[we(h,t)?.[0],we(we(h,t)?.[4],s)?.[0],o]);f.transaction((()=>V(i,(e=>e(o)))?Se(u,((e,n)=>ke(f,t,s,e,n(o,s)))):f.delRow(t,s)))})(s)},{3:S}=we(h,null);return f.transaction((()=>L(t,1,e.addRowListener(n,null,((s,o,a)=>{e.hasRow(n,a)?w(a,n,a,S):(f.delRow(t,a),he(h,(({4:e})=>H(we(e,a),(([,s])=>{I(t,s),ve(e,a)})))))}))))),E},delQueryDefinition:e=>(m(e),h(e),E),getStore:n,getQueryIds:o,forEachQuery:a,hasQuery:r,getTableId:i,delListener:e=>(y.delListener(e),E),destroy:f,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=y.getListenerStats();return n}};return ae({[g]:[1,1],[S]:[0,1],[v]:[0,5],[w]:[1,2],[T]:[0,2],[R]:[1,3]},(([e,t],s)=>{M(e?["get","has","forEach"]:["get"],(e=>E[e+d+s]=(...t)=>y[e+s](...t))),E[u+d+s+c]=(...e)=>y[u+s+c](...Q(e,0,t),((s,...n)=>e[t](E,...n)))})),te(E)})),qe=Ae((e=>{const t=fe(),n=fe(),o=fe(),a=fe(),[r,i,l,c,d,u,,,h,g,f]=De(e,(()=>[fe(),fe(),fe(),fe()]),(e=>G(e)?void 0:e+s)),[L,w,S]=ze((()=>I)),v=(e,t,s)=>H(u(e),(([n,,o])=>{if(!le(o,t)){const a=Me();if(d(e)!=T(e))xe(a,t);else{let e=t;for(;!G(e)&&!le(a,e);)xe(a,e),e=we(n,e)}if(s)return a;ve(o,t,a)}return we(o,t)})),R=(e,t)=>H(u(e),(([,,e])=>ve(e,t))),T=e=>we(t,e),I={setRelationshipDefinition:(e,s,r,i)=>(ve(t,e,r),h(e,s,((t,s)=>{const r=Me(),i=Me(),l=Me(),[c,d]=u(e);he(s,(([t,s],n)=>{G(t)||(xe(i,t),H(we(d,t),(e=>{ge(e,n),ce(e)&&ve(d,t)}))),G(s)||(xe(i,s),le(d,s)||ve(d,s,Me()),xe(we(d,s),n)),xe(r,n),ve(c,n,s),Se(we(a,e),(t=>{le(v(e,t),n)&&xe(l,t)}))})),t(),he(r,(t=>w(n,[e,t]))),he(i,(t=>w(o,[e,t]))),he(l,(t=>{R(e,t),w(a,[e,t])}))}),Je(i)),I),delRelationshipDefinition:e=>(ve(t,e),g(e),I),getStore:r,getRelationshipIds:i,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:T,getRemoteRowId:(e,t)=>we(u(e)?.[0],t),getLocalRowIds:(e,t)=>de(we(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>G(u(e))?[t]:de(v(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>L(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(v(e,t),L(s,a,[e,t])),delListener:e=>(R(...S(e)),I),destroy:f,getListenerStats:()=>({})};return te(I)})),Ge=e=>[e,e],He=()=>[fe(),fe()],Ke=e=>[...e],Ue=([e,t])=>e===t,Xe=(e,t,s,n=ve)=>(ae(t,((t,n)=>s(e,n,t))),Se(e,(s=>ne(t,s)?0:n(e,s))),e),Ye=(e,t,s)=>G(e)||!se(e)||re(e)||ee(e)?(s?.(),!1):(ae(e,((s,n)=>{t(s,n)||oe(e,n)})),!re(e)),Ze=(e,t,s)=>ve(e,t,we(e,t)==-s?void 0:s),_e=()=>{let e,t,s=!1,n=!1,o=0;const r=fe(),d=fe(),h=fe(),v=fe(),V=fe(),k=fe(),D=fe(),J=fe(),A=fe(),F=fe(),N=fe(),j=fe(),B=Me(),W=fe(),$=fe(),q=fe(),X=He(),Y=He(),Z=He(),_=He(),ee=He(),se=He(),ie=He(),de=He(),Ve=He(),De=He(),Je=He(),Ae=He(),Fe=He(),Ne=fe(),Oe=He(),[Pe,Be,We,$e]=ze((()=>us)),qe=e=>{if(!Ye(e,((e,t)=>b([i,l],t))))return!1;const t=e[i];return!(!K(t)&&t!=a||(me(e[l])!=t&&oe(e,l),0))},et=(t,s)=>(!e||le(A,s)||Mt(s))&&Ye(t,((e,t)=>tt(s,t,e)),(()=>Mt(s))),tt=(e,t,s,n)=>Ye(n?s:at(s,e,t),((n,o)=>H(st(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>Mt(e,t))),st=(t,s,n,o)=>e?H(we(we(A,t),n),(e=>me(o)!=e[i]?Mt(t,s,n,o,e[l]):o),(()=>Mt(t,s,n,o))):G(me(o))?Mt(t,s,n,o):o,nt=(e,t)=>Ye(t?e:rt(e),((t,s)=>H(ot(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>xt())),ot=(e,s)=>t?H(we(N,e),(t=>me(s)!=t[i]?xt(e,s,t[l]):s),(()=>xt(e,s))):G(me(s))?xt(e,s):s,at=(e,t,s)=>(H(we(F,t),(([n,o])=>{he(n,((t,s)=>{ne(e,s)||(e[s]=t)})),he(o,(n=>{ne(e,n)||Mt(t,s,n)}))})),e),rt=e=>(t&&(he(j,((t,s)=>{ne(e,s)||(e[s]=t)})),he(B,(t=>{ne(e,t)||xt(t)}))),e),it=e=>Xe(A,e,((e,t,s)=>{const n=fe(),o=Me();Xe(Re(A,t,fe),s,((e,t,s)=>{ve(e,t,s),H(s[l],(e=>ve(n,t,e)),(()=>xe(o,t)))})),ve(F,t,[n,o])}),((e,t)=>{ve(A,t),ve(F,t)})),lt=e=>Xe(N,e,((e,t,s)=>{ve(N,t,s),H(s[l],(e=>ve(j,t,e)),(()=>xe(B,t)))}),((e,t)=>{ve(N,t),ve(j,t),ge(B,t)})),ct=e=>re(e)?ss():Yt(e),dt=e=>Xe($,e,((e,t,s)=>ut(t,s)),((e,t)=>Tt(t))),ut=(e,t)=>Xe(Re($,e,(()=>(Ct(e,1),fe()))),t,((t,s,n)=>ht(e,t,s,n)),((t,s)=>It(e,t,s))),ht=(e,t,s,n,o)=>Xe(Re(t,s,(()=>(bt(e,s,1),fe()))),n,((t,n,o)=>gt(e,s,t,n,o)),((n,a)=>pt(e,t,s,n,a,o))),gt=(e,t,s,n,o)=>{le(s,n)||Vt(e,t,n,1);const a=we(s,n);o!==a&&(mt(e,t,n,a,o),ve(s,n,o))},ft=(e,t,s,n,o)=>H(we(t,s),(t=>gt(e,s,t,n,o)),(()=>ht(e,t,s,at({[n]:o},e,s)))),Lt=e=>re(e)?as():Zt(e),wt=e=>Xe(q,e,((e,t,s)=>St(t,s)),((e,t)=>yt(t))),St=(e,t)=>{le(q,e)||kt(e,1);const s=we(q,e);t!==s&&(Et(e,s,t),ve(q,e,t))},vt=(e,t)=>{const[s]=Re(W,e,Qe),n=s(t);return le(we($,e),n)?vt(e,t):n},Rt=e=>we($,e)??ut(e,{}),Tt=e=>ut(e,{}),It=(e,t,s)=>{const[,n]=Re(W,e,Qe);n(s),ht(e,t,s,{},!0)},pt=(e,t,s,n,o,a)=>{const r=we(we(F,e)?.[0],o);if(!G(r)&&!a)return gt(e,s,n,o,r);const i=t=>{mt(e,s,t,we(n,t)),Vt(e,s,t,-1),ve(n,t)};G(r)?i(o):Se(n,i),ce(n)&&(bt(e,s,-1),ce(ve(t,s))&&(Ct(e,-1),ve($,e),ve(W,e)))},yt=e=>{const t=we(j,e);if(!G(t))return St(e,t);Et(e,we(q,e)),kt(e,-1),ve(q,e)},Ct=(e,t)=>Ze(r,e,t),bt=(e,t,s)=>Ze(Re(d,e,fe),t,s),Vt=(e,t,s,n)=>Ze(Re(Re(h,e,fe),t,fe),s,n),mt=(e,t,s,n,o)=>Re(Re(Re(v,e,fe),t,fe),s,(()=>[n,0]))[1]=o,kt=(e,t)=>Ze(V,e,t),Et=(e,t,s)=>Re(k,e,(()=>[t,0]))[1]=s,Mt=(e,t,s,n,o)=>(z(Re(Re(Re(D,e,fe),t,fe),s,(()=>[])),n),o),xt=(e,t,s)=>(z(Re(J,e,(()=>[])),t),s),Dt=(e,t,s)=>H(we(we(we(v,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(Ht(e,t,s))])),Jt=e=>H(we(k,e),(([e,t])=>[!0,e,t]),(()=>[!1,...Ge(Xt(e))])),At=e=>ce(D)||ce(Ve[e])?0:he(e?be(D):D,((t,s)=>he(t,((t,n)=>he(t,((t,o)=>Be(Ve[e],[s,n,o],t))))))),Ft=e=>ce(J)||ce(De[e])?0:he(e?ye(J):J,((t,s)=>Be(De[e],[s],t))),Qt=(e,t,s)=>{if(!ce(t))return Be(e,s),1},zt=e=>{const t=ce(ee[e]),s=ce(ie[e])&&ce(_[e])&&t&&ce(Y[e]),n=ce(de[e])&&ce(se[e])&&ce(Z[e])&&ce(X[e]);if(!s||!n){const o=e?[ye(r),Ce(d),be(h),be(v)]:[r,d,h,v];if(!s){he(o[2],((t,s)=>he(t,((t,n)=>Qt(ie[e],t,[s,n])))));const s=Me();he(o[1],((n,o)=>{Qt(_[e],n,[o])&&!t&&(Be(ee[e],[o,null]),xe(s,o))})),t||he(o[3],((t,n)=>{if(!le(s,n)){const s=Me();he(t,(e=>he(e,(([t,n],o)=>n!==t?xe(s,o):ge(e,o))))),he(s,(t=>Be(ee[e],[n,t])))}})),Qt(Y[e],o[0])}if(!n){let t;he(o[3],((s,n)=>{let o;he(s,((s,a)=>{let r;he(s,(([s,i],l)=>{i!==s&&(Be(de[e],[n,a,l],i,s,Dt),t=o=r=1)})),r&&Be(se[e],[n,a],Dt)})),o&&Be(Z[e],[n],Dt)})),t&&Be(X[e],void 0,Dt)}}},Nt=e=>{const t=ce(Ae[e]),s=ce(Fe[e])&&ce(Je[e]);if(!t||!s){const n=e?[ye(V),ye(k)]:[V,k];if(t||Qt(Ae[e],n[0]),!s){let t;he(n[1],(([s,n],o)=>{n!==s&&(Be(Fe[e],[o],n,s,Jt),t=1)})),t&&Be(Je[e],void 0,Jt)}}},jt=(e,...t)=>(ls((()=>e(...x(t,C)))),us),Ot=()=>[Te(v,((e,t)=>-1===we(r,t)?null:Te(e,((e,s)=>-1===we(we(d,t),s)?null:Te(e,(([,e])=>e??null),((e,t)=>Ue(t)))),re)),re),Te(k,(([,e])=>e??null),((e,t)=>Ue(t)))],Pt=()=>({cellsTouched:s,valuesTouched:n,changedCells:pe(v,Ke,Ue),invalidCells:pe(D),changedValues:Te(k,Ke,Ue),invalidValues:Te(J),changedTableIds:Te(r),changedRowIds:Ie(d),changedCellIds:pe(h),changedValueIds:Te(V)}),Bt=()=>pe($),Wt=()=>Le($),$t=e=>Le(we($,C(e))),qt=(e,t,s,n=0,o)=>{return x(Q(E((a=we($,C(e)),r=(e,s)=>[G(t)?s:we(e,C(t)),s],x([...a?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>je(e,t)*(s?-1:1))),n,G(o)?o:n+o),(([,e])=>e));var a,r},Gt=(e,t)=>Le(we(we($,C(e)),C(t))),Ht=(e,t,s)=>we(we(we($,C(e)),C(t)),C(s)),Kt=()=>Te(q),Ut=()=>Le(q),Xt=e=>we(q,C(e)),Yt=e=>jt((()=>(e=>Ye(e,et,Mt))(e)?dt(e):0)),Zt=e=>jt((()=>nt(e)?wt(e):0)),_t=e=>{try{ct(P(e))}catch{}return us},es=t=>jt((()=>{if((e=Ye(t,(e=>Ye(e,qe))))&&(it(t),!ce($))){const e=Bt();ss(),Yt(e)}})),ts=e=>jt((()=>{if(t=(e=>Ye(e,qe))(e)){const s=Kt();is(),as(),t=!0,lt(e),Zt(s)}})),ss=()=>jt((()=>dt({}))),ns=e=>jt((e=>le($,e)?Tt(e):0),e),os=(e,t)=>jt(((e,t)=>H(we($,e),(s=>le(s,t)?It(e,s,t):0))),e,t),as=()=>jt((()=>wt({}))),rs=()=>jt((()=>{it({}),e=!1})),is=()=>jt((()=>{lt({}),t=!1})),ls=(e,t)=>{if(-1!=o){cs();const s=e();return ds(t),s}},cs=()=>(-1!=o&&o++,1==o&&Be(Ne,void 0,Ot,Pt),us),ds=e=>(o>0&&(o--,0==o&&(s=!ce(v),n=!ce(k),o=1,At(1),s&&zt(1),Ft(1),n&&Nt(1),e?.(Ot,Pt)&&(he(v,((e,t)=>he(e,((e,s)=>he(e,(([e],n)=>ke(us,t,s,n,e))))))),he(k,(([e],t)=>Ee(us,t,e))),s=n=!1),Be(Oe[0],void 0,Ot,Pt),o=-1,At(0),s&&zt(0),Ft(0),n&&Nt(0),Be(Oe[1],void 0,Ot,Pt),o=0,s=n=!1,M([r,d,h,v,D,V,k,J],ue))),us),us={getContent:()=>[Bt(),Kt()],getTables:Bt,getTableIds:Wt,getTable:e=>Ie(we($,C(e))),getRowIds:$t,getSortedRowIds:qt,getRow:(e,t)=>Te(we(we($,C(e)),C(t))),getCellIds:Gt,getCell:Ht,getValues:Kt,getValueIds:Ut,getValue:Xt,hasTables:()=>!ce($),hasTable:e=>le($,C(e)),hasRow:(e,t)=>le(we($,C(e)),C(t)),hasCell:(e,t,s)=>le(we(we($,C(e)),C(t)),C(s)),hasValues:()=>!ce(q),hasValue:e=>le(q,C(e)),getTablesJson:()=>O($),getValuesJson:()=>O(q),getJson:()=>O([$,q]),getTablesSchemaJson:()=>O(A),getValuesSchemaJson:()=>O(N),getSchemaJson:()=>O([A,N]),setContent:([e,t])=>jt((()=>{Yt(e),Zt(t)})),setTables:Yt,setTable:(e,t)=>jt((e=>et(t,e)?ut(e,t):0),e),setRow:(e,t,s)=>jt(((e,t)=>tt(e,t,s)?ht(e,Rt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ls((()=>{let n;return tt(e,n,t)&&(e=C(e),ht(e,Rt(e),n=vt(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>jt(((e,t)=>{if(tt(e,t,s,1)){const n=Rt(e);ae(s,((s,o)=>ft(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>jt(((e,t,s)=>H(st(e,t,s,U(n)?n(Ht(e,t,s)):n),(n=>ft(e,Rt(e),t,s,n)))),e,t,s),setValues:Zt,setPartialValues:e=>jt((()=>nt(e,1)?ae(e,((e,t)=>St(t,e))):0)),setValue:(e,t)=>jt((e=>H(ot(e,U(t)?t(Xt(e)):t),(t=>St(e,t)))),e),setTransactionChanges:e=>jt((()=>{ae(e[0],((e,t)=>G(e)?ns(t):ae(e,((e,s)=>G(e)?os(t,s):ae(e,((e,n)=>ke(us,t,s,n,e))))))),ae(e[1],((e,t)=>Ee(us,t,e)))})),setTablesJson:_t,setValuesJson:e=>{try{Lt(P(e))}catch{}return us},setJson:e=>{try{const[t,s]=P(e);ct(t),Lt(s)}catch{_t(e)}return us},setTablesSchema:es,setValuesSchema:ts,setSchema:(e,t)=>jt((()=>{es(e),ts(t)})),delTables:ss,delTable:ns,delRow:os,delCell:(e,t,s,n)=>jt(((e,t,s)=>H(we($,e),(o=>H(we(o,t),(a=>le(a,s)?pt(e,o,t,a,s,n):0))))),e,t,s),delValues:as,delValue:e=>jt((e=>le(q,e)?yt(e):0),e),delTablesSchema:rs,delValuesSchema:is,delSchema:()=>jt((()=>{rs(),is()})),transaction:ls,startTransaction:cs,finishTransaction:ds,forEachTable:e=>he($,((t,s)=>e(s,(e=>he(t,((t,s)=>e(s,(e=>Se(t,e))))))))),forEachRow:(e,t)=>he(we($,C(e)),((e,s)=>t(s,(t=>Se(e,t))))),forEachCell:(e,t,s)=>Se(we(we($,C(e)),C(t)),s),forEachValue:e=>Se(q,e),addSortedRowIdsListener:(e,t,s,n,o,a,r)=>{let i=qt(e,t,s,n,o);return Pe((()=>{const r=qt(e,t,s,n,o);m(r,i)||(i=r,a(us,e,t,s,n,o,i))}),ee[r?1:0],[e,t],[Wt])},addStartTransactionListener:e=>Pe(e,Ne),addWillFinishTransactionListener:e=>Pe(e,Oe[0]),addDidFinishTransactionListener:e=>Pe(e,Oe[1]),callListener:e=>($e(e),us),delListener:e=>(We(e),us),getListenerStats:()=>({}),createStore:_e};return ae({[f]:[0,X],[L]:[0,Y],[g]:[1,Z,[Wt]],[S]:[1,_,[Wt]],[w]:[2,se,[Wt,$t]],[T]:[2,ie,[Wt,$t]],[R]:[3,de,[Wt,$t,Gt],e=>Ge(Ht(...e))],InvalidCell:[3,Ve],[p]:[0,Je],[y]:[0,Ae],[I]:[1,Fe,[Ut],e=>Ge(Xt(e[0]))],InvalidValue:[1,De]},(([e,t,s,n],o)=>{us[u+o+c]=(...o)=>Pe(o[e],t[o[e+1]?1:0],e>0?Q(o,0,e):void 0,s,n)})),te(us)};e.createCheckpoints=Ne,e.createCustomPersister=(e,t,s,n,o)=>{let a,r,i=0,l=!1;const c=async e=>{2!=i&&(i=1,await e(),i=0)},d={load:async(s={},n={})=>(await c((async()=>{let o;try{o=await t()}catch{}e.setContent(o??[s,n])})),d),startAutoLoad:async(s={},o={})=>(d.stopAutoLoad(),await d.load(s,o),l=!0,r=n((async(s,n)=>{await c((async()=>{if(n)e.setTransactionChanges(n());else try{e.setContent(s?.()??await t())}catch{}}))})),d),stopAutoLoad:()=>(l&&(o(r),r=void 0,l=!1),d),save:async t=>(1!=i&&(i=2,await s(e.getContent,t),i=0),d),startAutoSave:async()=>(await d.stopAutoSave().save(),a=e.addDidFinishTransactionListener(((e,t)=>d.save(t))),d),stopAutoSave:()=>(H(a,e.delListener),d),getStore:()=>e,destroy:()=>d.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return te(d)},e.createIndexes=Oe,e.createMetrics=We,e.createQueries=$e,e.createRelationships=qe,e.createStore=_e,e.defaultSorter=je},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={});
|
package/lib/umd/tinybase.js.gz
CHANGED
|
Binary file
|
package/lib/umd/tools.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,l="",a=t(l),n=t(!0),o=t(0),d="type",r="default",s="Listener",I="get",c="add",$="Ids",i="Table",u=i+"s",p=i+$,b="Row",C=b+$,h="Sorted"+b+$,g="Cell",m=g+$,f="Value",w=f+"s",y=f+$,T=(e,t)=>e.every(t),v=(e,t)=>e.sort(t),V=(e,t)=>e.forEach(t),x=(e,t)=>e.map(t),R=e=>e.length,k=e=>0==R(e),S=(e,t)=>e.filter(t),P=(e,...t)=>e.push(...t),A=e=>e.pop(),E=(e,...t)=>e.unshift(...t),D=e=>e.shift(),O=JSON.parse,N=isFinite,j=(e,t)=>e instanceof t,L=e=>null==e,M=e=>e==a||e==n,G=e=>t(e)==a,J=e=>Array.isArray(e),z=e=>{const l=t(e);return M(l)||l==o&&N(e)?l:void 0},W=Object,B=W.keys,F=W.freeze,U=e=>j(e,W)&&e.constructor==W,_=(e,t)=>x(W.entries(e),(([e,l])=>t(l,e))),Z=e=>U(e)&&k(B(e)),H=(e,t)=>e?.has(t)??!1,Q=e=>[...e?.values()??[]],q=(e,t)=>e?.forEach(t),K=(e,t)=>e?.delete(t),X=e=>new Map(e),Y=(e,t)=>e?.get(t),ee=(e,t)=>q(e,((e,l)=>t(l,e))),te=(e,t)=>x([...e?.entries()??[]],(([e,l])=>t(l,e))),le=(e,t,l)=>L(l)?(K(e,t),e):e?.set(t,l),ae=(e,t,l)=>(H(e,t)||le(e,t,l()),Y(e,t)),ne=e=>e.toUpperCase(),oe=e=>e.toLowerCase(),de="a ",re="A function for",se=", and registers a listener so that any changes to that result will cause a re-render",Ie="Callback",ce="Del",$e="Deps",ie=$e+"?: React.DependencyList",ue="doRollback?: DoRollback",pe="actions: () => Return, "+ue,be="export",Ce="Id",he="Invalid",ge="Json",me=oe(s),fe="?: ",we=" | undefined",ye="NonNullable",Te="Partial",ve="Props",Ve="Provider",xe=`Registers a ${me} that will be called`,Re="Represents",ke="rowId: "+Ce,Se="Schema",Pe="Set",Ae=", descending?: boolean, offset?: number, limit?: number",Ee="[]",De="the Store",Oe="Transaction",Ne=oe(Oe),je="Execute a "+Ne+" to make multiple mutations",Le="Explicitly starts a "+Ne,Me="Explicitly finishes a "+Ne,Ge="the end of the "+Ne,Je="void",ze=" => "+Je,We="WhenSet",Be=" when setting it",Fe=de+"string serialization of",Ue=" ",_e="Gets a callback that can ",Ze="the ",He=" the schema for",Qe=(e=0,t=0)=>`the ${ut[e]}content of`+(t?Ue+De:l),qe=(e=0,t,a=0)=>ct[t]+Ue+Qe(e,1)+(a?" when setting it":l),Ke=(e,t=0)=>Re+` a Row when ${t?"s":"g"}etting ${Qe()} the '${e}' `+i,Xe=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,Ye=(e,t)=>`Calls a function for each ${e} in `+t,et=e=>"The props passed to a component that renders "+e,tt=e=>"A function that takes "+e,lt=(e,t=0)=>re+" listening to changes to "+it[e]+" in "+it[t],at=(e,t,a=0)=>xe+" whenever "+it[e]+" in "+it[t]+" change"+(a?l:"s"),nt=e=>`the '${e}' `+i,ot=e=>"the specified Row in "+nt(e),dt=(e,t=0)=>ct[t]+` ${Qe()} `+nt(e),rt=(e,t=0)=>ct[t]+` ${Qe()} `+ot(e),st=(e,t,l=0)=>ct[l]+` the '${t}' Cell for `+ot(e),It=(e,t=0)=>ct[t]+` the '${e}' Value`,ct=["Gets","Checks existence of","Sets","Deletes","Sets part of",Re,"Gets "+Fe,"Sets "+Fe,xe+" whenever",_e+"set",_e+"add",_e+"set part of",_e+"delete","Renders","Gets "+Fe+He,"Sets"+He,"Deletes"+He],$t=[I,"has","set","del","set","forEach",c,l],it=[De,u,Ze+i+Ue+$,de+i,Ze+b+Ue+$,de+b,Ze+g+Ue+$,de+g,"invalid Cell changes",w,Ze+f+Ue+$,de+f,"invalid Value changes",Ze+"sorted "+b+Ue+$],ut=[l,"tabular ","keyed value "],pt=e=>new Set(J(e)||L(e)?e:[e]),bt=(e,t)=>e?.add(t),Ct=/[^A-Za-z]+/,ht=/[^A-Za-z0-9]+/,gt=/^( *)\/\*\* *(.*?) *\*\/$/gm,mt=(e,t,l)=>e.substring(t,l),ft=e=>e.includes(","),wt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return H(e,n)?wt(e,t,l,a+1):(le(e,n,l),n)},yt=e=>e.replace(gt,((e,t,l)=>{const a=77-Tt(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),Tt=e=>e.length,vt=(e,t=l)=>e.join(t),Vt=e=>e.flat(1e3),xt=(e,t=0)=>vt(x(e.split(ht),((e,l)=>(l>0||t?ne:oe)(mt(e,0,1))+mt(e,1)))),Rt=e=>ne(vt((e&&!Ct.test(e[0])?e:" "+e).split(ht),"_")),kt=e=>`/** ${e}. */`,St=(...e)=>vt(S(e,(e=>e)),", "),Pt=(...e)=>"{"+vt(e,"; ")+"}",At=(...e)=>Pt(...x(e,(e=>"readonly "+e))),Et=()=>{const e=[X(),X(),X(),X()],t=X(),a=X();return[(...e)=>vt(Vt(e),"\n"),(t,l,...a)=>V(a,(a=>V([0,1],(n=>(t??n)==n?bt(ae(e[n],l,pt),a):0)))),(e,a,n,o=l,d=1)=>wt(t,e,[a,n,o,d]),(e,t,l)=>wt(a,e,J(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>Y(a,e)===t?e:wt(a,e,t),(t=0)=>x([...v(te(e[t],((e,t)=>`import {${vt(v(Q(e)),", ")}} from '${t}';`)),((e,t)=>ft(e)!=ft(t)?ft(e)?-1:1:e>t?1:-1)),l],(e=>e.replace("{React}","React"))),()=>te(t,(([e,t,a,n],o)=>[kt(t),`${n?be+" ":l}type ${o}${a} = ${e};`,l])),()=>te(a,((e,t)=>(e=J(e)?e:[e],P(e,A(e)+";"),[`const ${t} = ${D(e)}`,e,l])))]},Dt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Ot=(e,t,l)=>[t=>_(e,((e,a)=>t(a,xt(a,1),l(Rt(a),`'${a}'`)))),(t,a)=>_(e[t],((e,t)=>a(t,e[d],e[r],l(Rt(t),`'${t}'`),xt(t,1)))),e=>_(t,((t,a)=>e(a,t[d],t[r],l(Rt(a),`'${a}'`),xt(a,1))))],Nt=(e,t,a,n)=>[(n,o)=>{const d=n+": "+o,r=e(u,Pt(...t((e=>`'${e}'?: {[rowId: Id]: `+Pt(...a(e,((e,t,a)=>`'${e}'${L(a)?"?":l}: ${t}`)))+"}"))),qe(1,5)),I=e(u+We,Pt(...t((e=>`'${e}'?: {[rowId: Id]: `+Pt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),qe(1,5,1)),c=e(i+Ce,"keyof "+r,"A "+i+" Id in "+De),$=`<TId extends ${c}>`,f=e(i,ye+`<${r}[TId]>`,"A "+i+" in "+De,$),w=e(i+We,ye+`<${I}[TId]>`,"A "+i+" in "+De+Be,$),y=e(b,f+"<TId>[Id]","A "+b+" in a "+i,$),T=e(b+We,w+"<TId>[Id]","A "+b+" in a "+i+Be,$),v=e(g+Ce,`Extract<keyof ${y}<TId>, Id>`,"A "+g+" Id in a "+b,$),V=e(g,ye+`<${r}[TId]>[Id][CId]`,"A "+g+" in a "+b,`<TId extends ${c}, CId extends ${v}<TId>>`),x=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,g+" Ids and types in a "+b,`<TId extends ${c}, CId = ${v}<TId>>`,0),R=e(g+Ie,`(...[cellId, cell]: ${x}<TId>)`+ze,tt(de+g+" Id, and "+g),$),k=e(b+Ie,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+ze+") "+ze,tt(de+b+" Id, and a "+g+" iterator"),$),S=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${ze}] : never`,i+" Ids and callback types",`<TId = ${c}>`,0),P=e(i+Ie,`(...[tableId, forEachRow]: ${S})`+ze,tt(de+i+" Id, and a "+b+" iterator"),l),A=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),E=e("GetCellChange",`(...[tableId, rowId, cellId]: ${A}) => CellChange`,re+" returning information about any Cell's changes during a "+Ne),D=e(u+s,`(${d}, getCellChange: ${E}${we})`+ze,lt(1)),O=e(p+s,`(${d})`+ze,lt(2)),N=e(i+s,`(${d}, tableId: ${c}, getCellChange: ${E}${we})`+ze,lt(3)),j=e(C+s,`(${d}, tableId: ${c})`+ze,lt(4,3)),M=e(h+s,"("+St(d,"tableId: "+c,"cellId: Id"+we,"descending: boolean","offset: number","limit: number"+we,"sortedRowIds: Ids")+")"+ze,lt(13,3)),G=e(b+s,"("+St(""+d,"tableId: "+c,ke,`getCellChange: ${E}${we}`)+")"+ze,lt(5,3)),J=e(m+s,"("+St(""+d,"tableId: "+c,ke)+")"+ze,lt(6,5)),z=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${ke}, cellId: CId, newCell: ${V}<TId, CId> ${we}, oldCell: ${V}<TId, CId> ${we}, getCellChange: ${E} ${we}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${v}<TId>>`,0),W=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+z+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[r,I,c,f,w,y,T,v,V,R,k,P,D,O,N,j,M,G,J,e(g+s,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${W})`+ze,lt(7,5)),e(he+g+s,`(${d}, tableId: Id, ${ke}, cellId: Id, invalidCells: any[])`+ze,lt(8))]},(t,a)=>{const o=t+": "+a,d=e(w,Pt(...n(((e,t,a)=>`'${e}'${L(a)?"?":l}: ${t}`))),qe(2,5)),r=e(w+We,Pt(...n(((e,t)=>`'${e}'?: ${t}`))),qe(2,5,1)),I=e(f+Ce,"keyof "+d,"A "+f+" Id in "+De),c=e(f,ye+`<${d}[VId]>`,"A "+f+" Id in "+De,`<VId extends ${I}>`),$=e("ValueIdValueArray",`VId extends ${I} ? [valueId: VId, value: ${c}<VId>] : never`,f+" Ids and types in "+De,`<VId = ${I}>`,0),i=e(f+Ie,`(...[valueId, value]: ${$})`+ze,tt(de+f+" Id, and "+f)),u=e("GetValueChange",`(valueId: ${I}) => ValueChange`,re+" returning information about any Value's changes during a "+Ne),p=e(w+s,`(${o}, getValueChange: ${u}${we})`+ze,lt(9)),b=e(y+s,`(${o})`+ze,lt(10)),C=e("ValueListenerArgsArray",`VId extends ${I} ? [${o}, valueId: VId, newValue: ${c}<VId> ${we}, oldValue: ${c}<VId> ${we}, getValueChange: ${u} ${we}] : never`,"Value args for ValueListener",`<VId = ${I}>`,0);return[d,r,I,c,i,p,b,e(f+s,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+ze,lt(11)),e(he+f+s,`(${o}, valueId: Id, invalidValues: any[])`+ze,lt(12))]},(t,l)=>e(Oe+s,`(${t}: ${l}, cellsTouched: boolean, valuesTouched: boolean)`+ze,re+" listening to the completion of a "+Ne)],jt=(e,t=l,a=l)=>`store.${e}(${t})`+(a?" as "+a:l),Lt=(e,t=l)=>`fluent(() => ${jt(e,t)})`,Mt=(e,t=l,a=l)=>`store.${e}(${t?t+", ":l}proxy(listener)${a?", "+a:l})`,Gt=(e,t,a)=>{const[o,I,T,v,x,R,k,S]=Et(),[A,D,O]=Ot(e,t,x),[N,j,M]=Nt(T,A,D,O),J=X(),z=(e=0)=>te(J,(([t,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${t}): ${a} => ${n},`]:[r+d+`(${t}): ${a};`];return e||E(s,kt(o)),P(s,l),s})),W=(e,t,a,n,o,d=l)=>wt(J,e,[t,a,n,o,d]),B=(e,t,a,n,o,d=l,r=l,s=l)=>W($t[e]+t+(4==e?Te:l)+a,d,n,(n==_?Lt:jt)($t[e]+(4==e?Te:l)+a,r,e?void 0:n),o,s),F=(e,t,a,n=l,o=l,d=1,r=l)=>W(c+e+s,(n?n+", ":l)+me+": "+t+(d?", mutator?: boolean":l),Ce,Mt(c+e+s,o,d?"mutator":l),a,r),U=`./${xt(a)}.d`,_=xt(a,1),H=xt(_),q=[],K=X();let ae=[],ne=[];if(I(1,U,_,`create${_} as create${_}Decl`),!Z(e)){I(0,"tinybase","CellChange"),I(null,"tinybase",$);const[e,t,a,o,s,c,f,w,y,v,R,k,S,E,O,j,M,J,z,W,Z]=N(H,_),ee=X();A(((e,t)=>{const l=`<'${e}'>`,a=[T(t+i,o+l,Re+` the '${e}' `+i),T(t+i+We,s+l,Re+` the '${e}' `+i+Be),T(t+b,c+l,Ke(e)),T(t+b+We,f+l,Ke(e,1)),T(t+g+Ce,w+l,`A Cell Id for the '${e}' `+i),T(t+g+Ie,v+l,tt(`a Cell Id and value from a Row in the '${e}' `+i)),T(t+b+Ie,R+l,tt(`a Row Id from the '${e}' Table, and a Cell iterator`))];le(ee,e,a),I(1,U,...a)})),I(1,U,e,t,a,w,k,S,E,O,j,M,J,z,W,Z),ae=[e,t,a,w,S,E,O,j,M,J,z,W,ee],V([[e],[n],[_,"tables: "+t,"tables"],[_]],(([e,t,a],n)=>B(n,l,u,e,qe(1,n),t,a))),B(0,l,p,a+Ee,Xe(i,De)),B(5,l,i,Je,Ye(i,De),"tableCallback: "+k,"tableCallback as any"),A(((e,t,a)=>{const[o,d,r,s,I,c,u]=Y(ee,e);V([[o],[n],[_,"table: "+d,", table"],[_]],(([n,o,d=l],r)=>B(r,t,i,n,dt(e,r),o,a+d))),B(0,t,C,$,Xe(b,nt(e)),l,a),B(0,t,h,$,Xe(b,nt(e),1),"cellId?: "+I+Ae,a+", cellId, descending, offset, limit"),B(5,t,b,Je,Ye(b,nt(e)),"rowCallback: "+u,a+", rowCallback as any"),V([[r],[n],[_,", row: "+s,", row"],[_],[_,", partialRow: "+s,", partialRow"]],(([n,o=l,d=l],r)=>B(r,t,b,n,rt(e,r),ke+o,a+", rowId"+d))),B(6,t,b,Ce+we,"Add a new Row to "+nt(e),"row: "+s+", reuseIds?: boolean",a+", row, reuseIds"),B(0,t,m,I+Ee,Xe(g,ot(e)),ke,a+", rowId"),B(5,t,g,Je,Ye(g,ot(e)),ke+", cellCallback: "+c,a+", rowId, cellCallback as any"),D(e,((o,d,r,s,I)=>{const c="Map"+xt(d,1);le(K,d,c);const $=d+(L(r)?we:l);V([[$],[n],[_,`, cell: ${d} | `+c,", cell as any"],[_]],(([n,d=l,r=l],c)=>B(c,t+I,g,n,st(e,o,c),ke+d,a+", rowId, "+s+r)))}))})),B(0,l,u+ge,ge,qe(1,6)),B(2,l,u+ge,_,qe(1,7),"tablesJson: "+ge,"tables"+ge),F(u,S,qe(1,8)+" changes"),F(p,E,at(2,0,1)),F(i,O,at(3,0),`tableId: ${a} | null`,"tableId"),F(C,j,at(4,3,1),`tableId: ${a} | null`,"tableId"),F(h,M,at(13,3,1),St("tableId: TId",`cellId: ${w}<TId>`+we,"descending: boolean","offset: number","limit: number"+we),St("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),F(b,J,at(5,3),`tableId: ${a} | null, rowId: IdOrNull`,"tableId, rowId"),F(m,z,at(6,5,1),`tableId: ${a} | null, rowId: IdOrNull`,"tableId, rowId"),F(g,W,at(7,5),`tableId: ${a} | null, rowId: IdOrNull, cellId: ${vt(A((e=>Y(ee,e)?.[4]??l))," | ")} | null`,"tableId, rowId, cellId"),F(he+g,Z,xe+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),I(1,U,...Q(K)),P(q,".set"+u+Se+"({",Vt(A(((e,t,a)=>[`[${a}]: {`,...D(e,((e,t,a,n)=>`[${n}]: {[${x(Rt(d),`'${d}'`)}]: ${x(Rt(t),`'${t}'`)}${L(a)?l:`, [${x(Rt(r),`'${r}'`)}]: `+(G(a)?x(Rt(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(!Z(t)){const[e,t,a,o,s,c,$,i,u]=j(H,_);I(1,U,e,t,a,s,c,$,i,u),ne=[e,t,a,c,$,i],V([[e],[n],[_,"values: "+t,"values"],[_],[_,"partialValues: "+t,"partialValues"]],(([e,t,a],n)=>B(n,l,w,e,qe(2,n),t,a))),B(0,l,y,a+Ee,Xe(f,De)),B(5,l,f,"void",Ye(f,De),"valueCallback: "+s,"valueCallback as any"),O(((e,t,a,o,d)=>{const r="Map"+xt(t,1);le(K,t,r),V([[t],[n],[_,`value: ${t} | `+r,", value as any"],[_]],(([t,a,n=l],r)=>B(r,d,f,t,It(e,r),a,o+n)))})),B(0,l,w+ge,ge,qe(2,6)),B(2,l,w+ge,_,qe(2,7),"valuesJson: "+ge,"values"+ge),F(w,c,qe(2,8)+" changes"),F(y,$,at(10,0,1)),F(f,i,at(11,0),`valueId: ${a} | null`,"valueId"),F(he+f,u,xe+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),I(1,U,...Q(K)),I(0,"tinybase","ValueChange"),P(q,".set"+w+Se+"({",O(((e,t,a,n)=>[`[${n}]: {[${x(Rt(d),`'${d}'`)}]: ${x(Rt(t),`'${t}'`)}${L(a)?l:`, [${x(Rt(r),`'${r}'`)}]: `+(G(a)?x(Rt(a),`'${a}'`):a)}},`])),"})")}ee(K,((e,t)=>T(t,`(cell: ${e}${we}) => `+e,`Takes a ${e} Cell value and returns another`))),I(null,"tinybase","DoRollback",Ce,"IdOrNull",ge,"Store"),B(0,l,ge,ge,qe(0,6)),B(2,l,ge,_,qe(0,7),"tablesAndValuesJson: "+ge,"tablesAndValuesJson"),B(7,l,Ne,"Return",je,pe,"actions, doRollback","<Return>"),B(7,l,"start"+Oe,_,Le),B(7,l,"finish"+Oe,_,Me,ue,"doRollback");const oe=M(H,_);return F("WillFinish"+Oe,oe,xe+" just before "+Ge,l,l,0),F("DidFinish"+Oe,oe,xe+" just after "+Ge,l,l,0),B(7,l,"call"+s,_,"Manually provoke a listener to be called","listenerId: Id","listenerId"),B(3,l,s,_,"Remove a listener that was previously added to "+De,"listenerId: Id","listenerId"),W("getStore",l,"Store","store",ct[0]+" the underlying Store object"),I(1,"tinybase","createStore"),I(1,U,_,`create${_} as create${_}Decl`,oe),x("store",["createStore()",...q]),v("fluent","actions: () => Store",["actions();",`return ${H};`]),v("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${H}, ...params)`),x(H,["{",...z(1),"}"]),[o(...R(0),...k(),be+" interface "+_+" {",...z(0),"}",l,kt(`Creates a ${_} object`),be+" function create"+_+"(): "+_+";"),o(...R(1),be+" const create"+_+": typeof create"+_+"Decl = () => {",...S(),`return Object.freeze(${H});`,"};"),ae,ne]},Jt=e=>I+e,zt=e=>St(Jt(e),Jt(e)+$e),Wt="debugIds?: boolean",Bt="debugIds={debugIds}",Ft="then"+ie,Ut="Parameter",_t=": (parameter: "+Ut+", store: Store) => ",Zt="const contextValue = useContext(Context);",Ht=", based on a parameter",Qt=": ",qt="<"+Ut+",>",Kt=Ut+"ized"+Ie+"<"+Ut+">",Xt="rowId",Yt="rowId={rowId}",el=", separator, debugIds",tl="separator?: ReactElement | string",ll="then?: (store: Store",al=St(ll+")"+ze,Ft),nl="then, then"+$e,ol=Xt+Qt+Ce,dl="View",rl=(e,...t)=>St(...t,me+": "+e,me+ie,"mutator?: boolean"),sl=(...e)=>St(...e,me,me+$e,"mutator"),Il=(e,t,a,n,o)=>{const[d,r,I,c,T,v,V,x]=Et(),[R,k,S]=Ot(e,t,T),A=`./${xt(a)}.d`,D=`./${xt(a)}-ui-react.d`,O="tinybase/ui-react",N=xt(a,1),j=xt(N),M=N+"Or"+N+Ce,G=j+"Or"+N+Ce,J=j+`={${j}}`,z=X(),W=(e,t,a,n,o,d=l)=>(r(1,D,e+" as "+e+"Decl"),wt(z,e,[t,a,n,o,d])),B=(e,t,a,n,o,d=l)=>W("use"+e,t,a,n,o,d),F=(e,t,a,n,o=l,d=l,s=l,I=l,c=l)=>(r(1,O,`use${t} as use${t}Core`),B(e,St(o,q,I),a,ee+`(${G}, use${t}Core, [`+(d||l)+(c?"], ["+c:l)+"]);",n,s)),U=(e,t,l,a)=>W(e,t,1,l,a),_=(e=0)=>te(z,(([t,a,n,o,d],r)=>{const s=e?[be+` const ${r}: typeof ${r}Decl = ${d}(${t}): ${1==a?"any":a} =>`,n]:[be+` function ${r}${d}(${t}): ${1==a?"ComponentReturnType":a};`];return e||E(s,kt(o)),P(s,l),s}));r(null,"tinybase",Ce,"Store",Ie,Ut+"ized"+Ie),r(0,O,"ComponentReturnType"),r(null,O,"ExtraProps"),r(0,A,N);const H=I(M,N+" | "+Ce,`Used when you need to refer to a ${N} in a React hook or component`),Q=I(Ve+ve,At(j+fe+N,j+`ById?: {[${j}Id: Id]: ${N}}`),`Used with the ${Ve} component, so that a `+N+" can be passed into the context of an application");r(0,"react","ReactElement","ComponentType"),r(1,"react","React"),r(1,D,H,Q);const q=G+fe+H;T("{createContext, useContext, useMemo}","React"),T("Context",`createContext<[${N}?, {[${j}Id: Id]: ${N}}?]>([])`),B("Create"+N,`create: () => ${N}, create`+ie,N,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${N} within a React application with convenient memoization`);const K=B(N,"id?: Id",N+we,["{",Zt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${N} from within a ${Ve} component context`),ee=c("useHook",G+`: ${H} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${j} = ${K}(${G} as Id);`,`return hook(...preParams, ((${G} == null || typeof ${G} == 'string')`,`? ${j} : ${G})?.getStore(), ...postParams)`]),le=c("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),ae=c("wrap",St("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),ne=T("NullComponent","() => null");if(!Z(e)){const[e,t,a,o,d,f,w,y,T,v,V,x,S]=n;r(null,A,e,t,a,d,f,w,y,T,v,V,x),r(0,A,o),r(1,A,N),r(null,"tinybase",$,"IdOrNull");const P=c("tableView",`{${j}, rowComponent, getRowComponentProps`+el+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${ae}(rowIds.map((rowId) => (`,"<Row","{..."+le+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",Yt,J,Bt,"/>","))",el,", tableId,",");"]),E=c("getDefaultTableComponent","tableId: Id",vt(R(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+ne),O=c("getDefaultCellComponent","tableId: Id, cellId: Id",vt(R(((e,t,l)=>`tableId == ${l} ? ${vt(k(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+ne} : `)))+ne);F(u,u,e,qe(1,0)+se);const M=F(p,p,a+Ee,Xe(i,De)+se);F(Pe+u+Ie,Pe+u+Ie,Kt,qe(1,9)+Ht,St(Jt(u)+_t+t,Jt(u)+ie),zt(u),qt,St(ll,`tables: ${t})`+ze,Ft),nl),F(ce+u+Ie,ce+u+Ie,Ie,qe(1,12),l,l,l,al,nl);const G=I(g+ve,At("tableId?: TId","rowId: Id","cellId?: CId",j+fe+N,Wt),et(de+g),`<TId extends ${a}, CId extends ${o}<TId>>`),z=I(b+ve,At("tableId?: TId","rowId: Id",j+fe+N,"cellComponents?: {readonly [CId in "+o+`<TId>]?: ComponentType<${G}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${o}<TId>) => ExtraProps`,tl,Wt),et(de+b),`<TId extends ${a}>`),W=I(i+ve,At("tableId?: TId",j+fe+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",tl,Wt),et(de+i),`<TId extends ${a}>`),B=I("Sorted"+i+ve,At("tableId?: TId","cellId?: "+o+"<TId>","descending?: boolean","offset?: number","limit?: number",j+fe+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",tl,Wt),et(de+"sorted "+i),`<TId extends ${a}>`),_=I(u+ve,At(j+fe+N,"tableComponents?: {readonly [TId in "+a+`]?: ComponentType<${W}<TId>>;}`,`getTableComponentProps?: (tableId: ${a}) => ExtraProps`,tl,Wt),et(Qe(1,1)));r(1,D,_,W,B,z,G),U(u+dl,"{"+j+", tableComponents, getTableComponentProps"+el+"}: "+_,[ae+`(${M}(${j}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+E+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${le}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Bt,"/>;","}), separator)"],qe(1,13)+se),R(((e,t,a)=>{const[n,o,d,s,I]=Y(S,e);r(null,A,n,o,d,s,I),F(t+i,i,n,dt(e)+se,l,a);const c=F(t+C,C,$,Xe(b,nt(e))+se,l,a),u=F(t+h,h,$,Xe(b,nt(e),1)+se,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");F(t+b,b,d,rt(e)+se,ol,St(a,Xt));const p=F(t+m,m,I+Ee,Xe(g,ot(e))+se,ol,St(a,Xt));F(Pe+t+i+Ie,Pe+i+Ie,Kt,dt(e,9)+Ht,St(Jt(i)+_t+o,Jt(i)+ie),St(a,zt(i)),qt,St(ll,`table: ${o})`+ze,Ft),nl),F(ce+t+i+Ie,ce+i+Ie,Ie,dt(e,12),l,a,l,al,nl),F(Pe+t+b+Ie,Pe+b+Ie,Kt,rt(e,9)+Ht,St(ol,Jt(b)+_t+s,Jt(b)+ie),St(a,Xt,zt(b)),qt,St(ll,`row: ${s})`+ze,Ft),nl),F("Add"+t+b+Ie,"Add"+b+Ie,Kt,rt(e,10)+Ht,St(Jt(b)+_t+s,Jt(b)+ie),St(a,zt(b)),qt,"then?: ("+St(ol+we,"store: Store","row: "+s+")"+ze,"then"+ie)+", reuseRowIds?: boolean",nl+", reuseRowIds"),F(Pe+t+Te+b+Ie,Pe+Te+b+Ie,Kt,rt(e,11)+Ht,St(ol,Jt(Te+b)+_t+s,Jt(Te+b)+ie),St(a,Xt,zt(Te+b)),qt,St(ll,`partialRow: ${s})`+ze,Ft),nl),F(ce+t+b+Ie,ce+b+Ie,Ie,rt(e,12),ol,St(a,Xt),l,al,nl);const f=U(t+b+dl,"{rowId, "+j+", cellComponents, getCellComponentProps"+el+`}: ${z}<'${e}'>`,[ae+`(${p}(rowId, ${j}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+O+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${le}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,Yt,"cellId={cellId}",J,Bt,"/>;","})"+el+", rowId)"],rt(e,13)+se);U(t+"Sorted"+i+dl,"{cellId, descending, offset, limit, ...props}: "+B+`<'${e}'>`,P+"(props, "+u+`(cellId, descending, offset, limit, props.${j}), ${a}, ${f});`,dt(e,13)+", sorted"+se),U(t+i+dl,`props: ${W}<'${e}'>`,P+"(props, "+c+`(props.${j}), ${a}, ${f});`,dt(e,13)+se),k(e,((n,o,d,s,I)=>{const c="Map"+xt(o,1);r(0,A,c),r(1,A,c);const $=F(t+I+g,g,o+(L(d)?we:l),st(e,n)+se,ol,St(a,Xt,s));F(Pe+t+I+g+Ie,Pe+g+Ie,Kt,st(e,n,9)+Ht,St(ol,Jt(g)+_t+o+" | "+c,Jt(g)+ie),St(a,Xt,s,zt(g)),qt,St(ll,`cell: ${o} | ${c})`+ze,Ft),nl),F(ce+t+I+g+Ie,ce+g+Ie,Ie,st(e,n,12),St(ol,"forceDel?: boolean"),St(a,Xt,s,"forceDel"),l,al,nl),U(t+I+g+dl,`{rowId, ${j}, debugIds}: `+G+`<'${e}', '${n}'>`,[ae+`('' + ${$}(rowId, `+j+`) ?? '', undefined, debugIds, ${s})`],st(e,n,13)+se)}))}));const Z=vt(R((e=>Y(S,e)?.[4]??l))," | ");F(u+s,u+s,Je,qe(1,8)+" changes",rl(d),sl()),F(p+s,p+s,Je,at(2,0,1),rl(f),sl()),F(i+s,i+s,Je,at(3,0),rl(w,`tableId: ${a} | null`),sl("tableId")),F(C+s,C+s,Je,at(4,3,1),rl(y,`tableId: ${a} | null`),sl("tableId")),F(h+s,h+s,Je,at(13,3,1),rl(T,`tableId: ${a} | null`,"cellId: "+Z+we,"descending: boolean","offset: number","limit: number"+we),sl("tableId","cellId","descending","offset","limit")),F(b+s,b+s,Je,at(5,3),rl(v,`tableId: ${a} | null`,Xt+": IdOrNull"),sl("tableId",Xt)),F(m+s,m+s,Je,at(6,5,1),rl(V,`tableId: ${a} | null`,Xt+": IdOrNull"),sl("tableId",Xt)),F(g+s,g+s,Je,at(7,5),rl(x,`tableId: ${a} | null`,Xt+": IdOrNull",`cellId: ${Z} | null`),sl("tableId",Xt,"cellId"))}if(!Z(t)){const[e,t,a,n,d,$]=o;r(null,A,...o),r(1,A,N);const i=c("getDefaultValueComponent","valueId: Id",vt(S(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+ne);F(w,w,e,qe(2,0)+se);const u=F(y,y,a+Ee,Xe(f,De)+se);F(Pe+w+Ie,Pe+w+Ie,Kt,qe(2,9)+Ht,St(Jt(w)+_t+t,Jt(w)+ie),zt(w),qt,St(ll,`values: ${t})`+ze,Ft),nl),F(Pe+Te+w+Ie,Pe+Te+w+Ie,Kt,qe(2,11)+Ht,St(Jt(Te+w)+_t+t,Jt(Te+w)+ie),zt(Te+w),qt,St(ll,`partialValues: ${t})`+ze,Ft),nl),F(ce+w+Ie,ce+w+Ie,Ie,qe(2,12),l,l,l,al,nl);const p=I(f+ve,At("valueId?: VId",j+fe+N,Wt),et("a Value"),`<VId extends ${a}>`),b=I(w+ve,At(j+fe+N,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,tl,Wt),et(Qe(2,1)));r(1,D,b,p),U(w+dl,"{"+j+", valueComponents, getValueComponentProps"+el+"}: "+b,[ae+`(${u}(${j}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+i+"(valueId);","return <Value",`{...${le}(getValueComponentProps, valueId)}`,"key={valueId}",J,Bt,"/>;","}), separator)"],qe(2,13)+se),S(((e,t,a,n,o)=>{const d="Map"+xt(t,1);r(0,A,d),r(1,A,d);const s=F(o+f,f,t,It(e)+se,l,n);F(Pe+o+f+Ie,Pe+f+Ie,Kt,It(e,9)+Ht,St(Jt(f)+_t+t+" | "+d,Jt(f)+ie),St(n,zt(f)),qt,St(ll,`value: ${t} | ${d})`+ze,Ft),nl),F(ce+o+f+Ie,ce+f+Ie,Ie,It(e,12),l,n,l,al,nl),U(o+f+dl,`{${j}, debugIds}: ${p}<'${e}'>`,[ae+`('' + ${s}(`+j+`) ?? '', undefined, debugIds, ${n})`],It(e,13)+se)})),F(w+s,w+s,Je,qe(2,8)+" changes",rl(n),sl()),F(y+s,y+s,Je,at(10,0,1),rl(d),sl()),F(f+s,f+s,Je,at(11,0),rl($,`valueId: ${a} | null`),sl("valueId"))}return U(Ve,`{${j}, ${j}ById, children}: `+Q+" & {children: React.ReactNode}",["{",Zt,"return (","<Context."+Ve,"value={useMemo(",`() => [${j} ?? contextValue[0], {...contextValue[1], ...${j}ById}],`,`[${j}, ${j}ById, contextValue],`,")}>","{children}",`</Context.${Ve}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[d(...v(0),...V(),..._(0)),d(...v(1),...x(),..._(1))]},cl=(e,t,a)=>{if(Z(e)&&Z(t))return[l,l,l,l];const[n,o,d,r]=Gt(e,t,a);return[n,o,...Il(e,t,a,d,r)]},$l={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},il=Dt((e=>{const t=()=>{const t=O(e.getTablesSchemaJson());return!Z(t)||T(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=X();if(T(a,(t=>T(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=ae(n,a,(()=>[z(o),X(),[0],0])),[r,s,[I]]=d,c=ae(s,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),le(s,o,c),d[3]++,r==z(o)})))))return t[l]={},q(n,(([e,,[,n],o],s)=>{t[l][s]={[d]:e,...o==R(a)?{[r]:n}:{}}})),1}))?t:{}},l=()=>{const t=O(e.getValuesSchemaJson());return Z(t)&&e.forEachValue(((e,l)=>{t[e]={[d]:z(l)}})),t},a=e=>cl(t(),l(),e),n=async e=>{const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(await import("prettier")).format}catch(e){l=e=>e}return x(a(e),((e,a)=>yt(l(e,{...$l,filepath:"_."+t[a]}))))};return F({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let r=0,s=0;const I={};d(((e,l)=>{r++;let a=0;l((()=>a++)),s+=a,t&&(I[e]={rowCells:a})})),a+=r,n+=s,t&&(o[e]={tableRows:r,tableCells:s,rows:I})})),{totalTables:l,totalRows:a,totalCells:n,totalValues:R(e.getValueIds()),jsonLength:Tt(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));e.createTools=il},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseTools={});
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,l="",a=t(l),n=t(!0),o=t(0),d="type",s="default",r="Listener",I="get",c="add",$="Ids",i="Table",u=i+"s",p=i+$,b="Row",C=b+$,h="Sorted"+b+$,g="Cell",m=g+$,f="Value",w=f+"s",y=f+$,T=(e,t)=>e.every(t),v=(e,t)=>e.sort(t),V=(e,t)=>e.forEach(t),x=(e,t)=>e.map(t),R=e=>e.length,k=e=>0==R(e),S=(e,t)=>e.filter(t),A=(e,...t)=>e.push(...t),P=e=>e.pop(),E=(e,...t)=>e.unshift(...t),D=e=>e.shift(),O=JSON.parse,N=isFinite,L=(e,t)=>e instanceof t,G=e=>null==e,j=e=>e==a||e==n,M=e=>t(e)==a,J=e=>Array.isArray(e),z=e=>{const l=t(e);return j(l)||l==o&&N(e)?l:void 0},W=Object,B=W.keys,F=W.freeze,U=e=>L(e,W)&&e.constructor==W,_=(e,t)=>x(W.entries(e),(([e,l])=>t(l,e))),Z=e=>U(e)&&k(B(e)),H=(e,t)=>e?.has(t)??!1,Q=e=>[...e?.values()??[]],q=(e,t)=>e?.forEach(t),K=(e,t)=>e?.delete(t),X=e=>new Map(e),Y=(e,t)=>e?.get(t),ee=(e,t)=>q(e,((e,l)=>t(l,e))),te=(e,t)=>x([...e?.entries()??[]],(([e,l])=>t(l,e))),le=(e,t,l)=>G(l)?(K(e,t),e):e?.set(t,l),ae=(e,t,l)=>(H(e,t)||le(e,t,l()),Y(e,t)),ne=e=>e.toUpperCase(),oe=e=>e.toLowerCase(),de="a ",se="A function for",re=", and registers a listener so that any changes to that result will cause a re-render",Ie="Callback",ce="Del",$e="Deps",ie=$e+"?: React.DependencyList",ue="doRollback?: DoRollback",pe="actions: () => Return, "+ue,be="export",Ce="Id",he="Invalid",ge="Json",me=oe(r),fe="?: ",we=" | undefined",ye="NonNullable",Te="Partial",ve="Props",Ve="Provider",xe=`Registers a ${me} that will be called`,Re="Represents",ke="rowId: "+Ce,Se="Schema",Ae="Set",Pe=", descending?: boolean, offset?: number, limit?: number",Ee="[]",De="the Store",Oe="Transaction",Ne=Oe+"Changes",Le=oe(Oe),Ge="Execute a "+Le+" to make multiple mutations",je="Explicitly starts a "+Le,Me="Explicitly finishes a "+Le,Je="the end of the "+Le,ze="void",We=" => "+ze,Be="WhenSet",Fe=" when setting it",Ue=de+"string serialization of",_e=" ",Ze="Gets a callback that can ",He="the ",Qe=" the schema for",qe=(e=0,t=0)=>`the ${pt[e]}content of`+(t?_e+De:l),Ke=(e=0,t,a=0)=>$t[t]+_e+qe(e,1)+(a?" when setting it":l),Xe=(e,t=0)=>Re+` a Row when ${t?"s":"g"}etting ${qe()} the '${e}' `+i,Ye=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,et=(e,t)=>`Calls a function for each ${e} in `+t,tt=e=>"The props passed to a component that renders "+e,lt=e=>"A function that takes "+e,at=(e,t=0)=>se+" listening to changes to "+ut[e]+" in "+ut[t],nt=(e,t,a=0)=>xe+" whenever "+ut[e]+" in "+ut[t]+" change"+(a?l:"s"),ot=e=>`the '${e}' `+i,dt=e=>"the specified Row in "+ot(e),st=(e,t=0)=>$t[t]+` ${qe()} `+ot(e),rt=(e,t=0)=>$t[t]+` ${qe()} `+dt(e),It=(e,t,l=0)=>$t[l]+` the '${t}' Cell for `+dt(e),ct=(e,t=0)=>$t[t]+` the '${e}' Value`,$t=["Gets","Checks existence of","Sets","Deletes","Sets part of",Re,"Gets "+Ue,"Sets "+Ue,xe+" whenever",Ze+"set",Ze+"add",Ze+"set part of",Ze+"delete","Renders","Gets "+Ue+Qe,"Sets"+Qe,"Deletes"+Qe],it=[I,"has","set","del","set","forEach",c,l],ut=[De,u,He+i+_e+$,de+i,He+b+_e+$,de+b,He+g+_e+$,de+g,"invalid Cell changes",w,He+f+_e+$,de+f,"invalid Value changes",He+"sorted "+b+_e+$],pt=[l,"tabular ","keyed value "],bt=e=>new Set(J(e)||G(e)?e:[e]),Ct=(e,t)=>e?.add(t),ht=/[^A-Za-z]+/,gt=/[^A-Za-z0-9]+/,mt=/^( *)\/\*\* *(.*?) *\*\/$/gm,ft=(e,t,l)=>e.substring(t,l),wt=e=>e.includes(","),yt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return H(e,n)?yt(e,t,l,a+1):(le(e,n,l),n)},Tt=e=>e.replace(mt,((e,t,l)=>{const a=77-vt(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),vt=e=>e.length,Vt=(e,t=l)=>e.join(t),xt=e=>e.flat(1e3),Rt=(e,t=0)=>Vt(x(e.split(gt),((e,l)=>(l>0||t?ne:oe)(ft(e,0,1))+ft(e,1)))),kt=e=>ne(Vt((e&&!ht.test(e[0])?e:" "+e).split(gt),"_")),St=e=>`/** ${e}. */`,At=(...e)=>Vt(S(e,(e=>e)),", "),Pt=(...e)=>"{"+Vt(e,"; ")+"}",Et=(...e)=>Pt(...x(e,(e=>"readonly "+e))),Dt=()=>{const e=[X(),X(),X(),X()],t=X(),a=X();return[(...e)=>Vt(xt(e),"\n"),(t,l,...a)=>V(a,(a=>V([0,1],(n=>(t??n)==n?Ct(ae(e[n],l,bt),a):0)))),(e,a,n,o=l,d=1)=>yt(t,e,[a,n,o,d]),(e,t,l)=>yt(a,e,J(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>Y(a,e)===t?e:yt(a,e,t),(t=0)=>x([...v(te(e[t],((e,t)=>`import {${Vt(v(Q(e)),", ")}} from '${t}';`)),((e,t)=>wt(e)!=wt(t)?wt(e)?-1:1:e>t?1:-1)),l],(e=>e.replace("{React}","React"))),()=>te(t,(([e,t,a,n],o)=>[St(t),`${n?be+" ":l}type ${o}${a} = ${e};`,l])),()=>te(a,((e,t)=>(e=J(e)?e:[e],A(e,P(e)+";"),[`const ${t} = ${D(e)}`,e,l])))]},Ot=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Nt=(e,t,l)=>[t=>_(e,((e,a)=>t(a,Rt(a,1),l(kt(a),`'${a}'`)))),(t,a)=>_(e[t],((e,t)=>a(t,e[d],e[s],l(kt(t),`'${t}'`),Rt(t,1)))),e=>_(t,((t,a)=>e(a,t[d],t[s],l(kt(a),`'${a}'`),Rt(a,1))))],Lt=(e,t,a,n)=>[(n,o)=>{const d=n+": "+o,s=e(u,Pt(...t((e=>`'${e}'?: {[rowId: Id]: `+Pt(...a(e,((e,t,a)=>`'${e}'${G(a)?"?":l}: ${t}`)))+"}"))),Ke(1,5)),I=e(u+Be,Pt(...t((e=>`'${e}'?: {[rowId: Id]: `+Pt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Ke(1,5,1)),c=e(i+Ce,"keyof "+s,"A "+i+" Id in "+De),$=`<TId extends ${c}>`,f=e(i,ye+`<${s}[TId]>`,"A "+i+" in "+De,$),w=e(i+Be,ye+`<${I}[TId]>`,"A "+i+" in "+De+Fe,$),y=e(b,f+"<TId>[Id]","A "+b+" in a "+i,$),T=e(b+Be,w+"<TId>[Id]","A "+b+" in a "+i+Fe,$),v=e(g+Ce,`Extract<keyof ${y}<TId>, Id>`,"A "+g+" Id in a "+b,$),V=e(g,ye+`<${s}[TId]>[Id][CId]`,"A "+g+" in a "+b,`<TId extends ${c}, CId extends ${v}<TId>>`),x=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,g+" Ids and types in a "+b,`<TId extends ${c}, CId = ${v}<TId>>`,0),R=e(g+Ie,`(...[cellId, cell]: ${x}<TId>)`+We,lt(de+g+" Id, and "+g),$),k=e(b+Ie,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+We+") "+We,lt(de+b+" Id, and a "+g+" iterator"),$),S=e("TableIdForEachRowArray",`TId extends ${c} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${We}] : never`,i+" Ids and callback types",`<TId = ${c}>`,0),A=e(i+Ie,`(...[tableId, forEachRow]: ${S})`+We,lt(de+i+" Id, and a "+b+" iterator"),l),P=e("TableIdRowIdCellIdArray",`TId extends ${c} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${c}>`,0),E=e("GetCellChange",`(...[tableId, rowId, cellId]: ${P}) => CellChange`,se+" returning information about any Cell's changes during a "+Le),D=e(u+r,`(${d}, getCellChange: ${E}${we})`+We,at(1)),O=e(p+r,`(${d})`+We,at(2)),N=e(i+r,`(${d}, tableId: ${c}, getCellChange: ${E}${we})`+We,at(3)),L=e(C+r,`(${d}, tableId: ${c})`+We,at(4,3)),j=e(h+r,"("+At(d,"tableId: "+c,"cellId: Id"+we,"descending: boolean","offset: number","limit: number"+we,"sortedRowIds: Ids")+")"+We,at(13,3)),M=e(b+r,"("+At(""+d,"tableId: "+c,ke,`getCellChange: ${E}${we}`)+")"+We,at(5,3)),J=e(m+r,"("+At(""+d,"tableId: "+c,ke)+")"+We,at(6,5)),z=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${ke}, cellId: CId, newCell: ${V}<TId, CId> ${we}, oldCell: ${V}<TId, CId> ${we}, getCellChange: ${E} ${we}] : never`,"Cell args for CellListener",`<TId extends ${c}, CId = ${v}<TId>>`,0),W=e("CellListenerArgsArrayOuter",`TId extends ${c} ? `+z+"<TId> : never","Table args for CellListener",`<TId = ${c}>`,0);return[s,I,c,f,w,y,T,v,V,R,k,A,D,O,N,L,j,M,J,e(g+r,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${W})`+We,at(7,5)),e(he+g+r,`(${d}, tableId: Id, ${ke}, cellId: Id, invalidCells: any[])`+We,at(8))]},(t,a)=>{const o=t+": "+a,d=e(w,Pt(...n(((e,t,a)=>`'${e}'${G(a)?"?":l}: ${t}`))),Ke(2,5)),s=e(w+Be,Pt(...n(((e,t)=>`'${e}'?: ${t}`))),Ke(2,5,1)),I=e(f+Ce,"keyof "+d,"A "+f+" Id in "+De),c=e(f,ye+`<${d}[VId]>`,"A "+f+" Id in "+De,`<VId extends ${I}>`),$=e("ValueIdValueArray",`VId extends ${I} ? [valueId: VId, value: ${c}<VId>] : never`,f+" Ids and types in "+De,`<VId = ${I}>`,0),i=e(f+Ie,`(...[valueId, value]: ${$})`+We,lt(de+f+" Id, and "+f)),u=e("GetValueChange",`(valueId: ${I}) => ValueChange`,se+" returning information about any Value's changes during a "+Le),p=e(w+r,`(${o}, getValueChange: ${u}${we})`+We,at(9)),b=e(y+r,`(${o})`+We,at(10)),C=e("ValueListenerArgsArray",`VId extends ${I} ? [${o}, valueId: VId, newValue: ${c}<VId> ${we}, oldValue: ${c}<VId> ${we}, getValueChange: ${u} ${we}] : never`,"Value args for ValueListener",`<VId = ${I}>`,0);return[d,s,I,c,i,p,b,e(f+r,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+We,at(11)),e(he+f+r,`(${o}, valueId: Id, invalidValues: any[])`+We,at(12))]},(t,l)=>e(Oe+r,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+We,se+" listening to the completion of a "+Le)],Gt=(e,t=l,a=l)=>`store.${e}(${t})`+(a?" as "+a:l),jt=(e,t=l)=>`fluent(() => ${Gt(e,t)})`,Mt=(e,t=l,a=l)=>`store.${e}(${t?t+", ":l}proxy(listener)${a?", "+a:l})`,Jt=(e,t,a)=>{const[o,I,T,v,x,R,k,S]=Dt(),[P,D,O]=Nt(e,t,x),[N,L,j]=Lt(T,P,D,O),J=X(),z=(e=0)=>te(J,(([t,a,n,o,d],s)=>{const r=e?[s+`: ${d}(${t}): ${a} => ${n},`]:[s+d+`(${t}): ${a};`];return e||E(r,St(o)),A(r,l),r})),W=(e,t,a,n,o,d=l)=>yt(J,e,[t,a,n,o,d]),B=(e,t,a,n,o,d=l,s=l,r=l)=>W(it[e]+t+(4==e?Te:l)+a,d,n,(n==_?jt:Gt)(it[e]+(4==e?Te:l)+a,s,e?void 0:n),o,r),F=(e,t,a,n=l,o=l,d=1,s=l)=>W(c+e+r,(n?n+", ":l)+me+": "+t+(d?", mutator?: boolean":l),Ce,Mt(c+e+r,o,d?"mutator":l),a,s),U=`./${Rt(a)}.d`,_=Rt(a,1),H=Rt(_),q=[],K=X();let ae=[],ne=[];if(I(1,U,_,`create${_} as create${_}Decl`),Z(e))I(null,"tinybase",u);else{I(0,"tinybase","CellChange"),I(null,"tinybase",$);const[e,t,a,o,r,c,f,w,y,v,R,k,S,E,O,L,j,J,z,W,Z]=N(H,_),ee=X();P(((e,t)=>{const l=`<'${e}'>`,a=[T(t+i,o+l,Re+` the '${e}' `+i),T(t+i+Be,r+l,Re+` the '${e}' `+i+Fe),T(t+b,c+l,Xe(e)),T(t+b+Be,f+l,Xe(e,1)),T(t+g+Ce,w+l,`A Cell Id for the '${e}' `+i),T(t+g+Ie,v+l,lt(`a Cell Id and value from a Row in the '${e}' `+i)),T(t+b+Ie,R+l,lt(`a Row Id from the '${e}' Table, and a Cell iterator`))];le(ee,e,a),I(1,U,...a)})),I(1,U,e,t,a,w,k,S,E,O,L,j,J,z,W,Z),ae=[e,t,a,w,S,E,O,L,j,J,z,W,ee],V([[e],[n],[_,"tables: "+t,"tables"],[_]],(([e,t,a],n)=>B(n,l,u,e,Ke(1,n),t,a))),B(0,l,p,a+Ee,Ye(i,De)),B(5,l,i,ze,et(i,De),"tableCallback: "+k,"tableCallback as any"),P(((e,t,a)=>{const[o,d,s,r,I,c,u]=Y(ee,e);V([[o],[n],[_,"table: "+d,", table"],[_]],(([n,o,d=l],s)=>B(s,t,i,n,st(e,s),o,a+d))),B(0,t,C,$,Ye(b,ot(e)),l,a),B(0,t,h,$,Ye(b,ot(e),1),"cellId?: "+I+Pe,a+", cellId, descending, offset, limit"),B(5,t,b,ze,et(b,ot(e)),"rowCallback: "+u,a+", rowCallback as any"),V([[s],[n],[_,", row: "+r,", row"],[_],[_,", partialRow: "+r,", partialRow"]],(([n,o=l,d=l],s)=>B(s,t,b,n,rt(e,s),ke+o,a+", rowId"+d))),B(6,t,b,Ce+we,"Add a new Row to "+ot(e),"row: "+r+", reuseIds?: boolean",a+", row, reuseIds"),B(0,t,m,I+Ee,Ye(g,dt(e)),ke,a+", rowId"),B(5,t,g,ze,et(g,dt(e)),ke+", cellCallback: "+c,a+", rowId, cellCallback as any"),D(e,((o,d,s,r,I)=>{const c="Map"+Rt(d,1);le(K,d,c);const $=d+(G(s)?we:l);V([[$],[n],[_,`, cell: ${d} | `+c,", cell as any"],[_]],(([n,d=l,s=l],c)=>B(c,t+I,g,n,It(e,o,c),ke+d,a+", rowId, "+r+s)))}))})),B(0,l,u+ge,ge,Ke(1,6)),B(2,l,u+ge,_,Ke(1,7),"tablesJson: "+ge,"tables"+ge),F(u,S,Ke(1,8)+" changes"),F(p,E,nt(2,0,1)),F(i,O,nt(3,0),`tableId: ${a} | null`,"tableId"),F(C,L,nt(4,3,1),`tableId: ${a} | null`,"tableId"),F(h,j,nt(13,3,1),At("tableId: TId",`cellId: ${w}<TId>`+we,"descending: boolean","offset: number","limit: number"+we),At("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),F(b,J,nt(5,3),`tableId: ${a} | null, rowId: IdOrNull`,"tableId, rowId"),F(m,z,nt(6,5,1),`tableId: ${a} | null, rowId: IdOrNull`,"tableId, rowId"),F(g,W,nt(7,5),`tableId: ${a} | null, rowId: IdOrNull, cellId: ${Vt(P((e=>Y(ee,e)?.[4]??l))," | ")} | null`,"tableId, rowId, cellId"),F(he+g,Z,xe+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),I(1,U,...Q(K)),A(q,".set"+u+Se+"({",xt(P(((e,t,a)=>[`[${a}]: {`,...D(e,((e,t,a,n)=>`[${n}]: {[${x(kt(d),`'${d}'`)}]: ${x(kt(t),`'${t}'`)}${G(a)?l:`, [${x(kt(s),`'${s}'`)}]: `+(M(a)?x(kt(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(Z(t))I(null,"tinybase",w);else{const[e,t,a,o,r,c,$,i,u]=L(H,_);I(1,U,e,t,a,r,c,$,i,u),ne=[e,t,a,c,$,i],V([[e],[n],[_,"values: "+t,"values"],[_],[_,"partialValues: "+t,"partialValues"]],(([e,t,a],n)=>B(n,l,w,e,Ke(2,n),t,a))),B(0,l,y,a+Ee,Ye(f,De)),B(5,l,f,"void",et(f,De),"valueCallback: "+r,"valueCallback as any"),O(((e,t,a,o,d)=>{const s="Map"+Rt(t,1);le(K,t,s),V([[t],[n],[_,`value: ${t} | `+s,", value as any"],[_]],(([t,a,n=l],s)=>B(s,d,f,t,ct(e,s),a,o+n)))})),B(0,l,w+ge,ge,Ke(2,6)),B(2,l,w+ge,_,Ke(2,7),"valuesJson: "+ge,"values"+ge),F(w,c,Ke(2,8)+" changes"),F(y,$,nt(10,0,1)),F(f,i,nt(11,0),`valueId: ${a} | null`,"valueId"),F(he+f,u,xe+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),I(1,U,...Q(K)),I(0,"tinybase","ValueChange"),A(q,".set"+w+Se+"({",O(((e,t,a,n)=>[`[${n}]: {[${x(kt(d),`'${d}'`)}]: ${x(kt(t),`'${t}'`)}${G(a)?l:`, [${x(kt(s),`'${s}'`)}]: `+(M(a)?x(kt(a),`'${a}'`):a)}},`])),"})")}B(0,l,"Content",`[${u}, ${w}]`,Ke(0,0)),B(2,l,"Content",_,Ke(0,2),`[tables, values]: [${u}, ${w}]`,"[tables, values]"),B(2,l,Ne,_,`Applies a set of ${Ne} to the Store`,"transactionChanges: "+Ne,"transactionChanges"),ee(K,((e,t)=>T(t,`(cell: ${e}${we}) => `+e,`Takes a ${e} Cell value and returns another`))),I(null,"tinybase","DoRollback",Ce,"IdOrNull",ge,"Store",Ne),I(0,"tinybase","Get"+Ne,"GetTransactionLog"),B(0,l,ge,ge,Ke(0,6)),B(2,l,ge,_,Ke(0,7),"tablesAndValuesJson: "+ge,"tablesAndValuesJson"),B(7,l,Le,"Return",Ge,pe,"actions, doRollback","<Return>"),B(7,l,"start"+Oe,_,je),B(7,l,"finish"+Oe,_,Me,ue,"doRollback");const oe=j(H,_);return F("Start"+Oe,oe,xe+" just before the start of the "+Le,l,l,0),F("WillFinish"+Oe,oe,xe+" just before "+Je,l,l,0),F("DidFinish"+Oe,oe,xe+" just after "+Je,l,l,0),B(7,l,"call"+r,_,"Manually provoke a listener to be called","listenerId: Id","listenerId"),B(3,l,r,_,"Remove a listener that was previously added to "+De,"listenerId: Id","listenerId"),W("getStore",l,"Store","store",$t[0]+" the underlying Store object"),I(1,"tinybase","createStore"),I(1,U,_,`create${_} as create${_}Decl`,oe),x("store",["createStore()",...q]),v("fluent","actions: () => Store",["actions();",`return ${H};`]),v("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${H}, ...params)`),x(H,["{",...z(1),"}"]),[o(...R(0),...k(),be+" interface "+_+" {",...z(0),"}",l,St(`Creates a ${_} object`),be+" function create"+_+"(): "+_+";"),o(...R(1),be+" const create"+_+": typeof create"+_+"Decl = () => {",...S(),`return Object.freeze(${H});`,"};"),ae,ne]},zt=e=>I+e,Wt=e=>At(zt(e),zt(e)+$e),Bt="debugIds?: boolean",Ft="debugIds={debugIds}",Ut="then"+ie,_t="Parameter",Zt=": (parameter: "+_t+", store: Store) => ",Ht="const contextValue = useContext(Context);",Qt=", based on a parameter",qt=": ",Kt="<"+_t+",>",Xt=_t+"ized"+Ie+"<"+_t+">",Yt="rowId",el="rowId={rowId}",tl=", separator, debugIds",ll="separator?: ReactElement | string",al="then?: (store: Store",nl=At(al+")"+We,Ut),ol="then, then"+$e,dl=Yt+qt+Ce,sl="View",rl=(e,...t)=>At(...t,me+": "+e,me+ie,"mutator?: boolean"),Il=(...e)=>At(...e,me,me+$e,"mutator"),cl=(e,t,a,n,o)=>{const[d,s,I,c,T,v,V,x]=Dt(),[R,k,S]=Nt(e,t,T),P=`./${Rt(a)}.d`,D=`./${Rt(a)}-ui-react.d`,O="tinybase/ui-react",N=Rt(a,1),L=Rt(N),j=N+"Or"+N+Ce,M=L+"Or"+N+Ce,J=L+`={${L}}`,z=X(),W=(e,t,a,n,o,d=l)=>(s(1,D,e+" as "+e+"Decl"),yt(z,e,[t,a,n,o,d])),B=(e,t,a,n,o,d=l)=>W("use"+e,t,a,n,o,d),F=(e,t,a,n,o=l,d=l,r=l,I=l,c=l)=>(s(1,O,`use${t} as use${t}Core`),B(e,At(o,q,I),a,ee+`(${M}, use${t}Core, [`+(d||l)+(c?"], ["+c:l)+"]);",n,r)),U=(e,t,l,a)=>W(e,t,1,l,a),_=(e=0)=>te(z,(([t,a,n,o,d],s)=>{const r=e?[be+` const ${s}: typeof ${s}Decl = ${d}(${t}): ${1==a?"any":a} =>`,n]:[be+` function ${s}${d}(${t}): ${1==a?"ComponentReturnType":a};`];return e||E(r,St(o)),A(r,l),r}));s(null,"tinybase",Ce,"Store",Ie,_t+"ized"+Ie),s(0,O,"ComponentReturnType"),s(null,O,"ExtraProps"),s(0,P,N);const H=I(j,N+" | "+Ce,`Used when you need to refer to a ${N} in a React hook or component`),Q=I(Ve+ve,Et(L+fe+N,L+`ById?: {[${L}Id: Id]: ${N}}`),`Used with the ${Ve} component, so that a `+N+" can be passed into the context of an application");s(0,"react","ReactElement","ComponentType"),s(1,"react","React"),s(1,D,H,Q);const q=M+fe+H;T("{createContext, useContext, useMemo}","React"),T("Context",`createContext<[${N}?, {[${L}Id: Id]: ${N}}?]>([])`),B("Create"+N,`create: () => ${N}, create`+ie,N,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${N} within a React application with convenient memoization`);const K=B(N,"id?: Id",N+we,["{",Ht,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${N} from within a ${Ve} component context`),ee=c("useHook",M+`: ${H} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${L} = ${K}(${M} as Id);`,`return hook(...preParams, ((${M} == null || typeof ${M} == 'string')`,`? ${L} : ${M})?.getStore(), ...postParams)`]),le=c("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),ae=c("wrap",At("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),ne=T("NullComponent","() => null");if(!Z(e)){const[e,t,a,o,d,f,w,y,T,v,V,x,S]=n;s(null,P,e,t,a,d,f,w,y,T,v,V,x),s(0,P,o),s(1,P,N),s(null,"tinybase",$,"IdOrNull");const A=c("tableView",`{${L}, rowComponent, getRowComponentProps`+tl+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${ae}(rowIds.map((rowId) => (`,"<Row","{..."+le+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",el,J,Ft,"/>","))",tl,", tableId,",");"]),E=c("getDefaultTableComponent","tableId: Id",Vt(R(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+ne),O=c("getDefaultCellComponent","tableId: Id, cellId: Id",Vt(R(((e,t,l)=>`tableId == ${l} ? ${Vt(k(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+ne} : `)))+ne);F(u,u,e,Ke(1,0)+re);const j=F(p,p,a+Ee,Ye(i,De)+re);F(Ae+u+Ie,Ae+u+Ie,Xt,Ke(1,9)+Qt,At(zt(u)+Zt+t,zt(u)+ie),Wt(u),Kt,At(al,`tables: ${t})`+We,Ut),ol),F(ce+u+Ie,ce+u+Ie,Ie,Ke(1,12),l,l,l,nl,ol);const M=I(g+ve,Et("tableId?: TId","rowId: Id","cellId?: CId",L+fe+N,Bt),tt(de+g),`<TId extends ${a}, CId extends ${o}<TId>>`),z=I(b+ve,Et("tableId?: TId","rowId: Id",L+fe+N,"cellComponents?: {readonly [CId in "+o+`<TId>]?: ComponentType<${M}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${o}<TId>) => ExtraProps`,ll,Bt),tt(de+b),`<TId extends ${a}>`),W=I(i+ve,Et("tableId?: TId",L+fe+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",ll,Bt),tt(de+i),`<TId extends ${a}>`),B=I("Sorted"+i+ve,Et("tableId?: TId","cellId?: "+o+"<TId>","descending?: boolean","offset?: number","limit?: number",L+fe+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",ll,Bt),tt(de+"sorted "+i),`<TId extends ${a}>`),_=I(u+ve,Et(L+fe+N,"tableComponents?: {readonly [TId in "+a+`]?: ComponentType<${W}<TId>>;}`,`getTableComponentProps?: (tableId: ${a}) => ExtraProps`,ll,Bt),tt(qe(1,1)));s(1,D,_,W,B,z,M),U(u+sl,"{"+L+", tableComponents, getTableComponentProps"+tl+"}: "+_,[ae+`(${j}(${L}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+E+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${le}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Ft,"/>;","}), separator)"],Ke(1,13)+re),R(((e,t,a)=>{const[n,o,d,r,I]=Y(S,e);s(null,P,n,o,d,r,I),F(t+i,i,n,st(e)+re,l,a);const c=F(t+C,C,$,Ye(b,ot(e))+re,l,a),u=F(t+h,h,$,Ye(b,ot(e),1)+re,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");F(t+b,b,d,rt(e)+re,dl,At(a,Yt));const p=F(t+m,m,I+Ee,Ye(g,dt(e))+re,dl,At(a,Yt));F(Ae+t+i+Ie,Ae+i+Ie,Xt,st(e,9)+Qt,At(zt(i)+Zt+o,zt(i)+ie),At(a,Wt(i)),Kt,At(al,`table: ${o})`+We,Ut),ol),F(ce+t+i+Ie,ce+i+Ie,Ie,st(e,12),l,a,l,nl,ol),F(Ae+t+b+Ie,Ae+b+Ie,Xt,rt(e,9)+Qt,At(dl,zt(b)+Zt+r,zt(b)+ie),At(a,Yt,Wt(b)),Kt,At(al,`row: ${r})`+We,Ut),ol),F("Add"+t+b+Ie,"Add"+b+Ie,Xt,rt(e,10)+Qt,At(zt(b)+Zt+r,zt(b)+ie),At(a,Wt(b)),Kt,"then?: ("+At(dl+we,"store: Store","row: "+r+")"+We,"then"+ie)+", reuseRowIds?: boolean",ol+", reuseRowIds"),F(Ae+t+Te+b+Ie,Ae+Te+b+Ie,Xt,rt(e,11)+Qt,At(dl,zt(Te+b)+Zt+r,zt(Te+b)+ie),At(a,Yt,Wt(Te+b)),Kt,At(al,`partialRow: ${r})`+We,Ut),ol),F(ce+t+b+Ie,ce+b+Ie,Ie,rt(e,12),dl,At(a,Yt),l,nl,ol);const f=U(t+b+sl,"{rowId, "+L+", cellComponents, getCellComponentProps"+tl+`}: ${z}<'${e}'>`,[ae+`(${p}(rowId, ${L}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+O+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${le}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,el,"cellId={cellId}",J,Ft,"/>;","})"+tl+", rowId)"],rt(e,13)+re);U(t+"Sorted"+i+sl,"{cellId, descending, offset, limit, ...props}: "+B+`<'${e}'>`,A+"(props, "+u+`(cellId, descending, offset, limit, props.${L}), ${a}, ${f});`,st(e,13)+", sorted"+re),U(t+i+sl,`props: ${W}<'${e}'>`,A+"(props, "+c+`(props.${L}), ${a}, ${f});`,st(e,13)+re),k(e,((n,o,d,r,I)=>{const c="Map"+Rt(o,1);s(0,P,c),s(1,P,c);const $=F(t+I+g,g,o+(G(d)?we:l),It(e,n)+re,dl,At(a,Yt,r));F(Ae+t+I+g+Ie,Ae+g+Ie,Xt,It(e,n,9)+Qt,At(dl,zt(g)+Zt+o+" | "+c,zt(g)+ie),At(a,Yt,r,Wt(g)),Kt,At(al,`cell: ${o} | ${c})`+We,Ut),ol),F(ce+t+I+g+Ie,ce+g+Ie,Ie,It(e,n,12),At(dl,"forceDel?: boolean"),At(a,Yt,r,"forceDel"),l,nl,ol),U(t+I+g+sl,`{rowId, ${L}, debugIds}: `+M+`<'${e}', '${n}'>`,[ae+`('' + ${$}(rowId, `+L+`) ?? '', undefined, debugIds, ${r})`],It(e,n,13)+re)}))}));const Z=Vt(R((e=>Y(S,e)?.[4]??l))," | ");F(u+r,u+r,ze,Ke(1,8)+" changes",rl(d),Il()),F(p+r,p+r,ze,nt(2,0,1),rl(f),Il()),F(i+r,i+r,ze,nt(3,0),rl(w,`tableId: ${a} | null`),Il("tableId")),F(C+r,C+r,ze,nt(4,3,1),rl(y,`tableId: ${a} | null`),Il("tableId")),F(h+r,h+r,ze,nt(13,3,1),rl(T,`tableId: ${a} | null`,"cellId: "+Z+we,"descending: boolean","offset: number","limit: number"+we),Il("tableId","cellId","descending","offset","limit")),F(b+r,b+r,ze,nt(5,3),rl(v,`tableId: ${a} | null`,Yt+": IdOrNull"),Il("tableId",Yt)),F(m+r,m+r,ze,nt(6,5,1),rl(V,`tableId: ${a} | null`,Yt+": IdOrNull"),Il("tableId",Yt)),F(g+r,g+r,ze,nt(7,5),rl(x,`tableId: ${a} | null`,Yt+": IdOrNull",`cellId: ${Z} | null`),Il("tableId",Yt,"cellId"))}if(!Z(t)){const[e,t,a,n,d,$]=o;s(null,P,...o),s(1,P,N);const i=c("getDefaultValueComponent","valueId: Id",Vt(S(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+ne);F(w,w,e,Ke(2,0)+re);const u=F(y,y,a+Ee,Ye(f,De)+re);F(Ae+w+Ie,Ae+w+Ie,Xt,Ke(2,9)+Qt,At(zt(w)+Zt+t,zt(w)+ie),Wt(w),Kt,At(al,`values: ${t})`+We,Ut),ol),F(Ae+Te+w+Ie,Ae+Te+w+Ie,Xt,Ke(2,11)+Qt,At(zt(Te+w)+Zt+t,zt(Te+w)+ie),Wt(Te+w),Kt,At(al,`partialValues: ${t})`+We,Ut),ol),F(ce+w+Ie,ce+w+Ie,Ie,Ke(2,12),l,l,l,nl,ol);const p=I(f+ve,Et("valueId?: VId",L+fe+N,Bt),tt("a Value"),`<VId extends ${a}>`),b=I(w+ve,Et(L+fe+N,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,ll,Bt),tt(qe(2,1)));s(1,D,b,p),U(w+sl,"{"+L+", valueComponents, getValueComponentProps"+tl+"}: "+b,[ae+`(${u}(${L}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+i+"(valueId);","return <Value",`{...${le}(getValueComponentProps, valueId)}`,"key={valueId}",J,Ft,"/>;","}), separator)"],Ke(2,13)+re),S(((e,t,a,n,o)=>{const d="Map"+Rt(t,1);s(0,P,d),s(1,P,d);const r=F(o+f,f,t,ct(e)+re,l,n);F(Ae+o+f+Ie,Ae+f+Ie,Xt,ct(e,9)+Qt,At(zt(f)+Zt+t+" | "+d,zt(f)+ie),At(n,Wt(f)),Kt,At(al,`value: ${t} | ${d})`+We,Ut),ol),F(ce+o+f+Ie,ce+f+Ie,Ie,ct(e,12),l,n,l,nl,ol),U(o+f+sl,`{${L}, debugIds}: ${p}<'${e}'>`,[ae+`('' + ${r}(`+L+`) ?? '', undefined, debugIds, ${n})`],ct(e,13)+re)})),F(w+r,w+r,ze,Ke(2,8)+" changes",rl(n),Il()),F(y+r,y+r,ze,nt(10,0,1),rl(d),Il()),F(f+r,f+r,ze,nt(11,0),rl($,`valueId: ${a} | null`),Il("valueId"))}return U(Ve,`{${L}, ${L}ById, children}: `+Q+" & {children: React.ReactNode}",["{",Ht,"return (","<Context."+Ve,"value={useMemo(",`() => [${L} ?? contextValue[0], {...contextValue[1], ...${L}ById}],`,`[${L}, ${L}ById, contextValue],`,")}>","{children}",`</Context.${Ve}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[d(...v(0),...V(),..._(0)),d(...v(1),...x(),..._(1))]},$l=(e,t,a)=>{if(Z(e)&&Z(t))return[l,l,l,l];const[n,o,d,s]=Jt(e,t,a);return[n,o,...cl(e,t,a,d,s)]},il={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},ul=Ot((e=>{const t=()=>{const t=O(e.getTablesSchemaJson());return!Z(t)||T(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=X();if(T(a,(t=>T(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=ae(n,a,(()=>[z(o),X(),[0],0])),[s,r,[I]]=d,c=ae(r,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),le(r,o,c),d[3]++,s==z(o)})))))return t[l]={},q(n,(([e,,[,n],o],r)=>{t[l][r]={[d]:e,...o==R(a)?{[s]:n}:{}}})),1}))?t:{}},l=()=>{const t=O(e.getValuesSchemaJson());return Z(t)&&e.forEachValue(((e,l)=>{t[e]={[d]:z(l)}})),t},a=e=>$l(t(),l(),e),n=async e=>{const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(await import("prettier")).format}catch(e){l=e=>e}return x(a(e),((e,a)=>Tt(l(e,{...il,filepath:"_."+t[a]}))))};return F({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let s=0,r=0;const I={};d(((e,l)=>{s++;let a=0;l((()=>a++)),r+=a,t&&(I[e]={rowCells:a})})),a+=s,n+=r,t&&(o[e]={tableRows:s,tableCells:r,rows:I})})),{totalTables:l,totalRows:a,totalCells:n,totalValues:R(e.getValueIds()),jsonLength:vt(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));e.createTools=ul},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseTools={});
|
package/lib/umd/tools.js.gz
CHANGED
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>e.length,n=e=>null==e,o=(e,t,o)=>n(e)?null==o?void 0:o():t(e),r=Object,i=r.keys,l=r.freeze,u=(e,t)=>o(e,(e=>e[t])),s=(e,t)=>!n(u(e,t)),a=(e,t)=>delete e[t],d=(e,t)=>((e,t)=>e.map(t))(r.entries(e),(([e,n])=>t(n,e))),c=e=>{return(e=>e instanceof r&&e.constructor==r)(e)&&(n=i(e),0==t(n));var n};var v=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{u(n.next(e))}catch(e){r(e)}},l=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);u((n=n.apply(e,t)).next())})),f=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{u(n.next(e))}catch(e){r(e)}},l=e=>{try{u(n.throw(e))}catch(e){r(e)}},u=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);u((n=n.apply(e,t)).next())}));const y=(e,t)=>[e[t].t,e[t].v],h=(e,t,o,r)=>{const i=n(t)?e:((e,t,n)=>(s(e,t)||(e[t]={}),e[t]))(e,t);let l;return d(o,((e,t)=>{r(i,t,e)&&(l=1)})),d(i,((e,t)=>{s(o,t)||(a(i,t),l=1)})),!n(t)&&c(i)&&a(e,t),l};e.createAutomergePersister=(e,r,s="tinybase")=>(r.change((e=>e[s]={})),((e,t,i,p,g)=>{let m,A,x=0,L=!1;const P=e=>v(void 0,null,(function*(){2!=x&&(x=1,yield e(),x=0)})),S={load:(...n)=>v(void 0,[...n],(function*(n={},o={}){return yield P((()=>v(void 0,null,(function*(){let r;try{r=yield t()}catch(e){}e.setContent(null!=r?r:[n,o])})))),S})),startAutoLoad:(...n)=>v(void 0,[...n],(function*(n={},o={}){return S.stopAutoLoad(),yield S.load(n,o),L=!0,A=(n=>{const o=({doc:n})=>{return o=()=>y(n,s),v(void 0,null,(function*(){yield P((()=>v(void 0,null,(function*(){var n;if(r)e.setTransactionChanges(r());else try{e.setContent(null!=(n=null==o?void 0:o())?n:yield t())}catch(e){}}))))}));var o,r};return r.on("change",o),o})(),S})),stopAutoLoad:()=>{return L&&(e=A,r.removeListener("change",e),A=void 0,L=!1),S;var e},save:t=>v(void 0,null,(function*(){return 1!=x&&(x=2,yield((e,t)=>f(void 0,null,(function*(){r.change((r=>((e,t,r,i)=>{((e,t)=>{c(e[t])&&(e[t]={t:{},v:{}})})(e,t);const[l,s]=y(e,t),v=()=>{f=1};let f=1;if(o(null==i?void 0:i(),(([e,t])=>{f=0,d(e,((e,t)=>f?0:n(e)?a(l,t):o(l[t],(t=>d(e,((e,r)=>f?0:n(e)?a(t,r):o(u(t,r),(t=>d(e,((e,o)=>n(e)?a(t,o):t[o]=e))),v)))),v))),d(t,((e,t)=>f?0:n(e)?a(s,t):s[t]=e))})),f){const[e,t]=r();h(l,void 0,e,((e,t,n)=>h(l,t,n,((e,t,n)=>h(e,t,n,((e,t,n)=>{if(u(e,t)!==n)return e[t]=n,1})))))),h(s,void 0,t,((e,t,n)=>{u(s,t)!==n&&(s[t]=n)}))}})(r,s,e,t)))})))(e.getContent,t),x=0),S})),startAutoSave:()=>v(void 0,null,(function*(){return yield S.stopAutoSave().save(),m=e.addDidFinishTransactionListener(((e,t)=>S.save(t))),S})),stopAutoSave:()=>(o(m,e.delListener),S),getStore:()=>e,destroy:()=>S.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return l(S)})(e,(()=>f(void 0,null,(function*(){return 2==t(i(r.doc[s]))?y(r.doc,s):void 0})))))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterAutomerge={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=Object.freeze;var n=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{s(n.next(e))}catch(e){r(e)}},a=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,a);s((n=n.apply(e,t)).next())})),o=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{s(n.next(e))}catch(e){r(e)}},a=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,a);s((n=n.apply(e,t)).next())}));const r="storage",i=globalThis.window,a=(e,a,s)=>((e,l,u,d,c)=>{let v,f,y=0,p=!1;const h=e=>n(void 0,null,(function*(){2!=y&&(y=1,yield e(),y=0)})),g={load:(t
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=Object.freeze;var n=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{s(n.next(e))}catch(e){r(e)}},a=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,a);s((n=n.apply(e,t)).next())})),o=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{s(n.next(e))}catch(e){r(e)}},a=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,a);s((n=n.apply(e,t)).next())}));const r="storage",i=globalThis.window,a=(e,a,s)=>((e,l,u,d,c)=>{let v,f,y=0,p=!1;const h=e=>n(void 0,null,(function*(){2!=y&&(y=1,yield e(),y=0)})),g={load:(...t)=>n(void 0,[...t],(function*(t={},o={}){return yield h((()=>n(void 0,null,(function*(){let n;try{n=yield l()}catch(e){}e.setContent(null!=n?n:[t,o])})))),g})),startAutoLoad:(...t)=>n(void 0,[...t],(function*(t={},o={}){return g.stopAutoLoad(),yield g.load(t,o),p=!0,f=(t=>{const o=t=>{var o,r;t.storageArea===s&&t.key===a&&(o=()=>JSON.parse(t.newValue),n(void 0,null,(function*(){yield h((()=>n(void 0,null,(function*(){var t;if(r)e.setTransactionChanges(r());else try{e.setContent(null!=(t=null==o?void 0:o())?t:yield l())}catch(e){}}))))})))};return i.addEventListener(r,o),o})(),g})),stopAutoLoad:()=>{return p&&(e=f,i.removeEventListener(r,e),f=void 0,p=!1),g;var e},save:t=>n(void 0,null,(function*(){return 1!=y&&(y=2,yield(t=e.getContent,o(void 0,null,(function*(){return s.setItem(a,(e=t(),JSON.stringify(e,((e,t)=>{return t instanceof Map?(n=(e,[t,n])=>(e[t]=n,e),o={},[...t].reduce(n,o)):t;var n,o}))));var e}))),y=0),g;var t})),startAutoSave:()=>n(void 0,null,(function*(){return yield g.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,t)=>g.save(t))),g})),stopAutoSave:()=>{var t,n;return t=v,n=e.delListener,null==t||n(t),g},getStore:()=>e,destroy:()=>g.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return t(g)})(e,(()=>o(void 0,null,(function*(){return JSON.parse(s.getItem(a))}))));e.createLocalPersister=(e,t)=>a(e,t,localStorage),e.createSessionPersister=(e,t)=>a(e,t,sessionStorage)},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterBrowser={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t,n){"use strict";const o="utf8",r=Object.freeze;var i=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{s(n.next(e))}catch(e){r(e)}},l=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);s((n=n.apply(e,t)).next())})),l=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{s(n.next(e))}catch(e){r(e)}},l=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);s((n=n.apply(e,t)).next())}));e.createFilePersister=(e,s)=>((e,a,u,d,c)=>{let v,f,y=0,p=!1;const h=e=>i(void 0,null,(function*(){2!=y&&(y=1,yield e(),y=0)})),m={load:(t
|
|
1
|
+
var e,t;e=this,t=function(e,t,n){"use strict";const o="utf8",r=Object.freeze;var i=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{s(n.next(e))}catch(e){r(e)}},l=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);s((n=n.apply(e,t)).next())})),l=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{s(n.next(e))}catch(e){r(e)}},l=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);s((n=n.apply(e,t)).next())}));e.createFilePersister=(e,s)=>((e,a,u,d,c)=>{let v,f,y=0,p=!1;const h=e=>i(void 0,null,(function*(){2!=y&&(y=1,yield e(),y=0)})),m={load:(...t)=>i(void 0,[...t],(function*(t={},n={}){return yield h((()=>i(void 0,null,(function*(){let o;try{o=yield a()}catch(e){}e.setContent(null!=o?o:[t,n])})))),m})),startAutoLoad:(...t)=>i(void 0,[...t],(function*(t={},o={}){return m.stopAutoLoad(),yield m.load(t,o),p=!0,r=(t,n)=>i(void 0,null,(function*(){yield h((()=>i(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield a())}catch(e){}}))))})),f=n.watch(s,(()=>r())),m;var r})),stopAutoLoad:()=>{return p&&(null==(e=f)||e.close(),f=void 0,p=!1),m;var e},save:n=>i(void 0,null,(function*(){return 1!=y&&(y=2,yield(n=e.getContent,l(void 0,null,(function*(){try{yield t.writeFile(s,(e=n(),JSON.stringify(e,((e,t)=>{return t instanceof Map?(n=(e,[t,n])=>(e[t]=n,e),o={},[...t].reduce(n,o)):t;var n,o}))),o)}catch(e){}var e}))),y=0),m;var n})),startAutoSave:()=>i(void 0,null,(function*(){return yield m.stopAutoSave().save(),v=e.addDidFinishTransactionListener(((e,t)=>m.save(t))),m})),stopAutoSave:()=>{var t,n;return t=v,n=e.delListener,null==t||n(t),m},getStore:()=>e,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(m)})(e,(()=>l(void 0,null,(function*(){return JSON.parse(yield t.readFile(s,o))}))))},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs/promises"),require("fs")):"function"==typeof define&&define.amd?define(["exports","fs/promises","fs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterFile={},e["fs/promises"],e.fs);
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,n=Object.freeze;var o=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{a(n.next(e))}catch(e){r(e)}},l=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);a((n=n.apply(e,t)).next())})),r=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{a(n.next(e))}catch(e){r(e)}},l=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);a((n=n.apply(e,t)).next())}));const i=e=>e.headers.get("ETag");e.createRemotePersister=(e,l,a,s)=>{let
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>null==e,n=Object.freeze;var o=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{a(n.next(e))}catch(e){r(e)}},l=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);a((n=n.apply(e,t)).next())})),r=(e,t,n)=>new Promise(((o,r)=>{var i=e=>{try{a(n.next(e))}catch(e){r(e)}},l=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?o(e.value):Promise.resolve(e.value).then(i,l);a((n=n.apply(e,t)).next())}));const i=e=>e.headers.get("ETag");e.createRemotePersister=(e,l,a,s)=>{let d;return((e,u,c,v,f)=>{let y,h,p=0,m=!1;const g=e=>o(void 0,null,(function*(){2!=p&&(p=1,yield e(),p=0)})),A={load:(...t)=>o(void 0,[...t],(function*(t={},n={}){return yield g((()=>o(void 0,null,(function*(){let o;try{o=yield u()}catch(e){}e.setContent(null!=o?o:[t,n])})))),A})),startAutoLoad:(...n)=>o(void 0,[...n],(function*(n={},a={}){return A.stopAutoLoad(),yield A.load(n,a),m=!0,c=(t,n)=>o(void 0,null,(function*(){yield g((()=>o(void 0,null,(function*(){var o;if(n)e.setTransactionChanges(n());else try{e.setContent(null!=(o=null==t?void 0:t())?o:yield u())}catch(e){}}))))})),h=setInterval((()=>r(void 0,null,(function*(){const e=yield fetch(l,{method:"HEAD"}),n=i(e);t(d)||t(n)||n==d||(d=n,c())}))),1e3*s),A;var c})),stopAutoLoad:()=>(m&&(clearInterval(h),h=void 0,m=!1),A),save:t=>o(void 0,null,(function*(){return 1!=p&&(p=2,yield(t=e.getContent,r(void 0,null,(function*(){return yield fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((e,t)=>{return t instanceof Map?(n=(e,[t,n])=>(e[t]=n,e),o={},[...t].reduce(n,o)):t;var n,o})))});var e}))),p=0),A;var t})),startAutoSave:()=>o(void 0,null,(function*(){return yield A.stopAutoSave().save(),y=e.addDidFinishTransactionListener(((e,t)=>A.save(t))),A})),stopAutoSave:()=>{var n,o;return n=y,o=e.delListener,!!t(n)||o(n),A},getStore:()=>e,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return n(A)})(e,(()=>r(void 0,null,(function*(){const e=yield fetch(l);return d=i(e),JSON.parse(yield e.text())}))))}},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterRemote={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t){"use strict";const n=e=>e.length,o=e=>e.shift(),r=e=>null==e,l=(e,t,n)=>r(e)?null==n?void 0:n():t(e),i=Object,s=i.freeze,
|
|
1
|
+
var e,t;e=this,t=function(e,t){"use strict";const n=e=>e.length,o=e=>e.shift(),r=e=>null==e,l=(e,t,n)=>r(e)?null==n?void 0:n():t(e),i=Object,s=i.freeze,a=()=>({}),u=(e,t)=>!r(((e,t)=>l(e,(e=>e[t])))(e,t)),d=(e,t)=>((e,t)=>e.map(t))(i.entries(e),(([e,n])=>t(n,e))),v=(e,t,n)=>(u(e,t)||(e[t]=n()),e[t]);var c=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{s(n.next(e))}catch(e){r(e)}},i=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,i);s((n=n.apply(e,t)).next())}));const f=(e,t)=>((e,t)=>null==e?void 0:e.forEach(t))(e,((e,n)=>t(n,e)));var y=(e,t,n)=>new Promise(((o,r)=>{var l=e=>{try{s(n.next(e))}catch(e){r(e)}},i=e=>{try{s(n.throw(e))}catch(e){r(e)}},s=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,i);s((n=n.apply(e,t)).next())}));const g="t",p="delete",h=e=>[e.get(g),e.get("v")],S=(e,n,o,l)=>{var i;const s=r(n)?e:null!=(i=e.get(n))?i:e.set(n,new t.Map);let a;return d(o,((e,t)=>{l(s,t,e)&&(a=1)})),s.forEach(((e,t)=>{u(o,t)||(s.delete(t),a=1)})),r(n)||s.size||e.delete(n),a};e.createYjsPersister=(e,i,u="tinybase")=>{const A=i.getMap(u);return((e,u,b,j,m)=>{let w,x,O=0,J=!1;const L=e=>c(void 0,null,(function*(){2!=O&&(O=1,yield e(),O=0)})),N={load:(...t)=>c(void 0,[...t],(function*(t={},n={}){return yield L((()=>c(void 0,null,(function*(){let o;try{o=yield u()}catch(e){}e.setContent(null!=o?o:[t,n])})))),N})),startAutoLoad:(...t)=>c(void 0,[...t],(function*(t={},r={}){return N.stopAutoLoad(),yield N.load(t,r),J=!0,x=(t=>{const r=t=>{return r=void 0,i=()=>((e,t)=>{if(1==n(t)&&(r=t[0].path,0==n(r)))return[e.get("t").toJSON(),e.get("v").toJSON()];var r;const[i,s]=h(e),u={},d={};return((e,t)=>{e.forEach((({path:e,changes:{keys:t}})=>o(e)==g?l(o(e),(n=>{const r=v(u,n,a),s=i.get(n);l(o(e),(e=>{const n=v(r,e,a),o=s.get(e);f(t,((e,{action:t})=>n[e]=t==p?null:o.get(e)))}),(()=>f(t,((e,{action:t})=>{var n;return r[e]=t==p?null:null==(n=s.get(e))?void 0:n.toJSON()}))))}),(()=>f(t,((e,{action:t})=>{var n;return u[e]=t==p?null:null==(n=i.get(e))?void 0:n.toJSON()})))):f(t,((e,{action:t})=>d[e]=t==p?null:s.get(e)))))})(t),[u,d]})(A,t),c(void 0,null,(function*(){yield L((()=>c(void 0,null,(function*(){var t;if(i)e.setTransactionChanges(i());else try{e.setContent(null!=(t=null==r?void 0:r())?t:yield u())}catch(e){}}))))}));var r,i};return A.observeDeep(r),r})(),N})),stopAutoLoad:()=>{return J&&(e=x,A.unobserveDeep(e),x=void 0,J=!1),N;var e},save:n=>c(void 0,null,(function*(){return 1!=O&&(O=2,yield((e,n)=>y(void 0,null,(function*(){return i.transact((()=>((e,n,o)=>{(e=>{e.size||(e.set(g,new t.Map),e.set("v",new t.Map))})(e);const[i,s]=h(e),a=()=>{u=1};let u=1;if(l(null==o?void 0:o(),(([e,t])=>{u=0,d(e,((e,t)=>u?0:r(e)?i.delete(t):l(i.get(t),(t=>d(e,((e,n)=>u?0:r(e)?t.delete(n):l(t.get(n),(t=>d(e,((e,n)=>r(e)?t.delete(n):t.set(n,e)))),a)))),a))),d(t,((e,t)=>u?0:r(e)?s.delete(t):s.set(t,e)))})),u){const[e,t]=n();S(i,void 0,e,((e,t,n)=>S(i,t,n,((e,t,n)=>S(e,t,n,((e,t,n)=>{if(e.get(t)!==n)return e.set(t,n),1})))))),S(s,void 0,t,((e,t,n)=>{s.get(t)!==n&&s.set(t,n)}))}})(A,e,n)))})))(e.getContent,n),O=0),N})),startAutoSave:()=>c(void 0,null,(function*(){return yield N.stopAutoSave().save(),w=e.addDidFinishTransactionListener(((e,t)=>N.save(t))),N})),stopAutoSave:()=>(l(w,e.delListener),N),getStore:()=>e,destroy:()=>N.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(N)})(e,(()=>y(void 0,null,(function*(){return A.size?[A.get(g).toJSON(),A.get("v").toJSON()]:void 0}))))}},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBasePersisterYjs={},e.yjs);
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var t,e;t=this,e=function(t){"use strict";const e=Object.freeze;var
|
|
1
|
+
var t,e;t=this,e=function(t){"use strict";const e=Object.freeze;var o=(t,e,o)=>new Promise(((n,i)=>{var l=t=>{try{r(o.next(t))}catch(t){i(t)}},s=t=>{try{r(o.throw(t))}catch(t){i(t)}},r=t=>t.done?n(t.value):Promise.resolve(t.value).then(l,s);r((o=o.apply(t,e)).next())}));t.createCustomPersister=(t,n,i,l,s)=>{let r,u,a=0,d=!1;const c=t=>o(void 0,null,(function*(){2!=a&&(a=1,yield t(),a=0)})),v={load:(...e)=>o(void 0,[...e],(function*(e={},i={}){return yield c((()=>o(void 0,null,(function*(){let o;try{o=yield n()}catch(t){}t.setContent(null!=o?o:[e,i])})))),v})),startAutoLoad:(...e)=>o(void 0,[...e],(function*(e={},i={}){return v.stopAutoLoad(),yield v.load(e,i),d=!0,u=l(((e,i)=>o(void 0,null,(function*(){yield c((()=>o(void 0,null,(function*(){var o;if(i)t.setTransactionChanges(i());else try{t.setContent(null!=(o=null==e?void 0:e())?o:yield n())}catch(t){}}))))})))),v})),stopAutoLoad:()=>(d&&(s(u),u=void 0,d=!1),v),save:e=>o(void 0,null,(function*(){return 1!=a&&(a=2,yield i(t.getContent,e),a=0),v})),startAutoSave:()=>o(void 0,null,(function*(){return yield v.stopAutoSave().save(),r=t.addDidFinishTransactionListener(((t,e)=>v.save(e))),v})),stopAutoSave:()=>{var e,o;return e=r,o=t.delListener,null==e||o(e),v},getStore:()=>t,destroy:()=>v.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(v)}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisters={});
|
|
Binary file
|
package/lib/umd-es6/queries.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n=t(""),l=t(!0),r=t(0),o=t(t),s="Listener",i="Result",a="Ids",d="Row",u=d+a,c="Sorted"+d+a,v="Cell",f=v+a,h=(e,t)=>e.every(t),y=(e,t)=>e.forEach(t),g=e=>b(e,((e,t)=>e+t),0),p=e=>e.length,w=e=>0==p(e),b=(e,t,n)=>e.reduce(t,n),L=(e,...t)=>e.push(...t),R=Math.max,T=Math.min,m=isFinite,O=e=>null==e,S=(e,t,n)=>O(e)?null==n?void 0:n():t(e),x=e=>t(e)==o,C=e=>Array.isArray(e),Q=()=>{},j=Object,I=j.freeze,E=e=>e.size,M=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},D=e=>O(e)||0==E(e),k=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},z=e=>e.clear(),A=(e,t)=>null==e?void 0:e.forEach(t),F=(e,t)=>null==e?void 0:e.delete(t),P=e=>new Map(e),B=(e,t)=>null==e?void 0:e.get(t),W=(e,t)=>A(e,((e,n)=>t(n,e))),q=(e,t,n)=>O(n)?(F(e,t),e):null==e?void 0:e.set(t,n),G=(e,t,n)=>(M(e,t)||q(e,t,n()),B(e,t)),H=(e,t,n,l,r=0)=>S((n?G:B)(e,t[r],r>p(t)-2?n:P),(o=>{if(r>p(t)-2)return(null==l?void 0:l(o))&&q(e,t[r]),o;const s=H(o,t,n,l,r+1);return D(o)&&q(e,t[r]),s})),J=e=>new Set(C(e)||O(e)?e:[e]),K=(e,t)=>null==e?void 0:e.add(t),N=P([["avg",[(e,t)=>g(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,l)=>e+(t-n)/l]],["max",[e=>R(...e),(e,t)=>R(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:R(t,e)]],["min",[e=>T(...e),(e,t)=>T(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:T(t,e)]],["sum",[e=>g(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]);var U=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable;const Y=(e=>{const o=new WeakMap;return e=>(o.has(e)||o.set(e,(e=>{const o=e.createStore,[a,g,b,R,T,,,Y,,Z,$,_,ee]=((e,t,n)=>{const l=e.hasRow,r=P(),o=P(),s=P(),i=P(),a=P(),d=(t,n,...l)=>{const r=G(a,t,J);return y(l,(t=>K(r,t)&&n&&e.callListener(t))),l},u=(t,...n)=>S(B(a,t),(l=>{y(w(n)?k(l):n,(t=>{e.delListener(t),F(l,t)})),D(l)&&q(a,t)})),c=(e,t)=>{q(r,e,t),M(o,e)||(q(o,e,!0),q(s,e,P()),q(i,e,P()))},v=e=>{q(r,e),q(o,e),q(s,e),q(i,e),u(e)};return[()=>e,()=>{return[...null!=(t=null==(e=r)?void 0:e.keys())?t:[]];var e,t},e=>W(o,e),e=>M(o,e),e=>B(r,e),e=>B(o,e),(e,t)=>q(o,e,t),c,(t,r,o,a,v)=>{c(t,r);const f=P(),g=P(),w=B(s,t),b=B(i,t),L=t=>{const o=n=>e.getCell(r,t,n),s=B(w,t),i=l(r,t)?n(a(o,t)):void 0;var d,u;if(s===i||C(s)&&C(i)&&(u=i,p(d=s)===p(u)&&h(d,((e,t)=>u[t]===e)))||q(f,t,[s,i]),!O(v)){const e=B(b,t),n=l(r,t)?v(o,t):void 0;e!=n&&q(g,t,n)}},R=e=>{o((()=>{A(f,(([,e],t)=>q(w,t,e))),A(g,((e,t)=>q(b,t,e)))}),f,g,w,b,e),z(f),z(g)};W(w,L),e.hasTable(r)&&y(e.getRowIds(r),(e=>{M(w,e)||L(e)})),R(!0),u(t),d(t,0,e.addRowListener(r,null,((e,t,n)=>L(n))),e.addTableListener(r,(()=>R())))},v,()=>W(a,v),d,u]})(e,0,Q),te=o(),ne=o(),le=P(),re=(e,t,...n)=>y(n,(n=>K(G(G(le,t,P),e,J),n))),oe=e=>{S(B(le,e),(e=>{W(e,((e,t)=>A(t,(t=>e.delListener(t))))),z(e)})),y([ne,te],(t=>t.delTable(e)))},se=(e,t,n)=>re(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),ie={setQueryDefinition:(o,s,i)=>{Y(o,s),oe(o);const a=[],d=[[null,[s,null,null,[],P()]]],u=[],c=[],v=[];i({select:(e,t)=>{const n=x(e)?[p(a)+"",e]:[O(t)?e:t,n=>n(e,t)];return L(a,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const l=O(n)||x(t)?null:t,r=O(l)?t:n,o=[e,[e,l,x(r)?r:e=>e(r),[],P()]];return L(d,o),{as:e=>o[0]=e}},where:(e,t,n)=>L(u,x(e)?e:O(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,r)=>{var o;const s=[e,[e,x(t)?[t,n,l,r]:null!=(o=B(N,t))?o:[(e,t)=>t]]];return L(c,s),{as:e=>s[0]=e}},having:(e,t)=>L(v,x(e)?e:n=>n(e)===t)});const f=P(a);if(D(f))return ie;const g=P(d);W(g,((e,[,t])=>S(B(g,t),(({3:t})=>O(e)?0:L(t,e)))));const b=P(c);let R=te;if(D(b)&&w(v))R=ne;else{se(o,R,ne);const e=P();W(b,((t,[n,l])=>K(G(e,n,J),[t,l])));const s=J();W(f,(t=>M(e,t)?0:K(s,t)));const i=P(),a=(s,i,a,d)=>S(s,(([u,c,f,y])=>{W(i,((o,[s])=>{const i=G(u,o,P),c=B(i,a),v=d?void 0:s;if(c!==v){const s=J([[c,v]]),d=E(i);q(i,a,v),A(B(e,o),(([e,o])=>{const a=((e,t,n,l,r,o=!1)=>{if(D(n))return;const[s,i,a,d]=r;return o||(o=O(e)),A(l,(([n,l])=>{o||(e=O(n)?null==i?void 0:i(e,l,t++):O(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=O(e)))})),o?s(k(n),E(n)):e})(y[e],d,i,s,o);y[e]=O((e=>{const o=t(e);return(e=>e==n||e==l)(o)||o==r&&m(e)?o:void 0})(a))?null:a}))}})),D(c)||!h(v,(e=>e((e=>y[e]))))?ne.delRow(o,f):O(f)?s[2]=ne.addRow(o,y):ne.setRow(o,f,y)}));re(R,o,R.addRowListener(o,null,((t,n,l,r)=>{const d=[],u=[],c=P(),v=R.hasRow(o,l);let f=!v;A(s,(e=>{const[t,n,s]=r(o,l,e);L(d,n),L(u,s),f||(f=t)})),W(e,(e=>{const[t,,n]=r(o,l,e);(f||t)&&q(c,e,[n])})),f&&a(H(i,d,void 0,(([,e])=>(F(e,l),D(e)))),c,l,1),v&&a(H(i,u,(()=>{const e={};return A(s,(t=>e[t]=R.getCell(o,l,t))),[P(),J(),void 0,e]}),(([,e])=>{K(e,l)})),c,l)})))}se(o,e,R);const T=(t,n,l,r)=>{const i=t=>e.getCell(n,l,t);y(r,(n=>{var l;const[r,,s,a,d]=B(g,n),u=null==s?void 0:s(i,t),[c,v]=null!=(l=B(d,t))?l:[];u!=c&&(O(v)||ee(o,v),q(d,t,O(u)?null:[u,..._(o,1,e.addRowListener(r,u,(()=>T(t,r,u,a))))]))})),(t=>{const n=(n,l)=>{var r,o,i;return e.getCell(...O(l)?[s,t,n]:n===s?[s,t,l]:[null==(r=B(g,n))?void 0:r[0],null==(i=B(null==(o=B(g,n))?void 0:o[4],t))?void 0:i[0],l])};R.transaction((()=>h(u,(e=>e(n)))?W(f,((e,l)=>((e,t,n,l,r)=>O(r)?e.delCell(t,n,l,!0):e.setCell(t,n,l,r))(R,o,t,e,l(n,t)))):R.delRow(o,t)))})(t)},{3:C}=B(g,null);return R.transaction((()=>_(o,1,e.addRowListener(s,null,((t,n,l)=>{e.hasRow(s,l)?T(l,s,l,C):(R.delRow(o,l),A(g,(({4:e})=>S(B(e,l),(([,t])=>{ee(o,t),q(e,l)})))))}))))),ie},delQueryDefinition:e=>(oe(e),Z(e),ie),getStore:a,getQueryIds:g,forEachQuery:b,hasQuery:R,getTableId:T,delListener:e=>(ne.delListener(e),ie),destroy:$,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)V.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&U)for(var l of U(e))t.indexOf(l)<0&&X.call(e,l)&&(n[l]=e[l]);return n})(ne.getListenerStats(),["tables","tableIds","transaction"])};var ae,de;return ae={Table:[1,1],[u]:[0,1],[c]:[0,5],[d]:[1,2],[f]:[0,2],[v]:[1,3]},de=([e,t],n)=>{y(e?["get","has","forEach"]:["get"],(e=>ie[e+i+n]=(...t)=>ne[e+n](...t))),ie["add"+i+n+s]=(...e)=>{return ne["add"+n+s](...(l=e,0,r=t,l.slice(0,r)),((n,...l)=>e[t](ie,...l)));var l,r}},((e,t)=>{e.map(t)})(j.entries(ae),(([e,t])=>de(t,e))),I(ie)})(e)),o.get(e))})();e.createQueries=Y},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseQueries={});
|
|
Binary file
|
package/lib/umd-es6/store.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,l;e=this,l=function(e){"use strict";const l=e=>typeof e,t="",n=l(t),s=l(!0),a=l(0),r=l(l),o="type",u="default",i="Ids",d="Table",c=d+"s",h=d+i,v="Row"+i,f="Cell",g=f+i,T="Value",V=T+"s",b=T+i,S=e=>t+e,y=(e,l)=>e.forEach(l),C=(e,l)=>e.map(l),w=e=>e.length,p=(e,l,t)=>e.slice(l,t),I=(e,...l)=>e.push(...l),R=e=>JSON.stringify(e,((e,l)=>{return L(l,Map)?(t=(e,[l,t])=>(e[l]=t,e),n={},[...l].reduce(t,n)):l;var t,n})),m=JSON.parse,J=isFinite,L=(e,l)=>e instanceof l,E=e=>null==e,F=(e,l,t)=>E(e)?null==t?void 0:t():l(e),x=e=>e==n||e==s,z=e=>l(e)==r,O=Object,j=O.keys,k=O.isFrozen,A=O.freeze,M=e=>L(e,O)&&e.constructor==O,N=(e,l)=>!E(((e,l)=>F(e,(e=>e[l])))(e,l)),P=(e,l)=>delete e[l],B=(e,l)=>C(O.entries(e),(([e,t])=>l(t,e))),D=e=>{return M(e)&&(l=j(e),0==w(l));var l},W=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},$=e=>E(e)||0==(e=>e.size)(e),q=e=>e.clear(),G=(e,l)=>null==e?void 0:e.forEach(l),H=(e,l)=>null==e?void 0:e.delete(l),K=e=>new Map(e),Q=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},U=(e,l)=>null==e?void 0:e.get(l),X=(e,l)=>G(e,((e,t)=>l(t,e))),Y=(e,l,t)=>E(t)?(H(e,l),e):null==e?void 0:e.set(l,t),Z=(e,l,t)=>(W(e,l)||Y(e,l,t()),U(e,l)),_=(e,l,t)=>{const n={};return G(e,((e,s)=>{const a=l?l(e,s):e;!(null==t?void 0:t(a,e))&&(n[s]=a)})),n},ee=(e,l,t)=>_(e,(e=>_(e,l,t)),D),le=(e,l,t)=>_(e,(e=>ee(e,l,t)),D),te=(e,l)=>{const t=K();return G(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},ne=e=>te(e,te),se=e=>te(e,ne),ae=(e,l,t,n,s=0)=>F((t?Z:U)(e,l[s],s>w(l)-2?t:K),(a=>{if(s>w(l)-2)return(null==n?void 0:n(a))&&Y(e,l[s]),a;const r=ae(a,l,t,n,s+1);return $(a)&&Y(e,l[s]),r})),re=e=>new Set(Array.isArray(e)||E(e)?e:[e]),oe=(e,l)=>null==e?void 0:e.add(l),ue=/^\d+$/,ie=()=>{const e=[];let l=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:t+l++},l=>{ue.test(l)&&w(e)<1e3&&I(e,l)}]},de=e=>[e,e],ce=()=>[K(),K()],he=e=>[...e],ve=([e,l])=>e===l,fe=e=>{const t=l(e);return x(t)||t==a&&J(e)?t:void 0},ge=(e,l,t,n,s)=>E(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),Te=(e,l,t)=>E(t)?e.delValue(l):e.setValue(l,t),Ve=(e,l,t,n=Y)=>(B(l,((l,n)=>t(e,n,l))),X(e,(t=>N(l,t)?0:n(e,t))),e),be=(e,l,t)=>E(e)||!M(e)||D(e)||k(e)?(null==t||t(),!1):(B(e,((t,n)=>{l(t,n)||P(e,n)})),!D(e)),Se=(e,l,t)=>Y(e,l,U(e,l)==-t?void 0:t),ye=()=>{let e,l,n,s,r=0;const i=K(),J=K(),L=K(),O=K(),j=K(),k=K(),M=K(),ue=K(),Ce=K(),we=K(),pe=K(),Ie=K(),Re=re(),me=K(),Je=K(),Le=K(),Ee=ce(),Fe=ce(),xe=ce(),ze=ce(),Oe=ce(),je=ce(),ke=ce(),Ae=ce(),Me=ce(),Ne=ce(),Pe=ce(),Be=ce(),De=ce(),We=ce(),[$e,qe,Ge,He]=(e=>{let l;const[n,s]=ie(),a=K();return[(e,s,r,o=[],u=(()=>[]))=>{null!=l||(l=at);const i=n(1);return Y(a,i,[e,s,r,o,u]),oe(ae(s,null!=r?r:[t],re),i),i},(e,n,...s)=>y(((e,l=[t])=>{const n=[],s=(e,t)=>t==w(l)?I(n,e):null===l[t]?G(e,(e=>s(e,t+1))):y([l[t],null],(l=>s(U(e,l),t+1)));return s(e,0),n})(e,n),(e=>G(e,(e=>U(a,e)[0](l,...null!=n?n:[],...s))))),e=>F(U(a,e),(([,l,n])=>(ae(l,null!=n?n:[t],void 0,(l=>(H(l,e),$(l)?1:0))),Y(a,e),s(e),n))),e=>F(U(a,e),(([e,,t=[],n,s])=>{const a=(...r)=>{var o,u;const i=w(r);i==w(t)?e(l,...r,...s(r)):E(t[i])?y(null!=(u=null==(o=n[i])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,t[i])};a()}))]})(),Ke=e=>{if(!be(e,((e,l)=>[o,u].includes(l))))return!1;const l=e[o];return!(!x(l)&&l!=a||(fe(e[u])!=l&&P(e,u),0))},Qe=(l,t)=>(!e||W(Ce,t)||Il(t))&&be(l,((e,l)=>Ue(t,l,e)),(()=>Il(t))),Ue=(e,l,t,n)=>be(n?t:_e(t,e,l),((n,s)=>F(Xe(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>Il(e,l))),Xe=(l,t,n,s)=>e?F(U(U(Ce,l),n),(e=>fe(s)!=e[o]?Il(l,t,n,s,e[u]):s),(()=>Il(l,t,n,s))):E(fe(s))?Il(l,t,n,s):s,Ye=(e,l)=>be(l?e:el(e),((l,t)=>F(Ze(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>Rl())),Ze=(e,t)=>l?F(U(pe,e),(l=>fe(t)!=l[o]?Rl(e,t,l[u]):t),(()=>Rl(e,t))):E(fe(t))?Rl(e,t):t,_e=(e,l,t)=>(F(U(we,l),(([n,s])=>{G(n,((l,t)=>{N(e,t)||(e[t]=l)})),G(s,(n=>{N(e,n)||Il(l,t,n)}))})),e),el=e=>(l&&(G(Ie,((l,t)=>{N(e,t)||(e[t]=l)})),G(Re,(l=>{N(e,l)||Rl(l)}))),e),ll=e=>Ve(Ce,e,((e,l,t)=>{const n=K(),s=re();Ve(Z(Ce,l,K),t,((e,l,t)=>{Y(e,l,t),F(t[u],(e=>Y(n,l,e)),(()=>oe(s,l)))})),Y(we,l,[n,s])}),((e,l)=>{Y(Ce,l),Y(we,l)})),tl=e=>Ve(pe,e,((e,l,t)=>{Y(pe,l,t),F(t[u],(e=>Y(Ie,l,e)),(()=>oe(Re,l)))}),((e,l)=>{Y(pe,l),Y(Ie,l),H(Re,l)})),nl=e=>D(e)?Xl():Gl(e),sl=e=>Ve(Je,e,((e,l,t)=>al(l,t)),((e,l)=>fl(l))),al=(e,l)=>Ve(Z(Je,e,(()=>(bl(e,1),K()))),l,((l,t,n)=>rl(e,l,t,n)),((l,t)=>gl(e,l,t))),rl=(e,l,t,n,s)=>Ve(Z(l,t,(()=>(Sl(e,t,1),K()))),n,((l,n,s)=>ol(e,t,l,n,s)),((n,a)=>Tl(e,l,t,n,a,s))),ol=(e,l,t,n,s)=>{W(t,n)||yl(e,l,n,1);const a=U(t,n);s!==a&&(Cl(e,l,n,a,s),Y(t,n,s))},ul=(e,l,t,n,s)=>F(U(l,t),(l=>ol(e,t,l,n,s)),(()=>rl(e,l,t,_e({[n]:s},e,t)))),il=e=>D(e)?_l():Hl(e),dl=e=>Ve(Le,e,((e,l,t)=>cl(l,t)),((e,l)=>Vl(l))),cl=(e,l)=>{W(Le,e)||wl(e,1);const t=U(Le,e);l!==t&&(pl(e,t,l),Y(Le,e,l))},hl=(e,l)=>{const[t]=Z(me,e,ie),n=t(l);return W(U(Je,e),n)?hl(e,l):n},vl=e=>{var l;return null!=(l=U(Je,e))?l:al(e,{})},fl=e=>al(e,{}),gl=(e,l,t)=>{const[,n]=Z(me,e,ie);n(t),rl(e,l,t,{},!0)},Tl=(e,l,t,n,s,a)=>{var r;const o=U(null==(r=U(we,e))?void 0:r[0],s);if(!E(o)&&!a)return ol(e,t,n,s,o);const u=l=>{Cl(e,t,l,U(n,l)),yl(e,t,l,-1),Y(n,l)};E(o)?u(s):X(n,u),$(n)&&(Sl(e,t,-1),$(Y(l,t))&&(bl(e,-1),Y(Je,e),Y(me,e)))},Vl=e=>{const l=U(Ie,e);if(!E(l))return cl(e,l);pl(e,U(Le,e)),wl(e,-1),Y(Le,e)},bl=(e,l)=>Se(i,e,l),Sl=(e,l,t)=>Se(Z(J,e,K),l,t),yl=(e,l,t,n)=>Se(Z(Z(L,e,K),l,K),t,n),Cl=(e,l,t,n,s)=>Z(Z(Z(O,e,K),l,K),t,(()=>[n,0]))[1]=s,wl=(e,l)=>Se(j,e,l),pl=(e,l,t)=>Z(k,e,(()=>[l,0]))[1]=t,Il=(e,l,t,n,s)=>(I(Z(Z(Z(M,e,K),l,K),t,(()=>[])),n),s),Rl=(e,l,t)=>(I(Z(ue,e,(()=>[])),l),t),ml=(e,l,t)=>F(U(U(U(O,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...de(Dl(e,l,t))])),Jl=e=>F(U(k,e),(([e,l])=>[!0,e,l]),(()=>[!1,...de(ql(e))])),Ll=e=>$(M)||$(Me[e])?0:G(e?se(M):M,((l,t)=>G(l,((l,n)=>G(l,((l,s)=>qe(Me[e],[t,n,s],l))))))),El=e=>$(ue)||$(Ne[e])?0:G(e?te(ue):ue,((l,t)=>qe(Ne[e],[t],l))),Fl=(e,l,t)=>{if(!$(l))return qe(e,t),1},xl=e=>{const l=$(Oe[e]),t=$(ke[e])&&$(ze[e])&&l&&$(Fe[e]),n=$(Ae[e])&&$(je[e])&&$(xe[e])&&$(Ee[e]);if(!t||!n){const s=e?[te(i),ne(J),se(L),se(O)]:[i,J,L,O];if(!t){G(s[2],((l,t)=>G(l,((l,n)=>Fl(ke[e],l,[t,n])))));const t=re();G(s[1],((n,s)=>{Fl(ze[e],n,[s])&&!l&&(qe(Oe[e],[s,null]),oe(t,s))})),l||G(s[3],((l,n)=>{if(!W(t,n)){const t=re();G(l,(e=>G(e,(([l,n],s)=>n!==l?oe(t,s):H(e,s))))),G(t,(l=>qe(Oe[e],[n,l])))}})),Fl(Fe[e],s[0])}if(!n){let l;G(s[3],((t,n)=>{let s;G(t,((t,a)=>{let r;G(t,(([t,o],u)=>{o!==t&&(qe(Ae[e],[n,a,u],o,t,ml),l=s=r=1)})),r&&qe(je[e],[n,a],ml)})),s&&qe(xe[e],[n],ml)})),l&&qe(Ee[e],void 0,ml)}}},zl=e=>{const l=$(Be[e]),t=$(De[e])&&$(Pe[e]);if(!l||!t){const n=e?[te(j),te(k)]:[j,k];if(l||Fl(Be[e],n[0]),!t){let l;G(n[1],(([t,n],s)=>{n!==t&&(qe(De[e],[s],n,t,Jl),l=1)})),l&&qe(Pe[e],void 0,Jl)}}},Ol=(e,...l)=>(tt((()=>e(...C(l,S)))),at),jl=()=>[_(O,((e,l)=>-1===U(i,l)?null:_(e,((e,t)=>-1===U(U(J,l),t)?null:_(e,(([,e])=>null!=e?e:null),((e,l)=>ve(l)))),D)),D),_(k,(([,e])=>null!=e?e:null),((e,l)=>ve(l)))],kl=()=>({cellsTouched:n,valuesTouched:s,changedCells:le(O,he,ve),invalidCells:le(M),changedValues:_(k,he,ve),invalidValues:_(ue),changedTableIds:_(i),changedRowIds:ee(J),changedCellIds:le(L),changedValueIds:_(j)}),Al=()=>le(Je),Ml=()=>Q(Je),Nl=e=>Q(U(Je,S(e))),Pl=(e,l,t,n=0,s)=>{return C(p((r=U(Je,S(e)),o=(e,t)=>[E(l)?t:U(e,S(l)),t],a=([e],[l])=>(e<l?-1:1)*(t?-1:1),C([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,l])=>o(l,e))).sort(a)),n,E(s)?s:n+s),(([,e])=>e));var a,r,o,u},Bl=(e,l)=>Q(U(U(Je,S(e)),S(l))),Dl=(e,l,t)=>U(U(U(Je,S(e)),S(l)),S(t)),Wl=()=>_(Le),$l=()=>Q(Le),ql=e=>U(Le,S(e)),Gl=e=>Ol((()=>(e=>be(e,Qe,Il))(e)?sl(e):0)),Hl=e=>Ol((()=>Ye(e)?dl(e):0)),Kl=e=>{try{nl(m(e))}catch(e){}return at},Ql=l=>Ol((()=>{if((e=be(l,(e=>be(e,Ke))))&&(ll(l),!$(Je))){const e=Al();Xl(),Gl(e)}})),Ul=e=>Ol((()=>{if(l=(e=>be(e,Ke))(e)){const t=Wl();lt(),_l(),l=!0,tl(e),Hl(t)}})),Xl=()=>Ol((()=>sl({}))),Yl=e=>Ol((e=>W(Je,e)?fl(e):0),e),Zl=(e,l)=>Ol(((e,l)=>F(U(Je,e),(t=>W(t,l)?gl(e,t,l):0))),e,l),_l=()=>Ol((()=>dl({}))),et=()=>Ol((()=>{ll({}),e=!1})),lt=()=>Ol((()=>{tl({}),l=!1})),tt=(e,l)=>{if(-1==r)return;nt();const t=e();return st(l),t},nt=()=>(r++,at),st=e=>(r>0&&(r--,0==r&&(n=!$(O),s=!$(k),r=1,Ll(1),n&&xl(1),El(1),s&&zl(1),r=-1,(null==e?void 0:e(jl,kl))&&(r=1,G(O,((e,l)=>G(e,((e,t)=>G(e,(([e],n)=>ge(at,l,t,n,e))))))),G(k,(([e],l)=>Te(at,l,e))),r=-1,n=s=!1),qe(We[0],void 0,jl,kl),Ll(0),n&&xl(0),El(0),s&&zl(0),qe(We[1],void 0,jl,kl),r=0,y([i,J,L,O,M,j,k,ue],q))),at),at={getContent:()=>[Al(),Wl()],getTables:Al,getTableIds:Ml,getTable:e=>ee(U(Je,S(e))),getRowIds:Nl,getSortedRowIds:Pl,getRow:(e,l)=>_(U(U(Je,S(e)),S(l))),getCellIds:Bl,getCell:Dl,getValues:Wl,getValueIds:$l,getValue:ql,hasTables:()=>!$(Je),hasTable:e=>W(Je,S(e)),hasRow:(e,l)=>W(U(Je,S(e)),S(l)),hasCell:(e,l,t)=>W(U(U(Je,S(e)),S(l)),S(t)),hasValues:()=>!$(Le),hasValue:e=>W(Le,S(e)),getTablesJson:()=>R(Je),getValuesJson:()=>R(Le),getJson:()=>R([Je,Le]),getTablesSchemaJson:()=>R(Ce),getValuesSchemaJson:()=>R(pe),getSchemaJson:()=>R([Ce,pe]),setContent:([e,l])=>Ol((()=>{Gl(e),Hl(l)})),setTables:Gl,setTable:(e,l)=>Ol((e=>Qe(l,e)?al(e,l):0),e),setRow:(e,l,t)=>Ol(((e,l)=>Ue(e,l,t)?rl(e,vl(e),l,t):0),e,l),addRow:(e,l,t=!0)=>tt((()=>{let n;return Ue(e,n,l)&&(e=S(e),rl(e,vl(e),n=hl(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>Ol(((e,l)=>{if(Ue(e,l,t,1)){const n=vl(e);B(t,((t,s)=>ul(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>Ol(((e,l,t)=>F(Xe(e,l,t,z(n)?n(Dl(e,l,t)):n),(n=>ul(e,vl(e),l,t,n)))),e,l,t),setValues:Hl,setPartialValues:e=>Ol((()=>Ye(e,1)?B(e,((e,l)=>cl(l,e))):0)),setValue:(e,l)=>Ol((e=>F(Ze(e,z(l)?l(ql(e)):l),(l=>cl(e,l)))),e),setTransactionChanges:e=>Ol((()=>{B(e[0],((e,l)=>E(e)?Yl(l):B(e,((e,t)=>E(e)?Zl(l,t):B(e,((e,n)=>ge(at,l,t,n,e))))))),B(e[1],((e,l)=>Te(at,l,e)))})),setTablesJson:Kl,setValuesJson:e=>{try{il(m(e))}catch(e){}return at},setJson:e=>{try{const[l,t]=m(e);nl(l),il(t)}catch(l){Kl(e)}return at},setTablesSchema:Ql,setValuesSchema:Ul,setSchema:(e,l)=>Ol((()=>{Ql(e),Ul(l)})),delTables:Xl,delTable:Yl,delRow:Zl,delCell:(e,l,t,n)=>Ol(((e,l,t)=>F(U(Je,e),(s=>F(U(s,l),(a=>W(a,t)?Tl(e,s,l,a,t,n):0))))),e,l,t),delValues:_l,delValue:e=>Ol((e=>W(Le,e)?Vl(e):0),e),delTablesSchema:et,delValuesSchema:lt,delSchema:()=>Ol((()=>{et(),lt()})),transaction:tt,startTransaction:nt,finishTransaction:st,forEachTable:e=>G(Je,((l,t)=>e(t,(e=>G(l,((l,t)=>e(t,(e=>X(l,e))))))))),forEachRow:(e,l)=>G(U(Je,S(e)),((e,t)=>l(t,(l=>X(e,l))))),forEachCell:(e,l,t)=>X(U(U(Je,S(e)),S(l)),t),forEachValue:e=>X(Le,e),addSortedRowIdsListener:(e,l,t,n,s,a,r)=>{let o=Pl(e,l,t,n,s);return $e((()=>{const r=Pl(e,l,t,n,s);var u,i,d;i=o,w(u=r)===w(i)&&(d=(e,l)=>i[l]===e,u.every(d))||(o=r,a(at,e,l,t,n,s,o))}),Oe[r?1:0],[e,l],[Ml])},addWillFinishTransactionListener:e=>$e(e,We[0]),addDidFinishTransactionListener:e=>$e(e,We[1]),callListener:e=>(He(e),at),delListener:e=>(Ge(e),at),getListenerStats:()=>({}),createStore:ye};return B({[c]:[0,Ee],[h]:[0,Fe],[d]:[1,xe,[Ml]],[v]:[1,ze,[Ml]],Row:[2,je,[Ml,Nl]],[g]:[2,ke,[Ml,Nl]],[f]:[3,Ae,[Ml,Nl,Bl],e=>de(Dl(...e))],InvalidCell:[3,Me],[V]:[0,Pe],[b]:[0,Be],[T]:[1,De,[$l],e=>de(ql(e[0]))],InvalidValue:[1,Ne]},(([e,l,t,n],s)=>{at["add"+s+"Listener"]=(...s)=>$e(s[e],l[s[e+1]?1:0],e>0?p(s,0,e):void 0,t,n)})),A(at)};e.createStore=ye},"object"==typeof exports&&"undefined"!=typeof module?l(exports):"function"==typeof define&&define.amd?define(["exports"],l):l((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
|
|
1
|
+
var e,l;e=this,l=function(e){"use strict";const l=e=>typeof e,t="",n=l(t),s=l(!0),a=l(0),r=l(l),o="type",u="default",i="Ids",d="Table",c=d+"s",h=d+i,v="Row"+i,f="Cell",g=f+i,T="Value",V=T+"s",b=T+i,S=e=>t+e,y=(e,l)=>e.forEach(l),C=(e,l)=>e.map(l),w=e=>e.length,p=(e,l,t)=>e.slice(l,t),I=(e,...l)=>e.push(...l),R=e=>JSON.stringify(e,((e,l)=>{return L(l,Map)?(t=(e,[l,t])=>(e[l]=t,e),n={},[...l].reduce(t,n)):l;var t,n})),m=JSON.parse,J=isFinite,L=(e,l)=>e instanceof l,E=e=>null==e,F=(e,l,t)=>E(e)?null==t?void 0:t():l(e),x=e=>e==n||e==s,z=e=>l(e)==r,O=Object,j=O.keys,k=O.isFrozen,A=O.freeze,M=e=>L(e,O)&&e.constructor==O,N=(e,l)=>!E(((e,l)=>F(e,(e=>e[l])))(e,l)),P=(e,l)=>delete e[l],B=(e,l)=>C(O.entries(e),(([e,t])=>l(t,e))),D=e=>{return M(e)&&(l=j(e),0==w(l));var l},W=(e,l)=>{var t;return null!=(t=null==e?void 0:e.has(l))&&t},$=e=>E(e)||0==(e=>e.size)(e),q=e=>e.clear(),G=(e,l)=>null==e?void 0:e.forEach(l),H=(e,l)=>null==e?void 0:e.delete(l),K=e=>new Map(e),Q=e=>{var l;return[...null!=(l=null==e?void 0:e.keys())?l:[]]},U=(e,l)=>null==e?void 0:e.get(l),X=(e,l)=>G(e,((e,t)=>l(t,e))),Y=(e,l,t)=>E(t)?(H(e,l),e):null==e?void 0:e.set(l,t),Z=(e,l,t)=>(W(e,l)||Y(e,l,t()),U(e,l)),_=(e,l,t)=>{const n={};return G(e,((e,s)=>{const a=l?l(e,s):e;!(null==t?void 0:t(a,e))&&(n[s]=a)})),n},ee=(e,l,t)=>_(e,(e=>_(e,l,t)),D),le=(e,l,t)=>_(e,(e=>ee(e,l,t)),D),te=(e,l)=>{const t=K();return G(e,((e,n)=>{var s;return t.set(n,null!=(s=null==l?void 0:l(e))?s:e)})),t},ne=e=>te(e,te),se=e=>te(e,ne),ae=(e,l,t,n,s=0)=>F((t?Z:U)(e,l[s],s>w(l)-2?t:K),(a=>{if(s>w(l)-2)return(null==n?void 0:n(a))&&Y(e,l[s]),a;const r=ae(a,l,t,n,s+1);return $(a)&&Y(e,l[s]),r})),re=e=>new Set(Array.isArray(e)||E(e)?e:[e]),oe=(e,l)=>null==e?void 0:e.add(l),ue=/^\d+$/,ie=()=>{const e=[];let l=0;return[n=>{var s;return null!=(s=n?e.shift():null)?s:t+l++},l=>{ue.test(l)&&w(e)<1e3&&I(e,l)}]},de=e=>[e,e],ce=()=>[K(),K()],he=e=>[...e],ve=([e,l])=>e===l,fe=e=>{const t=l(e);return x(t)||t==a&&J(e)?t:void 0},ge=(e,l,t,n,s)=>E(s)?e.delCell(l,t,n,!0):e.setCell(l,t,n,s),Te=(e,l,t)=>E(t)?e.delValue(l):e.setValue(l,t),Ve=(e,l,t,n=Y)=>(B(l,((l,n)=>t(e,n,l))),X(e,(t=>N(l,t)?0:n(e,t))),e),be=(e,l,t)=>E(e)||!M(e)||D(e)||k(e)?(null==t||t(),!1):(B(e,((t,n)=>{l(t,n)||P(e,n)})),!D(e)),Se=(e,l,t)=>Y(e,l,U(e,l)==-t?void 0:t),ye=()=>{let e,l,n=!1,s=!1,r=0;const i=K(),J=K(),L=K(),O=K(),j=K(),k=K(),M=K(),ue=K(),Ce=K(),we=K(),pe=K(),Ie=K(),Re=re(),me=K(),Je=K(),Le=K(),Ee=ce(),Fe=ce(),xe=ce(),ze=ce(),Oe=ce(),je=ce(),ke=ce(),Ae=ce(),Me=ce(),Ne=ce(),Pe=ce(),Be=ce(),De=ce(),We=K(),$e=ce(),[qe,Ge,He,Ke]=(e=>{let l;const[n,s]=ie(),a=K();return[(e,s,r,o=[],u=(()=>[]))=>{null!=l||(l=rt);const i=n(1);return Y(a,i,[e,s,r,o,u]),oe(ae(s,null!=r?r:[t],re),i),i},(e,n,...s)=>y(((e,l=[t])=>{const n=[],s=(e,t)=>t==w(l)?I(n,e):null===l[t]?G(e,(e=>s(e,t+1))):y([l[t],null],(l=>s(U(e,l),t+1)));return s(e,0),n})(e,n),(e=>G(e,(e=>U(a,e)[0](l,...null!=n?n:[],...s))))),e=>F(U(a,e),(([,l,n])=>(ae(l,null!=n?n:[t],void 0,(l=>(H(l,e),$(l)?1:0))),Y(a,e),s(e),n))),e=>F(U(a,e),(([e,,t=[],n,s])=>{const a=(...r)=>{var o,u;const i=w(r);i==w(t)?e(l,...r,...s(r)):E(t[i])?y(null!=(u=null==(o=n[i])?void 0:o.call(n,...r))?u:[],(e=>a(...r,e))):a(...r,t[i])};a()}))]})(),Qe=e=>{if(!be(e,((e,l)=>[o,u].includes(l))))return!1;const l=e[o];return!(!x(l)&&l!=a||(fe(e[u])!=l&&P(e,u),0))},Ue=(l,t)=>(!e||W(Ce,t)||Rl(t))&&be(l,((e,l)=>Xe(t,l,e)),(()=>Rl(t))),Xe=(e,l,t,n)=>be(n?t:el(t,e,l),((n,s)=>F(Ye(e,l,s,n),(e=>(t[s]=e,!0)),(()=>!1))),(()=>Rl(e,l))),Ye=(l,t,n,s)=>e?F(U(U(Ce,l),n),(e=>fe(s)!=e[o]?Rl(l,t,n,s,e[u]):s),(()=>Rl(l,t,n,s))):E(fe(s))?Rl(l,t,n,s):s,Ze=(e,l)=>be(l?e:ll(e),((l,t)=>F(_e(t,l),(l=>(e[t]=l,!0)),(()=>!1))),(()=>ml())),_e=(e,t)=>l?F(U(pe,e),(l=>fe(t)!=l[o]?ml(e,t,l[u]):t),(()=>ml(e,t))):E(fe(t))?ml(e,t):t,el=(e,l,t)=>(F(U(we,l),(([n,s])=>{G(n,((l,t)=>{N(e,t)||(e[t]=l)})),G(s,(n=>{N(e,n)||Rl(l,t,n)}))})),e),ll=e=>(l&&(G(Ie,((l,t)=>{N(e,t)||(e[t]=l)})),G(Re,(l=>{N(e,l)||ml(l)}))),e),tl=e=>Ve(Ce,e,((e,l,t)=>{const n=K(),s=re();Ve(Z(Ce,l,K),t,((e,l,t)=>{Y(e,l,t),F(t[u],(e=>Y(n,l,e)),(()=>oe(s,l)))})),Y(we,l,[n,s])}),((e,l)=>{Y(Ce,l),Y(we,l)})),nl=e=>Ve(pe,e,((e,l,t)=>{Y(pe,l,t),F(t[u],(e=>Y(Ie,l,e)),(()=>oe(Re,l)))}),((e,l)=>{Y(pe,l),Y(Ie,l),H(Re,l)})),sl=e=>D(e)?Yl():Hl(e),al=e=>Ve(Je,e,((e,l,t)=>rl(l,t)),((e,l)=>gl(l))),rl=(e,l)=>Ve(Z(Je,e,(()=>(Sl(e,1),K()))),l,((l,t,n)=>ol(e,l,t,n)),((l,t)=>Tl(e,l,t))),ol=(e,l,t,n,s)=>Ve(Z(l,t,(()=>(yl(e,t,1),K()))),n,((l,n,s)=>ul(e,t,l,n,s)),((n,a)=>Vl(e,l,t,n,a,s))),ul=(e,l,t,n,s)=>{W(t,n)||Cl(e,l,n,1);const a=U(t,n);s!==a&&(wl(e,l,n,a,s),Y(t,n,s))},il=(e,l,t,n,s)=>F(U(l,t),(l=>ul(e,t,l,n,s)),(()=>ol(e,l,t,el({[n]:s},e,t)))),dl=e=>D(e)?et():Kl(e),cl=e=>Ve(Le,e,((e,l,t)=>hl(l,t)),((e,l)=>bl(l))),hl=(e,l)=>{W(Le,e)||pl(e,1);const t=U(Le,e);l!==t&&(Il(e,t,l),Y(Le,e,l))},vl=(e,l)=>{const[t]=Z(me,e,ie),n=t(l);return W(U(Je,e),n)?vl(e,l):n},fl=e=>{var l;return null!=(l=U(Je,e))?l:rl(e,{})},gl=e=>rl(e,{}),Tl=(e,l,t)=>{const[,n]=Z(me,e,ie);n(t),ol(e,l,t,{},!0)},Vl=(e,l,t,n,s,a)=>{var r;const o=U(null==(r=U(we,e))?void 0:r[0],s);if(!E(o)&&!a)return ul(e,t,n,s,o);const u=l=>{wl(e,t,l,U(n,l)),Cl(e,t,l,-1),Y(n,l)};E(o)?u(s):X(n,u),$(n)&&(yl(e,t,-1),$(Y(l,t))&&(Sl(e,-1),Y(Je,e),Y(me,e)))},bl=e=>{const l=U(Ie,e);if(!E(l))return hl(e,l);Il(e,U(Le,e)),pl(e,-1),Y(Le,e)},Sl=(e,l)=>Se(i,e,l),yl=(e,l,t)=>Se(Z(J,e,K),l,t),Cl=(e,l,t,n)=>Se(Z(Z(L,e,K),l,K),t,n),wl=(e,l,t,n,s)=>Z(Z(Z(O,e,K),l,K),t,(()=>[n,0]))[1]=s,pl=(e,l)=>Se(j,e,l),Il=(e,l,t)=>Z(k,e,(()=>[l,0]))[1]=t,Rl=(e,l,t,n,s)=>(I(Z(Z(Z(M,e,K),l,K),t,(()=>[])),n),s),ml=(e,l,t)=>(I(Z(ue,e,(()=>[])),l),t),Jl=(e,l,t)=>F(U(U(U(O,e),l),t),(([e,l])=>[!0,e,l]),(()=>[!1,...de(Wl(e,l,t))])),Ll=e=>F(U(k,e),(([e,l])=>[!0,e,l]),(()=>[!1,...de(Gl(e))])),El=e=>$(M)||$(Me[e])?0:G(e?se(M):M,((l,t)=>G(l,((l,n)=>G(l,((l,s)=>Ge(Me[e],[t,n,s],l))))))),Fl=e=>$(ue)||$(Ne[e])?0:G(e?te(ue):ue,((l,t)=>Ge(Ne[e],[t],l))),xl=(e,l,t)=>{if(!$(l))return Ge(e,t),1},zl=e=>{const l=$(Oe[e]),t=$(ke[e])&&$(ze[e])&&l&&$(Fe[e]),n=$(Ae[e])&&$(je[e])&&$(xe[e])&&$(Ee[e]);if(!t||!n){const s=e?[te(i),ne(J),se(L),se(O)]:[i,J,L,O];if(!t){G(s[2],((l,t)=>G(l,((l,n)=>xl(ke[e],l,[t,n])))));const t=re();G(s[1],((n,s)=>{xl(ze[e],n,[s])&&!l&&(Ge(Oe[e],[s,null]),oe(t,s))})),l||G(s[3],((l,n)=>{if(!W(t,n)){const t=re();G(l,(e=>G(e,(([l,n],s)=>n!==l?oe(t,s):H(e,s))))),G(t,(l=>Ge(Oe[e],[n,l])))}})),xl(Fe[e],s[0])}if(!n){let l;G(s[3],((t,n)=>{let s;G(t,((t,a)=>{let r;G(t,(([t,o],u)=>{o!==t&&(Ge(Ae[e],[n,a,u],o,t,Jl),l=s=r=1)})),r&&Ge(je[e],[n,a],Jl)})),s&&Ge(xe[e],[n],Jl)})),l&&Ge(Ee[e],void 0,Jl)}}},Ol=e=>{const l=$(Be[e]),t=$(De[e])&&$(Pe[e]);if(!l||!t){const n=e?[te(j),te(k)]:[j,k];if(l||xl(Be[e],n[0]),!t){let l;G(n[1],(([t,n],s)=>{n!==t&&(Ge(De[e],[s],n,t,Ll),l=1)})),l&&Ge(Pe[e],void 0,Ll)}}},jl=(e,...l)=>(nt((()=>e(...C(l,S)))),rt),kl=()=>[_(O,((e,l)=>-1===U(i,l)?null:_(e,((e,t)=>-1===U(U(J,l),t)?null:_(e,(([,e])=>null!=e?e:null),((e,l)=>ve(l)))),D)),D),_(k,(([,e])=>null!=e?e:null),((e,l)=>ve(l)))],Al=()=>({cellsTouched:n,valuesTouched:s,changedCells:le(O,he,ve),invalidCells:le(M),changedValues:_(k,he,ve),invalidValues:_(ue),changedTableIds:_(i),changedRowIds:ee(J),changedCellIds:le(L),changedValueIds:_(j)}),Ml=()=>le(Je),Nl=()=>Q(Je),Pl=e=>Q(U(Je,S(e))),Bl=(e,l,t,n=0,s)=>{return C(p((r=U(Je,S(e)),o=(e,t)=>[E(l)?t:U(e,S(l)),t],a=([e],[l])=>(e<l?-1:1)*(t?-1:1),C([...null!=(u=null==r?void 0:r.entries())?u:[]],(([e,l])=>o(l,e))).sort(a)),n,E(s)?s:n+s),(([,e])=>e));var a,r,o,u},Dl=(e,l)=>Q(U(U(Je,S(e)),S(l))),Wl=(e,l,t)=>U(U(U(Je,S(e)),S(l)),S(t)),$l=()=>_(Le),ql=()=>Q(Le),Gl=e=>U(Le,S(e)),Hl=e=>jl((()=>(e=>be(e,Ue,Rl))(e)?al(e):0)),Kl=e=>jl((()=>Ze(e)?cl(e):0)),Ql=e=>{try{sl(m(e))}catch(e){}return rt},Ul=l=>jl((()=>{if((e=be(l,(e=>be(e,Qe))))&&(tl(l),!$(Je))){const e=Ml();Yl(),Hl(e)}})),Xl=e=>jl((()=>{if(l=(e=>be(e,Qe))(e)){const t=$l();tt(),et(),l=!0,nl(e),Kl(t)}})),Yl=()=>jl((()=>al({}))),Zl=e=>jl((e=>W(Je,e)?gl(e):0),e),_l=(e,l)=>jl(((e,l)=>F(U(Je,e),(t=>W(t,l)?Tl(e,t,l):0))),e,l),et=()=>jl((()=>cl({}))),lt=()=>jl((()=>{tl({}),e=!1})),tt=()=>jl((()=>{nl({}),l=!1})),nt=(e,l)=>{if(-1!=r){st();const t=e();return at(l),t}},st=()=>(-1!=r&&r++,1==r&&Ge(We,void 0,kl,Al),rt),at=e=>(r>0&&(r--,0==r&&(n=!$(O),s=!$(k),r=1,El(1),n&&zl(1),Fl(1),s&&Ol(1),(null==e?void 0:e(kl,Al))&&(G(O,((e,l)=>G(e,((e,t)=>G(e,(([e],n)=>ge(rt,l,t,n,e))))))),G(k,(([e],l)=>Te(rt,l,e))),n=s=!1),Ge($e[0],void 0,kl,Al),r=-1,El(0),n&&zl(0),Fl(0),s&&Ol(0),Ge($e[1],void 0,kl,Al),r=0,n=s=!1,y([i,J,L,O,M,j,k,ue],q))),rt),rt={getContent:()=>[Ml(),$l()],getTables:Ml,getTableIds:Nl,getTable:e=>ee(U(Je,S(e))),getRowIds:Pl,getSortedRowIds:Bl,getRow:(e,l)=>_(U(U(Je,S(e)),S(l))),getCellIds:Dl,getCell:Wl,getValues:$l,getValueIds:ql,getValue:Gl,hasTables:()=>!$(Je),hasTable:e=>W(Je,S(e)),hasRow:(e,l)=>W(U(Je,S(e)),S(l)),hasCell:(e,l,t)=>W(U(U(Je,S(e)),S(l)),S(t)),hasValues:()=>!$(Le),hasValue:e=>W(Le,S(e)),getTablesJson:()=>R(Je),getValuesJson:()=>R(Le),getJson:()=>R([Je,Le]),getTablesSchemaJson:()=>R(Ce),getValuesSchemaJson:()=>R(pe),getSchemaJson:()=>R([Ce,pe]),setContent:([e,l])=>jl((()=>{Hl(e),Kl(l)})),setTables:Hl,setTable:(e,l)=>jl((e=>Ue(l,e)?rl(e,l):0),e),setRow:(e,l,t)=>jl(((e,l)=>Xe(e,l,t)?ol(e,fl(e),l,t):0),e,l),addRow:(e,l,t=!0)=>nt((()=>{let n;return Xe(e,n,l)&&(e=S(e),ol(e,fl(e),n=vl(e,t?1:0),l)),n})),setPartialRow:(e,l,t)=>jl(((e,l)=>{if(Xe(e,l,t,1)){const n=fl(e);B(t,((t,s)=>il(e,n,l,s,t)))}}),e,l),setCell:(e,l,t,n)=>jl(((e,l,t)=>F(Ye(e,l,t,z(n)?n(Wl(e,l,t)):n),(n=>il(e,fl(e),l,t,n)))),e,l,t),setValues:Kl,setPartialValues:e=>jl((()=>Ze(e,1)?B(e,((e,l)=>hl(l,e))):0)),setValue:(e,l)=>jl((e=>F(_e(e,z(l)?l(Gl(e)):l),(l=>hl(e,l)))),e),setTransactionChanges:e=>jl((()=>{B(e[0],((e,l)=>E(e)?Zl(l):B(e,((e,t)=>E(e)?_l(l,t):B(e,((e,n)=>ge(rt,l,t,n,e))))))),B(e[1],((e,l)=>Te(rt,l,e)))})),setTablesJson:Ql,setValuesJson:e=>{try{dl(m(e))}catch(e){}return rt},setJson:e=>{try{const[l,t]=m(e);sl(l),dl(t)}catch(l){Ql(e)}return rt},setTablesSchema:Ul,setValuesSchema:Xl,setSchema:(e,l)=>jl((()=>{Ul(e),Xl(l)})),delTables:Yl,delTable:Zl,delRow:_l,delCell:(e,l,t,n)=>jl(((e,l,t)=>F(U(Je,e),(s=>F(U(s,l),(a=>W(a,t)?Vl(e,s,l,a,t,n):0))))),e,l,t),delValues:et,delValue:e=>jl((e=>W(Le,e)?bl(e):0),e),delTablesSchema:lt,delValuesSchema:tt,delSchema:()=>jl((()=>{lt(),tt()})),transaction:nt,startTransaction:st,finishTransaction:at,forEachTable:e=>G(Je,((l,t)=>e(t,(e=>G(l,((l,t)=>e(t,(e=>X(l,e))))))))),forEachRow:(e,l)=>G(U(Je,S(e)),((e,t)=>l(t,(l=>X(e,l))))),forEachCell:(e,l,t)=>X(U(U(Je,S(e)),S(l)),t),forEachValue:e=>X(Le,e),addSortedRowIdsListener:(e,l,t,n,s,a,r)=>{let o=Bl(e,l,t,n,s);return qe((()=>{const r=Bl(e,l,t,n,s);var u,i,d;i=o,w(u=r)===w(i)&&(d=(e,l)=>i[l]===e,u.every(d))||(o=r,a(rt,e,l,t,n,s,o))}),Oe[r?1:0],[e,l],[Nl])},addStartTransactionListener:e=>qe(e,We),addWillFinishTransactionListener:e=>qe(e,$e[0]),addDidFinishTransactionListener:e=>qe(e,$e[1]),callListener:e=>(Ke(e),rt),delListener:e=>(He(e),rt),getListenerStats:()=>({}),createStore:ye};return B({[c]:[0,Ee],[h]:[0,Fe],[d]:[1,xe,[Nl]],[v]:[1,ze,[Nl]],Row:[2,je,[Nl,Pl]],[g]:[2,ke,[Nl,Pl]],[f]:[3,Ae,[Nl,Pl,Dl],e=>de(Wl(...e))],InvalidCell:[3,Me],[V]:[0,Pe],[b]:[0,Be],[T]:[1,De,[ql],e=>de(Gl(e[0]))],InvalidValue:[1,Ne]},(([e,l,t,n],s)=>{rt["add"+s+"Listener"]=(...s)=>qe(s[e],l[s[e+1]?1:0],e>0?p(s,0,e):void 0,t,n)})),A(rt)};e.createStore=ye},"object"==typeof exports&&"undefined"!=typeof module?l(exports):"function"==typeof define&&define.amd?define(["exports"],l):l((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
|
package/lib/umd-es6/store.js.gz
CHANGED
|
Binary file
|