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/cjs-es6/ui-react.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("react");const s=e=>typeof e,t="",o=s(t),r="Ids",l="Table",u=l+"s",n=l+r,d="Row",i=d+r,a="Sorted"+d+r,p="Cell",c=p+r,I="Value",x=I+"s",w=I+r,b=(e,s)=>e.map(s),R=e=>null==e,C=(e,s,t)=>R(e)?null==t?void 0:t():s(e),k=e=>s(e)==o,v=()=>{},{createContext:g,useContext:m}=e,h=g([]),y=(e,s)=>{const t=m(h);return R(e)?t[s]:k(e)?((e,s)=>C(e,(e=>e[s])))(t[s+1],e):e},L=(e,s)=>{const t=y(e,s);return R(e)||k(e)?t:e},V=e=>L(e,0),S=e=>L(e,2),f=e=>L(e,4),T=e=>L(e,6),P=e=>L(e,8),q=e=>L(e,10),{useCallback:O,useEffect:B,useMemo:M,useRef:D,useState:j}=e,A=(e,s,t=[])=>{const o=M((()=>s(e)),[e,...t]);return B((()=>()=>o.destroy()),[o]),o},E=(e,s,t,o=[],r)=>{const[,l]=j(),u=O((()=>{var r,l;return null!=(l=null==(r=null==s?void 0:s["get"+e])?void 0:r.call(s,...o))?l:t}),[s,...o]),[n]=j(u),d=D(n);return M((()=>d.current=u()),[u]),F(e,s,((...e)=>{d.current=R(r)?u():e[r],l([])}),[],o),d.current},F=(e,s,t,o=[],r=[],...l)=>B((()=>{var o;const u=null==(o=null==s?void 0:s["add"+e+"Listener"])?void 0:o.call(s,...r,t,...l);return()=>null==s?void 0:s.delListener(u)}),[s,...r,...o,...l]),G=(e,s,t,o=[],r=v,l=[],...u)=>{const n=V(e);return O((e=>C(n,(o=>C(t(e,o),(e=>r(o["set"+s](...u,e),e)))))),[n,s,...o,...l,...u])},Q=(e,s,t=v,o=[],...r)=>{const l=V(e);return O((()=>t(null==l?void 0:l["del"+s](...r))),[l,s,...o,...r])},U=(e,s,t)=>{const o=q(e);return O((()=>null==o?void 0:o[s](t)),[o,s,t])},z=e=>E(n,V(e),[],[]),H=(e,s)=>E(i,V(s),[],[e]),J=(e,s,t,o=0,r,l)=>E(a,V(l),[],[e,s,t,o,r],6),K=(e,s,t)=>E(c,V(t),[],[e,s]),N=(e,s,t,o)=>E(p,V(o),void 0,[e,s,t],4),W=e=>E(w,V(e),[],[]),X=(e,s)=>E(I,V(s),void 0,[e]),Y=(e,s)=>E("Metric",S(s),void 0,[e]),Z=(e,s)=>E("SliceIds",f(s),[],[e]),$=(e,s,t)=>E("SliceRowIds",f(t),[],[e,s]),_=(e,s,t)=>E("RemoteRowId",T(t),void 0,[e,s]),ee=(e,s,t)=>E("LocalRowIds",T(t),[],[e,s]),se=(e,s,t)=>E("LinkedRowIds",T(t),[],[e,s]),te=(e,s)=>E("ResultRowIds",P(s),[],[e]),oe=(e,s,t,o=0,r,l)=>E("ResultSortedRowIds",P(l),[],[e,s,t,o,r],6),re=(e,s,t)=>E("ResultCellIds",P(t),[],[e,s]),le=(e,s,t,o)=>E("ResultCell",P(o),void 0,[e,s,t]),ue=e=>E("CheckpointIds",q(e),[[],void 0,[]]),ne=(e,s)=>E("Checkpoint",q(s),void 0,[e]),de=e=>U(e,"goBackward"),ie=e=>U(e,"goForward");var ae=Object.defineProperty,pe=Object.defineProperties,ce=Object.getOwnPropertyDescriptors,Ie=Object.getOwnPropertySymbols,xe=Object.prototype.hasOwnProperty,we=Object.prototype.propertyIsEnumerable,be=(e,s,t)=>s in e?ae(e,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[s]=t,Re=(e,s)=>{for(var t in s||(s={}))xe.call(s,t)&&be(e,t,s[t]);if(Ie)for(var t of Ie(s))we.call(s,t)&&be(e,t,s[t]);return e},Ce=(e,s)=>pe(e,ce(s)),ke=(e,s)=>{var t={};for(var o in e)xe.call(e,o)&&s.indexOf(o)<0&&(t[o]=e[o]);if(null!=e&&Ie)for(var o of Ie(e))s.indexOf(o)<0&&we.call(e,o)&&(t[o]=e[o]);return t};const{createElement:ve,useMemo:ge}=e,me=({tableId:e,store:s,rowComponent:t=Pe,getRowComponentProps:o,separator:r,debugIds:l},u)=>fe(b(u,(r=>ve(t,Ce(Re({},Se(o,r)),{key:r,tableId:e,rowId:r,store:s,debugIds:l})))),r,l,e),he=({queryId:e,queries:s,resultRowComponent:t=De,getResultRowComponentProps:o,separator:r,debugIds:l},u)=>fe(b(u,(r=>ve(t,Ce(Re({},Se(o,r)),{key:r,queryId:e,rowId:r,queries:s,debugIds:l})))),r,l,e),ye=e=>{const s=T(e);return[s,null==s?void 0:s.getStore()]},Le=({relationshipId:e,relationships:s,rowComponent:t=Pe,getRowComponentProps:o,separator:r,debugIds:l},u,n)=>{const[d,i]=ye(s),a=null==d?void 0:d.getLocalTableId(e),p=u(e,n,d);return fe(b(p,(e=>ve(t,Ce(Re({},Se(o,e)),{key:e,tableId:a,rowId:e,store:i,debugIds:l})))),r,l,n)},Ve=e=>({checkpoints:s,checkpointComponent:t=je,getCheckpointComponentProps:o,separator:r,debugIds:l})=>{const u=q(s);return fe(b(e(ue(u)),(e=>ve(t,Ce(Re({},Se(o,e)),{key:e,checkpoints:u,checkpointId:e,debugIds:l})))),r)},Se=(e,s)=>R(e)?{}:e(s),fe=(e,s,t,o)=>{const r=R(s)||!Array.isArray(e)?e:b(e,((e,t)=>t>0?[s,e]:e));return t?[o,":{",r,"}"]:r},Te=({tableId:e,rowId:s,cellId:o,store:r,debugIds:l})=>{var u;return fe(t+(null!=(u=N(e,s,o,r))?u:t),void 0,l,o)},Pe=({tableId:e,rowId:s,store:t,cellComponent:o=Te,getCellComponentProps:r,separator:l,debugIds:u})=>fe(b(K(e,s,t),(l=>ve(o,Ce(Re({},Se(r,l)),{key:l,tableId:e,rowId:s,cellId:l,store:t,debugIds:u})))),l,u,s),qe=e=>me(e,H(e.tableId,e.store)),Oe=({valueId:e,store:s,debugIds:o})=>{var r;return fe(t+(null!=(r=X(e,s))?r:t),void 0,o,e)},Be=({indexId:e,sliceId:s,indexes:t,rowComponent:o=Pe,getRowComponentProps:r,separator:l,debugIds:u})=>{const n=f(t),d=null==n?void 0:n.getStore(),i=null==n?void 0:n.getTableId(e),a=$(e,s,n);return fe(b(a,(e=>ve(o,Ce(Re({},Se(r,e)),{key:e,tableId:i,rowId:e,store:d,debugIds:u})))),l,u,s)},Me=({queryId:e,rowId:s,cellId:o,queries:r,debugIds:l})=>{var u;return fe(t+(null!=(u=le(e,s,o,r))?u:t),void 0,l,o)},De=({queryId:e,rowId:s,queries:t,resultCellComponent:o=Me,getResultCellComponentProps:r,separator:l,debugIds:u})=>fe(b(re(e,s,t),(l=>ve(o,Ce(Re({},Se(r,l)),{key:l,queryId:e,rowId:s,cellId:l,queries:t,debugIds:u})))),l,u,s),je=({checkpoints:e,checkpointId:s,debugIds:o})=>{var r;return fe(null!=(r=ne(s,e))?r:t,void 0,o,s)},Ae=Ve((e=>e[0])),Ee=Ve((e=>R(e[1])?[]:[e[1]])),Fe=Ve((e=>e[2]));exports.BackwardCheckpointsView=Ae,exports.CellView=Te,exports.CheckpointView=je,exports.CurrentCheckpointView=Ee,exports.ForwardCheckpointsView=Fe,exports.IndexView=({indexId:e,indexes:s,sliceComponent:t=Be,getSliceComponentProps:o,separator:r,debugIds:l})=>fe(b(Z(e,s),(r=>ve(t,Ce(Re({},Se(o,r)),{key:r,indexId:e,sliceId:r,indexes:s,debugIds:l})))),r,l,e),exports.LinkedRowsView=e=>Le(e,se,e.firstRowId),exports.LocalRowsView=e=>Le(e,ee,e.remoteRowId),exports.MetricView=({metricId:e,metrics:s,debugIds:o})=>{var r;return fe(null!=(r=Y(e,s))?r:t,void 0,o,e)},exports.Provider=({store:s,storesById:t,metrics:o,metricsById:r,indexes:l,indexesById:u,relationships:n,relationshipsById:d,queries:i,queriesById:a,checkpoints:p,checkpointsById:c,children:I})=>{const x=e.useContext(h);return ve(h.Provider,{value:ge((()=>[null!=s?s:x[0],Re(Re({},x[1]),t),null!=o?o:x[2],Re(Re({},x[3]),r),null!=l?l:x[4],Re(Re({},x[5]),u),null!=n?n:x[6],Re(Re({},x[7]),d),null!=i?i:x[8],Re(Re({},x[9]),a),null!=p?p:x[10],Re(Re({},x[11]),c)]),[s,t,o,r,l,u,n,d,i,a,p,c,x])},I)},exports.RemoteRowView=({relationshipId:e,localRowId:s,relationships:t,rowComponent:o=Pe,getRowComponentProps:r,debugIds:l})=>{const[u,n]=ye(t),d=null==u?void 0:u.getRemoteTableId(e),i=_(e,s,u);return fe(R(d)||R(i)?null:ve(o,Ce(Re({},Se(r,i)),{key:i,tableId:d,rowId:i,store:n,debugIds:l})),void 0,l,s)},exports.ResultCellView=Me,exports.ResultRowView=De,exports.ResultSortedTableView=e=>{var s=e,{cellId:t,descending:o,offset:r,limit:l}=s,u=ke(s,["cellId","descending","offset","limit"]);return he(u,oe(u.queryId,t,o,r,l,u.queries))},exports.ResultTableView=e=>he(e,te(e.queryId,e.queries)),exports.RowView=Pe,exports.SliceView=Be,exports.SortedTableView=e=>{var s=e,{cellId:t,descending:o,offset:r,limit:l}=s,u=ke(s,["cellId","descending","offset","limit"]);return me(u,J(u.tableId,t,o,r,l,u.store))},exports.TableView=qe,exports.TablesView=({store:e,tableComponent:s=qe,getTableComponentProps:t,separator:o,debugIds:r})=>fe(b(z(e),(o=>ve(s,Ce(Re({},Se(t,o)),{key:o,tableId:o,store:e,debugIds:r})))),o),exports.ValueView=Oe,exports.ValuesView=({store:e,valueComponent:s=Oe,getValueComponentProps:t,separator:o,debugIds:r})=>fe(b(W(e),(o=>ve(s,Ce(Re({},Se(t,o)),{key:o,valueId:o,store:e,debugIds:r})))),o),exports.tableView=me,exports.useAddRowCallback=(e,s,t=[],o,r=v,l=[],u=!0)=>{const n=V(o);return O((t=>C(n,(o=>C(s(t,o),(s=>r(o.addRow(e,s,u),o,s)))))),[n,e,...t,...l,u])},exports.useCell=N,exports.useCellIds=K,exports.useCellIdsListener=(e,s,t,o,r,l)=>F(c,V(l),t,o,[e,s],r),exports.useCellListener=(e,s,t,o,r,l,u)=>F(p,V(u),o,r,[e,s,t],l),exports.useCheckpoint=ne,exports.useCheckpointIds=ue,exports.useCheckpointIdsListener=(e,s,t)=>F("CheckpointIds",q(t),e,s),exports.useCheckpointListener=(e,s,t,o)=>F("Checkpoint",q(o),s,t,[e]),exports.useCheckpoints=e=>y(e,10),exports.useCreateCheckpoints=(e,s,t)=>A(e,s,t),exports.useCreateIndexes=(e,s,t)=>A(e,s,t),exports.useCreateMetrics=(e,s,t)=>A(e,s,t),exports.useCreatePersister=(e,s,t=[],o,r=[])=>{const[,l]=j(),u=M((()=>s(e)),[e,...t]);return B((()=>{var e;return e=function*(){yield null==o?void 0:o(u),l(1)},new Promise(((s,t)=>{var o=s=>{try{l(e.next(s))}catch(e){t(e)}},r=s=>{try{l(e.throw(s))}catch(e){t(e)}},l=e=>e.done?s(e.value):Promise.resolve(e.value).then(o,r);l((e=e.apply(void 0,null)).next())})),()=>{u.destroy()}}),[u,...r]),u},exports.useCreateQueries=(e,s,t)=>A(e,s,t),exports.useCreateRelationships=(e,s,t)=>A(e,s,t),exports.useCreateStore=(e,s=[])=>M(e,s),exports.useDelCellCallback=(e,s,t,o,r,l,u)=>Q(r,p,l,u,e,s,t,o),exports.useDelRowCallback=(e,s,t,o,r)=>Q(t,d,o,r,e,s),exports.useDelTableCallback=(e,s,t,o)=>Q(s,l,t,o,e),exports.useDelTablesCallback=(e,s,t)=>Q(e,u,s,t),exports.useDelValueCallback=(e,s,t,o)=>Q(s,I,t,o,e),exports.useDelValuesCallback=(e,s,t)=>Q(e,x,s,t),exports.useGoBackwardCallback=de,exports.useGoForwardCallback=ie,exports.useGoToCallback=(e,s=[],t,o=v,r=[])=>{const l=q(t);return O((s=>C(l,(t=>C(e(s),(e=>o(t.goTo(e),e)))))),[l,...s,...r])},exports.useIndexes=e=>y(e,4),exports.useLinkedRowIds=se,exports.useLinkedRowIdsListener=(e,s,t,o,r)=>F("LinkedRowIds",T(r),t,o,[e,s]),exports.useLocalRowIds=ee,exports.useLocalRowIdsListener=(e,s,t,o,r)=>F("LocalRowIds",T(r),t,o,[e,s]),exports.useMetric=Y,exports.useMetricListener=(e,s,t,o)=>F("Metric",S(o),s,t,[e]),exports.useMetrics=e=>y(e,2),exports.useQueries=e=>y(e,8),exports.useRedoInformation=e=>{var s;const o=q(e),[,,[r]]=ue(o);return[!R(r),ie(o),r,null!=(s=C(r,(e=>null==o?void 0:o.getCheckpoint(e))))?s:t]},exports.useRelationships=e=>y(e,6),exports.useRemoteRowId=_,exports.useRemoteRowIdListener=(e,s,t,o,r)=>F("RemoteRowId",T(r),t,o,[e,s]),exports.useResultCell=le,exports.useResultCellIds=re,exports.useResultCellIdsListener=(e,s,t,o,r)=>F("ResultCellIds",P(r),t,o,[e,s]),exports.useResultCellListener=(e,s,t,o,r,l)=>F("ResultCell",P(l),o,r,[e,s,t]),exports.useResultRow=(e,s,t)=>E("ResultRow",P(t),{},[e,s]),exports.useResultRowIds=te,exports.useResultRowIdsListener=(e,s,t,o)=>F("ResultRowIds",P(o),s,t,[e]),exports.useResultRowListener=(e,s,t,o,r)=>F("ResultRow",P(r),t,o,[e,s]),exports.useResultSortedRowIds=oe,exports.useResultSortedRowIdsListener=(e,s,t,o,r,l,u,n)=>F("ResultSortedRowIds",P(n),l,u,[e,s,t,o,r]),exports.useResultTable=(e,s)=>E("ResultTable",P(s),{},[e]),exports.useResultTableListener=(e,s,t,o)=>F("ResultTable",P(o),s,t,[e]),exports.useRow=(e,s,t)=>E(d,V(t),{},[e,s]),exports.useRowIds=H,exports.useRowIdsListener=(e,s,t,o,r)=>F(i,V(r),s,t,[e],o),exports.useRowListener=(e,s,t,o,r,l)=>F(d,V(l),t,o,[e,s],r),exports.useSetCellCallback=(e,s,t,o,r,l,u,n)=>G(l,p,o,r,u,n,e,s,t),exports.useSetCheckpointCallback=(e=v,s=[],t,o=v,r=[])=>{const l=q(t);return O((s=>C(l,(t=>{const r=e(s);o(t.addCheckpoint(r),t,r)}))),[l,...s,...r])},exports.useSetPartialRowCallback=(e,s,t,o,r,l,u)=>G(r,"PartialRow",t,o,l,u,e,s),exports.useSetPartialValuesCallback=(e,s,t,o,r)=>G(t,"PartialValues",e,s,o,r),exports.useSetRowCallback=(e,s,t,o,r,l,u)=>G(r,d,t,o,l,u,e,s),exports.useSetTableCallback=(e,s,t,o,r,u)=>G(o,l,s,t,r,u,e),exports.useSetTablesCallback=(e,s,t,o,r)=>G(t,u,e,s,o,r),exports.useSetValueCallback=(e,s,t,o,r,l)=>G(o,I,s,t,r,l,e),exports.useSetValuesCallback=(e,s,t,o,r)=>G(t,x,e,s,o,r),exports.useSliceIds=Z,exports.useSliceIdsListener=(e,s,t,o)=>F("SliceIds",f(o),s,t,[e]),exports.useSliceRowIds=$,exports.useSliceRowIdsListener=(e,s,t,o,r)=>F("SliceRowIds",f(r),t,o,[e,s]),exports.useSortedRowIds=J,exports.useSortedRowIdsListener=(e,s,t,o,r,l,u,n,d)=>F(a,V(d),l,u,[e,s,t,o,r],n),exports.useStore=e=>y(e,0),exports.useTable=(e,s)=>E(l,V(s),{},[e]),exports.useTableIds=z,exports.useTableIdsListener=(e,s,t,o)=>F(n,V(o),e,s,[],t),exports.useTableListener=(e,s,t,o,r)=>F(l,V(r),s,t,[e],o),exports.useTables=e=>E(u,V(e),{}),exports.useTablesListener=(e,s,t,o)=>F(u,V(o),e,s,[],t),exports.useUndoInformation=e=>{var s;const o=q(e),[r,l]=ue(o);return[(u=r,!(0==(e=>e.length)(u))),de(o),l,null!=(s=C(l,(e=>null==o?void 0:o.getCheckpoint(e))))?s:t];var u},exports.useValue=X,exports.useValueIds=W,exports.useValueIdsListener=(e,s,t,o)=>F(w,V(o),e,s,[],t),exports.useValueListener=(e,s,t,o,r)=>F(I,V(r),s,t,[e],o),exports.useValues=e=>E(x,V(e),{}),exports.useValuesListener=(e,s,t,o)=>F(x,V(o),e,s,[],t);
|
|
1
|
+
"use strict";var e=require("react");const s=e=>typeof e,t="",o=s(t),r="Ids",l="Table",u=l+"s",d=l+r,n="Row",i=n+r,a="Sorted"+n+r,p="Cell",c=p+r,I="Value",x=I+"s",w=I+r,b=(e,s)=>e.map(s),R=e=>null==e,C=(e,s,t)=>R(e)?null==t?void 0:t():s(e),k=e=>s(e)==o,v=()=>{},{createContext:g,useContext:m}=e,h=g([]),y=(e,s)=>{const t=m(h);return R(e)?t[s]:k(e)?((e,s)=>C(e,(e=>e[s])))(t[s+1],e):e},L=(e,s)=>{const t=y(e,s);return R(e)||k(e)?t:e},V=e=>L(e,0),S=e=>L(e,2),f=e=>L(e,4),T=e=>L(e,6),P=e=>L(e,8),q=e=>L(e,10),{useCallback:O,useEffect:B,useMemo:M,useRef:D,useState:j}=e,A=(e,s,t=[])=>{const o=M((()=>s(e)),[e,...t]);return B((()=>()=>o.destroy()),[o]),o},E=(e,s,t,o=[],r)=>{const[,l]=j(),u=O((()=>{var r,l;return null!=(l=null==(r=null==s?void 0:s["get"+e])?void 0:r.call(s,...o))?l:t}),[s,...o]),[d]=j(u),n=D(d);return M((()=>n.current=u()),[u]),F(e,s,((...e)=>{n.current=R(r)?u():e[r],l([])}),[],o),n.current},F=(e,s,t,o=[],r=[],...l)=>B((()=>{var o;const u=null==(o=null==s?void 0:s["add"+e+"Listener"])?void 0:o.call(s,...r,t,...l);return()=>null==s?void 0:s.delListener(u)}),[s,...r,...o,...l]),G=(e,s,t,o=[],r=v,l=[],...u)=>{const d=V(e);return O((e=>C(d,(o=>C(t(e,o),(e=>r(o["set"+s](...u,e),e)))))),[d,s,...o,...l,...u])},Q=(e,s,t=v,o=[],...r)=>{const l=V(e);return O((()=>t(null==l?void 0:l["del"+s](...r))),[l,s,...o,...r])},U=(e,s,t)=>{const o=q(e);return O((()=>null==o?void 0:o[s](t)),[o,s,t])},z=e=>E(d,V(e),[],[]),H=(e,s)=>E(i,V(s),[],[e]),J=(e,s,t,o=0,r,l)=>E(a,V(l),[],[e,s,t,o,r],6),K=(e,s,t)=>E(c,V(t),[],[e,s]),N=(e,s,t,o)=>E(p,V(o),void 0,[e,s,t],4),W=e=>E(w,V(e),[],[]),X=(e,s)=>E(I,V(s),void 0,[e]),Y=(e,s)=>E("Metric",S(s),void 0,[e]),Z=(e,s)=>E("SliceIds",f(s),[],[e]),$=(e,s,t)=>E("SliceRowIds",f(t),[],[e,s]),_=(e,s,t)=>E("RemoteRowId",T(t),void 0,[e,s]),ee=(e,s,t)=>E("LocalRowIds",T(t),[],[e,s]),se=(e,s,t)=>E("LinkedRowIds",T(t),[],[e,s]),te=(e,s)=>E("ResultRowIds",P(s),[],[e]),oe=(e,s,t,o=0,r,l)=>E("ResultSortedRowIds",P(l),[],[e,s,t,o,r],6),re=(e,s,t)=>E("ResultCellIds",P(t),[],[e,s]),le=(e,s,t,o)=>E("ResultCell",P(o),void 0,[e,s,t]),ue=e=>E("CheckpointIds",q(e),[[],void 0,[]]),de=(e,s)=>E("Checkpoint",q(s),void 0,[e]),ne=e=>U(e,"goBackward"),ie=e=>U(e,"goForward");var ae=Object.defineProperty,pe=Object.defineProperties,ce=Object.getOwnPropertyDescriptors,Ie=Object.getOwnPropertySymbols,xe=Object.prototype.hasOwnProperty,we=Object.prototype.propertyIsEnumerable,be=(e,s,t)=>s in e?ae(e,s,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[s]=t,Re=(e,s)=>{for(var t in s||(s={}))xe.call(s,t)&&be(e,t,s[t]);if(Ie)for(var t of Ie(s))we.call(s,t)&&be(e,t,s[t]);return e},Ce=(e,s)=>pe(e,ce(s)),ke=(e,s)=>{var t={};for(var o in e)xe.call(e,o)&&s.indexOf(o)<0&&(t[o]=e[o]);if(null!=e&&Ie)for(var o of Ie(e))s.indexOf(o)<0&&we.call(e,o)&&(t[o]=e[o]);return t};const{createElement:ve,useMemo:ge}=e,me=({tableId:e,store:s,rowComponent:t=Pe,getRowComponentProps:o,separator:r,debugIds:l},u)=>fe(b(u,(r=>ve(t,Ce(Re({},Se(o,r)),{key:r,tableId:e,rowId:r,store:s,debugIds:l})))),r,l,e),he=({queryId:e,queries:s,resultRowComponent:t=De,getResultRowComponentProps:o,separator:r,debugIds:l},u)=>fe(b(u,(r=>ve(t,Ce(Re({},Se(o,r)),{key:r,queryId:e,rowId:r,queries:s,debugIds:l})))),r,l,e),ye=e=>{const s=T(e);return[s,null==s?void 0:s.getStore()]},Le=({relationshipId:e,relationships:s,rowComponent:t=Pe,getRowComponentProps:o,separator:r,debugIds:l},u,d)=>{const[n,i]=ye(s),a=null==n?void 0:n.getLocalTableId(e),p=u(e,d,n);return fe(b(p,(e=>ve(t,Ce(Re({},Se(o,e)),{key:e,tableId:a,rowId:e,store:i,debugIds:l})))),r,l,d)},Ve=e=>({checkpoints:s,checkpointComponent:t=je,getCheckpointComponentProps:o,separator:r,debugIds:l})=>{const u=q(s);return fe(b(e(ue(u)),(e=>ve(t,Ce(Re({},Se(o,e)),{key:e,checkpoints:u,checkpointId:e,debugIds:l})))),r)},Se=(e,s)=>R(e)?{}:e(s),fe=(e,s,t,o)=>{const r=R(s)||!Array.isArray(e)?e:b(e,((e,t)=>t>0?[s,e]:e));return t?[o,":{",r,"}"]:r},Te=({tableId:e,rowId:s,cellId:o,store:r,debugIds:l})=>{var u;return fe(t+(null!=(u=N(e,s,o,r))?u:t),void 0,l,o)},Pe=({tableId:e,rowId:s,store:t,cellComponent:o=Te,getCellComponentProps:r,separator:l,debugIds:u})=>fe(b(K(e,s,t),(l=>ve(o,Ce(Re({},Se(r,l)),{key:l,tableId:e,rowId:s,cellId:l,store:t,debugIds:u})))),l,u,s),qe=e=>me(e,H(e.tableId,e.store)),Oe=({valueId:e,store:s,debugIds:o})=>{var r;return fe(t+(null!=(r=X(e,s))?r:t),void 0,o,e)},Be=({indexId:e,sliceId:s,indexes:t,rowComponent:o=Pe,getRowComponentProps:r,separator:l,debugIds:u})=>{const d=f(t),n=null==d?void 0:d.getStore(),i=null==d?void 0:d.getTableId(e),a=$(e,s,d);return fe(b(a,(e=>ve(o,Ce(Re({},Se(r,e)),{key:e,tableId:i,rowId:e,store:n,debugIds:u})))),l,u,s)},Me=({queryId:e,rowId:s,cellId:o,queries:r,debugIds:l})=>{var u;return fe(t+(null!=(u=le(e,s,o,r))?u:t),void 0,l,o)},De=({queryId:e,rowId:s,queries:t,resultCellComponent:o=Me,getResultCellComponentProps:r,separator:l,debugIds:u})=>fe(b(re(e,s,t),(l=>ve(o,Ce(Re({},Se(r,l)),{key:l,queryId:e,rowId:s,cellId:l,queries:t,debugIds:u})))),l,u,s),je=({checkpoints:e,checkpointId:s,debugIds:o})=>{var r;return fe(null!=(r=de(s,e))?r:t,void 0,o,s)},Ae=Ve((e=>e[0])),Ee=Ve((e=>R(e[1])?[]:[e[1]])),Fe=Ve((e=>e[2]));exports.BackwardCheckpointsView=Ae,exports.CellView=Te,exports.CheckpointView=je,exports.CurrentCheckpointView=Ee,exports.ForwardCheckpointsView=Fe,exports.IndexView=({indexId:e,indexes:s,sliceComponent:t=Be,getSliceComponentProps:o,separator:r,debugIds:l})=>fe(b(Z(e,s),(r=>ve(t,Ce(Re({},Se(o,r)),{key:r,indexId:e,sliceId:r,indexes:s,debugIds:l})))),r,l,e),exports.LinkedRowsView=e=>Le(e,se,e.firstRowId),exports.LocalRowsView=e=>Le(e,ee,e.remoteRowId),exports.MetricView=({metricId:e,metrics:s,debugIds:o})=>{var r;return fe(null!=(r=Y(e,s))?r:t,void 0,o,e)},exports.Provider=({store:s,storesById:t,metrics:o,metricsById:r,indexes:l,indexesById:u,relationships:d,relationshipsById:n,queries:i,queriesById:a,checkpoints:p,checkpointsById:c,children:I})=>{const x=e.useContext(h);return ve(h.Provider,{value:ge((()=>[null!=s?s:x[0],Re(Re({},x[1]),t),null!=o?o:x[2],Re(Re({},x[3]),r),null!=l?l:x[4],Re(Re({},x[5]),u),null!=d?d:x[6],Re(Re({},x[7]),n),null!=i?i:x[8],Re(Re({},x[9]),a),null!=p?p:x[10],Re(Re({},x[11]),c)]),[s,t,o,r,l,u,d,n,i,a,p,c,x])},I)},exports.RemoteRowView=({relationshipId:e,localRowId:s,relationships:t,rowComponent:o=Pe,getRowComponentProps:r,debugIds:l})=>{const[u,d]=ye(t),n=null==u?void 0:u.getRemoteTableId(e),i=_(e,s,u);return fe(R(n)||R(i)?null:ve(o,Ce(Re({},Se(r,i)),{key:i,tableId:n,rowId:i,store:d,debugIds:l})),void 0,l,s)},exports.ResultCellView=Me,exports.ResultRowView=De,exports.ResultSortedTableView=e=>{var s=e,{cellId:t,descending:o,offset:r,limit:l}=s,u=ke(s,["cellId","descending","offset","limit"]);return he(u,oe(u.queryId,t,o,r,l,u.queries))},exports.ResultTableView=e=>he(e,te(e.queryId,e.queries)),exports.RowView=Pe,exports.SliceView=Be,exports.SortedTableView=e=>{var s=e,{cellId:t,descending:o,offset:r,limit:l}=s,u=ke(s,["cellId","descending","offset","limit"]);return me(u,J(u.tableId,t,o,r,l,u.store))},exports.TableView=qe,exports.TablesView=({store:e,tableComponent:s=qe,getTableComponentProps:t,separator:o,debugIds:r})=>fe(b(z(e),(o=>ve(s,Ce(Re({},Se(t,o)),{key:o,tableId:o,store:e,debugIds:r})))),o),exports.ValueView=Oe,exports.ValuesView=({store:e,valueComponent:s=Oe,getValueComponentProps:t,separator:o,debugIds:r})=>fe(b(W(e),(o=>ve(s,Ce(Re({},Se(t,o)),{key:o,valueId:o,store:e,debugIds:r})))),o),exports.tableView=me,exports.useAddRowCallback=(e,s,t=[],o,r=v,l=[],u=!0)=>{const d=V(o);return O((t=>C(d,(o=>C(s(t,o),(s=>r(o.addRow(e,s,u),o,s)))))),[d,e,...t,...l,u])},exports.useCell=N,exports.useCellIds=K,exports.useCellIdsListener=(e,s,t,o,r,l)=>F(c,V(l),t,o,[e,s],r),exports.useCellListener=(e,s,t,o,r,l,u)=>F(p,V(u),o,r,[e,s,t],l),exports.useCheckpoint=de,exports.useCheckpointIds=ue,exports.useCheckpointIdsListener=(e,s,t)=>F("CheckpointIds",q(t),e,s),exports.useCheckpointListener=(e,s,t,o)=>F("Checkpoint",q(o),s,t,[e]),exports.useCheckpoints=e=>y(e,10),exports.useCreateCheckpoints=(e,s,t)=>A(e,s,t),exports.useCreateIndexes=(e,s,t)=>A(e,s,t),exports.useCreateMetrics=(e,s,t)=>A(e,s,t),exports.useCreatePersister=(e,s,t=[],o,r=[])=>{const[,l]=j(),u=M((()=>s(e)),[e,...t]);return B((()=>{var e;return e=function*(){yield null==o?void 0:o(u),l(1)},new Promise(((s,t)=>{var o=s=>{try{l(e.next(s))}catch(e){t(e)}},r=s=>{try{l(e.throw(s))}catch(e){t(e)}},l=e=>e.done?s(e.value):Promise.resolve(e.value).then(o,r);l((e=e.apply(void 0,null)).next())})),()=>{u.destroy()}}),[u,...r]),u},exports.useCreateQueries=(e,s,t)=>A(e,s,t),exports.useCreateRelationships=(e,s,t)=>A(e,s,t),exports.useCreateStore=(e,s=[])=>M(e,s),exports.useDelCellCallback=(e,s,t,o,r,l,u)=>Q(r,p,l,u,e,s,t,o),exports.useDelRowCallback=(e,s,t,o,r)=>Q(t,n,o,r,e,s),exports.useDelTableCallback=(e,s,t,o)=>Q(s,l,t,o,e),exports.useDelTablesCallback=(e,s,t)=>Q(e,u,s,t),exports.useDelValueCallback=(e,s,t,o)=>Q(s,I,t,o,e),exports.useDelValuesCallback=(e,s,t)=>Q(e,x,s,t),exports.useGoBackwardCallback=ne,exports.useGoForwardCallback=ie,exports.useGoToCallback=(e,s=[],t,o=v,r=[])=>{const l=q(t);return O((s=>C(l,(t=>C(e(s),(e=>o(t.goTo(e),e)))))),[l,...s,...r])},exports.useIndexes=e=>y(e,4),exports.useLinkedRowIds=se,exports.useLinkedRowIdsListener=(e,s,t,o,r)=>F("LinkedRowIds",T(r),t,o,[e,s]),exports.useLocalRowIds=ee,exports.useLocalRowIdsListener=(e,s,t,o,r)=>F("LocalRowIds",T(r),t,o,[e,s]),exports.useMetric=Y,exports.useMetricListener=(e,s,t,o)=>F("Metric",S(o),s,t,[e]),exports.useMetrics=e=>y(e,2),exports.useQueries=e=>y(e,8),exports.useRedoInformation=e=>{var s;const o=q(e),[,,[r]]=ue(o);return[!R(r),ie(o),r,null!=(s=C(r,(e=>null==o?void 0:o.getCheckpoint(e))))?s:t]},exports.useRelationships=e=>y(e,6),exports.useRemoteRowId=_,exports.useRemoteRowIdListener=(e,s,t,o,r)=>F("RemoteRowId",T(r),t,o,[e,s]),exports.useResultCell=le,exports.useResultCellIds=re,exports.useResultCellIdsListener=(e,s,t,o,r)=>F("ResultCellIds",P(r),t,o,[e,s]),exports.useResultCellListener=(e,s,t,o,r,l)=>F("ResultCell",P(l),o,r,[e,s,t]),exports.useResultRow=(e,s,t)=>E("ResultRow",P(t),{},[e,s]),exports.useResultRowIds=te,exports.useResultRowIdsListener=(e,s,t,o)=>F("ResultRowIds",P(o),s,t,[e]),exports.useResultRowListener=(e,s,t,o,r)=>F("ResultRow",P(r),t,o,[e,s]),exports.useResultSortedRowIds=oe,exports.useResultSortedRowIdsListener=(e,s,t,o,r,l,u,d)=>F("ResultSortedRowIds",P(d),l,u,[e,s,t,o,r]),exports.useResultTable=(e,s)=>E("ResultTable",P(s),{},[e]),exports.useResultTableListener=(e,s,t,o)=>F("ResultTable",P(o),s,t,[e]),exports.useRow=(e,s,t)=>E(n,V(t),{},[e,s]),exports.useRowIds=H,exports.useRowIdsListener=(e,s,t,o,r)=>F(i,V(r),s,t,[e],o),exports.useRowListener=(e,s,t,o,r,l)=>F(n,V(l),t,o,[e,s],r),exports.useSetCellCallback=(e,s,t,o,r,l,u,d)=>G(l,p,o,r,u,d,e,s,t),exports.useSetCheckpointCallback=(e=v,s=[],t,o=v,r=[])=>{const l=q(t);return O((s=>C(l,(t=>{const r=e(s);o(t.addCheckpoint(r),t,r)}))),[l,...s,...r])},exports.useSetPartialRowCallback=(e,s,t,o,r,l,u)=>G(r,"PartialRow",t,o,l,u,e,s),exports.useSetPartialValuesCallback=(e,s,t,o,r)=>G(t,"PartialValues",e,s,o,r),exports.useSetRowCallback=(e,s,t,o,r,l,u)=>G(r,n,t,o,l,u,e,s),exports.useSetTableCallback=(e,s,t,o,r,u)=>G(o,l,s,t,r,u,e),exports.useSetTablesCallback=(e,s,t,o,r)=>G(t,u,e,s,o,r),exports.useSetValueCallback=(e,s,t,o,r,l)=>G(o,I,s,t,r,l,e),exports.useSetValuesCallback=(e,s,t,o,r)=>G(t,x,e,s,o,r),exports.useSliceIds=Z,exports.useSliceIdsListener=(e,s,t,o)=>F("SliceIds",f(o),s,t,[e]),exports.useSliceRowIds=$,exports.useSliceRowIdsListener=(e,s,t,o,r)=>F("SliceRowIds",f(r),t,o,[e,s]),exports.useSortedRowIds=J,exports.useSortedRowIdsListener=(e,s,t,o,r,l,u,d,n)=>F(a,V(n),l,u,[e,s,t,o,r],d),exports.useStore=e=>y(e,0),exports.useTable=(e,s)=>E(l,V(s),{},[e]),exports.useTableCellIds=(e,s)=>E(l+c,V(s),[],[e]),exports.useTableCellIdsListener=(e,s,t,o,r)=>F(l+c,V(r),s,t,[e],o),exports.useTableIds=z,exports.useTableIdsListener=(e,s,t,o)=>F(d,V(o),e,s,[],t),exports.useTableListener=(e,s,t,o,r)=>F(l,V(r),s,t,[e],o),exports.useTables=e=>E(u,V(e),{}),exports.useTablesListener=(e,s,t,o)=>F(u,V(o),e,s,[],t),exports.useUndoInformation=e=>{var s;const o=q(e),[r,l]=ue(o);return[(u=r,!(0==(e=>e.length)(u))),ne(o),l,null!=(s=C(l,(e=>null==o?void 0:o.getCheckpoint(e))))?s:t];var u},exports.useValue=X,exports.useValueIds=W,exports.useValueIdsListener=(e,s,t,o)=>F(w,V(o),e,s,[],t),exports.useValueListener=(e,s,t,o,r)=>F(I,V(r),s,t,[e],o),exports.useValues=e=>E(x,V(e),{}),exports.useValuesListener=(e,s,t,o)=>F(x,V(o),e,s,[],t);
|
|
Binary file
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
const TINYBASE = 'tinybase';
|
|
2
|
+
|
|
1
3
|
const arrayMap = (array, cb) => array.map(cb);
|
|
2
4
|
const arrayLength = (array) => array.length;
|
|
3
|
-
const
|
|
5
|
+
const arrayPush = (array, ...values) => array.push(...values);
|
|
6
|
+
const arrayShift = (array) => array.shift();
|
|
4
7
|
|
|
5
8
|
const isInstanceOf = (thing, cls) => thing instanceof cls;
|
|
6
9
|
const isUndefined = (thing) => thing == void 0;
|
|
@@ -14,10 +17,14 @@ const isObject = (obj) =>
|
|
|
14
17
|
isInstanceOf(obj, object) && obj.constructor == object;
|
|
15
18
|
const objGet = (obj, id) => ifNotUndefined(obj, (obj2) => obj2[id]);
|
|
16
19
|
const objHas = (obj, id) => !isUndefined(objGet(obj, id));
|
|
17
|
-
const objDel = (obj, id) =>
|
|
20
|
+
const objDel = (obj, id) => {
|
|
21
|
+
delete obj[id];
|
|
22
|
+
return obj;
|
|
23
|
+
};
|
|
18
24
|
const objMap = (obj, cb) =>
|
|
19
25
|
arrayMap(object.entries(obj), ([id, value]) => cb(value, id));
|
|
20
|
-
const
|
|
26
|
+
const objSize = (obj) => arrayLength(objIds(obj));
|
|
27
|
+
const objIsEmpty = (obj) => isObject(obj) && objSize(obj) == 0;
|
|
21
28
|
const objEnsure = (obj, id, getDefaultValue) => {
|
|
22
29
|
if (!objHas(obj, id)) {
|
|
23
30
|
obj[id] = getDefaultValue();
|
|
@@ -36,8 +43,23 @@ const createCustomPersister = (
|
|
|
36
43
|
let loadSave = 0;
|
|
37
44
|
let loads = 0;
|
|
38
45
|
let saves = 0;
|
|
39
|
-
let
|
|
46
|
+
let running = 0;
|
|
47
|
+
let listening = 0;
|
|
48
|
+
let action;
|
|
40
49
|
let listeningHandle;
|
|
50
|
+
const scheduledActions = [];
|
|
51
|
+
const run = async () => {
|
|
52
|
+
/* istanbul ignore else */
|
|
53
|
+
if (!running) {
|
|
54
|
+
running = 1;
|
|
55
|
+
while (!isUndefined((action = arrayShift(scheduledActions)))) {
|
|
56
|
+
try {
|
|
57
|
+
await action();
|
|
58
|
+
} catch {}
|
|
59
|
+
}
|
|
60
|
+
running = 0;
|
|
61
|
+
}
|
|
62
|
+
};
|
|
41
63
|
const loadLock = async (actions) => {
|
|
42
64
|
/* istanbul ignore else */
|
|
43
65
|
if (loadSave != 2) {
|
|
@@ -52,18 +74,18 @@ const createCustomPersister = (
|
|
|
52
74
|
const persister = {
|
|
53
75
|
load: async (initialTables = {}, initialValues = {}) => {
|
|
54
76
|
await loadLock(async () => {
|
|
55
|
-
let content;
|
|
56
77
|
try {
|
|
57
|
-
|
|
58
|
-
} catch {
|
|
59
|
-
|
|
78
|
+
store.setContent(await getPersisted());
|
|
79
|
+
} catch {
|
|
80
|
+
store.setContent([initialTables, initialValues]);
|
|
81
|
+
}
|
|
60
82
|
});
|
|
61
83
|
return persister;
|
|
62
84
|
},
|
|
63
85
|
startAutoLoad: async (initialTables = {}, initialValues = {}) => {
|
|
64
86
|
persister.stopAutoLoad();
|
|
65
87
|
await persister.load(initialTables, initialValues);
|
|
66
|
-
listening =
|
|
88
|
+
listening = 1;
|
|
67
89
|
listeningHandle = addPersisterListener(
|
|
68
90
|
async (getContent, getTransactionChanges) => {
|
|
69
91
|
await loadLock(async () => {
|
|
@@ -83,27 +105,33 @@ const createCustomPersister = (
|
|
|
83
105
|
if (listening) {
|
|
84
106
|
delPersisterListener(listeningHandle);
|
|
85
107
|
listeningHandle = void 0;
|
|
86
|
-
listening =
|
|
108
|
+
listening = 0;
|
|
87
109
|
}
|
|
88
110
|
return persister;
|
|
89
111
|
},
|
|
90
112
|
save: async (getTransactionChanges) => {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
loadSave
|
|
94
|
-
|
|
95
|
-
|
|
113
|
+
await persister.schedule(async () => {
|
|
114
|
+
/* istanbul ignore else */
|
|
115
|
+
if (loadSave != 1) {
|
|
116
|
+
loadSave = 2;
|
|
117
|
+
{
|
|
118
|
+
saves++;
|
|
119
|
+
}
|
|
120
|
+
try {
|
|
121
|
+
await setPersisted(store.getContent, getTransactionChanges);
|
|
122
|
+
} catch {}
|
|
123
|
+
loadSave = 0;
|
|
96
124
|
}
|
|
97
|
-
|
|
98
|
-
loadSave = 0;
|
|
99
|
-
}
|
|
125
|
+
});
|
|
100
126
|
return persister;
|
|
101
127
|
},
|
|
102
128
|
startAutoSave: async () => {
|
|
103
129
|
await persister.stopAutoSave().save();
|
|
104
130
|
listenerId = store.addDidFinishTransactionListener(
|
|
105
|
-
(_store, getTransactionChanges) =>
|
|
106
|
-
|
|
131
|
+
(_store, getTransactionChanges) => {
|
|
132
|
+
const transactionChanges = getTransactionChanges();
|
|
133
|
+
persister.save(() => transactionChanges);
|
|
134
|
+
},
|
|
107
135
|
);
|
|
108
136
|
return persister;
|
|
109
137
|
},
|
|
@@ -111,6 +139,11 @@ const createCustomPersister = (
|
|
|
111
139
|
ifNotUndefined(listenerId, store.delListener);
|
|
112
140
|
return persister;
|
|
113
141
|
},
|
|
142
|
+
schedule: async (...actions) => {
|
|
143
|
+
arrayPush(scheduledActions, ...actions);
|
|
144
|
+
await run();
|
|
145
|
+
return persister;
|
|
146
|
+
},
|
|
114
147
|
getStore: () => store,
|
|
115
148
|
destroy: () => persister.stopAutoLoad().stopAutoSave(),
|
|
116
149
|
getStats: () => ({loads, saves}),
|
|
@@ -216,18 +249,13 @@ const docObjMatch = (docObjOrParent, idInParent, obj, set) => {
|
|
|
216
249
|
}
|
|
217
250
|
return changed;
|
|
218
251
|
};
|
|
219
|
-
const createAutomergePersister = (
|
|
220
|
-
store,
|
|
221
|
-
docHandle,
|
|
222
|
-
docObjName = 'tinybase',
|
|
223
|
-
) => {
|
|
252
|
+
const createAutomergePersister = (store, docHandle, docObjName = TINYBASE) => {
|
|
224
253
|
docHandle.change((doc) => (doc[docObjName] = {}));
|
|
225
|
-
const getPersisted = async () =>
|
|
226
|
-
|
|
254
|
+
const getPersisted = async () =>
|
|
255
|
+
objSize(docHandle.doc[docObjName]) == 2
|
|
227
256
|
? getDocContent(docHandle.doc, docObjName)
|
|
228
257
|
: void 0;
|
|
229
|
-
|
|
230
|
-
const setPersisted = async (getContent, getTransactionChanges) => {
|
|
258
|
+
const setPersisted = async (getContent, getTransactionChanges) =>
|
|
231
259
|
docHandle.change((doc) =>
|
|
232
260
|
setTransactionChangesToDoc(
|
|
233
261
|
doc,
|
|
@@ -236,7 +264,6 @@ const createAutomergePersister = (
|
|
|
236
264
|
getTransactionChanges,
|
|
237
265
|
),
|
|
238
266
|
);
|
|
239
|
-
};
|
|
240
267
|
const addPersisterListener = (listener) => {
|
|
241
268
|
const observer = ({doc}) => listener(() => getDocContent(doc, docObjName));
|
|
242
269
|
docHandle.on('change', observer);
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
const arrayReduce = (array, cb, initial) => array.reduce(cb, initial);
|
|
2
|
+
const arrayPush = (array, ...values) => array.push(...values);
|
|
3
|
+
const arrayShift = (array) => array.shift();
|
|
2
4
|
|
|
3
5
|
const jsonString = (obj) =>
|
|
4
6
|
JSON.stringify(obj, (_key, value) =>
|
|
@@ -13,6 +15,7 @@ const jsonString = (obj) =>
|
|
|
13
15
|
)
|
|
14
16
|
: value,
|
|
15
17
|
);
|
|
18
|
+
const jsonParse = JSON.parse;
|
|
16
19
|
const isInstanceOf = (thing, cls) => thing instanceof cls;
|
|
17
20
|
const isUndefined = (thing) => thing == void 0;
|
|
18
21
|
const ifNotUndefined = (value, then, otherwise) =>
|
|
@@ -32,8 +35,23 @@ const createCustomPersister = (
|
|
|
32
35
|
let loadSave = 0;
|
|
33
36
|
let loads = 0;
|
|
34
37
|
let saves = 0;
|
|
35
|
-
let
|
|
38
|
+
let running = 0;
|
|
39
|
+
let listening = 0;
|
|
40
|
+
let action;
|
|
36
41
|
let listeningHandle;
|
|
42
|
+
const scheduledActions = [];
|
|
43
|
+
const run = async () => {
|
|
44
|
+
/* istanbul ignore else */
|
|
45
|
+
if (!running) {
|
|
46
|
+
running = 1;
|
|
47
|
+
while (!isUndefined((action = arrayShift(scheduledActions)))) {
|
|
48
|
+
try {
|
|
49
|
+
await action();
|
|
50
|
+
} catch {}
|
|
51
|
+
}
|
|
52
|
+
running = 0;
|
|
53
|
+
}
|
|
54
|
+
};
|
|
37
55
|
const loadLock = async (actions) => {
|
|
38
56
|
/* istanbul ignore else */
|
|
39
57
|
if (loadSave != 2) {
|
|
@@ -48,18 +66,18 @@ const createCustomPersister = (
|
|
|
48
66
|
const persister = {
|
|
49
67
|
load: async (initialTables = {}, initialValues = {}) => {
|
|
50
68
|
await loadLock(async () => {
|
|
51
|
-
let content;
|
|
52
69
|
try {
|
|
53
|
-
|
|
54
|
-
} catch {
|
|
55
|
-
|
|
70
|
+
store.setContent(await getPersisted());
|
|
71
|
+
} catch {
|
|
72
|
+
store.setContent([initialTables, initialValues]);
|
|
73
|
+
}
|
|
56
74
|
});
|
|
57
75
|
return persister;
|
|
58
76
|
},
|
|
59
77
|
startAutoLoad: async (initialTables = {}, initialValues = {}) => {
|
|
60
78
|
persister.stopAutoLoad();
|
|
61
79
|
await persister.load(initialTables, initialValues);
|
|
62
|
-
listening =
|
|
80
|
+
listening = 1;
|
|
63
81
|
listeningHandle = addPersisterListener(
|
|
64
82
|
async (getContent, getTransactionChanges) => {
|
|
65
83
|
await loadLock(async () => {
|
|
@@ -79,27 +97,33 @@ const createCustomPersister = (
|
|
|
79
97
|
if (listening) {
|
|
80
98
|
delPersisterListener(listeningHandle);
|
|
81
99
|
listeningHandle = void 0;
|
|
82
|
-
listening =
|
|
100
|
+
listening = 0;
|
|
83
101
|
}
|
|
84
102
|
return persister;
|
|
85
103
|
},
|
|
86
104
|
save: async (getTransactionChanges) => {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
loadSave
|
|
90
|
-
|
|
91
|
-
|
|
105
|
+
await persister.schedule(async () => {
|
|
106
|
+
/* istanbul ignore else */
|
|
107
|
+
if (loadSave != 1) {
|
|
108
|
+
loadSave = 2;
|
|
109
|
+
{
|
|
110
|
+
saves++;
|
|
111
|
+
}
|
|
112
|
+
try {
|
|
113
|
+
await setPersisted(store.getContent, getTransactionChanges);
|
|
114
|
+
} catch {}
|
|
115
|
+
loadSave = 0;
|
|
92
116
|
}
|
|
93
|
-
|
|
94
|
-
loadSave = 0;
|
|
95
|
-
}
|
|
117
|
+
});
|
|
96
118
|
return persister;
|
|
97
119
|
},
|
|
98
120
|
startAutoSave: async () => {
|
|
99
121
|
await persister.stopAutoSave().save();
|
|
100
122
|
listenerId = store.addDidFinishTransactionListener(
|
|
101
|
-
(_store, getTransactionChanges) =>
|
|
102
|
-
|
|
123
|
+
(_store, getTransactionChanges) => {
|
|
124
|
+
const transactionChanges = getTransactionChanges();
|
|
125
|
+
persister.save(() => transactionChanges);
|
|
126
|
+
},
|
|
103
127
|
);
|
|
104
128
|
return persister;
|
|
105
129
|
},
|
|
@@ -107,6 +131,11 @@ const createCustomPersister = (
|
|
|
107
131
|
ifNotUndefined(listenerId, store.delListener);
|
|
108
132
|
return persister;
|
|
109
133
|
},
|
|
134
|
+
schedule: async (...actions) => {
|
|
135
|
+
arrayPush(scheduledActions, ...actions);
|
|
136
|
+
await run();
|
|
137
|
+
return persister;
|
|
138
|
+
},
|
|
110
139
|
getStore: () => store,
|
|
111
140
|
destroy: () => persister.stopAutoLoad().stopAutoSave(),
|
|
112
141
|
getStats: () => ({loads, saves}),
|
|
@@ -117,13 +146,13 @@ const createCustomPersister = (
|
|
|
117
146
|
const STORAGE = 'storage';
|
|
118
147
|
const WINDOW = globalThis.window;
|
|
119
148
|
const getStoragePersister = (store, storageName, storage) => {
|
|
120
|
-
const getPersisted = async () =>
|
|
149
|
+
const getPersisted = async () => jsonParse(storage.getItem(storageName));
|
|
121
150
|
const setPersisted = async (getContent) =>
|
|
122
151
|
storage.setItem(storageName, jsonString(getContent()));
|
|
123
152
|
const addPersisterListener = (listener) => {
|
|
124
153
|
const storeListener = (event) => {
|
|
125
154
|
if (event.storageArea === storage && event.key === storageName) {
|
|
126
|
-
listener(() =>
|
|
155
|
+
listener(() => jsonParse(event.newValue));
|
|
127
156
|
}
|
|
128
157
|
};
|
|
129
158
|
WINDOW.addEventListener(STORAGE, storeListener);
|