tinybase 2.2.6 → 3.0.0-beta.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.
Files changed (110) hide show
  1. package/bin/cli.js +1 -1
  2. package/lib/checkpoints.d.ts +18 -3
  3. package/lib/checkpoints.js +1 -1
  4. package/lib/checkpoints.js.gz +0 -0
  5. package/lib/debug/checkpoints.d.ts +18 -3
  6. package/lib/debug/checkpoints.js +97 -49
  7. package/lib/debug/indexes.js +31 -16
  8. package/lib/debug/metrics.js +31 -16
  9. package/lib/debug/persisters.d.ts +33 -23
  10. package/lib/debug/persisters.js +10 -5
  11. package/lib/debug/queries.js +2 -2
  12. package/lib/debug/relationships.js +31 -16
  13. package/lib/debug/store.d.ts +2022 -383
  14. package/lib/debug/store.js +440 -108
  15. package/lib/debug/tinybase.js +508 -140
  16. package/lib/debug/tools.d.ts +89 -38
  17. package/lib/debug/tools.js +757 -453
  18. package/lib/debug/ui-react.d.ts +1525 -381
  19. package/lib/debug/ui-react.js +163 -12
  20. package/lib/es6/checkpoints.d.ts +18 -3
  21. package/lib/es6/checkpoints.js +1 -1
  22. package/lib/es6/checkpoints.js.gz +0 -0
  23. package/lib/es6/indexes.js +1 -1
  24. package/lib/es6/indexes.js.gz +0 -0
  25. package/lib/es6/metrics.js +1 -1
  26. package/lib/es6/metrics.js.gz +0 -0
  27. package/lib/es6/persisters.d.ts +33 -23
  28. package/lib/es6/persisters.js +1 -1
  29. package/lib/es6/persisters.js.gz +0 -0
  30. package/lib/es6/relationships.js +1 -1
  31. package/lib/es6/relationships.js.gz +0 -0
  32. package/lib/es6/store.d.ts +2022 -383
  33. package/lib/es6/store.js +1 -1
  34. package/lib/es6/store.js.gz +0 -0
  35. package/lib/es6/tinybase.js +1 -1
  36. package/lib/es6/tinybase.js.gz +0 -0
  37. package/lib/es6/tools.d.ts +89 -38
  38. package/lib/es6/tools.js +1 -1
  39. package/lib/es6/tools.js.gz +0 -0
  40. package/lib/es6/ui-react.d.ts +1525 -381
  41. package/lib/es6/ui-react.js +1 -1
  42. package/lib/es6/ui-react.js.gz +0 -0
  43. package/lib/indexes.js +1 -1
  44. package/lib/indexes.js.gz +0 -0
  45. package/lib/metrics.js +1 -1
  46. package/lib/metrics.js.gz +0 -0
  47. package/lib/persisters.d.ts +33 -23
  48. package/lib/persisters.js +1 -1
  49. package/lib/persisters.js.gz +0 -0
  50. package/lib/relationships.js +1 -1
  51. package/lib/relationships.js.gz +0 -0
  52. package/lib/store.d.ts +2022 -383
  53. package/lib/store.js +1 -1
  54. package/lib/store.js.gz +0 -0
  55. package/lib/tinybase.js +1 -1
  56. package/lib/tinybase.js.gz +0 -0
  57. package/lib/tools.d.ts +89 -38
  58. package/lib/tools.js +1 -1
  59. package/lib/tools.js.gz +0 -0
  60. package/lib/ui-react.d.ts +1525 -381
  61. package/lib/ui-react.js +1 -1
  62. package/lib/ui-react.js.gz +0 -0
  63. package/lib/umd/checkpoints.d.ts +18 -3
  64. package/lib/umd/checkpoints.js +1 -1
  65. package/lib/umd/checkpoints.js.gz +0 -0
  66. package/lib/umd/indexes.js +1 -1
  67. package/lib/umd/indexes.js.gz +0 -0
  68. package/lib/umd/metrics.js +1 -1
  69. package/lib/umd/metrics.js.gz +0 -0
  70. package/lib/umd/persisters.d.ts +33 -23
  71. package/lib/umd/persisters.js +1 -1
  72. package/lib/umd/persisters.js.gz +0 -0
  73. package/lib/umd/relationships.js +1 -1
  74. package/lib/umd/relationships.js.gz +0 -0
  75. package/lib/umd/store.d.ts +2022 -383
  76. package/lib/umd/store.js +1 -1
  77. package/lib/umd/store.js.gz +0 -0
  78. package/lib/umd/tinybase.js +1 -1
  79. package/lib/umd/tinybase.js.gz +0 -0
  80. package/lib/umd/tools.d.ts +89 -38
  81. package/lib/umd/tools.js +1 -1
  82. package/lib/umd/tools.js.gz +0 -0
  83. package/lib/umd/ui-react.d.ts +1525 -381
  84. package/lib/umd/ui-react.js +1 -1
  85. package/lib/umd/ui-react.js.gz +0 -0
  86. package/lib/umd-es6/checkpoints.d.ts +18 -3
  87. package/lib/umd-es6/checkpoints.js +1 -1
  88. package/lib/umd-es6/checkpoints.js.gz +0 -0
  89. package/lib/umd-es6/indexes.js +1 -1
  90. package/lib/umd-es6/indexes.js.gz +0 -0
  91. package/lib/umd-es6/metrics.js +1 -1
  92. package/lib/umd-es6/metrics.js.gz +0 -0
  93. package/lib/umd-es6/persisters.d.ts +33 -23
  94. package/lib/umd-es6/persisters.js +1 -1
  95. package/lib/umd-es6/persisters.js.gz +0 -0
  96. package/lib/umd-es6/relationships.js +1 -1
  97. package/lib/umd-es6/relationships.js.gz +0 -0
  98. package/lib/umd-es6/store.d.ts +2022 -383
  99. package/lib/umd-es6/store.js +1 -1
  100. package/lib/umd-es6/store.js.gz +0 -0
  101. package/lib/umd-es6/tinybase.js +1 -1
  102. package/lib/umd-es6/tinybase.js.gz +0 -0
  103. package/lib/umd-es6/tools.d.ts +89 -38
  104. package/lib/umd-es6/tools.js +1 -1
  105. package/lib/umd-es6/tools.js.gz +0 -0
  106. package/lib/umd-es6/ui-react.d.ts +1525 -381
  107. package/lib/umd-es6/ui-react.js +1 -1
  108. package/lib/umd-es6/ui-react.js.gz +0 -0
  109. package/package.json +26 -26
  110. package/readme.md +20 -19
@@ -1 +1 @@
1
- import e,{useContext as o}from"react";const t=e=>typeof e,r=t(""),l=(e,o)=>e.map(o),d=e=>null==e,n=(e,o,t)=>d(e)?null==t?void 0:t():o(e),s=()=>{},{createContext:u,useContext:i}=e,a=u([]),I=(e,o)=>{const t=i(a);return d(e)?t[o]:((e,o)=>n(e,(e=>e[o])))(t[o+1],e)},c=(e,o)=>{const l=I(e,o);return d(e)||(e=>t(e)==r)(e)?l:e},p=e=>I(e,0),b=e=>I(e,2),w=e=>I(e,4),g=e=>I(e,6),v=e=>I(e,8),R=e=>I(e,10),C=e=>c(e,0),m=e=>c(e,2),y=e=>c(e,4),k=e=>c(e,6),h=e=>c(e,8),f=e=>c(e,10),{useCallback:P,useEffect:T,useMemo:q,useRef:x,useState:S}=e,O=(e,o,t=[])=>{const r=q((()=>o(e)),[e,...t]);return T((()=>()=>r.destroy()),[r]),r},B=(e,o,t,r=[],l)=>{const[,n]=S(),s=P((()=>{var l,d;return null!=(d=null==(l=null==o?void 0:o["get"+e])?void 0:l.call(o,...r))?d:t}),[o,...r]),[u]=S(s),i=x(u);return q((()=>i.current=s()),[s]),L(e,o,((...e)=>{i.current=d(l)?s():e[l],n([])}),[],r),i.current},L=(e,o,t,r=[],l=[],...d)=>T((()=>{var r;const n=null==(r=null==o?void 0:o["add"+e+"Listener"])?void 0:r.call(o,...l,t,...d);return()=>null==o?void 0:o.delListener(n)}),[o,...l,...r,...d]),j=(e,o,t,r=[],l=s,d=[],...u)=>{const i=C(e);return P((e=>n(i,(r=>n(t(e,r),(e=>l(r["set"+o](...u,e),e)))))),[i,o,...r,...d,...u])},M=(e,o,t=s,r=[],...l)=>{const d=C(e);return P((()=>t(null==d?void 0:d["del"+o](...l))),[d,o,...r,...l])},E=(e,o,t)=>{const r=f(e);return P((()=>null==r?void 0:r[o](t)),[r,o,t])},A=(e,o=[])=>q(e,o),D=e=>B("Tables",C(e),{}),F=e=>B("TableIds",C(e),[],[]),z=(e,o)=>B("Table",C(o),{},[e]),G=(e,o)=>B("RowIds",C(o),[],[e]),H=(e,o,t,r=0,l,d)=>B("SortedRowIds",C(d),[],[e,o,t,r,l],6),J=(e,o,t)=>B("Row",C(t),{},[e,o]),K=(e,o,t)=>B("CellIds",C(t),[],[e,o]),N=(e,o,t,r)=>B("Cell",C(r),void 0,[e,o,t],4),Q=(e,o,t,r,l)=>j(t,"Tables",e,o,r,l),U=(e,o,t,r,l,d)=>j(r,"Table",o,t,l,d,e),V=(e,o,t,r,l,d,n)=>j(l,"Row",t,r,d,n,e,o),W=(e,o,t=[],r,l=s,d=[])=>{const u=C(r);return P((t=>n(u,(r=>n(o(t,r),(o=>l(r.addRow(e,o),r,o)))))),[u,e,...t,...d])},X=(e,o,t,r,l,d,n)=>j(l,"PartialRow",t,r,d,n,e,o),Y=(e,o,t,r,l,d,n,s)=>j(d,"Cell",r,l,n,s,e,o,t),Z=(e,o,t)=>M(e,"Tables",o,t),$=(e,o,t,r)=>M(o,"Table",t,r,e),_=(e,o,t,r,l)=>M(t,"Row",r,l,e,o),ee=(e,o,t,r,l,d,n)=>M(l,"Cell",d,n,e,o,t,r),oe=(e,o,t,r)=>L("Tables",C(r),e,o,[],t),te=(e,o,t,r)=>L("TableIds",C(r),e,o,[],t),re=(e,o,t,r,l)=>L("Table",C(l),o,t,[e],r),le=(e,o,t,r,l)=>L("RowIds",C(l),o,t,[e],r),de=(e,o,t,r,l,d,n,s,u)=>L("SortedRowIds",C(u),d,n,[e,o,t,r,l],s),ne=(e,o,t,r,l,d)=>L("Row",C(d),t,r,[e,o],l),se=(e,o,t,r,l,d)=>L("CellIds",C(d),t,r,[e,o],l),ue=(e,o,t,r,l,d,n)=>L("Cell",C(n),r,l,[e,o,t],d),ie=(e,o,t)=>O(e,o,t),ae=(e,o)=>B("Metric",m(o),void 0,[e]),Ie=(e,o,t,r)=>L("Metric",m(r),o,t,[e]),ce=(e,o,t)=>O(e,o,t),pe=(e,o)=>B("SliceIds",y(o),[],[e]),be=(e,o,t)=>B("SliceRowIds",y(t),[],[e,o]),we=(e,o,t,r)=>L("SliceIds",y(r),o,t,[e]),ge=(e,o,t,r,l)=>L("SliceRowIds",y(l),t,r,[e,o]),ve=(e,o,t)=>O(e,o,t),Re=(e,o,t)=>B("RemoteRowId",k(t),void 0,[e,o]),Ce=(e,o,t)=>B("LocalRowIds",k(t),[],[e,o]),me=(e,o,t)=>B("LinkedRowIds",k(t),[],[e,o]),ye=(e,o,t,r,l)=>L("RemoteRowId",k(l),t,r,[e,o]),ke=(e,o,t,r,l)=>L("LocalRowIds",k(l),t,r,[e,o]),he=(e,o,t,r,l)=>L("LinkedRowIds",k(l),t,r,[e,o]),fe=(e,o,t)=>O(e,o,t),Pe=(e,o)=>B("ResultTable",h(o),{},[e]),Te=(e,o)=>B("ResultRowIds",h(o),[],[e]),qe=(e,o,t,r=0,l,d)=>B("ResultSortedRowIds",h(d),[],[e,o,t,r,l],6),xe=(e,o,t)=>B("ResultRow",h(t),{},[e,o]),Se=(e,o,t)=>B("ResultCellIds",h(t),[],[e,o]),Oe=(e,o,t,r)=>B("ResultCell",h(r),void 0,[e,o,t]),Be=(e,o,t,r)=>L("ResultTable",h(r),o,t,[e]),Le=(e,o,t,r)=>L("ResultRowIds",h(r),o,t,[e]),je=(e,o,t,r,l,d,n,s)=>L("ResultSortedRowIds",h(s),d,n,[e,o,t,r,l]),Me=(e,o,t,r,l)=>L("ResultRow",h(l),t,r,[e,o]),Ee=(e,o,t,r,l)=>L("ResultCellIds",h(l),t,r,[e,o]),Ae=(e,o,t,r,l,d)=>L("ResultCell",h(d),r,l,[e,o,t]),De=(e,o,t)=>O(e,o,t),Fe=e=>B("CheckpointIds",f(e),[[],void 0,[]]),ze=(e,o)=>B("Checkpoint",f(o),void 0,[e]),Ge=(e=s,o=[],t,r=s,l=[])=>{const d=f(t);return P((o=>n(d,(t=>{const l=e(o);r(t.addCheckpoint(l),t,l)}))),[d,...o,...l])},He=e=>E(e,"goBackward"),Je=e=>E(e,"goForward"),Ke=(e,o=[],t,r=s,l=[])=>{const d=f(t);return P((o=>n(d,(t=>n(e(o),(e=>r(t.goTo(e),e)))))),[d,...o,...l])},Ne=e=>{var o;const t=f(e),[r,l]=Fe(t);return[(d=r,!(0==(e=>e.length)(d))),He(t),l,null!=(o=n(l,(e=>null==t?void 0:t.getCheckpoint(e))))?o:""];var d},Qe=e=>{var o;const t=f(e),[,,[r]]=Fe(t);return[!d(r),Je(t),r,null!=(o=n(r,(e=>null==t?void 0:t.getCheckpoint(e))))?o:""]},Ue=(e,o,t)=>L("CheckpointIds",f(t),e,o),Ve=(e,o,t,r)=>L("Checkpoint",f(r),o,t,[e]),We=(e,o,t=[],r,l=[])=>{const[,d]=S(),n=q((()=>o(e)),[e,...t]);return T((()=>{var e;return e=function*(){yield null==r?void 0:r(n),d(1)},new Promise(((o,t)=>{var r=o=>{try{d(e.next(o))}catch(e){t(e)}},l=o=>{try{d(e.throw(o))}catch(e){t(e)}},d=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,l);d((e=e.apply(void 0,null)).next())})),()=>{n.destroy()}}),[n,...l]),n};var Xe=Object.defineProperty,Ye=Object.defineProperties,Ze=Object.getOwnPropertyDescriptors,$e=Object.getOwnPropertySymbols,_e=Object.prototype.hasOwnProperty,eo=Object.prototype.propertyIsEnumerable,oo=(e,o,t)=>o in e?Xe(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,to=(e,o)=>{for(var t in o||(o={}))_e.call(o,t)&&oo(e,t,o[t]);if($e)for(var t of $e(o))eo.call(o,t)&&oo(e,t,o[t]);return e},ro=(e,o)=>Ye(e,Ze(o)),lo=(e,o)=>{var t={};for(var r in e)_e.call(e,r)&&o.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&$e)for(var r of $e(e))o.indexOf(r)<0&&eo.call(e,r)&&(t[r]=e[r]);return t};const{createElement:no,useMemo:so}=e,uo=({tableId:e,store:o,rowComponent:t=vo,getRowComponentProps:r,separator:d,debugIds:n},s)=>wo(l(s,(l=>no(t,ro(to({},po(r,l)),{key:l,tableId:e,rowId:l,store:o,debugIds:n})))),d,n,e),io=({queryId:e,queries:o,resultRowComponent:t=xo,getResultRowComponentProps:r,separator:d,debugIds:n},s)=>wo(l(s,(l=>no(t,ro(to({},po(r,l)),{key:l,queryId:e,rowId:l,queries:o,debugIds:n})))),d,n,e),ao=e=>{const o=k(e);return[o,null==o?void 0:o.getStore()]},Io=({relationshipId:e,relationships:o,rowComponent:t=vo,getRowComponentProps:r,separator:d,debugIds:n},s,u)=>{const[i,a]=ao(o),I=null==i?void 0:i.getLocalTableId(e),c=s(e,u,i);return wo(l(c,(e=>no(t,ro(to({},po(r,e)),{key:e,tableId:I,rowId:e,store:a,debugIds:n})))),d,n,u)},co=e=>({checkpoints:o,checkpointComponent:t=Bo,getCheckpointComponentProps:r,separator:d,debugIds:n})=>{const s=f(o);return wo(l(e(Fe(s)),(e=>no(t,ro(to({},po(r,e)),{key:e,checkpoints:s,checkpointId:e,debugIds:n})))),d)},po=(e,o)=>d(e)?{}:e(o),bo=({store:e,storesById:t,metrics:r,metricsById:l,indexes:d,indexesById:n,relationships:s,relationshipsById:u,queries:i,queriesById:I,checkpoints:c,checkpointsById:p,children:b})=>{const w=o(a);return no(a.Provider,{value:so((()=>[null!=e?e:w[0],to(to({},w[1]),t),null!=r?r:w[2],to(to({},w[3]),l),null!=d?d:w[4],to(to({},w[5]),n),null!=s?s:w[6],to(to({},w[7]),u),null!=i?i:w[8],to(to({},w[9]),I),null!=c?c:w[10],to(to({},w[11]),p)]),[e,t,r,l,d,n,s,u,i,I,c,p,w])},b)},wo=(e,o,t,r)=>{const n=d(o)||!Array.isArray(e)?e:l(e,((e,t)=>t>0?[o,e]:e));return t?[r,":{",n,"}"]:n},go=({tableId:e,rowId:o,cellId:t,store:r,debugIds:l})=>{var d;return wo(""+(null!=(d=N(e,o,t,r))?d:""),void 0,l,t)},vo=({tableId:e,rowId:o,store:t,cellComponent:r=go,getCellComponentProps:d,separator:n,debugIds:s})=>wo(l(K(e,o,t),(l=>no(r,ro(to({},po(d,l)),{key:l,tableId:e,rowId:o,cellId:l,store:t,debugIds:s})))),n,s,o),Ro=e=>uo(e,G(e.tableId,e.store)),Co=e=>{var o=e,{cellId:t,descending:r,offset:l,limit:d}=o,n=lo(o,["cellId","descending","offset","limit"]);return uo(n,H(n.tableId,t,r,l,d,n.store))},mo=({store:e,tableComponent:o=Ro,getTableComponentProps:t,separator:r,debugIds:d})=>wo(l(F(e),(r=>no(o,ro(to({},po(t,r)),{key:r,tableId:r,store:e,debugIds:d})))),r),yo=({metricId:e,metrics:o,debugIds:t})=>{var r;return wo(null!=(r=ae(e,o))?r:"",void 0,t,e)},ko=({indexId:e,sliceId:o,indexes:t,rowComponent:r=vo,getRowComponentProps:d,separator:n,debugIds:s})=>{const u=y(t),i=null==u?void 0:u.getStore(),a=null==u?void 0:u.getTableId(e),I=be(e,o,u);return wo(l(I,(e=>no(r,ro(to({},po(d,e)),{key:e,tableId:a,rowId:e,store:i,debugIds:s})))),n,s,o)},ho=({indexId:e,indexes:o,sliceComponent:t=ko,getSliceComponentProps:r,separator:d,debugIds:n})=>wo(l(pe(e,o),(l=>no(t,ro(to({},po(r,l)),{key:l,indexId:e,sliceId:l,indexes:o,debugIds:n})))),d,n,e),fo=({relationshipId:e,localRowId:o,relationships:t,rowComponent:r=vo,getRowComponentProps:l,debugIds:n})=>{const[s,u]=ao(t),i=null==s?void 0:s.getRemoteTableId(e),a=Re(e,o,s);return wo(d(i)||d(a)?null:no(r,ro(to({},po(l,a)),{key:a,tableId:i,rowId:a,store:u,debugIds:n})),void 0,n,o)},Po=e=>Io(e,Ce,e.remoteRowId),To=e=>Io(e,me,e.firstRowId),qo=({queryId:e,rowId:o,cellId:t,queries:r,debugIds:l})=>{var d;return wo(""+(null!=(d=Oe(e,o,t,r))?d:""),void 0,l,t)},xo=({queryId:e,rowId:o,queries:t,resultCellComponent:r=qo,getResultCellComponentProps:d,separator:n,debugIds:s})=>wo(l(Se(e,o,t),(l=>no(r,ro(to({},po(d,l)),{key:l,queryId:e,rowId:o,cellId:l,queries:t,debugIds:s})))),n,s,o),So=e=>io(e,Te(e.queryId,e.queries)),Oo=e=>{var o=e,{cellId:t,descending:r,offset:l,limit:d}=o,n=lo(o,["cellId","descending","offset","limit"]);return io(n,qe(n.queryId,t,r,l,d,n.queries))},Bo=({checkpoints:e,checkpointId:o,debugIds:t})=>{var r;return wo(null!=(r=ze(o,e))?r:"",void 0,t,o)},Lo=co((e=>e[0])),jo=co((e=>d(e[1])?[]:[e[1]])),Mo=co((e=>e[2]));export{Lo as BackwardCheckpointsView,go as CellView,Bo as CheckpointView,jo as CurrentCheckpointView,Mo as ForwardCheckpointsView,ho as IndexView,To as LinkedRowsView,Po as LocalRowsView,yo as MetricView,bo as Provider,fo as RemoteRowView,qo as ResultCellView,xo as ResultRowView,Oo as ResultSortedTableView,So as ResultTableView,vo as RowView,ko as SliceView,Co as SortedTableView,Ro as TableView,mo as TablesView,uo as tableView,W as useAddRowCallback,N as useCell,K as useCellIds,se as useCellIdsListener,ue as useCellListener,ze as useCheckpoint,Fe as useCheckpointIds,Ue as useCheckpointIdsListener,Ve as useCheckpointListener,R as useCheckpoints,De as useCreateCheckpoints,ce as useCreateIndexes,ie as useCreateMetrics,We as useCreatePersister,fe as useCreateQueries,ve as useCreateRelationships,A as useCreateStore,ee as useDelCellCallback,_ as useDelRowCallback,$ as useDelTableCallback,Z as useDelTablesCallback,He as useGoBackwardCallback,Je as useGoForwardCallback,Ke as useGoToCallback,w as useIndexes,me as useLinkedRowIds,he as useLinkedRowIdsListener,Ce as useLocalRowIds,ke as useLocalRowIdsListener,ae as useMetric,Ie as useMetricListener,b as useMetrics,v as useQueries,Qe as useRedoInformation,g as useRelationships,Re as useRemoteRowId,ye as useRemoteRowIdListener,Oe as useResultCell,Se as useResultCellIds,Ee as useResultCellIdsListener,Ae as useResultCellListener,xe as useResultRow,Te as useResultRowIds,Le as useResultRowIdsListener,Me as useResultRowListener,qe as useResultSortedRowIds,je as useResultSortedRowIdsListener,Pe as useResultTable,Be as useResultTableListener,J as useRow,G as useRowIds,le as useRowIdsListener,ne as useRowListener,Y as useSetCellCallback,Ge as useSetCheckpointCallback,X as useSetPartialRowCallback,V as useSetRowCallback,U as useSetTableCallback,Q as useSetTablesCallback,pe as useSliceIds,we as useSliceIdsListener,be as useSliceRowIds,ge as useSliceRowIdsListener,H as useSortedRowIds,de as useSortedRowIdsListener,p as useStore,z as useTable,F as useTableIds,te as useTableIdsListener,re as useTableListener,D as useTables,oe as useTablesListener,Ne as useUndoInformation};
1
+ import e,{useContext as o}from"react";const t=e=>typeof e,r=t(""),l=(e,o)=>e.map(o),d=e=>null==e,s=(e,o,t)=>d(e)?null==t?void 0:t():o(e),n=()=>{},{createContext:u,useContext:a}=e,i=u([]),I=(e,o)=>{const t=a(i);return d(e)?t[o]:((e,o)=>s(e,(e=>e[o])))(t[o+1],e)},c=(e,o)=>{const l=I(e,o);return d(e)||(e=>t(e)==r)(e)?l:e},p=e=>I(e,0),b=e=>I(e,2),v=e=>I(e,4),g=e=>I(e,6),w=e=>I(e,8),R=e=>I(e,10),C=e=>c(e,0),m=e=>c(e,2),y=e=>c(e,4),k=e=>c(e,6),h=e=>c(e,8),f=e=>c(e,10),{useCallback:P,useEffect:T,useMemo:q,useRef:x,useState:S}=e,V=(e,o,t=[])=>{const r=q((()=>o(e)),[e,...t]);return T((()=>()=>r.destroy()),[r]),r},O=(e,o,t,r=[],l)=>{const[,s]=S(),n=P((()=>{var l,d;return null!=(d=null==(l=null==o?void 0:o["get"+e])?void 0:l.call(o,...r))?d:t}),[o,...r]),[u]=S(n),a=x(u);return q((()=>a.current=n()),[n]),B(e,o,((...e)=>{a.current=d(l)?n():e[l],s([])}),[],r),a.current},B=(e,o,t,r=[],l=[],...d)=>T((()=>{var r;const s=null==(r=null==o?void 0:o["add"+e+"Listener"])?void 0:r.call(o,...l,t,...d);return()=>null==o?void 0:o.delListener(s)}),[o,...l,...r,...d]),L=(e,o,t,r=[],l=n,d=[],...u)=>{const a=C(e);return P((e=>s(a,(r=>s(t(e,r),(e=>l(r["set"+o](...u,e),e)))))),[a,o,...r,...d,...u])},j=(e,o,t=n,r=[],...l)=>{const d=C(e);return P((()=>t(null==d?void 0:d["del"+o](...l))),[d,o,...r,...l])},M=(e,o,t)=>{const r=f(e);return P((()=>null==r?void 0:r[o](t)),[r,o,t])},E=(e,o=[])=>q(e,o),A=e=>O("Tables",C(e),{}),D=e=>O("TableIds",C(e),[],[]),F=(e,o)=>O("Table",C(o),{},[e]),z=(e,o)=>O("RowIds",C(o),[],[e]),G=(e,o,t,r=0,l,d)=>O("SortedRowIds",C(d),[],[e,o,t,r,l],6),H=(e,o,t)=>O("Row",C(t),{},[e,o]),J=(e,o,t)=>O("CellIds",C(t),[],[e,o]),K=(e,o,t,r)=>O("Cell",C(r),void 0,[e,o,t],4),N=e=>O("Values",C(e),{}),Q=e=>O("ValueIds",C(e),[],[]),U=(e,o)=>O("Value",C(o),void 0,[e]),W=(e,o,t,r,l)=>L(t,"Tables",e,o,r,l),X=(e,o,t,r,l,d)=>L(r,"Table",o,t,l,d,e),Y=(e,o,t,r,l,d,s)=>L(l,"Row",t,r,d,s,e,o),Z=(e,o,t=[],r,l=n,d=[])=>{const u=C(r);return P((t=>s(u,(r=>s(o(t,r),(o=>l(r.addRow(e,o),r,o)))))),[u,e,...t,...d])},$=(e,o,t,r,l,d,s)=>L(l,"PartialRow",t,r,d,s,e,o),_=(e,o,t,r,l,d,s,n)=>L(d,"Cell",r,l,s,n,e,o,t),ee=(e,o,t,r,l)=>L(t,"Values",e,o,r,l),oe=(e,o,t,r,l)=>L(t,"PartialValues",e,o,r,l),te=(e,o,t,r,l,d)=>L(r,"Value",o,t,l,d,e),re=(e,o,t)=>j(e,"Tables",o,t),le=(e,o,t,r)=>j(o,"Table",t,r,e),de=(e,o,t,r,l)=>j(t,"Row",r,l,e,o),se=(e,o,t,r,l,d,s)=>j(l,"Cell",d,s,e,o,t,r),ne=(e,o,t)=>j(e,"Values",o,t),ue=(e,o,t,r)=>j(o,"Value",t,r,e),ae=(e,o,t,r)=>B("Tables",C(r),e,o,[],t),ie=(e,o,t,r)=>B("TableIds",C(r),e,o,[],t),Ie=(e,o,t,r,l)=>B("Table",C(l),o,t,[e],r),ce=(e,o,t,r,l)=>B("RowIds",C(l),o,t,[e],r),pe=(e,o,t,r,l,d,s,n,u)=>B("SortedRowIds",C(u),d,s,[e,o,t,r,l],n),be=(e,o,t,r,l,d)=>B("Row",C(d),t,r,[e,o],l),ve=(e,o,t,r,l,d)=>B("CellIds",C(d),t,r,[e,o],l),ge=(e,o,t,r,l,d,s)=>B("Cell",C(s),r,l,[e,o,t],d),we=(e,o,t,r)=>B("Values",C(r),e,o,[],t),Re=(e,o,t,r)=>B("ValueIds",C(r),e,o,[],t),Ce=(e,o,t,r,l)=>B("Value",C(l),o,t,[e],r),me=(e,o,t)=>V(e,o,t),ye=(e,o)=>O("Metric",m(o),void 0,[e]),ke=(e,o,t,r)=>B("Metric",m(r),o,t,[e]),he=(e,o,t)=>V(e,o,t),fe=(e,o)=>O("SliceIds",y(o),[],[e]),Pe=(e,o,t)=>O("SliceRowIds",y(t),[],[e,o]),Te=(e,o,t,r)=>B("SliceIds",y(r),o,t,[e]),qe=(e,o,t,r,l)=>B("SliceRowIds",y(l),t,r,[e,o]),xe=(e,o,t)=>V(e,o,t),Se=(e,o,t)=>O("RemoteRowId",k(t),void 0,[e,o]),Ve=(e,o,t)=>O("LocalRowIds",k(t),[],[e,o]),Oe=(e,o,t)=>O("LinkedRowIds",k(t),[],[e,o]),Be=(e,o,t,r,l)=>B("RemoteRowId",k(l),t,r,[e,o]),Le=(e,o,t,r,l)=>B("LocalRowIds",k(l),t,r,[e,o]),je=(e,o,t,r,l)=>B("LinkedRowIds",k(l),t,r,[e,o]),Me=(e,o,t)=>V(e,o,t),Ee=(e,o)=>O("ResultTable",h(o),{},[e]),Ae=(e,o)=>O("ResultRowIds",h(o),[],[e]),De=(e,o,t,r=0,l,d)=>O("ResultSortedRowIds",h(d),[],[e,o,t,r,l],6),Fe=(e,o,t)=>O("ResultRow",h(t),{},[e,o]),ze=(e,o,t)=>O("ResultCellIds",h(t),[],[e,o]),Ge=(e,o,t,r)=>O("ResultCell",h(r),void 0,[e,o,t]),He=(e,o,t,r)=>B("ResultTable",h(r),o,t,[e]),Je=(e,o,t,r)=>B("ResultRowIds",h(r),o,t,[e]),Ke=(e,o,t,r,l,d,s,n)=>B("ResultSortedRowIds",h(n),d,s,[e,o,t,r,l]),Ne=(e,o,t,r,l)=>B("ResultRow",h(l),t,r,[e,o]),Qe=(e,o,t,r,l)=>B("ResultCellIds",h(l),t,r,[e,o]),Ue=(e,o,t,r,l,d)=>B("ResultCell",h(d),r,l,[e,o,t]),We=(e,o,t)=>V(e,o,t),Xe=e=>O("CheckpointIds",f(e),[[],void 0,[]]),Ye=(e,o)=>O("Checkpoint",f(o),void 0,[e]),Ze=(e=n,o=[],t,r=n,l=[])=>{const d=f(t);return P((o=>s(d,(t=>{const l=e(o);r(t.addCheckpoint(l),t,l)}))),[d,...o,...l])},$e=e=>M(e,"goBackward"),_e=e=>M(e,"goForward"),eo=(e,o=[],t,r=n,l=[])=>{const d=f(t);return P((o=>s(d,(t=>s(e(o),(e=>r(t.goTo(e),e)))))),[d,...o,...l])},oo=e=>{var o;const t=f(e),[r,l]=Xe(t);return[(d=r,!(0==(e=>e.length)(d))),$e(t),l,null!=(o=s(l,(e=>null==t?void 0:t.getCheckpoint(e))))?o:""];var d},to=e=>{var o;const t=f(e),[,,[r]]=Xe(t);return[!d(r),_e(t),r,null!=(o=s(r,(e=>null==t?void 0:t.getCheckpoint(e))))?o:""]},ro=(e,o,t)=>B("CheckpointIds",f(t),e,o),lo=(e,o,t,r)=>B("Checkpoint",f(r),o,t,[e]),so=(e,o,t=[],r,l=[])=>{const[,d]=S(),s=q((()=>o(e)),[e,...t]);return T((()=>{var e;return e=function*(){yield null==r?void 0:r(s),d(1)},new Promise(((o,t)=>{var r=o=>{try{d(e.next(o))}catch(e){t(e)}},l=o=>{try{d(e.throw(o))}catch(e){t(e)}},d=e=>e.done?o(e.value):Promise.resolve(e.value).then(r,l);d((e=e.apply(void 0,null)).next())})),()=>{s.destroy()}}),[s,...l]),s};var no=Object.defineProperty,uo=Object.defineProperties,ao=Object.getOwnPropertyDescriptors,io=Object.getOwnPropertySymbols,Io=Object.prototype.hasOwnProperty,co=Object.prototype.propertyIsEnumerable,po=(e,o,t)=>o in e?no(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,bo=(e,o)=>{for(var t in o||(o={}))Io.call(o,t)&&po(e,t,o[t]);if(io)for(var t of io(o))co.call(o,t)&&po(e,t,o[t]);return e},vo=(e,o)=>uo(e,ao(o)),go=(e,o)=>{var t={};for(var r in e)Io.call(e,r)&&o.indexOf(r)<0&&(t[r]=e[r]);if(null!=e&&io)for(var r of io(e))o.indexOf(r)<0&&co.call(e,r)&&(t[r]=e[r]);return t};const{createElement:wo,useMemo:Ro}=e,Co=({tableId:e,store:o,rowComponent:t=xo,getRowComponentProps:r,separator:d,debugIds:s},n)=>To(l(n,(l=>wo(t,vo(bo({},fo(r,l)),{key:l,tableId:e,rowId:l,store:o,debugIds:s})))),d,s,e),mo=({queryId:e,queries:o,resultRowComponent:t=Go,getResultRowComponentProps:r,separator:d,debugIds:s},n)=>To(l(n,(l=>wo(t,vo(bo({},fo(r,l)),{key:l,queryId:e,rowId:l,queries:o,debugIds:s})))),d,s,e),yo=e=>{const o=k(e);return[o,null==o?void 0:o.getStore()]},ko=({relationshipId:e,relationships:o,rowComponent:t=xo,getRowComponentProps:r,separator:d,debugIds:s},n,u)=>{const[a,i]=yo(o),I=null==a?void 0:a.getLocalTableId(e),c=n(e,u,a);return To(l(c,(e=>wo(t,vo(bo({},fo(r,e)),{key:e,tableId:I,rowId:e,store:i,debugIds:s})))),d,s,u)},ho=e=>({checkpoints:o,checkpointComponent:t=Ko,getCheckpointComponentProps:r,separator:d,debugIds:s})=>{const n=f(o);return To(l(e(Xe(n)),(e=>wo(t,vo(bo({},fo(r,e)),{key:e,checkpoints:n,checkpointId:e,debugIds:s})))),d)},fo=(e,o)=>d(e)?{}:e(o),Po=({store:e,storesById:t,metrics:r,metricsById:l,indexes:d,indexesById:s,relationships:n,relationshipsById:u,queries:a,queriesById:I,checkpoints:c,checkpointsById:p,children:b})=>{const v=o(i);return wo(i.Provider,{value:Ro((()=>[null!=e?e:v[0],bo(bo({},v[1]),t),null!=r?r:v[2],bo(bo({},v[3]),l),null!=d?d:v[4],bo(bo({},v[5]),s),null!=n?n:v[6],bo(bo({},v[7]),u),null!=a?a:v[8],bo(bo({},v[9]),I),null!=c?c:v[10],bo(bo({},v[11]),p)]),[e,t,r,l,d,s,n,u,a,I,c,p,v])},b)},To=(e,o,t,r)=>{const s=d(o)||!Array.isArray(e)?e:l(e,((e,t)=>t>0?[o,e]:e));return t?[r,":{",s,"}"]:s},qo=({tableId:e,rowId:o,cellId:t,store:r,debugIds:l})=>{var d;return To(""+(null!=(d=K(e,o,t,r))?d:""),void 0,l,t)},xo=({tableId:e,rowId:o,store:t,cellComponent:r=qo,getCellComponentProps:d,separator:s,debugIds:n})=>To(l(J(e,o,t),(l=>wo(r,vo(bo({},fo(d,l)),{key:l,tableId:e,rowId:o,cellId:l,store:t,debugIds:n})))),s,n,o),So=e=>Co(e,z(e.tableId,e.store)),Vo=e=>{var o=e,{cellId:t,descending:r,offset:l,limit:d}=o,s=go(o,["cellId","descending","offset","limit"]);return Co(s,G(s.tableId,t,r,l,d,s.store))},Oo=({store:e,tableComponent:o=So,getTableComponentProps:t,separator:r,debugIds:d})=>To(l(D(e),(r=>wo(o,vo(bo({},fo(t,r)),{key:r,tableId:r,store:e,debugIds:d})))),r),Bo=({valueId:e,store:o,debugIds:t})=>{var r;return To(""+(null!=(r=U(e,o))?r:""),void 0,t,e)},Lo=({store:e,valueComponent:o=Bo,getValueComponentProps:t,separator:r,debugIds:d})=>To(l(Q(e),(r=>wo(o,vo(bo({},fo(t,r)),{key:r,valueId:r,store:e,debugIds:d})))),r),jo=({metricId:e,metrics:o,debugIds:t})=>{var r;return To(null!=(r=ye(e,o))?r:"",void 0,t,e)},Mo=({indexId:e,sliceId:o,indexes:t,rowComponent:r=xo,getRowComponentProps:d,separator:s,debugIds:n})=>{const u=y(t),a=null==u?void 0:u.getStore(),i=null==u?void 0:u.getTableId(e),I=Pe(e,o,u);return To(l(I,(e=>wo(r,vo(bo({},fo(d,e)),{key:e,tableId:i,rowId:e,store:a,debugIds:n})))),s,n,o)},Eo=({indexId:e,indexes:o,sliceComponent:t=Mo,getSliceComponentProps:r,separator:d,debugIds:s})=>To(l(fe(e,o),(l=>wo(t,vo(bo({},fo(r,l)),{key:l,indexId:e,sliceId:l,indexes:o,debugIds:s})))),d,s,e),Ao=({relationshipId:e,localRowId:o,relationships:t,rowComponent:r=xo,getRowComponentProps:l,debugIds:s})=>{const[n,u]=yo(t),a=null==n?void 0:n.getRemoteTableId(e),i=Se(e,o,n);return To(d(a)||d(i)?null:wo(r,vo(bo({},fo(l,i)),{key:i,tableId:a,rowId:i,store:u,debugIds:s})),void 0,s,o)},Do=e=>ko(e,Ve,e.remoteRowId),Fo=e=>ko(e,Oe,e.firstRowId),zo=({queryId:e,rowId:o,cellId:t,queries:r,debugIds:l})=>{var d;return To(""+(null!=(d=Ge(e,o,t,r))?d:""),void 0,l,t)},Go=({queryId:e,rowId:o,queries:t,resultCellComponent:r=zo,getResultCellComponentProps:d,separator:s,debugIds:n})=>To(l(ze(e,o,t),(l=>wo(r,vo(bo({},fo(d,l)),{key:l,queryId:e,rowId:o,cellId:l,queries:t,debugIds:n})))),s,n,o),Ho=e=>mo(e,Ae(e.queryId,e.queries)),Jo=e=>{var o=e,{cellId:t,descending:r,offset:l,limit:d}=o,s=go(o,["cellId","descending","offset","limit"]);return mo(s,De(s.queryId,t,r,l,d,s.queries))},Ko=({checkpoints:e,checkpointId:o,debugIds:t})=>{var r;return To(null!=(r=Ye(o,e))?r:"",void 0,t,o)},No=ho((e=>e[0])),Qo=ho((e=>d(e[1])?[]:[e[1]])),Uo=ho((e=>e[2]));export{No as BackwardCheckpointsView,qo as CellView,Ko as CheckpointView,Qo as CurrentCheckpointView,Uo as ForwardCheckpointsView,Eo as IndexView,Fo as LinkedRowsView,Do as LocalRowsView,jo as MetricView,Po as Provider,Ao as RemoteRowView,zo as ResultCellView,Go as ResultRowView,Jo as ResultSortedTableView,Ho as ResultTableView,xo as RowView,Mo as SliceView,Vo as SortedTableView,So as TableView,Oo as TablesView,Bo as ValueView,Lo as ValuesView,Co as tableView,Z as useAddRowCallback,K as useCell,J as useCellIds,ve as useCellIdsListener,ge as useCellListener,Ye as useCheckpoint,Xe as useCheckpointIds,ro as useCheckpointIdsListener,lo as useCheckpointListener,R as useCheckpoints,We as useCreateCheckpoints,he as useCreateIndexes,me as useCreateMetrics,so as useCreatePersister,Me as useCreateQueries,xe as useCreateRelationships,E as useCreateStore,se as useDelCellCallback,de as useDelRowCallback,le as useDelTableCallback,re as useDelTablesCallback,ue as useDelValueCallback,ne as useDelValuesCallback,$e as useGoBackwardCallback,_e as useGoForwardCallback,eo as useGoToCallback,v as useIndexes,Oe as useLinkedRowIds,je as useLinkedRowIdsListener,Ve as useLocalRowIds,Le as useLocalRowIdsListener,ye as useMetric,ke as useMetricListener,b as useMetrics,w as useQueries,to as useRedoInformation,g as useRelationships,Se as useRemoteRowId,Be as useRemoteRowIdListener,Ge as useResultCell,ze as useResultCellIds,Qe as useResultCellIdsListener,Ue as useResultCellListener,Fe as useResultRow,Ae as useResultRowIds,Je as useResultRowIdsListener,Ne as useResultRowListener,De as useResultSortedRowIds,Ke as useResultSortedRowIdsListener,Ee as useResultTable,He as useResultTableListener,H as useRow,z as useRowIds,ce as useRowIdsListener,be as useRowListener,_ as useSetCellCallback,Ze as useSetCheckpointCallback,$ as useSetPartialRowCallback,oe as useSetPartialValuesCallback,Y as useSetRowCallback,X as useSetTableCallback,W as useSetTablesCallback,te as useSetValueCallback,ee as useSetValuesCallback,fe as useSliceIds,Te as useSliceIdsListener,Pe as useSliceRowIds,qe as useSliceRowIdsListener,G as useSortedRowIds,pe as useSortedRowIdsListener,p as useStore,F as useTable,D as useTableIds,ie as useTableIdsListener,Ie as useTableListener,A as useTables,ae as useTablesListener,oo as useUndoInformation,U as useValue,Q as useValueIds,Re as useValueIdsListener,Ce as useValueListener,N as useValues,we as useValuesListener};
Binary file
package/lib/indexes.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t=e(""),n=e=>""+e,s=(e,t)=>e.every(t),r=(e,t)=>s(e,((n,s)=>0==s||t(e[s-1],n)<=0)),o=(e,t)=>e.sort(t),c=(e,t)=>e.forEach(t),l=e=>e.length,d=(e,...t)=>e.push(...t),a=e=>null==e,i=(e,t,n)=>a(e)?n?.():t(e),u=e=>Array.isArray(e),h=(e,t)=>e?.has(t)??!1,f=e=>a(e)||0==(e=>e.size)(e),I=e=>[...e?.values()??[]],g=e=>e.clear(),S=(e,t)=>e?.forEach(t),v=(e,t)=>e?.delete(t),w=e=>new Map(e),L=e=>[...e?.keys()??[]],p=(e,t)=>e?.get(t),x=(e,t)=>S(e,((e,n)=>t(n,e))),y=(e,t,n)=>a(n)?(v(e,t),e):e?.set(t,n),E=(e,t,n)=>(h(e,t)||y(e,t,n()),p(e,t)),R=(e,t,n,s,r=0)=>i((n?E:p)(e,t[r],r>l(t)-2?n:w),(o=>{if(r>l(t)-2)return s?.(o)&&y(e,t[r]),o;const c=R(o,t,n,s,r+1);return f(o)&&y(e,t[r]),c})),b=e=>new Set(u(e)||a(e)?e:[e]),T=(e,t)=>e?.add(t),k=(n,s)=>e(n)==t?e=>e(n):n??(()=>s??""),z=(e,t)=>e<t?-1:1,A=/^\d+$/,C=Object.freeze,D=(e=>{const t=new WeakMap;return e=>(t.has(e)||t.set(e,(e=>{const t=w(),D=w(),[M,j,m,O,W,$,q,,B,F,G]=((e,t,n)=>{const r=e.hasRow,o=w(),d=w(),R=w(),k=w(),z=w(),A=(t,n,...s)=>{const r=E(z,t,b);return c(s,(t=>T(r,t)&&n&&e.callListener(t))),s},C=(t,...n)=>i(p(z,t),(s=>{c(0==l(n)?I(s):n,(t=>{e.delListener(t),v(s,t)})),f(s)&&y(z,t)})),D=(e,n)=>{y(o,e,n),h(d,e)||(y(d,e,t()),y(R,e,w()),y(k,e,w()))},M=e=>{y(o,e),y(d,e),y(R,e),y(k,e),C(e)};return[()=>e,()=>L(o),e=>x(d,e),e=>h(d,e),e=>p(o,e),e=>p(d,e),(e,t)=>y(d,e,t),D,(t,o,d,i,f)=>{D(t,o);const I=w(),v=w(),L=p(R,t),E=p(k,t),b=t=>{const c=n=>e.getCell(o,t,n),d=p(L,t),h=r(o,t)?n(i(c,t)):void 0;var g,S;if(d===h||u(d)&&u(h)&&(S=h,l(g=d)===l(S)&&s(g,((e,t)=>S[t]===e)))||y(I,t,[d,h]),!a(f)){const e=p(E,t),n=r(o,t)?f(c,t):void 0;e!=n&&y(v,t,n)}},T=e=>{d((()=>{S(I,(([,e],t)=>y(L,t,e))),S(v,((e,t)=>y(E,t,e)))}),I,v,L,E,e),g(I),g(v)};x(L,b),e.hasTable(o)&&c(e.getRowIds(o),(e=>{h(L,e)||b(e)})),T(!0),C(t),A(t,0,e.addRowListener(o,null,((e,t,n)=>b(n))),e.addTableListener(o,(()=>T())))},M,()=>x(z,M),A,C]})(e,w,(e=>{return a(e)?"":u(e)?(t=n,e.map(t)):n(e);var t})),[H,J,K]=(e=>{let t;const[n,s]=(()=>{const e=[];let t=0;return[()=>e.shift()??""+t++,t=>{A.test(t)&&l(e)<1e3&&d(e,t)}]})(),r=w();return[(e,s,o)=>{t??=P;const c=n();return y(r,c,[e,s,o]),T(R(s,o??[""],b),c),c},(e,n,...s)=>c(((e,t=[""])=>{const n=[],s=(e,r)=>r==l(t)?d(n,e):null===t[r]?S(e,(e=>s(e,r+1))):c([t[r],null],(t=>s(p(e,t),r+1)));return s(e,0),n})(e,n),(e=>S(e,(e=>p(r,e)[0](t,...n??[],...s))))),e=>i(p(r,e),(([,t,n])=>(R(t,n??[""],void 0,(t=>(v(t,e),f(t)?1:0))),y(r,e),s(e),n))),(e,n,s)=>i(p(r,e),(([e,,r=[]])=>{const o=(...d)=>{const i=l(d);i==l(r)?e(t,...d,...s(d)):a(r[i])?c(n[i](...d),(e=>o(...d,e))):o(...d,r[i])};o()}))]})(),N=(t,n,s)=>{const r=W(t);S(s,((t,s)=>n(s,(n=>S(t,(t=>n(t,(n=>e.forEachCell(r,t,n)))))))))},P={setIndexDefinition:(e,n,s,c,l,d=z)=>{const u=a(l)?void 0:([e],[t])=>l(e,t);return B(e,n,((n,s,l,I,g,L)=>{let E=0;const R=b(),k=b(),z=$(e);if(S(s,(([e,t],n)=>{const s=b(e),r=b(t);S(s,(e=>v(r,e)?v(s,e):0)),S(s,(e=>{T(R,e),i(p(z,e),(t=>{v(t,n),f(t)&&(y(z,e),E=1)}))})),S(r,(e=>{T(R,e),h(z,e)||(y(z,e,b()),E=1),T(p(z,e),n),a(c)||T(k,e)}))})),n(),f(g)||(L?x(z,(e=>T(k,e))):x(l,(e=>i(p(I,e),(e=>T(k,e))))),S(k,(e=>{const t=(t,n)=>d(p(g,t),p(g,n),e),n=[...p(z,e)];r(n,t)||(y(z,e,b(o(n,t))),T(R,e))}))),(E||L)&&!a(u)){const t=[...z];r(t,u)||(q(e,w(o(t,u))),E=1)}E&&J(t,[e]),S(R,(t=>J(D,[e,t])))}),k(s),i(c,k)),P},delIndexDefinition:e=>(F(e),P),getStore:M,getIndexIds:j,forEachIndex:e=>m(((t,n)=>e(t,(e=>N(t,e,n))))),forEachSlice:(e,t)=>N(e,t,$(e)),hasIndex:O,hasSlice:(e,t)=>h($(e),t),getTableId:W,getSliceIds:e=>L($(e)),getSliceRowIds:(e,t)=>I(p($(e),t)),addSliceIdsListener:(e,n)=>H(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>H(n,D,[e,t]),delListener:e=>(K(e),P),destroy:G,getListenerStats:()=>({})};return C(P)})(e)),t.get(e))})();export{D as createIndexes};
1
+ const e=e=>typeof e,t=e(""),n=e=>""+e,s=(e,t)=>e.every(t),r=(e,t)=>s(e,((n,s)=>0==s||t(e[s-1],n)<=0)),o=(e,t)=>e.sort(t),c=(e,t)=>e.forEach(t),l=e=>e.length,d=(e,...t)=>e.push(...t),a=e=>null==e,i=(e,t,n)=>a(e)?n?.():t(e),u=e=>Array.isArray(e),h=(e,t)=>e?.has(t)??!1,f=e=>a(e)||0==(e=>e.size)(e),I=e=>[...e?.values()??[]],g=e=>e.clear(),S=(e,t)=>e?.forEach(t),v=(e,t)=>e?.delete(t),w=e=>new Map(e),L=e=>[...e?.keys()??[]],p=(e,t)=>e?.get(t),x=(e,t)=>S(e,((e,n)=>t(n,e))),y=(e,t,n)=>a(n)?(v(e,t),e):e?.set(t,n),E=(e,t,n)=>(h(e,t)||y(e,t,n()),p(e,t)),R=(e,t,n,s,r=0)=>i((n?E:p)(e,t[r],r>l(t)-2?n:w),(o=>{if(r>l(t)-2)return s?.(o)&&y(e,t[r]),o;const c=R(o,t,n,s,r+1);return f(o)&&y(e,t[r]),c})),b=e=>new Set(u(e)||a(e)?e:[e]),T=(e,t)=>e?.add(t),k=(n,s)=>e(n)==t?e=>e(n):n??(()=>s??""),z=(e,t)=>e<t?-1:1,A=/^\d+$/,C=Object.freeze,D=(e=>{const t=new WeakMap;return e=>(t.has(e)||t.set(e,(e=>{const t=w(),D=w(),[M,j,m,O,W,$,q,,B,F,G]=((e,t,n)=>{const r=e.hasRow,o=w(),d=w(),R=w(),k=w(),z=w(),A=(t,n,...s)=>{const r=E(z,t,b);return c(s,(t=>T(r,t)&&n&&e.callListener(t))),s},C=(t,...n)=>i(p(z,t),(s=>{c(0==l(n)?I(s):n,(t=>{e.delListener(t),v(s,t)})),f(s)&&y(z,t)})),D=(e,n)=>{y(o,e,n),h(d,e)||(y(d,e,t()),y(R,e,w()),y(k,e,w()))},M=e=>{y(o,e),y(d,e),y(R,e),y(k,e),C(e)};return[()=>e,()=>L(o),e=>x(d,e),e=>h(d,e),e=>p(o,e),e=>p(d,e),(e,t)=>y(d,e,t),D,(t,o,d,i,f)=>{D(t,o);const I=w(),v=w(),L=p(R,t),E=p(k,t),b=t=>{const c=n=>e.getCell(o,t,n),d=p(L,t),h=r(o,t)?n(i(c,t)):void 0;var g,S;if(d===h||u(d)&&u(h)&&(S=h,l(g=d)===l(S)&&s(g,((e,t)=>S[t]===e)))||y(I,t,[d,h]),!a(f)){const e=p(E,t),n=r(o,t)?f(c,t):void 0;e!=n&&y(v,t,n)}},T=e=>{d((()=>{S(I,(([,e],t)=>y(L,t,e))),S(v,((e,t)=>y(E,t,e)))}),I,v,L,E,e),g(I),g(v)};x(L,b),e.hasTable(o)&&c(e.getRowIds(o),(e=>{h(L,e)||b(e)})),T(!0),C(t),A(t,0,e.addRowListener(o,null,((e,t,n)=>b(n))),e.addTableListener(o,(()=>T())))},M,()=>x(z,M),A,C]})(e,w,(e=>{return a(e)?"":u(e)?(t=n,e.map(t)):n(e);var t})),[H,J,K]=(e=>{let t;const[n,s]=(()=>{const e=[];let t=0;return[()=>e.shift()??""+t++,t=>{A.test(t)&&l(e)<1e3&&d(e,t)}]})(),r=w();return[(e,s,o,c=[],l=(()=>[]))=>{t??=P;const d=n();return y(r,d,[e,s,o,c,l]),T(R(s,o??[""],b),d),d},(e,n,...s)=>c(((e,t=[""])=>{const n=[],s=(e,r)=>r==l(t)?d(n,e):null===t[r]?S(e,(e=>s(e,r+1))):c([t[r],null],(t=>s(p(e,t),r+1)));return s(e,0),n})(e,n),(e=>S(e,(e=>p(r,e)[0](t,...n??[],...s))))),e=>i(p(r,e),(([,t,n])=>(R(t,n??[""],void 0,(t=>(v(t,e),f(t)?1:0))),y(r,e),s(e),n))),e=>i(p(r,e),(([e,,n=[],s,r])=>{const o=(...d)=>{const i=l(d);i==l(n)?e(t,...d,...r(d)):a(n[i])?c(s[i]?.(...d)??[],(e=>o(...d,e))):o(...d,n[i])};o()}))]})(),N=(t,n,s)=>{const r=W(t);S(s,((t,s)=>n(s,(n=>S(t,(t=>n(t,(n=>e.forEachCell(r,t,n)))))))))},P={setIndexDefinition:(e,n,s,c,l,d=z)=>{const u=a(l)?void 0:([e],[t])=>l(e,t);return B(e,n,((n,s,l,I,g,L)=>{let E=0;const R=b(),k=b(),z=$(e);if(S(s,(([e,t],n)=>{const s=b(e),r=b(t);S(s,(e=>v(r,e)?v(s,e):0)),S(s,(e=>{T(R,e),i(p(z,e),(t=>{v(t,n),f(t)&&(y(z,e),E=1)}))})),S(r,(e=>{T(R,e),h(z,e)||(y(z,e,b()),E=1),T(p(z,e),n),a(c)||T(k,e)}))})),n(),f(g)||(L?x(z,(e=>T(k,e))):x(l,(e=>i(p(I,e),(e=>T(k,e))))),S(k,(e=>{const t=(t,n)=>d(p(g,t),p(g,n),e),n=[...p(z,e)];r(n,t)||(y(z,e,b(o(n,t))),T(R,e))}))),(E||L)&&!a(u)){const t=[...z];r(t,u)||(q(e,w(o(t,u))),E=1)}E&&J(t,[e]),S(R,(t=>J(D,[e,t])))}),k(s),i(c,k)),P},delIndexDefinition:e=>(F(e),P),getStore:M,getIndexIds:j,forEachIndex:e=>m(((t,n)=>e(t,(e=>N(t,e,n))))),forEachSlice:(e,t)=>N(e,t,$(e)),hasIndex:O,hasSlice:(e,t)=>h($(e),t),getTableId:W,getSliceIds:e=>L($(e)),getSliceRowIds:(e,t)=>I(p($(e),t)),addSliceIdsListener:(e,n)=>H(n,t,[e]),addSliceRowIdsListener:(e,t,n)=>H(n,D,[e,t]),delListener:e=>(K(e),P),destroy:G,getListenerStats:()=>({})};return C(P)})(e)),t.get(e))})();export{D as createIndexes};
package/lib/indexes.js.gz CHANGED
Binary file
package/lib/metrics.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t=e(""),r=e(e),n=(e,t)=>e.forEach(t),s=e=>o(e,((e,t)=>e+t),0),i=e=>e.length,o=(e,t,r)=>e.reduce(t,r),a=(e,...t)=>e.push(...t),c=Math.max,d=Math.min,l=isFinite,u=e=>null==e,v=(e,t,r)=>u(e)?r?.():t(e),h=e=>Array.isArray(e),f=()=>{},g=e=>e.size,M=(e,t)=>e?.has(t)??!1,L=e=>u(e)||0==g(e),m=e=>[...e?.values()??[]],w=e=>e.clear(),y=(e,t)=>e?.forEach(t),p=(e,t)=>e?.delete(t),b=e=>new Map(e),x=(e,t)=>e?.get(t),E=(e,t)=>y(e,((e,r)=>t(r,e))),I=(e,t,r)=>u(r)?(p(e,t),e):e?.set(t,r),R=(e,t,r)=>(M(e,t)||I(e,t,r()),x(e,t)),S=(e,t,r,n,s=0)=>v((r?R:x)(e,t[s],s>i(t)-2?r:b),(o=>{if(s>i(t)-2)return n?.(o)&&I(e,t[s]),o;const a=S(o,t,r,n,s+1);return L(o)&&I(e,t[s]),a})),T=b([["avg",[(e,t)=>s(e)/t,(e,t,r)=>e+(t-e)/(r+1),(e,t,r)=>e+(e-t)/(r-1),(e,t,r,n)=>e+(t-r)/n]],["max",[e=>c(...e),(e,t)=>c(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:c(t,e)]],["min",[e=>d(...e),(e,t)=>d(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:d(t,e)]],["sum",[e=>s(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,r)=>e-r+t]]]),k=e=>new Set(h(e)||u(e)?e:[e]),z=(e,t)=>e?.add(t),A=/^\d+$/,D=Object.freeze,N=(s=>{const o=new WeakMap;return s=>(o.has(s)||o.set(s,(s=>{const o=b(),[c,d,N,j,C,F,O,,W,$,q]=((e,t,r)=>{const s=e.hasRow,o=b(),a=b(),c=b(),d=b(),l=b(),f=(t,r,...s)=>{const i=R(l,t,k);return n(s,(t=>z(i,t)&&r&&e.callListener(t))),s},g=(t,...r)=>v(x(l,t),(s=>{n(0==i(r)?m(s):r,(t=>{e.delListener(t),p(s,t)})),L(s)&&I(l,t)})),S=(e,r)=>{I(o,e,r),M(a,e)||(I(a,e,t()),I(c,e,b()),I(d,e,b()))},T=e=>{I(o,e),I(a,e),I(c,e),I(d,e),g(e)};return[()=>e,()=>[...o?.keys()??[]],e=>E(a,e),e=>M(a,e),e=>x(o,e),e=>x(a,e),(e,t)=>I(a,e,t),S,(t,r,o,a,l)=>{S(t,r);const v=b(),L=b(),m=x(c,t),p=x(d,t),R=t=>{const n=n=>e.getCell(r,t,n),o=x(m,t),c=s(r,t)?(d=a(n,t),isNaN(d)||u(d)||!0===d||!1===d||""===d?void 0:1*d):void 0;var d,f,g,M;if(o===c||h(o)&&h(c)&&(g=c,i(f=o)===i(g)&&(M=(e,t)=>g[t]===e,f.every(M)))||I(v,t,[o,c]),!u(l)){const e=x(p,t),i=s(r,t)?l(n,t):void 0;e!=i&&I(L,t,i)}},T=e=>{o((()=>{y(v,(([,e],t)=>I(m,t,e))),y(L,((e,t)=>I(p,t,e)))}),v,L,m,p,e),w(v),w(L)};E(m,R),e.hasTable(r)&&n(e.getRowIds(r),(e=>{M(m,e)||R(e)})),T(!0),g(t),f(t,0,e.addRowListener(r,null,((e,t,r)=>R(r))),e.addTableListener(r,(()=>T())))},T,()=>E(l,T),f,g]})(s,f),[B,G,H]=(e=>{let t;const[r,s]=(()=>{const e=[];let t=0;return[()=>e.shift()??""+t++,t=>{A.test(t)&&i(e)<1e3&&a(e,t)}]})(),o=b();return[(e,n,s)=>{t??=J;const i=r();return I(o,i,[e,n,s]),z(S(n,s??[""],k),i),i},(e,r,...s)=>n(((e,t=[""])=>{const r=[],s=(e,o)=>o==i(t)?a(r,e):null===t[o]?y(e,(e=>s(e,o+1))):n([t[o],null],(t=>s(x(e,t),o+1)));return s(e,0),r})(e,r),(e=>y(e,(e=>x(o,e)[0](t,...r??[],...s))))),e=>v(x(o,e),(([,t,r])=>(S(t,r??[""],void 0,(t=>(p(t,e),L(t)?1:0))),I(o,e),s(e),r))),(e,r,s)=>v(x(o,e),(([e,,o=[]])=>{const a=(...c)=>{const d=i(c);d==i(o)?e(t,...c,...s(c)):u(o[d])?n(r[d](...c),(e=>a(...c,e))):a(...c,o[d])};a()}))]})(),J={setMetricDefinition:(n,s,i,a,c,d,v)=>{const h=e(i)==r?[i,c,d,v]:x(T,i)??x(T,"sum");return W(n,s,((e,t,r,s,i,a)=>{const c=F(n),d=g(s);a||=u(c),e();let v=((e,t,r,n,s,i=!1)=>{if(L(r))return;const[o,a,c,d]=s;return i||=u(e),y(n,(([r,n])=>{i||(e=u(r)?a?.(e,n,t++):u(n)?c?.(e,r,t--):d?.(e,n,r,t),i||=u(e))})),i?o(m(r),g(r)):e})(c,d,s,t,h,a);l(v)||(v=void 0),v!=c&&(O(n,v),G(o,[n],v,c))}),(1,e(f=a)==t?e=>e(f):f??(()=>1))),J;var f},delMetricDefinition:e=>($(e),J),getStore:c,getMetricIds:d,forEachMetric:N,hasMetric:j,getTableId:C,getMetric:F,addMetricListener:(e,t)=>B(t,o,[e]),delListener:e=>(H(e),J),destroy:q,getListenerStats:()=>({})};return D(J)})(s)),o.get(s))})();export{N as createMetrics};
1
+ const e=e=>typeof e,t=e(""),r=e(e),n=(e,t)=>e.forEach(t),s=e=>o(e,((e,t)=>e+t),0),i=e=>e.length,o=(e,t,r)=>e.reduce(t,r),a=(e,...t)=>e.push(...t),c=Math.max,d=Math.min,l=isFinite,u=e=>null==e,v=(e,t,r)=>u(e)?r?.():t(e),h=e=>Array.isArray(e),f=()=>{},g=e=>e.size,M=(e,t)=>e?.has(t)??!1,L=e=>u(e)||0==g(e),m=e=>[...e?.values()??[]],w=e=>e.clear(),y=(e,t)=>e?.forEach(t),p=(e,t)=>e?.delete(t),b=e=>new Map(e),x=(e,t)=>e?.get(t),E=(e,t)=>y(e,((e,r)=>t(r,e))),I=(e,t,r)=>u(r)?(p(e,t),e):e?.set(t,r),R=(e,t,r)=>(M(e,t)||I(e,t,r()),x(e,t)),S=(e,t,r,n,s=0)=>v((r?R:x)(e,t[s],s>i(t)-2?r:b),(o=>{if(s>i(t)-2)return n?.(o)&&I(e,t[s]),o;const a=S(o,t,r,n,s+1);return L(o)&&I(e,t[s]),a})),T=b([["avg",[(e,t)=>s(e)/t,(e,t,r)=>e+(t-e)/(r+1),(e,t,r)=>e+(e-t)/(r-1),(e,t,r,n)=>e+(t-r)/n]],["max",[e=>c(...e),(e,t)=>c(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:c(t,e)]],["min",[e=>d(...e),(e,t)=>d(t,e),(e,t)=>t==e?void 0:e,(e,t,r)=>r==e?void 0:d(t,e)]],["sum",[e=>s(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,r)=>e-r+t]]]),k=e=>new Set(h(e)||u(e)?e:[e]),z=(e,t)=>e?.add(t),A=/^\d+$/,D=Object.freeze,N=(s=>{const o=new WeakMap;return s=>(o.has(s)||o.set(s,(s=>{const o=b(),[c,d,N,j,C,F,O,,W,$,q]=((e,t,r)=>{const s=e.hasRow,o=b(),a=b(),c=b(),d=b(),l=b(),f=(t,r,...s)=>{const i=R(l,t,k);return n(s,(t=>z(i,t)&&r&&e.callListener(t))),s},g=(t,...r)=>v(x(l,t),(s=>{n(0==i(r)?m(s):r,(t=>{e.delListener(t),p(s,t)})),L(s)&&I(l,t)})),S=(e,r)=>{I(o,e,r),M(a,e)||(I(a,e,t()),I(c,e,b()),I(d,e,b()))},T=e=>{I(o,e),I(a,e),I(c,e),I(d,e),g(e)};return[()=>e,()=>[...o?.keys()??[]],e=>E(a,e),e=>M(a,e),e=>x(o,e),e=>x(a,e),(e,t)=>I(a,e,t),S,(t,r,o,a,l)=>{S(t,r);const v=b(),L=b(),m=x(c,t),p=x(d,t),R=t=>{const n=n=>e.getCell(r,t,n),o=x(m,t),c=s(r,t)?(d=a(n,t),isNaN(d)||u(d)||!0===d||!1===d||""===d?void 0:1*d):void 0;var d,f,g,M;if(o===c||h(o)&&h(c)&&(g=c,i(f=o)===i(g)&&(M=(e,t)=>g[t]===e,f.every(M)))||I(v,t,[o,c]),!u(l)){const e=x(p,t),i=s(r,t)?l(n,t):void 0;e!=i&&I(L,t,i)}},T=e=>{o((()=>{y(v,(([,e],t)=>I(m,t,e))),y(L,((e,t)=>I(p,t,e)))}),v,L,m,p,e),w(v),w(L)};E(m,R),e.hasTable(r)&&n(e.getRowIds(r),(e=>{M(m,e)||R(e)})),T(!0),g(t),f(t,0,e.addRowListener(r,null,((e,t,r)=>R(r))),e.addTableListener(r,(()=>T())))},T,()=>E(l,T),f,g]})(s,f),[B,G,H]=(e=>{let t;const[r,s]=(()=>{const e=[];let t=0;return[()=>e.shift()??""+t++,t=>{A.test(t)&&i(e)<1e3&&a(e,t)}]})(),o=b();return[(e,n,s,i=[],a=(()=>[]))=>{t??=J;const c=r();return I(o,c,[e,n,s,i,a]),z(S(n,s??[""],k),c),c},(e,r,...s)=>n(((e,t=[""])=>{const r=[],s=(e,o)=>o==i(t)?a(r,e):null===t[o]?y(e,(e=>s(e,o+1))):n([t[o],null],(t=>s(x(e,t),o+1)));return s(e,0),r})(e,r),(e=>y(e,(e=>x(o,e)[0](t,...r??[],...s))))),e=>v(x(o,e),(([,t,r])=>(S(t,r??[""],void 0,(t=>(p(t,e),L(t)?1:0))),I(o,e),s(e),r))),e=>v(x(o,e),(([e,,r=[],s,o])=>{const a=(...c)=>{const d=i(c);d==i(r)?e(t,...c,...o(c)):u(r[d])?n(s[d]?.(...c)??[],(e=>a(...c,e))):a(...c,r[d])};a()}))]})(),J={setMetricDefinition:(n,s,i,a,c,d,v)=>{const h=e(i)==r?[i,c,d,v]:x(T,i)??x(T,"sum");return W(n,s,((e,t,r,s,i,a)=>{const c=F(n),d=g(s);a||=u(c),e();let v=((e,t,r,n,s,i=!1)=>{if(L(r))return;const[o,a,c,d]=s;return i||=u(e),y(n,(([r,n])=>{i||(e=u(r)?a?.(e,n,t++):u(n)?c?.(e,r,t--):d?.(e,n,r,t),i||=u(e))})),i?o(m(r),g(r)):e})(c,d,s,t,h,a);l(v)||(v=void 0),v!=c&&(O(n,v),G(o,[n],v,c))}),(1,e(f=a)==t?e=>e(f):f??(()=>1))),J;var f},delMetricDefinition:e=>($(e),J),getStore:c,getMetricIds:d,forEachMetric:N,hasMetric:j,getTableId:C,getMetric:F,addMetricListener:(e,t)=>B(t,o,[e]),delListener:e=>(H(e),J),destroy:q,getListenerStats:()=>({})};return D(J)})(s)),o.get(s))})();export{N as createMetrics};
package/lib/metrics.js.gz CHANGED
Binary file
@@ -27,7 +27,7 @@
27
27
  * @module persisters
28
28
  */
29
29
 
30
- import {Store, Tables} from './store.d';
30
+ import {Store, Tables, Values} from './store.d';
31
31
  import {Callback} from './common.d';
32
32
 
33
33
  /**
@@ -105,9 +105,9 @@ export type PersisterStats = {
105
105
  *
106
106
  * await persister.save();
107
107
  * console.log(sessionStorage.getItem('pets'));
108
- * // -> '{"pets":{"fido":{"species":"dog"}}}'
108
+ * // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
109
109
  *
110
- * sessionStorage.setItem('pets', '{"pets":{"toto":{"species":"dog"}}}');
110
+ * sessionStorage.setItem('pets', '[{"pets":{"toto":{"species":"dog"}}},{}]');
111
111
  * await persister.load();
112
112
  * console.log(store.getTables());
113
113
  * // -> {pets: {toto: {species: 'dog'}}}
@@ -130,10 +130,10 @@ export type PersisterStats = {
130
130
  * store.setTables({pets: {felix: {species: 'cat'}}});
131
131
  * // ...
132
132
  * console.log(sessionStorage.getItem('pets'));
133
- * // -> '{"pets":{"felix":{"species":"cat"}}}'
133
+ * // -> '[{"pets":{"felix":{"species":"cat"}}},{}]'
134
134
  *
135
135
  * // In another browser tab:
136
- * sessionStorage.setItem('pets', '{"pets":{"toto":{"species":"dog"}}}');
136
+ * sessionStorage.setItem('pets', '[{"pets":{"toto":{"species":"dog"}}},{}]');
137
137
  * // -> StorageEvent('storage', {storageArea: sessionStorage, key: 'pets'})
138
138
  *
139
139
  * // ...
@@ -163,6 +163,8 @@ export interface Persister {
163
163
  *
164
164
  * @param initialTables An optional Tables object used when the underlying
165
165
  * storage has not previously been populated.
166
+ * @param initialValues An optional Values object used when the underlying
167
+ * storage has not previously been populated, since v3.0.0.
166
168
  * @returns A Promise containing a reference to the Persister object.
167
169
  * @example
168
170
  * This example creates an empty Store, and loads data into it from the
@@ -170,7 +172,7 @@ export interface Persister {
170
172
  * previously populated.
171
173
  *
172
174
  * ```js
173
- * sessionStorage.setItem('pets', '{"pets":{"fido":{"species":"dog"}}}');
175
+ * sessionStorage.setItem('pets', '[{"pets":{"fido":{"species":"dog"}}},{}]');
174
176
  *
175
177
  * const store = createStore();
176
178
  * const persister = createSessionPersister(store, 'pets');
@@ -195,7 +197,7 @@ export interface Persister {
195
197
  * console.log(store.getTables());
196
198
  * // -> {pets: {fido: {species: 'dog'}}}
197
199
  *
198
- * sessionStorage.setItem('pets', '{"pets":{"toto":{"species":"dog"}}}');
200
+ * sessionStorage.setItem('pets', '[{"pets":{"toto":{"species":"dog"}}},{}]');
199
201
  * await persister.load({pets: {fido: {species: 'dog'}}});
200
202
  * console.log(store.getTables());
201
203
  * // -> {pets: {toto: {species: 'dog'}}}
@@ -204,7 +206,7 @@ export interface Persister {
204
206
  * ```
205
207
  * @category Load
206
208
  */
207
- load(initialTables?: Tables): Promise<Persister>;
209
+ load(initialTables?: Tables, initialValues?: Values): Promise<Persister>;
208
210
 
209
211
  /**
210
212
  * The startAutoLoad method gets persisted data from storage, and loads it
@@ -229,6 +231,8 @@ export interface Persister {
229
231
  *
230
232
  * @param initialTables An optional Tables object used when the underlying
231
233
  * storage has not previously been populated.
234
+ * @param initialValues An optional Values object used when the underlying
235
+ * storage has not previously been populated, since v3.0.0.
232
236
  * @returns A Promise containing a reference to the Persister object.
233
237
  * @example
234
238
  * This example creates an empty Store, and loads data into it from the
@@ -246,7 +250,7 @@ export interface Persister {
246
250
  * // -> {pets: {fido: {species: 'dog'}}}
247
251
  *
248
252
  * // In another browser tab:
249
- * sessionStorage.setItem('pets', '{"pets":{"toto":{"species":"dog"}}}');
253
+ * sessionStorage.setItem('pets', '[{"pets":{"toto":{"species":"dog"}}},{}]');
250
254
  * // -> StorageEvent('storage', {storageArea: sessionStorage, key: 'pets'})
251
255
  *
252
256
  * // ...
@@ -258,7 +262,10 @@ export interface Persister {
258
262
  * ```
259
263
  * @category Load
260
264
  */
261
- startAutoLoad(initialTables?: Tables): Promise<Persister>;
265
+ startAutoLoad(
266
+ initialTables?: Tables,
267
+ initialValues?: Values,
268
+ ): Promise<Persister>;
262
269
 
263
270
  /**
264
271
  * The stopAutoLoad method stops the automatic loading of data from storage
@@ -279,7 +286,7 @@ export interface Persister {
279
286
  * await persister.startAutoLoad();
280
287
  *
281
288
  * // In another browser tab:
282
- * sessionStorage.setItem('pets', '{"pets":{"toto":{"species":"dog"}}}');
289
+ * sessionStorage.setItem('pets', '[{"pets":{"toto":{"species":"dog"}}},{}]');
283
290
  * // -> StorageEvent('storage', {storageArea: sessionStorage, key: 'pets'})
284
291
  * // ...
285
292
  * console.log(store.getTables());
@@ -288,7 +295,10 @@ export interface Persister {
288
295
  * persister.stopAutoLoad();
289
296
  *
290
297
  * // In another browser tab:
291
- * sessionStorage.setItem('pets', '{"pets":{"felix":{"species":"cat"}}}');
298
+ * sessionStorage.setItem(
299
+ * 'pets',
300
+ * '[{"pets":{"felix":{"species":"cat"}}},{}]',
301
+ * );
292
302
  * // -> StorageEvent('storage', {storageArea: sessionStorage, key: 'pets'})
293
303
  * // ...
294
304
  * console.log(store.getTables());
@@ -322,7 +332,7 @@ export interface Persister {
322
332
  *
323
333
  * await persister.save();
324
334
  * console.log(sessionStorage.getItem('pets'));
325
- * // -> '{"pets":{"fido":{"species":"dog"}}}'
335
+ * // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
326
336
  *
327
337
  * persister.destroy();
328
338
  * sessionStorage.clear();
@@ -356,12 +366,12 @@ export interface Persister {
356
366
  *
357
367
  * await persister.startAutoSave();
358
368
  * console.log(sessionStorage.getItem('pets'));
359
- * // -> '{"pets":{"fido":{"species":"dog"}}}'
369
+ * // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
360
370
  *
361
371
  * store.setTables({pets: {toto: {species: 'dog'}}});
362
372
  * // ...
363
373
  * console.log(sessionStorage.getItem('pets'));
364
- * // -> '{"pets":{"toto":{"species":"dog"}}}'
374
+ * // -> '[{"pets":{"toto":{"species":"dog"}}},{}]'
365
375
  *
366
376
  * sessionStorage.clear();
367
377
  * ```
@@ -391,14 +401,14 @@ export interface Persister {
391
401
  * store.setTables({pets: {toto: {species: 'dog'}}});
392
402
  * // ...
393
403
  * console.log(sessionStorage.getItem('pets'));
394
- * // -> '{"pets":{"toto":{"species":"dog"}}}'
404
+ * // -> '[{"pets":{"toto":{"species":"dog"}}},{}]'
395
405
  *
396
406
  * persister.stopAutoSave();
397
407
  *
398
408
  * store.setTables({pets: {felix: {species: 'cat'}}});
399
409
  * // ...
400
410
  * console.log(sessionStorage.getItem('pets'));
401
- * // -> '{"pets":{"toto":{"species":"dog"}}}'
411
+ * // -> '[{"pets":{"toto":{"species":"dog"}}},{}]'
402
412
  * // Store change has not been automatically saved.
403
413
  *
404
414
  * sessionStorage.clear();
@@ -423,7 +433,7 @@ export interface Persister {
423
433
  * persister.getStore().setTables({pets: {fido: {species: 'dog'}}});
424
434
  * // ...
425
435
  * console.log(sessionStorage.getItem('pets'));
426
- * // -> '{"pets":{"fido":{"species":"dog"}}}'
436
+ * // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
427
437
  *
428
438
  * sessionStorage.clear();
429
439
  * ```
@@ -493,7 +503,7 @@ export interface Persister {
493
503
  * store.setTables({pets: {felix: {species: 'cat'}}});
494
504
  * // ...
495
505
  *
496
- * sessionStorage.setItem('pets', '{"pets":{"toto":{"species":"dog"}}}');
506
+ * sessionStorage.setItem('pets', '[{"pets":{"toto":{"species":"dog"}}},{}]');
497
507
  * // -> StorageEvent('storage', {storageArea: sessionStorage, key: 'pets'})
498
508
  * // ...
499
509
  *
@@ -529,7 +539,7 @@ export interface Persister {
529
539
  *
530
540
  * await persister.save();
531
541
  * console.log(sessionStorage.getItem('pets'));
532
- * // -> '{"pets":{"fido":{"species":"dog"}}}'
542
+ * // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
533
543
  *
534
544
  * persister.destroy();
535
545
  * sessionStorage.clear();
@@ -562,7 +572,7 @@ export function createSessionPersister(
562
572
  *
563
573
  * await persister.save();
564
574
  * console.log(localStorage.getItem('pets'));
565
- * // -> '{"pets":{"fido":{"species":"dog"}}}'
575
+ * // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
566
576
  *
567
577
  * persister.destroy();
568
578
  * localStorage.clear();
@@ -696,9 +706,9 @@ export function createFilePersister(store: Store, filePath: string): Persister;
696
706
  *
697
707
  * await persister.save();
698
708
  * console.log(storeJson);
699
- * // -> '{"pets":{"fido":{"species":"dog"}}}'
709
+ * // -> '[{"pets":{"fido":{"species":"dog"}}},{}]'
700
710
  *
701
- * storeJson = '{"pets":{"fido":{"species":"dog","color":"brown"}}}';
711
+ * storeJson = '[{"pets":{"fido":{"species":"dog","color":"brown"}}},{}]';
702
712
  * await persister.load();
703
713
  *
704
714
  * console.log(store.getTables());
package/lib/persisters.js CHANGED
@@ -1 +1 @@
1
- import{promises as t,watch as e}from"fs";const a=t=>null==t,o=(t,e,o)=>a(t)?o?.():e(t),s=Object.freeze,r=(t,e,r,n,c)=>{let i,d=0;const l={load:async o=>{if(2!=d){d=1;const s=await e();a(s)||""==s?t.setTables(o):t.setJson(s),d=0}return l},startAutoLoad:async t=>(l.stopAutoLoad(),await l.load(t),n(l.load),l),stopAutoLoad:()=>(c(),l),save:async()=>(1!=d&&(d=2,await r(t.getJson()),d=0),l),startAutoSave:async()=>(await l.stopAutoSave().save(),i=t.addTablesListener((()=>l.save())),l),stopAutoSave:()=>(o(i,t.delListener),l),getStore:()=>t,destroy:()=>l.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return s(l)},n=globalThis.window,c=(t,e,a)=>{let o;return r(t,(async()=>a.getItem(e)),(async t=>a.setItem(e,t)),(t=>{o=o=>{o.storageArea===a&&o.key===e&&t()},n.addEventListener("storage",o)}),(()=>{n.removeEventListener("storage",o),o=void 0}))},i=(t,e)=>c(t,e,localStorage),d=(t,e)=>c(t,e,sessionStorage),l=(a,o)=>{let s;return r(a,(async()=>{try{return await t.readFile(o,"utf8")}catch{}}),(async e=>{try{await t.writeFile(o,e,"utf8")}catch{}}),(t=>{s=e(o,t)}),(()=>{s?.close(),s=void 0}))},u=t=>t.headers.get("ETag"),y=(t,e,s,n)=>{let c,i;return r(t,(async()=>{const t=await fetch(e);return i=u(t),t.text()}),(async t=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:t})),(t=>{c=setInterval((async()=>{const o=await fetch(e,{method:"HEAD"}),s=u(o);a(i)||a(s)||s==i||(i=s,t())}),1e3*n)}),(()=>{o(c,clearInterval),c=void 0}))};export{r as createCustomPersister,l as createFilePersister,i as createLocalPersister,y as createRemotePersister,d as createSessionPersister};
1
+ import{promises as t,watch as e}from"fs";const a=t=>null==t,s=(t,e,s)=>a(t)?s?.():e(t),o=Object.freeze,r=(t,e,r,n,c)=>{let i,d,l=0;const u={load:async(s,o)=>{if(2!=l){l=1;const r=await e();a(r)||""==r?t.transaction((()=>t.setTables(s).setValues(o))):t.setJson(r),l=0}return u},startAutoLoad:async(t,e)=>(u.stopAutoLoad(),await u.load(t,e),n(u.load),u),stopAutoLoad:()=>(c(),u),save:async()=>(1!=l&&(l=2,await r(t.getJson()),l=0),u),startAutoSave:async()=>(await u.stopAutoSave().save(),i=t.addTablesListener(u.save),d=t.addValuesListener(u.save),u),stopAutoSave:()=>(s(i,t.delListener),s(d,t.delListener),u),getStore:()=>t,destroy:()=>u.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return o(u)},n=globalThis.window,c=(t,e,a)=>{let s;return r(t,(async()=>a.getItem(e)),(async t=>a.setItem(e,t)),(t=>{s=s=>{s.storageArea===a&&s.key===e&&t()},n.addEventListener("storage",s)}),(()=>{n.removeEventListener("storage",s),s=void 0}))},i=(t,e)=>c(t,e,localStorage),d=(t,e)=>c(t,e,sessionStorage),l=(a,s)=>{let o;return r(a,(async()=>{try{return await t.readFile(s,"utf8")}catch{}}),(async e=>{try{await t.writeFile(s,e,"utf8")}catch{}}),(t=>{o=e(s,t)}),(()=>{o?.close(),o=void 0}))},u=t=>t.headers.get("ETag"),y=(t,e,o,n)=>{let c,i;return r(t,(async()=>{const t=await fetch(e);return i=u(t),t.text()}),(async t=>await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:t})),(t=>{c=setInterval((async()=>{const s=await fetch(e,{method:"HEAD"}),o=u(s);a(i)||a(o)||o==i||(i=o,t())}),1e3*n)}),(()=>{s(c,clearInterval),c=void 0}))};export{r as createCustomPersister,l as createFilePersister,i as createLocalPersister,y as createRemotePersister,d as createSessionPersister};
Binary file
@@ -1 +1 @@
1
- const e=e=>typeof e,t=e(""),n=(e,t)=>e.forEach(t),s=e=>e.length,o=(e,...t)=>e.push(...t),r=e=>null==e,i=(e,t,n)=>r(e)?n?.():t(e),a=e=>Array.isArray(e),l=(e,t)=>e?.has(t)??!1,d=e=>r(e)||0==(e=>e.size)(e),c=e=>[...e?.values()??[]],u=e=>e.clear(),R=(e,t)=>e?.forEach(t),h=(e,t)=>e?.delete(t),f=e=>new Map(e),L=(e,t)=>e?.get(t),g=(e,t)=>R(e,((e,n)=>t(n,e))),w=(e,t,n)=>r(n)?(h(e,t),e):e?.set(t,n),p=(e,t,n)=>(l(e,t)||w(e,t,n()),L(e,t)),I=(e,t,n,o,r=0)=>i((n?p:L)(e,t[r],r>s(t)-2?n:f),(i=>{if(r>s(t)-2)return o?.(i)&&w(e,t[r]),i;const a=I(i,t,n,o,r+1);return d(i)&&w(e,t[r]),a})),v=e=>new Set(a(e)||r(e)?e:[e]),y=(e,t)=>e?.add(t),b=/^\d+$/,k=Object.freeze,E=(E=>{const T=new WeakMap;return E=>(T.has(E)||T.set(E,(E=>{const T=f(),m=f(),S=f(),z=f(),[A,D,M,j,x,C,,,O,W,$]=((e,t,o)=>{const I=e.hasRow,b=f(),k=f(),E=f(),T=f(),m=f(),S=(t,s,...o)=>{const r=p(m,t,v);return n(o,(t=>y(r,t)&&s&&e.callListener(t))),o},z=(t,...o)=>i(L(m,t),(r=>{n(0==s(o)?c(r):o,(t=>{e.delListener(t),h(r,t)})),d(r)&&w(m,t)})),A=(e,t)=>{w(b,e,t),l(k,e)||(w(k,e,[f(),f(),f(),f()]),w(E,e,f()),w(T,e,f()))},D=e=>{w(b,e),w(k,e),w(E,e),w(T,e),z(e)};return[()=>e,()=>[...b?.keys()??[]],e=>g(k,e),e=>l(k,e),e=>L(b,e),e=>L(k,e),(e,t)=>w(k,e,t),A,(t,o,i,d,c)=>{A(t,o);const h=f(),p=f(),v=L(E,t),y=L(T,t),b=t=>{const n=n=>e.getCell(o,t,n),i=L(v,t),l=I(o,t)?(u=d(n,t),r(u)?void 0:u+""):void 0;var u,R,f,g;if(i===l||a(i)&&a(l)&&(f=l,s(R=i)===s(f)&&(g=(e,t)=>f[t]===e,R.every(g)))||w(h,t,[i,l]),!r(c)){const e=L(y,t),s=I(o,t)?c(n,t):void 0;e!=s&&w(p,t,s)}},k=e=>{i((()=>{R(h,(([,e],t)=>w(v,t,e))),R(p,((e,t)=>w(y,t,e)))}),h,p,v,y,e),u(h),u(p)};g(v,b),e.hasTable(o)&&n(e.getRowIds(o),(e=>{l(v,e)||b(e)})),k(!0),z(t),S(t,0,e.addRowListener(o,null,((e,t,n)=>b(n))),e.addTableListener(o,(()=>k())))},D,()=>g(m,D),S,z]})(E),[q,B,F]=(e=>{let t;const[a,l]=(()=>{const e=[];let t=0;return[()=>e.shift()??""+t++,t=>{b.test(t)&&s(e)<1e3&&o(e,t)}]})(),c=f();return[(e,n,s)=>{t??=K;const o=a();return w(c,o,[e,n,s]),y(I(n,s??[""],v),o),o},(e,r,...i)=>n(((e,t=[""])=>{const r=[],i=(e,a)=>a==s(t)?o(r,e):null===t[a]?R(e,(e=>i(e,a+1))):n([t[a],null],(t=>i(L(e,t),a+1)));return i(e,0),r})(e,r),(e=>R(e,(e=>L(c,e)[0](t,...r??[],...i))))),e=>i(L(c,e),(([,t,n])=>(I(t,n??[""],void 0,(t=>(h(t,e),d(t)?1:0))),w(c,e),l(e),n))),(e,o,a)=>i(L(c,e),(([e,,i=[]])=>{const l=(...d)=>{const c=s(d);c==s(i)?e(t,...d,...a(d)):r(i[c])?n(o[c](...d),(e=>l(...d,e))):l(...d,i[c])};l()}))]})(),G=(e,t,n)=>i(C(e),(([s,,o])=>{if(!l(o,t)){const i=v();if(x(e)!=J(e))y(i,t);else{let e=t;for(;!r(e)&&!l(i,e);)y(i,e),e=L(s,e)}if(n)return i;w(o,t,i)}return L(o,t)})),H=(e,t)=>i(C(e),(([,,e])=>w(e,t))),J=e=>L(T,e),K={setRelationshipDefinition:(n,s,o,a)=>{return w(T,n,o),O(n,s,((e,t)=>{const s=v(),o=v(),a=v(),[c,u]=C(n);R(t,(([e,t],R)=>{r(e)||(y(o,e),i(L(u,e),(t=>{h(t,R),d(t)&&w(u,e)}))),r(t)||(y(o,t),l(u,t)||w(u,t,v()),y(L(u,t),R)),y(s,R),w(c,R,t),g(L(z,n),(e=>{l(G(n,e),R)&&y(a,e)}))})),e(),R(s,(e=>B(m,[n,e]))),R(o,(e=>B(S,[n,e]))),R(a,(e=>{H(n,e),B(z,[n,e])}))}),e(c=a)==t?e=>e(c):c??(()=>"")),K;var c},delRelationshipDefinition:e=>(w(T,e),W(e),K),getStore:A,getRelationshipIds:D,forEachRelationship:e=>M((t=>e(t,(e=>E.forEachRow(x(t),e))))),hasRelationship:j,getLocalTableId:x,getRemoteTableId:J,getRemoteRowId:(e,t)=>L(C(e)?.[0],t),getLocalRowIds:(e,t)=>c(L(C(e)?.[1],t)),getLinkedRowIds:(e,t)=>r(C(e))?[t]:c(G(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>q(n,m,[e,t]),addLocalRowIdsListener:(e,t,n)=>q(n,S,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(G(e,t),q(n,z,[e,t])),delListener:e=>(H(...F(e)),K),destroy:$,getListenerStats:()=>({})};return k(K)})(E)),T.get(E))})();export{E as createRelationships};
1
+ const e=e=>typeof e,t=e(""),n=(e,t)=>e.forEach(t),s=e=>e.length,o=(e,...t)=>e.push(...t),r=e=>null==e,i=(e,t,n)=>r(e)?n?.():t(e),a=e=>Array.isArray(e),l=(e,t)=>e?.has(t)??!1,d=e=>r(e)||0==(e=>e.size)(e),c=e=>[...e?.values()??[]],u=e=>e.clear(),R=(e,t)=>e?.forEach(t),h=(e,t)=>e?.delete(t),f=e=>new Map(e),L=(e,t)=>e?.get(t),g=(e,t)=>R(e,((e,n)=>t(n,e))),w=(e,t,n)=>r(n)?(h(e,t),e):e?.set(t,n),p=(e,t,n)=>(l(e,t)||w(e,t,n()),L(e,t)),I=(e,t,n,o,r=0)=>i((n?p:L)(e,t[r],r>s(t)-2?n:f),(i=>{if(r>s(t)-2)return o?.(i)&&w(e,t[r]),i;const a=I(i,t,n,o,r+1);return d(i)&&w(e,t[r]),a})),v=e=>new Set(a(e)||r(e)?e:[e]),y=(e,t)=>e?.add(t),b=/^\d+$/,k=Object.freeze,E=(E=>{const T=new WeakMap;return E=>(T.has(E)||T.set(E,(E=>{const T=f(),m=f(),S=f(),z=f(),[A,D,M,j,x,C,,,O,W,$]=((e,t,o)=>{const I=e.hasRow,b=f(),k=f(),E=f(),T=f(),m=f(),S=(t,s,...o)=>{const r=p(m,t,v);return n(o,(t=>y(r,t)&&s&&e.callListener(t))),o},z=(t,...o)=>i(L(m,t),(r=>{n(0==s(o)?c(r):o,(t=>{e.delListener(t),h(r,t)})),d(r)&&w(m,t)})),A=(e,t)=>{w(b,e,t),l(k,e)||(w(k,e,[f(),f(),f(),f()]),w(E,e,f()),w(T,e,f()))},D=e=>{w(b,e),w(k,e),w(E,e),w(T,e),z(e)};return[()=>e,()=>[...b?.keys()??[]],e=>g(k,e),e=>l(k,e),e=>L(b,e),e=>L(k,e),(e,t)=>w(k,e,t),A,(t,o,i,d,c)=>{A(t,o);const h=f(),p=f(),v=L(E,t),y=L(T,t),b=t=>{const n=n=>e.getCell(o,t,n),i=L(v,t),l=I(o,t)?(u=d(n,t),r(u)?void 0:u+""):void 0;var u,R,f,g;if(i===l||a(i)&&a(l)&&(f=l,s(R=i)===s(f)&&(g=(e,t)=>f[t]===e,R.every(g)))||w(h,t,[i,l]),!r(c)){const e=L(y,t),s=I(o,t)?c(n,t):void 0;e!=s&&w(p,t,s)}},k=e=>{i((()=>{R(h,(([,e],t)=>w(v,t,e))),R(p,((e,t)=>w(y,t,e)))}),h,p,v,y,e),u(h),u(p)};g(v,b),e.hasTable(o)&&n(e.getRowIds(o),(e=>{l(v,e)||b(e)})),k(!0),z(t),S(t,0,e.addRowListener(o,null,((e,t,n)=>b(n))),e.addTableListener(o,(()=>k())))},D,()=>g(m,D),S,z]})(E),[q,B,F]=(e=>{let t;const[a,l]=(()=>{const e=[];let t=0;return[()=>e.shift()??""+t++,t=>{b.test(t)&&s(e)<1e3&&o(e,t)}]})(),c=f();return[(e,n,s,o=[],r=(()=>[]))=>{t??=K;const i=a();return w(c,i,[e,n,s,o,r]),y(I(n,s??[""],v),i),i},(e,r,...i)=>n(((e,t=[""])=>{const r=[],i=(e,a)=>a==s(t)?o(r,e):null===t[a]?R(e,(e=>i(e,a+1))):n([t[a],null],(t=>i(L(e,t),a+1)));return i(e,0),r})(e,r),(e=>R(e,(e=>L(c,e)[0](t,...r??[],...i))))),e=>i(L(c,e),(([,t,n])=>(I(t,n??[""],void 0,(t=>(h(t,e),d(t)?1:0))),w(c,e),l(e),n))),e=>i(L(c,e),(([e,,o=[],i,a])=>{const l=(...d)=>{const c=s(d);c==s(o)?e(t,...d,...a(d)):r(o[c])?n(i[c]?.(...d)??[],(e=>l(...d,e))):l(...d,o[c])};l()}))]})(),G=(e,t,n)=>i(C(e),(([s,,o])=>{if(!l(o,t)){const i=v();if(x(e)!=J(e))y(i,t);else{let e=t;for(;!r(e)&&!l(i,e);)y(i,e),e=L(s,e)}if(n)return i;w(o,t,i)}return L(o,t)})),H=(e,t)=>i(C(e),(([,,e])=>w(e,t))),J=e=>L(T,e),K={setRelationshipDefinition:(n,s,o,a)=>{return w(T,n,o),O(n,s,((e,t)=>{const s=v(),o=v(),a=v(),[c,u]=C(n);R(t,(([e,t],R)=>{r(e)||(y(o,e),i(L(u,e),(t=>{h(t,R),d(t)&&w(u,e)}))),r(t)||(y(o,t),l(u,t)||w(u,t,v()),y(L(u,t),R)),y(s,R),w(c,R,t),g(L(z,n),(e=>{l(G(n,e),R)&&y(a,e)}))})),e(),R(s,(e=>B(m,[n,e]))),R(o,(e=>B(S,[n,e]))),R(a,(e=>{H(n,e),B(z,[n,e])}))}),e(c=a)==t?e=>e(c):c??(()=>"")),K;var c},delRelationshipDefinition:e=>(w(T,e),W(e),K),getStore:A,getRelationshipIds:D,forEachRelationship:e=>M((t=>e(t,(e=>E.forEachRow(x(t),e))))),hasRelationship:j,getLocalTableId:x,getRemoteTableId:J,getRemoteRowId:(e,t)=>L(C(e)?.[0],t),getLocalRowIds:(e,t)=>c(L(C(e)?.[1],t)),getLinkedRowIds:(e,t)=>r(C(e))?[t]:c(G(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>q(n,m,[e,t]),addLocalRowIdsListener:(e,t,n)=>q(n,S,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(G(e,t),q(n,z,[e,t])),delListener:e=>(H(...F(e)),K),destroy:$,getListenerStats:()=>({})};return k(K)})(E)),T.get(E))})();export{E as createRelationships};
Binary file