tinybase 2.0.1 → 2.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/checkpoints.js +1 -1
- package/lib/checkpoints.js.gz +0 -0
- package/lib/debug/checkpoints.js +7 -1
- package/lib/debug/indexes.d.ts +36 -10
- package/lib/debug/indexes.js +57 -25
- package/lib/debug/metrics.js +19 -2
- package/lib/debug/queries.js +18 -2
- package/lib/debug/relationships.js +19 -2
- package/lib/debug/store.js +7 -1
- package/lib/debug/tinybase.js +52 -25
- package/lib/debug/ui-react.js +2 -1
- package/lib/es6/checkpoints.js +1 -1
- package/lib/es6/checkpoints.js.gz +0 -0
- package/lib/es6/indexes.d.ts +36 -10
- package/lib/es6/indexes.js +1 -1
- package/lib/es6/indexes.js.gz +0 -0
- package/lib/es6/metrics.js +1 -1
- package/lib/es6/metrics.js.gz +0 -0
- package/lib/es6/queries.js +1 -1
- package/lib/es6/queries.js.gz +0 -0
- package/lib/es6/relationships.js +1 -1
- package/lib/es6/relationships.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/indexes.d.ts +36 -10
- package/lib/indexes.js +1 -1
- package/lib/indexes.js.gz +0 -0
- package/lib/metrics.js +1 -1
- package/lib/metrics.js.gz +0 -0
- package/lib/queries.js +1 -1
- package/lib/queries.js.gz +0 -0
- package/lib/relationships.js +1 -1
- package/lib/relationships.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/umd/checkpoints.js +1 -1
- package/lib/umd/checkpoints.js.gz +0 -0
- package/lib/umd/indexes.d.ts +36 -10
- package/lib/umd/indexes.js +1 -1
- package/lib/umd/indexes.js.gz +0 -0
- package/lib/umd/metrics.js +1 -1
- package/lib/umd/metrics.js.gz +0 -0
- package/lib/umd/queries.js +1 -1
- package/lib/umd/queries.js.gz +0 -0
- package/lib/umd/relationships.js +1 -1
- package/lib/umd/relationships.js.gz +0 -0
- package/lib/umd/store.js +1 -1
- package/lib/umd/store.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/lib/umd-es6/checkpoints.js +1 -1
- package/lib/umd-es6/checkpoints.js.gz +0 -0
- package/lib/umd-es6/indexes.d.ts +36 -10
- package/lib/umd-es6/indexes.js +1 -1
- package/lib/umd-es6/indexes.js.gz +0 -0
- package/lib/umd-es6/metrics.js +1 -1
- package/lib/umd-es6/metrics.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/relationships.js +1 -1
- package/lib/umd-es6/relationships.js.gz +0 -0
- package/lib/umd-es6/store.js +1 -1
- package/lib/umd-es6/store.js.gz +0 -0
- package/lib/umd-es6/tinybase.js +1 -1
- package/lib/umd-es6/tinybase.js.gz +0 -0
- package/package.json +2 -1
- package/readme.md +12 -12
package/lib/umd/store.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),r=t(!0),o=t(0),l=t(t),a="type",i="default",c=e=>n+e,d=(e,t)=>e.forEach(t),u=(e,t)=>e.map(t),f=e=>e.length,h=(e,t,n)=>e.slice(t,n),T=(e,...t)=>e.push(...t),b=e=>JSON.stringify(e,((e,t)=>{return
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",s=t(n),r=t(!0),o=t(0),l=t(t),a="type",i="default",c=e=>n+e,d=(e,t)=>e.forEach(t),u=(e,t)=>e.map(t),f=e=>e.length,h=(e,t,n)=>e.slice(t,n),T=(e,...t)=>e.push(...t),b=e=>JSON.stringify(e,((e,t)=>{return g(t,Map)?(n=[...t],s=(e,[t,n])=>(e[t]=n,e),r={},n.reduce(s,r)):t;var n,s,r})),p=JSON.parse,y=isFinite,g=(e,t)=>e instanceof t,v=e=>null==e,w=(e,t,n)=>v(e)?n?.():t(e),R=e=>e==s||e==r,S=(e,t)=>e?.has(t)??!1,C=e=>v(e)||0==(e=>e.size)(e),I=e=>e.clear(),L=(e,t)=>e?.forEach(t),m=(e,t)=>e?.delete(t),E=e=>new Map(e),J=e=>[...e?.keys()??[]],F=(e,t)=>e?.get(t),O=(e,t)=>L(e,((e,n)=>t(n,e))),j=(e,t,n)=>v(n)?(m(e,t),e):e?.set(t,n),x=(e,t,n)=>(S(e,t)||j(e,t,n()),F(e,t)),z=(e,t,n)=>{const s={},r=t??(e=>e);return L(e,((e,t)=>w(r(e),(e=>n?.(e)?0:s[t]=e)))),s},M=(e,t)=>{const n=E(),s=t??(e=>e);return L(e,((e,t)=>n.set(t,s(e)))),n},k=e=>M(e,M),A=(e,t,n,s,r=0)=>w((n?x:F)(e,t[r],r>f(t)-2?n:E),(o=>{if(r>f(t)-2)return s?.(o)&&j(e,t[r]),o;const l=A(o,t,n,s,r+1);return C(o)&&j(e,t[r]),l})),N=Object,P=N.keys,_=N.isFrozen,B=N.freeze,D=(e,t)=>!v(((e,t)=>w(e,(e=>e[t])))(e,t)),W=(e,t)=>delete e[t],$=(e,t)=>d(N.entries(e),(([e,n])=>t(n,e))),q=e=>{return t=P(e),0==f(t);var t},G=e=>new Set(Array.isArray(e)||v(e)?e:[e]),H=(e,t)=>e?.add(t),K=/^\d+$/,Q=()=>{const e=[];let t=0;return[()=>e.shift()??n+t++,t=>{K.test(t)&&f(e)<1e3&&T(e,t)}]},U=e=>{let t;const[s,r]=Q(),o=E();return[(r,l,a)=>{t??=e();const i=s();return j(o,i,[r,l,a]),H(A(l,a??[n],G),i),i},(e,s,...r)=>d(((e,t=[n])=>{const s=[],r=(e,n)=>n==f(t)?T(s,e):null===t[n]?L(e,(e=>r(e,n+1))):d([t[n],null],(t=>r(F(e,t),n+1)));return r(e,0),s})(e,s),(e=>L(e,(e=>F(o,e)[0](t,...s??[],...r))))),e=>w(F(o,e),(([,t,s])=>(A(t,s??[n],void 0,(t=>(m(t,e),C(t)?1:0))),j(o,e),r(e),s))),(e,n,s)=>w(F(o,e),(([e,,r=[]])=>{const o=(...l)=>{const a=f(l);a==f(r)?e(t,...l,...s(l)):v(r[a])?d(n[a](...l),(e=>o(...l,e))):o(...l,r[a])};o()}))]},V=e=>[e,e],X=()=>[E(),E()],Y=e=>{const n=t(e);return R(n)||n==o&&y(e)?n:void 0},Z=(e,t,n,s=j)=>{const r=(o=J(e),l=e=>!D(t,e),o.filter(l));var o,l;return d(P(t),(s=>n(e,s,t[s]))),d(r,(t=>s(e,t))),e},ee=(e,t,n)=>v(e)||!(e=>g(e,N)&&e.constructor==N)(e)||q(e)||_(e)?(n?.(),!1):($(e,((n,s)=>{t(n,s)||W(e,s)})),!q(e)),te=(e,t,n)=>j(e,t,F(e,t)==-n?void 0:n),ne=()=>{let e,n,s=0;const r=E(),y=E(),g=E(),A=E(),N=E(),P=E(),_=E(),K=E(),se=E(),re=X(),oe=X(),le=X(),ae=X(),ie=X(),ce=X(),de=X(),ue=X(),fe=X(),he=X(),[Te,be,pe,ye]=U((()=>et)),ge=(t,n)=>(!e||S(P,n)||Ne(n))&&ee(t,((e,t)=>ve(n,t,e)),(()=>Ne(n))),ve=(e,t,n,s)=>ee(s?n:Re(n,e,t),((s,r)=>w(we(e,t,r,s),(e=>(n[r]=e,!0)),(()=>!1))),(()=>Ne(e,t))),we=(t,n,s,r)=>e?w(F(F(P,t),s),(e=>Y(r)!=e.type?Ne(t,n,s,r,e.default):r),(()=>Ne(t,n,s,r))):v(Y(r))?Ne(t,n,s,r):r,Re=(e,t,n)=>(w(F(_,t),(([s,r])=>{L(s,((t,n)=>{D(e,n)||(e[n]=t)})),L(r,(s=>{D(e,s)||Ne(t,n,s)}))})),e),Se=e=>Z(P,e,((e,t,n)=>{const s=E(),r=G();Z(x(P,t,E),n,((e,t,n)=>{j(e,t,n),w(n.default,(e=>j(s,t,e)),(()=>H(r,t)))})),j(_,t,[s,r])}),((e,t)=>{j(P,t),j(_,t)})),Ce=e=>Z(se,e,((e,t,n)=>Ie(t,n)),((e,t)=>Oe(t))),Ie=(e,t)=>Z(x(se,e,(()=>(ze(e,1),E()))),t,((t,n,s)=>Le(e,t,n,s)),((t,n)=>je(e,t,n))),Le=(e,t,n,s,r)=>Z(x(t,n,(()=>(Me(e,n,1),E()))),s,((t,s,r)=>me(e,n,t,s,r)),((s,o)=>xe(e,t,n,s,o,r))),me=(e,t,n,s,r)=>{S(n,s)||ke(e,t,s,1);const o=F(n,s);r!==o&&(Ae(e,t,s,o,r),j(n,s,r))},Ee=(e,t,n,s,r)=>w(F(t,n),(t=>me(e,n,t,s,r)),(()=>Le(e,t,n,Re({[s]:r},e,n)))),Je=e=>{const[t]=x(K,e,Q),n=t();return S(F(se,e),n)?Je(e):n},Fe=e=>F(se,e)??Ie(e,{}),Oe=e=>Ie(e,{}),je=(e,t,n)=>{const[,s]=x(K,e,Q);s(n),Le(e,t,n,{},!0)},xe=(e,t,n,s,r,o)=>{const l=F(F(_,e)?.[0],r);if(!v(l)&&!o)return me(e,n,s,r,l);const a=t=>{Ae(e,n,t,F(s,t)),ke(e,n,t,-1),j(s,t)};v(l)?a(r):O(s,a),C(s)&&(Me(e,n,-1),C(j(t,n))&&(ze(e,-1),j(se,e)))},ze=(e,t)=>te(r,e,t),Me=(e,t,n)=>te(x(y,e,E),t,n),ke=(e,t,n,s)=>te(x(x(g,e,E),t,E),n,s),Ae=(e,t,n,s,r)=>x(x(x(A,e,E),t,E),n,(()=>[s,0]))[1]=r,Ne=(e,t,n,s,r)=>(T(x(x(x(N,e,E),t,E),n,(()=>[])),s),r),Pe=(e,t,n)=>w(F(F(F(A,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...V(Qe(e,t,n))])),_e=e=>C(N)||C(fe[e])?0:L(e?M(N,k):N,((t,n)=>L(t,((t,s)=>L(t,((t,r)=>be(fe[e],[n,s,r],t))))))),Be=(e,t,n)=>{if(!C(t))return be(e,n),1},De=e=>{const t=C(ie[e]),n=C(de[e])&&C(ae[e])&&t&&C(oe[e]),s=C(ue[e])&&C(ce[e])&&C(le[e])&&C(re[e]);if(!n||!s){const o=e?[M(r),k(y),M(g,k),M(A,k)]:[r,y,g,A];if(!n){L(o[2],((t,n)=>L(t,((t,s)=>Be(de[e],t,[n,s])))));const n=G();L(o[1],((s,r)=>{Be(ae[e],s,[r])&&!t&&(be(ie[e],[r,null]),H(n,r))})),t||L(o[3],((t,s)=>{if(!S(n,s)){const n=G();L(t,(e=>L(e,(([t,s],r)=>s!==t?H(n,r):m(e,r))))),L(n,(t=>be(ie[e],[s,t])))}})),Be(oe[e],o[0])}if(!s){let t;L(o[3],((n,s)=>{let r;L(n,((n,o)=>{let l;L(n,(([n,a],i)=>{a!==n&&(be(ue[e],[s,o,i],a,n,Pe),t=r=l=1)})),l&&be(ce[e],[s,o],Pe)})),r&&be(le[e],[s],Pe)})),t&&be(re[e],void 0,Pe)}}},We=(e,...t)=>(Xe((()=>e(...u(t,c)))),et),$e=()=>z(se,(e=>z(e,z))),qe=()=>J(se),Ge=e=>J(F(se,c(e))),He=(e,t,n,s=0,r)=>{const o=[];return O(F(se,c(e)),((e,n)=>T(o,[v(t)?e:F(n,c(t)),e]))),u(h(o.sort((([e],[t])=>(e<t?-1:1)*(n?-1:1))),s,v(r)?r:s+r),(([,e])=>e))},Ke=(e,t)=>J(F(F(se,c(e)),c(t))),Qe=(e,t,n)=>F(F(F(se,c(e)),c(t)),c(n)),Ue=e=>We((()=>(e=>ee(e,ge,Ne))(e)?Ce(e):0)),Ve=()=>We((()=>Ce({}))),Xe=(e,t)=>{if(-1==s)return;Ye();const n=e?.();return Ze(t),n},Ye=()=>(s++,et),Ze=e=>(s>0&&(s--,0==s&&(n=!C(A),s=1,_e(1),n&&De(1),s=-1,e?.(z(A,(e=>z(e,(e=>z(e,(e=>[...e]),(([e,t])=>e===t))),q)),q),z(N,(e=>z(e,z))))&&(s=1,L(A,((e,t)=>L(e,((e,n)=>L(e,(([e],s)=>((e,t,n,s,r)=>v(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(et,t,n,s,e))))))),s=-1,n=!1),be(he[0],void 0,n),_e(0),n&&De(0),be(he[1],void 0,n),s=0,d([A,N,r,y,g],I))),et),et={getTables:$e,getTableIds:qe,getTable:e=>z(F(se,c(e)),z),getRowIds:Ge,getSortedRowIds:He,getRow:(e,t)=>z(F(F(se,c(e)),c(t))),getCellIds:Ke,getCell:Qe,hasTables:()=>!C(se),hasTable:e=>S(se,c(e)),hasRow:(e,t)=>S(F(se,c(e)),c(t)),hasCell:(e,t,n)=>S(F(F(se,c(e)),c(t)),c(n)),getJson:()=>b(se),getSchemaJson:()=>b(P),setTables:Ue,setTable:(e,t)=>We((e=>ge(t,e)?Ie(e,t):0),e),setRow:(e,t,n)=>We(((e,t)=>ve(c(e),c(t),n)?Le(c(e),Fe(c(e)),c(t),n):0),e,t),addRow:(e,t)=>Xe((()=>{let n;return ve(e,n,t)&&(e=c(e),Le(e,Fe(e),n=Je(e),t)),n})),setPartialRow:(e,t,n)=>We(((e,t)=>{if(ve(e,t,n,1)){const s=Fe(e);$(n,((n,r)=>Ee(e,s,t,r,n)))}}),e,t),setCell:(e,n,s,r)=>We(((e,n,s)=>w(we(e,n,s,t(r)==l?r(Qe(e,n,s)):r),(t=>Ee(e,Fe(e),n,s,t)))),e,n,s),setJson:e=>{try{"{}"===e?Ve():Ue(p(e))}catch{}return et},setSchema:t=>We((()=>{if((e=(e=>ee(e,(e=>ee(e,(e=>{if(!ee(e,((e,t)=>[a,i].includes(t))))return!1;const t=e.type;return!(!R(t)&&t!=o||(Y(e.default)!=t&&W(e,i),0))})))))(t))&&(Se(t),!C(se))){const e=$e();Ve(),Ue(e)}})),delTables:Ve,delTable:e=>We((e=>S(se,e)?Oe(e):0),e),delRow:(e,t)=>We(((e,t)=>w(F(se,e),(n=>S(n,t)?je(e,n,t):0))),e,t),delCell:(e,t,n,s)=>We(((e,t,n)=>w(F(se,e),(r=>w(F(r,t),(o=>S(o,n)?xe(e,r,t,o,n,s):0))))),e,t,n),delSchema:()=>We((()=>{Se({}),e=!1})),transaction:Xe,startTransaction:Ye,finishTransaction:Ze,forEachTable:e=>L(se,((t,n)=>e(n,(e=>L(t,((t,n)=>e(n,(e=>O(t,e))))))))),forEachRow:(e,t)=>L(F(se,c(e)),((e,n)=>t(n,(t=>O(e,t))))),forEachCell:(e,t,n)=>O(F(F(se,c(e)),c(t)),n),addSortedRowIdsListener:(e,t,n,s,r,o,l)=>{let a=He(e,t,n,s,r);return Te((()=>{const l=He(e,t,n,s,r);var i,c,d;c=a,f(i=l)===f(c)&&(d=(e,t)=>c[t]===e,i.every(d))||(a=l,o(et,e,t,n,s,r,a))}),ie[l?1:0],[e,t])},addWillFinishTransactionListener:e=>Te(e,he[0]),addDidFinishTransactionListener:e=>Te(e,he[1]),callListener:e=>(ye(e,[qe,Ge,Ke],(e=>v(e[2])?[]:V(Qe(...e)))),et),delListener:e=>(pe(e),et),getListenerStats:()=>({}),createStore:ne};return $({Tables:[0,re],TableIds:[0,oe],Table:[1,le],RowIds:[1,ae],Row:[2,ce],CellIds:[2,de],Cell:[3,ue],InvalidCell:[3,fe]},(([e,t],n)=>{et["add"+n+"Listener"]=(...n)=>Te(n[e],t[n[e+1]?1:0],e>0?h(n,0,e):void 0)})),B(et)};e.createStore=ne,Object.defineProperty(e,"__esModule",{value:!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).TinyBaseStore={});
|
package/lib/umd/store.js.gz
CHANGED
|
Binary file
|
package/lib/umd/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t){"use strict";const s=e=>typeof e,n="",o=s(n),r=s(!0),a=s(0),i=s(s),l="type",c="default",d="utf8",u="Listener",f="Result",h="add",g="Table",w="RowIds",L="CellIds",p="Cell",v=e=>n+e,R=(e,t)=>e.includes(t),I=(e,t)=>e.every(t),y=(e,t)=>I(e,((s,n)=>0==n||t(e[n-1],s)<=0)),S=(e,t)=>e.sort(t),T=(e,t)=>e.forEach(t),b=(e,t)=>e.map(t),C=e=>k(e,((e,t)=>e+t),0),m=e=>e.length,E=e=>0==m(e),k=(e,t,s)=>e.reduce(t,s),M=(e,t,s)=>e.slice(t,s),x=(e,...t)=>e.push(...t),D=e=>e.pop(),A=e=>e.shift(),F=e=>JSON.stringify(e,((e,t)=>O(t,Map)?k([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),P=JSON.parse,J=Math.max,Q=Math.min,j=isFinite,O=(e,t)=>e instanceof t,z=e=>null==e,N=(e,t,s)=>z(e)?s?.():t(e),W=e=>e==o||e==r,B=e=>s(e)==i,_=()=>{},q=e=>e.size,H=(e,t)=>e?.has(t)??!1,$=e=>z(e)||0==q(e),G=e=>[...e?.values()??[]],K=e=>e.clear(),U=(e,t)=>e?.forEach(t),V=(e,t)=>e?.delete(t),X=e=>new Map(e),Y=e=>[...e?.keys()??[]],Z=(e,t)=>e?.get(t),ee=(e,t)=>U(e,((e,s)=>t(s,e))),te=(e,t,s)=>z(s)?(V(e,t),e):e?.set(t,s),se=(e,t,s)=>(H(e,t)||te(e,t,s()),Z(e,t)),ne=(e,t,s)=>{const n={},o=t??(e=>e);return U(e,((e,t)=>N(o(e),(e=>s?.(e)?0:n[t]=e)))),n},oe=(e,t)=>{const s=X(),n=t??(e=>e);return U(e,((e,t)=>s.set(t,n(e)))),s},re=e=>oe(e,oe),ae=(e,t,s,n,o=0)=>N((s?se:Z)(e,t[o],o>m(t)-2?s:X),(r=>{if(o>m(t)-2)return n?.(r)&&te(e,t[o]),r;const a=ae(r,t,s,n,o+1);return $(r)&&te(e,t[o]),a})),ie=e=>new Set(e),le=(e,t)=>e?.add(t),ce=(e,t,s)=>{const n=e.hasRow,o=X(),r=X(),a=X(),i=X(),l=X(),c=(t,s,...n)=>{const o=se(l,t,ie);return T(n,(t=>le(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>N(Z(l,t),(n=>{T(E(s)?G(n):s,(t=>{e.delListener(t),V(n,t)})),$(n)&&te(l,t)})),u=(e,s)=>{te(o,e,s),H(r,e)||(te(r,e,t()),te(a,e,X()),te(i,e,X()))},f=e=>{te(o,e),te(r,e),te(a,e),te(i,e),d(e)};return[()=>e,()=>Y(o),e=>ee(r,e),e=>H(r,e),e=>Z(o,e),e=>Z(r,e),(e,t)=>te(r,e,t),u,(t,o,r,l,f)=>{u(t,o);const h=X(),g=X(),w=Z(a,t),L=Z(i,t),p=t=>{const r=s=>e.getCell(o,t,s),a=Z(w,t),i=n(o,t)?s(l(r,t)):void 0;if(a!=i&&te(h,t,[a,i]),!z(f)){const e=Z(L,t),s=n(o,t)?f(r,t):void 0;e!=s&&te(g,t,s)}},v=e=>{r((()=>{U(h,(([,e],t)=>te(w,t,e))),U(g,((e,t)=>te(L,t,e)))}),h,g,w,L,e),K(h),K(g)};ee(w,p),e.hasTable(o)&&T(e.getRowIds(o),(e=>{H(w,e)||p(e)})),v(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>p(s))),e.addTableListener(o,(()=>v())))},f,()=>ee(l,f),c,d]},de=(e,t)=>s(e)==o?t=>t(e):e??(()=>t??n),ue=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},fe=/^\d+$/,he=()=>{const e=[];let t=0;return[()=>A(e)??n+t++,t=>{fe.test(t)&&m(e)<1e3&&x(e,t)}]},ge=e=>{let t;const[s,o]=he(),r=X();return[(o,a,i)=>{t??=e();const l=s();return te(r,l,[o,a,i]),le(ae(a,i??[n],ie),l),l},(e,s,...o)=>T(((e,t=[n])=>{const s=[],o=(e,n)=>n==m(t)?x(s,e):null===t[n]?U(e,(e=>o(e,n+1))):T([t[n],null],(t=>o(Z(e,t),n+1)));return o(e,0),s})(e,s),(e=>U(e,(e=>Z(r,e)[0](t,...s??[],...o))))),e=>N(Z(r,e),(([,t,s])=>(ae(t,s??[n],void 0,(t=>(V(t,e),$(t)?1:0))),te(r,e),o(e),s))),(e,s,n)=>N(Z(r,e),(([e,,o=[]])=>{const r=(...a)=>{const i=m(a);i==m(o)?e(t,...a,...n(a)):z(o[i])?T(s[i](...a),(e=>r(...a,e))):r(...a,o[i])};r()}))]},we=Object,Le=we.keys,pe=we.isFrozen,ve=we.freeze,Re=(e,t)=>!z(((e,t)=>N(e,(e=>e[t])))(e,t)),Ie=(e,t)=>delete e[t],ye=(e,t)=>T(we.entries(e),(([e,s])=>t(s,e))),Se=e=>E(Le(e)),Te=e=>{const t=s(e);return W(t)||t==a&&j(e)?t:void 0},be=(e,t,s,n,o)=>z(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),Ce=ue((e=>{let t,s,o,r=100,a=X(),i=1;const l=X(),c=X(),[d,u,f]=ge((()=>Q)),h=X(),g=X(),w=[],L=[],p=(t,s)=>{i=0,e.transaction((()=>U(Z(h,s),((s,n)=>U(s,((s,o)=>U(s,((s,r)=>be(e,n,o,r,s[t]))))))))),i=1},v=e=>{te(h,e),te(g,e),u(c,[e])},I=(e,t)=>T(((e,t)=>e.splice(0,t))(e,t??m(e)),v),y=()=>I(w,m(w)-r),S=e.addCellListener(null,null,null,((e,s,n,r,l,c)=>{if(i){N(t,(()=>{x(w,t),y(),I(L),t=void 0,o=1}));const e=se(a,s,X),i=se(e,n,X),d=se(i,r,(()=>[c,void 0]));d[1]=l,d[0]===l&&$(te(i,r))&&$(te(e,n))&&$(te(a,s))&&(t=D(w),o=1),M()}})),b=(e="")=>(z(t)&&(t=n+s++,te(h,t,a),P(t,e),a=X(),o=1),t),C=()=>{E(w)||(L.unshift(b()),p(0,t),t=D(w),o=1)},k=()=>{E(L)||(x(w,t),t=A(L),p(1,t),o=1)},M=()=>{o&&(u(l),o=0)},F=e=>{const t=b(e);return M(),t},P=(e,t)=>(J(e)&&Z(g,e)!==t&&(te(g,e,t),u(c,[e])),Q),J=e=>H(h,e),Q={setSize:e=>(r=e,y(),Q),addCheckpoint:F,setCheckpoint:P,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...L]],forEachCheckpoint:e=>ee(g,e),hasCheckpoint:J,getCheckpoint:e=>Z(g,e),goBackward:()=>(C(),M(),Q),goForward:()=>(k(),M(),Q),goTo:e=>{const s=R(w,e)?C:R(L,e)?k:null;for(;!z(s)&&e!=t;)s();return M(),Q},addCheckpointIdsListener:e=>d(e,l),addCheckpointListener:(e,t)=>d(t,c,[e]),delListener:e=>(f(e),Q),clear:()=>(I(w),I(L),z(t)||v(t),t=void 0,s=0,F(),Q),destroy:()=>{e.delListener(S)},getListenerStats:()=>({})};return ve(Q.clear())})),me=(e,t)=>e<t?-1:1,Ee=ue((e=>{const t=X(),s=X(),[o,r,a,i,l,c,d,,u,f,h]=ce(e,X,(e=>z(e)?n:e+n)),[g,w,L]=ge((()=>v)),p=(t,s,n)=>{const o=l(t);U(n,((t,n)=>s(n,(s=>U(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},v={setIndexDefinition:(e,n,o,r,a,i=me)=>{const l=z(a)?void 0:([e],[t])=>a(e,t);return u(e,n,((n,o,a,u,f,h)=>{let g=0;const L=ie(),p=ie(),v=c(e);if(U(o,(([e,t],s)=>{z(e)||(le(L,e),N(Z(v,e),(t=>{V(t,s),$(t)&&(te(v,e),g=1)}))),z(t)||(le(L,t),H(v,t)||(te(v,t,ie()),g=1),le(Z(v,t),s),z(r)||le(p,t))})),n(),$(f)||(h?ee(v,(e=>le(p,e))):ee(a,(e=>N(Z(u,e),(e=>le(p,e))))),U(p,(e=>{const t=(t,s)=>i(Z(f,t),Z(f,s),e),s=[...Z(v,e)];y(s,t)||(te(v,e,ie(S(s,t))),le(L,e))}))),(g||h)&&!z(l)){const t=[...v];y(t,l)||(d(e,X(S(t,l))),g=1)}g&&w(t,[e]),U(L,(t=>w(s,[e,t])))}),de(o),N(r,de)),v},delIndexDefinition:e=>(f(e),v),getStore:o,getIndexIds:r,forEachIndex:e=>a(((t,s)=>e(t,(e=>p(t,e,s))))),forEachSlice:(e,t)=>p(e,t,c(e)),hasIndex:i,hasSlice:(e,t)=>H(c(e),t),getTableId:l,getSliceIds:e=>Y(c(e)),getSliceRowIds:(e,t)=>G(Z(c(e),t)),addSliceIdsListener:(e,s)=>g(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>g(n,s,[e,t]),delListener:e=>(L(e),v),destroy:h,getListenerStats:()=>({})};return ve(v)})),ke=X([["avg",[(e,t)=>C(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=>J(...e),(e,t)=>J(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:J(t,e)]],["min",[e=>Q(...e),(e,t)=>Q(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:Q(t,e)]],["sum",[e=>C(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Me=(e,t,s,n,o,r=!1)=>{if($(s))return;const[a,i,l,c]=o;return r||=z(e),U(n,(([s,n])=>{r||(e=z(s)?i?.(e,n,t++):z(n)?l?.(e,s,t--):c?.(e,n,s,t),r||=z(e))})),r?a(G(s),q(s)):e},xe=ue((e=>{const t=X(),[s,o,r,a,i,l,c,,d,u,f]=ce(e,_,(e=>isNaN(e)||z(e)||!0===e||!1===e||e===n?void 0:1*e)),[h,g,w]=ge((()=>L)),L={setMetricDefinition:(e,s,n,o,r,a,i)=>{const u=B(n)?[n,r,a,i]:Z(ke,n)??Z(ke,"sum");return d(e,s,((s,n,o,r,a,i)=>{const d=l(e),f=q(r);i||=z(d),s();let h=Me(d,f,r,n,u,i);j(h)||(h=void 0),h!=d&&(c(e,h),g(t,[e],h,d))}),de(o,1)),L},delMetricDefinition:e=>(u(e),L),getStore:s,getMetricIds:o,forEachMetric:r,hasMetric:a,getTableId:i,getMetric:l,addMetricListener:(e,s)=>h(s,t,[e]),delListener:e=>(w(e),L),destroy:f,getListenerStats:()=>({})};return ve(L)})),De=(e,t,s,o,r)=>{let a,i=0;const l={load:async s=>{if(2!=i){i=1;const o=await t();z(o)||o==n?e.setTables(s):e.setJson(o),i=0}return l},startAutoLoad:async e=>(l.stopAutoLoad(),await l.load(e),o(l.load),l),stopAutoLoad:()=>(r(),l),save:async()=>(1!=i&&(i=2,await s(e.getJson()),i=0),l),startAutoSave:async()=>(await l.stopAutoSave().save(),a=e.addTablesListener((()=>l.save())),l),stopAutoSave:()=>(N(a,e.delListener),l),getStore:()=>e,destroy:()=>l.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ve(l)},Ae="storage",Fe=globalThis.window,Pe=(e,t,s)=>{let n;return De(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},Fe.addEventListener(Ae,n)}),(()=>{Fe.removeEventListener(Ae,n),n=void 0}))},Je=e=>e.headers.get("ETag"),Qe=ue((e=>{const t=e.createStore,[s,o,r,a,i,,,l,,c,d,v,R]=ce(e,(()=>!0),_),y=t(),S=t(),b=X(),C=(e,t,...s)=>T(s,(s=>le(se(se(b,t,X),e,ie),s))),k=e=>{N(Z(b,e),(e=>{ee(e,((e,t)=>U(t,(t=>e.delListener(t))))),K(e)})),T([S,y],(t=>t.delTable(e)))},D=(e,t,s)=>C(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),A={setQueryDefinition:(t,s,o)=>{l(t,s),k(t);const r=[],a=[[null,[s,null,null,[],X()]]],i=[],c=[],d=[];o({select:(e,t)=>{const s=B(e)?[m(r)+n,e]:[z(t)?e:t,s=>s(e,t)];return x(r,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=z(s)||B(t)?null:t,o=z(n)?t:s,r=[e,[e,n,B(o)?o:e=>e(o),[],X()]];return x(a,r),{as:e=>r[0]=e}},where:(e,t,s)=>x(i,B(e)?e:z(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const r=[e,[e,B(t)?[t,s,n,o]:Z(ke,t)??[(e,t)=>t]]];return x(c,r),{as:e=>r[0]=e}},having:(e,t)=>x(d,B(e)?e:s=>s(e)===t)});const u=X(r);if($(u))return A;const f=X(a);ee(f,((e,[,t])=>N(Z(f,t),(({3:t})=>z(e)?0:x(t,e)))));const h=X(c);let g=y;if($(h)&&E(d))g=S;else{D(t,g,S);const e=X();ee(h,((t,[s,n])=>le(se(e,s,ie),[t,n])));const s=ie();ee(u,(t=>H(e,t)?0:le(s,t)));const n=X(),o=(s,n,o,r)=>N(s,(([a,i,l,c])=>{ee(n,((t,[s])=>{const n=se(a,t,X),i=Z(n,o),l=r?void 0:s;if(i!==l){const s=ie([[i,l]]),r=q(n);te(n,o,l),U(Z(e,t),(([e,t])=>{const o=Me(c[e],r,n,s,t);c[e]=z(Te(o))?null:o}))}})),$(i)||!I(d,(e=>e((e=>c[e]))))?S.delRow(t,l):z(l)?s[2]=S.addRow(t,c):S.setRow(t,l,c)}));C(g,t,g.addRowListener(t,null,((r,a,i,l)=>{const c=[],d=[],u=X(),f=g.hasRow(t,i);let h=!f;U(s,(e=>{const[s,n,o]=l(t,i,e);x(c,n),x(d,o),h||=s})),ee(e,(e=>{const[s,,n]=l(t,i,e);(h||s)&&te(u,e,[n])})),h&&o(ae(n,c,void 0,(([,e])=>(V(e,i),$(e)))),u,i,1),f&&o(ae(n,d,(()=>{const e={};return U(s,(s=>e[s]=g.getCell(t,i,s))),[X(),ie(),void 0,e]}),(([,e])=>{le(e,i)})),u,i)})))}D(t,e,g);const w=(n,o,r,a)=>{const l=t=>e.getCell(o,r,t);T(a,(s=>{const[o,,r,a,i]=Z(f,s),c=r?.(l,n),[d,u]=Z(i,n)??[];c!=d&&(z(u)||R(t,u),te(i,n,z(c)?null:[c,...v(t,1,e.addRowListener(o,c,(()=>w(n,o,c,a))))]))})),(n=>{const o=(t,o)=>e.getCell(...z(o)?[s,n,t]:t===s?[s,n,o]:[Z(f,t)?.[0],Z(Z(f,t)?.[4],n)?.[0],o]);g.transaction((()=>I(i,(e=>e(o)))?ee(u,((e,s)=>be(g,t,n,e,s(o,n)))):g.delRow(t,n)))})(n)},{3:L}=Z(f,null);return g.transaction((()=>v(t,1,e.addRowListener(s,null,((n,o,r)=>{e.hasRow(s,r)?w(r,s,r,L):(g.delRow(t,r),U(f,(({4:e})=>N(Z(e,r),(([,s])=>{R(t,s),te(e,r)})))))}))))),A},delQueryDefinition:e=>(k(e),c(e),A),getStore:s,getQueryIds:o,forEachQuery:r,hasQuery:a,getTableId:i,delListener:e=>(S.delListener(e),A),destroy:d,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=S.getListenerStats();return n}};return ye({[g]:[1,1],[w]:[0,1],SortedRowIds:[0,5],Row:[1,2],[L]:[0,2],[p]:[1,3]},(([e,t],s)=>{T(e?["get","has","forEach"]:["get"],(e=>A[e+f+s]=(...t)=>S[e+s](...t))),A[h+f+s+u]=(...e)=>S[h+s+u](...M(e,0,t),((s,...n)=>e[t](A,...n)))})),ve(A)})),je=ue((e=>{const t=X(),s=X(),o=X(),r=X(),[a,i,l,c,d,u,,,f,h,g]=ce(e,(()=>[X(),X(),X(),X()]),(e=>z(e)?void 0:e+n)),[w,L,p]=ge((()=>y)),v=(e,t,s)=>N(u(e),(([n,,o])=>{if(!H(o,t)){const r=ie();if(d(e)!=I(e))le(r,t);else{let e=t;for(;!z(e)&&!H(r,e);)le(r,e),e=Z(n,e)}if(s)return r;te(o,t,r)}return Z(o,t)})),R=(e,t)=>N(u(e),(([,,e])=>te(e,t))),I=e=>Z(t,e),y={setRelationshipDefinition:(e,n,a,i)=>(te(t,e,a),f(e,n,((t,n)=>{const a=ie(),i=ie(),l=ie(),[c,d]=u(e);U(n,(([t,s],n)=>{z(t)||(le(i,t),N(Z(d,t),(e=>{V(e,n),$(e)&&te(d,t)}))),z(s)||(le(i,s),H(d,s)||te(d,s,ie()),le(Z(d,s),n)),le(a,n),te(c,n,s),ee(Z(r,e),(t=>{H(v(e,t),n)&&le(l,t)}))})),t(),U(a,(t=>L(s,[e,t]))),U(i,(t=>L(o,[e,t]))),U(l,(t=>{R(e,t),L(r,[e,t])}))}),de(i)),y),delRelationshipDefinition:e=>(te(t,e),h(e),y),getStore:a,getRelationshipIds:i,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:I,getRemoteRowId:(e,t)=>Z(u(e)?.[0],t),getLocalRowIds:(e,t)=>G(Z(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>z(u(e))?[t]:G(v(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>w(n,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>w(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(v(e,t),w(s,r,[e,t])),delListener:e=>(R(...p(e)),y),destroy:g,getListenerStats:()=>({})};return ve(y)})),Oe=e=>[e,e],ze=()=>[X(),X()],Ne=(e,t,s,n=te)=>{const o=(r=Y(e),a=e=>!Re(t,e),r.filter(a));var r,a;return T(Le(t),(n=>s(e,n,t[n]))),T(o,(t=>n(e,t))),e},We=(e,t,s)=>z(e)||!(e=>O(e,we)&&e.constructor==we)(e)||Se(e)||pe(e)?(s?.(),!1):(ye(e,((s,n)=>{t(s,n)||Ie(e,n)})),!Se(e)),Be=(e,t,s)=>te(e,t,Z(e,t)==-s?void 0:s),_e=()=>{let e,t,s=0;const n=X(),o=X(),r=X(),i=X(),d=X(),f=X(),y=X(),C=X(),E=X(),k=ze(),D=ze(),A=ze(),J=ze(),Q=ze(),j=ze(),O=ze(),_=ze(),q=ze(),G=ze(),[ae,ce,de,ue]=ge((()=>dt)),fe=(t,s)=>(!e||H(f,s)||Ge(s))&&We(t,((e,t)=>we(s,t,e)),(()=>Ge(s))),we=(e,t,s,n)=>We(n?s:pe(s,e,t),((n,o)=>N(Le(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>Ge(e,t))),Le=(t,s,n,o)=>e?N(Z(Z(f,t),n),(e=>Te(o)!=e.type?Ge(t,s,n,o,e.default):o),(()=>Ge(t,s,n,o))):z(Te(o))?Ge(t,s,n,o):o,pe=(e,t,s)=>(N(Z(y,t),(([n,o])=>{U(n,((t,s)=>{Re(e,s)||(e[s]=t)})),U(o,(n=>{Re(e,n)||Ge(t,s,n)}))})),e),Ce=e=>Ne(f,e,((e,t,s)=>{const n=X(),o=ie();Ne(se(f,t,X),s,((e,t,s)=>{te(e,t,s),N(s.default,(e=>te(n,t,e)),(()=>le(o,t)))})),te(y,t,[n,o])}),((e,t)=>{te(f,t),te(y,t)})),Ee=e=>Ne(E,e,((e,t,s)=>ke(t,s)),((e,t)=>Pe(t))),ke=(e,t)=>Ne(se(E,e,(()=>(je(e,1),X()))),t,((t,s,n)=>Me(e,t,s,n)),((t,s)=>Je(e,t,s))),Me=(e,t,s,n,o)=>Ne(se(t,s,(()=>(qe(e,s,1),X()))),n,((t,n,o)=>xe(e,s,t,n,o)),((n,r)=>Qe(e,t,s,n,r,o))),xe=(e,t,s,n,o)=>{H(s,n)||He(e,t,n,1);const r=Z(s,n);o!==r&&($e(e,t,n,r,o),te(s,n,o))},De=(e,t,s,n,o)=>N(Z(t,s),(t=>xe(e,s,t,n,o)),(()=>Me(e,t,s,pe({[n]:o},e,s)))),Ae=e=>{const[t]=se(C,e,he),s=t();return H(Z(E,e),s)?Ae(e):s},Fe=e=>Z(E,e)??ke(e,{}),Pe=e=>ke(e,{}),Je=(e,t,s)=>{const[,n]=se(C,e,he);n(s),Me(e,t,s,{},!0)},Qe=(e,t,s,n,o,r)=>{const a=Z(Z(y,e)?.[0],o);if(!z(a)&&!r)return xe(e,s,n,o,a);const i=t=>{$e(e,s,t,Z(n,t)),He(e,s,t,-1),te(n,t)};z(a)?i(o):ee(n,i),$(n)&&(qe(e,s,-1),$(te(t,s))&&(je(e,-1),te(E,e)))},je=(e,t)=>Be(n,e,t),qe=(e,t,s)=>Be(se(o,e,X),t,s),He=(e,t,s,n)=>Be(se(se(r,e,X),t,X),s,n),$e=(e,t,s,n,o)=>se(se(se(i,e,X),t,X),s,(()=>[n,0]))[1]=o,Ge=(e,t,s,n,o)=>(x(se(se(se(d,e,X),t,X),s,(()=>[])),n),o),Ke=(e,t,s)=>N(Z(Z(Z(i,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Oe(ot(e,t,s))])),Ue=e=>$(d)||$(q[e])?0:U(e?oe(d,re):d,((t,s)=>U(t,((t,n)=>U(t,((t,o)=>ce(q[e],[s,n,o],t))))))),Ve=(e,t,s)=>{if(!$(t))return ce(e,s),1},Xe=e=>{const t=$(Q[e]),s=$(O[e])&&$(J[e])&&t&&$(D[e]),a=$(_[e])&&$(j[e])&&$(A[e])&&$(k[e]);if(!s||!a){const l=e?[oe(n),re(o),oe(r,re),oe(i,re)]:[n,o,r,i];if(!s){U(l[2],((t,s)=>U(t,((t,n)=>Ve(O[e],t,[s,n])))));const s=ie();U(l[1],((n,o)=>{Ve(J[e],n,[o])&&!t&&(ce(Q[e],[o,null]),le(s,o))})),t||U(l[3],((t,n)=>{if(!H(s,n)){const s=ie();U(t,(e=>U(e,(([t,n],o)=>n!==t?le(s,o):V(e,o))))),U(s,(t=>ce(Q[e],[n,t])))}})),Ve(D[e],l[0])}if(!a){let t;U(l[3],((s,n)=>{let o;U(s,((s,r)=>{let a;U(s,(([s,i],l)=>{i!==s&&(ce(_[e],[n,r,l],i,s,Ke),t=o=a=1)})),a&&ce(j[e],[n,r],Ke)})),o&&ce(A[e],[n],Ke)})),t&&ce(k[e],void 0,Ke)}}},Ye=(e,...t)=>(it((()=>e(...b(t,v)))),dt),Ze=()=>ne(E,(e=>ne(e,ne))),et=()=>Y(E),tt=e=>Y(Z(E,v(e))),st=(e,t,s,n=0,o)=>{const r=[];return ee(Z(E,v(e)),((e,s)=>x(r,[z(t)?e:Z(s,v(t)),e]))),b(M(S(r,(([e],[t])=>me(e,t)*(s?-1:1))),n,z(o)?o:n+o),(([,e])=>e))},nt=(e,t)=>Y(Z(Z(E,v(e)),v(t))),ot=(e,t,s)=>Z(Z(Z(E,v(e)),v(t)),v(s)),rt=e=>Ye((()=>(e=>We(e,fe,Ge))(e)?Ee(e):0)),at=()=>Ye((()=>Ee({}))),it=(e,t)=>{if(-1==s)return;lt();const n=e?.();return ct(t),n},lt=()=>(s++,dt),ct=e=>(s>0&&(s--,0==s&&(t=!$(i),s=1,Ue(1),t&&Xe(1),s=-1,e?.(ne(i,(e=>ne(e,(e=>ne(e,(e=>[...e]),(([e,t])=>e===t))),Se)),Se),ne(d,(e=>ne(e,ne))))&&(s=1,U(i,((e,t)=>U(e,((e,s)=>U(e,(([e],n)=>be(dt,t,s,n,e))))))),s=-1,t=!1),ce(G[0],void 0,t),Ue(0),t&&Xe(0),ce(G[1],void 0,t),s=0,T([i,d,n,o,r],K))),dt),dt={getTables:Ze,getTableIds:et,getTable:e=>ne(Z(E,v(e)),ne),getRowIds:tt,getSortedRowIds:st,getRow:(e,t)=>ne(Z(Z(E,v(e)),v(t))),getCellIds:nt,getCell:ot,hasTables:()=>!$(E),hasTable:e=>H(E,v(e)),hasRow:(e,t)=>H(Z(E,v(e)),v(t)),hasCell:(e,t,s)=>H(Z(Z(E,v(e)),v(t)),v(s)),getJson:()=>F(E),getSchemaJson:()=>F(f),setTables:rt,setTable:(e,t)=>Ye((e=>fe(t,e)?ke(e,t):0),e),setRow:(e,t,s)=>Ye(((e,t)=>we(v(e),v(t),s)?Me(v(e),Fe(v(e)),v(t),s):0),e,t),addRow:(e,t)=>it((()=>{let s;return we(e,s,t)&&(e=v(e),Me(e,Fe(e),s=Ae(e),t)),s})),setPartialRow:(e,t,s)=>Ye(((e,t)=>{if(we(e,t,s,1)){const n=Fe(e);ye(s,((s,o)=>De(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Ye(((e,t,s)=>N(Le(e,t,s,B(n)?n(ot(e,t,s)):n),(n=>De(e,Fe(e),t,s,n)))),e,t,s),setJson:e=>{try{"{}"===e?at():rt(P(e))}catch{}return dt},setSchema:t=>Ye((()=>{if((e=(e=>We(e,(e=>We(e,(e=>{if(!We(e,((e,t)=>R([l,c],t))))return!1;const t=e.type;return!(!W(t)&&t!=a||(Te(e.default)!=t&&Ie(e,c),0))})))))(t))&&(Ce(t),!$(E))){const e=Ze();at(),rt(e)}})),delTables:at,delTable:e=>Ye((e=>H(E,e)?Pe(e):0),e),delRow:(e,t)=>Ye(((e,t)=>N(Z(E,e),(s=>H(s,t)?Je(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Ye(((e,t,s)=>N(Z(E,e),(o=>N(Z(o,t),(r=>H(r,s)?Qe(e,o,t,r,s,n):0))))),e,t,s),delSchema:()=>Ye((()=>{Ce({}),e=!1})),transaction:it,startTransaction:lt,finishTransaction:ct,forEachTable:e=>U(E,((t,s)=>e(s,(e=>U(t,((t,s)=>e(s,(e=>ee(t,e))))))))),forEachRow:(e,t)=>U(Z(E,v(e)),((e,s)=>t(s,(t=>ee(e,t))))),forEachCell:(e,t,s)=>ee(Z(Z(E,v(e)),v(t)),s),addSortedRowIdsListener:(e,t,s,n,o,r,a)=>{let i=st(e,t,s,n,o);return ae((()=>{const a=st(e,t,s,n,o);var l,c;c=i,m(l=a)===m(c)&&I(l,((e,t)=>c[t]===e))||(i=a,r(dt,e,t,s,n,o,i))}),Q[a?1:0],[e,t])},addWillFinishTransactionListener:e=>ae(e,G[0]),addDidFinishTransactionListener:e=>ae(e,G[1]),callListener:e=>(ue(e,[et,tt,nt],(e=>z(e[2])?[]:Oe(ot(...e)))),dt),delListener:e=>(de(e),dt),getListenerStats:()=>({}),createStore:_e};return ye({Tables:[0,k],TableIds:[0,D],[g]:[1,A],[w]:[1,J],Row:[2,j],[L]:[2,O],[p]:[3,_],InvalidCell:[3,q]},(([e,t],s)=>{dt[h+s+u]=(...s)=>ae(s[e],t[s[e+1]?1:0],e>0?M(s,0,e):void 0)})),ve(dt)};e.createCheckpoints=Ce,e.createCustomPersister=De,e.createFilePersister=(e,s)=>{let n;return De(e,(async()=>{try{return await t.promises.readFile(s,d)}catch{}}),(async e=>{try{await t.promises.writeFile(s,e,d)}catch{}}),(e=>{n=t.watch(s,e)}),(()=>{n?.close(),n=void 0}))},e.createIndexes=Ee,e.createLocalPersister=(e,t)=>Pe(e,t,localStorage),e.createMetrics=xe,e.createQueries=Qe,e.createRelationships=je,e.createRemotePersister=(e,t,s,n)=>{let o,r;return De(e,(async()=>{const e=await fetch(t);return r=Je(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{o=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),n=Je(s);z(r)||z(n)||n==r||(r=n,e())}),1e3*n)}),(()=>{N(o,clearInterval),o=void 0}))},e.createSessionPersister=(e,t)=>Pe(e,t,sessionStorage),e.createStore=_e,e.defaultSorter=me,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs")):"function"==typeof define&&define.amd?define(["exports","fs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={},e.fs);
|
|
1
|
+
var e,t;e=this,t=function(e,t){"use strict";const s=e=>typeof e,n="",o=s(n),r=s(!0),a=s(0),i=s(s),l="type",c="default",d="utf8",u="Listener",f="Result",h="add",g="Table",w="RowIds",L="CellIds",p="Cell",R=e=>n+e,v=(e,t)=>e.includes(t),y=(e,t)=>e.every(t),I=(e,t)=>E(e)===E(t)&&y(e,((e,s)=>t[s]===e)),S=(e,t)=>y(e,((s,n)=>0==n||t(e[n-1],s)<=0)),T=(e,t)=>e.sort(t),b=(e,t)=>e.forEach(t),C=(e,t)=>e.map(t),m=e=>M(e,((e,t)=>e+t),0),E=e=>e.length,k=e=>0==E(e),M=(e,t,s)=>e.reduce(t,s),x=(e,t,s)=>e.slice(t,s),A=(e,...t)=>e.push(...t),D=e=>e.pop(),F=e=>e.shift(),P=e=>JSON.stringify(e,((e,t)=>z(t,Map)?M([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),J=JSON.parse,Q=Math.max,j=Math.min,O=isFinite,z=(e,t)=>e instanceof t,N=e=>null==e,W=(e,t,s)=>N(e)?s?.():t(e),B=e=>e==o||e==r,_=e=>s(e)==i,q=e=>Array.isArray(e),H=()=>{},$=e=>e.size,G=(e,t)=>e?.has(t)??!1,K=e=>N(e)||0==$(e),U=e=>[...e?.values()??[]],V=e=>e.clear(),X=(e,t)=>e?.forEach(t),Y=(e,t)=>e?.delete(t),Z=e=>new Map(e),ee=e=>[...e?.keys()??[]],te=(e,t)=>e?.get(t),se=(e,t)=>X(e,((e,s)=>t(s,e))),ne=(e,t,s)=>N(s)?(Y(e,t),e):e?.set(t,s),oe=(e,t,s)=>(G(e,t)||ne(e,t,s()),te(e,t)),re=(e,t,s)=>{const n={},o=t??(e=>e);return X(e,((e,t)=>W(o(e),(e=>s?.(e)?0:n[t]=e)))),n},ae=(e,t)=>{const s=Z(),n=t??(e=>e);return X(e,((e,t)=>s.set(t,n(e)))),s},ie=e=>ae(e,ae),le=(e,t,s,n,o=0)=>W((s?oe:te)(e,t[o],o>E(t)-2?s:Z),(r=>{if(o>E(t)-2)return n?.(r)&&ne(e,t[o]),r;const a=le(r,t,s,n,o+1);return K(r)&&ne(e,t[o]),a})),ce=e=>new Set(q(e)||N(e)?e:[e]),de=(e,t)=>e?.add(t),ue=(e,t,s)=>{const n=e.hasRow,o=Z(),r=Z(),a=Z(),i=Z(),l=Z(),c=(t,s,...n)=>{const o=oe(l,t,ce);return b(n,(t=>de(o,t)&&s&&e.callListener(t))),n},d=(t,...s)=>W(te(l,t),(n=>{b(k(s)?U(n):s,(t=>{e.delListener(t),Y(n,t)})),K(n)&&ne(l,t)})),u=(e,s)=>{ne(o,e,s),G(r,e)||(ne(r,e,t()),ne(a,e,Z()),ne(i,e,Z()))},f=e=>{ne(o,e),ne(r,e),ne(a,e),ne(i,e),d(e)};return[()=>e,()=>ee(o),e=>se(r,e),e=>G(r,e),e=>te(o,e),e=>te(r,e),(e,t)=>ne(r,e,t),u,(t,o,r,l,f)=>{u(t,o);const h=Z(),g=Z(),w=te(a,t),L=te(i,t),p=t=>{const r=s=>e.getCell(o,t,s),a=te(w,t),i=n(o,t)?s(l(r,t)):void 0;if(a===i||q(a)&&q(i)&&I(a,i)||ne(h,t,[a,i]),!N(f)){const e=te(L,t),s=n(o,t)?f(r,t):void 0;e!=s&&ne(g,t,s)}},R=e=>{r((()=>{X(h,(([,e],t)=>ne(w,t,e))),X(g,((e,t)=>ne(L,t,e)))}),h,g,w,L,e),V(h),V(g)};se(w,p),e.hasTable(o)&&b(e.getRowIds(o),(e=>{G(w,e)||p(e)})),R(!0),d(t),c(t,0,e.addRowListener(o,null,((e,t,s)=>p(s))),e.addTableListener(o,(()=>R())))},f,()=>se(l,f),c,d]},fe=(e,t)=>s(e)==o?t=>t(e):e??(()=>t??n),he=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},ge=/^\d+$/,we=()=>{const e=[];let t=0;return[()=>F(e)??n+t++,t=>{ge.test(t)&&E(e)<1e3&&A(e,t)}]},Le=e=>{let t;const[s,o]=we(),r=Z();return[(o,a,i)=>{t??=e();const l=s();return ne(r,l,[o,a,i]),de(le(a,i??[n],ce),l),l},(e,s,...o)=>b(((e,t=[n])=>{const s=[],o=(e,n)=>n==E(t)?A(s,e):null===t[n]?X(e,(e=>o(e,n+1))):b([t[n],null],(t=>o(te(e,t),n+1)));return o(e,0),s})(e,s),(e=>X(e,(e=>te(r,e)[0](t,...s??[],...o))))),e=>W(te(r,e),(([,t,s])=>(le(t,s??[n],void 0,(t=>(Y(t,e),K(t)?1:0))),ne(r,e),o(e),s))),(e,s,n)=>W(te(r,e),(([e,,o=[]])=>{const r=(...a)=>{const i=E(a);i==E(o)?e(t,...a,...n(a)):N(o[i])?b(s[i](...a),(e=>r(...a,e))):r(...a,o[i])};r()}))]},pe=Object,Re=pe.keys,ve=pe.isFrozen,ye=pe.freeze,Ie=(e,t)=>!N(((e,t)=>W(e,(e=>e[t])))(e,t)),Se=(e,t)=>delete e[t],Te=(e,t)=>b(pe.entries(e),(([e,s])=>t(s,e))),be=e=>k(Re(e)),Ce=e=>{const t=s(e);return B(t)||t==a&&O(e)?t:void 0},me=(e,t,s,n,o)=>N(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),Ee=he((e=>{let t,s,o,r=100,a=Z(),i=1;const l=Z(),c=Z(),[d,u,f]=Le((()=>Q)),h=Z(),g=Z(),w=[],L=[],p=(t,s)=>{i=0,e.transaction((()=>X(te(h,s),((s,n)=>X(s,((s,o)=>X(s,((s,r)=>me(e,n,o,r,s[t]))))))))),i=1},R=e=>{ne(h,e),ne(g,e),u(c,[e])},y=(e,t)=>b(((e,t)=>e.splice(0,t))(e,t??E(e)),R),I=()=>y(w,E(w)-r),S=e.addCellListener(null,null,null,((e,s,n,r,l,c)=>{if(i){W(t,(()=>{A(w,t),I(),y(L),t=void 0,o=1}));const e=oe(a,s,Z),i=oe(e,n,Z),d=oe(i,r,(()=>[c,void 0]));d[1]=l,d[0]===l&&K(ne(i,r))&&K(ne(e,n))&&K(ne(a,s))&&(t=D(w),o=1),M()}})),T=(e="")=>(N(t)&&(t=n+s++,ne(h,t,a),P(t,e),a=Z(),o=1),t),C=()=>{k(w)||(L.unshift(T()),p(0,t),t=D(w),o=1)},m=()=>{k(L)||(A(w,t),t=F(L),p(1,t),o=1)},M=()=>{o&&(u(l),o=0)},x=e=>{const t=T(e);return M(),t},P=(e,t)=>(J(e)&&te(g,e)!==t&&(ne(g,e,t),u(c,[e])),Q),J=e=>G(h,e),Q={setSize:e=>(r=e,I(),Q),addCheckpoint:x,setCheckpoint:P,getStore:()=>e,getCheckpointIds:()=>[[...w],t,[...L]],forEachCheckpoint:e=>se(g,e),hasCheckpoint:J,getCheckpoint:e=>te(g,e),goBackward:()=>(C(),M(),Q),goForward:()=>(m(),M(),Q),goTo:e=>{const s=v(w,e)?C:v(L,e)?m:null;for(;!N(s)&&e!=t;)s();return M(),Q},addCheckpointIdsListener:e=>d(e,l),addCheckpointListener:(e,t)=>d(t,c,[e]),delListener:e=>(f(e),Q),clear:()=>(y(w),y(L),N(t)||R(t),t=void 0,s=0,x(),Q),destroy:()=>{e.delListener(S)},getListenerStats:()=>({})};return ye(Q.clear())})),ke=(e,t)=>e<t?-1:1,Me=he((e=>{const t=Z(),s=Z(),[o,r,a,i,l,c,d,,u,f,h]=ue(e,Z,(e=>N(e)?n:q(e)?C(e,R):R(e))),[g,w,L]=Le((()=>v)),p=(t,s,n)=>{const o=l(t);X(n,((t,n)=>s(n,(s=>X(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},v={setIndexDefinition:(e,n,o,r,a,i=ke)=>{const l=N(a)?void 0:([e],[t])=>a(e,t);return u(e,n,((n,o,a,u,f,h)=>{let g=0;const L=ce(),p=ce(),R=c(e);if(X(o,(([e,t],s)=>{const n=ce(e),o=ce(t);X(n,(e=>Y(o,e)?Y(n,e):0)),X(n,(e=>{de(L,e),W(te(R,e),(t=>{Y(t,s),K(t)&&(ne(R,e),g=1)}))})),X(o,(e=>{de(L,e),G(R,e)||(ne(R,e,ce()),g=1),de(te(R,e),s),N(r)||de(p,e)}))})),n(),K(f)||(h?se(R,(e=>de(p,e))):se(a,(e=>W(te(u,e),(e=>de(p,e))))),X(p,(e=>{const t=(t,s)=>i(te(f,t),te(f,s),e),s=[...te(R,e)];S(s,t)||(ne(R,e,ce(T(s,t))),de(L,e))}))),(g||h)&&!N(l)){const t=[...R];S(t,l)||(d(e,Z(T(t,l))),g=1)}g&&w(t,[e]),X(L,(t=>w(s,[e,t])))}),fe(o),W(r,fe)),v},delIndexDefinition:e=>(f(e),v),getStore:o,getIndexIds:r,forEachIndex:e=>a(((t,s)=>e(t,(e=>p(t,e,s))))),forEachSlice:(e,t)=>p(e,t,c(e)),hasIndex:i,hasSlice:(e,t)=>G(c(e),t),getTableId:l,getSliceIds:e=>ee(c(e)),getSliceRowIds:(e,t)=>U(te(c(e),t)),addSliceIdsListener:(e,s)=>g(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>g(n,s,[e,t]),delListener:e=>(L(e),v),destroy:h,getListenerStats:()=>({})};return ye(v)})),xe=Z([["avg",[(e,t)=>m(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>Q(...e),(e,t)=>Q(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:Q(t,e)]],["min",[e=>j(...e),(e,t)=>j(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:j(t,e)]],["sum",[e=>m(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Ae=(e,t,s,n,o,r=!1)=>{if(K(s))return;const[a,i,l,c]=o;return r||=N(e),X(n,(([s,n])=>{r||(e=N(s)?i?.(e,n,t++):N(n)?l?.(e,s,t--):c?.(e,n,s,t),r||=N(e))})),r?a(U(s),$(s)):e},De=he((e=>{const t=Z(),[s,o,r,a,i,l,c,,d,u,f]=ue(e,H,(e=>isNaN(e)||N(e)||!0===e||!1===e||e===n?void 0:1*e)),[h,g,w]=Le((()=>L)),L={setMetricDefinition:(e,s,n,o,r,a,i)=>{const u=_(n)?[n,r,a,i]:te(xe,n)??te(xe,"sum");return d(e,s,((s,n,o,r,a,i)=>{const d=l(e),f=$(r);i||=N(d),s();let h=Ae(d,f,r,n,u,i);O(h)||(h=void 0),h!=d&&(c(e,h),g(t,[e],h,d))}),fe(o,1)),L},delMetricDefinition:e=>(u(e),L),getStore:s,getMetricIds:o,forEachMetric:r,hasMetric:a,getTableId:i,getMetric:l,addMetricListener:(e,s)=>h(s,t,[e]),delListener:e=>(w(e),L),destroy:f,getListenerStats:()=>({})};return ye(L)})),Fe=(e,t,s,o,r)=>{let a,i=0;const l={load:async s=>{if(2!=i){i=1;const o=await t();N(o)||o==n?e.setTables(s):e.setJson(o),i=0}return l},startAutoLoad:async e=>(l.stopAutoLoad(),await l.load(e),o(l.load),l),stopAutoLoad:()=>(r(),l),save:async()=>(1!=i&&(i=2,await s(e.getJson()),i=0),l),startAutoSave:async()=>(await l.stopAutoSave().save(),a=e.addTablesListener((()=>l.save())),l),stopAutoSave:()=>(W(a,e.delListener),l),getStore:()=>e,destroy:()=>l.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ye(l)},Pe="storage",Je=globalThis.window,Qe=(e,t,s)=>{let n;return Fe(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},Je.addEventListener(Pe,n)}),(()=>{Je.removeEventListener(Pe,n),n=void 0}))},je=e=>e.headers.get("ETag"),Oe=he((e=>{const t=e.createStore,[s,o,r,a,i,,,l,,c,d,R,v]=ue(e,(()=>!0),H),I=t(),S=t(),T=Z(),C=(e,t,...s)=>b(s,(s=>de(oe(oe(T,t,Z),e,ce),s))),m=e=>{W(te(T,e),(e=>{se(e,((e,t)=>X(t,(t=>e.delListener(t))))),V(e)})),b([S,I],(t=>t.delTable(e)))},M=(e,t,s)=>C(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),D={setQueryDefinition:(t,s,o)=>{l(t,s),m(t);const r=[],a=[[null,[s,null,null,[],Z()]]],i=[],c=[],d=[];o({select:(e,t)=>{const s=_(e)?[E(r)+n,e]:[N(t)?e:t,s=>s(e,t)];return A(r,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=N(s)||_(t)?null:t,o=N(n)?t:s,r=[e,[e,n,_(o)?o:e=>e(o),[],Z()]];return A(a,r),{as:e=>r[0]=e}},where:(e,t,s)=>A(i,_(e)?e:N(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const r=[e,[e,_(t)?[t,s,n,o]:te(xe,t)??[(e,t)=>t]]];return A(c,r),{as:e=>r[0]=e}},having:(e,t)=>A(d,_(e)?e:s=>s(e)===t)});const u=Z(r);if(K(u))return D;const f=Z(a);se(f,((e,[,t])=>W(te(f,t),(({3:t})=>N(e)?0:A(t,e)))));const h=Z(c);let g=I;if(K(h)&&k(d))g=S;else{M(t,g,S);const e=Z();se(h,((t,[s,n])=>de(oe(e,s,ce),[t,n])));const s=ce();se(u,(t=>G(e,t)?0:de(s,t)));const n=Z(),o=(s,n,o,r)=>W(s,(([a,i,l,c])=>{se(n,((t,[s])=>{const n=oe(a,t,Z),i=te(n,o),l=r?void 0:s;if(i!==l){const s=ce([[i,l]]),r=$(n);ne(n,o,l),X(te(e,t),(([e,t])=>{const o=Ae(c[e],r,n,s,t);c[e]=N(Ce(o))?null:o}))}})),K(i)||!y(d,(e=>e((e=>c[e]))))?S.delRow(t,l):N(l)?s[2]=S.addRow(t,c):S.setRow(t,l,c)}));C(g,t,g.addRowListener(t,null,((r,a,i,l)=>{const c=[],d=[],u=Z(),f=g.hasRow(t,i);let h=!f;X(s,(e=>{const[s,n,o]=l(t,i,e);A(c,n),A(d,o),h||=s})),se(e,(e=>{const[s,,n]=l(t,i,e);(h||s)&&ne(u,e,[n])})),h&&o(le(n,c,void 0,(([,e])=>(Y(e,i),K(e)))),u,i,1),f&&o(le(n,d,(()=>{const e={};return X(s,(s=>e[s]=g.getCell(t,i,s))),[Z(),ce(),void 0,e]}),(([,e])=>{de(e,i)})),u,i)})))}M(t,e,g);const w=(n,o,r,a)=>{const l=t=>e.getCell(o,r,t);b(a,(s=>{const[o,,r,a,i]=te(f,s),c=r?.(l,n),[d,u]=te(i,n)??[];c!=d&&(N(u)||v(t,u),ne(i,n,N(c)?null:[c,...R(t,1,e.addRowListener(o,c,(()=>w(n,o,c,a))))]))})),(n=>{const o=(t,o)=>e.getCell(...N(o)?[s,n,t]:t===s?[s,n,o]:[te(f,t)?.[0],te(te(f,t)?.[4],n)?.[0],o]);g.transaction((()=>y(i,(e=>e(o)))?se(u,((e,s)=>me(g,t,n,e,s(o,n)))):g.delRow(t,n)))})(n)},{3:L}=te(f,null);return g.transaction((()=>R(t,1,e.addRowListener(s,null,((n,o,r)=>{e.hasRow(s,r)?w(r,s,r,L):(g.delRow(t,r),X(f,(({4:e})=>W(te(e,r),(([,s])=>{v(t,s),ne(e,r)})))))}))))),D},delQueryDefinition:e=>(m(e),c(e),D),getStore:s,getQueryIds:o,forEachQuery:r,hasQuery:a,getTableId:i,delListener:e=>(S.delListener(e),D),destroy:d,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=S.getListenerStats();return n}};return Te({[g]:[1,1],[w]:[0,1],SortedRowIds:[0,5],Row:[1,2],[L]:[0,2],[p]:[1,3]},(([e,t],s)=>{b(e?["get","has","forEach"]:["get"],(e=>D[e+f+s]=(...t)=>S[e+s](...t))),D[h+f+s+u]=(...e)=>S[h+s+u](...x(e,0,t),((s,...n)=>e[t](D,...n)))})),ye(D)})),ze=he((e=>{const t=Z(),s=Z(),o=Z(),r=Z(),[a,i,l,c,d,u,,,f,h,g]=ue(e,(()=>[Z(),Z(),Z(),Z()]),(e=>N(e)?void 0:e+n)),[w,L,p]=Le((()=>I)),R=(e,t,s)=>W(u(e),(([n,,o])=>{if(!G(o,t)){const r=ce();if(d(e)!=y(e))de(r,t);else{let e=t;for(;!N(e)&&!G(r,e);)de(r,e),e=te(n,e)}if(s)return r;ne(o,t,r)}return te(o,t)})),v=(e,t)=>W(u(e),(([,,e])=>ne(e,t))),y=e=>te(t,e),I={setRelationshipDefinition:(e,n,a,i)=>(ne(t,e,a),f(e,n,((t,n)=>{const a=ce(),i=ce(),l=ce(),[c,d]=u(e);X(n,(([t,s],n)=>{N(t)||(de(i,t),W(te(d,t),(e=>{Y(e,n),K(e)&&ne(d,t)}))),N(s)||(de(i,s),G(d,s)||ne(d,s,ce()),de(te(d,s),n)),de(a,n),ne(c,n,s),se(te(r,e),(t=>{G(R(e,t),n)&&de(l,t)}))})),t(),X(a,(t=>L(s,[e,t]))),X(i,(t=>L(o,[e,t]))),X(l,(t=>{v(e,t),L(r,[e,t])}))}),fe(i)),I),delRelationshipDefinition:e=>(ne(t,e),h(e),I),getStore:a,getRelationshipIds:i,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:y,getRemoteRowId:(e,t)=>te(u(e)?.[0],t),getLocalRowIds:(e,t)=>U(te(u(e)?.[1],t)),getLinkedRowIds:(e,t)=>N(u(e))?[t]:U(R(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>w(n,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>w(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(R(e,t),w(s,r,[e,t])),delListener:e=>(v(...p(e)),I),destroy:g,getListenerStats:()=>({})};return ye(I)})),Ne=e=>[e,e],We=()=>[Z(),Z()],Be=(e,t,s,n=ne)=>{const o=(r=ee(e),a=e=>!Ie(t,e),r.filter(a));var r,a;return b(Re(t),(n=>s(e,n,t[n]))),b(o,(t=>n(e,t))),e},_e=(e,t,s)=>N(e)||!(e=>z(e,pe)&&e.constructor==pe)(e)||be(e)||ve(e)?(s?.(),!1):(Te(e,((s,n)=>{t(s,n)||Se(e,n)})),!be(e)),qe=(e,t,s)=>ne(e,t,te(e,t)==-s?void 0:s),He=()=>{let e,t,s=0;const n=Z(),o=Z(),r=Z(),i=Z(),d=Z(),f=Z(),y=Z(),S=Z(),m=Z(),E=We(),k=We(),M=We(),D=We(),F=We(),Q=We(),j=We(),O=We(),z=We(),q=We(),[H,$,U,le]=Le((()=>ct)),ue=(t,s)=>(!e||G(f,s)||$e(s))&&_e(t,((e,t)=>fe(s,t,e)),(()=>$e(s))),fe=(e,t,s,n)=>_e(n?s:ge(s,e,t),((n,o)=>W(he(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>$e(e,t))),he=(t,s,n,o)=>e?W(te(te(f,t),n),(e=>Ce(o)!=e.type?$e(t,s,n,o,e.default):o),(()=>$e(t,s,n,o))):N(Ce(o))?$e(t,s,n,o):o,ge=(e,t,s)=>(W(te(y,t),(([n,o])=>{X(n,((t,s)=>{Ie(e,s)||(e[s]=t)})),X(o,(n=>{Ie(e,n)||$e(t,s,n)}))})),e),pe=e=>Be(f,e,((e,t,s)=>{const n=Z(),o=ce();Be(oe(f,t,Z),s,((e,t,s)=>{ne(e,t,s),W(s.default,(e=>ne(n,t,e)),(()=>de(o,t)))})),ne(y,t,[n,o])}),((e,t)=>{ne(f,t),ne(y,t)})),Re=e=>Be(m,e,((e,t,s)=>ve(t,s)),((e,t)=>Fe(t))),ve=(e,t)=>Be(oe(m,e,(()=>(Qe(e,1),Z()))),t,((t,s,n)=>Ee(e,t,s,n)),((t,s)=>Pe(e,t,s))),Ee=(e,t,s,n,o)=>Be(oe(t,s,(()=>(je(e,s,1),Z()))),n,((t,n,o)=>Me(e,s,t,n,o)),((n,r)=>Je(e,t,s,n,r,o))),Me=(e,t,s,n,o)=>{G(s,n)||Oe(e,t,n,1);const r=te(s,n);o!==r&&(ze(e,t,n,r,o),ne(s,n,o))},xe=(e,t,s,n,o)=>W(te(t,s),(t=>Me(e,s,t,n,o)),(()=>Ee(e,t,s,ge({[n]:o},e,s)))),Ae=e=>{const[t]=oe(S,e,we),s=t();return G(te(m,e),s)?Ae(e):s},De=e=>te(m,e)??ve(e,{}),Fe=e=>ve(e,{}),Pe=(e,t,s)=>{const[,n]=oe(S,e,we);n(s),Ee(e,t,s,{},!0)},Je=(e,t,s,n,o,r)=>{const a=te(te(y,e)?.[0],o);if(!N(a)&&!r)return Me(e,s,n,o,a);const i=t=>{ze(e,s,t,te(n,t)),Oe(e,s,t,-1),ne(n,t)};N(a)?i(o):se(n,i),K(n)&&(je(e,s,-1),K(ne(t,s))&&(Qe(e,-1),ne(m,e)))},Qe=(e,t)=>qe(n,e,t),je=(e,t,s)=>qe(oe(o,e,Z),t,s),Oe=(e,t,s,n)=>qe(oe(oe(r,e,Z),t,Z),s,n),ze=(e,t,s,n,o)=>oe(oe(oe(i,e,Z),t,Z),s,(()=>[n,0]))[1]=o,$e=(e,t,s,n,o)=>(A(oe(oe(oe(d,e,Z),t,Z),s,(()=>[])),n),o),Ge=(e,t,s)=>W(te(te(te(i,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...Ne(nt(e,t,s))])),Ke=e=>K(d)||K(z[e])?0:X(e?ae(d,ie):d,((t,s)=>X(t,((t,n)=>X(t,((t,o)=>$(z[e],[s,n,o],t))))))),Ue=(e,t,s)=>{if(!K(t))return $(e,s),1},Ve=e=>{const t=K(F[e]),s=K(j[e])&&K(D[e])&&t&&K(k[e]),a=K(O[e])&&K(Q[e])&&K(M[e])&&K(E[e]);if(!s||!a){const l=e?[ae(n),ie(o),ae(r,ie),ae(i,ie)]:[n,o,r,i];if(!s){X(l[2],((t,s)=>X(t,((t,n)=>Ue(j[e],t,[s,n])))));const s=ce();X(l[1],((n,o)=>{Ue(D[e],n,[o])&&!t&&($(F[e],[o,null]),de(s,o))})),t||X(l[3],((t,n)=>{if(!G(s,n)){const s=ce();X(t,(e=>X(e,(([t,n],o)=>n!==t?de(s,o):Y(e,o))))),X(s,(t=>$(F[e],[n,t])))}})),Ue(k[e],l[0])}if(!a){let t;X(l[3],((s,n)=>{let o;X(s,((s,r)=>{let a;X(s,(([s,i],l)=>{i!==s&&($(O[e],[n,r,l],i,s,Ge),t=o=a=1)})),a&&$(Q[e],[n,r],Ge)})),o&&$(M[e],[n],Ge)})),t&&$(E[e],void 0,Ge)}}},Xe=(e,...t)=>(at((()=>e(...C(t,R)))),ct),Ye=()=>re(m,(e=>re(e,re))),Ze=()=>ee(m),et=e=>ee(te(m,R(e))),tt=(e,t,s,n=0,o)=>{const r=[];return se(te(m,R(e)),((e,s)=>A(r,[N(t)?e:te(s,R(t)),e]))),C(x(T(r,(([e],[t])=>ke(e,t)*(s?-1:1))),n,N(o)?o:n+o),(([,e])=>e))},st=(e,t)=>ee(te(te(m,R(e)),R(t))),nt=(e,t,s)=>te(te(te(m,R(e)),R(t)),R(s)),ot=e=>Xe((()=>(e=>_e(e,ue,$e))(e)?Re(e):0)),rt=()=>Xe((()=>Re({}))),at=(e,t)=>{if(-1==s)return;it();const n=e?.();return lt(t),n},it=()=>(s++,ct),lt=e=>(s>0&&(s--,0==s&&(t=!K(i),s=1,Ke(1),t&&Ve(1),s=-1,e?.(re(i,(e=>re(e,(e=>re(e,(e=>[...e]),(([e,t])=>e===t))),be)),be),re(d,(e=>re(e,re))))&&(s=1,X(i,((e,t)=>X(e,((e,s)=>X(e,(([e],n)=>me(ct,t,s,n,e))))))),s=-1,t=!1),$(q[0],void 0,t),Ke(0),t&&Ve(0),$(q[1],void 0,t),s=0,b([i,d,n,o,r],V))),ct),ct={getTables:Ye,getTableIds:Ze,getTable:e=>re(te(m,R(e)),re),getRowIds:et,getSortedRowIds:tt,getRow:(e,t)=>re(te(te(m,R(e)),R(t))),getCellIds:st,getCell:nt,hasTables:()=>!K(m),hasTable:e=>G(m,R(e)),hasRow:(e,t)=>G(te(m,R(e)),R(t)),hasCell:(e,t,s)=>G(te(te(m,R(e)),R(t)),R(s)),getJson:()=>P(m),getSchemaJson:()=>P(f),setTables:ot,setTable:(e,t)=>Xe((e=>ue(t,e)?ve(e,t):0),e),setRow:(e,t,s)=>Xe(((e,t)=>fe(R(e),R(t),s)?Ee(R(e),De(R(e)),R(t),s):0),e,t),addRow:(e,t)=>at((()=>{let s;return fe(e,s,t)&&(e=R(e),Ee(e,De(e),s=Ae(e),t)),s})),setPartialRow:(e,t,s)=>Xe(((e,t)=>{if(fe(e,t,s,1)){const n=De(e);Te(s,((s,o)=>xe(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Xe(((e,t,s)=>W(he(e,t,s,_(n)?n(nt(e,t,s)):n),(n=>xe(e,De(e),t,s,n)))),e,t,s),setJson:e=>{try{"{}"===e?rt():ot(J(e))}catch{}return ct},setSchema:t=>Xe((()=>{if((e=(e=>_e(e,(e=>_e(e,(e=>{if(!_e(e,((e,t)=>v([l,c],t))))return!1;const t=e.type;return!(!B(t)&&t!=a||(Ce(e.default)!=t&&Se(e,c),0))})))))(t))&&(pe(t),!K(m))){const e=Ye();rt(),ot(e)}})),delTables:rt,delTable:e=>Xe((e=>G(m,e)?Fe(e):0),e),delRow:(e,t)=>Xe(((e,t)=>W(te(m,e),(s=>G(s,t)?Pe(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Xe(((e,t,s)=>W(te(m,e),(o=>W(te(o,t),(r=>G(r,s)?Je(e,o,t,r,s,n):0))))),e,t,s),delSchema:()=>Xe((()=>{pe({}),e=!1})),transaction:at,startTransaction:it,finishTransaction:lt,forEachTable:e=>X(m,((t,s)=>e(s,(e=>X(t,((t,s)=>e(s,(e=>se(t,e))))))))),forEachRow:(e,t)=>X(te(m,R(e)),((e,s)=>t(s,(t=>se(e,t))))),forEachCell:(e,t,s)=>se(te(te(m,R(e)),R(t)),s),addSortedRowIdsListener:(e,t,s,n,o,r,a)=>{let i=tt(e,t,s,n,o);return H((()=>{const a=tt(e,t,s,n,o);I(a,i)||(i=a,r(ct,e,t,s,n,o,i))}),F[a?1:0],[e,t])},addWillFinishTransactionListener:e=>H(e,q[0]),addDidFinishTransactionListener:e=>H(e,q[1]),callListener:e=>(le(e,[Ze,et,st],(e=>N(e[2])?[]:Ne(nt(...e)))),ct),delListener:e=>(U(e),ct),getListenerStats:()=>({}),createStore:He};return Te({Tables:[0,E],TableIds:[0,k],[g]:[1,M],[w]:[1,D],Row:[2,Q],[L]:[2,j],[p]:[3,O],InvalidCell:[3,z]},(([e,t],s)=>{ct[h+s+u]=(...s)=>H(s[e],t[s[e+1]?1:0],e>0?x(s,0,e):void 0)})),ye(ct)};e.createCheckpoints=Ee,e.createCustomPersister=Fe,e.createFilePersister=(e,s)=>{let n;return Fe(e,(async()=>{try{return await t.promises.readFile(s,d)}catch{}}),(async e=>{try{await t.promises.writeFile(s,e,d)}catch{}}),(e=>{n=t.watch(s,e)}),(()=>{n?.close(),n=void 0}))},e.createIndexes=Me,e.createLocalPersister=(e,t)=>Qe(e,t,localStorage),e.createMetrics=De,e.createQueries=Oe,e.createRelationships=ze,e.createRemotePersister=(e,t,s,n)=>{let o,r;return Fe(e,(async()=>{const e=await fetch(t);return r=je(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{o=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),n=je(s);N(r)||N(n)||n==r||(r=n,e())}),1e3*n)}),(()=>{W(o,clearInterval),o=void 0}))},e.createSessionPersister=(e,t)=>Qe(e,t,sessionStorage),e.createStore=He,e.defaultSorter=ke,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs")):"function"==typeof define&&define.amd?define(["exports","fs"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={},e.fs);
|
package/lib/umd/tinybase.js.gz
CHANGED
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t="",n=(e,t)=>e.includes(t),l=(e,t)=>e.forEach(t),o=e=>e.length,r=e=>0==o(e),s=(e,...t)=>e.push(...t),i=e=>e.pop(),u=e=>e.shift(),d=e=>null==e,c=(e,t,n)=>d(e)?null==n?void 0:n():t(e),a=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},p=e=>d(e)||0==(e=>e.size)(e),h=(e,t)=>null==e?void 0:e.forEach(t),f=(e,t)=>null==e?void 0:e.delete(t),v=e=>new Map(e),C=(e,t)=>null==e?void 0:e.get(t),g=(e,t,n)=>d(n)?(f(e,t),e):null==e?void 0:e.set(t,n),k=(e,t,n)=>(a(e,t)||g(e,t,n()),C(e,t)),y=(e,t,n,l,r=0)=>c((n?k:C)(e,t[r],r>o(t)-2?n:v),(s=>{if(r>o(t)-2)return(null==l?void 0:l(s))&&g(e,t[r]),s;const i=y(s,t,n,l,r+1);return p(s)&&g(e,t[r]),i})),L=e=>new Set(e),b=/^\d+$/,w=e=>{let n;const[r,i]=(()=>{const e=[];let n=0;return[()=>{var l;return null!=(l=u(e))?l:t+n++},t=>{b.test(t)&&o(e)<1e3&&s(e,t)}]})(),a=v();return[(l,o,s)=>{null!=n||(n=e());const i=r();var u,d;return g(a,i,[l,o,s]),u=y(o,null!=s?s:[t],L),d=i,null==u||u.add(d),i},(e,r,...i)=>l(((e,n=[t])=>{const r=[],i=(e,t)=>t==o(n)?s(r,e):null===n[t]?h(e,(e=>i(e,t+1))):l([n[t],null],(n=>i(C(e,n),t+1)));return i(e,0),r})(e,r),(e=>h(e,(e=>C(a,e)[0](n,...null!=r?r:[],...i))))),e=>c(C(a,e),(([,n,l])=>(y(n,null!=l?l:[t],void 0,(t=>(f(t,e),p(t)?1:0))),g(a,e),i(e),l))),(e,t,r)=>c(C(a,e),(([e,,s=[]])=>{const i=(...u)=>{const c=o(u);c==o(s)?e(n,...u,...r(u)):d(s[c])?l(t[c](...u),(e=>i(...u,e))):i(...u,s[c])};i()}))]},S=Object.freeze,T=(e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))})((e=>{let f,y,L,b=100,T=v(),j=1;const x=v(),z=v(),[E,M,m]=w((()=>Q)),
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t="",n=(e,t)=>e.includes(t),l=(e,t)=>e.forEach(t),o=e=>e.length,r=e=>0==o(e),s=(e,...t)=>e.push(...t),i=e=>e.pop(),u=e=>e.shift(),d=e=>null==e,c=(e,t,n)=>d(e)?null==n?void 0:n():t(e),a=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},p=e=>d(e)||0==(e=>e.size)(e),h=(e,t)=>null==e?void 0:e.forEach(t),f=(e,t)=>null==e?void 0:e.delete(t),v=e=>new Map(e),C=(e,t)=>null==e?void 0:e.get(t),g=(e,t,n)=>d(n)?(f(e,t),e):null==e?void 0:e.set(t,n),k=(e,t,n)=>(a(e,t)||g(e,t,n()),C(e,t)),y=(e,t,n,l,r=0)=>c((n?k:C)(e,t[r],r>o(t)-2?n:v),(s=>{if(r>o(t)-2)return(null==l?void 0:l(s))&&g(e,t[r]),s;const i=y(s,t,n,l,r+1);return p(s)&&g(e,t[r]),i})),L=e=>new Set(Array.isArray(e)||d(e)?e:[e]),b=/^\d+$/,w=e=>{let n;const[r,i]=(()=>{const e=[];let n=0;return[()=>{var l;return null!=(l=u(e))?l:t+n++},t=>{b.test(t)&&o(e)<1e3&&s(e,t)}]})(),a=v();return[(l,o,s)=>{null!=n||(n=e());const i=r();var u,d;return g(a,i,[l,o,s]),u=y(o,null!=s?s:[t],L),d=i,null==u||u.add(d),i},(e,r,...i)=>l(((e,n=[t])=>{const r=[],i=(e,t)=>t==o(n)?s(r,e):null===n[t]?h(e,(e=>i(e,t+1))):l([n[t],null],(n=>i(C(e,n),t+1)));return i(e,0),r})(e,r),(e=>h(e,(e=>C(a,e)[0](n,...null!=r?r:[],...i))))),e=>c(C(a,e),(([,n,l])=>(y(n,null!=l?l:[t],void 0,(t=>(f(t,e),p(t)?1:0))),g(a,e),i(e),l))),(e,t,r)=>c(C(a,e),(([e,,s=[]])=>{const i=(...u)=>{const c=o(u);c==o(s)?e(n,...u,...r(u)):d(s[c])?l(t[c](...u),(e=>i(...u,e))):i(...u,s[c])};i()}))]},S=Object.freeze,T=(e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))})((e=>{let f,y,L,b=100,T=v(),j=1;const x=v(),z=v(),[E,M,m]=w((()=>Q)),A=v(),B=v(),I=[],O=[],_=(t,n)=>{j=0,e.transaction((()=>h(C(A,n),((n,l)=>h(n,((n,o)=>h(n,((n,r)=>((e,t,n,l,o)=>d(o)?e.delCell(t,n,l,!0):e.setCell(t,n,l,o))(e,l,o,r,n[t]))))))))),j=1},F=e=>{g(A,e),g(B,e),M(z,[e])},P=(e,t)=>l(((e,t)=>e.splice(0,t))(e,null!=t?t:o(e)),F),W=()=>P(I,o(I)-b),$=e.addCellListener(null,null,null,((e,t,n,l,o,r)=>{if(j){c(f,(()=>{s(I,f),W(),P(O),f=void 0,L=1}));const e=k(T,t,v),u=k(e,n,v),d=k(u,l,(()=>[r,void 0]));d[1]=o,d[0]===o&&p(g(u,l))&&p(g(e,n))&&p(g(T,t))&&(f=i(I),L=1),H()}})),q=(e="")=>(d(f)&&(f=t+y++,g(A,f,T),K(f,e),T=v(),L=1),f),D=()=>{r(I)||(O.unshift(q()),_(0,f),f=i(I),L=1)},G=()=>{r(O)||(s(I,f),f=u(O),_(1,f),L=1)},H=()=>{L&&(M(x),L=0)},J=e=>{const t=q(e);return H(),t},K=(e,t)=>(N(e)&&C(B,e)!==t&&(g(B,e,t),M(z,[e])),Q),N=e=>a(A,e),Q={setSize:e=>(b=e,W(),Q),addCheckpoint:J,setCheckpoint:K,getStore:()=>e,getCheckpointIds:()=>[[...I],f,[...O]],forEachCheckpoint:e=>{return t=e,h(B,((e,n)=>t(n,e)));var t},hasCheckpoint:N,getCheckpoint:e=>C(B,e),goBackward:()=>(D(),H(),Q),goForward:()=>(G(),H(),Q),goTo:e=>{const t=n(I,e)?D:n(O,e)?G:null;for(;!d(t)&&e!=f;)t();return H(),Q},addCheckpointIdsListener:e=>E(e,x),addCheckpointListener:(e,t)=>E(t,z,[e]),delListener:e=>(m(e),Q),clear:()=>(P(I),P(O),d(f)||F(f),f=void 0,y=0,J(),Q),destroy:()=>{e.delListener($)},getListenerStats:()=>({})};return S(Q.clear())}));e.createCheckpoints=T,Object.defineProperty(e,"__esModule",{value:!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).TinyBaseCheckpoints={});
|
|
Binary file
|
package/lib/umd-es6/indexes.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The indexes module of the TinyBase project provides the ability to create
|
|
3
|
-
*
|
|
2
|
+
* The indexes module of the TinyBase project provides the ability to create and
|
|
3
|
+
* track indexes of the data in Store objects.
|
|
4
4
|
*
|
|
5
5
|
* The main entry point to this module is the createIndexes function, which
|
|
6
6
|
* returns a new Indexes object. From there, you can create new Index
|
|
@@ -209,11 +209,12 @@ export interface Indexes {
|
|
|
209
209
|
* derived string value in common, as described by this method. Those values
|
|
210
210
|
* are used as the key for each Slice in the overall Index object.
|
|
211
211
|
*
|
|
212
|
-
* Without the third `
|
|
212
|
+
* Without the third `getSliceIdOrIds` parameter, the Index will simply have a
|
|
213
213
|
* single Slice, keyed by an empty string. But more often you will specify a
|
|
214
214
|
* Cell value containing the Slice Id that the Row should belong to.
|
|
215
215
|
* Alternatively, a custom function can be provided that produces your own
|
|
216
|
-
* Slice Id from the local Row as a whole.
|
|
216
|
+
* Slice Id from the local Row as a whole. Since v2.1, the custom function can
|
|
217
|
+
* return an array of Slice Ids, each of which the Row will then belong to.
|
|
217
218
|
*
|
|
218
219
|
* The fourth `getSortKey` parameter specifies a Cell Id to get a value (or a
|
|
219
220
|
* function that processes a whole Row to get a value) that is used to sort
|
|
@@ -241,11 +242,13 @@ export interface Indexes {
|
|
|
241
242
|
*
|
|
242
243
|
* @param indexId The Id of the Index to define.
|
|
243
244
|
* @param tableId The Id of the Table the Index will be generated from.
|
|
244
|
-
* @param
|
|
245
|
-
* produces, the Id that is used to indicate which Slice in the Index the
|
|
246
|
-
* Id should be in. Defaults to a function that returns `''` (meaning that
|
|
247
|
-
* this `
|
|
248
|
-
* single Slice containing all the Row Ids in the Table).
|
|
245
|
+
* @param getSliceIdOrIds Either the Id of the Cell containing, or a function
|
|
246
|
+
* that produces, the Id that is used to indicate which Slice in the Index the
|
|
247
|
+
* Row Id should be in. Defaults to a function that returns `''` (meaning that
|
|
248
|
+
* if this `getSliceIdOrIds` parameter is omitted, the Index will simply
|
|
249
|
+
* contain a single Slice containing all the Row Ids in the Table). Since
|
|
250
|
+
* v2.1, this can return an array of Slice Ids, each of which the Row will
|
|
251
|
+
* then belong to.
|
|
249
252
|
* @param getSortKey Either the Id of the Cell containing, or a function that
|
|
250
253
|
* produces, the value that is used to sort the Row Ids in each Slice.
|
|
251
254
|
* @param sliceIdSorter A function that takes two Slice Id values and returns
|
|
@@ -294,6 +297,29 @@ export interface Indexes {
|
|
|
294
297
|
* ```
|
|
295
298
|
* @example
|
|
296
299
|
* This example creates a Store, creates an Indexes object, and defines an
|
|
300
|
+
* Index based on each of the letters present in the pets' names.
|
|
301
|
+
*
|
|
302
|
+
* ```js
|
|
303
|
+
* const store = createStore().setTable('pets', {
|
|
304
|
+
* fido: {species: 'dog'},
|
|
305
|
+
* felix: {species: 'cat'},
|
|
306
|
+
* rex: {species: 'dog'},
|
|
307
|
+
* });
|
|
308
|
+
*
|
|
309
|
+
* const indexes = createIndexes(store);
|
|
310
|
+
* indexes.setIndexDefinition('containsLetter', 'pets', (_, rowId) =>
|
|
311
|
+
* rowId.split(''),
|
|
312
|
+
* );
|
|
313
|
+
*
|
|
314
|
+
* console.log(indexes.getSliceIds('containsLetter'));
|
|
315
|
+
* // -> ['f', 'i', 'd', 'o', 'e', 'l', 'x', 'r']
|
|
316
|
+
* console.log(indexes.getSliceRowIds('containsLetter', 'i'));
|
|
317
|
+
* // -> ['fido', 'felix']
|
|
318
|
+
* console.log(indexes.getSliceRowIds('containsLetter', 'x'));
|
|
319
|
+
* // -> ['felix', 'rex']
|
|
320
|
+
* ```
|
|
321
|
+
* @example
|
|
322
|
+
* This example creates a Store, creates an Indexes object, and defines an
|
|
297
323
|
* Index based on the first letter of the pets' names. The Slice Ids (and Row
|
|
298
324
|
* Ids within them) are alphabetically sorted.
|
|
299
325
|
*
|
|
@@ -324,7 +350,7 @@ export interface Indexes {
|
|
|
324
350
|
setIndexDefinition(
|
|
325
351
|
indexId: Id,
|
|
326
352
|
tableId: Id,
|
|
327
|
-
|
|
353
|
+
getSliceIdOrIds?: Id | ((getCell: GetCell, rowId: Id) => Id | Ids),
|
|
328
354
|
getSortKey?: Id | ((getCell: GetCell, rowId: Id) => SortKey),
|
|
329
355
|
sliceIdSorter?: (sliceId1: Id, sliceId2: Id) => number,
|
|
330
356
|
rowIdSorter?: (sortKey1: SortKey, sortKey2: SortKey, sliceId: Id) => number,
|
package/lib/umd-es6/indexes.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="",l=n(t),
|
|
1
|
+
var e,n;e=this,n=function(e){"use strict";const n=e=>typeof e,t="",l=n(t),r=e=>t+e,s=(e,n)=>e.every(n),o=(e,n)=>s(e,((t,l)=>0==l||n(e[l-1],t)<=0)),d=(e,n)=>e.sort(n),i=(e,n)=>e.forEach(n),u=e=>e.length,a=(e,...n)=>e.push(...n),c=e=>null==e,f=(e,n,t)=>c(e)?null==t?void 0:t():n(e),v=e=>Array.isArray(e),h=(e,n)=>{var t;return null!=(t=null==e?void 0:e.has(n))&&t},I=e=>c(e)||0==(e=>e.size)(e),g=e=>{var n;return[...null!=(n=null==e?void 0:e.values())?n:[]]},p=e=>e.clear(),y=(e,n)=>null==e?void 0:e.forEach(n),x=(e,n)=>null==e?void 0:e.delete(n),S=e=>new Map(e),b=e=>{var n;return[...null!=(n=null==e?void 0:e.keys())?n:[]]},w=(e,n)=>null==e?void 0:e.get(n),L=(e,n)=>y(e,((e,t)=>n(t,e))),T=(e,n,t)=>c(t)?(x(e,n),e):null==e?void 0:e.set(n,t),E=(e,n,t)=>(h(e,n)||T(e,n,t()),w(e,n)),R=(e,n,t,l,r=0)=>f((t?E:w)(e,n[r],r>u(n)-2?t:S),(s=>{if(r>u(n)-2)return(null==l?void 0:l(s))&&T(e,n[r]),s;const o=R(s,n,t,l,r+1);return I(s)&&T(e,n[r]),o})),j=e=>new Set(v(e)||c(e)?e:[e]),m=(e,n)=>null==e?void 0:e.add(n),M=(e,n,t)=>{const l=e.hasRow,r=S(),o=S(),d=S(),a=S(),R=S(),M=(n,t,...l)=>{const r=E(R,n,j);return i(l,(n=>m(r,n)&&t&&e.callListener(n))),l},k=(n,...t)=>f(w(R,n),(l=>{i(0==u(t)?g(l):t,(n=>{e.delListener(n),x(l,n)})),I(l)&&T(R,n)})),z=(e,t)=>{T(r,e,t),h(o,e)||(T(o,e,n()),T(d,e,S()),T(a,e,S()))},A=e=>{T(r,e),T(o,e),T(d,e),T(a,e),k(e)};return[()=>e,()=>b(r),e=>L(o,e),e=>h(o,e),e=>w(r,e),e=>w(o,e),(e,n)=>T(o,e,n),z,(n,r,o,f,I)=>{z(n,r);const g=S(),x=S(),b=w(d,n),E=w(a,n),R=n=>{const o=t=>e.getCell(r,n,t),d=w(b,n),i=l(r,n)?t(f(o,n)):void 0;var a,h;if(d===i||v(d)&&v(i)&&(h=i,u(a=d)===u(h)&&s(a,((e,n)=>h[n]===e)))||T(g,n,[d,i]),!c(I)){const e=w(E,n),t=l(r,n)?I(o,n):void 0;e!=t&&T(x,n,t)}},j=e=>{o((()=>{y(g,(([,e],n)=>T(b,n,e))),y(x,((e,n)=>T(E,n,e)))}),g,x,b,E,e),p(g),p(x)};L(b,R),e.hasTable(r)&&i(e.getRowIds(r),(e=>{h(b,e)||R(e)})),j(!0),k(n),M(n,0,e.addRowListener(r,null,((e,n,t)=>R(t))),e.addTableListener(r,(()=>j())))},A,()=>L(R,A),M,k]},k=(e,r)=>n(e)==l?n=>n(e):null!=e?e:()=>null!=r?r:t,z=(e,n)=>e<n?-1:1,A=/^\d+$/,C=e=>{let n;const[l,r]=(()=>{const e=[];let n=0;return[()=>{var l;return null!=(l=e.shift())?l:t+n++},n=>{A.test(n)&&u(e)<1e3&&a(e,n)}]})(),s=S();return[(r,o,d)=>{null!=n||(n=e());const i=l();return T(s,i,[r,o,d]),m(R(o,null!=d?d:[t],j),i),i},(e,l,...r)=>i(((e,n=[t])=>{const l=[],r=(e,t)=>t==u(n)?a(l,e):null===n[t]?y(e,(e=>r(e,t+1))):i([n[t],null],(n=>r(w(e,n),t+1)));return r(e,0),l})(e,l),(e=>y(e,(e=>w(s,e)[0](n,...null!=l?l:[],...r))))),e=>f(w(s,e),(([,n,l])=>(R(n,null!=l?l:[t],void 0,(n=>(x(n,e),I(n)?1:0))),T(s,e),r(e),l))),(e,t,l)=>f(w(s,e),(([e,,r=[]])=>{const s=(...o)=>{const d=u(o);d==u(r)?e(n,...o,...l(o)):c(r[d])?i(t[d](...o),(e=>s(...o,e))):s(...o,r[d])};s()}))]},D=Object.freeze,O=(e=>{const n=new WeakMap;return t=>(n.has(t)||n.set(t,e(t)),n.get(t))})((e=>{const n=S(),l=S(),[s,i,u,a,p,E,R,,A,O,_]=M(e,S,(e=>{return c(e)?t:v(e)?(n=r,e.map(n)):r(e);var n})),[B,P,W]=C((()=>q)),$=(n,t,l)=>{const r=p(n);y(l,((n,l)=>t(l,(t=>y(n,(n=>t(n,(t=>e.forEachCell(r,n,t)))))))))},q={setIndexDefinition:(e,t,r,s,i,u=z)=>{const a=c(i)?void 0:([e],[n])=>i(e,n);return A(e,t,((t,r,i,v,g,p)=>{let b=0;const M=j(),k=j(),z=E(e);if(y(r,(([e,n],t)=>{const l=j(e),r=j(n);y(l,(e=>x(r,e)?x(l,e):0)),y(l,(e=>{m(M,e),f(w(z,e),(n=>{x(n,t),I(n)&&(T(z,e),b=1)}))})),y(r,(e=>{m(M,e),h(z,e)||(T(z,e,j()),b=1),m(w(z,e),t),c(s)||m(k,e)}))})),t(),I(g)||(p?L(z,(e=>m(k,e))):L(i,(e=>f(w(v,e),(e=>m(k,e))))),y(k,(e=>{const n=(n,t)=>u(w(g,n),w(g,t),e),t=[...w(z,e)];o(t,n)||(T(z,e,j(d(t,n))),m(M,e))}))),(b||p)&&!c(a)){const n=[...z];o(n,a)||(R(e,S(d(n,a))),b=1)}b&&P(n,[e]),y(M,(n=>P(l,[e,n])))}),k(r),f(s,k)),q},delIndexDefinition:e=>(O(e),q),getStore:s,getIndexIds:i,forEachIndex:e=>u(((n,t)=>e(n,(e=>$(n,e,t))))),forEachSlice:(e,n)=>$(e,n,E(e)),hasIndex:a,hasSlice:(e,n)=>h(E(e),n),getTableId:p,getSliceIds:e=>b(E(e)),getSliceRowIds:(e,n)=>g(w(E(e),n)),addSliceIdsListener:(e,t)=>B(t,n,[e]),addSliceRowIdsListener:(e,n,t)=>B(t,l,[e,n]),delListener:e=>(W(e),q),destroy:_,getListenerStats:()=>({})};return D(q)}));e.createIndexes=O,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseIndexes={});
|
|
Binary file
|
package/lib/umd-es6/metrics.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),r=t(t),i=(e,t)=>e.forEach(t),o=e=>u(e,((e,t)=>e+t),0),s=e=>e.length,u=(e,t,n)=>e.reduce(t,n),d=(e,...t)=>e.push(...t),a=Math.max,c=Math.min,v=isFinite,f=e=>null==e,h=(e,t,n)=>f(e)?null==n?void 0:n():t(e),M=()=>{},
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),r=t(t),i=(e,t)=>e.forEach(t),o=e=>u(e,((e,t)=>e+t),0),s=e=>e.length,u=(e,t,n)=>e.reduce(t,n),d=(e,...t)=>e.push(...t),a=Math.max,c=Math.min,v=isFinite,f=e=>null==e,h=(e,t,n)=>f(e)?null==n?void 0:n():t(e),M=e=>Array.isArray(e),g=()=>{},p=e=>e.size,y=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},b=e=>f(e)||0==p(e),m=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},L=e=>e.clear(),w=(e,t)=>null==e?void 0:e.forEach(t),T=(e,t)=>null==e?void 0:e.delete(t),x=e=>new Map(e),j=(e,t)=>null==e?void 0:e.get(t),E=(e,t)=>w(e,((e,n)=>t(n,e))),I=(e,t,n)=>f(n)?(T(e,t),e):null==e?void 0:e.set(t,n),R=(e,t,n)=>(y(e,t)||I(e,t,n()),j(e,t)),S=(e,t,n,l,r=0)=>h((n?R:j)(e,t[r],r>s(t)-2?n:x),(i=>{if(r>s(t)-2)return(null==l?void 0:l(i))&&I(e,t[r]),i;const o=S(i,t,n,l,r+1);return b(i)&&I(e,t[r]),o})),k=x([["avg",[(e,t)=>o(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=>a(...e),(e,t)=>a(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:a(t,e)]],["min",[e=>c(...e),(e,t)=>c(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:c(t,e)]],["sum",[e=>o(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),z=e=>new Set(M(e)||f(e)?e:[e]),A=(e,t)=>null==e?void 0:e.add(t),D=(e,t,n)=>{const l=e.hasRow,r=x(),o=x(),u=x(),d=x(),a=x(),c=(t,n,...l)=>{const r=R(a,t,z);return i(l,(t=>A(r,t)&&n&&e.callListener(t))),l},v=(t,...n)=>h(j(a,t),(l=>{i(0==s(n)?m(l):n,(t=>{e.delListener(t),T(l,t)})),b(l)&&I(a,t)})),g=(e,n)=>{I(r,e,n),y(o,e)||(I(o,e,t()),I(u,e,x()),I(d,e,x()))},p=e=>{I(r,e),I(o,e),I(u,e),I(d,e),v(e)};return[()=>e,()=>{return[...null!=(t=null==(e=r)?void 0:e.keys())?t:[]];var e,t},e=>E(o,e),e=>y(o,e),e=>j(r,e),e=>j(o,e),(e,t)=>I(o,e,t),g,(t,r,o,a,h)=>{g(t,r);const p=x(),b=x(),m=j(u,t),T=j(d,t),R=t=>{const i=n=>e.getCell(r,t,n),o=j(m,t),u=l(r,t)?n(a(i,t)):void 0;var d,c,v;if(o===u||M(o)&&M(u)&&(c=u,s(d=o)===s(c)&&(v=(e,t)=>c[t]===e,d.every(v)))||I(p,t,[o,u]),!f(h)){const e=j(T,t),n=l(r,t)?h(i,t):void 0;e!=n&&I(b,t,n)}},S=e=>{o((()=>{w(p,(([,e],t)=>I(m,t,e))),w(b,((e,t)=>I(T,t,e)))}),p,b,m,T,e),L(p),L(b)};E(m,R),e.hasTable(r)&&i(e.getRowIds(r),(e=>{y(m,e)||R(e)})),S(!0),v(t),c(t,0,e.addRowListener(r,null,((e,t,n)=>R(n))),e.addTableListener(r,(()=>S())))},p,()=>E(a,p),c,v]},N=(e,r)=>t(e)==l?t=>t(e):null!=e?e:()=>null!=r?r:n,O=/^\d+$/,_=e=>{let t;const[l,r]=(()=>{const e=[];let t=0;return[()=>{var l;return null!=(l=e.shift())?l:n+t++},t=>{O.test(t)&&s(e)<1e3&&d(e,t)}]})(),o=x();return[(r,i,s)=>{null!=t||(t=e());const u=l();return I(o,u,[r,i,s]),A(S(i,null!=s?s:[n],z),u),u},(e,l,...r)=>i(((e,t=[n])=>{const l=[],r=(e,n)=>n==s(t)?d(l,e):null===t[n]?w(e,(e=>r(e,n+1))):i([t[n],null],(t=>r(j(e,t),n+1)));return r(e,0),l})(e,l),(e=>w(e,(e=>j(o,e)[0](t,...null!=l?l:[],...r))))),e=>h(j(o,e),(([,t,l])=>(S(t,null!=l?l:[n],void 0,(t=>(T(t,e),b(t)?1:0))),I(o,e),r(e),l))),(e,n,l)=>h(j(o,e),(([e,,r=[]])=>{const o=(...u)=>{const d=s(u);d==s(r)?e(t,...u,...l(u)):f(r[d])?i(n[d](...u),(e=>o(...u,e))):o(...u,r[d])};o()}))]},B=Object.freeze,C=(e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))})((e=>{const l=x(),[i,o,s,u,d,a,c,,h,M,y]=D(e,g,(e=>isNaN(e)||f(e)||!0===e||!1===e||e===n?void 0:1*e)),[L,T,E]=_((()=>I)),I={setMetricDefinition:(e,n,i,o,s,u,d)=>{var M;const g=t(i)==r?[i,s,u,d]:null!=(M=j(k,i))?M:j(k,"sum");return h(e,n,((t,n,r,i,o,s)=>{const u=a(e),d=p(i);s||(s=f(u)),t();let h=((e,t,n,l,r,i=!1)=>{if(b(n))return;const[o,s,u,d]=r;return i||(i=f(e)),w(l,(([n,l])=>{i||(e=f(n)?null==s?void 0:s(e,l,t++):f(l)?null==u?void 0:u(e,n,t--):null==d?void 0:d(e,l,n,t),i||(i=f(e)))})),i?o(m(n),p(n)):e})(u,d,i,n,g,s);v(h)||(h=void 0),h!=u&&(c(e,h),T(l,[e],h,u))}),N(o,1)),I},delMetricDefinition:e=>(M(e),I),getStore:i,getMetricIds:o,forEachMetric:s,hasMetric:u,getTableId:d,getMetric:a,addMetricListener:(e,t)=>L(t,l,[e]),delListener:e=>(E(e),I),destroy:y,getListenerStats:()=>({})};return B(I)}));e.createMetrics=C,Object.defineProperty(e,"__esModule",{value:!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).TinyBaseMetrics={});
|
|
Binary file
|
package/lib/umd-es6/queries.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n=t(""),l=t(!0),
|
|
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=(e,t)=>e.every(t),d=(e,t)=>e.forEach(t),u=e=>f(e,((e,t)=>e+t),0),c=e=>e.length,v=e=>0==c(e),f=(e,t,n)=>e.reduce(t,n),h=(e,...t)=>e.push(...t),y=Math.max,w=Math.min,g=isFinite,p=e=>null==e,R=(e,t,n)=>p(e)?null==n?void 0:n():t(e),b=e=>t(e)==o,L=e=>Array.isArray(e),T=()=>{},m=e=>e.size,O=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},C=e=>p(e)||0==m(e),I=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},j=e=>e.clear(),x=(e,t)=>null==e?void 0:e.forEach(t),Q=(e,t)=>null==e?void 0:e.delete(t),S=e=>new Map(e),E=(e,t)=>null==e?void 0:e.get(t),M=(e,t)=>x(e,((e,n)=>t(n,e))),D=(e,t,n)=>p(n)?(Q(e,t),e):null==e?void 0:e.set(t,n),F=(e,t,n)=>(O(e,t)||D(e,t,n()),E(e,t)),P=(e,t,n,l,r=0)=>R((n?F:E)(e,t[r],r>c(t)-2?n:S),(o=>{if(r>c(t)-2)return(null==l?void 0:l(o))&&D(e,t[r]),o;const s=P(o,t,n,l,r+1);return C(o)&&D(e,t[r]),s})),k=e=>new Set(L(e)||p(e)?e:[e]),z=(e,t)=>null==e?void 0:e.add(t),A=S([["avg",[(e,t)=>u(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=>y(...e),(e,t)=>y(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:y(t,e)]],["min",[e=>w(...e),(e,t)=>w(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:w(t,e)]],["sum",[e=>u(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),W=e=>{const o=t(e);return(e=>e==n||e==l)(o)||o==r&&g(e)?o:void 0},_=(e,t,n)=>{const l=e.hasRow,r=S(),o=S(),s=S(),i=S(),u=S(),f=(t,n,...l)=>{const r=F(u,t,k);return d(l,(t=>z(r,t)&&n&&e.callListener(t))),l},h=(t,...n)=>R(E(u,t),(l=>{d(v(n)?I(l):n,(t=>{e.delListener(t),Q(l,t)})),C(l)&&D(u,t)})),y=(e,n)=>{D(r,e,n),O(o,e)||(D(o,e,t()),D(s,e,S()),D(i,e,S()))},w=e=>{D(r,e),D(o,e),D(s,e),D(i,e),h(e)};return[()=>e,()=>{return[...null!=(t=null==(e=r)?void 0:e.keys())?t:[]];var e,t},e=>M(o,e),e=>O(o,e),e=>E(r,e),e=>E(o,e),(e,t)=>D(o,e,t),y,(t,r,o,u,v)=>{y(t,r);const w=S(),g=S(),R=E(s,t),b=E(i,t),T=t=>{const o=n=>e.getCell(r,t,n),s=E(R,t),i=l(r,t)?n(u(o,t)):void 0;var d,f;if(s===i||L(s)&&L(i)&&(f=i,c(d=s)===c(f)&&a(d,((e,t)=>f[t]===e)))||D(w,t,[s,i]),!p(v)){const e=E(b,t),n=l(r,t)?v(o,t):void 0;e!=n&&D(g,t,n)}},m=e=>{o((()=>{x(w,(([,e],t)=>D(R,t,e))),x(g,((e,t)=>D(b,t,e)))}),w,g,R,b,e),j(w),j(g)};M(R,T),e.hasTable(r)&&d(e.getRowIds(r),(e=>{O(R,e)||T(e)})),m(!0),h(t),f(t,0,e.addRowListener(r,null,((e,t,n)=>T(n))),e.addTableListener(r,(()=>m())))},w,()=>M(u,w),f,h]},B=Object,q=B.freeze;var G=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable;const K=(e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))})((e=>{const t=e.createStore,[n,l,r,o,u,,,f,,y,w,g,L]=_(e,(()=>!0),T),K=t(),N=t(),U=S(),V=(e,t,...n)=>d(n,(n=>z(F(F(U,t,S),e,k),n))),X=e=>{R(E(U,e),(e=>{M(e,((e,t)=>x(t,(t=>e.delListener(t))))),j(e)})),d([N,K],(t=>t.delTable(e)))},Y=(e,t,n)=>V(t,e,t.addWillFinishTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),Z={setQueryDefinition:(t,n,l)=>{f(t,n),X(t);const r=[],o=[[null,[n,null,null,[],S()]]],s=[],i=[],u=[];l({select:(e,t)=>{const n=b(e)?[c(r)+"",e]:[p(t)?e:t,n=>n(e,t)];return h(r,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const l=p(n)||b(t)?null:t,r=p(l)?t:n,s=[e,[e,l,b(r)?r:e=>e(r),[],S()]];return h(o,s),{as:e=>s[0]=e}},where:(e,t,n)=>h(s,b(e)?e:p(n)?n=>n(e)===t:l=>l(e,t)===n),group:(e,t,n,l,r)=>{var o;const s=[e,[e,b(t)?[t,n,l,r]:null!=(o=E(A,t))?o:[(e,t)=>t]]];return h(i,s),{as:e=>s[0]=e}},having:(e,t)=>h(u,b(e)?e:n=>n(e)===t)});const y=S(r);if(C(y))return Z;const w=S(o);M(w,((e,[,t])=>R(E(w,t),(({3:t})=>p(e)?0:h(t,e)))));const T=S(i);let j=K;if(C(T)&&v(u))j=N;else{Y(t,j,N);const e=S();M(T,((t,[n,l])=>z(F(e,n,k),[t,l])));const n=k();M(y,(t=>O(e,t)?0:z(n,t)));const l=S(),r=(n,l,r,o)=>R(n,(([s,i,d,c])=>{M(l,((t,[n])=>{const l=F(s,t,S),i=E(l,r),a=o?void 0:n;if(i!==a){const n=k([[i,a]]),o=m(l);D(l,r,a),x(E(e,t),(([e,t])=>{const r=((e,t,n,l,r,o=!1)=>{if(C(n))return;const[s,i,a,d]=r;return o||(o=p(e)),x(l,(([n,l])=>{o||(e=p(n)?null==i?void 0:i(e,l,t++):p(l)?null==a?void 0:a(e,n,t--):null==d?void 0:d(e,l,n,t),o||(o=p(e)))})),o?s(I(n),m(n)):e})(c[e],o,l,n,t);c[e]=p(W(r))?null:r}))}})),C(i)||!a(u,(e=>e((e=>c[e]))))?N.delRow(t,d):p(d)?n[2]=N.addRow(t,c):N.setRow(t,d,c)}));V(j,t,j.addRowListener(t,null,((o,s,i,a)=>{const d=[],u=[],c=S(),v=j.hasRow(t,i);let f=!v;x(n,(e=>{const[n,l,r]=a(t,i,e);h(d,l),h(u,r),f||(f=n)})),M(e,(e=>{const[n,,l]=a(t,i,e);(f||n)&&D(c,e,[l])})),f&&r(P(l,d,void 0,(([,e])=>(Q(e,i),C(e)))),c,i,1),v&&r(P(l,u,(()=>{const e={};return x(n,(n=>e[n]=j.getCell(t,i,n))),[S(),k(),void 0,e]}),(([,e])=>{z(e,i)})),c,i)})))}Y(t,e,j);const _=l=>{const r=(t,r)=>{var o,s,i;return e.getCell(...p(r)?[n,l,t]:t===n?[n,l,r]:[null==(o=E(w,t))?void 0:o[0],null==(i=E(null==(s=E(w,t))?void 0:s[4],l))?void 0:i[0],r])};j.transaction((()=>a(s,(e=>e(r)))?M(y,((e,n)=>((e,t,n,l,r)=>p(r)?e.delCell(t,n,l,!0):e.setCell(t,n,l,r))(j,t,l,e,n(r,l)))):j.delRow(t,l)))},B=(n,l,r,o)=>{const s=t=>e.getCell(l,r,t);d(o,(l=>{var r;const[o,,i,a,d]=E(w,l),u=null==i?void 0:i(s,n),[c,v]=null!=(r=E(d,n))?r:[];u!=c&&(p(v)||L(t,v),D(d,n,p(u)?null:[u,...g(t,1,e.addRowListener(o,u,(()=>B(n,o,u,a))))]))})),_(n)},{3:q}=E(w,null);return j.transaction((()=>g(t,1,e.addRowListener(n,null,((l,r,o)=>{e.hasRow(n,o)?B(o,n,o,q):(j.delRow(t,o),x(w,(({4:e})=>R(E(e,o),(([,n])=>{L(t,n),D(e,o)})))))}))))),Z},delQueryDefinition:e=>(X(e),y(e),Z),getStore:n,getQueryIds:l,forEachQuery:r,hasQuery:o,getTableId:u,delListener:e=>(N.delListener(e),Z),destroy:w,getListenerStats:()=>((e,t)=>{var n={};for(var l in e)H.call(e,l)&&t.indexOf(l)<0&&(n[l]=e[l]);if(null!=e&&G)for(var l of G(e))t.indexOf(l)<0&&J.call(e,l)&&(n[l]=e[l]);return n})(N.getListenerStats(),["tables","tableIds","transaction"])};var $,ee;return $={Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},ee=([e,t],n)=>{d(e?["get","has","forEach"]:["get"],(e=>Z[e+i+n]=(...t)=>N[e+n](...t))),Z["addResult"+n+s]=(...e)=>{return N["add"+n+s](...(l=e,r=0,o=t,l.slice(r,o)),((n,...l)=>e[t](Z,...l)));var l,r,o}},d(B.entries($),(([e,t])=>ee(t,e))),q(Z)}));e.createQueries=K,Object.defineProperty(e,"__esModule",{value:!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).TinyBaseQueries={});
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),o=(e,t)=>e.forEach(t),
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),o=(e,t)=>e.forEach(t),r=e=>e.length,s=(e,...t)=>e.push(...t),i=e=>null==e,d=(e,t,n)=>i(e)?null==n?void 0:n():t(e),u=e=>Array.isArray(e),a=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},c=e=>i(e)||0==(e=>e.size)(e),f=e=>{var t;return[...null!=(t=null==e?void 0:e.values())?t:[]]},v=e=>e.clear(),h=(e,t)=>null==e?void 0:e.forEach(t),R=(e,t)=>null==e?void 0:e.delete(t),p=e=>new Map(e),g=(e,t)=>null==e?void 0:e.get(t),L=(e,t)=>h(e,((e,n)=>t(n,e))),w=(e,t,n)=>i(n)?(R(e,t),e):null==e?void 0:e.set(t,n),y=(e,t,n)=>(a(e,t)||w(e,t,n()),g(e,t)),I=(e,t,n,l,o=0)=>d((n?y:g)(e,t[o],o>r(t)-2?n:p),(s=>{if(o>r(t)-2)return(null==l?void 0:l(s))&&w(e,t[o]),s;const i=I(s,t,n,l,o+1);return c(s)&&w(e,t[o]),i})),b=e=>new Set(u(e)||i(e)?e:[e]),T=(e,t)=>null==e?void 0:e.add(t),m=(e,t,n)=>{const l=e.hasRow,s=p(),I=p(),m=p(),k=p(),E=p(),j=(t,n,...l)=>{const r=y(E,t,b);return o(l,(t=>T(r,t)&&n&&e.callListener(t))),l},x=(t,...n)=>d(g(E,t),(l=>{o(0==r(n)?f(l):n,(t=>{e.delListener(t),R(l,t)})),c(l)&&w(E,t)})),M=(e,n)=>{w(s,e,n),a(I,e)||(w(I,e,t()),w(m,e,p()),w(k,e,p()))},S=e=>{w(s,e),w(I,e),w(m,e),w(k,e),x(e)};return[()=>e,()=>{return[...null!=(t=null==(e=s)?void 0:e.keys())?t:[]];var e,t},e=>L(I,e),e=>a(I,e),e=>g(s,e),e=>g(I,e),(e,t)=>w(I,e,t),M,(t,s,d,c,f)=>{M(t,s);const R=p(),y=p(),I=g(m,t),b=g(k,t),T=t=>{const o=n=>e.getCell(s,t,n),d=g(I,t),a=l(s,t)?n(c(o,t)):void 0;var v,h,p;if(d===a||u(d)&&u(a)&&(h=a,r(v=d)===r(h)&&(p=(e,t)=>h[t]===e,v.every(p)))||w(R,t,[d,a]),!i(f)){const e=g(b,t),n=l(s,t)?f(o,t):void 0;e!=n&&w(y,t,n)}},E=e=>{d((()=>{h(R,(([,e],t)=>w(I,t,e))),h(y,((e,t)=>w(b,t,e)))}),R,y,I,b,e),v(R),v(y)};L(I,T),e.hasTable(s)&&o(e.getRowIds(s),(e=>{a(I,e)||T(e)})),E(!0),x(t),j(t,0,e.addRowListener(s,null,((e,t,n)=>T(n))),e.addTableListener(s,(()=>E())))},S,()=>L(E,S),j,x]},k=(e,o)=>t(e)==l?t=>t(e):null!=e?e:()=>null!=o?o:n,E=/^\d+$/,j=e=>{let t;const[l,u]=(()=>{const e=[];let t=0;return[()=>{var l;return null!=(l=e.shift())?l:n+t++},t=>{E.test(t)&&r(e)<1e3&&s(e,t)}]})(),a=p();return[(o,r,s)=>{null!=t||(t=e());const i=l();return w(a,i,[o,r,s]),T(I(r,null!=s?s:[n],b),i),i},(e,l,...i)=>o(((e,t=[n])=>{const l=[],i=(e,n)=>n==r(t)?s(l,e):null===t[n]?h(e,(e=>i(e,n+1))):o([t[n],null],(t=>i(g(e,t),n+1)));return i(e,0),l})(e,l),(e=>h(e,(e=>g(a,e)[0](t,...null!=l?l:[],...i))))),e=>d(g(a,e),(([,t,l])=>(I(t,null!=l?l:[n],void 0,(t=>(R(t,e),c(t)?1:0))),w(a,e),u(e),l))),(e,n,l)=>d(g(a,e),(([e,,s=[]])=>{const d=(...u)=>{const a=r(u);a==r(s)?e(t,...u,...l(u)):i(s[a])?o(n[a](...u),(e=>d(...u,e))):d(...u,s[a])};d()}))]},x=Object.freeze,M=(e=>{const t=new WeakMap;return n=>(t.has(n)||t.set(n,e(n)),t.get(n))})((e=>{const t=p(),l=p(),o=p(),r=p(),[s,u,v,y,I,E,,,M,S,z]=m(e,(()=>[p(),p(),p(),p()]),(e=>i(e)?void 0:e+n)),[A,D,O]=j((()=>P)),_=(e,t,n)=>d(E(e),(([l,,o])=>{if(!a(o,t)){const r=b();if(I(e)!=C(e))T(r,t);else{let e=t;for(;!i(e)&&!a(r,e);)T(r,e),e=g(l,e)}if(n)return r;w(o,t,r)}return g(o,t)})),B=(e,t)=>d(E(e),(([,,e])=>w(e,t))),C=e=>g(t,e),P={setRelationshipDefinition:(e,n,s,u)=>(w(t,e,s),M(e,n,((t,n)=>{const s=b(),u=b(),f=b(),[v,p]=E(e);h(n,(([t,n],l)=>{i(t)||(T(u,t),d(g(p,t),(e=>{R(e,l),c(e)&&w(p,t)}))),i(n)||(T(u,n),a(p,n)||w(p,n,b()),T(g(p,n),l)),T(s,l),w(v,l,n),L(g(r,e),(t=>{a(_(e,t),l)&&T(f,t)}))})),t(),h(s,(t=>D(l,[e,t]))),h(u,(t=>D(o,[e,t]))),h(f,(t=>{B(e,t),D(r,[e,t])}))}),k(u)),P),delRelationshipDefinition:e=>(w(t,e),S(e),P),getStore:s,getRelationshipIds:u,forEachRelationship:t=>v((n=>t(n,(t=>e.forEachRow(I(n),t))))),hasRelationship:y,getLocalTableId:I,getRemoteTableId:C,getRemoteRowId:(e,t)=>{var n;return g(null==(n=E(e))?void 0:n[0],t)},getLocalRowIds:(e,t)=>{var n;return f(g(null==(n=E(e))?void 0:n[1],t))},getLinkedRowIds:(e,t)=>i(E(e))?[t]:f(_(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>A(n,l,[e,t]),addLocalRowIdsListener:(e,t,n)=>A(n,o,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(_(e,t),A(n,r,[e,t])),delListener:e=>(B(...O(e)),P),destroy:z,getListenerStats:()=>({})};return x(P)}));e.createRelationships=M,Object.defineProperty(e,"__esModule",{value:!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).TinyBaseRelationships={});
|
|
Binary file
|
package/lib/umd-es6/store.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),r=t(!0),s=t(0),o=t(t),i="type",a="default",u=e=>n+e,d=(e,t)=>e.forEach(t),c=(e,t)=>e.map(t),f=e=>e.length,v=(e,t,n)=>e.slice(t,n),h=(e,...t)=>e.push(...t),T=e=>JSON.stringify(e,((e,t)=>{return
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n="",l=t(n),r=t(!0),s=t(0),o=t(t),i="type",a="default",u=e=>n+e,d=(e,t)=>e.forEach(t),c=(e,t)=>e.map(t),f=e=>e.length,v=(e,t,n)=>e.slice(t,n),h=(e,...t)=>e.push(...t),T=e=>JSON.stringify(e,((e,t)=>{return y(t,Map)?(n=[...t],l=(e,[t,n])=>(e[t]=n,e),r={},n.reduce(l,r)):t;var n,l,r})),b=JSON.parse,p=isFinite,y=(e,t)=>e instanceof t,g=e=>null==e,w=(e,t,n)=>g(e)?null==n?void 0:n():t(e),R=e=>e==l||e==r,S=(e,t)=>{var n;return null!=(n=null==e?void 0:e.has(t))&&n},C=e=>g(e)||0==(e=>e.size)(e),I=e=>e.clear(),L=(e,t)=>null==e?void 0:e.forEach(t),m=(e,t)=>null==e?void 0:e.delete(t),E=e=>new Map(e),J=e=>{var t;return[...null!=(t=null==e?void 0:e.keys())?t:[]]},F=(e,t)=>null==e?void 0:e.get(t),O=(e,t)=>L(e,((e,n)=>t(n,e))),j=(e,t,n)=>g(n)?(m(e,t),e):null==e?void 0:e.set(t,n),x=(e,t,n)=>(S(e,t)||j(e,t,n()),F(e,t)),z=(e,t,n)=>{const l={},r=null!=t?t:e=>e;return L(e,((e,t)=>w(r(e),(e=>(null==n?void 0:n(e))?0:l[t]=e)))),l},M=(e,t)=>{const n=E(),l=null!=t?t:e=>e;return L(e,((e,t)=>n.set(t,l(e)))),n},k=e=>M(e,M),A=(e,t,n,l,r=0)=>w((n?x:F)(e,t[r],r>f(t)-2?n:E),(s=>{if(r>f(t)-2)return(null==l?void 0:l(s))&&j(e,t[r]),s;const o=A(s,t,n,l,r+1);return C(s)&&j(e,t[r]),o})),N=Object,P=N.keys,_=N.isFrozen,B=N.freeze,D=(e,t)=>!g(((e,t)=>w(e,(e=>e[t])))(e,t)),W=(e,t)=>delete e[t],$=(e,t)=>d(N.entries(e),(([e,n])=>t(n,e))),q=e=>{return t=P(e),0==f(t);var t},G=e=>new Set(Array.isArray(e)||g(e)?e:[e]),H=(e,t)=>null==e?void 0:e.add(t),K=/^\d+$/,Q=()=>{const e=[];let t=0;return[()=>{var l;return null!=(l=e.shift())?l:n+t++},t=>{K.test(t)&&f(e)<1e3&&h(e,t)}]},U=e=>{let t;const[l,r]=Q(),s=E();return[(r,o,i)=>{null!=t||(t=e());const a=l();return j(s,a,[r,o,i]),H(A(o,null!=i?i:[n],G),a),a},(e,l,...r)=>d(((e,t=[n])=>{const l=[],r=(e,n)=>n==f(t)?h(l,e):null===t[n]?L(e,(e=>r(e,n+1))):d([t[n],null],(t=>r(F(e,t),n+1)));return r(e,0),l})(e,l),(e=>L(e,(e=>F(s,e)[0](t,...null!=l?l:[],...r))))),e=>w(F(s,e),(([,t,l])=>(A(t,null!=l?l:[n],void 0,(t=>(m(t,e),C(t)?1:0))),j(s,e),r(e),l))),(e,n,l)=>w(F(s,e),(([e,,r=[]])=>{const s=(...o)=>{const i=f(o);i==f(r)?e(t,...o,...l(o)):g(r[i])?d(n[i](...o),(e=>s(...o,e))):s(...o,r[i])};s()}))]},V=e=>[e,e],X=()=>[E(),E()],Y=e=>{const n=t(e);return R(n)||n==s&&p(e)?n:void 0},Z=(e,t,n,l=j)=>{const r=(s=J(e),o=e=>!D(t,e),s.filter(o));var s,o;return d(P(t),(l=>n(e,l,t[l]))),d(r,(t=>l(e,t))),e},ee=(e,t,n)=>g(e)||!(e=>y(e,N)&&e.constructor==N)(e)||q(e)||_(e)?(null==n||n(),!1):($(e,((n,l)=>{t(n,l)||W(e,l)})),!q(e)),te=(e,t,n)=>j(e,t,F(e,t)==-n?void 0:n),ne=()=>{let e,n,l=0;const r=E(),p=E(),y=E(),A=E(),N=E(),P=E(),_=E(),K=E(),le=E(),re=X(),se=X(),oe=X(),ie=X(),ae=X(),ue=X(),de=X(),ce=X(),fe=X(),ve=X(),[he,Te,be,pe]=U((()=>et)),ye=(t,n)=>(!e||S(P,n)||Ne(n))&&ee(t,((e,t)=>ge(n,t,e)),(()=>Ne(n))),ge=(e,t,n,l)=>ee(l?n:Re(n,e,t),((l,r)=>w(we(e,t,r,l),(e=>(n[r]=e,!0)),(()=>!1))),(()=>Ne(e,t))),we=(t,n,l,r)=>e?w(F(F(P,t),l),(e=>Y(r)!=e.type?Ne(t,n,l,r,e.default):r),(()=>Ne(t,n,l,r))):g(Y(r))?Ne(t,n,l,r):r,Re=(e,t,n)=>(w(F(_,t),(([l,r])=>{L(l,((t,n)=>{D(e,n)||(e[n]=t)})),L(r,(l=>{D(e,l)||Ne(t,n,l)}))})),e),Se=e=>Z(P,e,((e,t,n)=>{const l=E(),r=G();Z(x(P,t,E),n,((e,t,n)=>{j(e,t,n),w(n.default,(e=>j(l,t,e)),(()=>H(r,t)))})),j(_,t,[l,r])}),((e,t)=>{j(P,t),j(_,t)})),Ce=e=>Z(le,e,((e,t,n)=>Ie(t,n)),((e,t)=>Oe(t))),Ie=(e,t)=>Z(x(le,e,(()=>(ze(e,1),E()))),t,((t,n,l)=>Le(e,t,n,l)),((t,n)=>je(e,t,n))),Le=(e,t,n,l,r)=>Z(x(t,n,(()=>(Me(e,n,1),E()))),l,((t,l,r)=>me(e,n,t,l,r)),((l,s)=>xe(e,t,n,l,s,r))),me=(e,t,n,l,r)=>{S(n,l)||ke(e,t,l,1);const s=F(n,l);r!==s&&(Ae(e,t,l,s,r),j(n,l,r))},Ee=(e,t,n,l,r)=>w(F(t,n),(t=>me(e,n,t,l,r)),(()=>Le(e,t,n,Re({[l]:r},e,n)))),Je=e=>{const[t]=x(K,e,Q),n=t();return S(F(le,e),n)?Je(e):n},Fe=e=>{var t;return null!=(t=F(le,e))?t:Ie(e,{})},Oe=e=>Ie(e,{}),je=(e,t,n)=>{const[,l]=x(K,e,Q);l(n),Le(e,t,n,{},!0)},xe=(e,t,n,l,r,s)=>{var o;const i=F(null==(o=F(_,e))?void 0:o[0],r);if(!g(i)&&!s)return me(e,n,l,r,i);const a=t=>{Ae(e,n,t,F(l,t)),ke(e,n,t,-1),j(l,t)};g(i)?a(r):O(l,a),C(l)&&(Me(e,n,-1),C(j(t,n))&&(ze(e,-1),j(le,e)))},ze=(e,t)=>te(r,e,t),Me=(e,t,n)=>te(x(p,e,E),t,n),ke=(e,t,n,l)=>te(x(x(y,e,E),t,E),n,l),Ae=(e,t,n,l,r)=>x(x(x(A,e,E),t,E),n,(()=>[l,0]))[1]=r,Ne=(e,t,n,l,r)=>(h(x(x(x(N,e,E),t,E),n,(()=>[])),l),r),Pe=(e,t,n)=>w(F(F(F(A,e),t),n),(([e,t])=>[!0,e,t]),(()=>[!1,...V(Qe(e,t,n))])),_e=e=>C(N)||C(fe[e])?0:L(e?M(N,k):N,((t,n)=>L(t,((t,l)=>L(t,((t,r)=>Te(fe[e],[n,l,r],t))))))),Be=(e,t,n)=>{if(!C(t))return Te(e,n),1},De=e=>{const t=C(ae[e]),n=C(de[e])&&C(ie[e])&&t&&C(se[e]),l=C(ce[e])&&C(ue[e])&&C(oe[e])&&C(re[e]);if(!n||!l){const s=e?[M(r),k(p),M(y,k),M(A,k)]:[r,p,y,A];if(!n){L(s[2],((t,n)=>L(t,((t,l)=>Be(de[e],t,[n,l])))));const n=G();L(s[1],((l,r)=>{Be(ie[e],l,[r])&&!t&&(Te(ae[e],[r,null]),H(n,r))})),t||L(s[3],((t,l)=>{if(!S(n,l)){const n=G();L(t,(e=>L(e,(([t,l],r)=>l!==t?H(n,r):m(e,r))))),L(n,(t=>Te(ae[e],[l,t])))}})),Be(se[e],s[0])}if(!l){let t;L(s[3],((n,l)=>{let r;L(n,((n,s)=>{let o;L(n,(([n,i],a)=>{i!==n&&(Te(ce[e],[l,s,a],i,n,Pe),t=r=o=1)})),o&&Te(ue[e],[l,s],Pe)})),r&&Te(oe[e],[l],Pe)})),t&&Te(re[e],void 0,Pe)}}},We=(e,...t)=>(Xe((()=>e(...c(t,u)))),et),$e=()=>z(le,(e=>z(e,z))),qe=()=>J(le),Ge=e=>J(F(le,u(e))),He=(e,t,n,l=0,r)=>{const s=[];return O(F(le,u(e)),((e,n)=>h(s,[g(t)?e:F(n,u(t)),e]))),c(v(s.sort((([e],[t])=>(e<t?-1:1)*(n?-1:1))),l,g(r)?r:l+r),(([,e])=>e))},Ke=(e,t)=>J(F(F(le,u(e)),u(t))),Qe=(e,t,n)=>F(F(F(le,u(e)),u(t)),u(n)),Ue=e=>We((()=>(e=>ee(e,ye,Ne))(e)?Ce(e):0)),Ve=()=>We((()=>Ce({}))),Xe=(e,t)=>{if(-1==l)return;Ye();const n=null==e?void 0:e();return Ze(t),n},Ye=()=>(l++,et),Ze=e=>(l>0&&(l--,0==l&&(n=!C(A),l=1,_e(1),n&&De(1),l=-1,(null==e?void 0:e(z(A,(e=>z(e,(e=>z(e,(e=>[...e]),(([e,t])=>e===t))),q)),q),z(N,(e=>z(e,z)))))&&(l=1,L(A,((e,t)=>L(e,((e,n)=>L(e,(([e],l)=>((e,t,n,l,r)=>g(r)?e.delCell(t,n,l,!0):e.setCell(t,n,l,r))(et,t,n,l,e))))))),l=-1,n=!1),Te(ve[0],void 0,n),_e(0),n&&De(0),Te(ve[1],void 0,n),l=0,d([A,N,r,p,y],I))),et),et={getTables:$e,getTableIds:qe,getTable:e=>z(F(le,u(e)),z),getRowIds:Ge,getSortedRowIds:He,getRow:(e,t)=>z(F(F(le,u(e)),u(t))),getCellIds:Ke,getCell:Qe,hasTables:()=>!C(le),hasTable:e=>S(le,u(e)),hasRow:(e,t)=>S(F(le,u(e)),u(t)),hasCell:(e,t,n)=>S(F(F(le,u(e)),u(t)),u(n)),getJson:()=>T(le),getSchemaJson:()=>T(P),setTables:Ue,setTable:(e,t)=>We((e=>ye(t,e)?Ie(e,t):0),e),setRow:(e,t,n)=>We(((e,t)=>ge(u(e),u(t),n)?Le(u(e),Fe(u(e)),u(t),n):0),e,t),addRow:(e,t)=>Xe((()=>{let n;return ge(e,n,t)&&(e=u(e),Le(e,Fe(e),n=Je(e),t)),n})),setPartialRow:(e,t,n)=>We(((e,t)=>{if(ge(e,t,n,1)){const l=Fe(e);$(n,((n,r)=>Ee(e,l,t,r,n)))}}),e,t),setCell:(e,n,l,r)=>We(((e,n,l)=>w(we(e,n,l,t(r)==o?r(Qe(e,n,l)):r),(t=>Ee(e,Fe(e),n,l,t)))),e,n,l),setJson:e=>{try{"{}"===e?Ve():Ue(b(e))}catch(e){}return et},setSchema:t=>We((()=>{if((e=(e=>ee(e,(e=>ee(e,(e=>{if(!ee(e,((e,t)=>[i,a].includes(t))))return!1;const t=e.type;return!(!R(t)&&t!=s||(Y(e.default)!=t&&W(e,a),0))})))))(t))&&(Se(t),!C(le))){const e=$e();Ve(),Ue(e)}})),delTables:Ve,delTable:e=>We((e=>S(le,e)?Oe(e):0),e),delRow:(e,t)=>We(((e,t)=>w(F(le,e),(n=>S(n,t)?je(e,n,t):0))),e,t),delCell:(e,t,n,l)=>We(((e,t,n)=>w(F(le,e),(r=>w(F(r,t),(s=>S(s,n)?xe(e,r,t,s,n,l):0))))),e,t,n),delSchema:()=>We((()=>{Se({}),e=!1})),transaction:Xe,startTransaction:Ye,finishTransaction:Ze,forEachTable:e=>L(le,((t,n)=>e(n,(e=>L(t,((t,n)=>e(n,(e=>O(t,e))))))))),forEachRow:(e,t)=>L(F(le,u(e)),((e,n)=>t(n,(t=>O(e,t))))),forEachCell:(e,t,n)=>O(F(F(le,u(e)),u(t)),n),addSortedRowIdsListener:(e,t,n,l,r,s,o)=>{let i=He(e,t,n,l,r);return he((()=>{const o=He(e,t,n,l,r);var a,u,d;u=i,f(a=o)===f(u)&&(d=(e,t)=>u[t]===e,a.every(d))||(i=o,s(et,e,t,n,l,r,i))}),ae[o?1:0],[e,t])},addWillFinishTransactionListener:e=>he(e,ve[0]),addDidFinishTransactionListener:e=>he(e,ve[1]),callListener:e=>(pe(e,[qe,Ge,Ke],(e=>g(e[2])?[]:V(Qe(...e)))),et),delListener:e=>(be(e),et),getListenerStats:()=>({}),createStore:ne};return $({Tables:[0,re],TableIds:[0,se],Table:[1,oe],RowIds:[1,ie],Row:[2,ue],CellIds:[2,de],Cell:[3,ce],InvalidCell:[3,fe]},(([e,t],n)=>{et["add"+n+"Listener"]=(...n)=>he(n[e],t[n[e+1]?1:0],e>0?v(n,0,e):void 0)})),B(et)};e.createStore=ne,Object.defineProperty(e,"__esModule",{value:!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).TinyBaseStore={});
|
package/lib/umd-es6/store.js.gz
CHANGED
|
Binary file
|