tinybase 0.9.0 → 0.9.1
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/debug/react.js +4 -4
- package/lib/debug/tinybase.js +4 -4
- package/lib/react.js +1 -1
- package/lib/react.js.gz +0 -0
- package/lib/tinybase.js +1 -1
- package/lib/tinybase.js.gz +0 -0
- package/lib/umd/react.js +1 -1
- package/lib/umd/react.js.gz +0 -0
- package/lib/umd/tinybase.js +1 -1
- package/lib/umd/tinybase.js.gz +0 -0
- package/package.json +2 -2
- package/readme.md +1 -1
package/lib/debug/react.js
CHANGED
|
@@ -16,8 +16,8 @@ const getUndefined = () => void 0;
|
|
|
16
16
|
|
|
17
17
|
const objGet = (obj, id) => ifNotUndefined(obj, (obj2) => obj2[id]);
|
|
18
18
|
|
|
19
|
-
const {createContext, useContext} = React;
|
|
20
|
-
const Context = createContext([]);
|
|
19
|
+
const {createContext, useContext} = React ?? {};
|
|
20
|
+
const Context = createContext?.([]);
|
|
21
21
|
const useThing = (id, offset) => {
|
|
22
22
|
const thingsAndThingsById = useContext(Context);
|
|
23
23
|
return isUndefined(id)
|
|
@@ -47,7 +47,7 @@ const useRelationshipsOrRelationshipsId = (relationshipsOrRelationshipsId) =>
|
|
|
47
47
|
const useCheckpointsOrCheckpointsId = (checkpointsOrCheckpointsId) =>
|
|
48
48
|
useThingOrThingId(checkpointsOrCheckpointsId, 8);
|
|
49
49
|
|
|
50
|
-
const {useCallback, useEffect, useMemo: useMemo$1, useState} = React;
|
|
50
|
+
const {useCallback, useEffect, useMemo: useMemo$1, useState} = React ?? {};
|
|
51
51
|
const useCreate = (store, create, createDeps = []) =>
|
|
52
52
|
useMemo$1(() => create(store), [store, ...createDeps]);
|
|
53
53
|
const useListenable = (listenable, thing, defaulted, ...args) => {
|
|
@@ -658,7 +658,7 @@ const useCreatePersister = (
|
|
|
658
658
|
return persister;
|
|
659
659
|
};
|
|
660
660
|
|
|
661
|
-
const {createElement, useMemo} = React;
|
|
661
|
+
const {createElement, useMemo} = React ?? {};
|
|
662
662
|
const useRelationshipsStoreTableId = (relationships) => {
|
|
663
663
|
const resolvedRelationships =
|
|
664
664
|
useRelationshipsOrRelationshipsId(relationships);
|
package/lib/debug/tinybase.js
CHANGED
|
@@ -966,8 +966,8 @@ const createRemotePersister = (
|
|
|
966
966
|
);
|
|
967
967
|
};
|
|
968
968
|
|
|
969
|
-
const {createContext, useContext} = React;
|
|
970
|
-
const Context = createContext([]);
|
|
969
|
+
const {createContext, useContext} = React ?? {};
|
|
970
|
+
const Context = createContext?.([]);
|
|
971
971
|
const useThing = (id, offset) => {
|
|
972
972
|
const thingsAndThingsById = useContext(Context);
|
|
973
973
|
return isUndefined(id)
|
|
@@ -997,7 +997,7 @@ const useRelationshipsOrRelationshipsId = (relationshipsOrRelationshipsId) =>
|
|
|
997
997
|
const useCheckpointsOrCheckpointsId = (checkpointsOrCheckpointsId) =>
|
|
998
998
|
useThingOrThingId(checkpointsOrCheckpointsId, 8);
|
|
999
999
|
|
|
1000
|
-
const {useCallback, useEffect, useMemo: useMemo$1, useState} = React;
|
|
1000
|
+
const {useCallback, useEffect, useMemo: useMemo$1, useState} = React ?? {};
|
|
1001
1001
|
const useCreate = (store, create, createDeps = []) =>
|
|
1002
1002
|
useMemo$1(() => create(store), [store, ...createDeps]);
|
|
1003
1003
|
const useListenable = (listenable, thing, defaulted, ...args) => {
|
|
@@ -1608,7 +1608,7 @@ const useCreatePersister = (
|
|
|
1608
1608
|
return persister;
|
|
1609
1609
|
};
|
|
1610
1610
|
|
|
1611
|
-
const {createElement, useMemo} = React;
|
|
1611
|
+
const {createElement, useMemo} = React ?? {};
|
|
1612
1612
|
const useRelationshipsStoreTableId = (relationships) => {
|
|
1613
1613
|
const resolvedRelationships =
|
|
1614
1614
|
useRelationshipsOrRelationshipsId(relationships);
|
package/lib/react.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"react";const o=e=>typeof e,t=o(""),d=(e,o)=>e.map(o),s=e=>null==e,r=(e,o,t)=>s(e)?t?.():o(e),n=()=>{},{createContext:i,useContext:l}=e,I=i([]),c=(e,o)=>{const t=l(I);return s(e)?t[o]:((e,o)=>r(e,(e=>e[o])))(t[o+1],e)},a=(e,d)=>{const r=c(e,d);return s(e)||(e=>o(e)==t)(e)?r:e},p=e=>c(e,0),u=e=>c(e,2),b=e=>c(e,4),g=e=>c(e,6),w=e=>c(e,8),C=e=>a(e,0),m=e=>a(e,2),k=e=>a(e,4),R=e=>a(e,6),h=e=>a(e,8),{useCallback:v,useEffect:y,useMemo:T,useState:x}=e,P=(e,o,t=[])=>T((()=>o(e)),[e,...t]),L=(e,o,t,...d)=>{const s=o?.["get"+e]??(()=>t),r=s(...d),[,n]=x(r);return y((()=>{const t=o?.[`add${e}Listener`]?.(...d,(()=>n(s(...d))),!1);return()=>o?.delListener(t)}),[o,e,n,s,...d]),r},S=(e,o,t,d=[],s,...r)=>{y((()=>{const d=o?.[`add${e}Listener`]?.(...r,t,s);return()=>o?.delListener(d)}),[o,e,...d,s,...r])},B=(e,o,t,d=[],s=n,i=[],...l)=>{const I=C(e);return v((e=>r(I,(d=>r(t(e,d),(e=>s(d["set"+o](...l,e),e)))))),[I,o,...d,...i,...l])},f=(e,o,t=n,d=[],...s)=>{const r=C(e);return v((()=>t(r?.["del"+o](...s))),[r,o,...d,...s])},M=(e,o,t)=>{const d=h(e);return v((()=>d?.[o](t)),[d,o,t])},A=(e,o=[])=>T(e,o),E=e=>L("Tables",C(e),{}),$=e=>L("TableIds",C(e),[]),F=(e,o)=>L("Table",C(o),{},e),j=(e,o)=>L("RowIds",C(o),[],e),q=(e,o,t)=>L("Row",C(t),{},e,o),z=(e,o,t)=>L("CellIds",C(t),[],e,o),D=(e,o,t,d)=>L("Cell",C(d),void 0,e,o,t),G=(e,o,t,d,s)=>B(t,"Tables",e,o,d,s),H=(e,o,t,d,s,r)=>B(d,"Table",o,t,s,r,e),J=(e,o,t,d,s,r,n)=>B(s,"Row",t,d,r,n,e,o),K=(e,o,t=[],d,s=n,i=[])=>{const l=C(d);return v((t=>r(l,(d=>r(o(t,d),(o=>s(d.addRow(e,o),d,o)))))),[l,e,...t,...i])},N=(e,o,t,d,s,r,n)=>B(s,"PartialRow",t,d,r,n,e,o),O=(e,o,t,d,s,r,n,i)=>B(r,"Cell",d,s,n,i,e,o,t),Q=(e,o,t)=>f(e,"Tables",o,t),U=(e,o,t,d)=>f(o,"Table",t,d,e),V=(e,o,t,d,s)=>f(t,"Row",d,s,e,o),W=(e,o,t,d,s,r,n)=>f(s,"Cell",r,n,e,o,t,d),X=(e,o,t,d)=>S("Tables",C(d),e,o,t),Y=(e,o,t,d)=>S("TableIds",C(d),e,o,t),Z=(e,o,t,d,s)=>S("Table",C(s),o,t,d,e),_=(e,o,t,d,s)=>S("RowIds",C(s),o,t,d,e),ee=(e,o,t,d,s,r)=>S("Row",C(r),t,d,s,e,o),oe=(e,o,t,d,s,r)=>S("CellIds",C(r),t,d,s,e,o),te=(e,o,t,d,s,r,n)=>S("Cell",C(n),d,s,r,e,o,t),de=(e,o,t)=>P(e,o,t),se=(e,o)=>L("Metric",m(o),void 0,e),re=(e,o,t,d)=>S("Metric",m(d),o,t,void 0,e),ne=(e,o,t)=>P(e,o,t),ie=(e,o)=>L("SliceIds",k(o),[],e),le=(e,o,t)=>L("SliceRowIds",k(t),[],e,o),Ie=(e,o,t,d)=>S("SliceIds",k(d),o,t,void 0,e),ce=(e,o,t,d,s)=>S("SliceRowIds",k(s),t,d,void 0,e,o),ae=(e,o,t)=>P(e,o,t),pe=(e,o,t)=>L("RemoteRowId",R(t),void 0,e,o),ue=(e,o,t)=>L("LocalRowIds",R(t),[],e,o),be=(e,o,t)=>L("LinkedRowIds",R(t),[],e,o),ge=(e,o,t,d,s)=>S("RemoteRowId",R(s),t,d,void 0,e,o),we=(e,o,t,d,s)=>S("LocalRowIds",R(s),t,d,void 0,e,o),Ce=(e,o,t,d,s)=>S("LinkedRowIds",R(s),t,d,void 0,e,o),me=(e,o,t)=>P(e,o,t),ke=e=>L("CheckpointIds",h(e),[[],void 0,[]]),Re=(e,o)=>L("Checkpoint",h(o),void 0,e),he=(e=n,o=[],t,d=n,s=[])=>{const i=h(t);return v((o=>r(i,(t=>{const s=e(o);d(t.addCheckpoint(s),t,s)}))),[i,...o,...s])},ve=e=>M(e,"goBackward"),ye=e=>M(e,"goForward"),Te=(e,o=[],t,d=n,s=[])=>{const i=h(t);return v((o=>r(i,(t=>r(e(o),(e=>d(t.goTo(e),e)))))),[i,...o,...s])},xe=e=>{const o=h(e),[t,d]=ke(o);return[(s=t,!(0==(e=>e.length)(s))),ve(o),d,r(d,(e=>o?.getCheckpoint(e)))??""];var s},Pe=e=>{const o=h(e),[,,[t]]=ke(o);return[!s(t),ye(o),t,r(t,(e=>o?.getCheckpoint(e)))??""]},Le=(e,o,t)=>S("CheckpointIds",h(t),e,o),Se=(e,o,t,d)=>S("Checkpoint",h(d),o,t,void 0,e),Be=(e,o,t=[],d,s=[])=>{const[,r]=x(),n=T((()=>o(e)),[e,...t]);return y((()=>{(async()=>{await(d?.(n)),r(1)})()}),[n,...s]),n},{createElement:fe,useMemo:Me}=e,Ae=e=>{const o=R(e);return[o,o?.getStore()]},Ee=({relationshipId:e,relationships:o,rowComponent:t=De,getRowComponentProps:s,separator:r,debugIds:n},i,l)=>{const[I,c]=Ae(o),a=I?.getLocalTableId(e),p=i(e,l,I);return qe(d(p,(e=>fe(t,{...Fe(s,e),key:e,tableId:a,rowId:e,store:c,debugIds:n}))),r,n,l)},$e=e=>({checkpoints:o,checkpointComponent:t=Ve,getCheckpointComponentProps:s,separator:r,debugIds:n})=>{const i=h(o);return qe(d(e(ke(i)),(e=>fe(t,{...Fe(s,e),key:e,checkpoints:i,checkpointId:e,debugIds:n}))),r)},Fe=(e,o)=>s(e)?{}:e(o),je=({store:e,storesById:o,metrics:t,metricsById:d,indexes:s,indexesById:r,relationships:n,relationshipsById:i,checkpoints:l,checkpointsById:c,children:a})=>fe(I.Provider,{value:Me((()=>[e,o,t,d,s,r,n,i,l,c]),[e,o,t,d,s,r,n,i,l,c])},a),qe=(e,o,t,r)=>{const n=s(o)||!Array.isArray(e)?e:d(e,((e,t)=>t>0?[o,e]:e));return t?[r,":{",n,"}"]:n},ze=({tableId:e,rowId:o,cellId:t,store:d,debugIds:s})=>qe(""+(D(e,o,t,d)??""),void 0,s,t),De=({tableId:e,rowId:o,store:t,cellComponent:s=ze,getCellComponentProps:r,separator:n,debugIds:i})=>qe(d(z(e,o,t),(d=>fe(s,{...Fe(r,d),key:d,tableId:e,rowId:o,cellId:d,store:t,debugIds:i}))),n,i,o),Ge=({tableId:e,store:o,rowComponent:t=De,getRowComponentProps:s,separator:r,debugIds:n})=>qe(d(j(e,o),(d=>fe(t,{...Fe(s,d),key:d,tableId:e,rowId:d,store:o,debugIds:n}))),r,n,e),He=({store:e,tableComponent:o=Ge,getTableComponentProps:t,separator:s,debugIds:r})=>qe(d($(e),(d=>fe(o,{...Fe(t,d),key:d,tableId:d,store:e,debugIds:r}))),s),Je=({metricId:e,metrics:o,debugIds:t})=>qe(se(e,o)??"",void 0,t,e),Ke=({indexId:e,sliceId:o,indexes:t,rowComponent:s=De,getRowComponentProps:r,separator:n,debugIds:i})=>{const l=k(t),I=l?.getStore(),c=l?.getTableId(e),a=le(e,o,l);return qe(d(a,(e=>fe(s,{...Fe(r,e),key:e,tableId:c,rowId:e,store:I,debugIds:i}))),n,i,o)},Ne=({indexId:e,indexes:o,sliceComponent:t=Ke,getSliceComponentProps:s,separator:r,debugIds:n})=>qe(d(ie(e,o),(d=>fe(t,{...Fe(s,d),key:d,indexId:e,sliceId:d,indexes:o,debugIds:n}))),r,n,e),Oe=({relationshipId:e,localRowId:o,relationships:t,rowComponent:d=De,getRowComponentProps:r,debugIds:n})=>{const[i,l]=Ae(t),I=i?.getRemoteTableId(e),c=pe(e,o,i);return qe(s(I)||s(c)?null:fe(d,{...Fe(r,c),key:c,tableId:I,rowId:c,store:l,debugIds:n}),void 0,n,o)},Qe=e=>Ee(e,ue,e.remoteRowId),Ue=e=>Ee(e,be,e.firstRowId),Ve=({checkpoints:e,checkpointId:o,debugIds:t})=>qe(Re(o,e)??"",void 0,t,o),We=$e((e=>e[0])),Xe=$e((e=>s(e[1])?[]:[e[1]])),Ye=$e((e=>e[2]));export{We as BackwardCheckpointsView,ze as CellView,Ve as CheckpointView,Xe as CurrentCheckpointView,Ye as ForwardCheckpointsView,Ne as IndexView,Ue as LinkedRowsView,Qe as LocalRowsView,Je as MetricView,je as Provider,Oe as RemoteRowView,De as RowView,Ke as SliceView,Ge as TableView,He as TablesView,K as useAddRowCallback,D as useCell,z as useCellIds,oe as useCellIdsListener,te as useCellListener,Re as useCheckpoint,ke as useCheckpointIds,Le as useCheckpointIdsListener,Se as useCheckpointListener,w as useCheckpoints,me as useCreateCheckpoints,ne as useCreateIndexes,de as useCreateMetrics,Be as useCreatePersister,ae as useCreateRelationships,A as useCreateStore,W as useDelCellCallback,V as useDelRowCallback,U as useDelTableCallback,Q as useDelTablesCallback,ve as useGoBackwardCallback,ye as useGoForwardCallback,Te as useGoToCallback,b as useIndexes,be as useLinkedRowIds,Ce as useLinkedRowIdsListener,ue as useLocalRowIds,we as useLocalRowIdsListener,se as useMetric,re as useMetricListener,u as useMetrics,Pe as useRedoInformation,g as useRelationships,pe as useRemoteRowId,ge as useRemoteRowIdListener,q as useRow,j as useRowIds,_ as useRowIdsListener,ee as useRowListener,O as useSetCellCallback,he as useSetCheckpointCallback,N as useSetPartialRowCallback,J as useSetRowCallback,H as useSetTableCallback,G as useSetTablesCallback,ie as useSliceIds,Ie as useSliceIdsListener,le as useSliceRowIds,ce as useSliceRowIdsListener,p as useStore,F as useTable,$ as useTableIds,Y as useTableIdsListener,Z as useTableListener,E as useTables,X as useTablesListener,xe as useUndoInformation};
|
|
1
|
+
import e from"react";const o=e=>typeof e,t=o(""),d=(e,o)=>e.map(o),s=e=>null==e,r=(e,o,t)=>s(e)?t?.():o(e),n=()=>{},{createContext:i,useContext:l}=e??{},I=i?.([]),c=(e,o)=>{const t=l(I);return s(e)?t[o]:((e,o)=>r(e,(e=>e[o])))(t[o+1],e)},a=(e,d)=>{const r=c(e,d);return s(e)||(e=>o(e)==t)(e)?r:e},p=e=>c(e,0),u=e=>c(e,2),b=e=>c(e,4),g=e=>c(e,6),w=e=>c(e,8),C=e=>a(e,0),m=e=>a(e,2),k=e=>a(e,4),R=e=>a(e,6),h=e=>a(e,8),{useCallback:v,useEffect:y,useMemo:T,useState:x}=e??{},P=(e,o,t=[])=>T((()=>o(e)),[e,...t]),L=(e,o,t,...d)=>{const s=o?.["get"+e]??(()=>t),r=s(...d),[,n]=x(r);return y((()=>{const t=o?.[`add${e}Listener`]?.(...d,(()=>n(s(...d))),!1);return()=>o?.delListener(t)}),[o,e,n,s,...d]),r},S=(e,o,t,d=[],s,...r)=>{y((()=>{const d=o?.[`add${e}Listener`]?.(...r,t,s);return()=>o?.delListener(d)}),[o,e,...d,s,...r])},B=(e,o,t,d=[],s=n,i=[],...l)=>{const I=C(e);return v((e=>r(I,(d=>r(t(e,d),(e=>s(d["set"+o](...l,e),e)))))),[I,o,...d,...i,...l])},f=(e,o,t=n,d=[],...s)=>{const r=C(e);return v((()=>t(r?.["del"+o](...s))),[r,o,...d,...s])},M=(e,o,t)=>{const d=h(e);return v((()=>d?.[o](t)),[d,o,t])},A=(e,o=[])=>T(e,o),E=e=>L("Tables",C(e),{}),$=e=>L("TableIds",C(e),[]),F=(e,o)=>L("Table",C(o),{},e),j=(e,o)=>L("RowIds",C(o),[],e),q=(e,o,t)=>L("Row",C(t),{},e,o),z=(e,o,t)=>L("CellIds",C(t),[],e,o),D=(e,o,t,d)=>L("Cell",C(d),void 0,e,o,t),G=(e,o,t,d,s)=>B(t,"Tables",e,o,d,s),H=(e,o,t,d,s,r)=>B(d,"Table",o,t,s,r,e),J=(e,o,t,d,s,r,n)=>B(s,"Row",t,d,r,n,e,o),K=(e,o,t=[],d,s=n,i=[])=>{const l=C(d);return v((t=>r(l,(d=>r(o(t,d),(o=>s(d.addRow(e,o),d,o)))))),[l,e,...t,...i])},N=(e,o,t,d,s,r,n)=>B(s,"PartialRow",t,d,r,n,e,o),O=(e,o,t,d,s,r,n,i)=>B(r,"Cell",d,s,n,i,e,o,t),Q=(e,o,t)=>f(e,"Tables",o,t),U=(e,o,t,d)=>f(o,"Table",t,d,e),V=(e,o,t,d,s)=>f(t,"Row",d,s,e,o),W=(e,o,t,d,s,r,n)=>f(s,"Cell",r,n,e,o,t,d),X=(e,o,t,d)=>S("Tables",C(d),e,o,t),Y=(e,o,t,d)=>S("TableIds",C(d),e,o,t),Z=(e,o,t,d,s)=>S("Table",C(s),o,t,d,e),_=(e,o,t,d,s)=>S("RowIds",C(s),o,t,d,e),ee=(e,o,t,d,s,r)=>S("Row",C(r),t,d,s,e,o),oe=(e,o,t,d,s,r)=>S("CellIds",C(r),t,d,s,e,o),te=(e,o,t,d,s,r,n)=>S("Cell",C(n),d,s,r,e,o,t),de=(e,o,t)=>P(e,o,t),se=(e,o)=>L("Metric",m(o),void 0,e),re=(e,o,t,d)=>S("Metric",m(d),o,t,void 0,e),ne=(e,o,t)=>P(e,o,t),ie=(e,o)=>L("SliceIds",k(o),[],e),le=(e,o,t)=>L("SliceRowIds",k(t),[],e,o),Ie=(e,o,t,d)=>S("SliceIds",k(d),o,t,void 0,e),ce=(e,o,t,d,s)=>S("SliceRowIds",k(s),t,d,void 0,e,o),ae=(e,o,t)=>P(e,o,t),pe=(e,o,t)=>L("RemoteRowId",R(t),void 0,e,o),ue=(e,o,t)=>L("LocalRowIds",R(t),[],e,o),be=(e,o,t)=>L("LinkedRowIds",R(t),[],e,o),ge=(e,o,t,d,s)=>S("RemoteRowId",R(s),t,d,void 0,e,o),we=(e,o,t,d,s)=>S("LocalRowIds",R(s),t,d,void 0,e,o),Ce=(e,o,t,d,s)=>S("LinkedRowIds",R(s),t,d,void 0,e,o),me=(e,o,t)=>P(e,o,t),ke=e=>L("CheckpointIds",h(e),[[],void 0,[]]),Re=(e,o)=>L("Checkpoint",h(o),void 0,e),he=(e=n,o=[],t,d=n,s=[])=>{const i=h(t);return v((o=>r(i,(t=>{const s=e(o);d(t.addCheckpoint(s),t,s)}))),[i,...o,...s])},ve=e=>M(e,"goBackward"),ye=e=>M(e,"goForward"),Te=(e,o=[],t,d=n,s=[])=>{const i=h(t);return v((o=>r(i,(t=>r(e(o),(e=>d(t.goTo(e),e)))))),[i,...o,...s])},xe=e=>{const o=h(e),[t,d]=ke(o);return[(s=t,!(0==(e=>e.length)(s))),ve(o),d,r(d,(e=>o?.getCheckpoint(e)))??""];var s},Pe=e=>{const o=h(e),[,,[t]]=ke(o);return[!s(t),ye(o),t,r(t,(e=>o?.getCheckpoint(e)))??""]},Le=(e,o,t)=>S("CheckpointIds",h(t),e,o),Se=(e,o,t,d)=>S("Checkpoint",h(d),o,t,void 0,e),Be=(e,o,t=[],d,s=[])=>{const[,r]=x(),n=T((()=>o(e)),[e,...t]);return y((()=>{(async()=>{await(d?.(n)),r(1)})()}),[n,...s]),n},{createElement:fe,useMemo:Me}=e??{},Ae=e=>{const o=R(e);return[o,o?.getStore()]},Ee=({relationshipId:e,relationships:o,rowComponent:t=De,getRowComponentProps:s,separator:r,debugIds:n},i,l)=>{const[I,c]=Ae(o),a=I?.getLocalTableId(e),p=i(e,l,I);return qe(d(p,(e=>fe(t,{...Fe(s,e),key:e,tableId:a,rowId:e,store:c,debugIds:n}))),r,n,l)},$e=e=>({checkpoints:o,checkpointComponent:t=Ve,getCheckpointComponentProps:s,separator:r,debugIds:n})=>{const i=h(o);return qe(d(e(ke(i)),(e=>fe(t,{...Fe(s,e),key:e,checkpoints:i,checkpointId:e,debugIds:n}))),r)},Fe=(e,o)=>s(e)?{}:e(o),je=({store:e,storesById:o,metrics:t,metricsById:d,indexes:s,indexesById:r,relationships:n,relationshipsById:i,checkpoints:l,checkpointsById:c,children:a})=>fe(I.Provider,{value:Me((()=>[e,o,t,d,s,r,n,i,l,c]),[e,o,t,d,s,r,n,i,l,c])},a),qe=(e,o,t,r)=>{const n=s(o)||!Array.isArray(e)?e:d(e,((e,t)=>t>0?[o,e]:e));return t?[r,":{",n,"}"]:n},ze=({tableId:e,rowId:o,cellId:t,store:d,debugIds:s})=>qe(""+(D(e,o,t,d)??""),void 0,s,t),De=({tableId:e,rowId:o,store:t,cellComponent:s=ze,getCellComponentProps:r,separator:n,debugIds:i})=>qe(d(z(e,o,t),(d=>fe(s,{...Fe(r,d),key:d,tableId:e,rowId:o,cellId:d,store:t,debugIds:i}))),n,i,o),Ge=({tableId:e,store:o,rowComponent:t=De,getRowComponentProps:s,separator:r,debugIds:n})=>qe(d(j(e,o),(d=>fe(t,{...Fe(s,d),key:d,tableId:e,rowId:d,store:o,debugIds:n}))),r,n,e),He=({store:e,tableComponent:o=Ge,getTableComponentProps:t,separator:s,debugIds:r})=>qe(d($(e),(d=>fe(o,{...Fe(t,d),key:d,tableId:d,store:e,debugIds:r}))),s),Je=({metricId:e,metrics:o,debugIds:t})=>qe(se(e,o)??"",void 0,t,e),Ke=({indexId:e,sliceId:o,indexes:t,rowComponent:s=De,getRowComponentProps:r,separator:n,debugIds:i})=>{const l=k(t),I=l?.getStore(),c=l?.getTableId(e),a=le(e,o,l);return qe(d(a,(e=>fe(s,{...Fe(r,e),key:e,tableId:c,rowId:e,store:I,debugIds:i}))),n,i,o)},Ne=({indexId:e,indexes:o,sliceComponent:t=Ke,getSliceComponentProps:s,separator:r,debugIds:n})=>qe(d(ie(e,o),(d=>fe(t,{...Fe(s,d),key:d,indexId:e,sliceId:d,indexes:o,debugIds:n}))),r,n,e),Oe=({relationshipId:e,localRowId:o,relationships:t,rowComponent:d=De,getRowComponentProps:r,debugIds:n})=>{const[i,l]=Ae(t),I=i?.getRemoteTableId(e),c=pe(e,o,i);return qe(s(I)||s(c)?null:fe(d,{...Fe(r,c),key:c,tableId:I,rowId:c,store:l,debugIds:n}),void 0,n,o)},Qe=e=>Ee(e,ue,e.remoteRowId),Ue=e=>Ee(e,be,e.firstRowId),Ve=({checkpoints:e,checkpointId:o,debugIds:t})=>qe(Re(o,e)??"",void 0,t,o),We=$e((e=>e[0])),Xe=$e((e=>s(e[1])?[]:[e[1]])),Ye=$e((e=>e[2]));export{We as BackwardCheckpointsView,ze as CellView,Ve as CheckpointView,Xe as CurrentCheckpointView,Ye as ForwardCheckpointsView,Ne as IndexView,Ue as LinkedRowsView,Qe as LocalRowsView,Je as MetricView,je as Provider,Oe as RemoteRowView,De as RowView,Ke as SliceView,Ge as TableView,He as TablesView,K as useAddRowCallback,D as useCell,z as useCellIds,oe as useCellIdsListener,te as useCellListener,Re as useCheckpoint,ke as useCheckpointIds,Le as useCheckpointIdsListener,Se as useCheckpointListener,w as useCheckpoints,me as useCreateCheckpoints,ne as useCreateIndexes,de as useCreateMetrics,Be as useCreatePersister,ae as useCreateRelationships,A as useCreateStore,W as useDelCellCallback,V as useDelRowCallback,U as useDelTableCallback,Q as useDelTablesCallback,ve as useGoBackwardCallback,ye as useGoForwardCallback,Te as useGoToCallback,b as useIndexes,be as useLinkedRowIds,Ce as useLinkedRowIdsListener,ue as useLocalRowIds,we as useLocalRowIdsListener,se as useMetric,re as useMetricListener,u as useMetrics,Pe as useRedoInformation,g as useRelationships,pe as useRemoteRowId,ge as useRemoteRowIdListener,q as useRow,j as useRowIds,_ as useRowIdsListener,ee as useRowListener,O as useSetCellCallback,he as useSetCheckpointCallback,N as useSetPartialRowCallback,J as useSetRowCallback,H as useSetTableCallback,G as useSetTablesCallback,ie as useSliceIds,Ie as useSliceIdsListener,le as useSliceRowIds,ce as useSliceRowIdsListener,p as useStore,F as useTable,$ as useTableIds,Y as useTableIdsListener,Z as useTableListener,E as useTables,X as useTablesListener,xe as useUndoInformation};
|
package/lib/react.js.gz
CHANGED
|
Binary file
|
package/lib/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{promises as e,watch as t}from"fs";import o from"react";const s=e=>typeof e,n=s(""),r=s(!0),d=s(0),a=s(s),i=(e,t)=>e.includes(t),l=(e,t)=>e.every(((o,s)=>0==s||t(e[s-1],o)<=0)),c=(e,t)=>e.sort(t),u=(e,t)=>e.forEach(t),I=(e,t)=>e.map(t),p=e=>b(e,((e,t)=>e+t),0),g=e=>e.length,w=e=>0==g(e),b=(e,t,o)=>e.reduce(t,o),h=e=>e.slice(1),v=e=>JSON.stringify(e,((e,t)=>m(t,Map)?b([...t],((e,[t,o])=>(e[t]=o,e)),{}):t)),C=JSON.parse,L=Math.max,R=Math.min,f=isFinite,m=(e,t)=>e instanceof t,y=e=>null==e,k=(e,t,o)=>y(e)?o?.():t(e),T=e=>e==n||e==r,S=e=>s(e)==n,x=e=>s(e)==a,M=()=>{},A=e=>e.size,P=(e,t)=>e?.has(t)??!1,E=e=>y(e)||0==A(e),B=e=>[...e?.values()??[]],D=e=>e.clear(),J=(e,t)=>e?.forEach(t),F=(e,t)=>e?.delete(t),z=e=>new Map(e),N=(e=z)=>[e(),e()],O=e=>[...e?.keys()??[]],j=(e,t)=>e?.get(t),$=(e,t)=>J(e,((e,o)=>t(o,e))),H=(e,t,o)=>y(o)?(F(e,t),e):e?.set(t,o),W=(e,t,o,s)=>(P(e,t)||(s?.(o),e.set(t,o)),j(e,t)),q=(e,t)=>{const o={},s=t??(e=>e);return J(e,((e,t)=>o[t]=s(e))),o},G=(e,t)=>{const o=z(),s=t??(e=>e);return J(e,((e,t)=>o.set(t,s(e)))),o},K=e=>new Set(e),Q=(e,t)=>e?.add(t),U=(e,t,o)=>{const s=e.hasRow,n=z(),r=z(),d=z(),a=z(),i=z(),l=t=>k(j(i,t),(o=>{J(o,e.delListener),H(i,t)})),c=e=>{H(n,e),H(r,e),H(d,e),H(a,e),l(e)};return[()=>e,()=>O(n),e=>j(n,e),e=>j(r,e),(e,t)=>H(r,e,t),(c,I,p,g,w)=>{const b=z(),h=z();H(n,c,I),P(r,c)||(H(r,c,t()),H(d,c,z()),H(a,c,z()));const v=j(d,c),C=j(a,c),L=t=>{const n=o=>e.getCell(I,t,o),r=j(v,t),d=s(I,t)?o(g(n,t)):void 0;if(r!=d&&H(b,t,[r,d]),!y(w)){const e=j(C,t),o=s(I,t)?w(n,t):void 0;e!=o&&H(h,t,o)}},R=e=>{p((()=>{J(b,(([,e],t)=>H(v,t,e))),J(h,((e,t)=>H(C,t,e)))}),b,h,v,C,e),D(b),D(h)};$(v,L),e.hasTable(I)&&u(e.getRowIds(I),(e=>{P(v,e)||L(e)})),R(!0),l(c),H(i,c,K([e.addRowListener(I,null,((e,t,o)=>L(o))),e.addTableListener(I,(()=>R()))]))},c,()=>$(i,c)]},V=(e,t)=>S(e)?t=>t(e):e??(()=>t??""),X=e=>{const t=new WeakMap;return o=>(t.has(o)||t.set(o,e(o)),t.get(o))},Y=(e,t,o)=>g(o)<2?Q(w(o)?e:W(e,o[0],K()),t):Y(W(e,o[0],z()),t,h(o)),Z=e=>{const t=(o,s,...n)=>k(o,(o=>w(n)?e(o,s):u([n[0],null],(e=>t(j(o,e),s,...h(n))))));return t},_=e=>{let t,o=0;const s=[],n=z();return[(r,d,a=[])=>{t??(t=e());const i=s.pop()??""+o++;return H(n,i,[r,d,a]),Y(d,i,a),i},(e,o=[],...s)=>Z(J)(e,(e=>k(j(n,e),(([e])=>e(t,...o,...s)))),...o),e=>k(j(n,e),(([,t,o])=>(Z(F)(t,e,...o),H(n,e),g(s)<1e3&&s.push(e),o)),(()=>[])),(e,o,s)=>k(j(n,e),(([e,,n])=>{const r=(...d)=>{const a=g(d);a==g(n)?e(t,...d,...s(d)):y(n[a])?u(o[a](...d),(e=>r(...d,e))):r(...d,n[a])};r()}))]},ee=Object,te=ee.keys,oe=ee.isFrozen,se=ee.freeze,ne=(e,t)=>k(e,(e=>e[t])),re=(e,t)=>!y(ne(e,t)),de=(e,t)=>delete e[t],ae=(e,t)=>u(ee.entries(e),(([e,o])=>t(o,e))),ie=X((e=>{let t,o,s,n=100,r=z(),d=1;const a=K(),l=z(),[c,I,p]=_((()=>F)),b=z(),h=z(),v=[],C=[],L=(t,o)=>{d=0,e.transaction((()=>J(j(b,o),((o,s)=>J(o,((o,n)=>J(o,((o,r)=>y(o[t])?e.delCell(s,n,r,!0):e.setCell(s,n,r,o[t]))))))))),d=1},R=e=>{H(b,e),H(h,e),I(l,[e])},f=(e,t)=>u(((e,t)=>e.splice(0,t))(e,t??g(e)),R),m=()=>f(v,g(v)-n),T=e.addCellListener(null,null,null,((e,o,n,a,i,l)=>{if(d){k(t,(()=>{v.push(t),m(),f(C),t=void 0,s=1}));const e=W(r,o,z()),d=W(e,n,z()),c=W(d,a,[void 0,void 0],(e=>e[0]=l));c[1]=i,c[0]===c[1]&&E(H(d,a))&&E(H(e,n))&&E(H(r,o))&&(t=v.pop(),s=1),A()}})),S=(e="")=>(y(t)&&(t=""+o++,H(b,t,r),D(t,e),r=z(),s=1),t),x=()=>{w(v)||(C.unshift(S()),L(0,t),t=v.pop(),s=1)},M=()=>{w(C)||(v.push(t),t=C.shift(),L(1,t),s=1)},A=()=>{s&&(I(a),s=0)},B=e=>{const t=S(e);return A(),t},D=(e,t)=>(P(b,e)&&j(h,e)!==t&&(H(h,e,t),I(l,[e])),F),F={setSize:e=>(n=e,m(),F),addCheckpoint:B,setCheckpoint:D,getStore:()=>e,getCheckpointIds:()=>[[...v],t,[...C]],getCheckpoint:e=>j(h,e),goBackward:()=>(x(),A(),F),goForward:()=>(M(),A(),F),goTo:e=>{const o=i(v,e)?x:i(C,e)?M:null;for(;!y(o)&&e!=t;)o();return A(),F},addCheckpointIdsListener:e=>c(e,a),addCheckpointListener:(e,t)=>c(t,l,[e]),delListener:e=>(p(e),F),clear:()=>(f(v),f(C),y(t)||R(t),t=void 0,o=0,B(),F),destroy:()=>{e.delListener(T)},getListenerStats:()=>({})};return se(F.clear())})),le=X((e=>{const t=z(),o=z(),[s,n,r,d,a,i,u,I]=U(e,z,(e=>y(e)?"":e+"")),[p,g,w]=_((()=>b)),b={setIndexDefinition:(e,s,n,r,u,I=ce)=>{const p=y(u)?void 0:([e],[t])=>u(e,t);return i(e,s,((s,n,i,u,w)=>{let b=0;const h=K(),v=K(),C=d(e);if(J(n,(([e,t],o)=>{y(e)||(Q(h,e),k(j(C,e),(t=>{F(t,o),E(t)&&(H(C,e),b=1)}))),y(t)||(Q(h,t),P(C,t)||(H(C,t,K()),b=1),Q(j(C,t),o),y(r)||Q(v,t))})),s(),$(i,(e=>k(j(u,e),(e=>Q(v,e))))),E(w)||J(v,(e=>{const t=(t,o)=>I(j(w,t),j(w,o),e),o=[...j(C,e)];l(o,t)||(H(C,e,K(c(o,t))),Q(h,e))})),b){if(!y(p)){const t=[...C];l(t,p)||a(e,z(c(t,p)))}g(t,[e])}J(h,(t=>g(o,[e,t])))}),V(n),k(r,V)),b},delIndexDefinition:e=>(u(e),b),getStore:s,getIndexIds:n,getTableId:r,getSliceIds:e=>O(d(e)),getSliceRowIds:(e,t)=>B(j(d(e),t)),addSliceIdsListener:(e,o)=>p(o,t,[e]),addSliceRowIdsListener:(e,t,s)=>p(s,o,[e,t]),delListener:e=>(w(e),b),destroy:I,getListenerStats:()=>({})};return se(b)})),ce=(e,t)=>e<t?-1:1,ue=z([["avg",[(e,t)=>p(e)/t,(e,t,o)=>e+(t-e)/(o+1),(e,t,o)=>e+(e-t)/(o-1),(e,t,o,s)=>e+(t-o)/s]],["max",[e=>L(...e),(e,t)=>L(t,e),(e,t)=>t==e?void 0:e,(e,t,o)=>o==e?void 0:L(t,e)]],["min",[e=>R(...e),(e,t)=>R(t,e),(e,t)=>t==e?void 0:e,(e,t,o)=>o==e?void 0:R(t,e)]],["sum",[e=>p(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,o)=>e-o+t]]]),Ie=X((e=>{const t=z(),[o,s,n,r,d,a,i,l]=U(e,M,(e=>isNaN(e)||y(e)||!0===e||!1===e||""===e?void 0:1*e)),[c,u,I]=_((()=>p)),p={setMetricDefinition:(e,o,s,n,i,l,c)=>{const I=x(s)?[s,i,l,c]:j(ue,s)??j(ue,"sum");return a(e,o,((o,s,n,a,i,l)=>{let c=r(e),p=A(a);const[g,w,b,h]=I;l=l||y(c),J(s,(([e,t])=>{l||(c=y(e)?w?.(c,t,p++):y(t)?b?.(c,e,p--):h?.(c,t,e,p)),l=l||y(c)})),o(),E(a)?c=void 0:l&&(c=g(B(a),A(a))),f(c)||(c=void 0);const v=r(e);c!=v&&(d(e,c),u(t,[e],c,v))}),V(n,1)),p},delMetricDefinition:e=>(i(e),p),getStore:o,getMetricIds:s,getTableId:n,getMetric:r,addMetricListener:(e,o)=>c(o,t,[e]),delListener:e=>(I(e),p),destroy:l,getListenerStats:()=>({})};return se(p)})),pe=(e,t,o,s,n)=>{let r,d=0;const a={load:async o=>{if(2!=d){d=1;const s=await t();y(s)||""==s?e.setTables(o):e.setJson(s),d=0}return a},startAutoLoad:async e=>(a.stopAutoLoad(),await a.load(e),s(a.load),a),stopAutoLoad:()=>(n(),a),save:async()=>(1!=d&&(d=2,await o(e.getJson()),d=0),a),startAutoSave:async()=>(await a.stopAutoSave().save(),r=e.addTablesListener((()=>a.save())),a),stopAutoSave:()=>(k(r,e.delListener),a),getStore:()=>e,destroy:()=>a.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return se(a)},ge=window,we=(e,t,o)=>{let s;return pe(e,(async()=>o.getItem(t)),(async e=>o.setItem(t,e)),(e=>{s=s=>{s.storageArea===o&&s.key===t&&e()},ge.addEventListener("storage",s)}),(()=>{ge.removeEventListener("storage",s),s=void 0}))},be=(e,t)=>we(e,t,localStorage),he=(e,t)=>we(e,t,sessionStorage),ve=(o,s)=>{let n;return pe(o,(async()=>{try{return await e.readFile(s,"utf8")}catch{}}),(async t=>{try{await e.writeFile(s,t,"utf8")}catch{}}),(e=>{n=t(s,e)}),(()=>{n?.close(),n=void 0}))},Ce=e=>e.headers.get("ETag"),Le=(e,t,o,s)=>{let n,r;return pe(e,(async()=>{const e=await fetch(t);return r=Ce(e),e.text()}),(async e=>await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{n=setInterval((async()=>{const o=await fetch(t,{method:"HEAD"}),s=Ce(o);y(r)||y(s)||s==r||(r=s,e())}),1e3*s)}),(()=>{k(n,clearInterval),n=void 0}))},{createContext:Re,useContext:fe}=o,me=Re([]),ye=(e,t)=>{const o=fe(me);return y(e)?o[t]:ne(o[t+1],e)},ke=(e,t)=>{const o=ye(e,t);return y(e)||S(e)?o:e},Te=e=>ye(e,0),Se=e=>ye(e,2),xe=e=>ye(e,4),Me=e=>ye(e,6),Ae=e=>ye(e,8),Pe=e=>ke(e,0),Ee=e=>ke(e,2),Be=e=>ke(e,4),De=e=>ke(e,6),Je=e=>ke(e,8),{useCallback:Fe,useEffect:ze,useMemo:Ne,useState:Oe}=o,je=(e,t,o=[])=>Ne((()=>t(e)),[e,...o]),$e=(e,t,o,...s)=>{const n=t?.["get"+e]??(()=>o),r=n(...s),[,d]=Oe(r);return ze((()=>{const o=t?.[`add${e}Listener`]?.(...s,(()=>d(n(...s))),!1);return()=>t?.delListener(o)}),[t,e,d,n,...s]),r},He=(e,t,o,s=[],n,...r)=>{ze((()=>{const s=t?.[`add${e}Listener`]?.(...r,o,n);return()=>t?.delListener(s)}),[t,e,...s,n,...r])},We=(e,t,o,s=[],n=M,r=[],...d)=>{const a=Pe(e);return Fe((e=>k(a,(s=>k(o(e,s),(e=>n(s["set"+t](...d,e),e)))))),[a,t,...s,...r,...d])},qe=(e,t,o=M,s=[],...n)=>{const r=Pe(e);return Fe((()=>o(r?.["del"+t](...n))),[r,t,...s,...n])},Ge=(e,t,o)=>{const s=Je(e);return Fe((()=>s?.[t](o)),[s,t,o])},Ke=(e,t=[])=>Ne(e,t),Qe=e=>$e("Tables",Pe(e),{}),Ue=e=>$e("TableIds",Pe(e),[]),Ve=(e,t)=>$e("Table",Pe(t),{},e),Xe=(e,t)=>$e("RowIds",Pe(t),[],e),Ye=(e,t,o)=>$e("Row",Pe(o),{},e,t),Ze=(e,t,o)=>$e("CellIds",Pe(o),[],e,t),_e=(e,t,o,s)=>$e("Cell",Pe(s),void 0,e,t,o),et=(e,t,o,s,n)=>We(o,"Tables",e,t,s,n),tt=(e,t,o,s,n,r)=>We(s,"Table",t,o,n,r,e),ot=(e,t,o,s,n,r,d)=>We(n,"Row",o,s,r,d,e,t),st=(e,t,o=[],s,n=M,r=[])=>{const d=Pe(s);return Fe((o=>k(d,(s=>k(t(o,s),(t=>n(s.addRow(e,t),s,t)))))),[d,e,...o,...r])},nt=(e,t,o,s,n,r,d)=>We(n,"PartialRow",o,s,r,d,e,t),rt=(e,t,o,s,n,r,d,a)=>We(r,"Cell",s,n,d,a,e,t,o),dt=(e,t,o)=>qe(e,"Tables",t,o),at=(e,t,o,s)=>qe(t,"Table",o,s,e),it=(e,t,o,s,n)=>qe(o,"Row",s,n,e,t),lt=(e,t,o,s,n,r,d)=>qe(n,"Cell",r,d,e,t,o,s),ct=(e,t,o,s)=>He("Tables",Pe(s),e,t,o),ut=(e,t,o,s)=>He("TableIds",Pe(s),e,t,o),It=(e,t,o,s,n)=>He("Table",Pe(n),t,o,s,e),pt=(e,t,o,s,n)=>He("RowIds",Pe(n),t,o,s,e),gt=(e,t,o,s,n,r)=>He("Row",Pe(r),o,s,n,e,t),wt=(e,t,o,s,n,r)=>He("CellIds",Pe(r),o,s,n,e,t),bt=(e,t,o,s,n,r,d)=>He("Cell",Pe(d),s,n,r,e,t,o),ht=(e,t,o)=>je(e,t,o),vt=(e,t)=>$e("Metric",Ee(t),void 0,e),Ct=(e,t,o,s)=>He("Metric",Ee(s),t,o,void 0,e),Lt=(e,t,o)=>je(e,t,o),Rt=(e,t)=>$e("SliceIds",Be(t),[],e),ft=(e,t,o)=>$e("SliceRowIds",Be(o),[],e,t),mt=(e,t,o,s)=>He("SliceIds",Be(s),t,o,void 0,e),yt=(e,t,o,s,n)=>He("SliceRowIds",Be(n),o,s,void 0,e,t),kt=(e,t,o)=>je(e,t,o),Tt=(e,t,o)=>$e("RemoteRowId",De(o),void 0,e,t),St=(e,t,o)=>$e("LocalRowIds",De(o),[],e,t),xt=(e,t,o)=>$e("LinkedRowIds",De(o),[],e,t),Mt=(e,t,o,s,n)=>He("RemoteRowId",De(n),o,s,void 0,e,t),At=(e,t,o,s,n)=>He("LocalRowIds",De(n),o,s,void 0,e,t),Pt=(e,t,o,s,n)=>He("LinkedRowIds",De(n),o,s,void 0,e,t),Et=(e,t,o)=>je(e,t,o),Bt=e=>$e("CheckpointIds",Je(e),[[],void 0,[]]),Dt=(e,t)=>$e("Checkpoint",Je(t),void 0,e),Jt=(e=M,t=[],o,s=M,n=[])=>{const r=Je(o);return Fe((t=>k(r,(o=>{const n=e(t);s(o.addCheckpoint(n),o,n)}))),[r,...t,...n])},Ft=e=>Ge(e,"goBackward"),zt=e=>Ge(e,"goForward"),Nt=(e,t=[],o,s=M,n=[])=>{const r=Je(o);return Fe((t=>k(r,(o=>k(e(t),(e=>s(o.goTo(e),e)))))),[r,...t,...n])},Ot=e=>{const t=Je(e),[o,s]=Bt(t);return[!w(o),Ft(t),s,k(s,(e=>t?.getCheckpoint(e)))??""]},jt=e=>{const t=Je(e),[,,[o]]=Bt(t);return[!y(o),zt(t),o,k(o,(e=>t?.getCheckpoint(e)))??""]},$t=(e,t,o)=>He("CheckpointIds",Je(o),e,t),Ht=(e,t,o,s)=>He("Checkpoint",Je(s),t,o,void 0,e),Wt=(e,t,o=[],s,n=[])=>{const[,r]=Oe(),d=Ne((()=>t(e)),[e,...o]);return ze((()=>{(async()=>{await(s?.(d)),r(1)})()}),[d,...n]),d},{createElement:qt,useMemo:Gt}=o,Kt=e=>{const t=De(e);return[t,t?.getStore()]},Qt=({relationshipId:e,relationships:t,rowComponent:o=_t,getRowComponentProps:s,separator:n,debugIds:r},d,a)=>{const[i,l]=Kt(t),c=i?.getLocalTableId(e),u=d(e,a,i);return Yt(I(u,(e=>qt(o,{...Vt(s,e),key:e,tableId:c,rowId:e,store:l,debugIds:r}))),n,r,a)},Ut=e=>({checkpoints:t,checkpointComponent:o=lo,getCheckpointComponentProps:s,separator:n,debugIds:r})=>{const d=Je(t);return Yt(I(e(Bt(d)),(e=>qt(o,{...Vt(s,e),key:e,checkpoints:d,checkpointId:e,debugIds:r}))),n)},Vt=(e,t)=>y(e)?{}:e(t),Xt=({store:e,storesById:t,metrics:o,metricsById:s,indexes:n,indexesById:r,relationships:d,relationshipsById:a,checkpoints:i,checkpointsById:l,children:c})=>qt(me.Provider,{value:Gt((()=>[e,t,o,s,n,r,d,a,i,l]),[e,t,o,s,n,r,d,a,i,l])},c),Yt=(e,t,o,s)=>{const n=y(t)||!Array.isArray(e)?e:I(e,((e,o)=>o>0?[t,e]:e));return o?[s,":{",n,"}"]:n},Zt=({tableId:e,rowId:t,cellId:o,store:s,debugIds:n})=>Yt(""+(_e(e,t,o,s)??""),void 0,n,o),_t=({tableId:e,rowId:t,store:o,cellComponent:s=Zt,getCellComponentProps:n,separator:r,debugIds:d})=>Yt(I(Ze(e,t,o),(r=>qt(s,{...Vt(n,r),key:r,tableId:e,rowId:t,cellId:r,store:o,debugIds:d}))),r,d,t),eo=({tableId:e,store:t,rowComponent:o=_t,getRowComponentProps:s,separator:n,debugIds:r})=>Yt(I(Xe(e,t),(n=>qt(o,{...Vt(s,n),key:n,tableId:e,rowId:n,store:t,debugIds:r}))),n,r,e),to=({store:e,tableComponent:t=eo,getTableComponentProps:o,separator:s,debugIds:n})=>Yt(I(Ue(e),(s=>qt(t,{...Vt(o,s),key:s,tableId:s,store:e,debugIds:n}))),s),oo=({metricId:e,metrics:t,debugIds:o})=>Yt(vt(e,t)??"",void 0,o,e),so=({indexId:e,sliceId:t,indexes:o,rowComponent:s=_t,getRowComponentProps:n,separator:r,debugIds:d})=>{const a=Be(o),i=a?.getStore(),l=a?.getTableId(e),c=ft(e,t,a);return Yt(I(c,(e=>qt(s,{...Vt(n,e),key:e,tableId:l,rowId:e,store:i,debugIds:d}))),r,d,t)},no=({indexId:e,indexes:t,sliceComponent:o=so,getSliceComponentProps:s,separator:n,debugIds:r})=>Yt(I(Rt(e,t),(n=>qt(o,{...Vt(s,n),key:n,indexId:e,sliceId:n,indexes:t,debugIds:r}))),n,r,e),ro=({relationshipId:e,localRowId:t,relationships:o,rowComponent:s=_t,getRowComponentProps:n,debugIds:r})=>{const[d,a]=Kt(o),i=d?.getRemoteTableId(e),l=Tt(e,t,d);return Yt(y(i)||y(l)?null:qt(s,{...Vt(n,l),key:l,tableId:i,rowId:l,store:a,debugIds:r}),void 0,r,t)},ao=e=>Qt(e,St,e.remoteRowId),io=e=>Qt(e,xt,e.firstRowId),lo=({checkpoints:e,checkpointId:t,debugIds:o})=>Yt(Dt(t,e)??"",void 0,o,t),co=Ut((e=>e[0])),uo=Ut((e=>y(e[1])?[]:[e[1]])),Io=Ut((e=>e[2])),po=X((e=>{const t=z(),o=z(),s=z(),n=z(),[r,d,a,i,l,c,u,I]=U(e,(()=>[z(),z(),z(),z()]),(e=>y(e)?void 0:e+"")),[p,g,w]=_((()=>C)),b=(e,t,o)=>k(i(e),(([s,,n])=>{if(!P(n,t)){const r=K();if(a(e)!=v(e))Q(r,t);else{let e=t;for(;!y(e)&&!P(r,e);)Q(r,e),e=j(s,e)}if(o)return r;H(n,t,r)}return j(n,t)})),h=(e,t)=>k(i(e),(([,,e])=>H(e,t))),v=e=>j(t,e),C={setRelationshipDefinition:(e,r,d,a)=>(H(t,e,d),c(e,r,((t,r)=>{const d=K(),a=K(),l=K(),[c,u]=i(e);J(r,(([t,o],s)=>{y(t)||(Q(a,t),k(j(u,t),(e=>{F(e,s),E(e)&&H(u,t)}))),y(o)||(Q(a,o),P(u,o)||H(u,o,K()),Q(j(u,o),s)),Q(d,s),H(c,s,o),$(j(n,e),(t=>{P(b(e,t),s)&&Q(l,t)}))})),t(),J(d,(t=>g(o,[e,t]))),J(a,(t=>g(s,[e,t]))),J(l,(t=>{h(e,t),g(n,[e,t])}))}),V(a)),C),delRelationshipDefinition:e=>(H(t,e),u(e),C),getStore:r,getRelationshipIds:d,getLocalTableId:a,getRemoteTableId:v,getRemoteRowId:(e,t)=>j(i(e)?.[0],t),getLocalRowIds:(e,t)=>B(j(i(e)?.[1],t)),getLinkedRowIds:(e,t)=>y(i(e))?[t]:B(b(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>p(s,o,[e,t]),addLocalRowIdsListener:(e,t,o)=>p(o,s,[e,t]),addLinkedRowIdsListener:(e,t,o)=>(b(e,t),p(o,n,[e,t])),delListener:e=>(h(...w(e)),C),destroy:I,getListenerStats:()=>({})};return se(C)})),go=(e,t,o,s=H)=>{const n=(r=O(e),d=e=>!re(t,e),r.filter(d));var r,d;return u(te(t),(s=>o(e,s,t[s]))),u(n,(t=>s(e,t))),e},wo=e=>{const t=s(e);return T(t)||t==d&&f(e)?t:void 0},bo=(e,t)=>!(y(e)||!(e=>m(e,ee)&&e.constructor==ee)(e)||oe(e))&&(ae(e,((o,s)=>{t(o,s)||de(e,s)})),!(e=>w(te(e)))(e)),ho=(e,t,o)=>H(e,t,j(e,t)==-o?void 0:o),vo=()=>{let e,t=0,o=0;const s=z(),n=z(),r=z(),a=z(),l=z(),c=z(),I=z(),p=N(K),g=N(K),w=N(),b=N(),h=N(),L=N(),R=N(),[f,m,S,M]=_((()=>ke)),A=(t,o)=>(!e||P(l,o))&&bo(t,(e=>B(o,e))),B=(e,t,o)=>bo(o?t:Q(t,e),((o,s)=>k(F(e,s,o),(e=>(t[s]=e,!0)),(()=>!1)))),F=(t,o,s)=>e?k(j(j(l,t),o),(e=>wo(s)!=e.type?e.default:s)):y(wo(s))?void 0:s,Q=(e,t)=>(k(j(c,t),(t=>ae(t,((t,o)=>{re(e,o)||(e[o]=t)})))),e),U=e=>go(l,e,((e,t,o)=>{const s={};go(W(l,t,z()),o,((e,t,o)=>{H(e,t,o),k(o.default,(e=>s[t]=e))})),H(c,t,s)}),((e,t)=>{H(l,t),H(c,t)})),V=e=>go(I,e,((e,t,o)=>X(t,o)),((e,t)=>ie(t))),X=(e,t)=>go(W(I,e,z(),(()=>ue(e,1))),t,((t,o,s)=>Y(e,t,o,s)),((t,o)=>le(e,t,o))),Y=(e,t,o,s,n)=>go(W(t,o,z(),(()=>Ie(e,o,1))),s,((t,s,n)=>Z(e,o,t,s,n)),((s,r)=>ce(e,t,o,s,r,n))),Z=(e,t,o,s,n)=>{P(o,s)||pe(e,t,s,1);const r=j(o,s);n!==r&&(ge(e,t,s,r),H(o,s,n))},ee=(e,t,o)=>ye((()=>Y(e,ne(e),t,o))),te=(e,t,o,s,n)=>k(j(t,o),(t=>Z(e,o,t,s,n)),(()=>Y(e,t,o,Q({[s]:n},e)))),oe=e=>{const o=""+t++;return P(e,o)?oe(e):o},ne=e=>j(I,e)??X(e,{}),ie=e=>X(e,{}),le=(e,t,o)=>Y(e,t,o,{},!0),ce=(e,t,o,s,n,r)=>{const d=j(c,e)?.[n];if(!y(d)&&!r)return Z(e,o,s,n,d);const a=t=>{ge(e,o,t,j(s,t)),pe(e,o,t,-1),H(s,t)};y(d)?a(n):$(s,a),E(s)&&(Ie(e,o,-1),E(H(t,o))&&(ue(e,-1),H(I,e)))},ue=(e,t)=>ho(s,e,t),Ie=(e,t,o)=>ho(W(n,e,z()),t,o),pe=(e,t,o,s)=>ho(W(W(r,e,z()),t,z()),o,s),ge=(e,t,o,s)=>W(W(W(a,e,z()),t,z()),o,s),we=(e,t,o)=>{const s=j(j(a,e),t),n=Re(e,t,o);return P(s,o)?[!0,j(s,o),n]:[!1,n,n]},be=e=>{const t=E(L[e])&&E(b[e])&&E(g[e]),o=E(R[e])&&E(h[e])&&E(w[e])&&E(p[e]);if(t&&o)return;const d=e?[G(s),G(n,G),G(r,(e=>G(e,G))),G(a,(e=>G(e,G)))]:[s,n,r,a];if(t||(J(d[2],((t,o)=>J(t,((t,s)=>{E(t)||m(L[e],[o,s])})))),J(d[1],((t,o)=>{E(t)||m(b[e],[o])})),E(d[0])||m(g[e])),!o){let t;J(d[3],((o,s)=>{let n;J(o,((o,r)=>{let d;J(o,((o,a)=>{const i=Re(s,r,a);i!==o&&(m(R[e],[s,r,a],i,o,we),t=n=d=1)})),d&&m(h[e],[s,r],we)})),n&&m(w[e],[s],we)})),t&&m(p[e],[],we)}},he=()=>q(I,(e=>q(e,q))),ve=()=>O(I),Ce=e=>O(j(I,e)),Le=(e,t)=>O(j(j(I,e),t)),Re=(e,t,o)=>j(j(j(I,e),t),o),fe=e=>((e=>bo(e,A))(e)&&ye((()=>V(e))),ke),me=()=>(ye((()=>V({}))),ke),ye=e=>{if(-1==o)return;o++;const t=e();return o--,0==o&&(o=1,be(1),o=-1,be(0),o=0,u([a,s,n,r],D)),t},ke={getTables:he,getTableIds:ve,getTable:e=>q(j(I,e),q),getRowIds:Ce,getRow:(e,t)=>q(j(j(I,e),t)),getCellIds:Le,getCell:Re,hasTable:e=>P(I,e),hasRow:(e,t)=>P(j(I,e),t),hasCell:(e,t,o)=>P(j(j(I,e),t),o),getJson:()=>v(I),getSchemaJson:()=>v(l),setTables:fe,setTable:(e,t)=>(A(t,e)&&ye((()=>X(e,t))),ke),setRow:(e,t,o)=>(B(e,o)&&ee(e,t,o),ke),addRow:(e,t)=>{let o;return B(e,t)&&(o=oe(j(I,e)),ee(e,o,t)),o},setPartialRow:(e,t,o)=>(B(e,o,1)&&ye((()=>{const s=ne(e);ae(o,((o,n)=>te(e,s,t,n,o)))})),ke),setCell:(e,t,o,s)=>(k(F(e,o,x(s)?s(Re(e,t,o)):s),(s=>ye((()=>te(e,ne(e),t,o,s))))),ke),setJson:e=>{try{"{}"===e?me():fe(C(e))}catch{}return ke},setSchema:t=>{if((e=(e=>bo(e,(e=>bo(e,(e=>{if(!bo(e,((e,t)=>i(["type","default"],t))))return!1;const t=e.type;return!(!T(t)&&t!=d||(wo(e.default)!=t&&de(e,"default"),0))})))))(t))&&(U(t),!E(I))){const e=he();me(),fe(e)}return ke},delTables:me,delTable:e=>(P(I,e)&&ye((()=>ie(e))),ke),delRow:(e,t)=>(k(j(I,e),(o=>{P(o,t)&&ye((()=>le(e,o,t)))})),ke),delCell:(e,t,o,s)=>(k(j(I,e),(n=>k(j(n,t),(r=>{P(r,o)&&ye((()=>ce(e,n,t,r,o,s)))})))),ke),delSchema:()=>(U({}),e=!1,ke),transaction:ye,forEachTable:e=>J(I,((t,o)=>e(o,(e=>J(t,((t,o)=>e(o,(e=>$(t,e))))))))),forEachRow:(e,t)=>J(j(I,e),((e,o)=>t(o,(t=>$(e,t))))),forEachCell:(e,t,o)=>$(j(j(I,e),t),o),addTablesListener:(e,t)=>f(e,p[t?1:0]),addTableIdsListener:(e,t)=>f(e,g[t?1:0]),addTableListener:(e,t,o)=>f(t,w[o?1:0],[e]),addRowIdsListener:(e,t,o)=>f(t,b[o?1:0],[e]),addRowListener:(e,t,o,s)=>f(o,h[s?1:0],[e,t]),addCellIdsListener:(e,t,o,s)=>f(o,L[s?1:0],[e,t]),addCellListener:(e,t,o,s,n)=>f(s,R[n?1:0],[e,t,o]),callListener:e=>(M(e,[ve,Ce,Le],(e=>y(e[2])?[]:[,,].fill(Re(...e)))),ke),delListener:e=>(S(e),ke),getListenerStats:()=>({})};return se(ke)};export{co as BackwardCheckpointsView,Zt as CellView,lo as CheckpointView,uo as CurrentCheckpointView,Io as ForwardCheckpointsView,no as IndexView,io as LinkedRowsView,ao as LocalRowsView,oo as MetricView,Xt as Provider,ro as RemoteRowView,_t as RowView,so as SliceView,eo as TableView,to as TablesView,ie as createCheckpoints,pe as createCustomPersister,ve as createFilePersister,le as createIndexes,be as createLocalPersister,Ie as createMetrics,po as createRelationships,Le as createRemotePersister,he as createSessionPersister,vo as createStore,ce as defaultSorter,st as useAddRowCallback,_e as useCell,Ze as useCellIds,wt as useCellIdsListener,bt as useCellListener,Dt as useCheckpoint,Bt as useCheckpointIds,$t as useCheckpointIdsListener,Ht as useCheckpointListener,Ae as useCheckpoints,Et as useCreateCheckpoints,Lt as useCreateIndexes,ht as useCreateMetrics,Wt as useCreatePersister,kt as useCreateRelationships,Ke as useCreateStore,lt as useDelCellCallback,it as useDelRowCallback,at as useDelTableCallback,dt as useDelTablesCallback,Ft as useGoBackwardCallback,zt as useGoForwardCallback,Nt as useGoToCallback,xe as useIndexes,xt as useLinkedRowIds,Pt as useLinkedRowIdsListener,St as useLocalRowIds,At as useLocalRowIdsListener,vt as useMetric,Ct as useMetricListener,Se as useMetrics,jt as useRedoInformation,Me as useRelationships,Tt as useRemoteRowId,Mt as useRemoteRowIdListener,Ye as useRow,Xe as useRowIds,pt as useRowIdsListener,gt as useRowListener,rt as useSetCellCallback,Jt as useSetCheckpointCallback,nt as useSetPartialRowCallback,ot as useSetRowCallback,tt as useSetTableCallback,et as useSetTablesCallback,Rt as useSliceIds,mt as useSliceIdsListener,ft as useSliceRowIds,yt as useSliceRowIdsListener,Te as useStore,Ve as useTable,Ue as useTableIds,ut as useTableIdsListener,It as useTableListener,Qe as useTables,ct as useTablesListener,Ot as useUndoInformation};
|
|
1
|
+
import{promises as e,watch as t}from"fs";import o from"react";const s=e=>typeof e,n=s(""),r=s(!0),d=s(0),a=s(s),i=(e,t)=>e.includes(t),l=(e,t)=>e.every(((o,s)=>0==s||t(e[s-1],o)<=0)),c=(e,t)=>e.sort(t),u=(e,t)=>e.forEach(t),I=(e,t)=>e.map(t),p=e=>b(e,((e,t)=>e+t),0),g=e=>e.length,w=e=>0==g(e),b=(e,t,o)=>e.reduce(t,o),h=e=>e.slice(1),v=e=>JSON.stringify(e,((e,t)=>m(t,Map)?b([...t],((e,[t,o])=>(e[t]=o,e)),{}):t)),C=JSON.parse,L=Math.max,R=Math.min,f=isFinite,m=(e,t)=>e instanceof t,y=e=>null==e,k=(e,t,o)=>y(e)?o?.():t(e),T=e=>e==n||e==r,S=e=>s(e)==n,x=e=>s(e)==a,M=()=>{},A=e=>e.size,P=(e,t)=>e?.has(t)??!1,E=e=>y(e)||0==A(e),B=e=>[...e?.values()??[]],D=e=>e.clear(),J=(e,t)=>e?.forEach(t),F=(e,t)=>e?.delete(t),z=e=>new Map(e),N=(e=z)=>[e(),e()],O=e=>[...e?.keys()??[]],j=(e,t)=>e?.get(t),$=(e,t)=>J(e,((e,o)=>t(o,e))),H=(e,t,o)=>y(o)?(F(e,t),e):e?.set(t,o),W=(e,t,o,s)=>(P(e,t)||(s?.(o),e.set(t,o)),j(e,t)),q=(e,t)=>{const o={},s=t??(e=>e);return J(e,((e,t)=>o[t]=s(e))),o},G=(e,t)=>{const o=z(),s=t??(e=>e);return J(e,((e,t)=>o.set(t,s(e)))),o},K=e=>new Set(e),Q=(e,t)=>e?.add(t),U=(e,t,o)=>{const s=e.hasRow,n=z(),r=z(),d=z(),a=z(),i=z(),l=t=>k(j(i,t),(o=>{J(o,e.delListener),H(i,t)})),c=e=>{H(n,e),H(r,e),H(d,e),H(a,e),l(e)};return[()=>e,()=>O(n),e=>j(n,e),e=>j(r,e),(e,t)=>H(r,e,t),(c,I,p,g,w)=>{const b=z(),h=z();H(n,c,I),P(r,c)||(H(r,c,t()),H(d,c,z()),H(a,c,z()));const v=j(d,c),C=j(a,c),L=t=>{const n=o=>e.getCell(I,t,o),r=j(v,t),d=s(I,t)?o(g(n,t)):void 0;if(r!=d&&H(b,t,[r,d]),!y(w)){const e=j(C,t),o=s(I,t)?w(n,t):void 0;e!=o&&H(h,t,o)}},R=e=>{p((()=>{J(b,(([,e],t)=>H(v,t,e))),J(h,((e,t)=>H(C,t,e)))}),b,h,v,C,e),D(b),D(h)};$(v,L),e.hasTable(I)&&u(e.getRowIds(I),(e=>{P(v,e)||L(e)})),R(!0),l(c),H(i,c,K([e.addRowListener(I,null,((e,t,o)=>L(o))),e.addTableListener(I,(()=>R()))]))},c,()=>$(i,c)]},V=(e,t)=>S(e)?t=>t(e):e??(()=>t??""),X=e=>{const t=new WeakMap;return o=>(t.has(o)||t.set(o,e(o)),t.get(o))},Y=(e,t,o)=>g(o)<2?Q(w(o)?e:W(e,o[0],K()),t):Y(W(e,o[0],z()),t,h(o)),Z=e=>{const t=(o,s,...n)=>k(o,(o=>w(n)?e(o,s):u([n[0],null],(e=>t(j(o,e),s,...h(n))))));return t},_=e=>{let t,o=0;const s=[],n=z();return[(r,d,a=[])=>{t??(t=e());const i=s.pop()??""+o++;return H(n,i,[r,d,a]),Y(d,i,a),i},(e,o=[],...s)=>Z(J)(e,(e=>k(j(n,e),(([e])=>e(t,...o,...s)))),...o),e=>k(j(n,e),(([,t,o])=>(Z(F)(t,e,...o),H(n,e),g(s)<1e3&&s.push(e),o)),(()=>[])),(e,o,s)=>k(j(n,e),(([e,,n])=>{const r=(...d)=>{const a=g(d);a==g(n)?e(t,...d,...s(d)):y(n[a])?u(o[a](...d),(e=>r(...d,e))):r(...d,n[a])};r()}))]},ee=Object,te=ee.keys,oe=ee.isFrozen,se=ee.freeze,ne=(e,t)=>k(e,(e=>e[t])),re=(e,t)=>!y(ne(e,t)),de=(e,t)=>delete e[t],ae=(e,t)=>u(ee.entries(e),(([e,o])=>t(o,e))),ie=X((e=>{let t,o,s,n=100,r=z(),d=1;const a=K(),l=z(),[c,I,p]=_((()=>F)),b=z(),h=z(),v=[],C=[],L=(t,o)=>{d=0,e.transaction((()=>J(j(b,o),((o,s)=>J(o,((o,n)=>J(o,((o,r)=>y(o[t])?e.delCell(s,n,r,!0):e.setCell(s,n,r,o[t]))))))))),d=1},R=e=>{H(b,e),H(h,e),I(l,[e])},f=(e,t)=>u(((e,t)=>e.splice(0,t))(e,t??g(e)),R),m=()=>f(v,g(v)-n),T=e.addCellListener(null,null,null,((e,o,n,a,i,l)=>{if(d){k(t,(()=>{v.push(t),m(),f(C),t=void 0,s=1}));const e=W(r,o,z()),d=W(e,n,z()),c=W(d,a,[void 0,void 0],(e=>e[0]=l));c[1]=i,c[0]===c[1]&&E(H(d,a))&&E(H(e,n))&&E(H(r,o))&&(t=v.pop(),s=1),A()}})),S=(e="")=>(y(t)&&(t=""+o++,H(b,t,r),D(t,e),r=z(),s=1),t),x=()=>{w(v)||(C.unshift(S()),L(0,t),t=v.pop(),s=1)},M=()=>{w(C)||(v.push(t),t=C.shift(),L(1,t),s=1)},A=()=>{s&&(I(a),s=0)},B=e=>{const t=S(e);return A(),t},D=(e,t)=>(P(b,e)&&j(h,e)!==t&&(H(h,e,t),I(l,[e])),F),F={setSize:e=>(n=e,m(),F),addCheckpoint:B,setCheckpoint:D,getStore:()=>e,getCheckpointIds:()=>[[...v],t,[...C]],getCheckpoint:e=>j(h,e),goBackward:()=>(x(),A(),F),goForward:()=>(M(),A(),F),goTo:e=>{const o=i(v,e)?x:i(C,e)?M:null;for(;!y(o)&&e!=t;)o();return A(),F},addCheckpointIdsListener:e=>c(e,a),addCheckpointListener:(e,t)=>c(t,l,[e]),delListener:e=>(p(e),F),clear:()=>(f(v),f(C),y(t)||R(t),t=void 0,o=0,B(),F),destroy:()=>{e.delListener(T)},getListenerStats:()=>({})};return se(F.clear())})),le=X((e=>{const t=z(),o=z(),[s,n,r,d,a,i,u,I]=U(e,z,(e=>y(e)?"":e+"")),[p,g,w]=_((()=>b)),b={setIndexDefinition:(e,s,n,r,u,I=ce)=>{const p=y(u)?void 0:([e],[t])=>u(e,t);return i(e,s,((s,n,i,u,w)=>{let b=0;const h=K(),v=K(),C=d(e);if(J(n,(([e,t],o)=>{y(e)||(Q(h,e),k(j(C,e),(t=>{F(t,o),E(t)&&(H(C,e),b=1)}))),y(t)||(Q(h,t),P(C,t)||(H(C,t,K()),b=1),Q(j(C,t),o),y(r)||Q(v,t))})),s(),$(i,(e=>k(j(u,e),(e=>Q(v,e))))),E(w)||J(v,(e=>{const t=(t,o)=>I(j(w,t),j(w,o),e),o=[...j(C,e)];l(o,t)||(H(C,e,K(c(o,t))),Q(h,e))})),b){if(!y(p)){const t=[...C];l(t,p)||a(e,z(c(t,p)))}g(t,[e])}J(h,(t=>g(o,[e,t])))}),V(n),k(r,V)),b},delIndexDefinition:e=>(u(e),b),getStore:s,getIndexIds:n,getTableId:r,getSliceIds:e=>O(d(e)),getSliceRowIds:(e,t)=>B(j(d(e),t)),addSliceIdsListener:(e,o)=>p(o,t,[e]),addSliceRowIdsListener:(e,t,s)=>p(s,o,[e,t]),delListener:e=>(w(e),b),destroy:I,getListenerStats:()=>({})};return se(b)})),ce=(e,t)=>e<t?-1:1,ue=z([["avg",[(e,t)=>p(e)/t,(e,t,o)=>e+(t-e)/(o+1),(e,t,o)=>e+(e-t)/(o-1),(e,t,o,s)=>e+(t-o)/s]],["max",[e=>L(...e),(e,t)=>L(t,e),(e,t)=>t==e?void 0:e,(e,t,o)=>o==e?void 0:L(t,e)]],["min",[e=>R(...e),(e,t)=>R(t,e),(e,t)=>t==e?void 0:e,(e,t,o)=>o==e?void 0:R(t,e)]],["sum",[e=>p(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,o)=>e-o+t]]]),Ie=X((e=>{const t=z(),[o,s,n,r,d,a,i,l]=U(e,M,(e=>isNaN(e)||y(e)||!0===e||!1===e||""===e?void 0:1*e)),[c,u,I]=_((()=>p)),p={setMetricDefinition:(e,o,s,n,i,l,c)=>{const I=x(s)?[s,i,l,c]:j(ue,s)??j(ue,"sum");return a(e,o,((o,s,n,a,i,l)=>{let c=r(e),p=A(a);const[g,w,b,h]=I;l=l||y(c),J(s,(([e,t])=>{l||(c=y(e)?w?.(c,t,p++):y(t)?b?.(c,e,p--):h?.(c,t,e,p)),l=l||y(c)})),o(),E(a)?c=void 0:l&&(c=g(B(a),A(a))),f(c)||(c=void 0);const v=r(e);c!=v&&(d(e,c),u(t,[e],c,v))}),V(n,1)),p},delMetricDefinition:e=>(i(e),p),getStore:o,getMetricIds:s,getTableId:n,getMetric:r,addMetricListener:(e,o)=>c(o,t,[e]),delListener:e=>(I(e),p),destroy:l,getListenerStats:()=>({})};return se(p)})),pe=(e,t,o,s,n)=>{let r,d=0;const a={load:async o=>{if(2!=d){d=1;const s=await t();y(s)||""==s?e.setTables(o):e.setJson(s),d=0}return a},startAutoLoad:async e=>(a.stopAutoLoad(),await a.load(e),s(a.load),a),stopAutoLoad:()=>(n(),a),save:async()=>(1!=d&&(d=2,await o(e.getJson()),d=0),a),startAutoSave:async()=>(await a.stopAutoSave().save(),r=e.addTablesListener((()=>a.save())),a),stopAutoSave:()=>(k(r,e.delListener),a),getStore:()=>e,destroy:()=>a.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return se(a)},ge=window,we=(e,t,o)=>{let s;return pe(e,(async()=>o.getItem(t)),(async e=>o.setItem(t,e)),(e=>{s=s=>{s.storageArea===o&&s.key===t&&e()},ge.addEventListener("storage",s)}),(()=>{ge.removeEventListener("storage",s),s=void 0}))},be=(e,t)=>we(e,t,localStorage),he=(e,t)=>we(e,t,sessionStorage),ve=(o,s)=>{let n;return pe(o,(async()=>{try{return await e.readFile(s,"utf8")}catch{}}),(async t=>{try{await e.writeFile(s,t,"utf8")}catch{}}),(e=>{n=t(s,e)}),(()=>{n?.close(),n=void 0}))},Ce=e=>e.headers.get("ETag"),Le=(e,t,o,s)=>{let n,r;return pe(e,(async()=>{const e=await fetch(t);return r=Ce(e),e.text()}),(async e=>await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{n=setInterval((async()=>{const o=await fetch(t,{method:"HEAD"}),s=Ce(o);y(r)||y(s)||s==r||(r=s,e())}),1e3*s)}),(()=>{k(n,clearInterval),n=void 0}))},{createContext:Re,useContext:fe}=o??{},me=Re?.([]),ye=(e,t)=>{const o=fe(me);return y(e)?o[t]:ne(o[t+1],e)},ke=(e,t)=>{const o=ye(e,t);return y(e)||S(e)?o:e},Te=e=>ye(e,0),Se=e=>ye(e,2),xe=e=>ye(e,4),Me=e=>ye(e,6),Ae=e=>ye(e,8),Pe=e=>ke(e,0),Ee=e=>ke(e,2),Be=e=>ke(e,4),De=e=>ke(e,6),Je=e=>ke(e,8),{useCallback:Fe,useEffect:ze,useMemo:Ne,useState:Oe}=o??{},je=(e,t,o=[])=>Ne((()=>t(e)),[e,...o]),$e=(e,t,o,...s)=>{const n=t?.["get"+e]??(()=>o),r=n(...s),[,d]=Oe(r);return ze((()=>{const o=t?.[`add${e}Listener`]?.(...s,(()=>d(n(...s))),!1);return()=>t?.delListener(o)}),[t,e,d,n,...s]),r},He=(e,t,o,s=[],n,...r)=>{ze((()=>{const s=t?.[`add${e}Listener`]?.(...r,o,n);return()=>t?.delListener(s)}),[t,e,...s,n,...r])},We=(e,t,o,s=[],n=M,r=[],...d)=>{const a=Pe(e);return Fe((e=>k(a,(s=>k(o(e,s),(e=>n(s["set"+t](...d,e),e)))))),[a,t,...s,...r,...d])},qe=(e,t,o=M,s=[],...n)=>{const r=Pe(e);return Fe((()=>o(r?.["del"+t](...n))),[r,t,...s,...n])},Ge=(e,t,o)=>{const s=Je(e);return Fe((()=>s?.[t](o)),[s,t,o])},Ke=(e,t=[])=>Ne(e,t),Qe=e=>$e("Tables",Pe(e),{}),Ue=e=>$e("TableIds",Pe(e),[]),Ve=(e,t)=>$e("Table",Pe(t),{},e),Xe=(e,t)=>$e("RowIds",Pe(t),[],e),Ye=(e,t,o)=>$e("Row",Pe(o),{},e,t),Ze=(e,t,o)=>$e("CellIds",Pe(o),[],e,t),_e=(e,t,o,s)=>$e("Cell",Pe(s),void 0,e,t,o),et=(e,t,o,s,n)=>We(o,"Tables",e,t,s,n),tt=(e,t,o,s,n,r)=>We(s,"Table",t,o,n,r,e),ot=(e,t,o,s,n,r,d)=>We(n,"Row",o,s,r,d,e,t),st=(e,t,o=[],s,n=M,r=[])=>{const d=Pe(s);return Fe((o=>k(d,(s=>k(t(o,s),(t=>n(s.addRow(e,t),s,t)))))),[d,e,...o,...r])},nt=(e,t,o,s,n,r,d)=>We(n,"PartialRow",o,s,r,d,e,t),rt=(e,t,o,s,n,r,d,a)=>We(r,"Cell",s,n,d,a,e,t,o),dt=(e,t,o)=>qe(e,"Tables",t,o),at=(e,t,o,s)=>qe(t,"Table",o,s,e),it=(e,t,o,s,n)=>qe(o,"Row",s,n,e,t),lt=(e,t,o,s,n,r,d)=>qe(n,"Cell",r,d,e,t,o,s),ct=(e,t,o,s)=>He("Tables",Pe(s),e,t,o),ut=(e,t,o,s)=>He("TableIds",Pe(s),e,t,o),It=(e,t,o,s,n)=>He("Table",Pe(n),t,o,s,e),pt=(e,t,o,s,n)=>He("RowIds",Pe(n),t,o,s,e),gt=(e,t,o,s,n,r)=>He("Row",Pe(r),o,s,n,e,t),wt=(e,t,o,s,n,r)=>He("CellIds",Pe(r),o,s,n,e,t),bt=(e,t,o,s,n,r,d)=>He("Cell",Pe(d),s,n,r,e,t,o),ht=(e,t,o)=>je(e,t,o),vt=(e,t)=>$e("Metric",Ee(t),void 0,e),Ct=(e,t,o,s)=>He("Metric",Ee(s),t,o,void 0,e),Lt=(e,t,o)=>je(e,t,o),Rt=(e,t)=>$e("SliceIds",Be(t),[],e),ft=(e,t,o)=>$e("SliceRowIds",Be(o),[],e,t),mt=(e,t,o,s)=>He("SliceIds",Be(s),t,o,void 0,e),yt=(e,t,o,s,n)=>He("SliceRowIds",Be(n),o,s,void 0,e,t),kt=(e,t,o)=>je(e,t,o),Tt=(e,t,o)=>$e("RemoteRowId",De(o),void 0,e,t),St=(e,t,o)=>$e("LocalRowIds",De(o),[],e,t),xt=(e,t,o)=>$e("LinkedRowIds",De(o),[],e,t),Mt=(e,t,o,s,n)=>He("RemoteRowId",De(n),o,s,void 0,e,t),At=(e,t,o,s,n)=>He("LocalRowIds",De(n),o,s,void 0,e,t),Pt=(e,t,o,s,n)=>He("LinkedRowIds",De(n),o,s,void 0,e,t),Et=(e,t,o)=>je(e,t,o),Bt=e=>$e("CheckpointIds",Je(e),[[],void 0,[]]),Dt=(e,t)=>$e("Checkpoint",Je(t),void 0,e),Jt=(e=M,t=[],o,s=M,n=[])=>{const r=Je(o);return Fe((t=>k(r,(o=>{const n=e(t);s(o.addCheckpoint(n),o,n)}))),[r,...t,...n])},Ft=e=>Ge(e,"goBackward"),zt=e=>Ge(e,"goForward"),Nt=(e,t=[],o,s=M,n=[])=>{const r=Je(o);return Fe((t=>k(r,(o=>k(e(t),(e=>s(o.goTo(e),e)))))),[r,...t,...n])},Ot=e=>{const t=Je(e),[o,s]=Bt(t);return[!w(o),Ft(t),s,k(s,(e=>t?.getCheckpoint(e)))??""]},jt=e=>{const t=Je(e),[,,[o]]=Bt(t);return[!y(o),zt(t),o,k(o,(e=>t?.getCheckpoint(e)))??""]},$t=(e,t,o)=>He("CheckpointIds",Je(o),e,t),Ht=(e,t,o,s)=>He("Checkpoint",Je(s),t,o,void 0,e),Wt=(e,t,o=[],s,n=[])=>{const[,r]=Oe(),d=Ne((()=>t(e)),[e,...o]);return ze((()=>{(async()=>{await(s?.(d)),r(1)})()}),[d,...n]),d},{createElement:qt,useMemo:Gt}=o??{},Kt=e=>{const t=De(e);return[t,t?.getStore()]},Qt=({relationshipId:e,relationships:t,rowComponent:o=_t,getRowComponentProps:s,separator:n,debugIds:r},d,a)=>{const[i,l]=Kt(t),c=i?.getLocalTableId(e),u=d(e,a,i);return Yt(I(u,(e=>qt(o,{...Vt(s,e),key:e,tableId:c,rowId:e,store:l,debugIds:r}))),n,r,a)},Ut=e=>({checkpoints:t,checkpointComponent:o=lo,getCheckpointComponentProps:s,separator:n,debugIds:r})=>{const d=Je(t);return Yt(I(e(Bt(d)),(e=>qt(o,{...Vt(s,e),key:e,checkpoints:d,checkpointId:e,debugIds:r}))),n)},Vt=(e,t)=>y(e)?{}:e(t),Xt=({store:e,storesById:t,metrics:o,metricsById:s,indexes:n,indexesById:r,relationships:d,relationshipsById:a,checkpoints:i,checkpointsById:l,children:c})=>qt(me.Provider,{value:Gt((()=>[e,t,o,s,n,r,d,a,i,l]),[e,t,o,s,n,r,d,a,i,l])},c),Yt=(e,t,o,s)=>{const n=y(t)||!Array.isArray(e)?e:I(e,((e,o)=>o>0?[t,e]:e));return o?[s,":{",n,"}"]:n},Zt=({tableId:e,rowId:t,cellId:o,store:s,debugIds:n})=>Yt(""+(_e(e,t,o,s)??""),void 0,n,o),_t=({tableId:e,rowId:t,store:o,cellComponent:s=Zt,getCellComponentProps:n,separator:r,debugIds:d})=>Yt(I(Ze(e,t,o),(r=>qt(s,{...Vt(n,r),key:r,tableId:e,rowId:t,cellId:r,store:o,debugIds:d}))),r,d,t),eo=({tableId:e,store:t,rowComponent:o=_t,getRowComponentProps:s,separator:n,debugIds:r})=>Yt(I(Xe(e,t),(n=>qt(o,{...Vt(s,n),key:n,tableId:e,rowId:n,store:t,debugIds:r}))),n,r,e),to=({store:e,tableComponent:t=eo,getTableComponentProps:o,separator:s,debugIds:n})=>Yt(I(Ue(e),(s=>qt(t,{...Vt(o,s),key:s,tableId:s,store:e,debugIds:n}))),s),oo=({metricId:e,metrics:t,debugIds:o})=>Yt(vt(e,t)??"",void 0,o,e),so=({indexId:e,sliceId:t,indexes:o,rowComponent:s=_t,getRowComponentProps:n,separator:r,debugIds:d})=>{const a=Be(o),i=a?.getStore(),l=a?.getTableId(e),c=ft(e,t,a);return Yt(I(c,(e=>qt(s,{...Vt(n,e),key:e,tableId:l,rowId:e,store:i,debugIds:d}))),r,d,t)},no=({indexId:e,indexes:t,sliceComponent:o=so,getSliceComponentProps:s,separator:n,debugIds:r})=>Yt(I(Rt(e,t),(n=>qt(o,{...Vt(s,n),key:n,indexId:e,sliceId:n,indexes:t,debugIds:r}))),n,r,e),ro=({relationshipId:e,localRowId:t,relationships:o,rowComponent:s=_t,getRowComponentProps:n,debugIds:r})=>{const[d,a]=Kt(o),i=d?.getRemoteTableId(e),l=Tt(e,t,d);return Yt(y(i)||y(l)?null:qt(s,{...Vt(n,l),key:l,tableId:i,rowId:l,store:a,debugIds:r}),void 0,r,t)},ao=e=>Qt(e,St,e.remoteRowId),io=e=>Qt(e,xt,e.firstRowId),lo=({checkpoints:e,checkpointId:t,debugIds:o})=>Yt(Dt(t,e)??"",void 0,o,t),co=Ut((e=>e[0])),uo=Ut((e=>y(e[1])?[]:[e[1]])),Io=Ut((e=>e[2])),po=X((e=>{const t=z(),o=z(),s=z(),n=z(),[r,d,a,i,l,c,u,I]=U(e,(()=>[z(),z(),z(),z()]),(e=>y(e)?void 0:e+"")),[p,g,w]=_((()=>C)),b=(e,t,o)=>k(i(e),(([s,,n])=>{if(!P(n,t)){const r=K();if(a(e)!=v(e))Q(r,t);else{let e=t;for(;!y(e)&&!P(r,e);)Q(r,e),e=j(s,e)}if(o)return r;H(n,t,r)}return j(n,t)})),h=(e,t)=>k(i(e),(([,,e])=>H(e,t))),v=e=>j(t,e),C={setRelationshipDefinition:(e,r,d,a)=>(H(t,e,d),c(e,r,((t,r)=>{const d=K(),a=K(),l=K(),[c,u]=i(e);J(r,(([t,o],s)=>{y(t)||(Q(a,t),k(j(u,t),(e=>{F(e,s),E(e)&&H(u,t)}))),y(o)||(Q(a,o),P(u,o)||H(u,o,K()),Q(j(u,o),s)),Q(d,s),H(c,s,o),$(j(n,e),(t=>{P(b(e,t),s)&&Q(l,t)}))})),t(),J(d,(t=>g(o,[e,t]))),J(a,(t=>g(s,[e,t]))),J(l,(t=>{h(e,t),g(n,[e,t])}))}),V(a)),C),delRelationshipDefinition:e=>(H(t,e),u(e),C),getStore:r,getRelationshipIds:d,getLocalTableId:a,getRemoteTableId:v,getRemoteRowId:(e,t)=>j(i(e)?.[0],t),getLocalRowIds:(e,t)=>B(j(i(e)?.[1],t)),getLinkedRowIds:(e,t)=>y(i(e))?[t]:B(b(e,t,!0)),addRemoteRowIdListener:(e,t,s)=>p(s,o,[e,t]),addLocalRowIdsListener:(e,t,o)=>p(o,s,[e,t]),addLinkedRowIdsListener:(e,t,o)=>(b(e,t),p(o,n,[e,t])),delListener:e=>(h(...w(e)),C),destroy:I,getListenerStats:()=>({})};return se(C)})),go=(e,t,o,s=H)=>{const n=(r=O(e),d=e=>!re(t,e),r.filter(d));var r,d;return u(te(t),(s=>o(e,s,t[s]))),u(n,(t=>s(e,t))),e},wo=e=>{const t=s(e);return T(t)||t==d&&f(e)?t:void 0},bo=(e,t)=>!(y(e)||!(e=>m(e,ee)&&e.constructor==ee)(e)||oe(e))&&(ae(e,((o,s)=>{t(o,s)||de(e,s)})),!(e=>w(te(e)))(e)),ho=(e,t,o)=>H(e,t,j(e,t)==-o?void 0:o),vo=()=>{let e,t=0,o=0;const s=z(),n=z(),r=z(),a=z(),l=z(),c=z(),I=z(),p=N(K),g=N(K),w=N(),b=N(),h=N(),L=N(),R=N(),[f,m,S,M]=_((()=>ke)),A=(t,o)=>(!e||P(l,o))&&bo(t,(e=>B(o,e))),B=(e,t,o)=>bo(o?t:Q(t,e),((o,s)=>k(F(e,s,o),(e=>(t[s]=e,!0)),(()=>!1)))),F=(t,o,s)=>e?k(j(j(l,t),o),(e=>wo(s)!=e.type?e.default:s)):y(wo(s))?void 0:s,Q=(e,t)=>(k(j(c,t),(t=>ae(t,((t,o)=>{re(e,o)||(e[o]=t)})))),e),U=e=>go(l,e,((e,t,o)=>{const s={};go(W(l,t,z()),o,((e,t,o)=>{H(e,t,o),k(o.default,(e=>s[t]=e))})),H(c,t,s)}),((e,t)=>{H(l,t),H(c,t)})),V=e=>go(I,e,((e,t,o)=>X(t,o)),((e,t)=>ie(t))),X=(e,t)=>go(W(I,e,z(),(()=>ue(e,1))),t,((t,o,s)=>Y(e,t,o,s)),((t,o)=>le(e,t,o))),Y=(e,t,o,s,n)=>go(W(t,o,z(),(()=>Ie(e,o,1))),s,((t,s,n)=>Z(e,o,t,s,n)),((s,r)=>ce(e,t,o,s,r,n))),Z=(e,t,o,s,n)=>{P(o,s)||pe(e,t,s,1);const r=j(o,s);n!==r&&(ge(e,t,s,r),H(o,s,n))},ee=(e,t,o)=>ye((()=>Y(e,ne(e),t,o))),te=(e,t,o,s,n)=>k(j(t,o),(t=>Z(e,o,t,s,n)),(()=>Y(e,t,o,Q({[s]:n},e)))),oe=e=>{const o=""+t++;return P(e,o)?oe(e):o},ne=e=>j(I,e)??X(e,{}),ie=e=>X(e,{}),le=(e,t,o)=>Y(e,t,o,{},!0),ce=(e,t,o,s,n,r)=>{const d=j(c,e)?.[n];if(!y(d)&&!r)return Z(e,o,s,n,d);const a=t=>{ge(e,o,t,j(s,t)),pe(e,o,t,-1),H(s,t)};y(d)?a(n):$(s,a),E(s)&&(Ie(e,o,-1),E(H(t,o))&&(ue(e,-1),H(I,e)))},ue=(e,t)=>ho(s,e,t),Ie=(e,t,o)=>ho(W(n,e,z()),t,o),pe=(e,t,o,s)=>ho(W(W(r,e,z()),t,z()),o,s),ge=(e,t,o,s)=>W(W(W(a,e,z()),t,z()),o,s),we=(e,t,o)=>{const s=j(j(a,e),t),n=Re(e,t,o);return P(s,o)?[!0,j(s,o),n]:[!1,n,n]},be=e=>{const t=E(L[e])&&E(b[e])&&E(g[e]),o=E(R[e])&&E(h[e])&&E(w[e])&&E(p[e]);if(t&&o)return;const d=e?[G(s),G(n,G),G(r,(e=>G(e,G))),G(a,(e=>G(e,G)))]:[s,n,r,a];if(t||(J(d[2],((t,o)=>J(t,((t,s)=>{E(t)||m(L[e],[o,s])})))),J(d[1],((t,o)=>{E(t)||m(b[e],[o])})),E(d[0])||m(g[e])),!o){let t;J(d[3],((o,s)=>{let n;J(o,((o,r)=>{let d;J(o,((o,a)=>{const i=Re(s,r,a);i!==o&&(m(R[e],[s,r,a],i,o,we),t=n=d=1)})),d&&m(h[e],[s,r],we)})),n&&m(w[e],[s],we)})),t&&m(p[e],[],we)}},he=()=>q(I,(e=>q(e,q))),ve=()=>O(I),Ce=e=>O(j(I,e)),Le=(e,t)=>O(j(j(I,e),t)),Re=(e,t,o)=>j(j(j(I,e),t),o),fe=e=>((e=>bo(e,A))(e)&&ye((()=>V(e))),ke),me=()=>(ye((()=>V({}))),ke),ye=e=>{if(-1==o)return;o++;const t=e();return o--,0==o&&(o=1,be(1),o=-1,be(0),o=0,u([a,s,n,r],D)),t},ke={getTables:he,getTableIds:ve,getTable:e=>q(j(I,e),q),getRowIds:Ce,getRow:(e,t)=>q(j(j(I,e),t)),getCellIds:Le,getCell:Re,hasTable:e=>P(I,e),hasRow:(e,t)=>P(j(I,e),t),hasCell:(e,t,o)=>P(j(j(I,e),t),o),getJson:()=>v(I),getSchemaJson:()=>v(l),setTables:fe,setTable:(e,t)=>(A(t,e)&&ye((()=>X(e,t))),ke),setRow:(e,t,o)=>(B(e,o)&&ee(e,t,o),ke),addRow:(e,t)=>{let o;return B(e,t)&&(o=oe(j(I,e)),ee(e,o,t)),o},setPartialRow:(e,t,o)=>(B(e,o,1)&&ye((()=>{const s=ne(e);ae(o,((o,n)=>te(e,s,t,n,o)))})),ke),setCell:(e,t,o,s)=>(k(F(e,o,x(s)?s(Re(e,t,o)):s),(s=>ye((()=>te(e,ne(e),t,o,s))))),ke),setJson:e=>{try{"{}"===e?me():fe(C(e))}catch{}return ke},setSchema:t=>{if((e=(e=>bo(e,(e=>bo(e,(e=>{if(!bo(e,((e,t)=>i(["type","default"],t))))return!1;const t=e.type;return!(!T(t)&&t!=d||(wo(e.default)!=t&&de(e,"default"),0))})))))(t))&&(U(t),!E(I))){const e=he();me(),fe(e)}return ke},delTables:me,delTable:e=>(P(I,e)&&ye((()=>ie(e))),ke),delRow:(e,t)=>(k(j(I,e),(o=>{P(o,t)&&ye((()=>le(e,o,t)))})),ke),delCell:(e,t,o,s)=>(k(j(I,e),(n=>k(j(n,t),(r=>{P(r,o)&&ye((()=>ce(e,n,t,r,o,s)))})))),ke),delSchema:()=>(U({}),e=!1,ke),transaction:ye,forEachTable:e=>J(I,((t,o)=>e(o,(e=>J(t,((t,o)=>e(o,(e=>$(t,e))))))))),forEachRow:(e,t)=>J(j(I,e),((e,o)=>t(o,(t=>$(e,t))))),forEachCell:(e,t,o)=>$(j(j(I,e),t),o),addTablesListener:(e,t)=>f(e,p[t?1:0]),addTableIdsListener:(e,t)=>f(e,g[t?1:0]),addTableListener:(e,t,o)=>f(t,w[o?1:0],[e]),addRowIdsListener:(e,t,o)=>f(t,b[o?1:0],[e]),addRowListener:(e,t,o,s)=>f(o,h[s?1:0],[e,t]),addCellIdsListener:(e,t,o,s)=>f(o,L[s?1:0],[e,t]),addCellListener:(e,t,o,s,n)=>f(s,R[n?1:0],[e,t,o]),callListener:e=>(M(e,[ve,Ce,Le],(e=>y(e[2])?[]:[,,].fill(Re(...e)))),ke),delListener:e=>(S(e),ke),getListenerStats:()=>({})};return se(ke)};export{co as BackwardCheckpointsView,Zt as CellView,lo as CheckpointView,uo as CurrentCheckpointView,Io as ForwardCheckpointsView,no as IndexView,io as LinkedRowsView,ao as LocalRowsView,oo as MetricView,Xt as Provider,ro as RemoteRowView,_t as RowView,so as SliceView,eo as TableView,to as TablesView,ie as createCheckpoints,pe as createCustomPersister,ve as createFilePersister,le as createIndexes,be as createLocalPersister,Ie as createMetrics,po as createRelationships,Le as createRemotePersister,he as createSessionPersister,vo as createStore,ce as defaultSorter,st as useAddRowCallback,_e as useCell,Ze as useCellIds,wt as useCellIdsListener,bt as useCellListener,Dt as useCheckpoint,Bt as useCheckpointIds,$t as useCheckpointIdsListener,Ht as useCheckpointListener,Ae as useCheckpoints,Et as useCreateCheckpoints,Lt as useCreateIndexes,ht as useCreateMetrics,Wt as useCreatePersister,kt as useCreateRelationships,Ke as useCreateStore,lt as useDelCellCallback,it as useDelRowCallback,at as useDelTableCallback,dt as useDelTablesCallback,Ft as useGoBackwardCallback,zt as useGoForwardCallback,Nt as useGoToCallback,xe as useIndexes,xt as useLinkedRowIds,Pt as useLinkedRowIdsListener,St as useLocalRowIds,At as useLocalRowIdsListener,vt as useMetric,Ct as useMetricListener,Se as useMetrics,jt as useRedoInformation,Me as useRelationships,Tt as useRemoteRowId,Mt as useRemoteRowIdListener,Ye as useRow,Xe as useRowIds,pt as useRowIdsListener,gt as useRowListener,rt as useSetCellCallback,Jt as useSetCheckpointCallback,nt as useSetPartialRowCallback,ot as useSetRowCallback,tt as useSetTableCallback,et as useSetTablesCallback,Rt as useSliceIds,mt as useSliceIdsListener,ft as useSliceRowIds,yt as useSliceRowIdsListener,Te as useStore,Ve as useTable,Ue as useTableIds,ut as useTableIdsListener,It as useTableListener,Qe as useTables,ct as useTablesListener,Ot as useUndoInformation};
|
package/lib/tinybase.js.gz
CHANGED
|
Binary file
|
package/lib/umd/react.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,s;e=this,s=function(e,s){"use strict";const o=e=>typeof e,t=o(""),d=(e,s)=>e.map(s),r=e=>null==e,n=(e,s,o)=>r(e)?o?.():s(e),i=()=>{},{createContext:l,useContext:a}=s,c=l([]),u=(e,s)=>{const o=a(c);return r(e)?o[s]:((e,s)=>n(e,(e=>e[s])))(o[s+1],e)},I=(e,s)=>{const d=u(e,s);return r(e)||(e=>o(e)==t)(e)?d:e},p=e=>I(e,0),w=e=>I(e,2),b=e=>I(e,4),C=e=>I(e,6),k=e=>I(e,8),{useCallback:R,useEffect:g,useMemo:h,useState:m}=s,T=(e,s,o=[])=>h((()=>s(e)),[e,...o]),L=(e,s,o,...t)=>{const d=s?.["get"+e]??(()=>o),r=d(...t),[,n]=m(r);return g((()=>{const o=s?.[`add${e}Listener`]?.(...t,(()=>n(d(...t))),!1);return()=>s?.delListener(o)}),[s,e,n,d,...t]),r},y=(e,s,o,t=[],d,...r)=>{g((()=>{const t=s?.[`add${e}Listener`]?.(...r,o,d);return()=>s?.delListener(t)}),[s,e,...t,d,...r])},v=(e,s,o,t=[],d=i,r=[],...l)=>{const a=p(e);return R((e=>n(a,(t=>n(o(e,t),(e=>d(t["set"+s](...l,e),e)))))),[a,s,...t,...r,...l])},S=(e,s,o=i,t=[],...d)=>{const r=p(e);return R((()=>o(r?.["del"+s](...d))),[r,s,...t,...d])},f=(e,s,o)=>{const t=k(e);return R((()=>t?.[s](o)),[t,s,o])},x=e=>L("TableIds",p(e),[]),P=(e,s)=>L("RowIds",p(s),[],e),V=(e,s,o)=>L("CellIds",p(o),[],e,s),M=(e,s,o,t)=>L("Cell",p(t),void 0,e,s,o),B=(e,s)=>L("Metric",w(s),void 0,e),D=(e,s)=>L("SliceIds",b(s),[],e),A=(e,s,o)=>L("SliceRowIds",b(o),[],e,s),F=(e,s,o)=>L("RemoteRowId",C(o),void 0,e,s),G=(e,s,o)=>L("LocalRowIds",C(o),[],e,s),j=(e,s,o)=>L("LinkedRowIds",C(o),[],e,s),E=e=>L("CheckpointIds",k(e),[[],void 0,[]]),$=(e,s)=>L("Checkpoint",k(s),void 0,e),_=e=>f(e,"goBackward"),q=e=>f(e,"goForward"),{createElement:O,useMemo:U}=s,z=e=>{const s=C(e);return[s,s?.getStore()]},H=({relationshipId:e,relationships:s,rowComponent:o=W,getRowComponentProps:t,separator:r,debugIds:n},i,l)=>{const[a,c]=z(s),u=a?.getLocalTableId(e),I=i(e,l,a);return N(d(I,(e=>O(o,{...K(t,e),key:e,tableId:u,rowId:e,store:c,debugIds:n}))),r,n,l)},J=e=>({checkpoints:s,checkpointComponent:o=Z,getCheckpointComponentProps:t,separator:r,debugIds:n})=>{const i=k(s);return N(d(e(E(i)),(e=>O(o,{...K(t,e),key:e,checkpoints:i,checkpointId:e,debugIds:n}))),r)},K=(e,s)=>r(e)?{}:e(s),N=(e,s,o,t)=>{const n=r(s)||!Array.isArray(e)?e:d(e,((e,o)=>o>0?[s,e]:e));return o?[t,":{",n,"}"]:n},Q=({tableId:e,rowId:s,cellId:o,store:t,debugIds:d})=>N(""+(M(e,s,o,t)??""),void 0,d,o),W=({tableId:e,rowId:s,store:o,cellComponent:t=Q,getCellComponentProps:r,separator:n,debugIds:i})=>N(d(V(e,s,o),(d=>O(t,{...K(r,d),key:d,tableId:e,rowId:s,cellId:d,store:o,debugIds:i}))),n,i,s),X=({tableId:e,store:s,rowComponent:o=W,getRowComponentProps:t,separator:r,debugIds:n})=>N(d(P(e,s),(d=>O(o,{...K(t,d),key:d,tableId:e,rowId:d,store:s,debugIds:n}))),r,n,e),Y=({indexId:e,sliceId:s,indexes:o,rowComponent:t=W,getRowComponentProps:r,separator:n,debugIds:i})=>{const l=b(o),a=l?.getStore(),c=l?.getTableId(e),u=A(e,s,l);return N(d(u,(e=>O(t,{...K(r,e),key:e,tableId:c,rowId:e,store:a,debugIds:i}))),n,i,s)},Z=({checkpoints:e,checkpointId:s,debugIds:o})=>N($(s,e)??"",void 0,o,s),ee=J((e=>e[0])),se=J((e=>r(e[1])?[]:[e[1]])),oe=J((e=>e[2]));e.BackwardCheckpointsView=ee,e.CellView=Q,e.CheckpointView=Z,e.CurrentCheckpointView=se,e.ForwardCheckpointsView=oe,e.IndexView=({indexId:e,indexes:s,sliceComponent:o=Y,getSliceComponentProps:t,separator:r,debugIds:n})=>N(d(D(e,s),(d=>O(o,{...K(t,d),key:d,indexId:e,sliceId:d,indexes:s,debugIds:n}))),r,n,e),e.LinkedRowsView=e=>H(e,j,e.firstRowId),e.LocalRowsView=e=>H(e,G,e.remoteRowId),e.MetricView=({metricId:e,metrics:s,debugIds:o})=>N(B(e,s)??"",void 0,o,e),e.Provider=({store:e,storesById:s,metrics:o,metricsById:t,indexes:d,indexesById:r,relationships:n,relationshipsById:i,checkpoints:l,checkpointsById:a,children:u})=>O(c.Provider,{value:U((()=>[e,s,o,t,d,r,n,i,l,a]),[e,s,o,t,d,r,n,i,l,a])},u),e.RemoteRowView=({relationshipId:e,localRowId:s,relationships:o,rowComponent:t=W,getRowComponentProps:d,debugIds:n})=>{const[i,l]=z(o),a=i?.getRemoteTableId(e),c=F(e,s,i);return N(r(a)||r(c)?null:O(t,{...K(d,c),key:c,tableId:a,rowId:c,store:l,debugIds:n}),void 0,n,s)},e.RowView=W,e.SliceView=Y,e.TableView=X,e.TablesView=({store:e,tableComponent:s=X,getTableComponentProps:o,separator:t,debugIds:r})=>N(d(x(e),(t=>O(s,{...K(o,t),key:t,tableId:t,store:e,debugIds:r}))),t),e.useAddRowCallback=(e,s,o=[],t,d=i,r=[])=>{const l=p(t);return R((o=>n(l,(t=>n(s(o,t),(s=>d(t.addRow(e,s),t,s)))))),[l,e,...o,...r])},e.useCell=M,e.useCellIds=V,e.useCellIdsListener=(e,s,o,t,d,r)=>y("CellIds",p(r),o,t,d,e,s),e.useCellListener=(e,s,o,t,d,r,n)=>y("Cell",p(n),t,d,r,e,s,o),e.useCheckpoint=$,e.useCheckpointIds=E,e.useCheckpointIdsListener=(e,s,o)=>y("CheckpointIds",k(o),e,s),e.useCheckpointListener=(e,s,o,t)=>y("Checkpoint",k(t),s,o,void 0,e),e.useCheckpoints=e=>u(e,8),e.useCreateCheckpoints=(e,s,o)=>T(e,s,o),e.useCreateIndexes=(e,s,o)=>T(e,s,o),e.useCreateMetrics=(e,s,o)=>T(e,s,o),e.useCreatePersister=(e,s,o=[],t,d=[])=>{const[,r]=m(),n=h((()=>s(e)),[e,...o]);return g((()=>{(async()=>{await(t?.(n)),r(1)})()}),[n,...d]),n},e.useCreateRelationships=(e,s,o)=>T(e,s,o),e.useCreateStore=(e,s=[])=>h(e,s),e.useDelCellCallback=(e,s,o,t,d,r,n)=>S(d,"Cell",r,n,e,s,o,t),e.useDelRowCallback=(e,s,o,t,d)=>S(o,"Row",t,d,e,s),e.useDelTableCallback=(e,s,o,t)=>S(s,"Table",o,t,e),e.useDelTablesCallback=(e,s,o)=>S(e,"Tables",s,o),e.useGoBackwardCallback=_,e.useGoForwardCallback=q,e.useGoToCallback=(e,s=[],o,t=i,d=[])=>{const r=k(o);return R((s=>n(r,(o=>n(e(s),(e=>t(o.goTo(e),e)))))),[r,...s,...d])},e.useIndexes=e=>u(e,4),e.useLinkedRowIds=j,e.useLinkedRowIdsListener=(e,s,o,t,d)=>y("LinkedRowIds",C(d),o,t,void 0,e,s),e.useLocalRowIds=G,e.useLocalRowIdsListener=(e,s,o,t,d)=>y("LocalRowIds",C(d),o,t,void 0,e,s),e.useMetric=B,e.useMetricListener=(e,s,o,t)=>y("Metric",w(t),s,o,void 0,e),e.useMetrics=e=>u(e,2),e.useRedoInformation=e=>{const s=k(e),[,,[o]]=E(s);return[!r(o),q(s),o,n(o,(e=>s?.getCheckpoint(e)))??""]},e.useRelationships=e=>u(e,6),e.useRemoteRowId=F,e.useRemoteRowIdListener=(e,s,o,t,d)=>y("RemoteRowId",C(d),o,t,void 0,e,s),e.useRow=(e,s,o)=>L("Row",p(o),{},e,s),e.useRowIds=P,e.useRowIdsListener=(e,s,o,t,d)=>y("RowIds",p(d),s,o,t,e),e.useRowListener=(e,s,o,t,d,r)=>y("Row",p(r),o,t,d,e,s),e.useSetCellCallback=(e,s,o,t,d,r,n,i)=>v(r,"Cell",t,d,n,i,e,s,o),e.useSetCheckpointCallback=(e=i,s=[],o,t=i,d=[])=>{const r=k(o);return R((s=>n(r,(o=>{const d=e(s);t(o.addCheckpoint(d),o,d)}))),[r,...s,...d])},e.useSetPartialRowCallback=(e,s,o,t,d,r,n)=>v(d,"PartialRow",o,t,r,n,e,s),e.useSetRowCallback=(e,s,o,t,d,r,n)=>v(d,"Row",o,t,r,n,e,s),e.useSetTableCallback=(e,s,o,t,d,r)=>v(t,"Table",s,o,d,r,e),e.useSetTablesCallback=(e,s,o,t,d)=>v(o,"Tables",e,s,t,d),e.useSliceIds=D,e.useSliceIdsListener=(e,s,o,t)=>y("SliceIds",b(t),s,o,void 0,e),e.useSliceRowIds=A,e.useSliceRowIdsListener=(e,s,o,t,d)=>y("SliceRowIds",b(d),o,t,void 0,e,s),e.useStore=e=>u(e,0),e.useTable=(e,s)=>L("Table",p(s),{},e),e.useTableIds=x,e.useTableIdsListener=(e,s,o,t)=>y("TableIds",p(t),e,s,o),e.useTableListener=(e,s,o,t,d)=>y("Table",p(d),s,o,t,e),e.useTables=e=>L("Tables",p(e),{}),e.useTablesListener=(e,s,o,t)=>y("Tables",p(t),e,s,o),e.useUndoInformation=e=>{const s=k(e),[o,t]=E(s);return[(d=o,!(0==(e=>e.length)(d))),_(s),t,n(t,(e=>s?.getCheckpoint(e)))??""];var d},Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],s):s((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseReact={},e.React);
|
|
1
|
+
var e,s;e=this,s=function(e,s){"use strict";const o=e=>typeof e,t=o(""),d=(e,s)=>e.map(s),r=e=>null==e,n=(e,s,o)=>r(e)?o?.():s(e),i=()=>{},{createContext:l,useContext:a}=s??{},c=l?.([]),u=(e,s)=>{const o=a(c);return r(e)?o[s]:((e,s)=>n(e,(e=>e[s])))(o[s+1],e)},I=(e,s)=>{const d=u(e,s);return r(e)||(e=>o(e)==t)(e)?d:e},p=e=>I(e,0),w=e=>I(e,2),b=e=>I(e,4),C=e=>I(e,6),k=e=>I(e,8),{useCallback:R,useEffect:g,useMemo:h,useState:m}=s??{},T=(e,s,o=[])=>h((()=>s(e)),[e,...o]),L=(e,s,o,...t)=>{const d=s?.["get"+e]??(()=>o),r=d(...t),[,n]=m(r);return g((()=>{const o=s?.[`add${e}Listener`]?.(...t,(()=>n(d(...t))),!1);return()=>s?.delListener(o)}),[s,e,n,d,...t]),r},y=(e,s,o,t=[],d,...r)=>{g((()=>{const t=s?.[`add${e}Listener`]?.(...r,o,d);return()=>s?.delListener(t)}),[s,e,...t,d,...r])},v=(e,s,o,t=[],d=i,r=[],...l)=>{const a=p(e);return R((e=>n(a,(t=>n(o(e,t),(e=>d(t["set"+s](...l,e),e)))))),[a,s,...t,...r,...l])},S=(e,s,o=i,t=[],...d)=>{const r=p(e);return R((()=>o(r?.["del"+s](...d))),[r,s,...t,...d])},f=(e,s,o)=>{const t=k(e);return R((()=>t?.[s](o)),[t,s,o])},x=e=>L("TableIds",p(e),[]),P=(e,s)=>L("RowIds",p(s),[],e),V=(e,s,o)=>L("CellIds",p(o),[],e,s),M=(e,s,o,t)=>L("Cell",p(t),void 0,e,s,o),B=(e,s)=>L("Metric",w(s),void 0,e),D=(e,s)=>L("SliceIds",b(s),[],e),A=(e,s,o)=>L("SliceRowIds",b(o),[],e,s),F=(e,s,o)=>L("RemoteRowId",C(o),void 0,e,s),G=(e,s,o)=>L("LocalRowIds",C(o),[],e,s),j=(e,s,o)=>L("LinkedRowIds",C(o),[],e,s),E=e=>L("CheckpointIds",k(e),[[],void 0,[]]),$=(e,s)=>L("Checkpoint",k(s),void 0,e),_=e=>f(e,"goBackward"),q=e=>f(e,"goForward"),{createElement:O,useMemo:U}=s??{},z=e=>{const s=C(e);return[s,s?.getStore()]},H=({relationshipId:e,relationships:s,rowComponent:o=W,getRowComponentProps:t,separator:r,debugIds:n},i,l)=>{const[a,c]=z(s),u=a?.getLocalTableId(e),I=i(e,l,a);return N(d(I,(e=>O(o,{...K(t,e),key:e,tableId:u,rowId:e,store:c,debugIds:n}))),r,n,l)},J=e=>({checkpoints:s,checkpointComponent:o=Z,getCheckpointComponentProps:t,separator:r,debugIds:n})=>{const i=k(s);return N(d(e(E(i)),(e=>O(o,{...K(t,e),key:e,checkpoints:i,checkpointId:e,debugIds:n}))),r)},K=(e,s)=>r(e)?{}:e(s),N=(e,s,o,t)=>{const n=r(s)||!Array.isArray(e)?e:d(e,((e,o)=>o>0?[s,e]:e));return o?[t,":{",n,"}"]:n},Q=({tableId:e,rowId:s,cellId:o,store:t,debugIds:d})=>N(""+(M(e,s,o,t)??""),void 0,d,o),W=({tableId:e,rowId:s,store:o,cellComponent:t=Q,getCellComponentProps:r,separator:n,debugIds:i})=>N(d(V(e,s,o),(d=>O(t,{...K(r,d),key:d,tableId:e,rowId:s,cellId:d,store:o,debugIds:i}))),n,i,s),X=({tableId:e,store:s,rowComponent:o=W,getRowComponentProps:t,separator:r,debugIds:n})=>N(d(P(e,s),(d=>O(o,{...K(t,d),key:d,tableId:e,rowId:d,store:s,debugIds:n}))),r,n,e),Y=({indexId:e,sliceId:s,indexes:o,rowComponent:t=W,getRowComponentProps:r,separator:n,debugIds:i})=>{const l=b(o),a=l?.getStore(),c=l?.getTableId(e),u=A(e,s,l);return N(d(u,(e=>O(t,{...K(r,e),key:e,tableId:c,rowId:e,store:a,debugIds:i}))),n,i,s)},Z=({checkpoints:e,checkpointId:s,debugIds:o})=>N($(s,e)??"",void 0,o,s),ee=J((e=>e[0])),se=J((e=>r(e[1])?[]:[e[1]])),oe=J((e=>e[2]));e.BackwardCheckpointsView=ee,e.CellView=Q,e.CheckpointView=Z,e.CurrentCheckpointView=se,e.ForwardCheckpointsView=oe,e.IndexView=({indexId:e,indexes:s,sliceComponent:o=Y,getSliceComponentProps:t,separator:r,debugIds:n})=>N(d(D(e,s),(d=>O(o,{...K(t,d),key:d,indexId:e,sliceId:d,indexes:s,debugIds:n}))),r,n,e),e.LinkedRowsView=e=>H(e,j,e.firstRowId),e.LocalRowsView=e=>H(e,G,e.remoteRowId),e.MetricView=({metricId:e,metrics:s,debugIds:o})=>N(B(e,s)??"",void 0,o,e),e.Provider=({store:e,storesById:s,metrics:o,metricsById:t,indexes:d,indexesById:r,relationships:n,relationshipsById:i,checkpoints:l,checkpointsById:a,children:u})=>O(c.Provider,{value:U((()=>[e,s,o,t,d,r,n,i,l,a]),[e,s,o,t,d,r,n,i,l,a])},u),e.RemoteRowView=({relationshipId:e,localRowId:s,relationships:o,rowComponent:t=W,getRowComponentProps:d,debugIds:n})=>{const[i,l]=z(o),a=i?.getRemoteTableId(e),c=F(e,s,i);return N(r(a)||r(c)?null:O(t,{...K(d,c),key:c,tableId:a,rowId:c,store:l,debugIds:n}),void 0,n,s)},e.RowView=W,e.SliceView=Y,e.TableView=X,e.TablesView=({store:e,tableComponent:s=X,getTableComponentProps:o,separator:t,debugIds:r})=>N(d(x(e),(t=>O(s,{...K(o,t),key:t,tableId:t,store:e,debugIds:r}))),t),e.useAddRowCallback=(e,s,o=[],t,d=i,r=[])=>{const l=p(t);return R((o=>n(l,(t=>n(s(o,t),(s=>d(t.addRow(e,s),t,s)))))),[l,e,...o,...r])},e.useCell=M,e.useCellIds=V,e.useCellIdsListener=(e,s,o,t,d,r)=>y("CellIds",p(r),o,t,d,e,s),e.useCellListener=(e,s,o,t,d,r,n)=>y("Cell",p(n),t,d,r,e,s,o),e.useCheckpoint=$,e.useCheckpointIds=E,e.useCheckpointIdsListener=(e,s,o)=>y("CheckpointIds",k(o),e,s),e.useCheckpointListener=(e,s,o,t)=>y("Checkpoint",k(t),s,o,void 0,e),e.useCheckpoints=e=>u(e,8),e.useCreateCheckpoints=(e,s,o)=>T(e,s,o),e.useCreateIndexes=(e,s,o)=>T(e,s,o),e.useCreateMetrics=(e,s,o)=>T(e,s,o),e.useCreatePersister=(e,s,o=[],t,d=[])=>{const[,r]=m(),n=h((()=>s(e)),[e,...o]);return g((()=>{(async()=>{await(t?.(n)),r(1)})()}),[n,...d]),n},e.useCreateRelationships=(e,s,o)=>T(e,s,o),e.useCreateStore=(e,s=[])=>h(e,s),e.useDelCellCallback=(e,s,o,t,d,r,n)=>S(d,"Cell",r,n,e,s,o,t),e.useDelRowCallback=(e,s,o,t,d)=>S(o,"Row",t,d,e,s),e.useDelTableCallback=(e,s,o,t)=>S(s,"Table",o,t,e),e.useDelTablesCallback=(e,s,o)=>S(e,"Tables",s,o),e.useGoBackwardCallback=_,e.useGoForwardCallback=q,e.useGoToCallback=(e,s=[],o,t=i,d=[])=>{const r=k(o);return R((s=>n(r,(o=>n(e(s),(e=>t(o.goTo(e),e)))))),[r,...s,...d])},e.useIndexes=e=>u(e,4),e.useLinkedRowIds=j,e.useLinkedRowIdsListener=(e,s,o,t,d)=>y("LinkedRowIds",C(d),o,t,void 0,e,s),e.useLocalRowIds=G,e.useLocalRowIdsListener=(e,s,o,t,d)=>y("LocalRowIds",C(d),o,t,void 0,e,s),e.useMetric=B,e.useMetricListener=(e,s,o,t)=>y("Metric",w(t),s,o,void 0,e),e.useMetrics=e=>u(e,2),e.useRedoInformation=e=>{const s=k(e),[,,[o]]=E(s);return[!r(o),q(s),o,n(o,(e=>s?.getCheckpoint(e)))??""]},e.useRelationships=e=>u(e,6),e.useRemoteRowId=F,e.useRemoteRowIdListener=(e,s,o,t,d)=>y("RemoteRowId",C(d),o,t,void 0,e,s),e.useRow=(e,s,o)=>L("Row",p(o),{},e,s),e.useRowIds=P,e.useRowIdsListener=(e,s,o,t,d)=>y("RowIds",p(d),s,o,t,e),e.useRowListener=(e,s,o,t,d,r)=>y("Row",p(r),o,t,d,e,s),e.useSetCellCallback=(e,s,o,t,d,r,n,i)=>v(r,"Cell",t,d,n,i,e,s,o),e.useSetCheckpointCallback=(e=i,s=[],o,t=i,d=[])=>{const r=k(o);return R((s=>n(r,(o=>{const d=e(s);t(o.addCheckpoint(d),o,d)}))),[r,...s,...d])},e.useSetPartialRowCallback=(e,s,o,t,d,r,n)=>v(d,"PartialRow",o,t,r,n,e,s),e.useSetRowCallback=(e,s,o,t,d,r,n)=>v(d,"Row",o,t,r,n,e,s),e.useSetTableCallback=(e,s,o,t,d,r)=>v(t,"Table",s,o,d,r,e),e.useSetTablesCallback=(e,s,o,t,d)=>v(o,"Tables",e,s,t,d),e.useSliceIds=D,e.useSliceIdsListener=(e,s,o,t)=>y("SliceIds",b(t),s,o,void 0,e),e.useSliceRowIds=A,e.useSliceRowIdsListener=(e,s,o,t,d)=>y("SliceRowIds",b(d),o,t,void 0,e,s),e.useStore=e=>u(e,0),e.useTable=(e,s)=>L("Table",p(s),{},e),e.useTableIds=x,e.useTableIdsListener=(e,s,o,t)=>y("TableIds",p(t),e,s,o),e.useTableListener=(e,s,o,t,d)=>y("Table",p(d),s,o,t,e),e.useTables=e=>L("Tables",p(e),{}),e.useTablesListener=(e,s,o,t)=>y("Tables",p(t),e,s,o),e.useUndoInformation=e=>{const s=k(e),[o,t]=E(s);return[(d=o,!(0==(e=>e.length)(d))),_(s),t,n(t,(e=>s?.getCheckpoint(e)))??""];var d},Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],s):s((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBaseReact={},e.React);
|
package/lib/umd/react.js.gz
CHANGED
|
Binary file
|
package/lib/umd/tinybase.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t;e=this,t=function(e,t,s){"use strict";const o=e=>typeof e,n="",r=o(n),d=o(!0),i=o(0),a=o(o),l="type",c="default",u="utf8",I=(e,t)=>e.includes(t),p=(e,t)=>e.every(((s,o)=>0==o||t(e[o-1],s)<=0)),w=(e,t)=>e.sort(t),b=(e,t)=>e.forEach(t),C=(e,t)=>e.map(t),g=e=>L(e,((e,t)=>e+t),0),h=e=>e.length,R=e=>0==h(e),L=(e,t,s)=>e.reduce(t,s),k=e=>e.slice(1),f=e=>JSON.stringify(e,((e,t)=>y(t,Map)?L([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),v=JSON.parse,m=Math.max,T=Math.min,S=isFinite,y=(e,t)=>e instanceof t,x=e=>null==e,M=(e,t,s)=>x(e)?s?.():t(e),P=e=>e==r||e==d,V=e=>o(e)==r,A=e=>o(e)==a,D=()=>{},E=e=>e.size,B=(e,t)=>e?.has(t)??!1,F=e=>x(e)||0==E(e),J=e=>[...e?.values()??[]],O=e=>e.clear(),j=(e,t)=>e?.forEach(t),z=(e,t)=>e?.delete(t),N=e=>new Map(e),G=(e=N)=>[e(),e()],q=e=>[...e?.keys()??[]],$=(e,t)=>e?.get(t),_=(e,t)=>j(e,((e,s)=>t(s,e))),H=(e,t,s)=>x(s)?(z(e,t),e):e?.set(t,s),U=(e,t,s,o)=>(B(e,t)||(o?.(s),e.set(t,s)),$(e,t)),W=(e,t)=>{const s={},o=t??(e=>e);return j(e,((e,t)=>s[t]=o(e))),s},K=(e,t)=>{const s=N(),o=t??(e=>e);return j(e,((e,t)=>s.set(t,o(e)))),s},Q=e=>new Set(e),X=(e,t)=>e?.add(t),Y=(e,t,s)=>{const o=e.hasRow,n=N(),r=N(),d=N(),i=N(),a=N(),l=t=>M($(a,t),(s=>{j(s,e.delListener),H(a,t)})),c=e=>{H(n,e),H(r,e),H(d,e),H(i,e),l(e)};return[()=>e,()=>q(n),e=>$(n,e),e=>$(r,e),(e,t)=>H(r,e,t),(c,u,I,p,w)=>{const C=N(),g=N();H(n,c,u),B(r,c)||(H(r,c,t()),H(d,c,N()),H(i,c,N()));const h=$(d,c),R=$(i,c),L=t=>{const n=s=>e.getCell(u,t,s),r=$(h,t),d=o(u,t)?s(p(n,t)):void 0;if(r!=d&&H(C,t,[r,d]),!x(w)){const e=$(R,t),s=o(u,t)?w(n,t):void 0;e!=s&&H(g,t,s)}},k=e=>{I((()=>{j(C,(([,e],t)=>H(h,t,e))),j(g,((e,t)=>H(R,t,e)))}),C,g,h,R,e),O(C),O(g)};_(h,L),e.hasTable(u)&&b(e.getRowIds(u),(e=>{B(h,e)||L(e)})),k(!0),l(c),H(a,c,Q([e.addRowListener(u,null,((e,t,s)=>L(s))),e.addTableListener(u,(()=>k()))]))},c,()=>_(a,c)]},Z=(e,t)=>V(e)?t=>t(e):e??(()=>t??n),ee=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},te=(e,t,s)=>h(s)<2?X(R(s)?e:U(e,s[0],Q()),t):te(U(e,s[0],N()),t,k(s)),se=e=>{const t=(s,o,...n)=>M(s,(s=>R(n)?e(s,o):b([n[0],null],(e=>t($(s,e),o,...k(n))))));return t},oe=e=>{let t,s=0;const o=[],n=N();return[(r,d,i=[])=>{t??(t=e());const a=o.pop()??""+s++;return H(n,a,[r,d,i]),te(d,a,i),a},(e,s=[],...o)=>se(j)(e,(e=>M($(n,e),(([e])=>e(t,...s,...o)))),...s),e=>M($(n,e),(([,t,s])=>(se(z)(t,e,...s),H(n,e),h(o)<1e3&&o.push(e),s)),(()=>[])),(e,s,o)=>M($(n,e),(([e,,n])=>{const r=(...d)=>{const i=h(d);i==h(n)?e(t,...d,...o(d)):x(n[i])?b(s[i](...d),(e=>r(...d,e))):r(...d,n[i])};r()}))]},ne=Object,re=ne.keys,de=ne.isFrozen,ie=ne.freeze,ae=(e,t)=>M(e,(e=>e[t])),le=(e,t)=>!x(ae(e,t)),ce=(e,t)=>delete e[t],ue=(e,t)=>b(ne.entries(e),(([e,s])=>t(s,e))),Ie=ee((e=>{let t,s,o,n=100,r=N(),d=1;const i=Q(),a=N(),[l,c,u]=oe((()=>D)),p=N(),w=N(),C=[],g=[],L=(t,s)=>{d=0,e.transaction((()=>j($(p,s),((s,o)=>j(s,((s,n)=>j(s,((s,r)=>x(s[t])?e.delCell(o,n,r,!0):e.setCell(o,n,r,s[t]))))))))),d=1},k=e=>{H(p,e),H(w,e),c(a,[e])},f=(e,t)=>b(((e,t)=>e.splice(0,t))(e,t??h(e)),k),v=()=>f(C,h(C)-n),m=e.addCellListener(null,null,null,((e,s,n,i,a,l)=>{if(d){M(t,(()=>{C.push(t),v(),f(g),t=void 0,o=1}));const e=U(r,s,N()),d=U(e,n,N()),c=U(d,i,[void 0,void 0],(e=>e[0]=l));c[1]=a,c[0]===c[1]&&F(H(d,i))&&F(H(e,n))&&F(H(r,s))&&(t=C.pop(),o=1),P()}})),T=(e="")=>(x(t)&&(t=""+s++,H(p,t,r),A(t,e),r=N(),o=1),t),S=()=>{R(C)||(g.unshift(T()),L(0,t),t=C.pop(),o=1)},y=()=>{R(g)||(C.push(t),t=g.shift(),L(1,t),o=1)},P=()=>{o&&(c(i),o=0)},V=e=>{const t=T(e);return P(),t},A=(e,t)=>(B(p,e)&&$(w,e)!==t&&(H(w,e,t),c(a,[e])),D),D={setSize:e=>(n=e,v(),D),addCheckpoint:V,setCheckpoint:A,getStore:()=>e,getCheckpointIds:()=>[[...C],t,[...g]],getCheckpoint:e=>$(w,e),goBackward:()=>(S(),P(),D),goForward:()=>(y(),P(),D),goTo:e=>{const s=I(C,e)?S:I(g,e)?y:null;for(;!x(s)&&e!=t;)s();return P(),D},addCheckpointIdsListener:e=>l(e,i),addCheckpointListener:(e,t)=>l(t,a,[e]),delListener:e=>(u(e),D),clear:()=>(f(C),f(g),x(t)||k(t),t=void 0,s=0,V(),D),destroy:()=>{e.delListener(m)},getListenerStats:()=>({})};return ie(D.clear())})),pe=ee((e=>{const t=N(),s=N(),[o,r,d,i,a,l,c,u]=Y(e,N,(e=>x(e)?n:e+n)),[I,b,C]=oe((()=>g)),g={setIndexDefinition:(e,o,n,r,d,c=we)=>{const u=x(d)?void 0:([e],[t])=>d(e,t);return l(e,o,((o,n,d,l,I)=>{let C=0;const g=Q(),h=Q(),R=i(e);if(j(n,(([e,t],s)=>{x(e)||(X(g,e),M($(R,e),(t=>{z(t,s),F(t)&&(H(R,e),C=1)}))),x(t)||(X(g,t),B(R,t)||(H(R,t,Q()),C=1),X($(R,t),s),x(r)||X(h,t))})),o(),_(d,(e=>M($(l,e),(e=>X(h,e))))),F(I)||j(h,(e=>{const t=(t,s)=>c($(I,t),$(I,s),e),s=[...$(R,e)];p(s,t)||(H(R,e,Q(w(s,t))),X(g,e))})),C){if(!x(u)){const t=[...R];p(t,u)||a(e,N(w(t,u)))}b(t,[e])}j(g,(t=>b(s,[e,t])))}),Z(n),M(r,Z)),g},delIndexDefinition:e=>(c(e),g),getStore:o,getIndexIds:r,getTableId:d,getSliceIds:e=>q(i(e)),getSliceRowIds:(e,t)=>J($(i(e),t)),addSliceIdsListener:(e,s)=>I(s,t,[e]),addSliceRowIdsListener:(e,t,o)=>I(o,s,[e,t]),delListener:e=>(C(e),g),destroy:u,getListenerStats:()=>({})};return ie(g)})),we=(e,t)=>e<t?-1:1,be=N([["avg",[(e,t)=>g(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,o)=>e+(t-s)/o]],["max",[e=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:m(t,e)]],["min",[e=>T(...e),(e,t)=>T(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:T(t,e)]],["sum",[e=>g(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Ce=ee((e=>{const t=N(),[s,o,r,d,i,a,l,c]=Y(e,D,(e=>isNaN(e)||x(e)||!0===e||!1===e||e===n?void 0:1*e)),[u,I,p]=oe((()=>w)),w={setMetricDefinition:(e,s,o,n,r,l,c)=>{const u=A(o)?[o,r,l,c]:$(be,o)??$(be,"sum");return a(e,s,((s,o,n,r,a,l)=>{let c=d(e),p=E(r);const[w,b,C,g]=u;l=l||x(c),j(o,(([e,t])=>{l||(c=x(e)?b?.(c,t,p++):x(t)?C?.(c,e,p--):g?.(c,t,e,p)),l=l||x(c)})),s(),F(r)?c=void 0:l&&(c=w(J(r),E(r))),S(c)||(c=void 0);const h=d(e);c!=h&&(i(e,c),I(t,[e],c,h))}),Z(n,1)),w},delMetricDefinition:e=>(l(e),w),getStore:s,getMetricIds:o,getTableId:r,getMetric:d,addMetricListener:(e,s)=>u(s,t,[e]),delListener:e=>(p(e),w),destroy:c,getListenerStats:()=>({})};return ie(w)})),ge=(e,t,s,o,n)=>{let r,d=0;const i={load:async s=>{if(2!=d){d=1;const o=await t();x(o)||""==o?e.setTables(s):e.setJson(o),d=0}return i},startAutoLoad:async e=>(i.stopAutoLoad(),await i.load(e),o(i.load),i),stopAutoLoad:()=>(n(),i),save:async()=>(1!=d&&(d=2,await s(e.getJson()),d=0),i),startAutoSave:async()=>(await i.stopAutoSave().save(),r=e.addTablesListener((()=>i.save())),i),stopAutoSave:()=>(M(r,e.delListener),i),getStore:()=>e,destroy:()=>i.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ie(i)},he="storage",Re=window,Le=(e,t,s)=>{let o;return ge(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{o=o=>{o.storageArea===s&&o.key===t&&e()},Re.addEventListener(he,o)}),(()=>{Re.removeEventListener(he,o),o=void 0}))},ke=e=>e.headers.get("ETag"),{createContext:fe,useContext:ve}=s,me=fe([]),Te=(e,t)=>{const s=ve(me);return x(e)?s[t]:ae(s[t+1],e)},Se=(e,t)=>{const s=Te(e,t);return x(e)||V(e)?s:e},ye=e=>Se(e,0),xe=e=>Se(e,2),Me=e=>Se(e,4),Pe=e=>Se(e,6),Ve=e=>Se(e,8),{useCallback:Ae,useEffect:De,useMemo:Ee,useState:Be}=s,Fe=(e,t,s=[])=>Ee((()=>t(e)),[e,...s]),Je=(e,t,s,...o)=>{const n=t?.["get"+e]??(()=>s),r=n(...o),[,d]=Be(r);return De((()=>{const s=t?.[`add${e}Listener`]?.(...o,(()=>d(n(...o))),!1);return()=>t?.delListener(s)}),[t,e,d,n,...o]),r},Oe=(e,t,s,o=[],n,...r)=>{De((()=>{const o=t?.[`add${e}Listener`]?.(...r,s,n);return()=>t?.delListener(o)}),[t,e,...o,n,...r])},je=(e,t,s,o=[],n=D,r=[],...d)=>{const i=ye(e);return Ae((e=>M(i,(o=>M(s(e,o),(e=>n(o["set"+t](...d,e),e)))))),[i,t,...o,...r,...d])},ze=(e,t,s=D,o=[],...n)=>{const r=ye(e);return Ae((()=>s(r?.["del"+t](...n))),[r,t,...o,...n])},Ne=(e,t,s)=>{const o=Ve(e);return Ae((()=>o?.[t](s)),[o,t,s])},Ge=e=>Je("TableIds",ye(e),[]),qe=(e,t)=>Je("RowIds",ye(t),[],e),$e=(e,t,s)=>Je("CellIds",ye(s),[],e,t),_e=(e,t,s,o)=>Je("Cell",ye(o),void 0,e,t,s),He=(e,t)=>Je("Metric",xe(t),void 0,e),Ue=(e,t)=>Je("SliceIds",Me(t),[],e),We=(e,t,s)=>Je("SliceRowIds",Me(s),[],e,t),Ke=(e,t,s)=>Je("RemoteRowId",Pe(s),void 0,e,t),Qe=(e,t,s)=>Je("LocalRowIds",Pe(s),[],e,t),Xe=(e,t,s)=>Je("LinkedRowIds",Pe(s),[],e,t),Ye=e=>Je("CheckpointIds",Ve(e),[[],void 0,[]]),Ze=(e,t)=>Je("Checkpoint",Ve(t),void 0,e),et=e=>Ne(e,"goBackward"),tt=e=>Ne(e,"goForward"),{createElement:st,useMemo:ot}=s,nt=e=>{const t=Pe(e);return[t,t?.getStore()]},rt=({relationshipId:e,relationships:t,rowComponent:s=ct,getRowComponentProps:o,separator:n,debugIds:r},d,i)=>{const[a,l]=nt(t),c=a?.getLocalTableId(e),u=d(e,i,a);return at(C(u,(e=>st(s,{...it(o,e),key:e,tableId:c,rowId:e,store:l,debugIds:r}))),n,r,i)},dt=e=>({checkpoints:t,checkpointComponent:s=pt,getCheckpointComponentProps:o,separator:n,debugIds:r})=>{const d=Ve(t);return at(C(e(Ye(d)),(e=>st(s,{...it(o,e),key:e,checkpoints:d,checkpointId:e,debugIds:r}))),n)},it=(e,t)=>x(e)?{}:e(t),at=(e,t,s,o)=>{const n=x(t)||!Array.isArray(e)?e:C(e,((e,s)=>s>0?[t,e]:e));return s?[o,":{",n,"}"]:n},lt=({tableId:e,rowId:t,cellId:s,store:o,debugIds:r})=>at(n+(_e(e,t,s,o)??n),void 0,r,s),ct=({tableId:e,rowId:t,store:s,cellComponent:o=lt,getCellComponentProps:n,separator:r,debugIds:d})=>at(C($e(e,t,s),(r=>st(o,{...it(n,r),key:r,tableId:e,rowId:t,cellId:r,store:s,debugIds:d}))),r,d,t),ut=({tableId:e,store:t,rowComponent:s=ct,getRowComponentProps:o,separator:n,debugIds:r})=>at(C(qe(e,t),(n=>st(s,{...it(o,n),key:n,tableId:e,rowId:n,store:t,debugIds:r}))),n,r,e),It=({indexId:e,sliceId:t,indexes:s,rowComponent:o=ct,getRowComponentProps:n,separator:r,debugIds:d})=>{const i=Me(s),a=i?.getStore(),l=i?.getTableId(e),c=We(e,t,i);return at(C(c,(e=>st(o,{...it(n,e),key:e,tableId:l,rowId:e,store:a,debugIds:d}))),r,d,t)},pt=({checkpoints:e,checkpointId:t,debugIds:s})=>at(Ze(t,e)??"",void 0,s,t),wt=dt((e=>e[0])),bt=dt((e=>x(e[1])?[]:[e[1]])),Ct=dt((e=>e[2])),gt=ee((e=>{const t=N(),s=N(),o=N(),r=N(),[d,i,a,l,c,u,I,p]=Y(e,(()=>[N(),N(),N(),N()]),(e=>x(e)?void 0:e+n)),[w,b,C]=oe((()=>L)),g=(e,t,s)=>M(l(e),(([o,,n])=>{if(!B(n,t)){const r=Q();if(a(e)!=R(e))X(r,t);else{let e=t;for(;!x(e)&&!B(r,e);)X(r,e),e=$(o,e)}if(s)return r;H(n,t,r)}return $(n,t)})),h=(e,t)=>M(l(e),(([,,e])=>H(e,t))),R=e=>$(t,e),L={setRelationshipDefinition:(e,n,d,i)=>(H(t,e,d),u(e,n,((t,n)=>{const d=Q(),i=Q(),a=Q(),[c,u]=l(e);j(n,(([t,s],o)=>{x(t)||(X(i,t),M($(u,t),(e=>{z(e,o),F(e)&&H(u,t)}))),x(s)||(X(i,s),B(u,s)||H(u,s,Q()),X($(u,s),o)),X(d,o),H(c,o,s),_($(r,e),(t=>{B(g(e,t),o)&&X(a,t)}))})),t(),j(d,(t=>b(s,[e,t]))),j(i,(t=>b(o,[e,t]))),j(a,(t=>{h(e,t),b(r,[e,t])}))}),Z(i)),L),delRelationshipDefinition:e=>(H(t,e),I(e),L),getStore:d,getRelationshipIds:i,getLocalTableId:a,getRemoteTableId:R,getRemoteRowId:(e,t)=>$(l(e)?.[0],t),getLocalRowIds:(e,t)=>J($(l(e)?.[1],t)),getLinkedRowIds:(e,t)=>x(l(e))?[t]:J(g(e,t,!0)),addRemoteRowIdListener:(e,t,o)=>w(o,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>w(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(g(e,t),w(s,r,[e,t])),delListener:e=>(h(...C(e)),L),destroy:p,getListenerStats:()=>({})};return ie(L)})),ht=(e,t,s,o=H)=>{const n=(r=q(e),d=e=>!le(t,e),r.filter(d));var r,d;return b(re(t),(o=>s(e,o,t[o]))),b(n,(t=>o(e,t))),e},Rt=e=>{const t=o(e);return P(t)||t==i&&S(e)?t:void 0},Lt=(e,t)=>!(x(e)||!(e=>y(e,ne)&&e.constructor==ne)(e)||de(e)||(ue(e,((s,o)=>{t(s,o)||ce(e,o)})),(e=>R(re(e)))(e))),kt=(e,t,s)=>H(e,t,$(e,t)==-s?void 0:s);e.BackwardCheckpointsView=wt,e.CellView=lt,e.CheckpointView=pt,e.CurrentCheckpointView=bt,e.ForwardCheckpointsView=Ct,e.IndexView=({indexId:e,indexes:t,sliceComponent:s=It,getSliceComponentProps:o,separator:n,debugIds:r})=>at(C(Ue(e,t),(n=>st(s,{...it(o,n),key:n,indexId:e,sliceId:n,indexes:t,debugIds:r}))),n,r,e),e.LinkedRowsView=e=>rt(e,Xe,e.firstRowId),e.LocalRowsView=e=>rt(e,Qe,e.remoteRowId),e.MetricView=({metricId:e,metrics:t,debugIds:s})=>at(He(e,t)??n,void 0,s,e),e.Provider=({store:e,storesById:t,metrics:s,metricsById:o,indexes:n,indexesById:r,relationships:d,relationshipsById:i,checkpoints:a,checkpointsById:l,children:c})=>st(me.Provider,{value:ot((()=>[e,t,s,o,n,r,d,i,a,l]),[e,t,s,o,n,r,d,i,a,l])},c),e.RemoteRowView=({relationshipId:e,localRowId:t,relationships:s,rowComponent:o=ct,getRowComponentProps:n,debugIds:r})=>{const[d,i]=nt(s),a=d?.getRemoteTableId(e),l=Ke(e,t,d);return at(x(a)||x(l)?null:st(o,{...it(n,l),key:l,tableId:a,rowId:l,store:i,debugIds:r}),void 0,r,t)},e.RowView=ct,e.SliceView=It,e.TableView=ut,e.TablesView=({store:e,tableComponent:t=ut,getTableComponentProps:s,separator:o,debugIds:n})=>at(C(Ge(e),(o=>st(t,{...it(s,o),key:o,tableId:o,store:e,debugIds:n}))),o),e.createCheckpoints=Ie,e.createCustomPersister=ge,e.createFilePersister=(e,s)=>{let o;return ge(e,(async()=>{try{return await t.promises.readFile(s,u)}catch{}}),(async e=>{try{await t.promises.writeFile(s,e,u)}catch{}}),(e=>{o=t.watch(s,e)}),(()=>{o?.close(),o=void 0}))},e.createIndexes=pe,e.createLocalPersister=(e,t)=>Le(e,t,localStorage),e.createMetrics=Ce,e.createRelationships=gt,e.createRemotePersister=(e,t,s,o)=>{let n,r;return ge(e,(async()=>{const e=await fetch(t);return r=ke(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{n=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),o=ke(s);x(r)||x(o)||o==r||(r=o,e())}),1e3*o)}),(()=>{M(n,clearInterval),n=void 0}))},e.createSessionPersister=(e,t)=>Le(e,t,sessionStorage),e.createStore=()=>{let e,t=0,s=0;const o=N(),n=N(),r=N(),d=N(),a=N(),u=N(),p=N(),w=G(Q),C=G(Q),g=G(),h=G(),R=G(),L=G(),k=G(),[m,T,S,y]=oe((()=>ye)),V=(t,s)=>(!e||B(a,s))&&Lt(t,(e=>D(s,e))),D=(e,t,s)=>Lt(s?t:J(t,e),((s,o)=>M(E(e,o,s),(e=>(t[o]=e,!0)),(()=>!1)))),E=(t,s,o)=>e?M($($(a,t),s),(e=>Rt(o)!=e.type?e.default:o)):x(Rt(o))?void 0:o,J=(e,t)=>(M($(u,t),(t=>ue(t,((t,s)=>{le(e,s)||(e[s]=t)})))),e),z=e=>ht(a,e,((e,t,s)=>{const o={};ht(U(a,t,N()),s,((e,t,s)=>{H(e,t,s),M(s.default,(e=>o[t]=e))})),H(u,t,o)}),((e,t)=>{H(a,t),H(u,t)})),X=e=>ht(p,e,((e,t,s)=>Y(t,s)),((e,t)=>de(t))),Y=(e,t)=>ht(U(p,e,N(),(()=>pe(e,1))),t,((t,s,o)=>Z(e,t,s,o)),((t,s)=>ae(e,t,s))),Z=(e,t,s,o,n)=>ht(U(t,s,N(),(()=>we(e,s,1))),o,((t,o,n)=>ee(e,s,t,o,n)),((o,r)=>Ie(e,t,s,o,r,n))),ee=(e,t,s,o,n)=>{B(s,o)||be(e,t,o,1);const r=$(s,o);n!==r&&(Ce(e,t,o,r),H(s,o,n))},te=(e,t,s)=>Se((()=>Z(e,re(e),t,s))),se=(e,t,s,o,n)=>M($(t,s),(t=>ee(e,s,t,o,n)),(()=>Z(e,t,s,J({[o]:n},e)))),ne=e=>{const s=""+t++;return B(e,s)?ne(e):s},re=e=>$(p,e)??Y(e,{}),de=e=>Y(e,{}),ae=(e,t,s)=>Z(e,t,s,{},!0),Ie=(e,t,s,o,n,r)=>{const d=$(u,e)?.[n];if(!x(d)&&!r)return ee(e,s,o,n,d);const i=t=>{Ce(e,s,t,$(o,t)),be(e,s,t,-1),H(o,t)};x(d)?i(n):_(o,i),F(o)&&(we(e,s,-1),F(H(t,s))&&(pe(e,-1),H(p,e)))},pe=(e,t)=>kt(o,e,t),we=(e,t,s)=>kt(U(n,e,N()),t,s),be=(e,t,s,o)=>kt(U(U(r,e,N()),t,N()),s,o),Ce=(e,t,s,o)=>U(U(U(d,e,N()),t,N()),s,o),ge=(e,t,s)=>{const o=$($(d,e),t),n=ve(e,t,s);return B(o,s)?[!0,$(o,s),n]:[!1,n,n]},he=e=>{const t=F(L[e])&&F(h[e])&&F(C[e]),s=F(k[e])&&F(R[e])&&F(g[e])&&F(w[e]);if(t&&s)return;const i=e?[K(o),K(n,K),K(r,(e=>K(e,K))),K(d,(e=>K(e,K)))]:[o,n,r,d];if(t||(j(i[2],((t,s)=>j(t,((t,o)=>{F(t)||T(L[e],[s,o])})))),j(i[1],((t,s)=>{F(t)||T(h[e],[s])})),F(i[0])||T(C[e])),!s){let t;j(i[3],((s,o)=>{let n;j(s,((s,r)=>{let d;j(s,((s,i)=>{const a=ve(o,r,i);a!==s&&(T(k[e],[o,r,i],a,s,ge),t=n=d=1)})),d&&T(R[e],[o,r],ge)})),n&&T(g[e],[o],ge)})),t&&T(w[e],[],ge)}},Re=()=>W(p,(e=>W(e,W))),Le=()=>q(p),ke=e=>q($(p,e)),fe=(e,t)=>q($($(p,e),t)),ve=(e,t,s)=>$($($(p,e),t),s),me=e=>((e=>Lt(e,V))(e)&&Se((()=>X(e))),ye),Te=()=>(Se((()=>X({}))),ye),Se=e=>{if(-1==s)return;s++;const t=e();return s--,0==s&&(s=1,he(1),s=-1,he(0),s=0,b([d,o,n,r],O)),t},ye={getTables:Re,getTableIds:Le,getTable:e=>W($(p,e),W),getRowIds:ke,getRow:(e,t)=>W($($(p,e),t)),getCellIds:fe,getCell:ve,hasTable:e=>B(p,e),hasRow:(e,t)=>B($(p,e),t),hasCell:(e,t,s)=>B($($(p,e),t),s),getJson:()=>f(p),getSchemaJson:()=>f(a),setTables:me,setTable:(e,t)=>(V(t,e)&&Se((()=>Y(e,t))),ye),setRow:(e,t,s)=>(D(e,s)&&te(e,t,s),ye),addRow:(e,t)=>{let s;return D(e,t)&&(s=ne($(p,e)),te(e,s,t)),s},setPartialRow:(e,t,s)=>(D(e,s,1)&&Se((()=>{const o=re(e);ue(s,((s,n)=>se(e,o,t,n,s)))})),ye),setCell:(e,t,s,o)=>(M(E(e,s,A(o)?o(ve(e,t,s)):o),(o=>Se((()=>se(e,re(e),t,s,o))))),ye),setJson:e=>{try{"{}"===e?Te():me(v(e))}catch{}return ye},setSchema:t=>{if((e=(e=>Lt(e,(e=>Lt(e,(e=>{if(!Lt(e,((e,t)=>I([l,c],t))))return!1;const t=e.type;return!(!P(t)&&t!=i||(Rt(e.default)!=t&&ce(e,c),0))})))))(t))&&(z(t),!F(p))){const e=Re();Te(),me(e)}return ye},delTables:Te,delTable:e=>(B(p,e)&&Se((()=>de(e))),ye),delRow:(e,t)=>(M($(p,e),(s=>{B(s,t)&&Se((()=>ae(e,s,t)))})),ye),delCell:(e,t,s,o)=>(M($(p,e),(n=>M($(n,t),(r=>{B(r,s)&&Se((()=>Ie(e,n,t,r,s,o)))})))),ye),delSchema:()=>(z({}),e=!1,ye),transaction:Se,forEachTable:e=>j(p,((t,s)=>e(s,(e=>j(t,((t,s)=>e(s,(e=>_(t,e))))))))),forEachRow:(e,t)=>j($(p,e),((e,s)=>t(s,(t=>_(e,t))))),forEachCell:(e,t,s)=>_($($(p,e),t),s),addTablesListener:(e,t)=>m(e,w[t?1:0]),addTableIdsListener:(e,t)=>m(e,C[t?1:0]),addTableListener:(e,t,s)=>m(t,g[s?1:0],[e]),addRowIdsListener:(e,t,s)=>m(t,h[s?1:0],[e]),addRowListener:(e,t,s,o)=>m(s,R[o?1:0],[e,t]),addCellIdsListener:(e,t,s,o)=>m(s,L[o?1:0],[e,t]),addCellListener:(e,t,s,o,n)=>m(o,k[n?1:0],[e,t,s]),callListener:e=>(y(e,[Le,ke,fe],(e=>x(e[2])?[]:[,,].fill(ve(...e)))),ye),delListener:e=>(S(e),ye),getListenerStats:()=>({})};return ie(ye)},e.defaultSorter=we,e.useAddRowCallback=(e,t,s=[],o,n=D,r=[])=>{const d=ye(o);return Ae((s=>M(d,(o=>M(t(s,o),(t=>n(o.addRow(e,t),o,t)))))),[d,e,...s,...r])},e.useCell=_e,e.useCellIds=$e,e.useCellIdsListener=(e,t,s,o,n,r)=>Oe("CellIds",ye(r),s,o,n,e,t),e.useCellListener=(e,t,s,o,n,r,d)=>Oe("Cell",ye(d),o,n,r,e,t,s),e.useCheckpoint=Ze,e.useCheckpointIds=Ye,e.useCheckpointIdsListener=(e,t,s)=>Oe("CheckpointIds",Ve(s),e,t),e.useCheckpointListener=(e,t,s,o)=>Oe("Checkpoint",Ve(o),t,s,void 0,e),e.useCheckpoints=e=>Te(e,8),e.useCreateCheckpoints=(e,t,s)=>Fe(e,t,s),e.useCreateIndexes=(e,t,s)=>Fe(e,t,s),e.useCreateMetrics=(e,t,s)=>Fe(e,t,s),e.useCreatePersister=(e,t,s=[],o,n=[])=>{const[,r]=Be(),d=Ee((()=>t(e)),[e,...s]);return De((()=>{(async()=>{await(o?.(d)),r(1)})()}),[d,...n]),d},e.useCreateRelationships=(e,t,s)=>Fe(e,t,s),e.useCreateStore=(e,t=[])=>Ee(e,t),e.useDelCellCallback=(e,t,s,o,n,r,d)=>ze(n,"Cell",r,d,e,t,s,o),e.useDelRowCallback=(e,t,s,o,n)=>ze(s,"Row",o,n,e,t),e.useDelTableCallback=(e,t,s,o)=>ze(t,"Table",s,o,e),e.useDelTablesCallback=(e,t,s)=>ze(e,"Tables",t,s),e.useGoBackwardCallback=et,e.useGoForwardCallback=tt,e.useGoToCallback=(e,t=[],s,o=D,n=[])=>{const r=Ve(s);return Ae((t=>M(r,(s=>M(e(t),(e=>o(s.goTo(e),e)))))),[r,...t,...n])},e.useIndexes=e=>Te(e,4),e.useLinkedRowIds=Xe,e.useLinkedRowIdsListener=(e,t,s,o,n)=>Oe("LinkedRowIds",Pe(n),s,o,void 0,e,t),e.useLocalRowIds=Qe,e.useLocalRowIdsListener=(e,t,s,o,n)=>Oe("LocalRowIds",Pe(n),s,o,void 0,e,t),e.useMetric=He,e.useMetricListener=(e,t,s,o)=>Oe("Metric",xe(o),t,s,void 0,e),e.useMetrics=e=>Te(e,2),e.useRedoInformation=e=>{const t=Ve(e),[,,[s]]=Ye(t);return[!x(s),tt(t),s,M(s,(e=>t?.getCheckpoint(e)))??""]},e.useRelationships=e=>Te(e,6),e.useRemoteRowId=Ke,e.useRemoteRowIdListener=(e,t,s,o,n)=>Oe("RemoteRowId",Pe(n),s,o,void 0,e,t),e.useRow=(e,t,s)=>Je("Row",ye(s),{},e,t),e.useRowIds=qe,e.useRowIdsListener=(e,t,s,o,n)=>Oe("RowIds",ye(n),t,s,o,e),e.useRowListener=(e,t,s,o,n,r)=>Oe("Row",ye(r),s,o,n,e,t),e.useSetCellCallback=(e,t,s,o,n,r,d,i)=>je(r,"Cell",o,n,d,i,e,t,s),e.useSetCheckpointCallback=(e=D,t=[],s,o=D,n=[])=>{const r=Ve(s);return Ae((t=>M(r,(s=>{const n=e(t);o(s.addCheckpoint(n),s,n)}))),[r,...t,...n])},e.useSetPartialRowCallback=(e,t,s,o,n,r,d)=>je(n,"PartialRow",s,o,r,d,e,t),e.useSetRowCallback=(e,t,s,o,n,r,d)=>je(n,"Row",s,o,r,d,e,t),e.useSetTableCallback=(e,t,s,o,n,r)=>je(o,"Table",t,s,n,r,e),e.useSetTablesCallback=(e,t,s,o,n)=>je(s,"Tables",e,t,o,n),e.useSliceIds=Ue,e.useSliceIdsListener=(e,t,s,o)=>Oe("SliceIds",Me(o),t,s,void 0,e),e.useSliceRowIds=We,e.useSliceRowIdsListener=(e,t,s,o,n)=>Oe("SliceRowIds",Me(n),s,o,void 0,e,t),e.useStore=e=>Te(e,0),e.useTable=(e,t)=>Je("Table",ye(t),{},e),e.useTableIds=Ge,e.useTableIdsListener=(e,t,s,o)=>Oe("TableIds",ye(o),e,t,s),e.useTableListener=(e,t,s,o,n)=>Oe("Table",ye(n),t,s,o,e),e.useTables=e=>Je("Tables",ye(e),{}),e.useTablesListener=(e,t,s,o)=>Oe("Tables",ye(o),e,t,s),e.useUndoInformation=e=>{const t=Ve(e),[s,o]=Ye(t);return[!R(s),et(t),o,M(o,(e=>t?.getCheckpoint(e)))??""]},Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs"),require("react")):"function"==typeof define&&define.amd?define(["exports","fs","react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={},e.fs,e.React);
|
|
1
|
+
var e,t;e=this,t=function(e,t,s){"use strict";const o=e=>typeof e,n="",r=o(n),d=o(!0),i=o(0),a=o(o),l="type",c="default",u="utf8",I=(e,t)=>e.includes(t),p=(e,t)=>e.every(((s,o)=>0==o||t(e[o-1],s)<=0)),w=(e,t)=>e.sort(t),b=(e,t)=>e.forEach(t),C=(e,t)=>e.map(t),g=e=>L(e,((e,t)=>e+t),0),h=e=>e.length,R=e=>0==h(e),L=(e,t,s)=>e.reduce(t,s),k=e=>e.slice(1),f=e=>JSON.stringify(e,((e,t)=>y(t,Map)?L([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),v=JSON.parse,m=Math.max,T=Math.min,S=isFinite,y=(e,t)=>e instanceof t,x=e=>null==e,M=(e,t,s)=>x(e)?s?.():t(e),P=e=>e==r||e==d,V=e=>o(e)==r,A=e=>o(e)==a,D=()=>{},E=e=>e.size,B=(e,t)=>e?.has(t)??!1,F=e=>x(e)||0==E(e),J=e=>[...e?.values()??[]],O=e=>e.clear(),j=(e,t)=>e?.forEach(t),z=(e,t)=>e?.delete(t),N=e=>new Map(e),G=(e=N)=>[e(),e()],q=e=>[...e?.keys()??[]],$=(e,t)=>e?.get(t),_=(e,t)=>j(e,((e,s)=>t(s,e))),H=(e,t,s)=>x(s)?(z(e,t),e):e?.set(t,s),U=(e,t,s,o)=>(B(e,t)||(o?.(s),e.set(t,s)),$(e,t)),W=(e,t)=>{const s={},o=t??(e=>e);return j(e,((e,t)=>s[t]=o(e))),s},K=(e,t)=>{const s=N(),o=t??(e=>e);return j(e,((e,t)=>s.set(t,o(e)))),s},Q=e=>new Set(e),X=(e,t)=>e?.add(t),Y=(e,t,s)=>{const o=e.hasRow,n=N(),r=N(),d=N(),i=N(),a=N(),l=t=>M($(a,t),(s=>{j(s,e.delListener),H(a,t)})),c=e=>{H(n,e),H(r,e),H(d,e),H(i,e),l(e)};return[()=>e,()=>q(n),e=>$(n,e),e=>$(r,e),(e,t)=>H(r,e,t),(c,u,I,p,w)=>{const C=N(),g=N();H(n,c,u),B(r,c)||(H(r,c,t()),H(d,c,N()),H(i,c,N()));const h=$(d,c),R=$(i,c),L=t=>{const n=s=>e.getCell(u,t,s),r=$(h,t),d=o(u,t)?s(p(n,t)):void 0;if(r!=d&&H(C,t,[r,d]),!x(w)){const e=$(R,t),s=o(u,t)?w(n,t):void 0;e!=s&&H(g,t,s)}},k=e=>{I((()=>{j(C,(([,e],t)=>H(h,t,e))),j(g,((e,t)=>H(R,t,e)))}),C,g,h,R,e),O(C),O(g)};_(h,L),e.hasTable(u)&&b(e.getRowIds(u),(e=>{B(h,e)||L(e)})),k(!0),l(c),H(a,c,Q([e.addRowListener(u,null,((e,t,s)=>L(s))),e.addTableListener(u,(()=>k()))]))},c,()=>_(a,c)]},Z=(e,t)=>V(e)?t=>t(e):e??(()=>t??n),ee=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},te=(e,t,s)=>h(s)<2?X(R(s)?e:U(e,s[0],Q()),t):te(U(e,s[0],N()),t,k(s)),se=e=>{const t=(s,o,...n)=>M(s,(s=>R(n)?e(s,o):b([n[0],null],(e=>t($(s,e),o,...k(n))))));return t},oe=e=>{let t,s=0;const o=[],n=N();return[(r,d,i=[])=>{t??(t=e());const a=o.pop()??""+s++;return H(n,a,[r,d,i]),te(d,a,i),a},(e,s=[],...o)=>se(j)(e,(e=>M($(n,e),(([e])=>e(t,...s,...o)))),...s),e=>M($(n,e),(([,t,s])=>(se(z)(t,e,...s),H(n,e),h(o)<1e3&&o.push(e),s)),(()=>[])),(e,s,o)=>M($(n,e),(([e,,n])=>{const r=(...d)=>{const i=h(d);i==h(n)?e(t,...d,...o(d)):x(n[i])?b(s[i](...d),(e=>r(...d,e))):r(...d,n[i])};r()}))]},ne=Object,re=ne.keys,de=ne.isFrozen,ie=ne.freeze,ae=(e,t)=>M(e,(e=>e[t])),le=(e,t)=>!x(ae(e,t)),ce=(e,t)=>delete e[t],ue=(e,t)=>b(ne.entries(e),(([e,s])=>t(s,e))),Ie=ee((e=>{let t,s,o,n=100,r=N(),d=1;const i=Q(),a=N(),[l,c,u]=oe((()=>D)),p=N(),w=N(),C=[],g=[],L=(t,s)=>{d=0,e.transaction((()=>j($(p,s),((s,o)=>j(s,((s,n)=>j(s,((s,r)=>x(s[t])?e.delCell(o,n,r,!0):e.setCell(o,n,r,s[t]))))))))),d=1},k=e=>{H(p,e),H(w,e),c(a,[e])},f=(e,t)=>b(((e,t)=>e.splice(0,t))(e,t??h(e)),k),v=()=>f(C,h(C)-n),m=e.addCellListener(null,null,null,((e,s,n,i,a,l)=>{if(d){M(t,(()=>{C.push(t),v(),f(g),t=void 0,o=1}));const e=U(r,s,N()),d=U(e,n,N()),c=U(d,i,[void 0,void 0],(e=>e[0]=l));c[1]=a,c[0]===c[1]&&F(H(d,i))&&F(H(e,n))&&F(H(r,s))&&(t=C.pop(),o=1),P()}})),T=(e="")=>(x(t)&&(t=""+s++,H(p,t,r),A(t,e),r=N(),o=1),t),S=()=>{R(C)||(g.unshift(T()),L(0,t),t=C.pop(),o=1)},y=()=>{R(g)||(C.push(t),t=g.shift(),L(1,t),o=1)},P=()=>{o&&(c(i),o=0)},V=e=>{const t=T(e);return P(),t},A=(e,t)=>(B(p,e)&&$(w,e)!==t&&(H(w,e,t),c(a,[e])),D),D={setSize:e=>(n=e,v(),D),addCheckpoint:V,setCheckpoint:A,getStore:()=>e,getCheckpointIds:()=>[[...C],t,[...g]],getCheckpoint:e=>$(w,e),goBackward:()=>(S(),P(),D),goForward:()=>(y(),P(),D),goTo:e=>{const s=I(C,e)?S:I(g,e)?y:null;for(;!x(s)&&e!=t;)s();return P(),D},addCheckpointIdsListener:e=>l(e,i),addCheckpointListener:(e,t)=>l(t,a,[e]),delListener:e=>(u(e),D),clear:()=>(f(C),f(g),x(t)||k(t),t=void 0,s=0,V(),D),destroy:()=>{e.delListener(m)},getListenerStats:()=>({})};return ie(D.clear())})),pe=ee((e=>{const t=N(),s=N(),[o,r,d,i,a,l,c,u]=Y(e,N,(e=>x(e)?n:e+n)),[I,b,C]=oe((()=>g)),g={setIndexDefinition:(e,o,n,r,d,c=we)=>{const u=x(d)?void 0:([e],[t])=>d(e,t);return l(e,o,((o,n,d,l,I)=>{let C=0;const g=Q(),h=Q(),R=i(e);if(j(n,(([e,t],s)=>{x(e)||(X(g,e),M($(R,e),(t=>{z(t,s),F(t)&&(H(R,e),C=1)}))),x(t)||(X(g,t),B(R,t)||(H(R,t,Q()),C=1),X($(R,t),s),x(r)||X(h,t))})),o(),_(d,(e=>M($(l,e),(e=>X(h,e))))),F(I)||j(h,(e=>{const t=(t,s)=>c($(I,t),$(I,s),e),s=[...$(R,e)];p(s,t)||(H(R,e,Q(w(s,t))),X(g,e))})),C){if(!x(u)){const t=[...R];p(t,u)||a(e,N(w(t,u)))}b(t,[e])}j(g,(t=>b(s,[e,t])))}),Z(n),M(r,Z)),g},delIndexDefinition:e=>(c(e),g),getStore:o,getIndexIds:r,getTableId:d,getSliceIds:e=>q(i(e)),getSliceRowIds:(e,t)=>J($(i(e),t)),addSliceIdsListener:(e,s)=>I(s,t,[e]),addSliceRowIdsListener:(e,t,o)=>I(o,s,[e,t]),delListener:e=>(C(e),g),destroy:u,getListenerStats:()=>({})};return ie(g)})),we=(e,t)=>e<t?-1:1,be=N([["avg",[(e,t)=>g(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,o)=>e+(t-s)/o]],["max",[e=>m(...e),(e,t)=>m(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:m(t,e)]],["min",[e=>T(...e),(e,t)=>T(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:T(t,e)]],["sum",[e=>g(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),Ce=ee((e=>{const t=N(),[s,o,r,d,i,a,l,c]=Y(e,D,(e=>isNaN(e)||x(e)||!0===e||!1===e||e===n?void 0:1*e)),[u,I,p]=oe((()=>w)),w={setMetricDefinition:(e,s,o,n,r,l,c)=>{const u=A(o)?[o,r,l,c]:$(be,o)??$(be,"sum");return a(e,s,((s,o,n,r,a,l)=>{let c=d(e),p=E(r);const[w,b,C,g]=u;l=l||x(c),j(o,(([e,t])=>{l||(c=x(e)?b?.(c,t,p++):x(t)?C?.(c,e,p--):g?.(c,t,e,p)),l=l||x(c)})),s(),F(r)?c=void 0:l&&(c=w(J(r),E(r))),S(c)||(c=void 0);const h=d(e);c!=h&&(i(e,c),I(t,[e],c,h))}),Z(n,1)),w},delMetricDefinition:e=>(l(e),w),getStore:s,getMetricIds:o,getTableId:r,getMetric:d,addMetricListener:(e,s)=>u(s,t,[e]),delListener:e=>(p(e),w),destroy:c,getListenerStats:()=>({})};return ie(w)})),ge=(e,t,s,o,n)=>{let r,d=0;const i={load:async s=>{if(2!=d){d=1;const o=await t();x(o)||""==o?e.setTables(s):e.setJson(o),d=0}return i},startAutoLoad:async e=>(i.stopAutoLoad(),await i.load(e),o(i.load),i),stopAutoLoad:()=>(n(),i),save:async()=>(1!=d&&(d=2,await s(e.getJson()),d=0),i),startAutoSave:async()=>(await i.stopAutoSave().save(),r=e.addTablesListener((()=>i.save())),i),stopAutoSave:()=>(M(r,e.delListener),i),getStore:()=>e,destroy:()=>i.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return ie(i)},he="storage",Re=window,Le=(e,t,s)=>{let o;return ge(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{o=o=>{o.storageArea===s&&o.key===t&&e()},Re.addEventListener(he,o)}),(()=>{Re.removeEventListener(he,o),o=void 0}))},ke=e=>e.headers.get("ETag"),{createContext:fe,useContext:ve}=s??{},me=fe?.([]),Te=(e,t)=>{const s=ve(me);return x(e)?s[t]:ae(s[t+1],e)},Se=(e,t)=>{const s=Te(e,t);return x(e)||V(e)?s:e},ye=e=>Se(e,0),xe=e=>Se(e,2),Me=e=>Se(e,4),Pe=e=>Se(e,6),Ve=e=>Se(e,8),{useCallback:Ae,useEffect:De,useMemo:Ee,useState:Be}=s??{},Fe=(e,t,s=[])=>Ee((()=>t(e)),[e,...s]),Je=(e,t,s,...o)=>{const n=t?.["get"+e]??(()=>s),r=n(...o),[,d]=Be(r);return De((()=>{const s=t?.[`add${e}Listener`]?.(...o,(()=>d(n(...o))),!1);return()=>t?.delListener(s)}),[t,e,d,n,...o]),r},Oe=(e,t,s,o=[],n,...r)=>{De((()=>{const o=t?.[`add${e}Listener`]?.(...r,s,n);return()=>t?.delListener(o)}),[t,e,...o,n,...r])},je=(e,t,s,o=[],n=D,r=[],...d)=>{const i=ye(e);return Ae((e=>M(i,(o=>M(s(e,o),(e=>n(o["set"+t](...d,e),e)))))),[i,t,...o,...r,...d])},ze=(e,t,s=D,o=[],...n)=>{const r=ye(e);return Ae((()=>s(r?.["del"+t](...n))),[r,t,...o,...n])},Ne=(e,t,s)=>{const o=Ve(e);return Ae((()=>o?.[t](s)),[o,t,s])},Ge=e=>Je("TableIds",ye(e),[]),qe=(e,t)=>Je("RowIds",ye(t),[],e),$e=(e,t,s)=>Je("CellIds",ye(s),[],e,t),_e=(e,t,s,o)=>Je("Cell",ye(o),void 0,e,t,s),He=(e,t)=>Je("Metric",xe(t),void 0,e),Ue=(e,t)=>Je("SliceIds",Me(t),[],e),We=(e,t,s)=>Je("SliceRowIds",Me(s),[],e,t),Ke=(e,t,s)=>Je("RemoteRowId",Pe(s),void 0,e,t),Qe=(e,t,s)=>Je("LocalRowIds",Pe(s),[],e,t),Xe=(e,t,s)=>Je("LinkedRowIds",Pe(s),[],e,t),Ye=e=>Je("CheckpointIds",Ve(e),[[],void 0,[]]),Ze=(e,t)=>Je("Checkpoint",Ve(t),void 0,e),et=e=>Ne(e,"goBackward"),tt=e=>Ne(e,"goForward"),{createElement:st,useMemo:ot}=s??{},nt=e=>{const t=Pe(e);return[t,t?.getStore()]},rt=({relationshipId:e,relationships:t,rowComponent:s=ct,getRowComponentProps:o,separator:n,debugIds:r},d,i)=>{const[a,l]=nt(t),c=a?.getLocalTableId(e),u=d(e,i,a);return at(C(u,(e=>st(s,{...it(o,e),key:e,tableId:c,rowId:e,store:l,debugIds:r}))),n,r,i)},dt=e=>({checkpoints:t,checkpointComponent:s=pt,getCheckpointComponentProps:o,separator:n,debugIds:r})=>{const d=Ve(t);return at(C(e(Ye(d)),(e=>st(s,{...it(o,e),key:e,checkpoints:d,checkpointId:e,debugIds:r}))),n)},it=(e,t)=>x(e)?{}:e(t),at=(e,t,s,o)=>{const n=x(t)||!Array.isArray(e)?e:C(e,((e,s)=>s>0?[t,e]:e));return s?[o,":{",n,"}"]:n},lt=({tableId:e,rowId:t,cellId:s,store:o,debugIds:r})=>at(n+(_e(e,t,s,o)??n),void 0,r,s),ct=({tableId:e,rowId:t,store:s,cellComponent:o=lt,getCellComponentProps:n,separator:r,debugIds:d})=>at(C($e(e,t,s),(r=>st(o,{...it(n,r),key:r,tableId:e,rowId:t,cellId:r,store:s,debugIds:d}))),r,d,t),ut=({tableId:e,store:t,rowComponent:s=ct,getRowComponentProps:o,separator:n,debugIds:r})=>at(C(qe(e,t),(n=>st(s,{...it(o,n),key:n,tableId:e,rowId:n,store:t,debugIds:r}))),n,r,e),It=({indexId:e,sliceId:t,indexes:s,rowComponent:o=ct,getRowComponentProps:n,separator:r,debugIds:d})=>{const i=Me(s),a=i?.getStore(),l=i?.getTableId(e),c=We(e,t,i);return at(C(c,(e=>st(o,{...it(n,e),key:e,tableId:l,rowId:e,store:a,debugIds:d}))),r,d,t)},pt=({checkpoints:e,checkpointId:t,debugIds:s})=>at(Ze(t,e)??"",void 0,s,t),wt=dt((e=>e[0])),bt=dt((e=>x(e[1])?[]:[e[1]])),Ct=dt((e=>e[2])),gt=ee((e=>{const t=N(),s=N(),o=N(),r=N(),[d,i,a,l,c,u,I,p]=Y(e,(()=>[N(),N(),N(),N()]),(e=>x(e)?void 0:e+n)),[w,b,C]=oe((()=>L)),g=(e,t,s)=>M(l(e),(([o,,n])=>{if(!B(n,t)){const r=Q();if(a(e)!=R(e))X(r,t);else{let e=t;for(;!x(e)&&!B(r,e);)X(r,e),e=$(o,e)}if(s)return r;H(n,t,r)}return $(n,t)})),h=(e,t)=>M(l(e),(([,,e])=>H(e,t))),R=e=>$(t,e),L={setRelationshipDefinition:(e,n,d,i)=>(H(t,e,d),u(e,n,((t,n)=>{const d=Q(),i=Q(),a=Q(),[c,u]=l(e);j(n,(([t,s],o)=>{x(t)||(X(i,t),M($(u,t),(e=>{z(e,o),F(e)&&H(u,t)}))),x(s)||(X(i,s),B(u,s)||H(u,s,Q()),X($(u,s),o)),X(d,o),H(c,o,s),_($(r,e),(t=>{B(g(e,t),o)&&X(a,t)}))})),t(),j(d,(t=>b(s,[e,t]))),j(i,(t=>b(o,[e,t]))),j(a,(t=>{h(e,t),b(r,[e,t])}))}),Z(i)),L),delRelationshipDefinition:e=>(H(t,e),I(e),L),getStore:d,getRelationshipIds:i,getLocalTableId:a,getRemoteTableId:R,getRemoteRowId:(e,t)=>$(l(e)?.[0],t),getLocalRowIds:(e,t)=>J($(l(e)?.[1],t)),getLinkedRowIds:(e,t)=>x(l(e))?[t]:J(g(e,t,!0)),addRemoteRowIdListener:(e,t,o)=>w(o,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>w(s,o,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(g(e,t),w(s,r,[e,t])),delListener:e=>(h(...C(e)),L),destroy:p,getListenerStats:()=>({})};return ie(L)})),ht=(e,t,s,o=H)=>{const n=(r=q(e),d=e=>!le(t,e),r.filter(d));var r,d;return b(re(t),(o=>s(e,o,t[o]))),b(n,(t=>o(e,t))),e},Rt=e=>{const t=o(e);return P(t)||t==i&&S(e)?t:void 0},Lt=(e,t)=>!(x(e)||!(e=>y(e,ne)&&e.constructor==ne)(e)||de(e)||(ue(e,((s,o)=>{t(s,o)||ce(e,o)})),(e=>R(re(e)))(e))),kt=(e,t,s)=>H(e,t,$(e,t)==-s?void 0:s);e.BackwardCheckpointsView=wt,e.CellView=lt,e.CheckpointView=pt,e.CurrentCheckpointView=bt,e.ForwardCheckpointsView=Ct,e.IndexView=({indexId:e,indexes:t,sliceComponent:s=It,getSliceComponentProps:o,separator:n,debugIds:r})=>at(C(Ue(e,t),(n=>st(s,{...it(o,n),key:n,indexId:e,sliceId:n,indexes:t,debugIds:r}))),n,r,e),e.LinkedRowsView=e=>rt(e,Xe,e.firstRowId),e.LocalRowsView=e=>rt(e,Qe,e.remoteRowId),e.MetricView=({metricId:e,metrics:t,debugIds:s})=>at(He(e,t)??n,void 0,s,e),e.Provider=({store:e,storesById:t,metrics:s,metricsById:o,indexes:n,indexesById:r,relationships:d,relationshipsById:i,checkpoints:a,checkpointsById:l,children:c})=>st(me.Provider,{value:ot((()=>[e,t,s,o,n,r,d,i,a,l]),[e,t,s,o,n,r,d,i,a,l])},c),e.RemoteRowView=({relationshipId:e,localRowId:t,relationships:s,rowComponent:o=ct,getRowComponentProps:n,debugIds:r})=>{const[d,i]=nt(s),a=d?.getRemoteTableId(e),l=Ke(e,t,d);return at(x(a)||x(l)?null:st(o,{...it(n,l),key:l,tableId:a,rowId:l,store:i,debugIds:r}),void 0,r,t)},e.RowView=ct,e.SliceView=It,e.TableView=ut,e.TablesView=({store:e,tableComponent:t=ut,getTableComponentProps:s,separator:o,debugIds:n})=>at(C(Ge(e),(o=>st(t,{...it(s,o),key:o,tableId:o,store:e,debugIds:n}))),o),e.createCheckpoints=Ie,e.createCustomPersister=ge,e.createFilePersister=(e,s)=>{let o;return ge(e,(async()=>{try{return await t.promises.readFile(s,u)}catch{}}),(async e=>{try{await t.promises.writeFile(s,e,u)}catch{}}),(e=>{o=t.watch(s,e)}),(()=>{o?.close(),o=void 0}))},e.createIndexes=pe,e.createLocalPersister=(e,t)=>Le(e,t,localStorage),e.createMetrics=Ce,e.createRelationships=gt,e.createRemotePersister=(e,t,s,o)=>{let n,r;return ge(e,(async()=>{const e=await fetch(t);return r=ke(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{n=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),o=ke(s);x(r)||x(o)||o==r||(r=o,e())}),1e3*o)}),(()=>{M(n,clearInterval),n=void 0}))},e.createSessionPersister=(e,t)=>Le(e,t,sessionStorage),e.createStore=()=>{let e,t=0,s=0;const o=N(),n=N(),r=N(),d=N(),a=N(),u=N(),p=N(),w=G(Q),C=G(Q),g=G(),h=G(),R=G(),L=G(),k=G(),[m,T,S,y]=oe((()=>ye)),V=(t,s)=>(!e||B(a,s))&&Lt(t,(e=>D(s,e))),D=(e,t,s)=>Lt(s?t:J(t,e),((s,o)=>M(E(e,o,s),(e=>(t[o]=e,!0)),(()=>!1)))),E=(t,s,o)=>e?M($($(a,t),s),(e=>Rt(o)!=e.type?e.default:o)):x(Rt(o))?void 0:o,J=(e,t)=>(M($(u,t),(t=>ue(t,((t,s)=>{le(e,s)||(e[s]=t)})))),e),z=e=>ht(a,e,((e,t,s)=>{const o={};ht(U(a,t,N()),s,((e,t,s)=>{H(e,t,s),M(s.default,(e=>o[t]=e))})),H(u,t,o)}),((e,t)=>{H(a,t),H(u,t)})),X=e=>ht(p,e,((e,t,s)=>Y(t,s)),((e,t)=>de(t))),Y=(e,t)=>ht(U(p,e,N(),(()=>pe(e,1))),t,((t,s,o)=>Z(e,t,s,o)),((t,s)=>ae(e,t,s))),Z=(e,t,s,o,n)=>ht(U(t,s,N(),(()=>we(e,s,1))),o,((t,o,n)=>ee(e,s,t,o,n)),((o,r)=>Ie(e,t,s,o,r,n))),ee=(e,t,s,o,n)=>{B(s,o)||be(e,t,o,1);const r=$(s,o);n!==r&&(Ce(e,t,o,r),H(s,o,n))},te=(e,t,s)=>Se((()=>Z(e,re(e),t,s))),se=(e,t,s,o,n)=>M($(t,s),(t=>ee(e,s,t,o,n)),(()=>Z(e,t,s,J({[o]:n},e)))),ne=e=>{const s=""+t++;return B(e,s)?ne(e):s},re=e=>$(p,e)??Y(e,{}),de=e=>Y(e,{}),ae=(e,t,s)=>Z(e,t,s,{},!0),Ie=(e,t,s,o,n,r)=>{const d=$(u,e)?.[n];if(!x(d)&&!r)return ee(e,s,o,n,d);const i=t=>{Ce(e,s,t,$(o,t)),be(e,s,t,-1),H(o,t)};x(d)?i(n):_(o,i),F(o)&&(we(e,s,-1),F(H(t,s))&&(pe(e,-1),H(p,e)))},pe=(e,t)=>kt(o,e,t),we=(e,t,s)=>kt(U(n,e,N()),t,s),be=(e,t,s,o)=>kt(U(U(r,e,N()),t,N()),s,o),Ce=(e,t,s,o)=>U(U(U(d,e,N()),t,N()),s,o),ge=(e,t,s)=>{const o=$($(d,e),t),n=ve(e,t,s);return B(o,s)?[!0,$(o,s),n]:[!1,n,n]},he=e=>{const t=F(L[e])&&F(h[e])&&F(C[e]),s=F(k[e])&&F(R[e])&&F(g[e])&&F(w[e]);if(t&&s)return;const i=e?[K(o),K(n,K),K(r,(e=>K(e,K))),K(d,(e=>K(e,K)))]:[o,n,r,d];if(t||(j(i[2],((t,s)=>j(t,((t,o)=>{F(t)||T(L[e],[s,o])})))),j(i[1],((t,s)=>{F(t)||T(h[e],[s])})),F(i[0])||T(C[e])),!s){let t;j(i[3],((s,o)=>{let n;j(s,((s,r)=>{let d;j(s,((s,i)=>{const a=ve(o,r,i);a!==s&&(T(k[e],[o,r,i],a,s,ge),t=n=d=1)})),d&&T(R[e],[o,r],ge)})),n&&T(g[e],[o],ge)})),t&&T(w[e],[],ge)}},Re=()=>W(p,(e=>W(e,W))),Le=()=>q(p),ke=e=>q($(p,e)),fe=(e,t)=>q($($(p,e),t)),ve=(e,t,s)=>$($($(p,e),t),s),me=e=>((e=>Lt(e,V))(e)&&Se((()=>X(e))),ye),Te=()=>(Se((()=>X({}))),ye),Se=e=>{if(-1==s)return;s++;const t=e();return s--,0==s&&(s=1,he(1),s=-1,he(0),s=0,b([d,o,n,r],O)),t},ye={getTables:Re,getTableIds:Le,getTable:e=>W($(p,e),W),getRowIds:ke,getRow:(e,t)=>W($($(p,e),t)),getCellIds:fe,getCell:ve,hasTable:e=>B(p,e),hasRow:(e,t)=>B($(p,e),t),hasCell:(e,t,s)=>B($($(p,e),t),s),getJson:()=>f(p),getSchemaJson:()=>f(a),setTables:me,setTable:(e,t)=>(V(t,e)&&Se((()=>Y(e,t))),ye),setRow:(e,t,s)=>(D(e,s)&&te(e,t,s),ye),addRow:(e,t)=>{let s;return D(e,t)&&(s=ne($(p,e)),te(e,s,t)),s},setPartialRow:(e,t,s)=>(D(e,s,1)&&Se((()=>{const o=re(e);ue(s,((s,n)=>se(e,o,t,n,s)))})),ye),setCell:(e,t,s,o)=>(M(E(e,s,A(o)?o(ve(e,t,s)):o),(o=>Se((()=>se(e,re(e),t,s,o))))),ye),setJson:e=>{try{"{}"===e?Te():me(v(e))}catch{}return ye},setSchema:t=>{if((e=(e=>Lt(e,(e=>Lt(e,(e=>{if(!Lt(e,((e,t)=>I([l,c],t))))return!1;const t=e.type;return!(!P(t)&&t!=i||(Rt(e.default)!=t&&ce(e,c),0))})))))(t))&&(z(t),!F(p))){const e=Re();Te(),me(e)}return ye},delTables:Te,delTable:e=>(B(p,e)&&Se((()=>de(e))),ye),delRow:(e,t)=>(M($(p,e),(s=>{B(s,t)&&Se((()=>ae(e,s,t)))})),ye),delCell:(e,t,s,o)=>(M($(p,e),(n=>M($(n,t),(r=>{B(r,s)&&Se((()=>Ie(e,n,t,r,s,o)))})))),ye),delSchema:()=>(z({}),e=!1,ye),transaction:Se,forEachTable:e=>j(p,((t,s)=>e(s,(e=>j(t,((t,s)=>e(s,(e=>_(t,e))))))))),forEachRow:(e,t)=>j($(p,e),((e,s)=>t(s,(t=>_(e,t))))),forEachCell:(e,t,s)=>_($($(p,e),t),s),addTablesListener:(e,t)=>m(e,w[t?1:0]),addTableIdsListener:(e,t)=>m(e,C[t?1:0]),addTableListener:(e,t,s)=>m(t,g[s?1:0],[e]),addRowIdsListener:(e,t,s)=>m(t,h[s?1:0],[e]),addRowListener:(e,t,s,o)=>m(s,R[o?1:0],[e,t]),addCellIdsListener:(e,t,s,o)=>m(s,L[o?1:0],[e,t]),addCellListener:(e,t,s,o,n)=>m(o,k[n?1:0],[e,t,s]),callListener:e=>(y(e,[Le,ke,fe],(e=>x(e[2])?[]:[,,].fill(ve(...e)))),ye),delListener:e=>(S(e),ye),getListenerStats:()=>({})};return ie(ye)},e.defaultSorter=we,e.useAddRowCallback=(e,t,s=[],o,n=D,r=[])=>{const d=ye(o);return Ae((s=>M(d,(o=>M(t(s,o),(t=>n(o.addRow(e,t),o,t)))))),[d,e,...s,...r])},e.useCell=_e,e.useCellIds=$e,e.useCellIdsListener=(e,t,s,o,n,r)=>Oe("CellIds",ye(r),s,o,n,e,t),e.useCellListener=(e,t,s,o,n,r,d)=>Oe("Cell",ye(d),o,n,r,e,t,s),e.useCheckpoint=Ze,e.useCheckpointIds=Ye,e.useCheckpointIdsListener=(e,t,s)=>Oe("CheckpointIds",Ve(s),e,t),e.useCheckpointListener=(e,t,s,o)=>Oe("Checkpoint",Ve(o),t,s,void 0,e),e.useCheckpoints=e=>Te(e,8),e.useCreateCheckpoints=(e,t,s)=>Fe(e,t,s),e.useCreateIndexes=(e,t,s)=>Fe(e,t,s),e.useCreateMetrics=(e,t,s)=>Fe(e,t,s),e.useCreatePersister=(e,t,s=[],o,n=[])=>{const[,r]=Be(),d=Ee((()=>t(e)),[e,...s]);return De((()=>{(async()=>{await(o?.(d)),r(1)})()}),[d,...n]),d},e.useCreateRelationships=(e,t,s)=>Fe(e,t,s),e.useCreateStore=(e,t=[])=>Ee(e,t),e.useDelCellCallback=(e,t,s,o,n,r,d)=>ze(n,"Cell",r,d,e,t,s,o),e.useDelRowCallback=(e,t,s,o,n)=>ze(s,"Row",o,n,e,t),e.useDelTableCallback=(e,t,s,o)=>ze(t,"Table",s,o,e),e.useDelTablesCallback=(e,t,s)=>ze(e,"Tables",t,s),e.useGoBackwardCallback=et,e.useGoForwardCallback=tt,e.useGoToCallback=(e,t=[],s,o=D,n=[])=>{const r=Ve(s);return Ae((t=>M(r,(s=>M(e(t),(e=>o(s.goTo(e),e)))))),[r,...t,...n])},e.useIndexes=e=>Te(e,4),e.useLinkedRowIds=Xe,e.useLinkedRowIdsListener=(e,t,s,o,n)=>Oe("LinkedRowIds",Pe(n),s,o,void 0,e,t),e.useLocalRowIds=Qe,e.useLocalRowIdsListener=(e,t,s,o,n)=>Oe("LocalRowIds",Pe(n),s,o,void 0,e,t),e.useMetric=He,e.useMetricListener=(e,t,s,o)=>Oe("Metric",xe(o),t,s,void 0,e),e.useMetrics=e=>Te(e,2),e.useRedoInformation=e=>{const t=Ve(e),[,,[s]]=Ye(t);return[!x(s),tt(t),s,M(s,(e=>t?.getCheckpoint(e)))??""]},e.useRelationships=e=>Te(e,6),e.useRemoteRowId=Ke,e.useRemoteRowIdListener=(e,t,s,o,n)=>Oe("RemoteRowId",Pe(n),s,o,void 0,e,t),e.useRow=(e,t,s)=>Je("Row",ye(s),{},e,t),e.useRowIds=qe,e.useRowIdsListener=(e,t,s,o,n)=>Oe("RowIds",ye(n),t,s,o,e),e.useRowListener=(e,t,s,o,n,r)=>Oe("Row",ye(r),s,o,n,e,t),e.useSetCellCallback=(e,t,s,o,n,r,d,i)=>je(r,"Cell",o,n,d,i,e,t,s),e.useSetCheckpointCallback=(e=D,t=[],s,o=D,n=[])=>{const r=Ve(s);return Ae((t=>M(r,(s=>{const n=e(t);o(s.addCheckpoint(n),s,n)}))),[r,...t,...n])},e.useSetPartialRowCallback=(e,t,s,o,n,r,d)=>je(n,"PartialRow",s,o,r,d,e,t),e.useSetRowCallback=(e,t,s,o,n,r,d)=>je(n,"Row",s,o,r,d,e,t),e.useSetTableCallback=(e,t,s,o,n,r)=>je(o,"Table",t,s,n,r,e),e.useSetTablesCallback=(e,t,s,o,n)=>je(s,"Tables",e,t,o,n),e.useSliceIds=Ue,e.useSliceIdsListener=(e,t,s,o)=>Oe("SliceIds",Me(o),t,s,void 0,e),e.useSliceRowIds=We,e.useSliceRowIdsListener=(e,t,s,o,n)=>Oe("SliceRowIds",Me(n),s,o,void 0,e,t),e.useStore=e=>Te(e,0),e.useTable=(e,t)=>Je("Table",ye(t),{},e),e.useTableIds=Ge,e.useTableIdsListener=(e,t,s,o)=>Oe("TableIds",ye(o),e,t,s),e.useTableListener=(e,t,s,o,n)=>Oe("Table",ye(n),t,s,o,e),e.useTables=e=>Je("Tables",ye(e),{}),e.useTablesListener=(e,t,s,o)=>Oe("Tables",ye(o),e,t,s),e.useUndoInformation=e=>{const t=Ve(e),[s,o]=Ye(t);return[!R(s),et(t),o,M(o,(e=>t?.getCheckpoint(e)))??""]},Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("fs"),require("react")):"function"==typeof define&&define.amd?define(["exports","fs","react"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TinyBase={},e.fs,e.React);
|
package/lib/umd/tinybase.js.gz
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tinybase",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"author": "jamesgpearce",
|
|
5
5
|
"repository": "github:tinyplex/tinybase",
|
|
6
6
|
"license": "MIT",
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
"rollup-plugin-gzip": "^3.0.0",
|
|
89
89
|
"rollup-plugin-prettier": "^2.2.0",
|
|
90
90
|
"rollup-plugin-terser": "^7.0.2",
|
|
91
|
-
"tinydocs": "^0.1.
|
|
91
|
+
"tinydocs": "^0.1.5",
|
|
92
92
|
"tmp": "^0.2.1",
|
|
93
93
|
"ts-unused-exports": "^7.0.3",
|
|
94
94
|
"typescript": "4.5.4"
|
package/readme.md
CHANGED
|
@@ -192,4 +192,4 @@ console.log(store.getCell('pets', 'felix', 'sold'));
|
|
|
192
192
|
// -> false
|
|
193
193
|
```
|
|
194
194
|
|
|
195
|
-
<section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://tinybase.org/api/store"><code>store</code></a> module alone, you'll only add a gzipped <em>2.6kB</em> to your app. You can incrementally add the other modules as you need more functionality, or take everything together and still come in at <em>7.9kB</em>.</p><p>Life's easy when you have zero dependencies.</p><p>Read more about how TinyBase is structured in the <a href="https://tinybase.org/guides/how-tinybase-is-built/architecture">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>.js.gz</th><th>.js</th><th>debug.js</th><th>.d.ts</th></tr><tr><th class="right"><a href="https://tinybase.org/api/store">store</a></th><td>2.6kB</td><td>5.8kB</td><td>23.8kB</td><td>83.8kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/indexes">indexes</a></th><td>1.5kB</td><td>2.9kB</td><td>12.8kB</td><td>28.6kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/metrics">metrics</a></th><td>1.5kB</td><td>3.0kB</td><td>12.3kB</td><td>25.2kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/relationships">relationships</a></th><td>1.5kB</td><td>3.1kB</td><td>14.3kB</td><td>38.0kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/checkpoints">checkpoints</a></th><td>1.3kB</td><td>2.4kB</td><td>10.1kB</td><td>30.1kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/react">react</a></th><td>2.
|
|
195
|
+
<section><h2 id="did-we-say-tiny">Did we say tiny?</h2><p>If you use the basic <a href="https://tinybase.org/api/store"><code>store</code></a> module alone, you'll only add a gzipped <em>2.6kB</em> to your app. You can incrementally add the other modules as you need more functionality, or take everything together and still come in at <em>7.9kB</em>.</p><p>Life's easy when you have zero dependencies.</p><p>Read more about how TinyBase is structured in the <a href="https://tinybase.org/guides/how-tinybase-is-built/architecture">Architecture</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>.js.gz</th><th>.js</th><th>debug.js</th><th>.d.ts</th></tr><tr><th class="right"><a href="https://tinybase.org/api/store">store</a></th><td>2.6kB</td><td>5.8kB</td><td>23.8kB</td><td>83.8kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/indexes">indexes</a></th><td>1.5kB</td><td>2.9kB</td><td>12.8kB</td><td>28.6kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/metrics">metrics</a></th><td>1.5kB</td><td>3.0kB</td><td>12.3kB</td><td>25.2kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/relationships">relationships</a></th><td>1.5kB</td><td>3.1kB</td><td>14.3kB</td><td>38.0kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/checkpoints">checkpoints</a></th><td>1.3kB</td><td>2.4kB</td><td>10.1kB</td><td>30.1kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/react">react</a></th><td>2.6kB</td><td>7.6kB</td><td>24.2kB</td><td>260.5kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/persisters">persisters</a></th><td>0.8kB</td><td>1.6kB</td><td>4.9kB</td><td>19.9kB</td></tr><tr><th class="right"><a href="https://tinybase.org/api/tinybase">tinybase</a></th><td>7.9kB</td><td>20.6kB</td><td>77.3kB</td><td>0.3kB</td></tr></tbody></table></div><section><h2 id="well-tested-and-documented">Well tested and documented.</h2><p>TinyBase has <em>100.0%</em> test coverage, including the code throughout the documentation - even on this page! The guides, demos, and API examples are designed to make it as easy as possible to get up and running.</p><p>Read more about how TinyBase is tested in the <a href="https://tinybase.org/guides/how-tinybase-is-built/unit-testing">Unit Testing</a> guide.</p></section><div class="table"><table class="fixed"><tbody><tr><th width="30%"> </th><th>Total</th><th>Tested</th><th>Coverage</th></tr><tr><th class="right">Lines</th><td>1,178</td><td>1,178</td><td>100.0%</td></tr><tr><th class="right">Statements</th><td>1,273</td><td>1,273</td><td>100.0%</td></tr><tr><th class="right">Functions</th><td>491</td><td>491</td><td>100.0%</td></tr><tr><th class="right">Branches</th><td>405</td><td>402</td><td>99.3%</td></tr><tr><th class="right">Tests</th><td colspan="3">1,686</td></tr><tr><th class="right">Assertions</th><td colspan="3">7,781</td></tr></tbody></table></div><hr><p><a id="start" href="https://tinybase.org/guides/the-basics/getting-started">Get started</a></p><p><a href="https://tinybase.org/demos">Try the demos</a></p><p><a href="https://tinybase.org/api/store/interfaces/other/store/">Read the docs</a></p><hr><section><h2 id="follow">Follow</h2><ul><li>News and updates on <a href="https://twitter.com/tinybasejs">Twitter</a> and <a href="https://facebook.com/tinybasejs">Facebook</a>.</li><li><a href="https://github.com/tinyplex/tinybase/issues">Issues</a> and <a href="https://github.com/tinyplex/tinybase/releases">release notes</a> on <a href="https://github.com/tinyplex/tinybase">GitHub</a></li><li>Packages on <a href="https://www.npmjs.com/package/tinybase/v/0.9.0">NPM</a>.</li></ul></section><section><h2 id="about">About</h2><p>Building TinyBase was an interesting exercise in API design, minification, and documentation. It's not <a href="https://www.linkedin.com/in/jamespearce">my day job</a>, but I do intend to maintain it, so please provide feedback. I hope you enjoy using it!</p></section>
|