tinybase 4.0.0-beta.3 → 4.0.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/persisters/persister-automerge.cjs +1 -0
- package/lib/cjs/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-browser.cjs +1 -0
- package/lib/cjs/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs +1 -0
- package/lib/cjs/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-file.cjs +1 -0
- package/lib/cjs/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-remote.cjs +1 -0
- package/lib/cjs/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs +1 -0
- package/lib/cjs/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs +1 -0
- package/lib/cjs/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs/persisters/persister-yjs.cjs +1 -0
- package/lib/cjs/persisters/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/ui-react.cjs +1 -1
- package/lib/cjs/ui-react.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-automerge.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-browser.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-browser.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-cr-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-file.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-file.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-remote.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-sqlite-wasm.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs +1 -0
- package/lib/cjs-es6/persisters/persister-sqlite3.cjs.gz +0 -0
- package/lib/cjs-es6/persisters/persister-yjs.cjs +1 -0
- package/lib/cjs-es6/persisters/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/cjs-es6/ui-react.cjs +1 -1
- package/lib/cjs-es6/ui-react.cjs.gz +0 -0
- package/lib/debug/{persister-automerge.js → persisters/persister-automerge.js} +57 -30
- package/lib/debug/{persister-browser.js → persisters/persister-browser.js} +48 -19
- package/lib/debug/persisters/persister-cr-sqlite-wasm.js +665 -0
- package/lib/debug/{persister-file.js → persisters/persister-file.js} +50 -24
- package/lib/debug/{persister-remote.js → persisters/persister-remote.js} +47 -18
- package/lib/debug/persisters/persister-sqlite-wasm.js +673 -0
- package/lib/debug/persisters/persister-sqlite3.js +676 -0
- package/lib/debug/{persister-yjs.js → persisters/persister-yjs.js} +48 -19
- package/lib/debug/persisters.js +46 -17
- package/lib/debug/queries.js +1 -1
- package/lib/debug/store.js +104 -40
- package/lib/debug/tinybase.js +148 -57
- package/lib/debug/tools.js +129 -27
- package/lib/debug/ui-react.js +24 -0
- package/lib/es6/persisters/persister-automerge.js +1 -0
- package/lib/es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/es6/persisters/persister-browser.js +1 -0
- package/lib/es6/persisters/persister-browser.js.gz +0 -0
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js +1 -0
- package/lib/es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-file.js +1 -0
- package/lib/es6/persisters/persister-file.js.gz +0 -0
- package/lib/es6/persisters/persister-remote.js +1 -0
- package/lib/es6/persisters/persister-remote.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js +1 -0
- package/lib/es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/es6/persisters/persister-sqlite3.js +1 -0
- package/lib/es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/es6/persisters/persister-yjs.js +1 -0
- package/lib/es6/persisters/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/es6/ui-react.js +1 -1
- package/lib/es6/ui-react.js.gz +0 -0
- package/lib/persisters/persister-automerge.js +1 -0
- package/lib/persisters/persister-automerge.js.gz +0 -0
- package/lib/persisters/persister-browser.js +1 -0
- package/lib/persisters/persister-browser.js.gz +0 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js +1 -0
- package/lib/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-file.js +1 -0
- package/lib/persisters/persister-file.js.gz +0 -0
- package/lib/persisters/persister-remote.js +1 -0
- package/lib/persisters/persister-remote.js.gz +0 -0
- package/lib/persisters/persister-sqlite-wasm.js +1 -0
- package/lib/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/persisters/persister-sqlite3.js +1 -0
- package/lib/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/persisters/persister-yjs.js +1 -0
- package/lib/persisters/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/checkpoints.d.ts +0 -27
- package/lib/types/common.d.ts +0 -9
- package/lib/types/indexes.d.ts +0 -26
- package/lib/types/metrics.d.ts +0 -23
- package/lib/types/{persister-automerge.d.ts → persisters/persister-automerge.d.ts} +4 -6
- package/lib/types/{persister-browser.d.ts → persisters/persister-browser.d.ts} +2 -5
- package/lib/types/persisters/persister-cr-sqlite-wasm.d.ts +95 -0
- package/lib/types/{persister-file.d.ts → persisters/persister-file.d.ts} +3 -5
- package/lib/types/{persister-remote.d.ts → persisters/persister-remote.d.ts} +2 -4
- package/lib/types/persisters/persister-sqlite-wasm.d.ts +102 -0
- package/lib/types/persisters/persister-sqlite3.d.ts +109 -0
- package/lib/types/{persister-yjs.d.ts → persisters/persister-yjs.d.ts} +4 -6
- package/lib/types/persisters.d.ts +517 -27
- package/lib/types/queries.d.ts +52 -127
- package/lib/types/relationships.d.ts +0 -26
- package/lib/types/store.d.ts +397 -193
- package/lib/types/tinybase.d.ts +0 -1
- package/lib/types/tools.d.ts +15 -28
- package/lib/types/ui-react.d.ts +196 -181
- package/lib/types/with-schemas/checkpoints.d.ts +5 -32
- package/lib/types/with-schemas/common.d.ts +0 -9
- package/lib/types/with-schemas/indexes.d.ts +9 -35
- package/lib/types/with-schemas/metrics.d.ts +9 -32
- package/lib/types/with-schemas/{persister-automerge.d.ts → persisters/persister-automerge.d.ts} +4 -6
- package/lib/types/with-schemas/{persister-browser.d.ts → persisters/persister-browser.d.ts} +2 -5
- package/lib/types/with-schemas/persisters/persister-cr-sqlite-wasm.d.ts +105 -0
- package/lib/types/with-schemas/{persister-file.d.ts → persisters/persister-file.d.ts} +3 -5
- package/lib/types/with-schemas/{persister-remote.d.ts → persisters/persister-remote.d.ts} +2 -4
- package/lib/types/with-schemas/persisters/persister-sqlite-wasm.d.ts +113 -0
- package/lib/types/with-schemas/persisters/persister-sqlite3.d.ts +119 -0
- package/lib/types/with-schemas/{persister-yjs.d.ts → persisters/persister-yjs.d.ts} +4 -6
- package/lib/types/with-schemas/persisters.d.ts +534 -29
- package/lib/types/with-schemas/queries.d.ts +61 -224
- package/lib/types/with-schemas/relationships.d.ts +9 -35
- package/lib/types/with-schemas/store.d.ts +544 -236
- package/lib/types/with-schemas/tinybase.d.ts +0 -1
- package/lib/types/with-schemas/tools.d.ts +19 -32
- package/lib/types/with-schemas/ui-react.d.ts +221 -186
- package/lib/ui-react.js +1 -1
- package/lib/ui-react.js.gz +0 -0
- package/lib/umd/persisters/persister-automerge.js +1 -0
- package/lib/umd/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd/persisters/persister-browser.js +1 -0
- package/lib/umd/persisters/persister-browser.js.gz +0 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js +1 -0
- package/lib/umd/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-file.js +1 -0
- package/lib/umd/persisters/persister-file.js.gz +0 -0
- package/lib/umd/persisters/persister-remote.js +1 -0
- package/lib/umd/persisters/persister-remote.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js +1 -0
- package/lib/umd/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd/persisters/persister-sqlite3.js +1 -0
- package/lib/umd/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd/persisters/persister-yjs.js +1 -0
- package/lib/umd/persisters/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/ui-react.js +1 -1
- package/lib/umd/ui-react.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-automerge.js +1 -0
- package/lib/umd-es6/persisters/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-browser.js +1 -0
- package/lib/umd-es6/persisters/persister-browser.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js +1 -0
- package/lib/umd-es6/persisters/persister-cr-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-file.js +1 -0
- package/lib/umd-es6/persisters/persister-file.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-remote.js +1 -0
- package/lib/umd-es6/persisters/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js +1 -0
- package/lib/umd-es6/persisters/persister-sqlite-wasm.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js +1 -0
- package/lib/umd-es6/persisters/persister-sqlite3.js.gz +0 -0
- package/lib/umd-es6/persisters/persister-yjs.js +1 -0
- package/lib/umd-es6/persisters/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/lib/umd-es6/ui-react.js +1 -1
- package/lib/umd-es6/ui-react.js.gz +0 -0
- package/package.json +39 -22
- package/readme.md +3 -3
- package/lib/cjs/persister-automerge.cjs +0 -1
- package/lib/cjs/persister-automerge.cjs.gz +0 -0
- package/lib/cjs/persister-browser.cjs +0 -1
- package/lib/cjs/persister-browser.cjs.gz +0 -0
- package/lib/cjs/persister-file.cjs +0 -1
- package/lib/cjs/persister-file.cjs.gz +0 -0
- package/lib/cjs/persister-remote.cjs +0 -1
- package/lib/cjs/persister-remote.cjs.gz +0 -0
- package/lib/cjs/persister-yjs.cjs +0 -1
- package/lib/cjs/persister-yjs.cjs.gz +0 -0
- package/lib/cjs-es6/persister-automerge.cjs +0 -1
- package/lib/cjs-es6/persister-automerge.cjs.gz +0 -0
- package/lib/cjs-es6/persister-browser.cjs +0 -1
- package/lib/cjs-es6/persister-browser.cjs.gz +0 -0
- package/lib/cjs-es6/persister-file.cjs +0 -1
- package/lib/cjs-es6/persister-file.cjs.gz +0 -0
- package/lib/cjs-es6/persister-remote.cjs +0 -1
- package/lib/cjs-es6/persister-remote.cjs.gz +0 -0
- package/lib/cjs-es6/persister-yjs.cjs +0 -1
- package/lib/cjs-es6/persister-yjs.cjs.gz +0 -0
- package/lib/es6/persister-automerge.js +0 -1
- package/lib/es6/persister-automerge.js.gz +0 -0
- package/lib/es6/persister-browser.js +0 -1
- package/lib/es6/persister-browser.js.gz +0 -0
- package/lib/es6/persister-file.js +0 -1
- package/lib/es6/persister-file.js.gz +0 -0
- package/lib/es6/persister-remote.js +0 -1
- package/lib/es6/persister-remote.js.gz +0 -0
- package/lib/es6/persister-yjs.js +0 -1
- package/lib/es6/persister-yjs.js.gz +0 -0
- package/lib/persister-automerge.js +0 -1
- package/lib/persister-automerge.js.gz +0 -0
- package/lib/persister-browser.js +0 -1
- package/lib/persister-browser.js.gz +0 -0
- package/lib/persister-file.js +0 -1
- package/lib/persister-file.js.gz +0 -0
- package/lib/persister-remote.js +0 -1
- package/lib/persister-remote.js.gz +0 -0
- package/lib/persister-yjs.js +0 -1
- package/lib/persister-yjs.js.gz +0 -0
- package/lib/umd/persister-automerge.js +0 -1
- package/lib/umd/persister-automerge.js.gz +0 -0
- package/lib/umd/persister-browser.js +0 -1
- package/lib/umd/persister-browser.js.gz +0 -0
- package/lib/umd/persister-file.js +0 -1
- package/lib/umd/persister-file.js.gz +0 -0
- package/lib/umd/persister-remote.js +0 -1
- package/lib/umd/persister-remote.js.gz +0 -0
- package/lib/umd/persister-yjs.js +0 -1
- package/lib/umd/persister-yjs.js.gz +0 -0
- package/lib/umd-es6/persister-automerge.js +0 -1
- package/lib/umd-es6/persister-automerge.js.gz +0 -0
- package/lib/umd-es6/persister-browser.js +0 -1
- package/lib/umd-es6/persister-browser.js.gz +0 -0
- package/lib/umd-es6/persister-file.js +0 -1
- package/lib/umd-es6/persister-file.js.gz +0 -0
- package/lib/umd-es6/persister-remote.js +0 -1
- package/lib/umd-es6/persister-remote.js.gz +0 -0
- package/lib/umd-es6/persister-yjs.js +0 -1
- package/lib/umd-es6/persister-yjs.js.gz +0 -0
package/lib/ui-react.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e,{useContext as o}from"react";const t=e=>typeof e,s="",d=t(s),r="Ids",n="Table",l=n+"s",I=n+r,u="Row",i=u+r,c="Sorted"+u+r,a="Cell",p=a+r,g="Value",b=g+"s",w=g+r,R=(e,o)=>e.map(o),C=e=>null==e,m=(e,o,t)=>C(e)?t?.():o(e),k=e=>t(e)==d,y=()=>{},{createContext:h,useContext:v}=e,q=h([]),P=(e,o)=>{const t=v(q);return C(e)?t[o]:k(e)?((e,o)=>m(e,(e=>e[o])))(t[o+1],e):e},x=(e,o)=>{const t=P(e,o);return C(e)||k(e)?t:e},S=e=>P(e,0),f=e=>P(e,2),T=e=>P(e,4),B=e=>P(e,6),L=e=>P(e,8),M=e=>P(e,10),V=e=>x(e,0),A=e=>x(e,2),E=e=>x(e,4),F=e=>x(e,6),j=e=>x(e,8),z=e=>x(e,10),{useCallback:D,useEffect:G,useMemo:H,useRef:J,useState:K}=e,N=(e,o,t=[])=>{const s=H((()=>o(e)),[e,...t]);return G((()=>()=>s.destroy()),[s]),s},O=(e,o,t,s=[],d)=>{const[,r]=K(),n=D((()=>o?.["get"+e]?.(...s)??t),[o,...s]),[l]=K(n),I=J(l);return H((()=>I.current=n()),[n]),Q(e,o,((...e)=>{I.current=C(d)?n():e[d],r([])}),[],s),I.current},Q=(e,o,t,s=[],d=[],...r)=>G((()=>{const s=o?.["add"+e+"Listener"]?.(...d,t,...r);return()=>o?.delListener(s)}),[o,...d,...s,...r]),U=(e,o,t,s=[],d=y,r=[],...n)=>{const l=V(e);return D((e=>m(l,(s=>m(t(e,s),(e=>d(s["set"+o](...n,e),e)))))),[l,o,...s,...r,...n])},W=(e,o,t=y,s=[],...d)=>{const r=V(e);return D((()=>t(r?.["del"+o](...d))),[r,o,...s,...d])},X=(e,o,t)=>{const s=z(e);return D((()=>s?.[o](t)),[s,o,t])},Y=(e,o=[])=>H(e,o),Z=e=>O(l,V(e),{}),$=e=>O(I,V(e),[],[]),_=(e,o)=>O(n,V(o),{},[e]),ee=(e,o)=>O(i,V(o),[],[e]),oe=(e,o,t,s=0,d,r)=>O(c,V(r),[],[e,o,t,s,d],6),te=(e,o,t)=>O(u,V(t),{},[e,o]),se=(e,o,t)=>O(p,V(t),[],[e,o]),de=(e,o,t,s)=>O(a,V(s),void 0,[e,o,t],4),re=e=>O(b,V(e),{}),ne=e=>O(w,V(e),[],[]),le=(e,o)=>O(g,V(o),void 0,[e]),Ie=(e,o,t,s,d)=>U(t,l,e,o,s,d),ue=(e,o,t,s,d,r)=>U(s,n,o,t,d,r,e),ie=(e,o,t,s,d,r,n)=>U(d,u,t,s,r,n,e,o),ce=(e,o,t=[],s,d=y,r=[],n=!0)=>{const l=V(s);return D((t=>m(l,(s=>m(o(t,s),(o=>d(s.addRow(e,o,n),s,o)))))),[l,e,...t,...r,n])},ae=(e,o,t,s,d,r,n)=>U(d,"PartialRow",t,s,r,n,e,o),pe=(e,o,t,s,d,r,n,l)=>U(r,a,s,d,n,l,e,o,t),ge=(e,o,t,s,d)=>U(t,b,e,o,s,d),be=(e,o,t,s,d)=>U(t,"PartialValues",e,o,s,d),we=(e,o,t,s,d,r)=>U(s,g,o,t,d,r,e),Re=(e,o,t)=>W(e,l,o,t),Ce=(e,o,t,s)=>W(o,n,t,s,e),me=(e,o,t,s,d)=>W(t,u,s,d,e,o),ke=(e,o,t,s,d,r,n)=>W(d,a,r,n,e,o,t,s),ye=(e,o,t)=>W(e,b,o,t),he=(e,o,t,s)=>W(o,g,t,s,e),ve=(e,o,t,s)=>Q(l,V(s),e,o,[],t),qe=(e,o,t,s)=>Q(I,V(s),e,o,[],t),Pe=(e,o,t,s,d)=>Q(n,V(d),o,t,[e],s),xe=(e,o,t,s,d)=>Q(i,V(d),o,t,[e],s),Se=(e,o,t,s,d,r,n,l,I)=>Q(c,V(I),r,n,[e,o,t,s,d],l),fe=(e,o,t,s,d,r)=>Q(u,V(r),t,s,[e,o],d),Te=(e,o,t,s,d,r)=>Q(p,V(r),t,s,[e,o],d),Be=(e,o,t,s,d,r,n)=>Q(a,V(n),s,d,[e,o,t],r),Le=(e,o,t,s)=>Q(b,V(s),e,o,[],t),Me=(e,o,t,s)=>Q(w,V(s),e,o,[],t),Ve=(e,o,t,s,d)=>Q(g,V(d),o,t,[e],s),Ae=(e,o,t)=>N(e,o,t),Ee=(e,o)=>O("Metric",A(o),void 0,[e]),Fe=(e,o,t,s)=>Q("Metric",A(s),o,t,[e]),je=(e,o,t)=>N(e,o,t),ze=(e,o)=>O("SliceIds",E(o),[],[e]),De=(e,o,t)=>O("SliceRowIds",E(t),[],[e,o]),Ge=(e,o,t,s)=>Q("SliceIds",E(s),o,t,[e]),He=(e,o,t,s,d)=>Q("SliceRowIds",E(d),t,s,[e,o]),Je=(e,o,t)=>N(e,o,t),Ke=(e,o,t)=>O("RemoteRowId",F(t),void 0,[e,o]),Ne=(e,o,t)=>O("LocalRowIds",F(t),[],[e,o]),Oe=(e,o,t)=>O("LinkedRowIds",F(t),[],[e,o]),Qe=(e,o,t,s,d)=>Q("RemoteRowId",F(d),t,s,[e,o]),Ue=(e,o,t,s,d)=>Q("LocalRowIds",F(d),t,s,[e,o]),We=(e,o,t,s,d)=>Q("LinkedRowIds",F(d),t,s,[e,o]),Xe=(e,o,t)=>N(e,o,t),Ye=(e,o)=>O("ResultTable",j(o),{},[e]),Ze=(e,o)=>O("ResultRowIds",j(o),[],[e]),$e=(e,o,t,s=0,d,r)=>O("ResultSortedRowIds",j(r),[],[e,o,t,s,d],6),_e=(e,o,t)=>O("ResultRow",j(t),{},[e,o]),eo=(e,o,t)=>O("ResultCellIds",j(t),[],[e,o]),oo=(e,o,t,s)=>O("ResultCell",j(s),void 0,[e,o,t]),to=(e,o,t,s)=>Q("ResultTable",j(s),o,t,[e]),so=(e,o,t,s)=>Q("ResultRowIds",j(s),o,t,[e]),ro=(e,o,t,s,d,r,n,l)=>Q("ResultSortedRowIds",j(l),r,n,[e,o,t,s,d]),no=(e,o,t,s,d)=>Q("ResultRow",j(d),t,s,[e,o]),lo=(e,o,t,s,d)=>Q("ResultCellIds",j(d),t,s,[e,o]),Io=(e,o,t,s,d,r)=>Q("ResultCell",j(r),s,d,[e,o,t]),uo=(e,o,t)=>N(e,o,t),io=e=>O("CheckpointIds",z(e),[[],void 0,[]]),co=(e,o)=>O("Checkpoint",z(o),void 0,[e]),ao=(e=y,o=[],t,s=y,d=[])=>{const r=z(t);return D((o=>m(r,(t=>{const d=e(o);s(t.addCheckpoint(d),t,d)}))),[r,...o,...d])},po=e=>X(e,"goBackward"),go=e=>X(e,"goForward"),bo=(e,o=[],t,s=y,d=[])=>{const r=z(t);return D((o=>m(r,(t=>m(e(o),(e=>s(t.goTo(e),e)))))),[r,...o,...d])},wo=e=>{const o=z(e),[t,d]=io(o);return[(r=t,!(0==(e=>e.length)(r))),po(o),d,m(d,(e=>o?.getCheckpoint(e)))??s];var r},Ro=e=>{const o=z(e),[,,[t]]=io(o);return[!C(t),go(o),t,m(t,(e=>o?.getCheckpoint(e)))??s]},Co=(e,o,t)=>Q("CheckpointIds",z(t),e,o),mo=(e,o,t,s)=>Q("Checkpoint",z(s),o,t,[e]),ko=(e,o,t=[],s,d=[])=>{const[,r]=K(),n=H((()=>o(e)),[e,...t]);return G((()=>((async()=>{await(s?.(n)),r(1)})(),()=>{n.destroy()})),[n,...d]),n},{createElement:yo,useMemo:ho}=e,vo=({tableId:e,store:o,rowComponent:t=Mo,getRowComponentProps:s,separator:d,debugIds:r},n)=>Bo(R(n,(d=>yo(t,{...fo(s,d),key:d,tableId:e,rowId:d,store:o,debugIds:r}))),d,r,e),qo=({queryId:e,queries:o,resultRowComponent:t=Oo,getResultRowComponentProps:s,separator:d,debugIds:r},n)=>Bo(R(n,(d=>yo(t,{...fo(s,d),key:d,queryId:e,rowId:d,queries:o,debugIds:r}))),d,r,e),Po=e=>{const o=F(e);return[o,o?.getStore()]},xo=({relationshipId:e,relationships:o,rowComponent:t=Mo,getRowComponentProps:s,separator:d,debugIds:r},n,l)=>{const[I,u]=Po(o),i=I?.getLocalTableId(e),c=n(e,l,I);return Bo(R(c,(e=>yo(t,{...fo(s,e),key:e,tableId:i,rowId:e,store:u,debugIds:r}))),d,r,l)},So=e=>({checkpoints:o,checkpointComponent:t=Wo,getCheckpointComponentProps:s,separator:d,debugIds:r})=>{const n=z(o);return Bo(R(e(io(n)),(e=>yo(t,{...fo(s,e),key:e,checkpoints:n,checkpointId:e,debugIds:r}))),d)},fo=(e,o)=>C(e)?{}:e(o),To=({store:e,storesById:t,metrics:s,metricsById:d,indexes:r,indexesById:n,relationships:l,relationshipsById:I,queries:u,queriesById:i,checkpoints:c,checkpointsById:a,children:p})=>{const g=o(q);return yo(q.Provider,{value:ho((()=>[e??g[0],{...g[1],...t},s??g[2],{...g[3],...d},r??g[4],{...g[5],...n},l??g[6],{...g[7],...I},u??g[8],{...g[9],...i},c??g[10],{...g[11],...a}]),[e,t,s,d,r,n,l,I,u,i,c,a,g])},p)},Bo=(e,o,t,s)=>{const d=C(o)||!Array.isArray(e)?e:R(e,((e,t)=>t>0?[o,e]:e));return t?[s,":{",d,"}"]:d},Lo=({tableId:e,rowId:o,cellId:t,store:d,debugIds:r})=>Bo(s+(de(e,o,t,d)??s),void 0,r,t),Mo=({tableId:e,rowId:o,store:t,cellComponent:s=Lo,getCellComponentProps:d,separator:r,debugIds:n})=>Bo(R(se(e,o,t),(r=>yo(s,{...fo(d,r),key:r,tableId:e,rowId:o,cellId:r,store:t,debugIds:n}))),r,n,o),Vo=e=>vo(e,ee(e.tableId,e.store)),Ao=({cellId:e,descending:o,offset:t,limit:s,...d})=>vo(d,oe(d.tableId,e,o,t,s,d.store)),Eo=({store:e,tableComponent:o=Vo,getTableComponentProps:t,separator:s,debugIds:d})=>Bo(R($(e),(s=>yo(o,{...fo(t,s),key:s,tableId:s,store:e,debugIds:d}))),s),Fo=({valueId:e,store:o,debugIds:t})=>Bo(s+(le(e,o)??s),void 0,t,e),jo=({store:e,valueComponent:o=Fo,getValueComponentProps:t,separator:s,debugIds:d})=>Bo(R(ne(e),(s=>yo(o,{...fo(t,s),key:s,valueId:s,store:e,debugIds:d}))),s),zo=({metricId:e,metrics:o,debugIds:t})=>Bo(Ee(e,o)??s,void 0,t,e),Do=({indexId:e,sliceId:o,indexes:t,rowComponent:s=Mo,getRowComponentProps:d,separator:r,debugIds:n})=>{const l=E(t),I=l?.getStore(),u=l?.getTableId(e),i=De(e,o,l);return Bo(R(i,(e=>yo(s,{...fo(d,e),key:e,tableId:u,rowId:e,store:I,debugIds:n}))),r,n,o)},Go=({indexId:e,indexes:o,sliceComponent:t=Do,getSliceComponentProps:s,separator:d,debugIds:r})=>Bo(R(ze(e,o),(d=>yo(t,{...fo(s,d),key:d,indexId:e,sliceId:d,indexes:o,debugIds:r}))),d,r,e),Ho=({relationshipId:e,localRowId:o,relationships:t,rowComponent:s=Mo,getRowComponentProps:d,debugIds:r})=>{const[n,l]=Po(t),I=n?.getRemoteTableId(e),u=Ke(e,o,n);return Bo(C(I)||C(u)?null:yo(s,{...fo(d,u),key:u,tableId:I,rowId:u,store:l,debugIds:r}),void 0,r,o)},Jo=e=>xo(e,Ne,e.remoteRowId),Ko=e=>xo(e,Oe,e.firstRowId),No=({queryId:e,rowId:o,cellId:t,queries:d,debugIds:r})=>Bo(s+(oo(e,o,t,d)??s),void 0,r,t),Oo=({queryId:e,rowId:o,queries:t,resultCellComponent:s=No,getResultCellComponentProps:d,separator:r,debugIds:n})=>Bo(R(eo(e,o,t),(r=>yo(s,{...fo(d,r),key:r,queryId:e,rowId:o,cellId:r,queries:t,debugIds:n}))),r,n,o),Qo=e=>qo(e,Ze(e.queryId,e.queries)),Uo=({cellId:e,descending:o,offset:t,limit:s,...d})=>qo(d,$e(d.queryId,e,o,t,s,d.queries)),Wo=({checkpoints:e,checkpointId:o,debugIds:t})=>Bo(co(o,e)??s,void 0,t,o),Xo=So((e=>e[0])),Yo=So((e=>C(e[1])?[]:[e[1]])),Zo=So((e=>e[2]));export{Xo as BackwardCheckpointsView,Lo as CellView,Wo as CheckpointView,Yo as CurrentCheckpointView,Zo as ForwardCheckpointsView,Go as IndexView,Ko as LinkedRowsView,Jo as LocalRowsView,zo as MetricView,To as Provider,Ho as RemoteRowView,No as ResultCellView,Oo as ResultRowView,Uo as ResultSortedTableView,Qo as ResultTableView,Mo as RowView,Do as SliceView,Ao as SortedTableView,Vo as TableView,Eo as TablesView,Fo as ValueView,jo as ValuesView,vo as tableView,ce as useAddRowCallback,de as useCell,se as useCellIds,Te as useCellIdsListener,Be as useCellListener,co as useCheckpoint,io as useCheckpointIds,Co as useCheckpointIdsListener,mo as useCheckpointListener,M as useCheckpoints,uo as useCreateCheckpoints,je as useCreateIndexes,Ae as useCreateMetrics,ko as useCreatePersister,Xe as useCreateQueries,Je as useCreateRelationships,Y as useCreateStore,ke as useDelCellCallback,me as useDelRowCallback,Ce as useDelTableCallback,Re as useDelTablesCallback,he as useDelValueCallback,ye as useDelValuesCallback,po as useGoBackwardCallback,go as useGoForwardCallback,bo as useGoToCallback,T as useIndexes,Oe as useLinkedRowIds,We as useLinkedRowIdsListener,Ne as useLocalRowIds,Ue as useLocalRowIdsListener,Ee as useMetric,Fe as useMetricListener,f as useMetrics,L as useQueries,Ro as useRedoInformation,B as useRelationships,Ke as useRemoteRowId,Qe as useRemoteRowIdListener,oo as useResultCell,eo as useResultCellIds,lo as useResultCellIdsListener,Io as useResultCellListener,_e as useResultRow,Ze as useResultRowIds,so as useResultRowIdsListener,no as useResultRowListener,$e as useResultSortedRowIds,ro as useResultSortedRowIdsListener,Ye as useResultTable,to as useResultTableListener,te as useRow,ee as useRowIds,xe as useRowIdsListener,fe as useRowListener,pe as useSetCellCallback,ao as useSetCheckpointCallback,ae as useSetPartialRowCallback,be as useSetPartialValuesCallback,ie as useSetRowCallback,ue as useSetTableCallback,Ie as useSetTablesCallback,we as useSetValueCallback,ge as useSetValuesCallback,ze as useSliceIds,Ge as useSliceIdsListener,De as useSliceRowIds,He as useSliceRowIdsListener,oe as useSortedRowIds,Se as useSortedRowIdsListener,S as useStore,_ as useTable,$ as useTableIds,qe as useTableIdsListener,Pe as useTableListener,Z as useTables,ve as useTablesListener,wo as useUndoInformation,le as useValue,ne as useValueIds,Me as useValueIdsListener,Ve as useValueListener,re as useValues,Le as useValuesListener};
|
|
1
|
+
import e,{useContext as o}from"react";const t=e=>typeof e,s="",d=t(s),r="Ids",n="Table",l=n+"s",I=n+r,u="Row",i=u+r,c="Sorted"+u+r,a="Cell",p=a+r,g="Value",b=g+"s",w=g+r,R=(e,o)=>e.map(o),C=e=>null==e,m=(e,o,t)=>C(e)?t?.():o(e),k=e=>t(e)==d,y=()=>{},{createContext:h,useContext:v}=e,q=h([]),P=(e,o)=>{const t=v(q);return C(e)?t[o]:k(e)?((e,o)=>m(e,(e=>e[o])))(t[o+1],e):e},x=(e,o)=>{const t=P(e,o);return C(e)||k(e)?t:e},S=e=>P(e,0),f=e=>P(e,2),T=e=>P(e,4),B=e=>P(e,6),L=e=>P(e,8),M=e=>P(e,10),V=e=>x(e,0),A=e=>x(e,2),E=e=>x(e,4),F=e=>x(e,6),j=e=>x(e,8),z=e=>x(e,10),{useCallback:D,useEffect:G,useMemo:H,useRef:J,useState:K}=e,N=(e,o,t=[])=>{const s=H((()=>o(e)),[e,...t]);return G((()=>()=>s.destroy()),[s]),s},O=(e,o,t,s=[],d)=>{const[,r]=K(),n=D((()=>o?.["get"+e]?.(...s)??t),[o,...s]),[l]=K(n),I=J(l);return H((()=>I.current=n()),[n]),Q(e,o,((...e)=>{I.current=C(d)?n():e[d],r([])}),[],s),I.current},Q=(e,o,t,s=[],d=[],...r)=>G((()=>{const s=o?.["add"+e+"Listener"]?.(...d,t,...r);return()=>o?.delListener(s)}),[o,...d,...s,...r]),U=(e,o,t,s=[],d=y,r=[],...n)=>{const l=V(e);return D((e=>m(l,(s=>m(t(e,s),(e=>d(s["set"+o](...n,e),e)))))),[l,o,...s,...r,...n])},W=(e,o,t=y,s=[],...d)=>{const r=V(e);return D((()=>t(r?.["del"+o](...d))),[r,o,...s,...d])},X=(e,o,t)=>{const s=z(e);return D((()=>s?.[o](t)),[s,o,t])},Y=(e,o=[])=>H(e,o),Z=e=>O(l,V(e),{}),$=e=>O(I,V(e),[],[]),_=(e,o)=>O(n,V(o),{},[e]),ee=(e,o)=>O(n+p,V(o),[],[e]),oe=(e,o)=>O(i,V(o),[],[e]),te=(e,o,t,s=0,d,r)=>O(c,V(r),[],[e,o,t,s,d],6),se=(e,o,t)=>O(u,V(t),{},[e,o]),de=(e,o,t)=>O(p,V(t),[],[e,o]),re=(e,o,t,s)=>O(a,V(s),void 0,[e,o,t],4),ne=e=>O(b,V(e),{}),le=e=>O(w,V(e),[],[]),Ie=(e,o)=>O(g,V(o),void 0,[e]),ue=(e,o,t,s,d)=>U(t,l,e,o,s,d),ie=(e,o,t,s,d,r)=>U(s,n,o,t,d,r,e),ce=(e,o,t,s,d,r,n)=>U(d,u,t,s,r,n,e,o),ae=(e,o,t=[],s,d=y,r=[],n=!0)=>{const l=V(s);return D((t=>m(l,(s=>m(o(t,s),(o=>d(s.addRow(e,o,n),s,o)))))),[l,e,...t,...r,n])},pe=(e,o,t,s,d,r,n)=>U(d,"PartialRow",t,s,r,n,e,o),ge=(e,o,t,s,d,r,n,l)=>U(r,a,s,d,n,l,e,o,t),be=(e,o,t,s,d)=>U(t,b,e,o,s,d),we=(e,o,t,s,d)=>U(t,"PartialValues",e,o,s,d),Re=(e,o,t,s,d,r)=>U(s,g,o,t,d,r,e),Ce=(e,o,t)=>W(e,l,o,t),me=(e,o,t,s)=>W(o,n,t,s,e),ke=(e,o,t,s,d)=>W(t,u,s,d,e,o),ye=(e,o,t,s,d,r,n)=>W(d,a,r,n,e,o,t,s),he=(e,o,t)=>W(e,b,o,t),ve=(e,o,t,s)=>W(o,g,t,s,e),qe=(e,o,t,s)=>Q(l,V(s),e,o,[],t),Pe=(e,o,t,s)=>Q(I,V(s),e,o,[],t),xe=(e,o,t,s,d)=>Q(n,V(d),o,t,[e],s),Se=(e,o,t,s,d)=>Q(n+p,V(d),o,t,[e],s),fe=(e,o,t,s,d)=>Q(i,V(d),o,t,[e],s),Te=(e,o,t,s,d,r,n,l,I)=>Q(c,V(I),r,n,[e,o,t,s,d],l),Be=(e,o,t,s,d,r)=>Q(u,V(r),t,s,[e,o],d),Le=(e,o,t,s,d,r)=>Q(p,V(r),t,s,[e,o],d),Me=(e,o,t,s,d,r,n)=>Q(a,V(n),s,d,[e,o,t],r),Ve=(e,o,t,s)=>Q(b,V(s),e,o,[],t),Ae=(e,o,t,s)=>Q(w,V(s),e,o,[],t),Ee=(e,o,t,s,d)=>Q(g,V(d),o,t,[e],s),Fe=(e,o,t)=>N(e,o,t),je=(e,o)=>O("Metric",A(o),void 0,[e]),ze=(e,o,t,s)=>Q("Metric",A(s),o,t,[e]),De=(e,o,t)=>N(e,o,t),Ge=(e,o)=>O("SliceIds",E(o),[],[e]),He=(e,o,t)=>O("SliceRowIds",E(t),[],[e,o]),Je=(e,o,t,s)=>Q("SliceIds",E(s),o,t,[e]),Ke=(e,o,t,s,d)=>Q("SliceRowIds",E(d),t,s,[e,o]),Ne=(e,o,t)=>N(e,o,t),Oe=(e,o,t)=>O("RemoteRowId",F(t),void 0,[e,o]),Qe=(e,o,t)=>O("LocalRowIds",F(t),[],[e,o]),Ue=(e,o,t)=>O("LinkedRowIds",F(t),[],[e,o]),We=(e,o,t,s,d)=>Q("RemoteRowId",F(d),t,s,[e,o]),Xe=(e,o,t,s,d)=>Q("LocalRowIds",F(d),t,s,[e,o]),Ye=(e,o,t,s,d)=>Q("LinkedRowIds",F(d),t,s,[e,o]),Ze=(e,o,t)=>N(e,o,t),$e=(e,o)=>O("ResultTable",j(o),{},[e]),_e=(e,o)=>O("ResultRowIds",j(o),[],[e]),eo=(e,o,t,s=0,d,r)=>O("ResultSortedRowIds",j(r),[],[e,o,t,s,d],6),oo=(e,o,t)=>O("ResultRow",j(t),{},[e,o]),to=(e,o,t)=>O("ResultCellIds",j(t),[],[e,o]),so=(e,o,t,s)=>O("ResultCell",j(s),void 0,[e,o,t]),ro=(e,o,t,s)=>Q("ResultTable",j(s),o,t,[e]),no=(e,o,t,s)=>Q("ResultRowIds",j(s),o,t,[e]),lo=(e,o,t,s,d,r,n,l)=>Q("ResultSortedRowIds",j(l),r,n,[e,o,t,s,d]),Io=(e,o,t,s,d)=>Q("ResultRow",j(d),t,s,[e,o]),uo=(e,o,t,s,d)=>Q("ResultCellIds",j(d),t,s,[e,o]),io=(e,o,t,s,d,r)=>Q("ResultCell",j(r),s,d,[e,o,t]),co=(e,o,t)=>N(e,o,t),ao=e=>O("CheckpointIds",z(e),[[],void 0,[]]),po=(e,o)=>O("Checkpoint",z(o),void 0,[e]),go=(e=y,o=[],t,s=y,d=[])=>{const r=z(t);return D((o=>m(r,(t=>{const d=e(o);s(t.addCheckpoint(d),t,d)}))),[r,...o,...d])},bo=e=>X(e,"goBackward"),wo=e=>X(e,"goForward"),Ro=(e,o=[],t,s=y,d=[])=>{const r=z(t);return D((o=>m(r,(t=>m(e(o),(e=>s(t.goTo(e),e)))))),[r,...o,...d])},Co=e=>{const o=z(e),[t,d]=ao(o);return[(r=t,!(0==(e=>e.length)(r))),bo(o),d,m(d,(e=>o?.getCheckpoint(e)))??s];var r},mo=e=>{const o=z(e),[,,[t]]=ao(o);return[!C(t),wo(o),t,m(t,(e=>o?.getCheckpoint(e)))??s]},ko=(e,o,t)=>Q("CheckpointIds",z(t),e,o),yo=(e,o,t,s)=>Q("Checkpoint",z(s),o,t,[e]),ho=(e,o,t=[],s,d=[])=>{const[,r]=K(),n=H((()=>o(e)),[e,...t]);return G((()=>((async()=>{await(s?.(n)),r(1)})(),()=>{n.destroy()})),[n,...d]),n},{createElement:vo,useMemo:qo}=e,Po=({tableId:e,store:o,rowComponent:t=Ao,getRowComponentProps:s,separator:d,debugIds:r},n)=>Mo(R(n,(d=>vo(t,{...Bo(s,d),key:d,tableId:e,rowId:d,store:o,debugIds:r}))),d,r,e),xo=({queryId:e,queries:o,resultRowComponent:t=Uo,getResultRowComponentProps:s,separator:d,debugIds:r},n)=>Mo(R(n,(d=>vo(t,{...Bo(s,d),key:d,queryId:e,rowId:d,queries:o,debugIds:r}))),d,r,e),So=e=>{const o=F(e);return[o,o?.getStore()]},fo=({relationshipId:e,relationships:o,rowComponent:t=Ao,getRowComponentProps:s,separator:d,debugIds:r},n,l)=>{const[I,u]=So(o),i=I?.getLocalTableId(e),c=n(e,l,I);return Mo(R(c,(e=>vo(t,{...Bo(s,e),key:e,tableId:i,rowId:e,store:u,debugIds:r}))),d,r,l)},To=e=>({checkpoints:o,checkpointComponent:t=Yo,getCheckpointComponentProps:s,separator:d,debugIds:r})=>{const n=z(o);return Mo(R(e(ao(n)),(e=>vo(t,{...Bo(s,e),key:e,checkpoints:n,checkpointId:e,debugIds:r}))),d)},Bo=(e,o)=>C(e)?{}:e(o),Lo=({store:e,storesById:t,metrics:s,metricsById:d,indexes:r,indexesById:n,relationships:l,relationshipsById:I,queries:u,queriesById:i,checkpoints:c,checkpointsById:a,children:p})=>{const g=o(q);return vo(q.Provider,{value:qo((()=>[e??g[0],{...g[1],...t},s??g[2],{...g[3],...d},r??g[4],{...g[5],...n},l??g[6],{...g[7],...I},u??g[8],{...g[9],...i},c??g[10],{...g[11],...a}]),[e,t,s,d,r,n,l,I,u,i,c,a,g])},p)},Mo=(e,o,t,s)=>{const d=C(o)||!Array.isArray(e)?e:R(e,((e,t)=>t>0?[o,e]:e));return t?[s,":{",d,"}"]:d},Vo=({tableId:e,rowId:o,cellId:t,store:d,debugIds:r})=>Mo(s+(re(e,o,t,d)??s),void 0,r,t),Ao=({tableId:e,rowId:o,store:t,cellComponent:s=Vo,getCellComponentProps:d,separator:r,debugIds:n})=>Mo(R(de(e,o,t),(r=>vo(s,{...Bo(d,r),key:r,tableId:e,rowId:o,cellId:r,store:t,debugIds:n}))),r,n,o),Eo=e=>Po(e,oe(e.tableId,e.store)),Fo=({cellId:e,descending:o,offset:t,limit:s,...d})=>Po(d,te(d.tableId,e,o,t,s,d.store)),jo=({store:e,tableComponent:o=Eo,getTableComponentProps:t,separator:s,debugIds:d})=>Mo(R($(e),(s=>vo(o,{...Bo(t,s),key:s,tableId:s,store:e,debugIds:d}))),s),zo=({valueId:e,store:o,debugIds:t})=>Mo(s+(Ie(e,o)??s),void 0,t,e),Do=({store:e,valueComponent:o=zo,getValueComponentProps:t,separator:s,debugIds:d})=>Mo(R(le(e),(s=>vo(o,{...Bo(t,s),key:s,valueId:s,store:e,debugIds:d}))),s),Go=({metricId:e,metrics:o,debugIds:t})=>Mo(je(e,o)??s,void 0,t,e),Ho=({indexId:e,sliceId:o,indexes:t,rowComponent:s=Ao,getRowComponentProps:d,separator:r,debugIds:n})=>{const l=E(t),I=l?.getStore(),u=l?.getTableId(e),i=He(e,o,l);return Mo(R(i,(e=>vo(s,{...Bo(d,e),key:e,tableId:u,rowId:e,store:I,debugIds:n}))),r,n,o)},Jo=({indexId:e,indexes:o,sliceComponent:t=Ho,getSliceComponentProps:s,separator:d,debugIds:r})=>Mo(R(Ge(e,o),(d=>vo(t,{...Bo(s,d),key:d,indexId:e,sliceId:d,indexes:o,debugIds:r}))),d,r,e),Ko=({relationshipId:e,localRowId:o,relationships:t,rowComponent:s=Ao,getRowComponentProps:d,debugIds:r})=>{const[n,l]=So(t),I=n?.getRemoteTableId(e),u=Oe(e,o,n);return Mo(C(I)||C(u)?null:vo(s,{...Bo(d,u),key:u,tableId:I,rowId:u,store:l,debugIds:r}),void 0,r,o)},No=e=>fo(e,Qe,e.remoteRowId),Oo=e=>fo(e,Ue,e.firstRowId),Qo=({queryId:e,rowId:o,cellId:t,queries:d,debugIds:r})=>Mo(s+(so(e,o,t,d)??s),void 0,r,t),Uo=({queryId:e,rowId:o,queries:t,resultCellComponent:s=Qo,getResultCellComponentProps:d,separator:r,debugIds:n})=>Mo(R(to(e,o,t),(r=>vo(s,{...Bo(d,r),key:r,queryId:e,rowId:o,cellId:r,queries:t,debugIds:n}))),r,n,o),Wo=e=>xo(e,_e(e.queryId,e.queries)),Xo=({cellId:e,descending:o,offset:t,limit:s,...d})=>xo(d,eo(d.queryId,e,o,t,s,d.queries)),Yo=({checkpoints:e,checkpointId:o,debugIds:t})=>Mo(po(o,e)??s,void 0,t,o),Zo=To((e=>e[0])),$o=To((e=>C(e[1])?[]:[e[1]])),_o=To((e=>e[2]));export{Zo as BackwardCheckpointsView,Vo as CellView,Yo as CheckpointView,$o as CurrentCheckpointView,_o as ForwardCheckpointsView,Jo as IndexView,Oo as LinkedRowsView,No as LocalRowsView,Go as MetricView,Lo as Provider,Ko as RemoteRowView,Qo as ResultCellView,Uo as ResultRowView,Xo as ResultSortedTableView,Wo as ResultTableView,Ao as RowView,Ho as SliceView,Fo as SortedTableView,Eo as TableView,jo as TablesView,zo as ValueView,Do as ValuesView,Po as tableView,ae as useAddRowCallback,re as useCell,de as useCellIds,Le as useCellIdsListener,Me as useCellListener,po as useCheckpoint,ao as useCheckpointIds,ko as useCheckpointIdsListener,yo as useCheckpointListener,M as useCheckpoints,co as useCreateCheckpoints,De as useCreateIndexes,Fe as useCreateMetrics,ho as useCreatePersister,Ze as useCreateQueries,Ne as useCreateRelationships,Y as useCreateStore,ye as useDelCellCallback,ke as useDelRowCallback,me as useDelTableCallback,Ce as useDelTablesCallback,ve as useDelValueCallback,he as useDelValuesCallback,bo as useGoBackwardCallback,wo as useGoForwardCallback,Ro as useGoToCallback,T as useIndexes,Ue as useLinkedRowIds,Ye as useLinkedRowIdsListener,Qe as useLocalRowIds,Xe as useLocalRowIdsListener,je as useMetric,ze as useMetricListener,f as useMetrics,L as useQueries,mo as useRedoInformation,B as useRelationships,Oe as useRemoteRowId,We as useRemoteRowIdListener,so as useResultCell,to as useResultCellIds,uo as useResultCellIdsListener,io as useResultCellListener,oo as useResultRow,_e as useResultRowIds,no as useResultRowIdsListener,Io as useResultRowListener,eo as useResultSortedRowIds,lo as useResultSortedRowIdsListener,$e as useResultTable,ro as useResultTableListener,se as useRow,oe as useRowIds,fe as useRowIdsListener,Be as useRowListener,ge as useSetCellCallback,go as useSetCheckpointCallback,pe as useSetPartialRowCallback,we as useSetPartialValuesCallback,ce as useSetRowCallback,ie as useSetTableCallback,ue as useSetTablesCallback,Re as useSetValueCallback,be as useSetValuesCallback,Ge as useSliceIds,Je as useSliceIdsListener,He as useSliceRowIds,Ke as useSliceRowIdsListener,te as useSortedRowIds,Te as useSortedRowIdsListener,S as useStore,_ as useTable,ee as useTableCellIds,Se as useTableCellIdsListener,$ as useTableIds,Pe as useTableIdsListener,xe as useTableListener,Z as useTables,qe as useTablesListener,Co as useUndoInformation,Ie as useValue,le as useValueIds,Ae as useValueIdsListener,Ee as useValueListener,ne as useValues,Ve as useValuesListener};
|
package/lib/ui-react.js.gz
CHANGED
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var t,e;t=this,e=function(t){"use strict";const e=t=>null==t,a=(t,a,s)=>e(t)?s?.():a(t),s=Object,n=s.keys,o=s.freeze,c=(t,e)=>a(t,(t=>t[e])),i=(t,a)=>!e(c(t,a)),r=(t,e)=>(delete t[e],t),d=(t,e)=>((t,e)=>t.map(e))(s.entries(t),(([t,a])=>e(a,t))),u=t=>n(t).length,y=t=>(t=>t instanceof s&&t.constructor==s)(t)&&0==u(t),f=(t,e)=>[t[e].t,t[e].v],l=(t,a,s,n)=>{const o=e(a)?t:((t,e,a)=>(i(t,e)||(t[e]={}),t[e]))(t,a);let c;return d(s,((t,e)=>{n(o,e,t)&&(c=1)})),d(o,((t,e)=>{i(s,e)||(r(o,e),c=1)})),!e(a)&&y(o)&&r(t,a),c};t.createAutomergePersister=(t,s,n="tinybase")=>(s.change((t=>t[n]={})),((t,i,u,h,v)=>{let p,g,w,A=0,L=0,m=0;const S=[],b=async t=>{2!=A&&(A=1,await t(),A=0)},C={load:async(e={},a={})=>(await b((async()=>{try{t.setContent(await i())}catch{t.setContent([e,a])}})),C),startAutoLoad:async(e={},a={})=>(C.stopAutoLoad(),await C.load(e,a),m=1,w=(t=>{const e=({doc:e})=>t((()=>f(e,n)));return s.on("change",e),e})((async(e,a)=>{await b((async()=>{if(a)t.setTransactionChanges(a());else try{t.setContent(e?.()??await i())}catch{}}))})),C),stopAutoLoad:()=>{return m&&(t=w,s.removeListener("change",t),w=void 0,m=0),C;var t},save:async o=>(await C.schedule((async()=>{if(1!=A){A=2;try{await(async(t,o)=>s.change((s=>((t,s,n,o)=>{((t,e)=>{y(t[e])&&(t[e]={t:{},v:{}})})(t,s);const[i,u]=f(t,s),h=()=>{v=1};let v=1;if(a(o?.(),(([t,s])=>{v=0,d(t,((t,s)=>v?0:e(t)?r(i,s):a(i[s],(s=>d(t,((t,n)=>v?0:e(t)?r(s,n):a(c(s,n),(a=>d(t,((t,s)=>e(t)?r(a,s):a[s]=t))),h)))),h))),d(s,((t,a)=>v?0:e(t)?r(u,a):u[a]=t))})),v){const[t,e]=n();l(i,void 0,t,((t,e,a)=>l(i,e,a,((t,e,a)=>l(t,e,a,((t,e,a)=>{if(c(t,e)!==a)return t[e]=a,1})))))),l(u,void 0,e,((t,e,a)=>{c(u,e)!==a&&(u[e]=a)}))}})(s,n,t,o))))(t.getContent,o)}catch{}A=0}})),C),startAutoSave:async()=>(await C.stopAutoSave().save(),p=t.addDidFinishTransactionListener(((t,e)=>{const a=e();C.save((()=>a))})),C),stopAutoSave:()=>(a(p,t.delListener),C),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(S,...t),await(async()=>{if(!L){for(L=1;!e((t=S,g=t.shift()));)try{await g()}catch{}L=0}var t})(),C),getStore:()=>t,destroy:()=>C.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o(C)})(t,(async()=>2==u(s.doc[n])?f(s.doc,n):void 0)))},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterAutomerge={});
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var t,e;t=this,e=function(t){"use strict";const e=JSON.parse,a=t=>null==t,s=Object.freeze,n="storage",o=globalThis.window,r=(t,r,i)=>((t,c,d,u,y)=>{let l,f,v,p=0,w=0,h=0;const g=[],S=async t=>{2!=p&&(p=1,await t(),p=0)},A={load:async(e={},a={})=>(await S((async()=>{try{t.setContent(await c())}catch{t.setContent([e,a])}})),A),startAutoLoad:async(a={},s={})=>(A.stopAutoLoad(),await A.load(a,s),h=1,v=(t=>{const a=a=>{a.storageArea===i&&a.key===r&&t((()=>e(a.newValue)))};return o.addEventListener(n,a),a})((async(e,a)=>{await S((async()=>{if(a)t.setTransactionChanges(a());else try{t.setContent(e?.()??await c())}catch{}}))})),A),stopAutoLoad:()=>{return h&&(t=v,o.removeEventListener(n,t),v=void 0,h=0),A;var t},save:async e=>(await A.schedule((async()=>{if(1!=p){p=2;try{await(async t=>{return i.setItem(r,(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(a=(t,[e,a])=>(t[e]=a,t),s={},[...e].reduce(a,s)):e;var a,s}))));var e})(t.getContent)}catch{}p=0}})),A),startAutoSave:async()=>(await A.stopAutoSave().save(),l=t.addDidFinishTransactionListener(((t,e)=>{const a=e();A.save((()=>a))})),A),stopAutoSave:()=>{var e,s;return e=l,s=t.delListener,a(e)||s(e),A},schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(g,...t),await(async()=>{if(!w){for(w=1;!a((t=g,f=t.shift()));)try{await f()}catch{}w=0}var t})(),A),getStore:()=>t,destroy:()=>A.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(A)})(t,(async()=>e(i.getItem(r))));t.createLocalPersister=(t,e)=>r(t,e,localStorage),t.createSessionPersister=(t,e)=>r(t,e,sessionStorage)},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterBrowser={});
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t="")=>a.join(t),r=(a,t)=>a.map(t),o=a=>a.length,c=a=>0==o(a),l=(a,t)=>a.filter(t),y=(a,t,e)=>a.slice(t,e),u=(a,...t)=>a.push(...t),d=Promise,w=JSON.parse,E=(a,t)=>a instanceof t,p=a=>null==a,v=(a,t,e)=>p(a)?e?.():t(a),f=a=>t(a)==n,m=async a=>d.all(a),T=Object,A=T.keys,h=T.freeze,L=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),C=(a,t)=>(delete a[t],a),N=(a,t)=>r(T.entries(a),(([a,e])=>t(e,a))),O=a=>T.values(a),R=a=>o(A(a)),b=a=>(a=>E(a,T)&&a.constructor==T)(a)&&0==R(a),g=(a,t)=>a?.has(t)??!1,I=a=>[...a?.values()??[]],_=(a,t)=>a?.delete(t),D=a=>new Map(a),$=(a,t)=>a?.get(t),M=(a,t)=>r([...a?.entries()??[]],(([a,e])=>t(e,a))),P=(a,t,e)=>p(e)?(_(a,t),a):a?.set(t,e),F=(a,t,e,s=P)=>(N(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!p(((a,t)=>v(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),B="_id",j=a=>`"${a.replace(/"/g,'""')}"`,x=a=>new Set(Array.isArray(a)||p(a)?a:[a]),q="SELECT*FROM",W="FROM pragma_table_",k="WHERE",J=k+" schema='main'AND type='table'AND name!='sqlite_schema'",U=a=>{const t=D(),e=(a,e)=>!p($($(t,a),e)),n=async(e,n,l,y,d)=>{const w=x();N(d??{},(a=>r(A(a),(a=>{return t=w,e=a,t?.add(e);var t,e}))));const E=I(w);if(c(E)&&g(t,e)&&y)return await a("DROP TABLE"+j(e)),void P(t,e);if(c(E)||g(t,e)){const s=$(t,e),i=x((p=s,[...p?.keys()??[]]));await m([...r(E,(async t=>{_(i,t)||(await a(`ALTER TABLE${j(e)}ADD${j(t)}`),P(s,t,""))})),...l?r(I(i),(async t=>{t!=n&&(await a(`ALTER TABLE${j(e)}DROP${j(t)}`),P(s,t))})):[]])}else await a(`CREATE TABLE${j(e)}(${j(n)} PRIMARY KEY ON CONFLICT REPLACE${i(r(E,(a=>s+j(a))))});`),P(t,e,D([[n,""],...r(E,(a=>[a,""]))]));var p;if(c(E))await a("DELETE FROM"+j(e));else{const t=[],c=[],l=[];N(d,((a,e)=>{var s;u(t,`(?${s=o(E),",?".repeat(s)})`),u(c,e,...r(E,(t=>a[t]))),u(l,e)})),await a("INSERT INTO"+j(e)+"("+j(n)+i(r(E,(a=>s+j(a))))+")VALUES"+i(t,s),c),await a("DELETE FROM"+j(e)+k+j(n)+"NOT IN("+i(r(l,(()=>"?")),s)+")",l)}};return[async()=>F(t,L(await m(r(await a("SELECT name "+W+"list "+J),(async({name:t})=>[t,L(r(await a("SELECT name,type "+W+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,e,s)=>{return P(t,e,F((r=D,g(n=t,i=e)||P(n,i,r()),$(n,i)),s,((a,t,e)=>{e!=$(a,t)&&P(a,t,e)}),((a,t)=>P(a,t))));var n,i,r}),((a,e)=>P(t,e))),async(t,s)=>{const n=e(t,s)?await a(q+j(t)+k+j(s)+"=?",["_"]):[];return c(n)?null:C(n[0],s)},async(a,t,e,s)=>await n(a,t,!0,!0,{[e]:s}),async(t,s)=>e(t,s)?L(l(r(await a(q+j(t)),(a=>[a[s],C(a,s)])),(([a,t])=>!p(a)&&!b(t)))):null,n]},Y=(a,t,e,s,n)=>{let i,r,o,c=0,l=0,y=0;const d=[],w=async a=>{2!=c&&(c=1,await a(),c=0)},E={load:async(e={},s={})=>(await w((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),E),startAutoLoad:async(e={},n={})=>(E.stopAutoLoad(),await E.load(e,n),y=1,o=s((async(e,s)=>{await w((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}}))})),E),stopAutoLoad:()=>(y&&(n(o),o=void 0,y=0),E),save:async t=>(await E.schedule((async()=>{if(1!=c){c=2;try{await e(a.getContent,t)}catch{}c=0}})),E),startAutoSave:async()=>(await E.stopAutoSave().save(),i=a.addDidFinishTransactionListener(((a,t)=>{const e=t();E.save((()=>e))})),E),stopAutoSave:()=>(v(i,a.delListener),E),schedule:async(...a)=>(u(d,...a),await(async()=>{if(!l){for(l=1;!p((a=d,r=a.shift()));)try{await r()}catch{}l=0}var a})(),E),getStore:()=>a,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return h(E)},z="store",H=(a,t,s,n,{storeTableName:i=e})=>{const[r,o,c]=U(t),l=Y(a,(async()=>(await r(),w((await o(i,B)??{})[z]))),(async a=>l.schedule(r,(async()=>{var t;await c(i,B,"_",{[z]:(t=a(),JSON.stringify(t,((a,t)=>{return E(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),s,n);return l},K="rowIdColumnName",V="tableId",G="tableName",Q={load:0,save:0,[G]:e+"_values"},X=(a,t,e,s)=>{const n=D();return N(a,((a,i)=>{const r=y(O(S(t,f(a)?{[e]:a}:a)),0,R(t));p(r[0])||s(i,r[0])||P(n,i,r)})),n},Z=(a,t,e,s,n)=>{const[i,r,[o,c,u]]=(({tables:{load:a={},save:t={}}={},values:e={}})=>{const s=y(O(S(Q,e)),0,R(Q)),n=s[2];return[X(a,{[V]:null,[K]:B},V,(a=>a==n)),X(t,{[G]:null,[K]:B,deleteEmptyColumns:0,deleteEmptyTable:0},G,((a,t)=>t==n)),s]})(n),[d,w,E,v,f]=U(t),T=Y(a,(async()=>{await d();const a=await(async()=>L(l(await m(M(i,(async([a,t],e)=>[a,await v(e,t)]))),(a=>a[1]))))(),t=await(async()=>o?await w(u,B):{})();return b(a)&&p(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();T.schedule(d,...(a=>M(r,(([t,e,s,n],i)=>async()=>await f(t,e,s,n,a[i]))))(t),(a=>c?async()=>await E(u,B,"_",a):null)(e))}),e,s);return T},aa="json",ta="autoLoadIntervalSeconds",ea={mode:aa,[ta]:1},sa="pragma ",na="data_version",ia="schema_version",ra=(a,t,e,s,n)=>{const i=S(ea,f(t)?{storeTableName:t}:t??{});let r,o;return(i.mode==aa?H:Z)(a,e,(a=>[setInterval((async()=>{try{const t=(await e(sa+na))[0][na],s=(await e(sa+ia))[0][ia];t==(r??=t)&&s==(o??=s)||(a(),r=t,o=s)}catch{}}),1e3*i[ta]),s(a)]),(([a,t])=>{clearInterval(a),r=o=null,n(t)}),i)};a.createCrSqliteWasmPersister=(a,t,e)=>ra(a,e,(async(a,e=[])=>await t.execO(a,e)),(a=>t.onUpdate((()=>a()))),(a=>a()))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterCrSqliteWasm={});
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var t,e;t=this,e=function(t,e,a){"use strict";const s="utf8",n=JSON.parse,r=t=>null==t,i=Object.freeze;t.createFilePersister=(t,o)=>((t,n,c,u,f)=>{let d,y,l,p=0,v=0,w=0;const h=[],A=async t=>{2!=p&&(p=1,await t(),p=0)},S={load:async(e={},a={})=>(await A((async()=>{try{t.setContent(await n())}catch{t.setContent([e,a])}})),S),startAutoLoad:async(a={},s={})=>{return S.stopAutoLoad(),await S.load(a,s),w=1,r=async(e,a)=>{await A((async()=>{if(a)t.setTransactionChanges(a());else try{t.setContent(e?.()??await n())}catch{}}))},l=e.watch(o,(()=>r())),S;var r},stopAutoLoad:()=>{return w&&(t=l,t?.close(),l=void 0,w=0),S;var t},save:async e=>(await S.schedule((async()=>{if(1!=p){p=2;try{await(async t=>{return await a.writeFile(o,(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(a=(t,[e,a])=>(t[e]=a,t),s={},[...e].reduce(a,s)):e;var a,s}))),s);var e})(t.getContent)}catch{}p=0}})),S),startAutoSave:async()=>(await S.stopAutoSave().save(),d=t.addDidFinishTransactionListener(((t,e)=>{const a=e();S.save((()=>a))})),S),stopAutoSave:()=>{var e,a;return e=d,a=t.delListener,r(e)||a(e),S},schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(h,...t),await(async()=>{if(!v){for(v=1;!r((t=h,y=t.shift()));)try{await y()}catch{}v=0}var t})(),S),getStore:()=>t,destroy:()=>S.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return i(S)})(t,(async()=>n(await a.readFile(o,s))))},"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("fs"),require("fs/promises")):"function"==typeof define&&define.amd?define(["exports","fs","fs/promises"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterFile={},t.fs,t["fs/promises"]);
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var t,e;t=this,e=function(t){"use strict";const e=JSON.parse,a=t=>null==t,s=Object.freeze,n=t=>t.headers.get("ETag");t.createRemotePersister=(t,o,r,i)=>{let c;return((t,e,d,y,u)=>{let f,h,l,p=0,v=0,w=0;const g=[],A=async t=>{2!=p&&(p=1,await t(),p=0)},S={load:async(a={},s={})=>(await A((async()=>{try{t.setContent(await e())}catch{t.setContent([a,s])}})),S),startAutoLoad:async(s={},r={})=>{return S.stopAutoLoad(),await S.load(s,r),w=1,d=async(a,s)=>{await A((async()=>{if(s)t.setTransactionChanges(s());else try{t.setContent(a?.()??await e())}catch{}}))},l=setInterval((async()=>{const t=await fetch(o,{method:"HEAD"}),e=n(t);a(c)||a(e)||e==c||(c=e,d())}),1e3*i),S;var d},stopAutoLoad:()=>(w&&(clearInterval(l),l=void 0,w=0),S),save:async e=>(await S.schedule((async()=>{if(1!=p){p=2;try{await(async t=>{return await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:(e=t(),JSON.stringify(e,((t,e)=>{return e instanceof Map?(a=(t,[e,a])=>(t[e]=a,t),s={},[...e].reduce(a,s)):e;var a,s})))});var e})(t.getContent)}catch{}p=0}})),S),startAutoSave:async()=>(await S.stopAutoSave().save(),f=t.addDidFinishTransactionListener(((t,e)=>{const a=e();S.save((()=>a))})),S),stopAutoSave:()=>{var e,s;return e=f,s=t.delListener,a(e)||s(e),S},schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(g,...t),await(async()=>{if(!v){for(v=1;!a((t=g,h=t.shift()));)try{await h()}catch{}v=0}var t})(),S),getStore:()=>t,destroy:()=>S.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(S)})(t,(async()=>{const t=await fetch(o);return c=n(t),e(await t.text())}))}},"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterRemote={});
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t="")=>a.join(t),o=(a,t)=>a.map(t),r=a=>a.length,c=a=>0==r(a),l=(a,t)=>a.filter(t),y=(a,t,e)=>a.slice(t,e),u=(a,...t)=>a.push(...t),d=Promise,w=JSON.parse,p=(a,t)=>a instanceof t,E=a=>null==a,m=(a,t,e)=>E(a)?e?.():t(a),v=a=>t(a)==n,f=async a=>d.all(a),h=Object,T=h.keys,A=h.freeze,L=(a=[])=>h.fromEntries(a),S=(...a)=>h.assign({},...a),b=(a,t)=>(delete a[t],a),R=(a,t)=>o(h.entries(a),(([a,e])=>t(e,a))),C=a=>h.values(a),N=a=>r(T(a)),_=a=>(a=>p(a,h)&&a.constructor==h)(a)&&0==N(a),g=(a,t)=>a?.has(t)??!1,O=a=>[...a?.values()??[]],I=(a,t)=>a?.delete(t),D=a=>new Map(a),$=(a,t)=>a?.get(t),M=(a,t)=>o([...a?.entries()??[]],(([a,e])=>t(e,a))),P=(a,t,e)=>E(e)?(I(a,t),a):a?.set(t,e),F=(a,t,e,s=P)=>(R(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!E(((a,t)=>m(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),j="_id",q=a=>`"${a.replace(/"/g,'""')}"`,B=a=>new Set(Array.isArray(a)||E(a)?a:[a]),k="SELECT*FROM",x="FROM pragma_table_",W="WHERE",J=W+" schema='main'AND type='table'AND name!='sqlite_schema'",V=a=>{const t=D(),e=(a,e)=>!E($($(t,a),e)),n=async(e,n,l,y,d)=>{const w=B();R(d??{},(a=>o(T(a),(a=>{return t=w,e=a,t?.add(e);var t,e}))));const p=O(w);if(c(p)&&g(t,e)&&y)return await a("DROP TABLE"+q(e)),void P(t,e);if(c(p)||g(t,e)){const s=$(t,e),i=B((E=s,[...E?.keys()??[]]));await f([...o(p,(async t=>{I(i,t)||(await a(`ALTER TABLE${q(e)}ADD${q(t)}`),P(s,t,""))})),...l?o(O(i),(async t=>{t!=n&&(await a(`ALTER TABLE${q(e)}DROP${q(t)}`),P(s,t))})):[]])}else await a(`CREATE TABLE${q(e)}(${q(n)} PRIMARY KEY ON CONFLICT REPLACE${i(o(p,(a=>s+q(a))))});`),P(t,e,D([[n,""],...o(p,(a=>[a,""]))]));var E;if(c(p))await a("DELETE FROM"+q(e));else{const t=[],c=[],l=[];R(d,((a,e)=>{var s;u(t,`(?${s=r(p),",?".repeat(s)})`),u(c,e,...o(p,(t=>a[t]))),u(l,e)})),await a("INSERT INTO"+q(e)+"("+q(n)+i(o(p,(a=>s+q(a))))+")VALUES"+i(t,s),c),await a("DELETE FROM"+q(e)+W+q(n)+"NOT IN("+i(o(l,(()=>"?")),s)+")",l)}};return[async()=>F(t,L(await f(o(await a("SELECT name "+x+"list "+J),(async({name:t})=>[t,L(o(await a("SELECT name,type "+x+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,e,s)=>{return P(t,e,F((o=D,g(n=t,i=e)||P(n,i,o()),$(n,i)),s,((a,t,e)=>{e!=$(a,t)&&P(a,t,e)}),((a,t)=>P(a,t))));var n,i,o}),((a,e)=>P(t,e))),async(t,s)=>{const n=e(t,s)?await a(k+q(t)+W+q(s)+"=?",["_"]):[];return c(n)?null:b(n[0],s)},async(a,t,e,s)=>await n(a,t,!0,!0,{[e]:s}),async(t,s)=>e(t,s)?L(l(o(await a(k+q(t)),(a=>[a[s],b(a,s)])),(([a,t])=>!E(a)&&!_(t)))):null,n]},Y=(a,t,e,s,n)=>{let i,o,r,c=0,l=0,y=0;const d=[],w=async a=>{2!=c&&(c=1,await a(),c=0)},p={load:async(e={},s={})=>(await w((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),p),startAutoLoad:async(e={},n={})=>(p.stopAutoLoad(),await p.load(e,n),y=1,r=s((async(e,s)=>{await w((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}}))})),p),stopAutoLoad:()=>(y&&(n(r),r=void 0,y=0),p),save:async t=>(await p.schedule((async()=>{if(1!=c){c=2;try{await e(a.getContent,t)}catch{}c=0}})),p),startAutoSave:async()=>(await p.stopAutoSave().save(),i=a.addDidFinishTransactionListener(((a,t)=>{const e=t();p.save((()=>e))})),p),stopAutoSave:()=>(m(i,a.delListener),p),schedule:async(...a)=>(u(d,...a),await(async()=>{if(!l){for(l=1;!E((a=d,o=a.shift()));)try{await o()}catch{}l=0}var a})(),p),getStore:()=>a,destroy:()=>p.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return A(p)},z="store",H=(a,t,s,n,{storeTableName:i=e})=>{const[o,r,c]=V(t),l=Y(a,(async()=>(await o(),w((await r(i,j)??{})[z]))),(async a=>l.schedule(o,(async()=>{var t;await c(i,j,"_",{[z]:(t=a(),JSON.stringify(t,((a,t)=>{return p(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),s,n);return l},K="rowIdColumnName",U="tableId",G="tableName",Q={load:0,save:0,[G]:e+"_values"},X=(a,t,e,s)=>{const n=D();return R(a,((a,i)=>{const o=y(C(S(t,v(a)?{[e]:a}:a)),0,N(t));E(o[0])||s(i,o[0])||P(n,i,o)})),n},Z=(a,t,e,s,n)=>{const[i,o,[r,c,u]]=(({tables:{load:a={},save:t={}}={},values:e={}})=>{const s=y(C(S(Q,e)),0,N(Q)),n=s[2];return[X(a,{[U]:null,[K]:j},U,(a=>a==n)),X(t,{[G]:null,[K]:j,deleteEmptyColumns:0,deleteEmptyTable:0},G,((a,t)=>t==n)),s]})(n),[d,w,p,m,v]=V(t),h=Y(a,(async()=>{await d();const a=await(async()=>L(l(await f(M(i,(async([a,t],e)=>[a,await m(e,t)]))),(a=>a[1]))))(),t=await(async()=>r?await w(u,j):{})();return _(a)&&E(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();h.schedule(d,...(a=>M(o,(([t,e,s,n],i)=>async()=>await v(t,e,s,n,a[i]))))(t),(a=>c?async()=>await p(u,j,"_",a):null)(e))}),e,s);return h},aa="json",ta="autoLoadIntervalSeconds",ea={mode:aa,[ta]:1},sa="pragma ",na="data_version",ia="schema_version",oa=(a,t,e,s,n)=>{const i=S(ea,v(t)?{storeTableName:t}:t??{});let o,r;return(i.mode==aa?H:Z)(a,e,(a=>[setInterval((async()=>{try{const t=(await e(sa+na))[0][na],s=(await e(sa+ia))[0][ia];t==(o??=t)&&s==(r??=s)||(a(),o=t,r=s)}catch{}}),1e3*i[ta]),s(a)]),(([a,t])=>{clearInterval(a),o=r=null,n(t)}),i)};a.createSqliteWasmPersister=(a,t,e,s)=>oa(a,s,(async(a,t=[])=>e.exec(a,{bind:t,rowMode:"object",returnValue:"resultRows"}).map((a=>({...a})))),(a=>t.capi.sqlite3_update_hook(e,(()=>a()),0)),(()=>t.capi.sqlite3_update_hook(e,(()=>0),0)))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqliteWasm={});
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var a,t;a=this,t=function(a){"use strict";const t=a=>typeof a,e="tinybase",s=",",n=t(""),i=(a,t="")=>a.join(t),o=(a,t)=>a.map(t),r=a=>a.length,c=a=>0==r(a),l=(a,t)=>a.filter(t),y=(a,t,e)=>a.slice(t,e),u=(a,...t)=>a.push(...t),d=Promise,w=JSON.parse,E=(a,t)=>a instanceof t,f=a=>null==a,p=(a,t,e)=>f(a)?e?.():t(a),v=a=>t(a)==n,m=async a=>d.all(a),T=Object,h=T.keys,A=T.freeze,L=(a=[])=>T.fromEntries(a),S=(...a)=>T.assign({},...a),g=(a,t)=>(delete a[t],a),C=(a,t)=>o(T.entries(a),(([a,e])=>t(e,a))),N=a=>T.values(a),R=a=>r(h(a)),b=a=>(a=>E(a,T)&&a.constructor==T)(a)&&0==R(a),O=(a,t)=>a?.has(t)??!1,I=a=>[...a?.values()??[]],_=(a,t)=>a?.delete(t),D=a=>new Map(a),$=(a,t)=>a?.get(t),M=(a,t)=>o([...a?.entries()??[]],(([a,e])=>t(e,a))),P=(a,t,e)=>f(e)?(_(a,t),a):a?.set(t,e),F=(a,t,e,s=P)=>(C(t,((t,s)=>e(a,s,t))),((a,t)=>{((a,t)=>{a?.forEach(t)})(a,((a,e)=>t(e)))})(a,(e=>((a,t)=>!f(((a,t)=>p(a,(a=>a[t])))(a,t)))(t,e)?0:s(a,e))),a),B="_id",j=a=>`"${a.replace(/"/g,'""')}"`,q=a=>new Set(Array.isArray(a)||f(a)?a:[a]),x="SELECT*FROM",k="FROM pragma_table_",J="WHERE",Y=J+" schema='main'AND type='table'AND name!='sqlite_schema'",z=a=>{const t=D(),e=(a,e)=>!f($($(t,a),e)),n=async(e,n,l,y,d)=>{const w=q();C(d??{},(a=>o(h(a),(a=>{return t=w,e=a,t?.add(e);var t,e}))));const E=I(w);if(c(E)&&O(t,e)&&y)return await a("DROP TABLE"+j(e)),void P(t,e);if(c(E)||O(t,e)){const s=$(t,e),i=q((f=s,[...f?.keys()??[]]));await m([...o(E,(async t=>{_(i,t)||(await a(`ALTER TABLE${j(e)}ADD${j(t)}`),P(s,t,""))})),...l?o(I(i),(async t=>{t!=n&&(await a(`ALTER TABLE${j(e)}DROP${j(t)}`),P(s,t))})):[]])}else await a(`CREATE TABLE${j(e)}(${j(n)} PRIMARY KEY ON CONFLICT REPLACE${i(o(E,(a=>s+j(a))))});`),P(t,e,D([[n,""],...o(E,(a=>[a,""]))]));var f;if(c(E))await a("DELETE FROM"+j(e));else{const t=[],c=[],l=[];C(d,((a,e)=>{var s;u(t,`(?${s=r(E),",?".repeat(s)})`),u(c,e,...o(E,(t=>a[t]))),u(l,e)})),await a("INSERT INTO"+j(e)+"("+j(n)+i(o(E,(a=>s+j(a))))+")VALUES"+i(t,s),c),await a("DELETE FROM"+j(e)+J+j(n)+"NOT IN("+i(o(l,(()=>"?")),s)+")",l)}};return[async()=>F(t,L(await m(o(await a("SELECT name "+k+"list "+Y),(async({name:t})=>[t,L(o(await a("SELECT name,type "+k+"info(?)",[t]),(({name:a,type:t})=>[a,t])))])))),((a,e,s)=>{return P(t,e,F((o=D,O(n=t,i=e)||P(n,i,o()),$(n,i)),s,((a,t,e)=>{e!=$(a,t)&&P(a,t,e)}),((a,t)=>P(a,t))));var n,i,o}),((a,e)=>P(t,e))),async(t,s)=>{const n=e(t,s)?await a(x+j(t)+J+j(s)+"=?",["_"]):[];return c(n)?null:g(n[0],s)},async(a,t,e,s)=>await n(a,t,!0,!0,{[e]:s}),async(t,s)=>e(t,s)?L(l(o(await a(x+j(t)),(a=>[a[s],g(a,s)])),(([a,t])=>!f(a)&&!b(t)))):null,n]},H=(a,t,e,s,n)=>{let i,o,r,c=0,l=0,y=0;const d=[],w=async a=>{2!=c&&(c=1,await a(),c=0)},E={load:async(e={},s={})=>(await w((async()=>{try{a.setContent(await t())}catch{a.setContent([e,s])}})),E),startAutoLoad:async(e={},n={})=>(E.stopAutoLoad(),await E.load(e,n),y=1,r=s((async(e,s)=>{await w((async()=>{if(s)a.setTransactionChanges(s());else try{a.setContent(e?.()??await t())}catch{}}))})),E),stopAutoLoad:()=>(y&&(n(r),r=void 0,y=0),E),save:async t=>(await E.schedule((async()=>{if(1!=c){c=2;try{await e(a.getContent,t)}catch{}c=0}})),E),startAutoSave:async()=>(await E.stopAutoSave().save(),i=a.addDidFinishTransactionListener(((a,t)=>{const e=t();E.save((()=>e))})),E),stopAutoSave:()=>(p(i,a.delListener),E),schedule:async(...a)=>(u(d,...a),await(async()=>{if(!l){for(l=1;!f((a=d,o=a.shift()));)try{await o()}catch{}l=0}var a})(),E),getStore:()=>a,destroy:()=>E.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return A(E)},K="store",U=(a,t,s,n,{storeTableName:i=e})=>{const[o,r,c]=z(t),l=H(a,(async()=>(await o(),w((await r(i,B)??{})[K]))),(async a=>l.schedule(o,(async()=>{var t;await c(i,B,"_",{[K]:(t=a(),JSON.stringify(t,((a,t)=>{return E(t,Map)?(e=(a,[t,e])=>(a[t]=e,a),s={},[...t].reduce(e,s)):t;var e,s})))})}))),s,n);return l},V="rowIdColumnName",W="tableId",G="tableName",Q={load:0,save:0,[G]:e+"_values"},X=(a,t,e,s)=>{const n=D();return C(a,((a,i)=>{const o=y(N(S(t,v(a)?{[e]:a}:a)),0,R(t));f(o[0])||s(i,o[0])||P(n,i,o)})),n},Z=(a,t,e,s,n)=>{const[i,o,[r,c,u]]=(({tables:{load:a={},save:t={}}={},values:e={}})=>{const s=y(N(S(Q,e)),0,R(Q)),n=s[2];return[X(a,{[W]:null,[V]:B},W,(a=>a==n)),X(t,{[G]:null,[V]:B,deleteEmptyColumns:0,deleteEmptyTable:0},G,((a,t)=>t==n)),s]})(n),[d,w,E,p,v]=z(t),T=H(a,(async()=>{await d();const a=await(async()=>L(l(await m(M(i,(async([a,t],e)=>[a,await p(e,t)]))),(a=>a[1]))))(),t=await(async()=>r?await w(u,B):{})();return b(a)&&f(t)?void 0:[a,t]}),(async a=>{const[t,e]=a();T.schedule(d,...(a=>M(o,(([t,e,s,n],i)=>async()=>await v(t,e,s,n,a[i]))))(t),(a=>c?async()=>await E(u,B,"_",a):null)(e))}),e,s);return T},aa="json",ta="autoLoadIntervalSeconds",ea={mode:aa,[ta]:1},sa="pragma ",na="data_version",ia="schema_version",oa=(a,t,e,s,n)=>{const i=S(ea,v(t)?{storeTableName:t}:t??{});let o,r;return(i.mode==aa?U:Z)(a,e,(a=>[setInterval((async()=>{try{const t=(await e(sa+na))[0][na],s=(await e(sa+ia))[0][ia];t==(o??=t)&&s==(r??=s)||(a(),o=t,r=s)}catch{}}),1e3*i[ta]),s(a)]),(([a,t])=>{clearInterval(a),o=r=null,n(t)}),i)},ra="change";a.createSqlite3Persister=(a,t,e)=>oa(a,e,((a,e=[])=>new d(((s,n)=>t.all(a,e,((a,t)=>a?n(a):s(t.map((a=>({...a}))))))))),(a=>{const e=()=>a();return t.on(ra,e),e}),(a=>t.off(ra,a)))},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((a="undefined"!=typeof globalThis?globalThis:a||self).TinyBasePersisterSqlite3={});
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var t,e;t=this,e=function(t,e){"use strict";const s=t=>t.length,a=t=>t.shift(),n=t=>null==t,o=(t,e,s)=>n(t)?s?.():e(t),i=Object,r=i.freeze,c=(t=[])=>i.fromEntries(t),d=(t,e)=>!n(((t,e)=>o(t,(t=>t[e])))(t,e)),l=(t,e)=>((t,e)=>t.map(e))(i.entries(t),(([t,s])=>e(s,t))),u=(t,e,s)=>(d(t,e)||(t[e]=s()),t[e]),y=(t,e)=>((t,e)=>t?.forEach(e))(t,((t,s)=>e(s,t))),g="t",f="delete",p=t=>[t.get(g),t.get("v")],v=(t,s,a,o)=>{const i=n(s)?t:t.get(s)??t.set(s,new e.Map);let r;return l(a,((t,e)=>{o(i,e,t)&&(r=1)})),i.forEach(((t,e)=>{d(a,e)||(i.delete(e),r=1)})),n(s)||i.size||t.delete(s),r};t.createYjsPersister=(t,i,d="tinybase")=>{const h=i.getMap(d);return((t,d,w,S,A)=>{let b,j,O,J=0,L=0,N=0;const C=[],T=async t=>{2!=J&&(J=1,await t(),J=0)},m={load:async(e={},s={})=>(await T((async()=>{try{t.setContent(await d())}catch{t.setContent([e,s])}})),m),startAutoLoad:async(e={},n={})=>(m.stopAutoLoad(),await m.load(e,n),N=1,O=(t=>{const e=e=>t(void 0,(()=>((t,e)=>{if(1==s(e)&&(n=e[0].path,0==s(n)))return[t.get("t").toJSON(),t.get("v").toJSON()];var n;const[i,r]=p(t),d={},l={};return((t,e)=>{t.forEach((({path:t,changes:{keys:e}})=>a(t)==g?o(a(t),(s=>{const n=u(d,s,c),r=i.get(s);o(a(t),(t=>{const s=u(n,t,c),a=r.get(t);y(e,((t,{action:e})=>s[t]=e==f?null:a.get(t)))}),(()=>y(e,((t,{action:e})=>n[t]=e==f?null:r.get(t)?.toJSON()))))}),(()=>y(e,((t,{action:e})=>d[t]=e==f?null:i.get(t)?.toJSON())))):y(e,((t,{action:e})=>l[t]=e==f?null:r.get(t)))))})(e),[d,l]})(h,e)));return h.observeDeep(e),e})((async(e,s)=>{await T((async()=>{if(s)t.setTransactionChanges(s());else try{t.setContent(e?.()??await d())}catch{}}))})),m),stopAutoLoad:()=>{return N&&(t=O,h.unobserveDeep(t),O=void 0,N=0),m;var t},save:async s=>(await m.schedule((async()=>{if(1!=J){J=2;try{await(async(t,s)=>i.transact((()=>((t,s,a)=>{(t=>{t.size||(t.set(g,new e.Map),t.set("v",new e.Map))})(t);const[i,r]=p(t),c=()=>{d=1};let d=1;if(o(a?.(),(([t,e])=>{d=0,l(t,((t,e)=>d?0:n(t)?i.delete(e):o(i.get(e),(e=>l(t,((t,s)=>d?0:n(t)?e.delete(s):o(e.get(s),(e=>l(t,((t,s)=>n(t)?e.delete(s):e.set(s,t)))),c)))),c))),l(e,((t,e)=>d?0:n(t)?r.delete(e):r.set(e,t)))})),d){const[t,e]=s();v(i,void 0,t,((t,e,s)=>v(i,e,s,((t,e,s)=>v(t,e,s,((t,e,s)=>{if(t.get(e)!==s)return t.set(e,s),1})))))),v(r,void 0,e,((t,e,s)=>{r.get(e)!==s&&r.set(e,s)}))}})(h,t,s))))(t.getContent,s)}catch{}J=0}})),m),startAutoSave:async()=>(await m.stopAutoSave().save(),b=t.addDidFinishTransactionListener(((t,e)=>{const s=e();m.save((()=>s))})),m),stopAutoSave:()=>(o(b,t.delListener),m),schedule:async(...t)=>(((t,...e)=>{t.push(...e)})(C,...t),await(async()=>{if(!L){for(L=1;!n(j=a(C));)try{await j()}catch{}L=0}})(),m),getStore:()=>t,destroy:()=>m.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return r(m)})(t,(async()=>h.size?[h.get(g).toJSON(),h.get("v").toJSON()]:void 0))}},"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("yjs")):"function"==typeof define&&define.amd?define(["exports","yjs"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisterYjs={},t.yjs);
|
|
Binary file
|
package/lib/umd/persisters.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var t,
|
|
1
|
+
var t,a;t=this,a=function(t){"use strict";const a=t=>null==t,e=Object.freeze;t.createCustomPersister=(t,s,o,n,i)=>{let c,r,d,u=0,y=0,f=0;const l=[],p=async t=>{2!=u&&(u=1,await t(),u=0)},h={load:async(a={},e={})=>(await p((async()=>{try{t.setContent(await s())}catch{t.setContent([a,e])}})),h),startAutoLoad:async(a={},e={})=>(h.stopAutoLoad(),await h.load(a,e),f=1,d=n((async(a,e)=>{await p((async()=>{if(e)t.setTransactionChanges(e());else try{t.setContent(a?.()??await s())}catch{}}))})),h),stopAutoLoad:()=>(f&&(i(d),d=void 0,f=0),h),save:async a=>(await h.schedule((async()=>{if(1!=u){u=2;try{await o(t.getContent,a)}catch{}u=0}})),h),startAutoSave:async()=>(await h.stopAutoSave().save(),c=t.addDidFinishTransactionListener(((t,a)=>{const e=a();h.save((()=>e))})),h),stopAutoSave:()=>{var e,s;return e=c,s=t.delListener,a(e)||s(e),h},schedule:async(...t)=>(((t,...a)=>{t.push(...a)})(l,...t),await(async()=>{if(!y){for(y=1;!a((t=l,r=t.shift()));)try{await r()}catch{}y=0}var t})(),h),getStore:()=>t,destroy:()=>h.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return e(h)}},"object"==typeof exports&&"undefined"!=typeof module?a(exports):"function"==typeof define&&define.amd?define(["exports"],a):a((t="undefined"!=typeof globalThis?globalThis:t||self).TinyBasePersisters={});
|
package/lib/umd/persisters.js.gz
CHANGED
|
Binary file
|
package/lib/umd/queries.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n=t(""),s=t(!0),r=t(0),o=t(t),
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,n=t(""),s=t(!0),r=t(0),o=t(t),a="Listener",i="Result",l="Ids",d="Row",c=d+l,u="Sorted"+d+l,f="Cell",h=f+l,g=(e,t)=>e.every(t),v=(e,t)=>e.forEach(t),w=e=>R(e,((e,t)=>e+t),0),y=e=>e.length,L=e=>0==y(e),R=(e,t,n)=>e.reduce(t,n),p=(e,...t)=>e.push(...t),T=Math.max,b=Math.min,m=isFinite,C=e=>null==e,Q=(e,t,n)=>C(e)?n?.():t(e),S=e=>t(e)==o,x=e=>Array.isArray(e),I=()=>{},E=Object,M=E.freeze,j=e=>e.size,D=(e,t)=>e?.has(t)??!1,k=e=>C(e)||0==j(e),z=e=>[...e?.values()??[]],A=e=>e.clear(),F=(e,t)=>e?.forEach(t),B=(e,t)=>e?.delete(t),O=e=>new Map(e),W=(e,t)=>e?.get(t),q=(e,t)=>F(e,((e,n)=>t(n,e))),G=(e,t,n)=>C(n)?(B(e,t),e):e?.set(t,n),H=(e,t,n)=>(D(e,t)||G(e,t,n()),W(e,t)),J=(e,t,n,s,r=0)=>Q((n?H:W)(e,t[r],r>y(t)-2?n:O),(o=>{if(r>y(t)-2)return s?.(o)&&G(e,t[r]),o;const a=J(o,t,n,s,r+1);return k(o)&&G(e,t[r]),a})),K=e=>new Set(x(e)||C(e)?e:[e]),N=(e,t)=>e?.add(t),P=O([["avg",[(e,t)=>w(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>T(...e),(e,t)=>T(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:T(t,e)]],["min",[e=>b(...e),(e,t)=>b(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:b(t,e)]],["sum",[e=>w(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),U=(e=>{const o=new WeakMap;return e=>(o.has(e)||o.set(e,(e=>{const o=e.createStore,[l,w,R,T,b,,,U,,V,X,Y,Z]=((e,t,n)=>{const s=e.hasRow,r=O(),o=O(),a=O(),i=O(),l=O(),d=(t,n,...s)=>{const r=H(l,t,K);return v(s,(t=>N(r,t)&&n&&e.callListener(t))),s},c=(t,...n)=>Q(W(l,t),(s=>{v(L(n)?z(s):n,(t=>{e.delListener(t),B(s,t)})),k(s)&&G(l,t)})),u=(e,t)=>{G(r,e,t),D(o,e)||(G(o,e,!0),G(a,e,O()),G(i,e,O()))},f=e=>{G(r,e),G(o,e),G(a,e),G(i,e),c(e)};return[()=>e,()=>{return e=r,[...e?.keys()??[]];var e},e=>q(o,e),e=>D(o,e),e=>W(r,e),e=>W(o,e),(e,t)=>G(o,e,t),u,(t,r,o,l,f)=>{u(t,r);const h=O(),w=O(),L=W(a,t),R=W(i,t),p=t=>{const o=n=>e.getCell(r,t,n),a=W(L,t),i=s(r,t)?n(l(o,t)):void 0;var d,c;if(a===i||x(a)&&x(i)&&(c=i,y(d=a)===y(c)&&g(d,((e,t)=>c[t]===e)))||G(h,t,[a,i]),!C(f)){const e=W(R,t),n=s(r,t)?f(o,t):void 0;e!=n&&G(w,t,n)}},T=e=>{o((()=>{F(h,(([,e],t)=>G(L,t,e))),F(w,((e,t)=>G(R,t,e)))}),h,w,L,R,e),A(h),A(w)};q(L,p),e.hasTable(r)&&v(e.getRowIds(r),(e=>{D(L,e)||p(e)})),T(!0),c(t),d(t,0,e.addRowListener(r,null,((e,t,n)=>p(n))),e.addTableListener(r,(()=>T())))},f,()=>q(l,f),d,c]})(e,0,I),$=o(),_=o(),ee=O(),te=(e,t,...n)=>v(n,(n=>N(H(H(ee,t,O),e,K),n))),ne=e=>{Q(W(ee,e),(e=>{q(e,((e,t)=>F(t,(t=>e.delListener(t))))),A(e)})),v([_,$],(t=>t.delTable(e)))},se=(e,t,n)=>te(t,e,t.addStartTransactionListener(n.startTransaction),t.addDidFinishTransactionListener((()=>n.finishTransaction()))),re={setQueryDefinition:(o,a,i)=>{U(o,a),ne(o);const l=[],d=[[null,[a,null,null,[],O()]]],c=[],u=[],f=[];i({select:(e,t)=>{const n=S(e)?[y(l)+"",e]:[C(t)?e:t,n=>n(e,t)];return p(l,n),{as:e=>n[0]=e}},join:(e,t,n)=>{const s=C(n)||S(t)?null:t,r=C(s)?t:n,o=[e,[e,s,S(r)?r:e=>e(r),[],O()]];return p(d,o),{as:e=>o[0]=e}},where:(e,t,n)=>p(c,S(e)?e:C(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,S(t)?[t,n,s,r]:W(P,t)??[(e,t)=>t]]];return p(u,o),{as:e=>o[0]=e}},having:(e,t)=>p(f,S(e)?e:n=>n(e)===t)});const h=O(l);if(k(h))return re;const w=O(d);q(w,((e,[,t])=>Q(W(w,t),(({3:t})=>C(e)?0:p(t,e)))));const R=O(u);let T=$;if(k(R)&&L(f))T=_;else{se(o,T,_);const e=O();q(R,((t,[n,s])=>N(H(e,n,K),[t,s])));const a=K();q(h,(t=>D(e,t)?0:N(a,t)));const i=O(),l=(a,i,l,d)=>Q(a,(([c,u,h,v])=>{q(i,((o,[a])=>{const i=H(c,o,O),u=W(i,l),f=d?void 0:a;if(u!==f){const a=K([[u,f]]),d=j(i);G(i,l,f),F(W(e,o),(([e,o])=>{const l=((e,t,n,s,r,o=!1)=>{if(k(n))return;const[a,i,l,d]=r;return o||=C(e),F(s,(([n,s])=>{o||(e=C(n)?i?.(e,s,t++):C(s)?l?.(e,n,t--):d?.(e,s,n,t),o||=C(e))})),o?a(z(n),j(n)):e})(v[e],d,i,a,o);v[e]=C((e=>{const o=t(e);return(e=>e==n||e==s)(o)||o==r&&m(e)?o:void 0})(l))?null:l}))}})),k(u)||!g(f,(e=>e((e=>v[e]))))?_.delRow(o,h):C(h)?a[2]=_.addRow(o,v):_.setRow(o,h,v)}));te(T,o,T.addRowListener(o,null,((t,n,s,r)=>{const d=[],c=[],u=O(),f=T.hasRow(o,s);let h=!f;F(a,(e=>{const[t,n,a]=r(o,s,e);p(d,n),p(c,a),h||=t})),q(e,(e=>{const[t,,n]=r(o,s,e);(h||t)&&G(u,e,[n])})),h&&l(J(i,d,void 0,(([,e])=>(B(e,s),k(e)))),u,s,1),f&&l(J(i,c,(()=>{const e={};return F(a,(t=>e[t]=T.getCell(o,s,t))),[O(),K(),void 0,e]}),(([,e])=>{N(e,s)})),u,s)})))}se(o,e,T);const b=(t,n,s,r)=>{const i=t=>e.getCell(n,s,t);v(r,(n=>{const[s,,r,a,l]=W(w,n),d=r?.(i,t),[c,u]=W(l,t)??[];d!=c&&(C(u)||Z(o,u),G(l,t,C(d)?null:[d,...Y(o,1,e.addRowListener(s,d,(()=>b(t,s,d,a))))]))})),(t=>{const n=(n,s)=>e.getCell(...C(s)?[a,t,n]:n===a?[a,t,s]:[W(w,n)?.[0],W(W(w,n)?.[4],t)?.[0],s]);T.transaction((()=>g(c,(e=>e(n)))?q(h,((e,s)=>((e,t,n,s,r)=>C(r)?e.delCell(t,n,s,!0):e.setCell(t,n,s,r))(T,o,t,e,s(n,t)))):T.delRow(o,t)))})(t)},{3:x}=W(w,null);return T.transaction((()=>Y(o,1,e.addRowListener(a,null,((t,n,s)=>{e.hasRow(a,s)?b(s,a,s,x):(T.delRow(o,s),F(w,(({4:e})=>Q(W(e,s),(([,t])=>{Z(o,t),G(e,s)})))))}))))),re},delQueryDefinition:e=>(ne(e),V(e),re),getStore:l,getQueryIds:w,forEachQuery:R,hasQuery:T,getTableId:b,delListener:e=>(_.delListener(e),re),destroy:X,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:n,...s}=_.getListenerStats();return s}};var oe,ae;return oe={Table:[1,1],[c]:[0,1],[u]:[0,5],[d]:[1,2],[h]:[0,2],[f]:[1,3]},ae=([e,t],n)=>{v(e?["get","has","forEach"]:["get"],(e=>re[e+i+n]=(...t)=>_[e+n](...t))),re["add"+i+n+a]=(...e)=>{return _["add"+n+a](...(s=e,0,r=t,s.slice(0,r)),((n,...s)=>e[t](re,...s)));var s,r}},((e,t)=>{e.map(t)})(E.entries(oe),(([e,t])=>ae(t,e))),M(re)})(e)),o.get(e))})();e.createQueries=U},"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={});
|
package/lib/umd/queries.js.gz
CHANGED
|
Binary file
|
package/lib/umd/store.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",n=t(s),l=t(!0),a=t(0),r=t(t),o="type",c="default",i="Ids",d="Table",u=d+"s",h=d+i,f="Row"+i,g="Cell",T=g+i,V="Value",b=V+"s",v=V+i,S=e=>s+e,y=(e,t)=>e.forEach(t),C=(e,t)=>e.map(t),w=e=>e.length,p=(e,t,s)=>e.slice(t,s),I=(e,...t)=>e.push(...t),R=e=>JSON.stringify(e,((e,t)=>{return L(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),n={},[...t].reduce(s,n)):t;var s,n})),m=JSON.parse,J=isFinite,L=(e,t)=>e instanceof t,E=e=>null==e,F=(e,t,s)=>E(e)?s?.():t(e),x=e=>e==n||e==l,z=e=>t(e)==r,O=Object,j=O.keys,k=O.isFrozen,A=O.freeze,M=e=>L(e,O)&&e.constructor==O,N=(e,t)=>!E(((e,t)=>F(e,(e=>e[t])))(e,t)),P=(e,t)=>delete e[t],B=(e,t)=>C(O.entries(e),(([e,s])=>t(s,e))),D=e=>{return M(e)&&(t=j(e),0==w(t));var t},W=(e,t)=>e?.has(t)??!1,$=e=>E(e)||0==(e=>e.size)(e),q=e=>e.clear(),G=(e,t)=>e?.forEach(t),H=(e,t)=>e?.delete(t),K=e=>new Map(e),Q=e=>[...e?.keys()??[]],U=(e,t)=>e?.get(t),X=(e,t)=>G(e,((e,s)=>t(s,e))),Y=(e,t,s)=>E(s)?(H(e,t),e):e?.set(t,s),Z=(e,t,s)=>(W(e,t)||Y(e,t,s()),U(e,t)),_=(e,t,s)=>{const n={};return G(e,((e,l)=>{const a=t?t(e,l):e;!s?.(a,e)&&(n[l]=a)})),n},ee=(e,t,s)=>_(e,(e=>_(e,t,s)),D),te=(e,t,s)=>_(e,(e=>ee(e,t,s)),D),se=(e,t)=>{const s=K();return G(e,((e,n)=>s.set(n,t?.(e)??e))),s},ne=e=>se(e,se),le=e=>se(e,ne),ae=(e,t,s,n,l=0)=>F((s?Z:U)(e,t[l],l>w(t)-2?s:K),(a=>{if(l>w(t)-2)return n?.(a)&&Y(e,t[l]),a;const r=ae(a,t,s,n,l+1);return $(a)&&Y(e,t[l]),r})),re=e=>new Set(Array.isArray(e)||E(e)?e:[e]),oe=(e,t)=>e?.add(t),ce=/^\d+$/,ie=()=>{const e=[];let t=0;return[n=>(n?e.shift():null)??s+t++,t=>{ce.test(t)&&w(e)<1e3&&I(e,t)}]},de=e=>[e,e],ue=()=>[K(),K()],he=e=>[...e],fe=([e,t])=>e===t,ge=e=>{const s=t(e);return x(s)||s==a&&J(e)?s:void 0},Te=(e,t,s,n,l)=>E(l)?e.delCell(t,s,n,!0):e.setCell(t,s,n,l),Ve=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),be=(e,t,s,n=Y)=>(B(t,((t,n)=>s(e,n,t))),X(e,(s=>N(t,s)?0:n(e,s))),e),ve=(e,t,s)=>E(e)||!M(e)||D(e)||k(e)?(s?.(),!1):(B(e,((s,n)=>{t(s,n)||P(e,n)})),!D(e)),Se=(e,t,s)=>Y(e,t,U(e,t)==-s?void 0:s),ye=()=>{let e,t,n,l,r=0;const i=K(),J=K(),L=K(),O=K(),j=K(),k=K(),M=K(),ce=K(),Ce=K(),we=K(),pe=K(),Ie=K(),Re=re(),me=K(),Je=K(),Le=K(),Ee=ue(),Fe=ue(),xe=ue(),ze=ue(),Oe=ue(),je=ue(),ke=ue(),Ae=ue(),Me=ue(),Ne=ue(),Pe=ue(),Be=ue(),De=ue(),We=ue(),[$e,qe,Ge,He]=(e=>{let t;const[n,l]=ie(),a=K();return[(e,l,r,o=[],c=(()=>[]))=>{t??=as;const i=n(1);return Y(a,i,[e,l,r,o,c]),oe(ae(l,r??[s],re),i),i},(e,n,...l)=>y(((e,t=[s])=>{const n=[],l=(e,s)=>s==w(t)?I(n,e):null===t[s]?G(e,(e=>l(e,s+1))):y([t[s],null],(t=>l(U(e,t),s+1)));return l(e,0),n})(e,n),(e=>G(e,(e=>U(a,e)[0](t,...n??[],...l))))),e=>F(U(a,e),(([,t,n])=>(ae(t,n??[s],void 0,(t=>(H(t,e),$(t)?1:0))),Y(a,e),l(e),n))),e=>F(U(a,e),(([e,,s=[],n,l])=>{const a=(...r)=>{const o=w(r);o==w(s)?e(t,...r,...l(r)):E(s[o])?y(n[o]?.(...r)??[],(e=>a(...r,e))):a(...r,s[o])};a()}))]})(),Ke=e=>{if(!ve(e,((e,t)=>[o,c].includes(t))))return!1;const t=e[o];return!(!x(t)&&t!=a||(ge(e[c])!=t&&P(e,c),0))},Qe=(t,s)=>(!e||W(Ce,s)||It(s))&&ve(t,((e,t)=>Ue(s,t,e)),(()=>It(s))),Ue=(e,t,s,n)=>ve(n?s:_e(s,e,t),((n,l)=>F(Xe(e,t,l,n),(e=>(s[l]=e,!0)),(()=>!1))),(()=>It(e,t))),Xe=(t,s,n,l)=>e?F(U(U(Ce,t),n),(e=>ge(l)!=e[o]?It(t,s,n,l,e[c]):l),(()=>It(t,s,n,l))):E(ge(l))?It(t,s,n,l):l,Ye=(e,t)=>ve(t?e:et(e),((t,s)=>F(Ze(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Rt())),Ze=(e,s)=>t?F(U(pe,e),(t=>ge(s)!=t[o]?Rt(e,s,t[c]):s),(()=>Rt(e,s))):E(ge(s))?Rt(e,s):s,_e=(e,t,s)=>(F(U(we,t),(([n,l])=>{G(n,((t,s)=>{N(e,s)||(e[s]=t)})),G(l,(n=>{N(e,n)||It(t,s,n)}))})),e),et=e=>(t&&(G(Ie,((t,s)=>{N(e,s)||(e[s]=t)})),G(Re,(t=>{N(e,t)||Rt(t)}))),e),tt=e=>be(Ce,e,((e,t,s)=>{const n=K(),l=re();be(Z(Ce,t,K),s,((e,t,s)=>{Y(e,t,s),F(s[c],(e=>Y(n,t,e)),(()=>oe(l,t)))})),Y(we,t,[n,l])}),((e,t)=>{Y(Ce,t),Y(we,t)})),st=e=>be(pe,e,((e,t,s)=>{Y(pe,t,s),F(s[c],(e=>Y(Ie,t,e)),(()=>oe(Re,t)))}),((e,t)=>{Y(pe,t),Y(Ie,t),H(Re,t)})),nt=e=>D(e)?Xt():Gt(e),lt=e=>be(Je,e,((e,t,s)=>at(t,s)),((e,t)=>gt(t))),at=(e,t)=>be(Z(Je,e,(()=>(vt(e,1),K()))),t,((t,s,n)=>rt(e,t,s,n)),((t,s)=>Tt(e,t,s))),rt=(e,t,s,n,l)=>be(Z(t,s,(()=>(St(e,s,1),K()))),n,((t,n,l)=>ot(e,s,t,n,l)),((n,a)=>Vt(e,t,s,n,a,l))),ot=(e,t,s,n,l)=>{W(s,n)||yt(e,t,n,1);const a=U(s,n);l!==a&&(Ct(e,t,n,a,l),Y(s,n,l))},ct=(e,t,s,n,l)=>F(U(t,s),(t=>ot(e,s,t,n,l)),(()=>rt(e,t,s,_e({[n]:l},e,s)))),it=e=>D(e)?_t():Ht(e),dt=e=>be(Le,e,((e,t,s)=>ut(t,s)),((e,t)=>bt(t))),ut=(e,t)=>{W(Le,e)||wt(e,1);const s=U(Le,e);t!==s&&(pt(e,s,t),Y(Le,e,t))},ht=(e,t)=>{const[s]=Z(me,e,ie),n=s(t);return W(U(Je,e),n)?ht(e,t):n},ft=e=>U(Je,e)??at(e,{}),gt=e=>at(e,{}),Tt=(e,t,s)=>{const[,n]=Z(me,e,ie);n(s),rt(e,t,s,{},!0)},Vt=(e,t,s,n,l,a)=>{const r=U(U(we,e)?.[0],l);if(!E(r)&&!a)return ot(e,s,n,l,r);const o=t=>{Ct(e,s,t,U(n,t)),yt(e,s,t,-1),Y(n,t)};E(r)?o(l):X(n,o),$(n)&&(St(e,s,-1),$(Y(t,s))&&(vt(e,-1),Y(Je,e),Y(me,e)))},bt=e=>{const t=U(Ie,e);if(!E(t))return ut(e,t);pt(e,U(Le,e)),wt(e,-1),Y(Le,e)},vt=(e,t)=>Se(i,e,t),St=(e,t,s)=>Se(Z(J,e,K),t,s),yt=(e,t,s,n)=>Se(Z(Z(L,e,K),t,K),s,n),Ct=(e,t,s,n,l)=>Z(Z(Z(O,e,K),t,K),s,(()=>[n,0]))[1]=l,wt=(e,t)=>Se(j,e,t),pt=(e,t,s)=>Z(k,e,(()=>[t,0]))[1]=s,It=(e,t,s,n,l)=>(I(Z(Z(Z(M,e,K),t,K),s,(()=>[])),n),l),Rt=(e,t,s)=>(I(Z(ce,e,(()=>[])),t),s),mt=(e,t,s)=>F(U(U(U(O,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...de(Dt(e,t,s))])),Jt=e=>F(U(k,e),(([e,t])=>[!0,e,t]),(()=>[!1,...de(qt(e))])),Lt=e=>$(M)||$(Me[e])?0:G(e?le(M):M,((t,s)=>G(t,((t,n)=>G(t,((t,l)=>qe(Me[e],[s,n,l],t))))))),Et=e=>$(ce)||$(Ne[e])?0:G(e?se(ce):ce,((t,s)=>qe(Ne[e],[s],t))),Ft=(e,t,s)=>{if(!$(t))return qe(e,s),1},xt=e=>{const t=$(Oe[e]),s=$(ke[e])&&$(ze[e])&&t&&$(Fe[e]),n=$(Ae[e])&&$(je[e])&&$(xe[e])&&$(Ee[e]);if(!s||!n){const l=e?[se(i),ne(J),le(L),le(O)]:[i,J,L,O];if(!s){G(l[2],((t,s)=>G(t,((t,n)=>Ft(ke[e],t,[s,n])))));const s=re();G(l[1],((n,l)=>{Ft(ze[e],n,[l])&&!t&&(qe(Oe[e],[l,null]),oe(s,l))})),t||G(l[3],((t,n)=>{if(!W(s,n)){const s=re();G(t,(e=>G(e,(([t,n],l)=>n!==t?oe(s,l):H(e,l))))),G(s,(t=>qe(Oe[e],[n,t])))}})),Ft(Fe[e],l[0])}if(!n){let t;G(l[3],((s,n)=>{let l;G(s,((s,a)=>{let r;G(s,(([s,o],c)=>{o!==s&&(qe(Ae[e],[n,a,c],o,s,mt),t=l=r=1)})),r&&qe(je[e],[n,a],mt)})),l&&qe(xe[e],[n],mt)})),t&&qe(Ee[e],void 0,mt)}}},zt=e=>{const t=$(Be[e]),s=$(De[e])&&$(Pe[e]);if(!t||!s){const n=e?[se(j),se(k)]:[j,k];if(t||Ft(Be[e],n[0]),!s){let t;G(n[1],(([s,n],l)=>{n!==s&&(qe(De[e],[l],n,s,Jt),t=1)})),t&&qe(Pe[e],void 0,Jt)}}},Ot=(e,...t)=>(ss((()=>e(...C(t,S)))),as),jt=()=>[_(O,((e,t)=>-1===U(i,t)?null:_(e,((e,s)=>-1===U(U(J,t),s)?null:_(e,(([,e])=>e??null),((e,t)=>fe(t)))),D)),D),_(k,(([,e])=>e??null),((e,t)=>fe(t)))],kt=()=>({cellsTouched:n,valuesTouched:l,changedCells:te(O,he,fe),invalidCells:te(M),changedValues:_(k,he,fe),invalidValues:_(ce),changedTableIds:_(i),changedRowIds:ee(J),changedCellIds:te(L),changedValueIds:_(j)}),At=()=>te(Je),Mt=()=>Q(Je),Nt=e=>Q(U(Je,S(e))),Pt=(e,t,s,n=0,l)=>{return C(p((r=U(Je,S(e)),o=(e,s)=>[E(t)?s:U(e,S(t)),s],a=([e],[t])=>(e<t?-1:1)*(s?-1:1),C([...r?.entries()??[]],(([e,t])=>o(t,e))).sort(a)),n,E(l)?l:n+l),(([,e])=>e));var a,r,o},Bt=(e,t)=>Q(U(U(Je,S(e)),S(t))),Dt=(e,t,s)=>U(U(U(Je,S(e)),S(t)),S(s)),Wt=()=>_(Le),$t=()=>Q(Le),qt=e=>U(Le,S(e)),Gt=e=>Ot((()=>(e=>ve(e,Qe,It))(e)?lt(e):0)),Ht=e=>Ot((()=>Ye(e)?dt(e):0)),Kt=e=>{try{nt(m(e))}catch{}return as},Qt=t=>Ot((()=>{if((e=ve(t,(e=>ve(e,Ke))))&&(tt(t),!$(Je))){const e=At();Xt(),Gt(e)}})),Ut=e=>Ot((()=>{if(t=(e=>ve(e,Ke))(e)){const s=Wt();ts(),_t(),t=!0,st(e),Ht(s)}})),Xt=()=>Ot((()=>lt({}))),Yt=e=>Ot((e=>W(Je,e)?gt(e):0),e),Zt=(e,t)=>Ot(((e,t)=>F(U(Je,e),(s=>W(s,t)?Tt(e,s,t):0))),e,t),_t=()=>Ot((()=>dt({}))),es=()=>Ot((()=>{tt({}),e=!1})),ts=()=>Ot((()=>{st({}),t=!1})),ss=(e,t)=>{if(-1==r)return;ns();const s=e();return ls(t),s},ns=()=>(r++,as),ls=e=>(r>0&&(r--,0==r&&(n=!$(O),l=!$(k),r=1,Lt(1),n&&xt(1),Et(1),l&&zt(1),r=-1,e?.(jt,kt)&&(r=1,G(O,((e,t)=>G(e,((e,s)=>G(e,(([e],n)=>Te(as,t,s,n,e))))))),G(k,(([e],t)=>Ve(as,t,e))),r=-1,n=l=!1),qe(We[0],void 0,jt,kt),Lt(0),n&&xt(0),Et(0),l&&zt(0),qe(We[1],void 0,jt,kt),r=0,y([i,J,L,O,M,j,k,ce],q))),as),as={getContent:()=>[At(),Wt()],getTables:At,getTableIds:Mt,getTable:e=>ee(U(Je,S(e))),getRowIds:Nt,getSortedRowIds:Pt,getRow:(e,t)=>_(U(U(Je,S(e)),S(t))),getCellIds:Bt,getCell:Dt,getValues:Wt,getValueIds:$t,getValue:qt,hasTables:()=>!$(Je),hasTable:e=>W(Je,S(e)),hasRow:(e,t)=>W(U(Je,S(e)),S(t)),hasCell:(e,t,s)=>W(U(U(Je,S(e)),S(t)),S(s)),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,t])=>Ot((()=>{Gt(e),Ht(t)})),setTables:Gt,setTable:(e,t)=>Ot((e=>Qe(t,e)?at(e,t):0),e),setRow:(e,t,s)=>Ot(((e,t)=>Ue(e,t,s)?rt(e,ft(e),t,s):0),e,t),addRow:(e,t,s=!0)=>ss((()=>{let n;return Ue(e,n,t)&&(e=S(e),rt(e,ft(e),n=ht(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Ot(((e,t)=>{if(Ue(e,t,s,1)){const n=ft(e);B(s,((s,l)=>ct(e,n,t,l,s)))}}),e,t),setCell:(e,t,s,n)=>Ot(((e,t,s)=>F(Xe(e,t,s,z(n)?n(Dt(e,t,s)):n),(n=>ct(e,ft(e),t,s,n)))),e,t,s),setValues:Ht,setPartialValues:e=>Ot((()=>Ye(e,1)?B(e,((e,t)=>ut(t,e))):0)),setValue:(e,t)=>Ot((e=>F(Ze(e,z(t)?t(qt(e)):t),(t=>ut(e,t)))),e),setTransactionChanges:e=>Ot((()=>{B(e[0],((e,t)=>E(e)?Yt(t):B(e,((e,s)=>E(e)?Zt(t,s):B(e,((e,n)=>Te(as,t,s,n,e))))))),B(e[1],((e,t)=>Ve(as,t,e)))})),setTablesJson:Kt,setValuesJson:e=>{try{it(m(e))}catch{}return as},setJson:e=>{try{const[t,s]=m(e);nt(t),it(s)}catch{Kt(e)}return as},setTablesSchema:Qt,setValuesSchema:Ut,setSchema:(e,t)=>Ot((()=>{Qt(e),Ut(t)})),delTables:Xt,delTable:Yt,delRow:Zt,delCell:(e,t,s,n)=>Ot(((e,t,s)=>F(U(Je,e),(l=>F(U(l,t),(a=>W(a,s)?Vt(e,l,t,a,s,n):0))))),e,t,s),delValues:_t,delValue:e=>Ot((e=>W(Le,e)?bt(e):0),e),delTablesSchema:es,delValuesSchema:ts,delSchema:()=>Ot((()=>{es(),ts()})),transaction:ss,startTransaction:ns,finishTransaction:ls,forEachTable:e=>G(Je,((t,s)=>e(s,(e=>G(t,((t,s)=>e(s,(e=>X(t,e))))))))),forEachRow:(e,t)=>G(U(Je,S(e)),((e,s)=>t(s,(t=>X(e,t))))),forEachCell:(e,t,s)=>X(U(U(Je,S(e)),S(t)),s),forEachValue:e=>X(Le,e),addSortedRowIdsListener:(e,t,s,n,l,a,r)=>{let o=Pt(e,t,s,n,l);return $e((()=>{const r=Pt(e,t,s,n,l);var c,i,d;i=o,w(c=r)===w(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(o=r,a(as,e,t,s,n,l,o))}),Oe[r?1:0],[e,t],[Mt])},addWillFinishTransactionListener:e=>$e(e,We[0]),addDidFinishTransactionListener:e=>$e(e,We[1]),callListener:e=>(He(e),as),delListener:e=>(Ge(e),as),getListenerStats:()=>({}),createStore:ye};return B({[u]:[0,Ee],[h]:[0,Fe],[d]:[1,xe,[Mt]],[f]:[1,ze,[Mt]],Row:[2,je,[Mt,Nt]],[T]:[2,ke,[Mt,Nt]],[g]:[3,Ae,[Mt,Nt,Bt],e=>de(Dt(...e))],InvalidCell:[3,Me],[b]:[0,Pe],[v]:[0,Be],[V]:[1,De,[$t],e=>de(qt(e[0]))],InvalidValue:[1,Ne]},(([e,t,s,n],l)=>{as["add"+l+"Listener"]=(...l)=>$e(l[e],t[l[e+1]?1:0],e>0?p(l,0,e):void 0,s,n)})),A(as)};e.createStore=ye},"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseStore={});
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,s="",l=t(s),n=t(!0),a=t(0),o=t(t),r="type",c="default",i="Ids",d="Table",u=d+"s",h=d+i,f="Row"+i,g="Cell",T=g+i,b="Value",V=b+"s",v=b+i,C=e=>s+e,S=(e,t)=>e.forEach(t),y=(e,t)=>e.map(t),w=e=>e.length,p=(e,t,s)=>e.slice(t,s),I=(e,...t)=>e.push(...t),R=e=>JSON.stringify(e,((e,t)=>{return L(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),l={},[...t].reduce(s,l)):t;var s,l})),m=JSON.parse,J=isFinite,L=(e,t)=>e instanceof t,E=e=>null==e,F=(e,t,s)=>E(e)?s?.():t(e),x=e=>e==l||e==n,z=e=>t(e)==o,O=Object,j=O.keys,k=O.isFrozen,A=O.freeze,M=e=>L(e,O)&&e.constructor==O,N=(e,t)=>!E(((e,t)=>F(e,(e=>e[t])))(e,t)),P=(e,t)=>(delete e[t],e),B=(e,t)=>y(O.entries(e),(([e,s])=>t(s,e))),D=e=>M(e)&&0==(e=>w(j(e)))(e),W=(e,t)=>e?.has(t)??!1,$=e=>E(e)||0==(e=>e.size)(e),q=e=>e.clear(),G=(e,t)=>e?.forEach(t),H=(e,t)=>e?.delete(t),K=e=>new Map(e),Q=e=>[...e?.keys()??[]],U=(e,t)=>e?.get(t),X=(e,t)=>G(e,((e,s)=>t(s,e))),Y=(e,t,s)=>E(s)?(H(e,t),e):e?.set(t,s),Z=(e,t,s)=>(W(e,t)||Y(e,t,s()),U(e,t)),_=(e,t,s,l=Y)=>(B(t,((t,l)=>s(e,l,t))),X(e,(s=>N(t,s)?0:l(e,s))),e),ee=(e,t,s)=>{const l={};return G(e,((e,n)=>{const a=t?t(e,n):e;!s?.(a,e)&&(l[n]=a)})),l},te=(e,t,s)=>ee(e,(e=>ee(e,t,s)),D),se=(e,t,s)=>ee(e,(e=>te(e,t,s)),D),le=(e,t)=>{const s=K();return G(e,((e,l)=>s.set(l,t?.(e)??e))),s},ne=e=>le(e,le),ae=e=>le(e,ne),oe=(e,t,s,l,n=0)=>F((s?Z:U)(e,t[n],n>w(t)-2?s:K),(a=>{if(n>w(t)-2)return l?.(a)&&Y(e,t[n]),a;const o=oe(a,t,s,l,n+1);return $(a)&&Y(e,t[n]),o})),re=e=>new Set(Array.isArray(e)||E(e)?e:[e]),ce=(e,t)=>e?.add(t),ie=/^\d+$/,de=()=>{const e=[];let t=0;return[l=>(l?e.shift():null)??s+t++,t=>{ie.test(t)&&w(e)<1e3&&I(e,t)}]},ue=e=>[e,e],he=()=>[K(),K()],fe=e=>[...e],ge=([e,t])=>e===t,Te=e=>{const s=t(e);return x(s)||s==a&&J(e)?s:void 0},be=(e,t,s,l,n)=>E(n)?e.delCell(t,s,l,!0):e.setCell(t,s,l,n),Ve=(e,t,s)=>E(s)?e.delValue(t):e.setValue(t,s),ve=(e,t,s)=>E(e)||!M(e)||D(e)||k(e)?(s?.(),!1):(B(e,((s,l)=>{t(s,l)||P(e,l)})),!D(e)),Ce=(e,t,s)=>Y(e,t,U(e,t)==-s?void 0:s),Se=()=>{let e,t,l=!1,n=!1,o=0;const i=K(),J=K(),L=K(),O=K(),j=K(),k=K(),M=K(),ie=K(),ye=K(),we=K(),pe=K(),Ie=K(),Re=K(),me=re(),Je=K(),Le=K(),Ee=K(),Fe=K(),xe=he(),ze=he(),Oe=he(),je=he(),ke=he(),Ae=he(),Me=he(),Ne=he(),Pe=he(),Be=he(),De=he(),We=he(),$e=he(),qe=he(),Ge=K(),He=he(),[Ke,Qe,Ue,Xe]=(e=>{let t;const[l,n]=de(),a=K();return[(e,n,o,r=[],c=(()=>[]))=>{t??=is;const i=l(1);return Y(a,i,[e,n,o,r,c]),ce(oe(n,o??[s],re),i),i},(e,l,...n)=>S(((e,t=[s])=>{const l=[],n=(e,s)=>s==w(t)?I(l,e):null===t[s]?G(e,(e=>n(e,s+1))):S([t[s],null],(t=>n(U(e,t),s+1)));return n(e,0),l})(e,l),(e=>G(e,(e=>U(a,e)[0](t,...l??[],...n))))),e=>F(U(a,e),(([,t,l])=>(oe(t,l??[s],void 0,(t=>(H(t,e),$(t)?1:0))),Y(a,e),n(e),l))),e=>F(U(a,e),(([e,,s=[],l,n])=>{const a=(...o)=>{const r=w(o);r==w(s)?e(t,...o,...n(o)):E(s[r])?S(l[r]?.(...o)??[],(e=>a(...o,e))):a(...o,s[r])};a()}))]})(),Ye=e=>{if(!ve(e,((e,t)=>[r,c].includes(t))))return!1;const t=e[r];return!(!x(t)&&t!=a||(Te(e[c])!=t&&P(e,c),0))},Ze=(t,s)=>(!e||W(we,s)||Lt(s))&&ve(t,((e,t)=>_e(s,t,e)),(()=>Lt(s))),_e=(e,t,s,l)=>ve(l?s:lt(s,e,t),((l,n)=>F(et(e,t,n,l),(e=>(s[n]=e,!0)),(()=>!1))),(()=>Lt(e,t))),et=(t,s,l,n)=>e?F(U(U(we,t),l),(e=>Te(n)!=e[r]?Lt(t,s,l,n,e[c]):n),(()=>Lt(t,s,l,n))):E(Te(n))?Lt(t,s,l,n):n,tt=(e,t)=>ve(t?e:nt(e),((t,s)=>F(st(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>Et())),st=(e,s)=>t?F(U(Ie,e),(t=>Te(s)!=t[r]?Et(e,s,t[c]):s),(()=>Et(e,s))):E(Te(s))?Et(e,s):s,lt=(e,t,s)=>(F(U(pe,t),(([l,n])=>{G(l,((t,s)=>{N(e,s)||(e[s]=t)})),G(n,(l=>{N(e,l)||Lt(t,s,l)}))})),e),nt=e=>(t&&(G(Re,((t,s)=>{N(e,s)||(e[s]=t)})),G(me,(t=>{N(e,t)||Et(t)}))),e),at=e=>_(we,e,((e,t,s)=>{const l=K(),n=re();_(Z(we,t,K),s,((e,t,s)=>{Y(e,t,s),F(s[c],(e=>Y(l,t,e)),(()=>ce(n,t)))})),Y(pe,t,[l,n])}),((e,t)=>{Y(we,t),Y(pe,t)})),ot=e=>_(Ie,e,((e,t,s)=>{Y(Ie,t,s),F(s[c],(e=>Y(Re,t,e)),(()=>ce(me,t)))}),((e,t)=>{Y(Ie,t),Y(Re,t),H(me,t)})),rt=e=>D(e)?es():Ut(e),ct=e=>_(Ee,e,((e,t,s)=>it(t,s)),((e,t)=>vt(t))),it=(e,t)=>_(Z(Ee,e,(()=>(wt(e,1),Y(Je,e,de()),Y(Le,e,K()),K()))),t,((t,s,l)=>dt(e,t,s,l)),((t,s)=>Ct(e,t,s))),dt=(e,t,s,l,n)=>_(Z(t,s,(()=>(pt(e,s,1),K()))),l,((t,l,n)=>ut(e,s,t,l,n)),((l,a)=>St(e,t,s,l,a,n))),ut=(e,t,s,l,n)=>{W(s,l)||It(e,t,l,1);const a=U(s,l);n!==a&&(Rt(e,t,l,a,n),Y(s,l,n))},ht=(e,t,s,l,n)=>F(U(t,s),(t=>ut(e,s,t,l,n)),(()=>dt(e,t,s,lt({[l]:n},e,s)))),ft=e=>D(e)?ls():Xt(e),gt=e=>_(Fe,e,((e,t,s)=>Tt(t,s)),((e,t)=>yt(t))),Tt=(e,t)=>{W(Fe,e)||mt(e,1);const s=U(Fe,e);t!==s&&(Jt(e,s,t),Y(Fe,e,t))},bt=(e,t)=>{const[s]=U(Je,e),l=s(t);return W(U(Ee,e),l)?bt(e,t):l},Vt=e=>U(Ee,e)??it(e,{}),vt=e=>it(e,{}),Ct=(e,t,s)=>{const[,l]=U(Je,e);l(s),dt(e,t,s,{},!0)},St=(e,t,s,l,n,a)=>{const o=U(U(pe,e)?.[0],n);if(!E(o)&&!a)return ut(e,s,l,n,o);const r=t=>{Rt(e,s,t,U(l,t)),It(e,s,t,-1),Y(l,t)};E(o)?r(n):X(l,r),$(l)&&(pt(e,s,-1),$(Y(t,s))&&(wt(e,-1),Y(Ee,e),Y(Je,e),Y(Le,e)))},yt=e=>{const t=U(Re,e);if(!E(t))return Tt(e,t);Jt(e,U(Fe,e)),mt(e,-1),Y(Fe,e)},wt=(e,t)=>Ce(i,e,t),pt=(e,t,s)=>Ce(Z(L,e,K),t,s),It=(e,t,s,l)=>{const n=U(Le,e),a=U(n,s)??0;(0==a&&1==l||1==a&&-1==l)&&Ce(Z(J,e,K),s,l),Y(n,s,a!=-l?a+l:null),Ce(Z(Z(O,e,K),t,K),s,l)},Rt=(e,t,s,l,n)=>Z(Z(Z(j,e,K),t,K),s,(()=>[l,0]))[1]=n,mt=(e,t)=>Ce(k,e,t),Jt=(e,t,s)=>Z(M,e,(()=>[t,0]))[1]=s,Lt=(e,t,s,l,n)=>(I(Z(Z(Z(ie,e,K),t,K),s,(()=>[])),l),n),Et=(e,t,s)=>(I(Z(ye,e,(()=>[])),t),s),Ft=(e,t,s)=>F(U(U(U(j,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...ue(Gt(e,t,s))])),xt=e=>F(U(M,e),(([e,t])=>[!0,e,t]),(()=>[!1,...ue(Qt(e))])),zt=e=>$(ie)||$(Be[e])?0:G(e?ae(ie):ie,((t,s)=>G(t,((t,l)=>G(t,((t,n)=>Qe(Be[e],[s,l,n],t))))))),Ot=e=>$(ye)||$(De[e])?0:G(e?le(ye):ye,((t,s)=>Qe(De[e],[s],t))),jt=(e,t,s)=>{if(!$(t))return Qe(e,s,(()=>ee(t))),1},kt=e=>{const t=$(Ae[e]),s=$(Ne[e])&&$(je[e])&&$(ke[e])&&t&&$(ze[e]),l=$(Pe[e])&&$(Me[e])&&$(Oe[e])&&$(xe[e]);if(!s||!l){const n=e?[le(i),ne(J),ne(L),ae(O),ae(j)]:[i,J,L,O,j];if(!s){jt(ze[e],n[0]),G(n[1],((t,s)=>jt(je[e],t,[s])));const s=re();G(n[2],((l,n)=>{jt(ke[e],l,[n])&&!t&&(Qe(Ae[e],[n,null]),ce(s,n))})),t||G(n[4],((t,l)=>{if(!W(s,l)){const s=re();G(t,(e=>G(e,(([t,l],n)=>l!==t?ce(s,n):H(e,n))))),G(s,(t=>Qe(Ae[e],[l,t])))}})),G(n[3],((t,s)=>G(t,((t,l)=>jt(Ne[e],t,[s,l])))))}if(!l){let t;G(n[4],((s,l)=>{let n;G(s,((s,a)=>{let o;G(s,(([s,r],c)=>{r!==s&&(Qe(Pe[e],[l,a,c],r,s,Ft),t=n=o=1)})),o&&Qe(Me[e],[l,a],Ft)})),n&&Qe(Oe[e],[l],Ft)})),t&&Qe(xe[e],void 0,Ft)}}},At=e=>{const t=$($e[e]),s=$(qe[e])&&$(We[e]);if(!t||!s){const l=e?[le(k),le(M)]:[k,M];if(t||jt($e[e],l[0]),!s){let t;G(l[1],(([s,l],n)=>{l!==s&&(Qe(qe[e],[n],l,s,xt),t=1)})),t&&Qe(We[e],void 0,xt)}}},Mt=(e,...t)=>(os((()=>e(...y(t,C)))),is),Nt=()=>[ee(j,((e,t)=>-1===U(i,t)?null:ee(e,((e,s)=>-1===U(U(L,t),s)?null:ee(e,(([,e])=>e??null),((e,t)=>ge(t)))),D)),D),ee(M,(([,e])=>e??null),((e,t)=>ge(t)))],Pt=()=>({cellsTouched:l,valuesTouched:n,changedCells:se(j,fe,ge),invalidCells:se(ie),changedValues:ee(M,fe,ge),invalidValues:ee(ye),changedTableIds:ee(i),changedRowIds:te(L),changedCellIds:se(O),changedValueIds:ee(k)}),Bt=()=>se(Ee),Dt=()=>Q(Ee),Wt=e=>Q(U(Ee,C(e))),$t=(e,t,s,l=0,n)=>{return y(p((o=U(Ee,C(e)),r=(e,s)=>[E(t)?s:U(e,C(t)),s],a=([e],[t])=>(e<t?-1:1)*(s?-1:1),y([...o?.entries()??[]],(([e,t])=>r(t,e))).sort(a)),l,E(n)?n:l+n),(([,e])=>e));var a,o,r},qt=(e,t)=>Q(U(U(Ee,C(e)),C(t))),Gt=(e,t,s)=>U(U(U(Ee,C(e)),C(t)),C(s)),Ht=()=>ee(Fe),Kt=()=>Q(Fe),Qt=e=>U(Fe,C(e)),Ut=e=>Mt((()=>(e=>ve(e,Ze,Lt))(e)?ct(e):0)),Xt=e=>Mt((()=>tt(e)?gt(e):0)),Yt=e=>{try{rt(m(e))}catch{}return is},Zt=t=>Mt((()=>{if((e=ve(t,(e=>ve(e,Ye))))&&(at(t),!$(Ee))){const e=Bt();es(),Ut(e)}})),_t=e=>Mt((()=>{if(t=(e=>ve(e,Ye))(e)){const s=Ht();as(),ls(),t=!0,ot(e),Xt(s)}})),es=()=>Mt((()=>ct({}))),ts=e=>Mt((e=>W(Ee,e)?vt(e):0),e),ss=(e,t)=>Mt(((e,t)=>F(U(Ee,e),(s=>W(s,t)?Ct(e,s,t):0))),e,t),ls=()=>Mt((()=>gt({}))),ns=()=>Mt((()=>{at({}),e=!1})),as=()=>Mt((()=>{ot({}),t=!1})),os=(e,t)=>{if(-1!=o){rs();const s=e();return cs(t),s}},rs=()=>(-1!=o&&o++,1==o&&Qe(Ge,void 0,Nt,Pt),is),cs=e=>(o>0&&(o--,0==o&&(l=!$(j),n=!$(M),o=1,zt(1),l&&kt(1),Ot(1),n&&At(1),e?.(Nt,Pt)&&(G(j,((e,t)=>G(e,((e,s)=>G(e,(([e],l)=>be(is,t,s,l,e))))))),G(M,(([e],t)=>Ve(is,t,e))),l=n=!1),Qe(He[0],void 0,Nt,Pt),o=-1,zt(0),l&&kt(0),Ot(0),n&&At(0),Qe(He[1],void 0,Nt,Pt),o=0,l=n=!1,S([i,J,L,O,j,ie,k,M,ye],q))),is),is={getContent:()=>[Bt(),Ht()],getTables:Bt,getTableIds:Dt,getTable:e=>te(U(Ee,C(e))),getTableCellIds:e=>Q(U(Le,C(e))),getRowIds:Wt,getSortedRowIds:$t,getRow:(e,t)=>ee(U(U(Ee,C(e)),C(t))),getCellIds:qt,getCell:Gt,getValues:Ht,getValueIds:Kt,getValue:Qt,hasTables:()=>!$(Ee),hasTable:e=>W(Ee,C(e)),hasTableCell:(e,t)=>W(U(Le,C(e)),C(t)),hasRow:(e,t)=>W(U(Ee,C(e)),C(t)),hasCell:(e,t,s)=>W(U(U(Ee,C(e)),C(t)),C(s)),hasValues:()=>!$(Fe),hasValue:e=>W(Fe,C(e)),getTablesJson:()=>R(Ee),getValuesJson:()=>R(Fe),getJson:()=>R([Ee,Fe]),getTablesSchemaJson:()=>R(we),getValuesSchemaJson:()=>R(Ie),getSchemaJson:()=>R([we,Ie]),setContent:([e,t])=>Mt((()=>{Ut(e),Xt(t)})),setTables:Ut,setTable:(e,t)=>Mt((e=>Ze(t,e)?it(e,t):0),e),setRow:(e,t,s)=>Mt(((e,t)=>_e(e,t,s)?dt(e,Vt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>os((()=>{let l;return _e(e,l,t)&&(e=C(e),dt(e,Vt(e),l=bt(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Mt(((e,t)=>{if(_e(e,t,s,1)){const l=Vt(e);B(s,((s,n)=>ht(e,l,t,n,s)))}}),e,t),setCell:(e,t,s,l)=>Mt(((e,t,s)=>F(et(e,t,s,z(l)?l(Gt(e,t,s)):l),(l=>ht(e,Vt(e),t,s,l)))),e,t,s),setValues:Xt,setPartialValues:e=>Mt((()=>tt(e,1)?B(e,((e,t)=>Tt(t,e))):0)),setValue:(e,t)=>Mt((e=>F(st(e,z(t)?t(Qt(e)):t),(t=>Tt(e,t)))),e),setTransactionChanges:e=>Mt((()=>{B(e[0],((e,t)=>E(e)?ts(t):B(e,((e,s)=>E(e)?ss(t,s):B(e,((e,l)=>be(is,t,s,l,e))))))),B(e[1],((e,t)=>Ve(is,t,e)))})),setTablesJson:Yt,setValuesJson:e=>{try{ft(m(e))}catch{}return is},setJson:e=>{try{const[t,s]=m(e);rt(t),ft(s)}catch{Yt(e)}return is},setTablesSchema:Zt,setValuesSchema:_t,setSchema:(e,t)=>Mt((()=>{Zt(e),_t(t)})),delTables:es,delTable:ts,delRow:ss,delCell:(e,t,s,l)=>Mt(((e,t,s)=>F(U(Ee,e),(n=>F(U(n,t),(a=>W(a,s)?St(e,n,t,a,s,l):0))))),e,t,s),delValues:ls,delValue:e=>Mt((e=>W(Fe,e)?yt(e):0),e),delTablesSchema:ns,delValuesSchema:as,delSchema:()=>Mt((()=>{ns(),as()})),transaction:os,startTransaction:rs,finishTransaction:cs,forEachTable:e=>G(Ee,((t,s)=>e(s,(e=>G(t,((t,s)=>e(s,(e=>X(t,e))))))))),forEachTableCell:(e,t)=>X(U(Le,C(e)),t),forEachRow:(e,t)=>G(U(Ee,C(e)),((e,s)=>t(s,(t=>X(e,t))))),forEachCell:(e,t,s)=>X(U(U(Ee,C(e)),C(t)),s),forEachValue:e=>X(Fe,e),addSortedRowIdsListener:(e,t,s,l,n,a,o)=>{let r=$t(e,t,s,l,n);return Ke((()=>{const o=$t(e,t,s,l,n);var c,i,d;i=r,w(c=o)===w(i)&&(d=(e,t)=>i[t]===e,c.every(d))||(r=o,a(is,e,t,s,l,n,r))}),Ae[o?1:0],[e,t],[Dt])},addStartTransactionListener:e=>Ke(e,Ge),addWillFinishTransactionListener:e=>Ke(e,He[0]),addDidFinishTransactionListener:e=>Ke(e,He[1]),callListener:e=>(Xe(e),is),delListener:e=>(Ue(e),is),getListenerStats:()=>({}),createStore:Se};return B({[u]:[0,xe],[h]:[0,ze],[d]:[1,Oe,[Dt]],[d+T]:[1,je,[Dt]],[f]:[1,ke,[Dt]],Row:[2,Me,[Dt,Wt]],[T]:[2,Ne,[Dt,Wt]],[g]:[3,Pe,[Dt,Wt,qt],e=>ue(Gt(...e))],InvalidCell:[3,Be],[V]:[0,We],[v]:[0,$e],[b]:[1,qe,[Kt],e=>ue(Qt(e[0]))],InvalidValue:[1,De]},(([e,t,s,l],n)=>{is["add"+n+"Listener"]=(...n)=>Ke(n[e],t[n[e+1]?1:0],e>0?p(n,0,e):void 0,s,l)})),A(is)};e.createStore=Se},"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){"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),a=t(!0),o=t(0),r=t(t),l="type",i="default",c="Listener",d="Result",u="add",h="Ids",f="Table",g=f+"s",L=f+h,w="Row",S=w+h,T="Sorted"+w+h,v="Cell",R=v+h,I="Value",y=I+"s",p=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)),E=(e,t)=>V(e,((s,n)=>0==n||t(e[n-1],s)<=0)),k=(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==a,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)),ae=(e,t)=>(delete e[t],e),oe=(e,t)=>x(Z.entries(e),(([e,s])=>t(s,e))),re=e=>se(e)&&0==(e=>J(_(e)))(e),le=e=>e.size,ie=(e,t)=>e?.has(t)??!1,ce=e=>G(e)||0==le(e),de=e=>[...e?.values()??[]],ue=e=>e.clear(),he=(e,t)=>e?.forEach(t),fe=(e,t)=>e?.delete(t),ge=e=>new Map(e),Le=e=>[...e?.keys()??[]],we=(e,t)=>e?.get(t),Se=(e,t)=>he(e,((e,s)=>t(s,e))),Te=(e,t,s)=>G(s)?(fe(e,t),e):e?.set(t,s),ve=(e,t,s)=>(ie(e,t)||Te(e,t,s()),we(e,t)),Re=(e,t,s,n=Te)=>(oe(t,((t,n)=>s(e,n,t))),Se(e,(s=>ne(t,s)?0:n(e,s))),e),Ie=(e,t,s)=>{const n={};return he(e,((e,a)=>{const o=t?t(e,a):e;!s?.(o,e)&&(n[a]=o)})),n},ye=(e,t,s)=>Ie(e,(e=>Ie(e,t,s)),re),pe=(e,t,s)=>Ie(e,(e=>ye(e,t,s)),re),Ce=(e,t)=>{const s=ge();return he(e,((e,n)=>s.set(n,t?.(e)??e))),s},be=e=>Ce(e,Ce),Ve=e=>Ce(e,be),me=(e,t,s,n,a=0)=>H((s?ve:we)(e,t[a],a>J(t)-2?s:ge),(o=>{if(a>J(t)-2)return n?.(o)&&Te(e,t[a]),o;const r=me(o,t,s,n,a+1);return ce(o)&&Te(e,t[a]),r})),Ee=e=>{const s=t(e);return K(s)||s==o&&$(e)?s:void 0},ke=(e,t,s,n,a)=>G(a)?e.delCell(t,s,n,!0):e.setCell(t,s,n,a),Me=(e,t,s)=>G(s)?e.delValue(t):e.setValue(t,s),xe=e=>new Set(X(e)||G(e)?e:[e]),De=(e,t)=>e?.add(t),Je=(e,t,s)=>{const n=e.hasRow,a=ge(),o=ge(),r=ge(),l=ge(),i=ge(),c=(t,s,...n)=>{const a=ve(i,t,xe);return M(n,(t=>De(a,t)&&s&&e.callListener(t))),n},d=(t,...s)=>H(we(i,t),(n=>{M(A(s)?de(n):s,(t=>{e.delListener(t),fe(n,t)})),ce(n)&&Te(i,t)})),u=(e,s)=>{Te(a,e,s),ie(o,e)||(Te(o,e,t()),Te(r,e,ge()),Te(l,e,ge()))},h=e=>{Te(a,e),Te(o,e),Te(r,e),Te(l,e),d(e)};return[()=>e,()=>Le(a),e=>Se(o,e),e=>ie(o,e),e=>we(a,e),e=>we(o,e),(e,t)=>Te(o,e,t),u,(t,a,o,i,h)=>{u(t,a);const f=ge(),g=ge(),L=we(r,t),w=we(l,t),S=t=>{const o=s=>e.getCell(a,t,s),r=we(L,t),l=n(a,t)?s(i(o,t)):void 0;if(r===l||X(r)&&X(l)&&m(r,l)||Te(f,t,[r,l]),!G(h)){const e=we(w,t),s=n(a,t)?h(o,t):void 0;e!=s&&Te(g,t,s)}},T=e=>{o((()=>{he(f,(([,e],t)=>Te(L,t,e))),he(g,((e,t)=>Te(w,t,e)))}),f,g,L,w,e),ue(f),ue(g)};Se(L,S),e.hasTable(a)&&M(e.getRowIds(a),(e=>{ie(L,e)||S(e)})),T(!0),d(t),c(t,0,e.addRowListener(a,null,((e,t,s)=>S(s))),e.addTableListener(a,(()=>T())))},h,()=>Se(i,h),c,d]},Ae=(e,a)=>t(e)==n?t=>t(e):e??(()=>a??s),Fe=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},Qe=/^\d+$/,ze=()=>{const e=[];let t=0;return[n=>(n?j(e):null)??s+t++,t=>{Qe.test(t)&&J(e)<1e3&&z(e,t)}]},Ne=e=>{let t;const[n,a]=ze(),o=ge();return[(a,r,l,i=[],c=(()=>[]))=>{t??=e();const d=n(1);return Te(o,d,[a,r,l,i,c]),De(me(r,l??[s],xe),d),d},(e,n,...a)=>M(((e,t=[s])=>{const n=[],a=(e,s)=>s==J(t)?z(n,e):null===t[s]?he(e,(e=>a(e,s+1))):M([t[s],null],(t=>a(we(e,t),s+1)));return a(e,0),n})(e,n),(e=>he(e,(e=>we(o,e)[0](t,...n??[],...a))))),e=>H(we(o,e),(([,t,n])=>(me(t,n??[s],void 0,(t=>(fe(t,e),ce(t)?1:0))),Te(o,e),a(e),n))),e=>H(we(o,e),(([e,,s=[],n,a])=>{const o=(...r)=>{const l=J(r);l==J(s)?e(t,...r,...a(r)):G(s[l])?M(n[l]?.(...r)??[],(e=>o(...r,e))):o(...r,s[l])};o()}))]},je=Fe((e=>{let t,n,a,o=100,r=ge(),l=ge(),i=1;const c=ge(),d=ge(),[u,h,f]=Ne((()=>O)),g=ge(),L=ge(),w=[],S=[],T=(t,s)=>{i=0,e.transaction((()=>{const[n,a]=we(g,s);he(n,((s,n)=>he(s,((s,a)=>he(s,((s,o)=>ke(e,n,a,o,s[t]))))))),he(a,((s,n)=>Me(e,n,s[t])))})),i=1},v=e=>{Te(g,e),Te(L,e),h(d,[e])},R=(e,t)=>M(((e,t)=>e.splice(0,t))(e,t??J(e)),v),I=()=>R(w,J(w)-o),y=()=>H(t,(()=>{z(w,t),I(),R(S),t=void 0,a=1})),p=()=>{t=N(w),a=1},C=e.addCellListener(null,null,null,((e,t,s,n,a,o)=>{if(i){y();const e=ve(r,t,ge),l=ve(e,s,ge),i=ve(l,n,(()=>[o,void 0]));i[1]=a,i[0]===a&&ce(Te(l,n))&&ce(Te(e,s))&&ce(Te(r,t))&&p(),x()}})),V=e.addValueListener(null,((e,t,s,n)=>{if(i){y();const e=ve(l,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&ce(Te(l,t))&&p(),x()}})),m=(e="")=>(G(t)&&(t=s+n++,Te(g,t,[r,l]),F(t,e),r=ge(),l=ge(),a=1),t),E=()=>{A(w)||(((e,...t)=>{e.unshift(...t)})(S,m()),T(0,t),t=N(w),a=1)},k=()=>{A(S)||(z(w,t),t=j(S),T(1,t),a=1)},x=()=>{a&&(h(c),a=0)},D=e=>{const t=m(e);return x(),t},F=(e,t)=>(Q(e)&&we(L,e)!==t&&(Te(L,e,t),h(d,[e])),O),Q=e=>ie(g,e),O={setSize:e=>(o=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:()=>(E(),x(),O),goForward:()=>(k(),x(),O),goTo:e=>{const s=b(w,e)?E:b(S,e)?k:null;for(;!G(s)&&e!=t;)s();return x(),O},addCheckpointIdsListener:e=>u(e,c),addCheckpointListener:(e,t)=>u(t,d,[e]),delListener:e=>(f(e),O),clear:()=>(R(w),R(S),G(t)||v(t),t=void 0,n=0,D(),O),destroy:()=>{e.delListener(C),e.delListener(V)},getListenerStats:()=>({})};return te(O.clear())})),Oe=(e,t)=>e<t?-1:1,Pe=Fe((e=>{const t=ge(),n=ge(),[a,o,r,l,i,c,d,,u,h,f]=Je(e,ge,(e=>G(e)?s:X(e)?x(e,C):C(e))),[g,L,w]=Ne((()=>T)),S=(t,s,n)=>{const a=i(t);he(n,((t,n)=>s(n,(s=>he(t,(t=>s(t,(s=>e.forEachCell(a,t,s)))))))))},T={setIndexDefinition:(e,s,a,o,r,l=Oe)=>{const i=G(r)?void 0:([e],[t])=>r(e,t);return u(e,s,((s,a,r,u,h,f)=>{let g=0;const w=xe(),S=xe(),T=c(e);if(he(a,(([e,t],s)=>{const n=xe(e),a=xe(t);he(n,(e=>fe(a,e)?fe(n,e):0)),he(n,(e=>{De(w,e),H(we(T,e),(t=>{fe(t,s),ce(t)&&(Te(T,e),g=1)}))})),he(a,(e=>{De(w,e),ie(T,e)||(Te(T,e,xe()),g=1),De(we(T,e),s),G(o)||De(S,e)}))})),s(),ce(h)||(f?Se(T,(e=>De(S,e))):Se(r,(e=>H(we(u,e),(e=>De(S,e))))),he(S,(e=>{const t=(t,s)=>l(we(h,t),we(h,s),e),s=[...we(T,e)];E(s,t)||(Te(T,e,xe(k(s,t))),De(w,e))}))),(g||f)&&!G(i)){const t=[...T];E(t,i)||(d(e,ge(k(t,i))),g=1)}g&&L(t,[e]),he(w,(t=>L(n,[e,t])))}),Ae(a),H(o,Ae)),T},delIndexDefinition:e=>(h(e),T),getStore:a,getIndexIds:o,forEachIndex:e=>r(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,c(e)),hasIndex:l,hasSlice:(e,t)=>ie(c(e),t),getTableId:i,getSliceIds:e=>Le(c(e)),getSliceRowIds:(e,t)=>de(we(c(e),t)),addSliceIdsListener:(e,s)=>g(s,t,[e]),addSliceRowIdsListener:(e,t,s)=>g(s,n,[e,t]),delListener:e=>(w(e),T),destroy:f,getListenerStats:()=>({})};return te(T)})),Be=ge([["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]]]),We=(e,t,s,n,a,o=!1)=>{if(ce(s))return;const[r,l,i,c]=a;return o||=G(e),he(n,(([s,n])=>{o||(e=G(s)?l?.(e,n,t++):G(n)?i?.(e,s,t--):c?.(e,n,s,t),o||=G(e))})),o?r(de(s),le(s)):e},$e=Fe((e=>{const t=ge(),[n,a,o,r,l,i,c,,d,u,h]=Je(e,Y,(e=>isNaN(e)||G(e)||!0===e||!1===e||e===s?void 0:1*e)),[f,g,L]=Ne((()=>w)),w={setMetricDefinition:(e,s,n,a,o,r,l)=>{const u=U(n)?[n,o,r,l]:we(Be,n)??we(Be,"sum");return d(e,s,((s,n,a,o,r,l)=>{const d=i(e),h=le(o);l||=G(d),s();let f=We(d,h,o,n,u,l);$(f)||(f=void 0),f!=d&&(c(e,f),g(t,[e],f,d))}),Ae(a,1)),w},delMetricDefinition:e=>(u(e),w),getStore:n,getMetricIds:a,forEachMetric:o,hasMetric:r,getTableId:l,getMetric:i,addMetricListener:(e,s)=>f(s,t,[e]),delListener:e=>(L(e),w),destroy:h,getListenerStats:()=>({})};return te(w)})),qe=Fe((e=>{const t=e.createStore,[n,a,o,r,l,,,i,,h,g,L,I]=Je(e,(()=>!0),Y),y=t(),p=t(),C=ge(),b=(e,t,...s)=>M(s,(s=>De(ve(ve(C,t,ge),e,xe),s))),m=e=>{H(we(C,e),(e=>{Se(e,((e,t)=>he(t,(t=>e.delListener(t))))),ue(e)})),M([p,y],(t=>t.delTable(e)))},E=(e,t,s)=>b(t,e,t.addStartTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),k={setQueryDefinition:(t,n,a)=>{i(t,n),m(t);const o=[],r=[[null,[n,null,null,[],ge()]]],l=[],c=[],d=[];a({select:(e,t)=>{const n=U(e)?[J(o)+s,e]:[G(t)?e:t,s=>s(e,t)];return z(o,n),{as:e=>n[0]=e}},join:(e,t,s)=>{const n=G(s)||U(t)?null:t,a=G(n)?t:s,o=[e,[e,n,U(a)?a:e=>e(a),[],ge()]];return z(r,o),{as:e=>o[0]=e}},where:(e,t,s)=>z(l,U(e)?e:G(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,a)=>{const o=[e,[e,U(t)?[t,s,n,a]:we(Be,t)??[(e,t)=>t]]];return z(c,o),{as:e=>o[0]=e}},having:(e,t)=>z(d,U(e)?e:s=>s(e)===t)});const u=ge(o);if(ce(u))return k;const h=ge(r);Se(h,((e,[,t])=>H(we(h,t),(({3:t})=>G(e)?0:z(t,e)))));const f=ge(c);let g=y;if(ce(f)&&A(d))g=p;else{E(t,g,p);const e=ge();Se(f,((t,[s,n])=>De(ve(e,s,xe),[t,n])));const s=xe();Se(u,(t=>ie(e,t)?0:De(s,t)));const n=ge(),a=(s,n,a,o)=>H(s,(([r,l,i,c])=>{Se(n,((t,[s])=>{const n=ve(r,t,ge),l=we(n,a),i=o?void 0:s;if(l!==i){const s=xe([[l,i]]),o=le(n);Te(n,a,i),he(we(e,t),(([e,t])=>{const a=We(c[e],o,n,s,t);c[e]=G(Ee(a))?null:a}))}})),ce(l)||!V(d,(e=>e((e=>c[e]))))?p.delRow(t,i):G(i)?s[2]=p.addRow(t,c):p.setRow(t,i,c)}));b(g,t,g.addRowListener(t,null,((o,r,l,i)=>{const c=[],d=[],u=ge(),h=g.hasRow(t,l);let f=!h;he(s,(e=>{const[s,n,a]=i(t,l,e);z(c,n),z(d,a),f||=s})),Se(e,(e=>{const[s,,n]=i(t,l,e);(f||s)&&Te(u,e,[n])})),f&&a(me(n,c,void 0,(([,e])=>(fe(e,l),ce(e)))),u,l,1),h&&a(me(n,d,(()=>{const e={};return he(s,(s=>e[s]=g.getCell(t,l,s))),[ge(),xe(),void 0,e]}),(([,e])=>{De(e,l)})),u,l)})))}E(t,e,g);const w=(s,a,o,r)=>{const i=t=>e.getCell(a,o,t);M(r,(n=>{const[a,,o,r,l]=we(h,n),c=o?.(i,s),[d,u]=we(l,s)??[];c!=d&&(G(u)||I(t,u),Te(l,s,G(c)?null:[c,...L(t,1,e.addRowListener(a,c,(()=>w(s,a,c,r))))]))})),(s=>{const a=(t,a)=>e.getCell(...G(a)?[n,s,t]:t===n?[n,s,a]:[we(h,t)?.[0],we(we(h,t)?.[4],s)?.[0],a]);g.transaction((()=>V(l,(e=>e(a)))?Se(u,((e,n)=>ke(g,t,s,e,n(a,s)))):g.delRow(t,s)))})(s)},{3:S}=we(h,null);return g.transaction((()=>L(t,1,e.addRowListener(n,null,((s,a,o)=>{e.hasRow(n,o)?w(o,n,o,S):(g.delRow(t,o),he(h,(({4:e})=>H(we(e,o),(([,s])=>{I(t,s),Te(e,o)})))))}))))),k},delQueryDefinition:e=>(m(e),h(e),k),getStore:n,getQueryIds:a,forEachQuery:o,hasQuery:r,getTableId:l,delListener:e=>(p.delListener(e),k),destroy:g,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=p.getListenerStats();return n}};return oe({[f]:[1,1],[S]:[0,1],[T]:[0,5],[w]:[1,2],[R]:[0,2],[v]:[1,3]},(([e,t],s)=>{M(e?["get","has","forEach"]:["get"],(e=>k[e+d+s]=(...t)=>p[e+s](...t))),k[u+d+s+c]=(...e)=>p[u+s+c](...Q(e,0,t),((s,...n)=>e[t](k,...n)))})),te(k)})),Ge=Fe((e=>{const t=ge(),n=ge(),a=ge(),o=ge(),[r,l,i,c,d,u,,,h,f,g]=Je(e,(()=>[ge(),ge(),ge(),ge()]),(e=>G(e)?void 0:e+s)),[L,w,S]=Ne((()=>I)),T=(e,t,s)=>H(u(e),(([n,,a])=>{if(!ie(a,t)){const o=xe();if(d(e)!=R(e))De(o,t);else{let e=t;for(;!G(e)&&!ie(o,e);)De(o,e),e=we(n,e)}if(s)return o;Te(a,t,o)}return we(a,t)})),v=(e,t)=>H(u(e),(([,,e])=>Te(e,t))),R=e=>we(t,e),I={setRelationshipDefinition:(e,s,r,l)=>(Te(t,e,r),h(e,s,((t,s)=>{const r=xe(),l=xe(),i=xe(),[c,d]=u(e);he(s,(([t,s],n)=>{G(t)||(De(l,t),H(we(d,t),(e=>{fe(e,n),ce(e)&&Te(d,t)}))),G(s)||(De(l,s),ie(d,s)||Te(d,s,xe()),De(we(d,s),n)),De(r,n),Te(c,n,s),Se(we(o,e),(t=>{ie(T(e,t),n)&&De(i,t)}))})),t(),he(r,(t=>w(n,[e,t]))),he(l,(t=>w(a,[e,t]))),he(i,(t=>{v(e,t),w(o,[e,t])}))}),Ae(l)),I),delRelationshipDefinition:e=>(Te(t,e),f(e),I),getStore:r,getRelationshipIds:l,forEachRelationship:t=>i((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:c,getLocalTableId:d,getRemoteTableId:R,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(T(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>L(s,n,[e,t]),addLocalRowIdsListener:(e,t,s)=>L(s,a,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(T(e,t),L(s,o,[e,t])),delListener:e=>(v(...S(e)),I),destroy:g,getListenerStats:()=>({})};return te(I)})),He=e=>[e,e],Ke=()=>[ge(),ge()],Ue=e=>[...e],Xe=([e,t])=>e===t,Ye=(e,t,s)=>G(e)||!se(e)||re(e)||ee(e)?(s?.(),!1):(oe(e,((s,n)=>{t(s,n)||ae(e,n)})),!re(e)),Ze=(e,t,s)=>Te(e,t,we(e,t)==-s?void 0:s),_e=()=>{let e,t,s=!1,n=!1,a=0;const r=ge(),d=ge(),h=ge(),T=ge(),V=ge(),E=ge(),D=ge(),J=ge(),A=ge(),F=ge(),N=ge(),j=ge(),B=ge(),W=xe(),$=ge(),q=ge(),X=ge(),Y=ge(),Z=Ke(),_=Ke(),ee=Ke(),se=Ke(),le=Ke(),de=Ke(),me=Ke(),Je=Ke(),Ae=Ke(),Fe=Ke(),Qe=Ke(),je=Ke(),Pe=Ke(),Be=Ke(),We=ge(),$e=Ke(),[qe,Ge,et,tt]=Ne((()=>gs)),st=e=>{if(!Ye(e,((e,t)=>b([l,i],t))))return!1;const t=e[l];return!(!K(t)&&t!=o||(Ee(e[i])!=t&&ae(e,i),0))},nt=(t,s)=>(!e||ie(F,s)||Jt(s))&&Ye(t,((e,t)=>at(s,t,e)),(()=>Jt(s))),at=(e,t,s,n)=>Ye(n?s:it(s,e,t),((n,a)=>H(ot(e,t,a,n),(e=>(s[a]=e,!0)),(()=>!1))),(()=>Jt(e,t))),ot=(t,s,n,a)=>e?H(we(we(F,t),n),(e=>Ee(a)!=e[l]?Jt(t,s,n,a,e[i]):a),(()=>Jt(t,s,n,a))):G(Ee(a))?Jt(t,s,n,a):a,rt=(e,t)=>Ye(t?e:ct(e),((t,s)=>H(lt(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>At())),lt=(e,s)=>t?H(we(j,e),(t=>Ee(s)!=t[l]?At(e,s,t[i]):s),(()=>At(e,s))):G(Ee(s))?At(e,s):s,it=(e,t,s)=>(H(we(N,t),(([n,a])=>{he(n,((t,s)=>{ne(e,s)||(e[s]=t)})),he(a,(n=>{ne(e,n)||Jt(t,s,n)}))})),e),ct=e=>(t&&(he(B,((t,s)=>{ne(e,s)||(e[s]=t)})),he(W,(t=>{ne(e,t)||At(t)}))),e),dt=e=>Re(F,e,((e,t,s)=>{const n=ge(),a=xe();Re(ve(F,t,ge),s,((e,t,s)=>{Te(e,t,s),H(s[i],(e=>Te(n,t,e)),(()=>De(a,t)))})),Te(N,t,[n,a])}),((e,t)=>{Te(F,t),Te(N,t)})),ut=e=>Re(j,e,((e,t,s)=>{Te(j,t,s),H(s[i],(e=>Te(B,t,e)),(()=>De(W,t)))}),((e,t)=>{Te(j,t),Te(B,t),fe(W,t)})),ht=e=>re(e)?os():es(e),ft=e=>Re(X,e,((e,t,s)=>gt(t,s)),((e,t)=>pt(t))),gt=(e,t)=>Re(ve(X,e,(()=>(mt(e,1),Te($,e,ze()),Te(q,e,ge()),ge()))),t,((t,s,n)=>Lt(e,t,s,n)),((t,s)=>Ct(e,t,s))),Lt=(e,t,s,n,a)=>Re(ve(t,s,(()=>(Et(e,s,1),ge()))),n,((t,n,a)=>wt(e,s,t,n,a)),((n,o)=>bt(e,t,s,n,o,a))),wt=(e,t,s,n,a)=>{ie(s,n)||kt(e,t,n,1);const o=we(s,n);a!==o&&(Mt(e,t,n,o,a),Te(s,n,a))},St=(e,t,s,n,a)=>H(we(t,s),(t=>wt(e,s,t,n,a)),(()=>Lt(e,t,s,it({[n]:a},e,s)))),Tt=e=>re(e)?is():ts(e),vt=e=>Re(Y,e,((e,t,s)=>Rt(t,s)),((e,t)=>Vt(t))),Rt=(e,t)=>{ie(Y,e)||xt(e,1);const s=we(Y,e);t!==s&&(Dt(e,s,t),Te(Y,e,t))},It=(e,t)=>{const[s]=we($,e),n=s(t);return ie(we(X,e),n)?It(e,t):n},yt=e=>we(X,e)??gt(e,{}),pt=e=>gt(e,{}),Ct=(e,t,s)=>{const[,n]=we($,e);n(s),Lt(e,t,s,{},!0)},bt=(e,t,s,n,a,o)=>{const r=we(we(N,e)?.[0],a);if(!G(r)&&!o)return wt(e,s,n,a,r);const l=t=>{Mt(e,s,t,we(n,t)),kt(e,s,t,-1),Te(n,t)};G(r)?l(a):Se(n,l),ce(n)&&(Et(e,s,-1),ce(Te(t,s))&&(mt(e,-1),Te(X,e),Te($,e),Te(q,e)))},Vt=e=>{const t=we(B,e);if(!G(t))return Rt(e,t);Dt(e,we(Y,e)),xt(e,-1),Te(Y,e)},mt=(e,t)=>Ze(r,e,t),Et=(e,t,s)=>Ze(ve(h,e,ge),t,s),kt=(e,t,s,n)=>{const a=we(q,e),o=we(a,s)??0;(0==o&&1==n||1==o&&-1==n)&&Ze(ve(d,e,ge),s,n),Te(a,s,o!=-n?o+n:null),Ze(ve(ve(T,e,ge),t,ge),s,n)},Mt=(e,t,s,n,a)=>ve(ve(ve(V,e,ge),t,ge),s,(()=>[n,0]))[1]=a,xt=(e,t)=>Ze(E,e,t),Dt=(e,t,s)=>ve(D,e,(()=>[t,0]))[1]=s,Jt=(e,t,s,n,a)=>(z(ve(ve(ve(J,e,ge),t,ge),s,(()=>[])),n),a),At=(e,t,s)=>(z(ve(A,e,(()=>[])),t),s),Ft=(e,t,s)=>H(we(we(we(V,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...He(Xt(e,t,s))])),Qt=e=>H(we(D,e),(([e,t])=>[!0,e,t]),(()=>[!1,...He(_t(e))])),zt=e=>ce(J)||ce(Fe[e])?0:he(e?Ve(J):J,((t,s)=>he(t,((t,n)=>he(t,((t,a)=>Ge(Fe[e],[s,n,a],t))))))),Nt=e=>ce(A)||ce(Qe[e])?0:he(e?Ce(A):A,((t,s)=>Ge(Qe[e],[s],t))),jt=(e,t,s)=>{if(!ce(t))return Ge(e,s,(()=>Ie(t))),1},Ot=e=>{const t=ce(de[e]),s=ce(Je[e])&&ce(se[e])&&ce(le[e])&&t&&ce(_[e]),n=ce(Ae[e])&&ce(me[e])&&ce(ee[e])&&ce(Z[e]);if(!s||!n){const a=e?[Ce(r),be(d),be(h),Ve(T),Ve(V)]:[r,d,h,T,V];if(!s){jt(_[e],a[0]),he(a[1],((t,s)=>jt(se[e],t,[s])));const s=xe();he(a[2],((n,a)=>{jt(le[e],n,[a])&&!t&&(Ge(de[e],[a,null]),De(s,a))})),t||he(a[4],((t,n)=>{if(!ie(s,n)){const s=xe();he(t,(e=>he(e,(([t,n],a)=>n!==t?De(s,a):fe(e,a))))),he(s,(t=>Ge(de[e],[n,t])))}})),he(a[3],((t,s)=>he(t,((t,n)=>jt(Je[e],t,[s,n])))))}if(!n){let t;he(a[4],((s,n)=>{let a;he(s,((s,o)=>{let r;he(s,(([s,l],i)=>{l!==s&&(Ge(Ae[e],[n,o,i],l,s,Ft),t=a=r=1)})),r&&Ge(me[e],[n,o],Ft)})),a&&Ge(ee[e],[n],Ft)})),t&&Ge(Z[e],void 0,Ft)}}},Pt=e=>{const t=ce(Pe[e]),s=ce(Be[e])&&ce(je[e]);if(!t||!s){const n=e?[Ce(E),Ce(D)]:[E,D];if(t||jt(Pe[e],n[0]),!s){let t;he(n[1],(([s,n],a)=>{n!==s&&(Ge(Be[e],[a],n,s,Qt),t=1)})),t&&Ge(je[e],void 0,Qt)}}},Bt=(e,...t)=>(us((()=>e(...x(t,C)))),gs),Wt=()=>[Ie(V,((e,t)=>-1===we(r,t)?null:Ie(e,((e,s)=>-1===we(we(h,t),s)?null:Ie(e,(([,e])=>e??null),((e,t)=>Xe(t)))),re)),re),Ie(D,(([,e])=>e??null),((e,t)=>Xe(t)))],$t=()=>({cellsTouched:s,valuesTouched:n,changedCells:pe(V,Ue,Xe),invalidCells:pe(J),changedValues:Ie(D,Ue,Xe),invalidValues:Ie(A),changedTableIds:Ie(r),changedRowIds:ye(h),changedCellIds:pe(T),changedValueIds:Ie(E)}),qt=()=>pe(X),Gt=()=>Le(X),Ht=e=>Le(we(X,C(e))),Kt=(e,t,s,n=0,a)=>{return x(Q(k((o=we(X,C(e)),r=(e,s)=>[G(t)?s:we(e,C(t)),s],x([...o?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Oe(e,t)*(s?-1:1))),n,G(a)?a:n+a),(([,e])=>e));var o,r},Ut=(e,t)=>Le(we(we(X,C(e)),C(t))),Xt=(e,t,s)=>we(we(we(X,C(e)),C(t)),C(s)),Yt=()=>Ie(Y),Zt=()=>Le(Y),_t=e=>we(Y,C(e)),es=e=>Bt((()=>(e=>Ye(e,nt,Jt))(e)?ft(e):0)),ts=e=>Bt((()=>rt(e)?vt(e):0)),ss=e=>{try{ht(P(e))}catch{}return gs},ns=t=>Bt((()=>{if((e=Ye(t,(e=>Ye(e,st))))&&(dt(t),!ce(X))){const e=qt();os(),es(e)}})),as=e=>Bt((()=>{if(t=(e=>Ye(e,st))(e)){const s=Yt();ds(),is(),t=!0,ut(e),ts(s)}})),os=()=>Bt((()=>ft({}))),rs=e=>Bt((e=>ie(X,e)?pt(e):0),e),ls=(e,t)=>Bt(((e,t)=>H(we(X,e),(s=>ie(s,t)?Ct(e,s,t):0))),e,t),is=()=>Bt((()=>vt({}))),cs=()=>Bt((()=>{dt({}),e=!1})),ds=()=>Bt((()=>{ut({}),t=!1})),us=(e,t)=>{if(-1!=a){hs();const s=e();return fs(t),s}},hs=()=>(-1!=a&&a++,1==a&&Ge(We,void 0,Wt,$t),gs),fs=e=>(a>0&&(a--,0==a&&(s=!ce(V),n=!ce(D),a=1,zt(1),s&&Ot(1),Nt(1),n&&Pt(1),e?.(Wt,$t)&&(he(V,((e,t)=>he(e,((e,s)=>he(e,(([e],n)=>ke(gs,t,s,n,e))))))),he(D,(([e],t)=>Me(gs,t,e))),s=n=!1),Ge($e[0],void 0,Wt,$t),a=-1,zt(0),s&&Ot(0),Nt(0),n&&Pt(0),Ge($e[1],void 0,Wt,$t),a=0,s=n=!1,M([r,d,h,T,V,J,E,D,A],ue))),gs),gs={getContent:()=>[qt(),Yt()],getTables:qt,getTableIds:Gt,getTable:e=>ye(we(X,C(e))),getTableCellIds:e=>Le(we(q,C(e))),getRowIds:Ht,getSortedRowIds:Kt,getRow:(e,t)=>Ie(we(we(X,C(e)),C(t))),getCellIds:Ut,getCell:Xt,getValues:Yt,getValueIds:Zt,getValue:_t,hasTables:()=>!ce(X),hasTable:e=>ie(X,C(e)),hasTableCell:(e,t)=>ie(we(q,C(e)),C(t)),hasRow:(e,t)=>ie(we(X,C(e)),C(t)),hasCell:(e,t,s)=>ie(we(we(X,C(e)),C(t)),C(s)),hasValues:()=>!ce(Y),hasValue:e=>ie(Y,C(e)),getTablesJson:()=>O(X),getValuesJson:()=>O(Y),getJson:()=>O([X,Y]),getTablesSchemaJson:()=>O(F),getValuesSchemaJson:()=>O(j),getSchemaJson:()=>O([F,j]),setContent:([e,t])=>Bt((()=>{es(e),ts(t)})),setTables:es,setTable:(e,t)=>Bt((e=>nt(t,e)?gt(e,t):0),e),setRow:(e,t,s)=>Bt(((e,t)=>at(e,t,s)?Lt(e,yt(e),t,s):0),e,t),addRow:(e,t,s=!0)=>us((()=>{let n;return at(e,n,t)&&(e=C(e),Lt(e,yt(e),n=It(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Bt(((e,t)=>{if(at(e,t,s,1)){const n=yt(e);oe(s,((s,a)=>St(e,n,t,a,s)))}}),e,t),setCell:(e,t,s,n)=>Bt(((e,t,s)=>H(ot(e,t,s,U(n)?n(Xt(e,t,s)):n),(n=>St(e,yt(e),t,s,n)))),e,t,s),setValues:ts,setPartialValues:e=>Bt((()=>rt(e,1)?oe(e,((e,t)=>Rt(t,e))):0)),setValue:(e,t)=>Bt((e=>H(lt(e,U(t)?t(_t(e)):t),(t=>Rt(e,t)))),e),setTransactionChanges:e=>Bt((()=>{oe(e[0],((e,t)=>G(e)?rs(t):oe(e,((e,s)=>G(e)?ls(t,s):oe(e,((e,n)=>ke(gs,t,s,n,e))))))),oe(e[1],((e,t)=>Me(gs,t,e)))})),setTablesJson:ss,setValuesJson:e=>{try{Tt(P(e))}catch{}return gs},setJson:e=>{try{const[t,s]=P(e);ht(t),Tt(s)}catch{ss(e)}return gs},setTablesSchema:ns,setValuesSchema:as,setSchema:(e,t)=>Bt((()=>{ns(e),as(t)})),delTables:os,delTable:rs,delRow:ls,delCell:(e,t,s,n)=>Bt(((e,t,s)=>H(we(X,e),(a=>H(we(a,t),(o=>ie(o,s)?bt(e,a,t,o,s,n):0))))),e,t,s),delValues:is,delValue:e=>Bt((e=>ie(Y,e)?Vt(e):0),e),delTablesSchema:cs,delValuesSchema:ds,delSchema:()=>Bt((()=>{cs(),ds()})),transaction:us,startTransaction:hs,finishTransaction:fs,forEachTable:e=>he(X,((t,s)=>e(s,(e=>he(t,((t,s)=>e(s,(e=>Se(t,e))))))))),forEachTableCell:(e,t)=>Se(we(q,C(e)),t),forEachRow:(e,t)=>he(we(X,C(e)),((e,s)=>t(s,(t=>Se(e,t))))),forEachCell:(e,t,s)=>Se(we(we(X,C(e)),C(t)),s),forEachValue:e=>Se(Y,e),addSortedRowIdsListener:(e,t,s,n,a,o,r)=>{let l=Kt(e,t,s,n,a);return qe((()=>{const r=Kt(e,t,s,n,a);m(r,l)||(l=r,o(gs,e,t,s,n,a,l))}),de[r?1:0],[e,t],[Gt])},addStartTransactionListener:e=>qe(e,We),addWillFinishTransactionListener:e=>qe(e,$e[0]),addDidFinishTransactionListener:e=>qe(e,$e[1]),callListener:e=>(tt(e),gs),delListener:e=>(et(e),gs),getListenerStats:()=>({}),createStore:_e};return oe({[g]:[0,Z],[L]:[0,_],[f]:[1,ee,[Gt]],[f+R]:[1,se,[Gt]],[S]:[1,le,[Gt]],[w]:[2,me,[Gt,Ht]],[R]:[2,Je,[Gt,Ht]],[v]:[3,Ae,[Gt,Ht,Ut],e=>He(Xt(...e))],InvalidCell:[3,Fe],[y]:[0,je],[p]:[0,Pe],[I]:[1,Be,[Zt],e=>He(_t(e[0]))],InvalidValue:[1,Qe]},(([e,t,s,n],a)=>{gs[u+a+c]=(...a)=>qe(a[e],t[a[e+1]?1:0],e>0?Q(a,0,e):void 0,s,n)})),te(gs)};e.createCheckpoints=je,e.createCustomPersister=(e,t,s,n,a)=>{let o,r,l,i=0,c=0,d=0;const u=[],h=async e=>{2!=i&&(i=1,await e(),i=0)},f={load:async(s={},n={})=>(await h((async()=>{try{e.setContent(await t())}catch{e.setContent([s,n])}})),f),startAutoLoad:async(s={},a={})=>(f.stopAutoLoad(),await f.load(s,a),d=1,l=n((async(s,n)=>{await h((async()=>{if(n)e.setTransactionChanges(n());else try{e.setContent(s?.()??await t())}catch{}}))})),f),stopAutoLoad:()=>(d&&(a(l),l=void 0,d=0),f),save:async t=>(await f.schedule((async()=>{if(1!=i){i=2;try{await s(e.getContent,t)}catch{}i=0}})),f),startAutoSave:async()=>(await f.stopAutoSave().save(),o=e.addDidFinishTransactionListener(((e,t)=>{const s=t();f.save((()=>s))})),f),stopAutoSave:()=>(H(o,e.delListener),f),schedule:async(...e)=>(z(u,...e),await(async()=>{if(!c){for(c=1;!G(r=j(u));)try{await r()}catch{}c=0}})(),f),getStore:()=>e,destroy:()=>f.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return te(f)},e.createIndexes=Pe,e.createMetrics=$e,e.createQueries=qe,e.createRelationships=Ge,e.createStore=_e,e.defaultSorter=Oe},"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",s="default",r="Listener",I="get",c="add",$="Ids",i="Table",u=i+"s",p=i+$,b="Row",C=b+$,g="Sorted"+b+$,h="Cell",m=h+$,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",ge="Invalid",he="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+h+_e+$,de+h,"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),gt=/[^A-Za-z]+/,ht=/[^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(ht),((e,l)=>(l>0||t?ne:oe)(ft(e,0,1))+ft(e,1)))),kt=e=>ne(Vt((e&&!gt.test(e[0])?e:" "+e).split(ht),"_")),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(h+Ce,`Extract<keyof ${y}<TId>, Id>`,"A "+h+" Id in a "+b,$),V=e(h,ye+`<${s}[TId]>[Id][CId]`,"A "+h+" in a "+b,`<TId extends ${c}, CId extends ${v}<TId>>`),x=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,h+" Ids and types in a "+b,`<TId extends ${c}, CId = ${v}<TId>>`,0),R=e(h+Ie,`(...[cellId, cell]: ${x}<TId>)`+We,lt(de+h+" Id, and "+h),$),k=e(b+Ie,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+We+") "+We,lt(de+b+" Id, and a "+h+" 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(g+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(h+r,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${W})`+We,at(7,5)),e(ge+h+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(ge+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+h+Ce,w+l,`A Cell Id for the '${e}' `+i),T(t+h+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,g,$,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(h,dt(e)),ke,a+", rowId"),B(5,t,h,ze,et(h,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,h,n,It(e,o,c),ke+d,a+", rowId, "+r+s)))}))})),B(0,l,u+he,he,Ke(1,6)),B(2,l,u+he,_,Ke(1,7),"tablesJson: "+he,"tables"+he),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(g,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(h,W,nt(7,5),`tableId: ${a} | null, rowId: IdOrNull, cellId: ${Vt(P((e=>Y(ee,e)?.[4]??l))," | ")} | null`,"tableId, rowId, cellId"),F(ge+h,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+he,he,Ke(2,6)),B(2,l,w+he,_,Ke(2,7),"valuesJson: "+he,"values"+he),F(w,c,Ke(2,8)+" changes"),F(y,$,nt(10,0,1)),F(f,i,nt(11,0),`valueId: ${a} | null`,"valueId"),F(ge+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",he,"Store",Ne),I(0,"tinybase","Get"+Ne,"GetTransactionLog"),B(0,l,he,he,Ke(0,6)),B(2,l,he,_,Ke(0,7),"tablesAndValuesJson: "+he,"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("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(h+ve,Et("tableId?: TId","rowId: Id","cellId?: CId",L+fe+N,Bt),tt(de+h),`<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+g,g,$,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(h,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+h,h,o+(G(d)?we:l),It(e,n)+re,dl,At(a,Yt,r));F(Ae+t+I+h+Ie,Ae+h+Ie,Xt,It(e,n,9)+Qt,At(dl,zt(h)+Zt+o+" | "+c,zt(h)+ie),At(a,Yt,r,Wt(h)),Kt,At(al,`cell: ${o} | ${c})`+We,Ut),ol),F(ce+t+I+h+Ie,ce+h+Ie,Ie,It(e,n,12),At(dl,"forceDel?: boolean"),At(a,Yt,r,"forceDel"),l,nl,ol),U(t+I+h+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(g+r,g+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(h+r,h+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={});
|
|
1
|
+
var e,t;e=this,t=function(e){"use strict";const t=e=>typeof e,l="tinybase",a="",n=",",o=t(a),d=t(!0),r=t(0),s="type",I="default",c="Listener",$="get",i="add",u="Ids",p="Table",b=p+"s",C=p+u,h="Row",g=h+u,m="Sorted"+h+u,f="Cell",w=f+u,y="Value",T=y+"s",v=y+u,V=(e,t)=>e.every(t),x=(e,t)=>e.sort(t),R=(e,t)=>e.forEach(t),k=(e,t=a)=>e.join(t),S=(e,t)=>e.map(t),A=e=>e.length,P=(e,t)=>e.filter(t),E=(e,...t)=>e.push(...t),D=e=>e.pop(),O=(e,...t)=>e.unshift(...t),N=e=>e.shift(),L=JSON.parse,G=isFinite,j=(e,t)=>e instanceof t,M=e=>null==e,J=e=>e==o||e==d,z=e=>t(e)==o,W=e=>Array.isArray(e),B=e=>{const l=t(e);return J(l)||l==r&&G(e)?l:void 0},F=Object,U=F.keys,_=F.freeze,Z=e=>j(e,F)&&e.constructor==F,H=(e,t)=>S(F.entries(e),(([e,l])=>t(l,e))),Q=e=>A(U(e)),q=e=>Z(e)&&0==Q(e),K=(e,t)=>e?.has(t)??!1,X=e=>[...e?.values()??[]],Y=(e,t)=>e?.forEach(t),ee=(e,t)=>e?.delete(t),te=e=>new Map(e),le=(e,t)=>e?.get(t),ae=(e,t)=>Y(e,((e,l)=>t(l,e))),ne=(e,t)=>S([...e?.entries()??[]],(([e,l])=>t(l,e))),oe=(e,t,l)=>M(l)?(ee(e,t),e):e?.set(t,l),de=(e,t,l)=>(K(e,t)||oe(e,t,l()),le(e,t)),re=e=>e.toUpperCase(),se=e=>e.toLowerCase(),Ie="a ",ce="A function for",$e=", and registers a listener so that any changes to that result will cause a re-render",ie="Callback",ue="Del",pe="Deps",be=pe+"?: React.DependencyList",Ce="doRollback?: DoRollback",he="actions: () => Return, "+Ce,ge="export",me="Id",fe="Invalid",we="Json",ye=se(c),Te="?: ",ve=" | undefined",Ve="NonNullable",xe="Partial",Re="Props",ke="Provider",Se=`Registers a ${ye} that will be called`,Ae="Represents",Pe="rowId: "+me,Ee="Schema",De="Set",Oe=", descending?: boolean, offset?: number, limit?: number",Ne="[]",Le="the Store",Ge="Transaction",je=Ge+"Changes",Me=se(Ge),Je="Execute a "+Me+" to make multiple mutations",ze="Explicitly starts a "+Me,We="Explicitly finishes a "+Me,Be="the end of the "+Me,Fe="void",Ue=" => "+Fe,_e="WhenSet",Ze=" when setting it",He=Ie+"string serialization of",Qe=" ",qe="Gets a callback that can ",Ke="the ",Xe=" the schema for",Ye=(e=0,t=0)=>`the ${ht[e]}content of`+(t?Qe+Le:a),et=(e=0,t,l=0)=>pt[t]+Qe+Ye(e,1)+(l?" when setting it":a),tt=(e,t=0)=>Ae+` a Row when ${t?"s":"g"}etting ${Ye()} the '${e}' `+p,lt=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,at=(e,t)=>`Calls a function for each ${e} in `+t,nt=e=>"The props passed to a component that renders "+e,ot=e=>"A function that takes "+e,dt=(e,t=0)=>ce+" listening to changes to "+Ct[e]+" in "+Ct[t],rt=(e,t,l=0)=>Se+" whenever "+Ct[e]+" in "+Ct[t]+" change"+(l?a:"s"),st=e=>`the '${e}' `+p,It=e=>"the specified Row in "+st(e),ct=(e,t=0)=>pt[t]+` ${Ye()} `+st(e),$t=(e,t=0)=>pt[t]+` ${Ye()} `+It(e),it=(e,t,l=0)=>pt[l]+` the '${t}' Cell for `+It(e),ut=(e,t=0)=>pt[t]+` the '${e}' Value`,pt=["Gets","Checks existence of","Sets","Deletes","Sets part of",Ae,"Gets "+He,"Sets "+He,Se+" whenever",qe+"set",qe+"add",qe+"set part of",qe+"delete","Renders","Gets "+He+Xe,"Sets"+Xe,"Deletes"+Xe],bt=[$,"has","set","del","set","forEach",i,a],Ct=[Le,b,Ke+p+Qe+u,Ie+p,Ke+h+Qe+u,Ie+h,Ke+f+Qe+u,Ie+f,"invalid Cell changes",T,Ke+y+Qe+u,Ie+y,"invalid Value changes",Ke+"sorted "+h+Qe+u,Ke+f+Qe+u+" anywhere"],ht=[a,"tabular ","keyed value "],gt=e=>new Set(W(e)||M(e)?e:[e]),mt=(e,t)=>e?.add(t),ft=/[^A-Za-z]+/,wt=/[^A-Za-z0-9]+/,yt=/^( *)\/\*\* *(.*?) *\*\/$/gm,Tt=(e,t,l)=>e.substring(t,l),vt=e=>e.includes(n),Vt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return K(e,n)?Vt(e,t,l,a+1):(oe(e,n,l),n)},xt=e=>e.replace(yt,((e,t,l)=>{const a=77-Rt(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),Rt=e=>e.length,kt=e=>e.flat(1e3),St=(e,t=0)=>k(S(e.split(wt),((e,l)=>(l>0||t?re:se)(Tt(e,0,1))+Tt(e,1)))),At=e=>re(k((e&&!ft.test(e[0])?e:" "+e).split(wt),"_")),Pt=e=>`/** ${e}. */`,Et=(...e)=>k(P(e,(e=>e)),", "),Dt=(...e)=>"{"+k(e,"; ")+"}",Ot=(...e)=>Dt(...S(e,(e=>"readonly "+e))),Nt=()=>{const e=[te(),te(),te(),te()],t=te(),l=te(),n=e=>{const t=e.indexOf(" as ");return-1!=t?e.substring(t+4):e};return[(...e)=>k(kt(e),"\n"),(t,l,...a)=>R(a,(a=>R([0,1],(n=>(t??n)==n?mt(de(e[n],l,gt),a):0)))),(e,l,n,o=a,d=1)=>Vt(t,e,[l,n,o,d]),(e,t,a)=>Vt(l,e,W(a)?[`(${t}) => {`,a,"}"]:[`(${t}) => ${a}`]),(e,t)=>le(l,e)===t?e:Vt(l,e,t),(t=0)=>S([...x(ne(e[t],((e,t)=>`import {${k(x(X(e),((e,t)=>n(e)>n(t)?1:-1)),", ")}} from '${t}';`)),((e,t)=>vt(e)!=vt(t)?vt(e)?-1:1:e>t?1:-1)),a],(e=>e.replace("{React}","React"))),()=>ne(t,(([e,t,l,n],o)=>[Pt(t),`${n?ge+" ":a}type ${o}${l} = ${e};`,a])),()=>ne(l,((e,t)=>(e=W(e)?e:[e],E(e,D(e)+";"),[`const ${t} = ${N(e)}`,e,a])))]},Lt=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Gt=(e,t,l)=>[t=>H(e,((e,a)=>t(a,St(a,1),l(At(a),`'${a}'`)))),(t,a)=>H(e[t],((e,t)=>a(t,e[s],e[I],l(At(t),`'${t}'`),St(t,1)))),e=>H(t,((t,a)=>e(a,t[s],t[I],l(At(a),`'${a}'`),St(a,1))))],jt=(e,t,l,n)=>[(n,o)=>{const d=n+": "+o,r=e(b,Dt(...t((e=>`'${e}'?: {[rowId: Id]: `+Dt(...l(e,((e,t,l)=>`'${e}'${M(l)?"?":a}: ${t}`)))+"}"))),et(1,5)),s=e(b+_e,Dt(...t((e=>`'${e}'?: {[rowId: Id]: `+Dt(...l(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),et(1,5,1)),I=e(p+me,"keyof "+r,"A "+p+" Id in "+Le),$=`<TId extends ${I}>`,i=e(p,Ve+`<${r}[TId]>`,"A "+p+" in "+Le,$),u=e(p+_e,Ve+`<${s}[TId]>`,"A "+p+" in "+Le+Ze,$),y=e(h,i+"<TId>[Id]","A "+h+" in a "+p,$),T=e(h+_e,u+"<TId>[Id]","A "+h+" in a "+p+Ze,$),v=e(f+me,`Extract<keyof ${y}<TId>, Id>`,"A "+f+" Id in a "+h,$),V=e(f,Ve+`<${r}[TId]>[Id][CId]`,"A "+f+" in a "+h,`<TId extends ${I}, CId extends ${v}<TId>>`),x=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,f+" Ids and types in a "+h,`<TId extends ${I}, CId = ${v}<TId>>`,0),R=e(f+ie,`(...[cellId, cell]: ${x}<TId>)`+Ue,ot(Ie+f+" Id, and "+f),$),k=e(h+ie,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Ue+") "+Ue,ot(Ie+h+" Id, and a "+f+" iterator"),$),S=e(p+f+ie,`(cellId: ${v}<TId>, count: number) `+Ue,ot(Ie+f+" Id, and count of how many times it appears"),$),A=e("TableIdForEachRowArray",`TId extends ${I} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${Ue}] : never`,p+" Ids and callback types",`<TId = ${I}>`,0),P=e(p+ie,`(...[tableId, forEachRow]: ${A})`+Ue,ot(Ie+p+" Id, and a "+h+" iterator"),a),E=e("TableIdRowIdCellIdArray",`TId extends ${I} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${I}>`,0),D=e("GetCellChange",`(...[tableId, rowId, cellId]: ${E}) => CellChange`,ce+" returning information about any Cell's changes during a "+Me),O=e(b+c,`(${d}, getCellChange: ${D}${ve})`+Ue,dt(1)),N=e(C+c,`(${d})`+Ue,dt(2)),L=e(p+c,`(${d}, tableId: ${I}, getCellChange: ${D}${ve})`+Ue,dt(3)),G=e(p+w+c,`(${d}, tableId: ${I})`+Ue,dt(14,3)),j=e(g+c,`(${d}, tableId: ${I})`+Ue,dt(4,3)),J=e(m+c,"("+Et(d,"tableId: "+I,"cellId: Id"+ve,"descending: boolean","offset: number","limit: number"+ve,"sortedRowIds: Ids")+")"+Ue,dt(13,3)),z=e(h+c,"("+Et(""+d,"tableId: "+I,Pe,`getCellChange: ${D}${ve}`)+")"+Ue,dt(5,3)),W=e(w+c,"("+Et(""+d,"tableId: "+I,Pe)+")"+Ue,dt(6,5)),B=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${Pe}, cellId: CId, newCell: ${V}<TId, CId> ${ve}, oldCell: ${V}<TId, CId> ${ve}, getCellChange: ${D} ${ve}] : never`,"Cell args for CellListener",`<TId extends ${I}, CId = ${v}<TId>>`,0),F=e("CellListenerArgsArrayOuter",`TId extends ${I} ? `+B+"<TId> : never","Table args for CellListener",`<TId = ${I}>`,0);return[r,s,I,i,u,y,T,v,V,R,k,S,P,O,N,L,G,j,J,z,W,e(f+c,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${F})`+Ue,dt(7,5)),e(fe+f+c,`(${d}, tableId: Id, ${Pe}, cellId: Id, invalidCells: any[])`+Ue,dt(8))]},(t,l)=>{const o=t+": "+l,d=e(T,Dt(...n(((e,t,l)=>`'${e}'${M(l)?"?":a}: ${t}`))),et(2,5)),r=e(T+_e,Dt(...n(((e,t)=>`'${e}'?: ${t}`))),et(2,5,1)),s=e(y+me,"keyof "+d,"A "+y+" Id in "+Le),I=e(y,Ve+`<${d}[VId]>`,"A "+y+" Id in "+Le,`<VId extends ${s}>`),$=e("ValueIdValueArray",`VId extends ${s} ? [valueId: VId, value: ${I}<VId>] : never`,y+" Ids and types in "+Le,`<VId = ${s}>`,0),i=e(y+ie,`(...[valueId, value]: ${$})`+Ue,ot(Ie+y+" Id, and "+y)),u=e("GetValueChange",`(valueId: ${s}) => ValueChange`,ce+" returning information about any Value's changes during a "+Me),p=e(T+c,`(${o}, getValueChange: ${u}${ve})`+Ue,dt(9)),b=e(v+c,`(${o})`+Ue,dt(10)),C=e("ValueListenerArgsArray",`VId extends ${s} ? [${o}, valueId: VId, newValue: ${I}<VId> ${ve}, oldValue: ${I}<VId> ${ve}, getValueChange: ${u} ${ve}] : never`,"Value args for ValueListener",`<VId = ${s}>`,0);return[d,r,s,I,i,p,b,e(y+c,`(...[${t}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Ue,dt(11)),e(fe+y+c,`(${o}, valueId: Id, invalidValues: any[])`+Ue,dt(12))]},(t,l)=>e(Ge+c,`(${t}: ${l}, getTransactionChanges: GetTransactionChanges, getTransactionLog: GetTransactionLog)`+Ue,ce+" listening to the completion of a "+Me)],Mt=(e,t=a,l=a)=>`store.${e}(${t})`+(l?" as "+l:a),Jt=(e,t=a)=>`fluent(() => ${Mt(e,t)})`,zt=(e,t=a,l=a)=>`store.${e}(${t?t+", ":a}proxy(listener)${l?", "+l:a})`,Wt=(e,t,n)=>{const[o,r,$,V,x,S,A,P]=Nt(),[D,N,L]=Gt(e,t,x),[G,j,J]=jt($,D,N,L),W=te(),B=(e=0)=>ne(W,(([t,l,n,o,d],r)=>{const s=e?[r+`: ${d}(${t}): ${l} => ${n},`]:[r+d+`(${t}): ${l};`];return e||O(s,Pt(o)),E(s,a),s})),F=(e,t,l,n,o,d=a)=>Vt(W,e,[t,l,n,o,d]),U=(e,t,l,n,o,d=a,r=a,s=a)=>F(bt[e]+t+(4==e?xe:a)+l,d,n,(n==H?Jt:Mt)(bt[e]+(4==e?xe:a)+l,r,e?void 0:n),o,s),_=(e,t,l,n=a,o=a,d=1,r=a)=>F(i+e+c,(n?n+", ":a)+ye+": "+t+(d?", mutator?: boolean":a),me,zt(i+e+c,o,d?"mutator":a),l,r),Z=`./${St(n)}.d`,H=St(n,1),Q=St(H),K=[],Y=te();let ee=[],de=[];if(r(1,Z,H,`create${H} as create${H}Decl`),q(e))r(null,l,b);else{r(0,l,"CellChange"),r(null,l,u);const[e,t,n,o,c,i,y,T,v,V,S,A,P,O,L,j,J,W,B,F,q,ae,ne]=G(Q,H),de=te();D(((e,t)=>{const l=`<'${e}'>`,a=[$(t+p,o+l,Ae+` the '${e}' `+p),$(t+p+_e,c+l,Ae+` the '${e}' `+p+Ze),$(t+h,i+l,tt(e)),$(t+h+_e,y+l,tt(e,1)),$(t+f+me,T+l,`A Cell Id for the '${e}' `+p),$(t+f+ie,V+l,ot(`a Cell Id and value from a Row in the '${e}' `+p)),$(t+h+ie,S+l,ot(`a Row Id from the '${e}' Table, and a Cell iterator`)),$(t+p+f+ie,A+l,ot(`a Cell Id from anywhere in the '${e}' Table, and a count of how many times it appears`))];oe(de,e,a),r(1,Z,...a)})),r(1,Z,e,t,n,T,P,O,L,j,J,W,B,F,q,ae,ne),ee=[e,t,n,T,O,L,j,J,W,B,F,q,ae,de],R([[e],[d],[H,"tables: "+t,"tables"],[H]],(([e,t,l],n)=>U(n,a,b,e,et(1,n),t,l))),U(0,a,C,n+Ne,lt(p,Le)),U(5,a,p,Fe,at(p,Le),"tableCallback: "+P,"tableCallback as any"),D(((e,t,l)=>{const[n,o,r,s,I,c,$,i]=le(de,e);R([[n],[d],[H,"table: "+o,", table"],[H]],(([n,o,d=a],r)=>U(r,t,p,n,ct(e,r),o,l+d))),U(0,t,p+w,u,lt(f,"the whole of "+st(e)),a,l),U(5,t,p+f,Fe,at(p+f,"the whole of "+st(e)),"tableCellCallback: "+i,l+", tableCellCallback as any"),U(0,t,g,u,lt(h,st(e)),a,l),U(0,t,m,u,lt(h,st(e),1),"cellId?: "+I+Oe,l+", cellId, descending, offset, limit"),U(5,t,h,Fe,at(h,st(e)),"rowCallback: "+$,l+", rowCallback as any"),R([[r],[d],[H,", row: "+s,", row"],[H],[H,", partialRow: "+s,", partialRow"]],(([n,o=a,d=a],r)=>U(r,t,h,n,$t(e,r),Pe+o,l+", rowId"+d))),U(6,t,h,me+ve,"Add a new Row to "+st(e),"row: "+s+", reuseIds?: boolean",l+", row, reuseIds"),U(0,t,w,I+Ne,lt(f,It(e)),Pe,l+", rowId"),U(5,t,f,Fe,at(f,It(e)),Pe+", cellCallback: "+c,l+", rowId, cellCallback as any"),N(e,((n,o,r,s,I)=>{const c="Map"+St(o,1);oe(Y,o,c);const $=o+(M(r)?ve:a);R([[$],[d],[H,`, cell: ${o} | `+c,", cell as any"],[H]],(([o,d=a,r=a],c)=>U(c,t+I,f,o,it(e,n,c),Pe+d,l+", rowId, "+s+r))),U(1,t+I,p+f,d,pt[1]+` the '${n}' Cell anywhere in `+st(e),a,l+", "+s)}))})),U(0,a,b+we,we,et(1,6)),U(2,a,b+we,H,et(1,7),"tablesJson: "+we,"tables"+we),_(b,O,et(1,8)+" changes"),_(C,L,rt(2,0,1)),_(p,j,rt(3,0),`tableId: ${n} | null`,"tableId"),_(p+w,J,rt(14,3,1),`tableId: ${n} | null`,"tableId"),_(g,W,rt(4,3,1),`tableId: ${n} | null`,"tableId"),_(m,B,rt(13,3,1),Et("tableId: TId",`cellId: ${T}<TId>`+ve,"descending: boolean","offset: number","limit: number"+ve),Et("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),_(h,F,rt(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(w,q,rt(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),_(f,ae,rt(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${k(D((e=>le(de,e)?.[4]??a))," | ")} | null`,"tableId, rowId, cellId"),_(fe+f,ne,Se+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),r(1,Z,...X(Y)),E(K,".set"+b+Ee+"({",kt(D(((e,t,l)=>[`[${l}]: {`,...N(e,((e,t,l,n)=>`[${n}]: {[${x(At(s),`'${s}'`)}]: ${x(At(t),`'${t}'`)}${M(l)?a:`, [${x(At(I),`'${I}'`)}]: `+(z(l)?x(At(l),`'${l}'`):l)}},`)),"},"]))),"})")}if(q(t))r(null,l,T);else{const[e,t,n,o,c,$,i,u,p]=j(Q,H);r(1,Z,e,t,n,c,$,i,u,p),de=[e,t,n,$,i,u],R([[e],[d],[H,"values: "+t,"values"],[H],[H,"partialValues: "+t,"partialValues"]],(([e,t,l],n)=>U(n,a,T,e,et(2,n),t,l))),U(0,a,v,n+Ne,lt(y,Le)),U(5,a,y,"void",at(y,Le),"valueCallback: "+c,"valueCallback as any"),L(((e,t,l,n,o)=>{const r="Map"+St(t,1);oe(Y,t,r),R([[t],[d],[H,`value: ${t} | `+r,", value as any"],[H]],(([t,l,d=a],r)=>U(r,o,y,t,ut(e,r),l,n+d)))})),U(0,a,T+we,we,et(2,6)),U(2,a,T+we,H,et(2,7),"valuesJson: "+we,"values"+we),_(T,$,et(2,8)+" changes"),_(v,i,rt(10,0,1)),_(y,u,rt(11,0),`valueId: ${n} | null`,"valueId"),_(fe+y,p,Se+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),r(1,Z,...X(Y)),r(0,l,"ValueChange"),E(K,".set"+T+Ee+"({",L(((e,t,l,n)=>[`[${n}]: {[${x(At(s),`'${s}'`)}]: ${x(At(t),`'${t}'`)}${M(l)?a:`, [${x(At(I),`'${I}'`)}]: `+(z(l)?x(At(l),`'${l}'`):l)}},`])),"})")}U(0,a,"Content",`[${b}, ${T}]`,et(0,0)),U(2,a,"Content",H,et(0,2),`[tables, values]: [${b}, ${T}]`,"[tables, values]"),U(2,a,je,H,`Applies a set of ${je} to the Store`,"transactionChanges: "+je,"transactionChanges"),ae(Y,((e,t)=>$(t,`(cell: ${e}${ve}) => `+e,`Takes a ${e} Cell value and returns another`))),r(null,l,"DoRollback",me,"IdOrNull",we,"Store",je),r(0,l,"Get"+je,"GetTransactionLog"),U(0,a,we,we,et(0,6)),U(2,a,we,H,et(0,7),"tablesAndValuesJson: "+we,"tablesAndValuesJson"),U(7,a,Me,"Return",Je,he,"actions, doRollback","<Return>"),U(7,a,"start"+Ge,H,ze),U(7,a,"finish"+Ge,H,We,Ce,"doRollback");const re=J(Q,H);return _("Start"+Ge,re,Se+" just before the start of the "+Me,a,a,0),_("WillFinish"+Ge,re,Se+" just before "+Be,a,a,0),_("DidFinish"+Ge,re,Se+" just after "+Be,a,a,0),U(7,a,"call"+c,H,"Manually provoke a listener to be called","listenerId: Id","listenerId"),U(3,a,c,H,"Remove a listener that was previously added to "+Le,"listenerId: Id","listenerId"),F("getStore",a,"Store","store",pt[0]+" the underlying Store object"),r(1,l,"createStore"),r(1,Z,H,`create${H} as create${H}Decl`,re),x("store",["createStore()",...K]),V("fluent","actions: () => Store",["actions();",`return ${Q};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Q}, ...params)`),x(Q,["{",...B(1),"}"]),[o(...S(0),...A(),ge+" interface "+H+" {",...B(0),"}",a,Pt(`Creates a ${H} object`),ge+" function create"+H+"(): "+H+";"),o(...S(1),ge+" const create"+H+": typeof create"+H+"Decl = () => {",...P(),`return Object.freeze(${Q});`,"};"),ee,de]},Bt=e=>$+e,Ft=e=>Et(Bt(e),Bt(e)+pe),Ut="debugIds?: boolean",_t="debugIds={debugIds}",Zt="then"+be,Ht="Parameter",Qt=": (parameter: "+Ht+", store: Store) => ",qt="const contextValue = useContext(Context);",Kt=", based on a parameter",Xt=": ",Yt="<"+Ht+",>",el=Ht+"ized"+ie+"<"+Ht+">",tl="rowId",ll="rowId={rowId}",al=", separator, debugIds",nl="separator?: ReactElement | string",ol="then?: (store: Store",dl=Et(ol+")"+Ue,Zt),rl="then, then"+pe,sl=tl+Xt+me,Il="View",cl=(e,...t)=>Et(...t,ye+": "+e,ye+be,"mutator?: boolean"),$l=(...e)=>Et(...e,ye,ye+pe,"mutator"),il=(e,t,n,o,d)=>{const[r,s,I,$,i,V,x,R]=Nt(),[S,A,P]=Gt(e,t,i),D=`./${St(n)}.d`,N=`./${St(n)}-ui-react.d`,L="tinybase/ui-react",G=St(n,1),j=St(G),J=G+"Or"+G+me,z=j+"Or"+G+me,W=j+`={${j}}`,B=te(),F=(e,t,l,n,o,d=a)=>(s(1,N,e+" as "+e+"Decl"),Vt(B,e,[t,l,n,o,d])),U=(e,t,l,n,o,d=a)=>F("use"+e,t,l,n,o,d),_=(e,t,l,n,o=a,d=a,r=a,I=a,c=a)=>(s(1,L,`use${t} as use${t}Core`),U(e,Et(o,X,I),l,ee+`(${z}, use${t}Core, [`+(d||a)+(c?"], ["+c:a)+"]);",n,r)),Z=(e,t,l,a)=>F(e,t,1,l,a),H=(e=0)=>ne(B,(([t,l,n,o,d],r)=>{const s=e?[ge+` const ${r}: typeof ${r}Decl = ${d}(${t}): ${1==l?"any":l} =>`,n]:[ge+` function ${r}${d}(${t}): ${1==l?"ComponentReturnType":l};`];return e||O(s,Pt(o)),E(s,a),s}));s(null,l,me,"Store",ie,Ht+"ized"+ie),s(0,L,"ComponentReturnType"),s(null,L,"ExtraProps"),s(0,D,G);const Q=I(J,G+" | "+me,`Used when you need to refer to a ${G} in a React hook or component`),K=I(ke+Re,Ot(j+Te+G,j+`ById?: {[${j}Id: Id]: ${G}}`),`Used with the ${ke} component, so that a `+G+" can be passed into the context of an application");s(0,"react","ReactElement","ComponentType"),s(1,"react","React"),s(1,N,Q,K);const X=z+Te+Q;i("{createContext, useContext, useMemo}","React"),i("Context",`createContext<[${G}?, {[${j}Id: Id]: ${G}}?]>([])`),U("Create"+G,`create: () => ${G}, create`+be,G,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${G} within a React application with convenient memoization`);const Y=U(G,"id?: Id",G+ve,["{",qt,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${G} from within a ${ke} component context`),ee=$("useHook",z+`: ${Q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${j} = ${Y}(${z} as Id);`,`return hook(...preParams, ((${z} == null || typeof ${z} == 'string')`,`? ${j} : ${z})?.getStore(), ...postParams)`]),ae=$("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),oe=$("wrap",Et("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;"]),de=i("NullComponent","() => null");if(!q(e)){const[e,t,n,d,r,i,y,T,v,V,x,R,P,E]=o;s(null,D,e,t,n,r,i,y,T,v,V,x,R,P),s(0,D,d),s(1,D,G),s(null,l,u,"IdOrNull");const O=$("tableView",`{${j}, rowComponent, getRowComponentProps`+al+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${oe}(rowIds.map((rowId) => (`,"<Row","{..."+ae+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",ll,W,_t,"/>","))",al,", tableId,",");"]),L=$("getDefaultTableComponent","tableId: Id",k(S(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+de),J=$("getDefaultCellComponent","tableId: Id, cellId: Id",k(S(((e,t,l)=>`tableId == ${l} ? ${k(A(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+de} : `)))+de);_(b,b,e,et(1,0)+$e);const z=_(C,C,n+Ne,lt(p,Le)+$e);_(De+b+ie,De+b+ie,el,et(1,9)+Kt,Et(Bt(b)+Qt+t,Bt(b)+be),Ft(b),Yt,Et(ol,`tables: ${t})`+Ue,Zt),rl),_(ue+b+ie,ue+b+ie,ie,et(1,12),a,a,a,dl,rl);const B=I(f+Re,Ot("tableId?: TId","rowId: Id","cellId?: CId",j+Te+G,Ut),nt(Ie+f),`<TId extends ${n}, CId extends ${d}<TId>>`),F=I(h+Re,Ot("tableId?: TId","rowId: Id",j+Te+G,"cellComponents?: {readonly [CId in "+d+`<TId>]?: ComponentType<${B}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${d}<TId>) => ExtraProps`,nl,Ut),nt(Ie+h),`<TId extends ${n}>`),U=I(p+Re,Ot("tableId?: TId",j+Te+G,`rowComponent?: ComponentType<${F}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",nl,Ut),nt(Ie+p),`<TId extends ${n}>`),H=I("Sorted"+p+Re,Ot("tableId?: TId","cellId?: "+d+"<TId>","descending?: boolean","offset?: number","limit?: number",j+Te+G,`rowComponent?: ComponentType<${F}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",nl,Ut),nt(Ie+"sorted "+p),`<TId extends ${n}>`),Q=I(b+Re,Ot(j+Te+G,"tableComponents?: {readonly [TId in "+n+`]?: ComponentType<${U}<TId>>;}`,`getTableComponentProps?: (tableId: ${n}) => ExtraProps`,nl,Ut),nt(Ye(1,1)));s(1,N,Q,U,H,F,B),Z(b+Il,"{"+j+", tableComponents, getTableComponentProps"+al+"}: "+Q,[oe+`(${z}(${j}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+L+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${ae}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",W,_t,"/>;","}), separator)"],et(1,13)+$e),S(((e,t,l)=>{const[n,o,d,r,I]=le(E,e);s(null,D,n,o,d,r,I),_(t+p,p,n,ct(e)+$e,a,l),_(t+p+w,p+w,u,lt(f,"the whole of "+st(e))+$e,a,l);const c=_(t+g,g,u,lt(h,st(e))+$e,a,l),$=_(t+m,m,u,lt(h,st(e),1)+$e,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",l+", cellId, descending, offset, limit");_(t+h,h,d,$t(e)+$e,sl,Et(l,tl));const i=_(t+w,w,I+Ne,lt(f,It(e))+$e,sl,Et(l,tl));_(De+t+p+ie,De+p+ie,el,ct(e,9)+Kt,Et(Bt(p)+Qt+o,Bt(p)+be),Et(l,Ft(p)),Yt,Et(ol,`table: ${o})`+Ue,Zt),rl),_(ue+t+p+ie,ue+p+ie,ie,ct(e,12),a,l,a,dl,rl),_(De+t+h+ie,De+h+ie,el,$t(e,9)+Kt,Et(sl,Bt(h)+Qt+r,Bt(h)+be),Et(l,tl,Ft(h)),Yt,Et(ol,`row: ${r})`+Ue,Zt),rl),_("Add"+t+h+ie,"Add"+h+ie,el,$t(e,10)+Kt,Et(Bt(h)+Qt+r,Bt(h)+be),Et(l,Ft(h)),Yt,"then?: ("+Et(sl+ve,"store: Store","row: "+r+")"+Ue,"then"+be)+", reuseRowIds?: boolean",rl+", reuseRowIds"),_(De+t+xe+h+ie,De+xe+h+ie,el,$t(e,11)+Kt,Et(sl,Bt(xe+h)+Qt+r,Bt(xe+h)+be),Et(l,tl,Ft(xe+h)),Yt,Et(ol,`partialRow: ${r})`+Ue,Zt),rl),_(ue+t+h+ie,ue+h+ie,ie,$t(e,12),sl,Et(l,tl),a,dl,rl);const b=Z(t+h+Il,"{rowId, "+j+", cellComponents, getCellComponentProps"+al+`}: ${F}<'${e}'>`,[oe+`(${i}(rowId, ${j}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+J+`(${l}, cellId)) as React.ComponentType<CellProps<typeof `+l+", typeof cellId>>;","return <Cell",`{...${ae}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${l}}`,ll,"cellId={cellId}",W,_t,"/>;","})"+al+", rowId)"],$t(e,13)+$e);Z(t+"Sorted"+p+Il,"{cellId, descending, offset, limit, ...props}: "+H+`<'${e}'>`,O+"(props, "+$+`(cellId, descending, offset, limit, props.${j}), ${l}, ${b});`,ct(e,13)+", sorted"+$e),Z(t+p+Il,`props: ${U}<'${e}'>`,O+"(props, "+c+`(props.${j}), ${l}, ${b});`,ct(e,13)+$e),A(e,((n,o,d,r,I)=>{const c="Map"+St(o,1);s(0,D,c),s(1,D,c);const $=_(t+I+f,f,o+(M(d)?ve:a),it(e,n)+$e,sl,Et(l,tl,r));_(De+t+I+f+ie,De+f+ie,el,it(e,n,9)+Kt,Et(sl,Bt(f)+Qt+o+" | "+c,Bt(f)+be),Et(l,tl,r,Ft(f)),Yt,Et(ol,`cell: ${o} | ${c})`+Ue,Zt),rl),_(ue+t+I+f+ie,ue+f+ie,ie,it(e,n,12),Et(sl,"forceDel?: boolean"),Et(l,tl,r,"forceDel"),a,dl,rl),Z(t+I+f+Il,`{rowId, ${j}, debugIds}: `+B+`<'${e}', '${n}'>`,[oe+`('' + ${$}(rowId, `+j+`) ?? '', undefined, debugIds, ${r})`],it(e,n,13)+$e)}))}));const q=k(S((e=>le(E,e)?.[4]??a))," | ");_(b+c,b+c,Fe,et(1,8)+" changes",cl(r),$l()),_(C+c,C+c,Fe,rt(2,0,1),cl(i),$l()),_(p+c,p+c,Fe,rt(3,0),cl(y,`tableId: ${n} | null`),$l("tableId")),_(p+w+c,p+w+c,Fe,rt(14,3,1),cl(T,`tableId: ${n} | null`),$l("tableId")),_(g+c,g+c,Fe,rt(4,3,1),cl(v,`tableId: ${n} | null`),$l("tableId")),_(m+c,m+c,Fe,rt(13,3,1),cl(V,`tableId: ${n} | null`,"cellId: "+q+ve,"descending: boolean","offset: number","limit: number"+ve),$l("tableId","cellId","descending","offset","limit")),_(h+c,h+c,Fe,rt(5,3),cl(x,`tableId: ${n} | null`,tl+": IdOrNull"),$l("tableId",tl)),_(w+c,w+c,Fe,rt(6,5,1),cl(R,`tableId: ${n} | null`,tl+": IdOrNull"),$l("tableId",tl)),_(f+c,f+c,Fe,rt(7,5),cl(P,`tableId: ${n} | null`,tl+": IdOrNull",`cellId: ${q} | null`),$l("tableId",tl,"cellId"))}if(!q(t)){const[e,t,l,n,o,r]=d;s(null,D,...d),s(1,D,G);const i=$("getDefaultValueComponent","valueId: Id",k(P(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+de);_(T,T,e,et(2,0)+$e);const u=_(v,v,l+Ne,lt(y,Le)+$e);_(De+T+ie,De+T+ie,el,et(2,9)+Kt,Et(Bt(T)+Qt+t,Bt(T)+be),Ft(T),Yt,Et(ol,`values: ${t})`+Ue,Zt),rl),_(De+xe+T+ie,De+xe+T+ie,el,et(2,11)+Kt,Et(Bt(xe+T)+Qt+t,Bt(xe+T)+be),Ft(xe+T),Yt,Et(ol,`partialValues: ${t})`+Ue,Zt),rl),_(ue+T+ie,ue+T+ie,ie,et(2,12),a,a,a,dl,rl);const p=I(y+Re,Ot("valueId?: VId",j+Te+G,Ut),nt("a Value"),`<VId extends ${l}>`),b=I(T+Re,Ot(j+Te+G,"valueComponents?: {readonly [VId in "+l+`]?: ComponentType<${p}<VId>>;}`,`getValueComponentProps?: (valueId: ${l}) => ExtraProps`,nl,Ut),nt(Ye(2,1)));s(1,N,b,p),Z(T+Il,"{"+j+", valueComponents, getValueComponentProps"+al+"}: "+b,[oe+`(${u}(${j}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+i+"(valueId);","return <Value",`{...${ae}(getValueComponentProps, valueId)}`,"key={valueId}",W,_t,"/>;","}), separator)"],et(2,13)+$e),P(((e,t,l,n,o)=>{const d="Map"+St(t,1);s(0,D,d),s(1,D,d);const r=_(o+y,y,t,ut(e)+$e,a,n);_(De+o+y+ie,De+y+ie,el,ut(e,9)+Kt,Et(Bt(y)+Qt+t+" | "+d,Bt(y)+be),Et(n,Ft(y)),Yt,Et(ol,`value: ${t} | ${d})`+Ue,Zt),rl),_(ue+o+y+ie,ue+y+ie,ie,ut(e,12),a,n,a,dl,rl),Z(o+y+Il,`{${j}, debugIds}: ${p}<'${e}'>`,[oe+`('' + ${r}(`+j+`) ?? '', undefined, debugIds, ${n})`],ut(e,13)+$e)})),_(T+c,T+c,Fe,et(2,8)+" changes",cl(n),$l()),_(v+c,v+c,Fe,rt(10,0,1),cl(o),$l()),_(y+c,y+c,Fe,rt(11,0),cl(r,`valueId: ${l} | null`),$l("valueId"))}return Z(ke,`{${j}, ${j}ById, children}: `+K+" & {children: React.ReactNode}",["{",qt,"return (","<Context."+ke,"value={useMemo(",`() => [${j} ?? contextValue[0], {...contextValue[1], ...${j}ById}],`,`[${j}, ${j}ById, contextValue],`,")}>","{children}",`</Context.${ke}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[r(...V(0),...x(),...H(0)),r(...V(1),...R(),...H(1))]},ul=(e,t,l)=>{if(q(e)&&q(t))return[a,a,a,a];const[n,o,d,r]=Wt(e,t,l);return[n,o,...il(e,t,l,d,r)]},pl={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},bl=Lt((e=>{const t=()=>{const t=L(e.getTablesSchemaJson());return!q(t)||V(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=te();if(V(a,(t=>V(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=de(n,a,(()=>[B(o),te(),[0],0])),[r,s,[I]]=d,c=de(s,o,(()=>0))+1;return c>I&&(d[2]=[c,o]),oe(s,o,c),d[3]++,r==B(o)})))))return t[l]={},Y(n,(([e,,[,n],o],d)=>{t[l][d]={[s]:e,...o==A(a)?{[I]:n}:{}}})),1}))?t:{}},l=()=>{const t=L(e.getValuesSchemaJson());return q(t)&&e.forEachValue(((e,l)=>{t[e]={[s]:B(l)}})),t},a=e=>ul(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 S(a(e),((e,a)=>xt(l(e,{...pl,filepath:"_."+t[a]}))))};return _({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:A(e.getValueIds()),jsonLength:Rt(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));e.createTools=bl},"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
|