tinybase 3.1.0 → 3.1.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/lib/checkpoints.js +1 -1
  2. package/lib/checkpoints.js.gz +0 -0
  3. package/lib/cjs/checkpoints.cjs +1 -1
  4. package/lib/cjs/checkpoints.cjs.gz +0 -0
  5. package/lib/cjs/indexes.cjs +1 -1
  6. package/lib/cjs/indexes.cjs.gz +0 -0
  7. package/lib/cjs/metrics.cjs +1 -1
  8. package/lib/cjs/metrics.cjs.gz +0 -0
  9. package/lib/cjs/relationships.cjs +1 -1
  10. package/lib/cjs/relationships.cjs.gz +0 -0
  11. package/lib/cjs/store.cjs +1 -1
  12. package/lib/cjs/store.cjs.gz +0 -0
  13. package/lib/cjs/tinybase.cjs +1 -1
  14. package/lib/cjs/tinybase.cjs.gz +0 -0
  15. package/lib/cjs/tools.cjs +1 -1
  16. package/lib/cjs/tools.cjs.gz +0 -0
  17. package/lib/cjs/ui-react.cjs +1 -1
  18. package/lib/cjs/ui-react.cjs.gz +0 -0
  19. package/lib/cjs-es6/checkpoints.cjs +1 -1
  20. package/lib/cjs-es6/checkpoints.cjs.gz +0 -0
  21. package/lib/cjs-es6/indexes.cjs +1 -1
  22. package/lib/cjs-es6/indexes.cjs.gz +0 -0
  23. package/lib/cjs-es6/metrics.cjs +1 -1
  24. package/lib/cjs-es6/metrics.cjs.gz +0 -0
  25. package/lib/cjs-es6/relationships.cjs +1 -1
  26. package/lib/cjs-es6/relationships.cjs.gz +0 -0
  27. package/lib/cjs-es6/store.cjs +1 -1
  28. package/lib/cjs-es6/store.cjs.gz +0 -0
  29. package/lib/cjs-es6/tinybase.cjs +1 -1
  30. package/lib/cjs-es6/tinybase.cjs.gz +0 -0
  31. package/lib/cjs-es6/tools.cjs +1 -1
  32. package/lib/cjs-es6/tools.cjs.gz +0 -0
  33. package/lib/cjs-es6/ui-react.cjs +1 -1
  34. package/lib/cjs-es6/ui-react.cjs.gz +0 -0
  35. package/lib/debug/checkpoints.js +2 -2
  36. package/lib/debug/indexes.js +2 -2
  37. package/lib/debug/metrics.js +2 -2
  38. package/lib/debug/relationships.js +2 -2
  39. package/lib/debug/store.js +7 -7
  40. package/lib/debug/tinybase.js +7 -7
  41. package/lib/debug/tools.js +5 -4
  42. package/lib/debug/ui-react.js +3 -2
  43. package/lib/es6/checkpoints.js +1 -1
  44. package/lib/es6/checkpoints.js.gz +0 -0
  45. package/lib/es6/indexes.js +1 -1
  46. package/lib/es6/indexes.js.gz +0 -0
  47. package/lib/es6/metrics.js +1 -1
  48. package/lib/es6/metrics.js.gz +0 -0
  49. package/lib/es6/relationships.js +1 -1
  50. package/lib/es6/relationships.js.gz +0 -0
  51. package/lib/es6/store.js +1 -1
  52. package/lib/es6/store.js.gz +0 -0
  53. package/lib/es6/tinybase.js +1 -1
  54. package/lib/es6/tinybase.js.gz +0 -0
  55. package/lib/es6/tools.js +1 -1
  56. package/lib/es6/tools.js.gz +0 -0
  57. package/lib/es6/ui-react.js +1 -1
  58. package/lib/es6/ui-react.js.gz +0 -0
  59. package/lib/indexes.js +1 -1
  60. package/lib/indexes.js.gz +0 -0
  61. package/lib/metrics.js +1 -1
  62. package/lib/metrics.js.gz +0 -0
  63. package/lib/relationships.js +1 -1
  64. package/lib/relationships.js.gz +0 -0
  65. package/lib/store.js +1 -1
  66. package/lib/store.js.gz +0 -0
  67. package/lib/tinybase.js +1 -1
  68. package/lib/tinybase.js.gz +0 -0
  69. package/lib/tools.js +1 -1
  70. package/lib/tools.js.gz +0 -0
  71. package/lib/types/store.d.ts +10 -1
  72. package/lib/types/ui-react.d.ts +11 -0
  73. package/lib/types/with-schemas/store.d.ts +11 -1
  74. package/lib/types/with-schemas/ui-react.d.ts +12 -0
  75. package/lib/ui-react.js +1 -1
  76. package/lib/ui-react.js.gz +0 -0
  77. package/lib/umd/checkpoints.js +1 -1
  78. package/lib/umd/checkpoints.js.gz +0 -0
  79. package/lib/umd/indexes.js +1 -1
  80. package/lib/umd/indexes.js.gz +0 -0
  81. package/lib/umd/metrics.js +1 -1
  82. package/lib/umd/metrics.js.gz +0 -0
  83. package/lib/umd/relationships.js +1 -1
  84. package/lib/umd/relationships.js.gz +0 -0
  85. package/lib/umd/store.js +1 -1
  86. package/lib/umd/store.js.gz +0 -0
  87. package/lib/umd/tinybase.js +1 -1
  88. package/lib/umd/tinybase.js.gz +0 -0
  89. package/lib/umd/tools.js +1 -1
  90. package/lib/umd/tools.js.gz +0 -0
  91. package/lib/umd/ui-react.js +1 -1
  92. package/lib/umd/ui-react.js.gz +0 -0
  93. package/lib/umd-es6/checkpoints.js +1 -1
  94. package/lib/umd-es6/checkpoints.js.gz +0 -0
  95. package/lib/umd-es6/indexes.js +1 -1
  96. package/lib/umd-es6/indexes.js.gz +0 -0
  97. package/lib/umd-es6/metrics.js +1 -1
  98. package/lib/umd-es6/metrics.js.gz +0 -0
  99. package/lib/umd-es6/relationships.js +1 -1
  100. package/lib/umd-es6/relationships.js.gz +0 -0
  101. package/lib/umd-es6/store.js +1 -1
  102. package/lib/umd-es6/store.js.gz +0 -0
  103. package/lib/umd-es6/tinybase.js +1 -1
  104. package/lib/umd-es6/tinybase.js.gz +0 -0
  105. package/lib/umd-es6/tools.js +1 -1
  106. package/lib/umd-es6/tools.js.gz +0 -0
  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 +1 -1
  110. package/readme.md +2 -2
@@ -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,s=(e,o,t)=>d(e)?null==t?void 0:t():o(e),n=e=>t(e)==r,u=()=>{},{createContext:a,useContext:i}=e,I=a([]),c=(e,o)=>{const t=i(I);return d(e)?t[o]:n(e)?((e,o)=>s(e,(e=>e[o])))(t[o+1],e):e},p=(e,o)=>{const t=c(e,o);return d(e)||n(e)?t:e},b=e=>c(e,0),v=e=>c(e,2),g=e=>c(e,4),w=e=>c(e,6),R=e=>c(e,8),C=e=>c(e,10),m=e=>p(e,0),y=e=>p(e,2),k=e=>p(e,4),h=e=>p(e,6),f=e=>p(e,8),P=e=>p(e,10),{useCallback:T,useEffect:q,useMemo:x,useRef:S,useState:V}=e,O=(e,o,t=[])=>{const r=x((()=>o(e)),[e,...t]);return q((()=>()=>r.destroy()),[r]),r},B=(e,o,t,r=[],l)=>{const[,s]=V(),n=T((()=>{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]=V(n),a=S(u);return x((()=>a.current=n()),[n]),L(e,o,((...e)=>{a.current=d(l)?n():e[l],s([])}),[],r),a.current},L=(e,o,t,r=[],l=[],...d)=>q((()=>{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]),j=(e,o,t,r=[],l=u,d=[],...n)=>{const a=m(e);return T((e=>s(a,(r=>s(t(e,r),(e=>l(r["set"+o](...n,e),e)))))),[a,o,...r,...d,...n])},M=(e,o,t=u,r=[],...l)=>{const d=m(e);return T((()=>t(null==d?void 0:d["del"+o](...l))),[d,o,...r,...l])},E=(e,o,t)=>{const r=P(e);return T((()=>null==r?void 0:r[o](t)),[r,o,t])},A=(e,o=[])=>x(e,o),D=e=>B("Tables",m(e),{}),F=e=>B("TableIds",m(e),[],[]),z=(e,o)=>B("Table",m(o),{},[e]),G=(e,o)=>B("RowIds",m(o),[],[e]),H=(e,o,t,r=0,l,d)=>B("SortedRowIds",m(d),[],[e,o,t,r,l],6),J=(e,o,t)=>B("Row",m(t),{},[e,o]),K=(e,o,t)=>B("CellIds",m(t),[],[e,o]),N=(e,o,t,r)=>B("Cell",m(r),void 0,[e,o,t],4),Q=e=>B("Values",m(e),{}),U=e=>B("ValueIds",m(e),[],[]),W=(e,o)=>B("Value",m(o),void 0,[e]),X=(e,o,t,r,l)=>j(t,"Tables",e,o,r,l),Y=(e,o,t,r,l,d)=>j(r,"Table",o,t,l,d,e),Z=(e,o,t,r,l,d,s)=>j(l,"Row",t,r,d,s,e,o),$=(e,o,t=[],r,l=u,d=[])=>{const n=m(r);return T((t=>s(n,(r=>s(o(t,r),(o=>l(r.addRow(e,o),r,o)))))),[n,e,...t,...d])},_=(e,o,t,r,l,d,s)=>j(l,"PartialRow",t,r,d,s,e,o),ee=(e,o,t,r,l,d,s,n)=>j(d,"Cell",r,l,s,n,e,o,t),oe=(e,o,t,r,l)=>j(t,"Values",e,o,r,l),te=(e,o,t,r,l)=>j(t,"PartialValues",e,o,r,l),re=(e,o,t,r,l,d)=>j(r,"Value",o,t,l,d,e),le=(e,o,t)=>M(e,"Tables",o,t),de=(e,o,t,r)=>M(o,"Table",t,r,e),se=(e,o,t,r,l)=>M(t,"Row",r,l,e,o),ne=(e,o,t,r,l,d,s)=>M(l,"Cell",d,s,e,o,t,r),ue=(e,o,t)=>M(e,"Values",o,t),ae=(e,o,t,r)=>M(o,"Value",t,r,e),ie=(e,o,t,r)=>L("Tables",m(r),e,o,[],t),Ie=(e,o,t,r)=>L("TableIds",m(r),e,o,[],t),ce=(e,o,t,r,l)=>L("Table",m(l),o,t,[e],r),pe=(e,o,t,r,l)=>L("RowIds",m(l),o,t,[e],r),be=(e,o,t,r,l,d,s,n,u)=>L("SortedRowIds",m(u),d,s,[e,o,t,r,l],n),ve=(e,o,t,r,l,d)=>L("Row",m(d),t,r,[e,o],l),ge=(e,o,t,r,l,d)=>L("CellIds",m(d),t,r,[e,o],l),we=(e,o,t,r,l,d,s)=>L("Cell",m(s),r,l,[e,o,t],d),Re=(e,o,t,r)=>L("Values",m(r),e,o,[],t),Ce=(e,o,t,r)=>L("ValueIds",m(r),e,o,[],t),me=(e,o,t,r,l)=>L("Value",m(l),o,t,[e],r),ye=(e,o,t)=>O(e,o,t),ke=(e,o)=>B("Metric",y(o),void 0,[e]),he=(e,o,t,r)=>L("Metric",y(r),o,t,[e]),fe=(e,o,t)=>O(e,o,t),Pe=(e,o)=>B("SliceIds",k(o),[],[e]),Te=(e,o,t)=>B("SliceRowIds",k(t),[],[e,o]),qe=(e,o,t,r)=>L("SliceIds",k(r),o,t,[e]),xe=(e,o,t,r,l)=>L("SliceRowIds",k(l),t,r,[e,o]),Se=(e,o,t)=>O(e,o,t),Ve=(e,o,t)=>B("RemoteRowId",h(t),void 0,[e,o]),Oe=(e,o,t)=>B("LocalRowIds",h(t),[],[e,o]),Be=(e,o,t)=>B("LinkedRowIds",h(t),[],[e,o]),Le=(e,o,t,r,l)=>L("RemoteRowId",h(l),t,r,[e,o]),je=(e,o,t,r,l)=>L("LocalRowIds",h(l),t,r,[e,o]),Me=(e,o,t,r,l)=>L("LinkedRowIds",h(l),t,r,[e,o]),Ee=(e,o,t)=>O(e,o,t),Ae=(e,o)=>B("ResultTable",f(o),{},[e]),De=(e,o)=>B("ResultRowIds",f(o),[],[e]),Fe=(e,o,t,r=0,l,d)=>B("ResultSortedRowIds",f(d),[],[e,o,t,r,l],6),ze=(e,o,t)=>B("ResultRow",f(t),{},[e,o]),Ge=(e,o,t)=>B("ResultCellIds",f(t),[],[e,o]),He=(e,o,t,r)=>B("ResultCell",f(r),void 0,[e,o,t]),Je=(e,o,t,r)=>L("ResultTable",f(r),o,t,[e]),Ke=(e,o,t,r)=>L("ResultRowIds",f(r),o,t,[e]),Ne=(e,o,t,r,l,d,s,n)=>L("ResultSortedRowIds",f(n),d,s,[e,o,t,r,l]),Qe=(e,o,t,r,l)=>L("ResultRow",f(l),t,r,[e,o]),Ue=(e,o,t,r,l)=>L("ResultCellIds",f(l),t,r,[e,o]),We=(e,o,t,r,l,d)=>L("ResultCell",f(d),r,l,[e,o,t]),Xe=(e,o,t)=>O(e,o,t),Ye=e=>B("CheckpointIds",P(e),[[],void 0,[]]),Ze=(e,o)=>B("Checkpoint",P(o),void 0,[e]),$e=(e=u,o=[],t,r=u,l=[])=>{const d=P(t);return T((o=>s(d,(t=>{const l=e(o);r(t.addCheckpoint(l),t,l)}))),[d,...o,...l])},_e=e=>E(e,"goBackward"),eo=e=>E(e,"goForward"),oo=(e,o=[],t,r=u,l=[])=>{const d=P(t);return T((o=>s(d,(t=>s(e(o),(e=>r(t.goTo(e),e)))))),[d,...o,...l])},to=e=>{var o;const t=P(e),[r,l]=Ye(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},ro=e=>{var o;const t=P(e),[,,[r]]=Ye(t);return[!d(r),eo(t),r,null!=(o=s(r,(e=>null==t?void 0:t.getCheckpoint(e))))?o:""]},lo=(e,o,t)=>L("CheckpointIds",P(t),e,o),so=(e,o,t,r)=>L("Checkpoint",P(r),o,t,[e]),no=(e,o,t=[],r,l=[])=>{const[,d]=V(),s=x((()=>o(e)),[e,...t]);return q((()=>{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 uo=Object.defineProperty,ao=Object.defineProperties,io=Object.getOwnPropertyDescriptors,Io=Object.getOwnPropertySymbols,co=Object.prototype.hasOwnProperty,po=Object.prototype.propertyIsEnumerable,bo=(e,o,t)=>o in e?uo(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,vo=(e,o)=>{for(var t in o||(o={}))co.call(o,t)&&bo(e,t,o[t]);if(Io)for(var t of Io(o))po.call(o,t)&&bo(e,t,o[t]);return e},go=(e,o)=>ao(e,io(o)),wo=(e,o)=>{var t={};for(var r in e)co.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&&po.call(e,r)&&(t[r]=e[r]);return t};const{createElement:Ro,useMemo:Co}=e,mo=({tableId:e,store:o,rowComponent:t=So,getRowComponentProps:r,separator:d,debugIds:s},n)=>qo(l(n,(l=>Ro(t,go(vo({},Po(r,l)),{key:l,tableId:e,rowId:l,store:o,debugIds:s})))),d,s,e),yo=({queryId:e,queries:o,resultRowComponent:t=Ho,getResultRowComponentProps:r,separator:d,debugIds:s},n)=>qo(l(n,(l=>Ro(t,go(vo({},Po(r,l)),{key:l,queryId:e,rowId:l,queries:o,debugIds:s})))),d,s,e),ko=e=>{const o=h(e);return[o,null==o?void 0:o.getStore()]},ho=({relationshipId:e,relationships:o,rowComponent:t=So,getRowComponentProps:r,separator:d,debugIds:s},n,u)=>{const[a,i]=ko(o),I=null==a?void 0:a.getLocalTableId(e),c=n(e,u,a);return qo(l(c,(e=>Ro(t,go(vo({},Po(r,e)),{key:e,tableId:I,rowId:e,store:i,debugIds:s})))),d,s,u)},fo=e=>({checkpoints:o,checkpointComponent:t=No,getCheckpointComponentProps:r,separator:d,debugIds:s})=>{const n=P(o);return qo(l(e(Ye(n)),(e=>Ro(t,go(vo({},Po(r,e)),{key:e,checkpoints:n,checkpointId:e,debugIds:s})))),d)},Po=(e,o)=>d(e)?{}:e(o),To=({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 Ro(I.Provider,{value:Co((()=>[null!=e?e:v[0],vo(vo({},v[1]),t),null!=r?r:v[2],vo(vo({},v[3]),l),null!=d?d:v[4],vo(vo({},v[5]),s),null!=n?n:v[6],vo(vo({},v[7]),u),null!=a?a:v[8],vo(vo({},v[9]),i),null!=c?c:v[10],vo(vo({},v[11]),p)]),[e,t,r,l,d,s,n,u,a,i,c,p,v])},b)},qo=(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},xo=({tableId:e,rowId:o,cellId:t,store:r,debugIds:l})=>{var d;return qo(""+(null!=(d=N(e,o,t,r))?d:""),void 0,l,t)},So=({tableId:e,rowId:o,store:t,cellComponent:r=xo,getCellComponentProps:d,separator:s,debugIds:n})=>qo(l(K(e,o,t),(l=>Ro(r,go(vo({},Po(d,l)),{key:l,tableId:e,rowId:o,cellId:l,store:t,debugIds:n})))),s,n,o),Vo=e=>mo(e,G(e.tableId,e.store)),Oo=e=>{var o=e,{cellId:t,descending:r,offset:l,limit:d}=o,s=wo(o,["cellId","descending","offset","limit"]);return mo(s,H(s.tableId,t,r,l,d,s.store))},Bo=({store:e,tableComponent:o=Vo,getTableComponentProps:t,separator:r,debugIds:d})=>qo(l(F(e),(r=>Ro(o,go(vo({},Po(t,r)),{key:r,tableId:r,store:e,debugIds:d})))),r),Lo=({valueId:e,store:o,debugIds:t})=>{var r;return qo(""+(null!=(r=W(e,o))?r:""),void 0,t,e)},jo=({store:e,valueComponent:o=Lo,getValueComponentProps:t,separator:r,debugIds:d})=>qo(l(U(e),(r=>Ro(o,go(vo({},Po(t,r)),{key:r,valueId:r,store:e,debugIds:d})))),r),Mo=({metricId:e,metrics:o,debugIds:t})=>{var r;return qo(null!=(r=ke(e,o))?r:"",void 0,t,e)},Eo=({indexId:e,sliceId:o,indexes:t,rowComponent:r=So,getRowComponentProps:d,separator:s,debugIds:n})=>{const u=k(t),a=null==u?void 0:u.getStore(),i=null==u?void 0:u.getTableId(e),I=Te(e,o,u);return qo(l(I,(e=>Ro(r,go(vo({},Po(d,e)),{key:e,tableId:i,rowId:e,store:a,debugIds:n})))),s,n,o)},Ao=({indexId:e,indexes:o,sliceComponent:t=Eo,getSliceComponentProps:r,separator:d,debugIds:s})=>qo(l(Pe(e,o),(l=>Ro(t,go(vo({},Po(r,l)),{key:l,indexId:e,sliceId:l,indexes:o,debugIds:s})))),d,s,e),Do=({relationshipId:e,localRowId:o,relationships:t,rowComponent:r=So,getRowComponentProps:l,debugIds:s})=>{const[n,u]=ko(t),a=null==n?void 0:n.getRemoteTableId(e),i=Ve(e,o,n);return qo(d(a)||d(i)?null:Ro(r,go(vo({},Po(l,i)),{key:i,tableId:a,rowId:i,store:u,debugIds:s})),void 0,s,o)},Fo=e=>ho(e,Oe,e.remoteRowId),zo=e=>ho(e,Be,e.firstRowId),Go=({queryId:e,rowId:o,cellId:t,queries:r,debugIds:l})=>{var d;return qo(""+(null!=(d=He(e,o,t,r))?d:""),void 0,l,t)},Ho=({queryId:e,rowId:o,queries:t,resultCellComponent:r=Go,getResultCellComponentProps:d,separator:s,debugIds:n})=>qo(l(Ge(e,o,t),(l=>Ro(r,go(vo({},Po(d,l)),{key:l,queryId:e,rowId:o,cellId:l,queries:t,debugIds:n})))),s,n,o),Jo=e=>yo(e,De(e.queryId,e.queries)),Ko=e=>{var o=e,{cellId:t,descending:r,offset:l,limit:d}=o,s=wo(o,["cellId","descending","offset","limit"]);return yo(s,Fe(s.queryId,t,r,l,d,s.queries))},No=({checkpoints:e,checkpointId:o,debugIds:t})=>{var r;return qo(null!=(r=Ze(o,e))?r:"",void 0,t,o)},Qo=fo((e=>e[0])),Uo=fo((e=>d(e[1])?[]:[e[1]])),Wo=fo((e=>e[2]));export{Qo as BackwardCheckpointsView,xo as CellView,No as CheckpointView,Uo as CurrentCheckpointView,Wo as ForwardCheckpointsView,Ao as IndexView,zo as LinkedRowsView,Fo as LocalRowsView,Mo as MetricView,To as Provider,Do as RemoteRowView,Go as ResultCellView,Ho as ResultRowView,Ko as ResultSortedTableView,Jo as ResultTableView,So as RowView,Eo as SliceView,Oo as SortedTableView,Vo as TableView,Bo as TablesView,Lo as ValueView,jo as ValuesView,mo as tableView,$ as useAddRowCallback,N as useCell,K as useCellIds,ge as useCellIdsListener,we as useCellListener,Ze as useCheckpoint,Ye as useCheckpointIds,lo as useCheckpointIdsListener,so as useCheckpointListener,C as useCheckpoints,Xe as useCreateCheckpoints,fe as useCreateIndexes,ye as useCreateMetrics,no as useCreatePersister,Ee as useCreateQueries,Se as useCreateRelationships,A as useCreateStore,ne as useDelCellCallback,se as useDelRowCallback,de as useDelTableCallback,le as useDelTablesCallback,ae as useDelValueCallback,ue as useDelValuesCallback,_e as useGoBackwardCallback,eo as useGoForwardCallback,oo as useGoToCallback,g as useIndexes,Be as useLinkedRowIds,Me as useLinkedRowIdsListener,Oe as useLocalRowIds,je as useLocalRowIdsListener,ke as useMetric,he as useMetricListener,v as useMetrics,R as useQueries,ro as useRedoInformation,w as useRelationships,Ve as useRemoteRowId,Le as useRemoteRowIdListener,He as useResultCell,Ge as useResultCellIds,Ue as useResultCellIdsListener,We as useResultCellListener,ze as useResultRow,De as useResultRowIds,Ke as useResultRowIdsListener,Qe as useResultRowListener,Fe as useResultSortedRowIds,Ne as useResultSortedRowIdsListener,Ae as useResultTable,Je as useResultTableListener,J as useRow,G as useRowIds,pe as useRowIdsListener,ve as useRowListener,ee as useSetCellCallback,$e as useSetCheckpointCallback,_ as useSetPartialRowCallback,te as useSetPartialValuesCallback,Z as useSetRowCallback,Y as useSetTableCallback,X as useSetTablesCallback,re as useSetValueCallback,oe as useSetValuesCallback,Pe as useSliceIds,qe as useSliceIdsListener,Te as useSliceRowIds,xe as useSliceRowIdsListener,H as useSortedRowIds,be as useSortedRowIdsListener,b as useStore,z as useTable,F as useTableIds,Ie as useTableIdsListener,ce as useTableListener,D as useTables,ie as useTablesListener,to as useUndoInformation,W as useValue,U as useValueIds,Ce as useValueIdsListener,me as useValueListener,Q as useValues,Re as useValuesListener};
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=e=>t(e)==r,u=()=>{},{createContext:a,useContext:i}=e,I=a([]),c=(e,o)=>{const t=i(I);return d(e)?t[o]:n(e)?((e,o)=>s(e,(e=>e[o])))(t[o+1],e):e},p=(e,o)=>{const t=c(e,o);return d(e)||n(e)?t:e},b=e=>c(e,0),v=e=>c(e,2),g=e=>c(e,4),w=e=>c(e,6),R=e=>c(e,8),C=e=>c(e,10),m=e=>p(e,0),y=e=>p(e,2),k=e=>p(e,4),h=e=>p(e,6),f=e=>p(e,8),P=e=>p(e,10),{useCallback:T,useEffect:q,useMemo:x,useRef:S,useState:V}=e,O=(e,o,t=[])=>{const r=x((()=>o(e)),[e,...t]);return q((()=>()=>r.destroy()),[r]),r},B=(e,o,t,r=[],l)=>{const[,s]=V(),n=T((()=>{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]=V(n),a=S(u);return x((()=>a.current=n()),[n]),L(e,o,((...e)=>{a.current=d(l)?n():e[l],s([])}),[],r),a.current},L=(e,o,t,r=[],l=[],...d)=>q((()=>{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]),j=(e,o,t,r=[],l=u,d=[],...n)=>{const a=m(e);return T((e=>s(a,(r=>s(t(e,r),(e=>l(r["set"+o](...n,e),e)))))),[a,o,...r,...d,...n])},M=(e,o,t=u,r=[],...l)=>{const d=m(e);return T((()=>t(null==d?void 0:d["del"+o](...l))),[d,o,...r,...l])},E=(e,o,t)=>{const r=P(e);return T((()=>null==r?void 0:r[o](t)),[r,o,t])},A=(e,o=[])=>x(e,o),D=e=>B("Tables",m(e),{}),F=e=>B("TableIds",m(e),[],[]),z=(e,o)=>B("Table",m(o),{},[e]),G=(e,o)=>B("RowIds",m(o),[],[e]),H=(e,o,t,r=0,l,d)=>B("SortedRowIds",m(d),[],[e,o,t,r,l],6),J=(e,o,t)=>B("Row",m(t),{},[e,o]),K=(e,o,t)=>B("CellIds",m(t),[],[e,o]),N=(e,o,t,r)=>B("Cell",m(r),void 0,[e,o,t],4),Q=e=>B("Values",m(e),{}),U=e=>B("ValueIds",m(e),[],[]),W=(e,o)=>B("Value",m(o),void 0,[e]),X=(e,o,t,r,l)=>j(t,"Tables",e,o,r,l),Y=(e,o,t,r,l,d)=>j(r,"Table",o,t,l,d,e),Z=(e,o,t,r,l,d,s)=>j(l,"Row",t,r,d,s,e,o),$=(e,o,t=[],r,l=u,d=[],n=!0)=>{const a=m(r);return T((t=>s(a,(r=>s(o(t,r),(o=>l(r.addRow(e,o,n),r,o)))))),[a,e,...t,...d,n])},_=(e,o,t,r,l,d,s)=>j(l,"PartialRow",t,r,d,s,e,o),ee=(e,o,t,r,l,d,s,n)=>j(d,"Cell",r,l,s,n,e,o,t),oe=(e,o,t,r,l)=>j(t,"Values",e,o,r,l),te=(e,o,t,r,l)=>j(t,"PartialValues",e,o,r,l),re=(e,o,t,r,l,d)=>j(r,"Value",o,t,l,d,e),le=(e,o,t)=>M(e,"Tables",o,t),de=(e,o,t,r)=>M(o,"Table",t,r,e),se=(e,o,t,r,l)=>M(t,"Row",r,l,e,o),ne=(e,o,t,r,l,d,s)=>M(l,"Cell",d,s,e,o,t,r),ue=(e,o,t)=>M(e,"Values",o,t),ae=(e,o,t,r)=>M(o,"Value",t,r,e),ie=(e,o,t,r)=>L("Tables",m(r),e,o,[],t),Ie=(e,o,t,r)=>L("TableIds",m(r),e,o,[],t),ce=(e,o,t,r,l)=>L("Table",m(l),o,t,[e],r),pe=(e,o,t,r,l)=>L("RowIds",m(l),o,t,[e],r),be=(e,o,t,r,l,d,s,n,u)=>L("SortedRowIds",m(u),d,s,[e,o,t,r,l],n),ve=(e,o,t,r,l,d)=>L("Row",m(d),t,r,[e,o],l),ge=(e,o,t,r,l,d)=>L("CellIds",m(d),t,r,[e,o],l),we=(e,o,t,r,l,d,s)=>L("Cell",m(s),r,l,[e,o,t],d),Re=(e,o,t,r)=>L("Values",m(r),e,o,[],t),Ce=(e,o,t,r)=>L("ValueIds",m(r),e,o,[],t),me=(e,o,t,r,l)=>L("Value",m(l),o,t,[e],r),ye=(e,o,t)=>O(e,o,t),ke=(e,o)=>B("Metric",y(o),void 0,[e]),he=(e,o,t,r)=>L("Metric",y(r),o,t,[e]),fe=(e,o,t)=>O(e,o,t),Pe=(e,o)=>B("SliceIds",k(o),[],[e]),Te=(e,o,t)=>B("SliceRowIds",k(t),[],[e,o]),qe=(e,o,t,r)=>L("SliceIds",k(r),o,t,[e]),xe=(e,o,t,r,l)=>L("SliceRowIds",k(l),t,r,[e,o]),Se=(e,o,t)=>O(e,o,t),Ve=(e,o,t)=>B("RemoteRowId",h(t),void 0,[e,o]),Oe=(e,o,t)=>B("LocalRowIds",h(t),[],[e,o]),Be=(e,o,t)=>B("LinkedRowIds",h(t),[],[e,o]),Le=(e,o,t,r,l)=>L("RemoteRowId",h(l),t,r,[e,o]),je=(e,o,t,r,l)=>L("LocalRowIds",h(l),t,r,[e,o]),Me=(e,o,t,r,l)=>L("LinkedRowIds",h(l),t,r,[e,o]),Ee=(e,o,t)=>O(e,o,t),Ae=(e,o)=>B("ResultTable",f(o),{},[e]),De=(e,o)=>B("ResultRowIds",f(o),[],[e]),Fe=(e,o,t,r=0,l,d)=>B("ResultSortedRowIds",f(d),[],[e,o,t,r,l],6),ze=(e,o,t)=>B("ResultRow",f(t),{},[e,o]),Ge=(e,o,t)=>B("ResultCellIds",f(t),[],[e,o]),He=(e,o,t,r)=>B("ResultCell",f(r),void 0,[e,o,t]),Je=(e,o,t,r)=>L("ResultTable",f(r),o,t,[e]),Ke=(e,o,t,r)=>L("ResultRowIds",f(r),o,t,[e]),Ne=(e,o,t,r,l,d,s,n)=>L("ResultSortedRowIds",f(n),d,s,[e,o,t,r,l]),Qe=(e,o,t,r,l)=>L("ResultRow",f(l),t,r,[e,o]),Ue=(e,o,t,r,l)=>L("ResultCellIds",f(l),t,r,[e,o]),We=(e,o,t,r,l,d)=>L("ResultCell",f(d),r,l,[e,o,t]),Xe=(e,o,t)=>O(e,o,t),Ye=e=>B("CheckpointIds",P(e),[[],void 0,[]]),Ze=(e,o)=>B("Checkpoint",P(o),void 0,[e]),$e=(e=u,o=[],t,r=u,l=[])=>{const d=P(t);return T((o=>s(d,(t=>{const l=e(o);r(t.addCheckpoint(l),t,l)}))),[d,...o,...l])},_e=e=>E(e,"goBackward"),eo=e=>E(e,"goForward"),oo=(e,o=[],t,r=u,l=[])=>{const d=P(t);return T((o=>s(d,(t=>s(e(o),(e=>r(t.goTo(e),e)))))),[d,...o,...l])},to=e=>{var o;const t=P(e),[r,l]=Ye(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},ro=e=>{var o;const t=P(e),[,,[r]]=Ye(t);return[!d(r),eo(t),r,null!=(o=s(r,(e=>null==t?void 0:t.getCheckpoint(e))))?o:""]},lo=(e,o,t)=>L("CheckpointIds",P(t),e,o),so=(e,o,t,r)=>L("Checkpoint",P(r),o,t,[e]),no=(e,o,t=[],r,l=[])=>{const[,d]=V(),s=x((()=>o(e)),[e,...t]);return q((()=>{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 uo=Object.defineProperty,ao=Object.defineProperties,io=Object.getOwnPropertyDescriptors,Io=Object.getOwnPropertySymbols,co=Object.prototype.hasOwnProperty,po=Object.prototype.propertyIsEnumerable,bo=(e,o,t)=>o in e?uo(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,vo=(e,o)=>{for(var t in o||(o={}))co.call(o,t)&&bo(e,t,o[t]);if(Io)for(var t of Io(o))po.call(o,t)&&bo(e,t,o[t]);return e},go=(e,o)=>ao(e,io(o)),wo=(e,o)=>{var t={};for(var r in e)co.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&&po.call(e,r)&&(t[r]=e[r]);return t};const{createElement:Ro,useMemo:Co}=e,mo=({tableId:e,store:o,rowComponent:t=So,getRowComponentProps:r,separator:d,debugIds:s},n)=>qo(l(n,(l=>Ro(t,go(vo({},Po(r,l)),{key:l,tableId:e,rowId:l,store:o,debugIds:s})))),d,s,e),yo=({queryId:e,queries:o,resultRowComponent:t=Ho,getResultRowComponentProps:r,separator:d,debugIds:s},n)=>qo(l(n,(l=>Ro(t,go(vo({},Po(r,l)),{key:l,queryId:e,rowId:l,queries:o,debugIds:s})))),d,s,e),ko=e=>{const o=h(e);return[o,null==o?void 0:o.getStore()]},ho=({relationshipId:e,relationships:o,rowComponent:t=So,getRowComponentProps:r,separator:d,debugIds:s},n,u)=>{const[a,i]=ko(o),I=null==a?void 0:a.getLocalTableId(e),c=n(e,u,a);return qo(l(c,(e=>Ro(t,go(vo({},Po(r,e)),{key:e,tableId:I,rowId:e,store:i,debugIds:s})))),d,s,u)},fo=e=>({checkpoints:o,checkpointComponent:t=No,getCheckpointComponentProps:r,separator:d,debugIds:s})=>{const n=P(o);return qo(l(e(Ye(n)),(e=>Ro(t,go(vo({},Po(r,e)),{key:e,checkpoints:n,checkpointId:e,debugIds:s})))),d)},Po=(e,o)=>d(e)?{}:e(o),To=({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 Ro(I.Provider,{value:Co((()=>[null!=e?e:v[0],vo(vo({},v[1]),t),null!=r?r:v[2],vo(vo({},v[3]),l),null!=d?d:v[4],vo(vo({},v[5]),s),null!=n?n:v[6],vo(vo({},v[7]),u),null!=a?a:v[8],vo(vo({},v[9]),i),null!=c?c:v[10],vo(vo({},v[11]),p)]),[e,t,r,l,d,s,n,u,a,i,c,p,v])},b)},qo=(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},xo=({tableId:e,rowId:o,cellId:t,store:r,debugIds:l})=>{var d;return qo(""+(null!=(d=N(e,o,t,r))?d:""),void 0,l,t)},So=({tableId:e,rowId:o,store:t,cellComponent:r=xo,getCellComponentProps:d,separator:s,debugIds:n})=>qo(l(K(e,o,t),(l=>Ro(r,go(vo({},Po(d,l)),{key:l,tableId:e,rowId:o,cellId:l,store:t,debugIds:n})))),s,n,o),Vo=e=>mo(e,G(e.tableId,e.store)),Oo=e=>{var o=e,{cellId:t,descending:r,offset:l,limit:d}=o,s=wo(o,["cellId","descending","offset","limit"]);return mo(s,H(s.tableId,t,r,l,d,s.store))},Bo=({store:e,tableComponent:o=Vo,getTableComponentProps:t,separator:r,debugIds:d})=>qo(l(F(e),(r=>Ro(o,go(vo({},Po(t,r)),{key:r,tableId:r,store:e,debugIds:d})))),r),Lo=({valueId:e,store:o,debugIds:t})=>{var r;return qo(""+(null!=(r=W(e,o))?r:""),void 0,t,e)},jo=({store:e,valueComponent:o=Lo,getValueComponentProps:t,separator:r,debugIds:d})=>qo(l(U(e),(r=>Ro(o,go(vo({},Po(t,r)),{key:r,valueId:r,store:e,debugIds:d})))),r),Mo=({metricId:e,metrics:o,debugIds:t})=>{var r;return qo(null!=(r=ke(e,o))?r:"",void 0,t,e)},Eo=({indexId:e,sliceId:o,indexes:t,rowComponent:r=So,getRowComponentProps:d,separator:s,debugIds:n})=>{const u=k(t),a=null==u?void 0:u.getStore(),i=null==u?void 0:u.getTableId(e),I=Te(e,o,u);return qo(l(I,(e=>Ro(r,go(vo({},Po(d,e)),{key:e,tableId:i,rowId:e,store:a,debugIds:n})))),s,n,o)},Ao=({indexId:e,indexes:o,sliceComponent:t=Eo,getSliceComponentProps:r,separator:d,debugIds:s})=>qo(l(Pe(e,o),(l=>Ro(t,go(vo({},Po(r,l)),{key:l,indexId:e,sliceId:l,indexes:o,debugIds:s})))),d,s,e),Do=({relationshipId:e,localRowId:o,relationships:t,rowComponent:r=So,getRowComponentProps:l,debugIds:s})=>{const[n,u]=ko(t),a=null==n?void 0:n.getRemoteTableId(e),i=Ve(e,o,n);return qo(d(a)||d(i)?null:Ro(r,go(vo({},Po(l,i)),{key:i,tableId:a,rowId:i,store:u,debugIds:s})),void 0,s,o)},Fo=e=>ho(e,Oe,e.remoteRowId),zo=e=>ho(e,Be,e.firstRowId),Go=({queryId:e,rowId:o,cellId:t,queries:r,debugIds:l})=>{var d;return qo(""+(null!=(d=He(e,o,t,r))?d:""),void 0,l,t)},Ho=({queryId:e,rowId:o,queries:t,resultCellComponent:r=Go,getResultCellComponentProps:d,separator:s,debugIds:n})=>qo(l(Ge(e,o,t),(l=>Ro(r,go(vo({},Po(d,l)),{key:l,queryId:e,rowId:o,cellId:l,queries:t,debugIds:n})))),s,n,o),Jo=e=>yo(e,De(e.queryId,e.queries)),Ko=e=>{var o=e,{cellId:t,descending:r,offset:l,limit:d}=o,s=wo(o,["cellId","descending","offset","limit"]);return yo(s,Fe(s.queryId,t,r,l,d,s.queries))},No=({checkpoints:e,checkpointId:o,debugIds:t})=>{var r;return qo(null!=(r=Ze(o,e))?r:"",void 0,t,o)},Qo=fo((e=>e[0])),Uo=fo((e=>d(e[1])?[]:[e[1]])),Wo=fo((e=>e[2]));export{Qo as BackwardCheckpointsView,xo as CellView,No as CheckpointView,Uo as CurrentCheckpointView,Wo as ForwardCheckpointsView,Ao as IndexView,zo as LinkedRowsView,Fo as LocalRowsView,Mo as MetricView,To as Provider,Do as RemoteRowView,Go as ResultCellView,Ho as ResultRowView,Ko as ResultSortedTableView,Jo as ResultTableView,So as RowView,Eo as SliceView,Oo as SortedTableView,Vo as TableView,Bo as TablesView,Lo as ValueView,jo as ValuesView,mo as tableView,$ as useAddRowCallback,N as useCell,K as useCellIds,ge as useCellIdsListener,we as useCellListener,Ze as useCheckpoint,Ye as useCheckpointIds,lo as useCheckpointIdsListener,so as useCheckpointListener,C as useCheckpoints,Xe as useCreateCheckpoints,fe as useCreateIndexes,ye as useCreateMetrics,no as useCreatePersister,Ee as useCreateQueries,Se as useCreateRelationships,A as useCreateStore,ne as useDelCellCallback,se as useDelRowCallback,de as useDelTableCallback,le as useDelTablesCallback,ae as useDelValueCallback,ue as useDelValuesCallback,_e as useGoBackwardCallback,eo as useGoForwardCallback,oo as useGoToCallback,g as useIndexes,Be as useLinkedRowIds,Me as useLinkedRowIdsListener,Oe as useLocalRowIds,je as useLocalRowIdsListener,ke as useMetric,he as useMetricListener,v as useMetrics,R as useQueries,ro as useRedoInformation,w as useRelationships,Ve as useRemoteRowId,Le as useRemoteRowIdListener,He as useResultCell,Ge as useResultCellIds,Ue as useResultCellIdsListener,We as useResultCellListener,ze as useResultRow,De as useResultRowIds,Ke as useResultRowIdsListener,Qe as useResultRowListener,Fe as useResultSortedRowIds,Ne as useResultSortedRowIdsListener,Ae as useResultTable,Je as useResultTableListener,J as useRow,G as useRowIds,pe as useRowIdsListener,ve as useRowListener,ee as useSetCellCallback,$e as useSetCheckpointCallback,_ as useSetPartialRowCallback,te as useSetPartialValuesCallback,Z as useSetRowCallback,Y as useSetTableCallback,X as useSetTablesCallback,re as useSetValueCallback,oe as useSetValuesCallback,Pe as useSliceIds,qe as useSliceIdsListener,Te as useSliceRowIds,xe as useSliceRowIdsListener,H as useSortedRowIds,be as useSortedRowIdsListener,b as useStore,z as useTable,F as useTableIds,Ie as useTableIdsListener,ce as useTableListener,D as useTables,ie as useTablesListener,to as useUndoInformation,W as useValue,U as useValueIds,Ce as useValueIdsListener,me as useValueListener,Q as useValues,Re 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,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};
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[n=>(n?e.shift():null)??""+t++,t=>{A.test(t)&&l(e)<1e3&&d(e,t)}]})(),r=w();return[(e,s,o,c=[],l=(()=>[]))=>{t??=P;const d=n(1);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,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};
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[r=>(r?e.shift():null)??""+t++,t=>{A.test(t)&&i(e)<1e3&&a(e,t)}]})(),o=b();return[(e,n,s,i=[],a=(()=>[]))=>{t??=J;const c=r(1);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
@@ -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,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};
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[n=>(n?e.shift():null)??""+t++,t=>{b.test(t)&&s(e)<1e3&&o(e,t)}]})(),c=f();return[(e,n,s,o=[],r=(()=>[]))=>{t??=K;const i=a(1);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
package/lib/store.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t=e(""),s=e(!0),l=e(0),a=e(e),n=e=>""+e,r=(e,t)=>e.forEach(t),o=(e,t)=>e.map(t),c=e=>e.length,u=(e,t,s)=>e.slice(t,s),i=(e,...t)=>e.push(...t),d=e=>JSON.stringify(e,((e,t)=>{return T(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),l={},[...t].reduce(s,l)):t;var s,l})),f=JSON.parse,h=isFinite,T=(e,t)=>e instanceof t,V=e=>null==e,g=(e,t,s)=>V(e)?s?.():t(e),b=e=>e==t||e==s,v=t=>e(t)==a,S=(e,t)=>e?.has(t)??!1,w=e=>V(e)||0==(e=>e.size)(e),y=e=>e.clear(),I=(e,t)=>e?.forEach(t),R=(e,t)=>e?.delete(t),p=e=>new Map(e),C=e=>[...e?.keys()??[]],J=(e,t)=>e?.get(t),m=(e,t)=>I(e,((e,s)=>t(s,e))),L=(e,t,s)=>V(s)?(R(e,t),e):e?.set(t,s),E=(e,t,s)=>(S(e,t)||L(e,t,s()),J(e,t)),F=(e,t,s)=>{const l={},a=t??(e=>e);return I(e,((e,t)=>g(a(e),(e=>s?.(e)?0:l[t]=e)))),l},z=(e,t)=>{const s=p(),l=t??(e=>e);return I(e,((e,t)=>s.set(t,l(e)))),s},O=e=>z(e,z),k=(e,t,s,l,a=0)=>g((s?E:J)(e,t[a],a>c(t)-2?s:p),(n=>{if(a>c(t)-2)return l?.(n)&&L(e,t[a]),n;const r=k(n,t,s,l,a+1);return w(n)&&L(e,t[a]),r})),A=e=>new Set(Array.isArray(e)||V(e)?e:[e]),M=(e,t)=>e?.add(t),N=/^\d+$/,P=()=>{const e=[];let t=0;return[()=>e.shift()??""+t++,t=>{N.test(t)&&c(e)<1e3&&i(e,t)}]},j=Object,x=j.keys,D=j.isFrozen,W=j.freeze,$=e=>T(e,j)&&e.constructor==j,q=(e,t)=>!V(((e,t)=>g(e,(e=>e[t])))(e,t)),B=(e,t)=>delete e[t],G=(e,t)=>o(j.entries(e),(([e,s])=>t(s,e))),H=e=>{return $(e)&&(t=x(e),0==c(t));var t},K=e=>[e,e],Q=()=>[p(),p()],U=t=>{const s=e(t);return b(s)||s==l&&h(t)?s:void 0},X=(e,t,s,l=L)=>{const a=(n=e=>!q(t,e),C(e).filter(n));var n;return r(x(t),(l=>s(e,l,t[l]))),r(a,(t=>l(e,t))),e},Y=(e,t,s)=>V(e)||!$(e)||H(e)||D(e)?(s?.(),!1):(G(e,((s,l)=>{t(s,l)||B(e,l)})),!H(e)),Z=(e,t,s)=>L(e,t,J(e,t)==-s?void 0:s),_=()=>{let e,t,s,a,h=0;const T=p(),N=p(),j=p(),x=p(),D=p(),$=p(),ee=p(),te=p(),se=p(),le=p(),ae=p(),ne=p(),re=A(),oe=p(),ce=p(),ue=p(),ie=Q(),de=Q(),fe=Q(),he=Q(),Te=Q(),Ve=Q(),ge=Q(),be=Q(),ve=Q(),Se=Q(),we=Q(),ye=Q(),Ie=Q(),Re=Q(),[pe,Ce,Je,me]=(e=>{let t;const[s,l]=P(),a=p();return[(e,l,n,r=[],o=(()=>[]))=>{t??=Nt;const c=s();return L(a,c,[e,l,n,r,o]),M(k(l,n??[""],A),c),c},(e,s,...l)=>r(((e,t=[""])=>{const s=[],l=(e,a)=>a==c(t)?i(s,e):null===t[a]?I(e,(e=>l(e,a+1))):r([t[a],null],(t=>l(J(e,t),a+1)));return l(e,0),s})(e,s),(e=>I(e,(e=>J(a,e)[0](t,...s??[],...l))))),e=>g(J(a,e),(([,t,s])=>(k(t,s??[""],void 0,(t=>(R(t,e),w(t)?1:0))),L(a,e),l(e),s))),e=>g(J(a,e),(([e,,s=[],l,a])=>{const n=(...o)=>{const u=c(o);u==c(s)?e(t,...o,...a(o)):V(s[u])?r(l[u]?.(...o)??[],(e=>n(...o,e))):n(...o,s[u])};n()}))]})(),Le=e=>{if(!Y(e,((e,t)=>["type","default"].includes(t))))return!1;const t=e.type;return!(!b(t)&&t!=l||(U(e.default)!=t&&B(e,"default"),0))},Ee=(t,s)=>(!e||S(se,s)||nt(s))&&Y(t,((e,t)=>Fe(s,t,e)),(()=>nt(s))),Fe=(e,t,s,l)=>Y(l?s:Ae(s,e,t),((l,a)=>g(ze(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>nt(e,t))),ze=(t,s,l,a)=>e?g(J(J(se,t),l),(e=>U(a)!=e.type?nt(t,s,l,a,e.default):a),(()=>nt(t,s,l,a))):V(U(a))?nt(t,s,l,a):a,Oe=(e,t)=>Y(t?e:Me(e),((t,s)=>g(ke(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>rt())),ke=(e,s)=>t?g(J(ae,e),(t=>U(s)!=t.type?rt(e,s,t.default):s),(()=>rt(e,s))):V(U(s))?rt(e,s):s,Ae=(e,t,s)=>(g(J(le,t),(([l,a])=>{I(l,((t,s)=>{q(e,s)||(e[s]=t)})),I(a,(l=>{q(e,l)||nt(t,s,l)}))})),e),Me=e=>(t&&(I(ne,((t,s)=>{q(e,s)||(e[s]=t)})),I(re,(t=>{q(e,t)||rt(t)}))),e),Ne=e=>X(se,e,((e,t,s)=>{const l=p(),a=A();X(E(se,t,p),s,((e,t,s)=>{L(e,t,s),g(s.default,(e=>L(l,t,e)),(()=>M(a,t)))})),L(le,t,[l,a])}),((e,t)=>{L(se,t),L(le,t)})),Pe=e=>X(ae,e,((e,t,s)=>{L(ae,t,s),g(s.default,(e=>L(ne,t,e)),(()=>M(re,t)))}),((e,t)=>{L(ae,t),L(ne,t),R(re,t)})),je=e=>H(e)?Et():pt(e),xe=e=>X(ce,e,((e,t,s)=>De(t,s)),((e,t)=>Ue(t))),De=(e,t)=>X(E(ce,e,(()=>(_e(e,1),p()))),t,((t,s,l)=>We(e,t,s,l)),((t,s)=>Xe(e,t,s))),We=(e,t,s,l,a)=>X(E(t,s,(()=>(et(e,s,1),p()))),l,((t,l,a)=>$e(e,s,t,l,a)),((l,n)=>Ye(e,t,s,l,n,a))),$e=(e,t,s,l,a)=>{S(s,l)||tt(e,t,l,1);const n=J(s,l);a!==n&&(st(e,t,l,n,a),L(s,l,a))},qe=(e,t,s,l,a)=>g(J(t,s),(t=>$e(e,s,t,l,a)),(()=>We(e,t,s,Ae({[l]:a},e,s)))),Be=e=>H(e)?Ft():Ct(e),Ge=e=>X(ue,e,((e,t,s)=>He(t,s)),((e,t)=>Ze(t))),He=(e,t)=>{S(ue,e)||lt(e,1);const s=J(ue,e);t!==s&&(at(e,s,t),L(ue,e,t))},Ke=e=>{const[t]=E(oe,e,P),s=t();return S(J(ce,e),s)?Ke(e):s},Qe=e=>J(ce,e)??De(e,{}),Ue=e=>De(e,{}),Xe=(e,t,s)=>{const[,l]=E(oe,e,P);l(s),We(e,t,s,{},!0)},Ye=(e,t,s,l,a,n)=>{const r=J(J(le,e)?.[0],a);if(!V(r)&&!n)return $e(e,s,l,a,r);const o=t=>{st(e,s,t,J(l,t)),tt(e,s,t,-1),L(l,t)};V(r)?o(a):m(l,o),w(l)&&(et(e,s,-1),w(L(t,s))&&(_e(e,-1),L(ce,e),L(oe,e)))},Ze=e=>{const t=J(ne,e);if(!V(t))return He(e,t);at(e,J(ue,e)),lt(e,-1),L(ue,e)},_e=(e,t)=>Z(T,e,t),et=(e,t,s)=>Z(E(N,e,p),t,s),tt=(e,t,s,l)=>Z(E(E(j,e,p),t,p),s,l),st=(e,t,s,l,a)=>E(E(E(x,e,p),t,p),s,(()=>[l,0]))[1]=a,lt=(e,t)=>Z(D,e,t),at=(e,t,s)=>E($,e,(()=>[t,0]))[1]=s,nt=(e,t,s,l,a)=>(i(E(E(E(ee,e,p),t,p),s,(()=>[])),l),a),rt=(e,t,s)=>(i(E(te,e,(()=>[])),t),s),ot=(e,t,s)=>g(J(J(J(x,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...K(wt(e,t,s))])),ct=e=>g(J($,e),(([e,t])=>[!0,e,t]),(()=>[!1,...K(Rt(e))])),ut=e=>w(ee)||w(ve[e])?0:I(e?z(ee,O):ee,((t,s)=>I(t,((t,l)=>I(t,((t,a)=>Ce(ve[e],[s,l,a],t))))))),it=e=>w(te)||w(Se[e])?0:I(e?z(te):te,((t,s)=>Ce(Se[e],[s],t))),dt=(e,t,s)=>{if(!w(t))return Ce(e,s),1},ft=e=>{const t=w(Te[e]),s=w(ge[e])&&w(he[e])&&t&&w(de[e]),l=w(be[e])&&w(Ve[e])&&w(fe[e])&&w(ie[e]);if(!s||!l){const a=e?[z(T),O(N),z(j,O),z(x,O)]:[T,N,j,x];if(!s){I(a[2],((t,s)=>I(t,((t,l)=>dt(ge[e],t,[s,l])))));const s=A();I(a[1],((l,a)=>{dt(he[e],l,[a])&&!t&&(Ce(Te[e],[a,null]),M(s,a))})),t||I(a[3],((t,l)=>{if(!S(s,l)){const s=A();I(t,(e=>I(e,(([t,l],a)=>l!==t?M(s,a):R(e,a))))),I(s,(t=>Ce(Te[e],[l,t])))}})),dt(de[e],a[0])}if(!l){let t;I(a[3],((s,l)=>{let a;I(s,((s,n)=>{let r;I(s,(([s,o],c)=>{o!==s&&(Ce(be[e],[l,n,c],o,s,ot),t=a=r=1)})),r&&Ce(Ve[e],[l,n],ot)})),a&&Ce(fe[e],[l],ot)})),t&&Ce(ie[e],void 0,ot)}}},ht=e=>{const t=w(ye[e]),s=w(Ie[e])&&w(we[e]);if(!t||!s){const l=e?[z(D),z($)]:[D,$];if(t||dt(ye[e],l[0]),!s){let t;I(l[1],(([s,l],a)=>{l!==s&&(Ce(Ie[e],[a],l,s,ct),t=1)})),t&&Ce(we[e],void 0,ct)}}},Tt=(e,...t)=>(kt((()=>e(...o(t,n)))),Nt),Vt=()=>F(ce,(e=>F(e,F))),gt=()=>C(ce),bt=e=>C(J(ce,n(e))),vt=(e,t,s,l=0,a)=>{return o(u((c=J(ce,n(e)),i=(e,s)=>[V(t)?s:J(e,n(t)),s],r=([e],[t])=>(e<t?-1:1)*(s?-1:1),o([...c?.entries()??[]],(([e,t])=>i(t,e))).sort(r)),l,V(a)?a:l+a),(([,e])=>e));var r,c,i},St=(e,t)=>C(J(J(ce,n(e)),n(t))),wt=(e,t,s)=>J(J(J(ce,n(e)),n(t)),n(s)),yt=()=>F(ue),It=()=>C(ue),Rt=e=>J(ue,n(e)),pt=e=>Tt((()=>(e=>Y(e,Ee,nt))(e)?xe(e):0)),Ct=e=>Tt((()=>Oe(e)?Ge(e):0)),Jt=e=>{try{je(f(e))}catch{}return Nt},mt=t=>Tt((()=>{if((e=Y(t,(e=>Y(e,Le))))&&(Ne(t),!w(ce))){const e=Vt();Et(),pt(e)}})),Lt=e=>Tt((()=>{if(t=(e=>Y(e,Le))(e)){const s=yt();Ot(),Ft(),t=!0,Pe(e),Ct(s)}})),Et=()=>Tt((()=>xe({}))),Ft=()=>Tt((()=>Ge({}))),zt=()=>Tt((()=>{Ne({}),e=!1})),Ot=()=>Tt((()=>{Pe({}),t=!1})),kt=(e,t)=>{if(-1==h)return;At();const s=e();return Mt(t),s},At=()=>(h++,Nt),Mt=e=>(h>0&&(h--,0==h&&(s=!w(x),a=!w($),h=1,ut(1),s&&ft(1),it(1),a&&ht(1),h=-1,e?.(F(x,(e=>F(e,(e=>F(e,(e=>[...e]),(([e,t])=>e===t))),H)),H),F(ee,(e=>F(e,F))),F($,(e=>[...e]),(([e,t])=>e===t)),F(te))&&(h=1,I(x,((e,t)=>I(e,((e,s)=>I(e,(([e],l)=>((e,t,s,l,a)=>V(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a))(Nt,t,s,l,e))))))),I($,(([e],t)=>((e,t,s)=>V(s)?e.delValue(t):e.setValue(t,s))(Nt,t,e))),h=-1,s=a=!1),Ce(Re[0],void 0,s,a),ut(0),s&&ft(0),it(0),a&&ht(0),Ce(Re[1],void 0,s,a),h=0,r([T,N,j,x,ee,D,$,te],y))),Nt),Nt={getTables:Vt,getTableIds:gt,getTable:e=>F(J(ce,n(e)),F),getRowIds:bt,getSortedRowIds:vt,getRow:(e,t)=>F(J(J(ce,n(e)),n(t))),getCellIds:St,getCell:wt,getValues:yt,getValueIds:It,getValue:Rt,hasTables:()=>!w(ce),hasTable:e=>S(ce,n(e)),hasRow:(e,t)=>S(J(ce,n(e)),n(t)),hasCell:(e,t,s)=>S(J(J(ce,n(e)),n(t)),n(s)),hasValues:()=>!w(ue),hasValue:e=>S(ue,n(e)),getTablesJson:()=>d(ce),getValuesJson:()=>d(ue),getJson:()=>d([ce,ue]),getTablesSchemaJson:()=>d(se),getValuesSchemaJson:()=>d(ae),getSchemaJson:()=>d([se,ae]),setTables:pt,setTable:(e,t)=>Tt((e=>Ee(t,e)?De(e,t):0),e),setRow:(e,t,s)=>Tt(((e,t)=>Fe(e,t,s)?We(e,Qe(e),t,s):0),e,t),addRow:(e,t)=>kt((()=>{let s;return Fe(e,s,t)&&(e=n(e),We(e,Qe(e),s=Ke(e),t)),s})),setPartialRow:(e,t,s)=>Tt(((e,t)=>{if(Fe(e,t,s,1)){const l=Qe(e);G(s,((s,a)=>qe(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>Tt(((e,t,s)=>g(ze(e,t,s,v(l)?l(wt(e,t,s)):l),(l=>qe(e,Qe(e),t,s,l)))),e,t,s),setValues:Ct,setPartialValues:e=>Tt((()=>Oe(e,1)?G(e,((e,t)=>He(t,e))):0)),setValue:(e,t)=>Tt((e=>g(ke(e,v(t)?t(Rt(e)):t),(t=>He(e,t)))),e),setTablesJson:Jt,setValuesJson:e=>{try{Be(f(e))}catch{}return Nt},setJson:e=>{try{const[t,s]=f(e);je(t),Be(s)}catch{Jt(e)}return Nt},setTablesSchema:mt,setValuesSchema:Lt,setSchema:(e,t)=>Tt((()=>{mt(e),Lt(t)})),delTables:Et,delTable:e=>Tt((e=>S(ce,e)?Ue(e):0),e),delRow:(e,t)=>Tt(((e,t)=>g(J(ce,e),(s=>S(s,t)?Xe(e,s,t):0))),e,t),delCell:(e,t,s,l)=>Tt(((e,t,s)=>g(J(ce,e),(a=>g(J(a,t),(n=>S(n,s)?Ye(e,a,t,n,s,l):0))))),e,t,s),delValues:Ft,delValue:e=>Tt((e=>S(ue,e)?Ze(e):0),e),delTablesSchema:zt,delValuesSchema:Ot,delSchema:()=>Tt((()=>{zt(),Ot()})),transaction:kt,startTransaction:At,finishTransaction:Mt,forEachTable:e=>I(ce,((t,s)=>e(s,(e=>I(t,((t,s)=>e(s,(e=>m(t,e))))))))),forEachRow:(e,t)=>I(J(ce,n(e)),((e,s)=>t(s,(t=>m(e,t))))),forEachCell:(e,t,s)=>m(J(J(ce,n(e)),n(t)),s),forEachValue:e=>m(ue,e),addSortedRowIdsListener:(e,t,s,l,a,n,r)=>{let o=vt(e,t,s,l,a);return pe((()=>{const r=vt(e,t,s,l,a);var u,i,d;i=o,c(u=r)===c(i)&&(d=(e,t)=>i[t]===e,u.every(d))||(o=r,n(Nt,e,t,s,l,a,o))}),Te[r?1:0],[e,t],[gt])},addWillFinishTransactionListener:e=>pe(e,Re[0]),addDidFinishTransactionListener:e=>pe(e,Re[1]),callListener:e=>(me(e),Nt),delListener:e=>(Je(e),Nt),getListenerStats:()=>({}),createStore:_};return G({Tables:[0,ie],TableIds:[0,de],Table:[1,fe,[gt]],RowIds:[1,he,[gt]],Row:[2,Ve,[gt,bt]],CellIds:[2,ge,[gt,bt]],Cell:[3,be,[gt,bt,St],e=>K(wt(...e))],InvalidCell:[3,ve],Values:[0,we],ValueIds:[0,ye],Value:[1,Ie,[It],e=>K(Rt(e[0]))],InvalidValue:[1,Se]},(([e,t,s,l],a)=>{Nt["add"+a+"Listener"]=(...a)=>pe(a[e],t[a[e+1]?1:0],e>0?u(a,0,e):void 0,s,l)})),W(Nt)};export{_ as createStore};
1
+ const e=e=>typeof e,t=e(""),s=e(!0),l=e(0),a=e(e),n=e=>""+e,r=(e,t)=>e.forEach(t),o=(e,t)=>e.map(t),c=e=>e.length,u=(e,t,s)=>e.slice(t,s),i=(e,...t)=>e.push(...t),d=e=>JSON.stringify(e,((e,t)=>{return T(t,Map)?(s=(e,[t,s])=>(e[t]=s,e),l={},[...t].reduce(s,l)):t;var s,l})),f=JSON.parse,h=isFinite,T=(e,t)=>e instanceof t,V=e=>null==e,g=(e,t,s)=>V(e)?s?.():t(e),b=e=>e==t||e==s,v=t=>e(t)==a,S=(e,t)=>e?.has(t)??!1,w=e=>V(e)||0==(e=>e.size)(e),y=e=>e.clear(),I=(e,t)=>e?.forEach(t),R=(e,t)=>e?.delete(t),p=e=>new Map(e),C=e=>[...e?.keys()??[]],J=(e,t)=>e?.get(t),m=(e,t)=>I(e,((e,s)=>t(s,e))),L=(e,t,s)=>V(s)?(R(e,t),e):e?.set(t,s),E=(e,t,s)=>(S(e,t)||L(e,t,s()),J(e,t)),F=(e,t,s)=>{const l={},a=t??(e=>e);return I(e,((e,t)=>g(a(e),(e=>s?.(e)?0:l[t]=e)))),l},z=(e,t)=>{const s=p(),l=t??(e=>e);return I(e,((e,t)=>s.set(t,l(e)))),s},O=e=>z(e,z),k=(e,t,s,l,a=0)=>g((s?E:J)(e,t[a],a>c(t)-2?s:p),(n=>{if(a>c(t)-2)return l?.(n)&&L(e,t[a]),n;const r=k(n,t,s,l,a+1);return w(n)&&L(e,t[a]),r})),A=e=>new Set(Array.isArray(e)||V(e)?e:[e]),M=(e,t)=>e?.add(t),N=/^\d+$/,P=()=>{const e=[];let t=0;return[s=>(s?e.shift():null)??""+t++,t=>{N.test(t)&&c(e)<1e3&&i(e,t)}]},j=Object,x=j.keys,D=j.isFrozen,W=j.freeze,$=e=>T(e,j)&&e.constructor==j,q=(e,t)=>!V(((e,t)=>g(e,(e=>e[t])))(e,t)),B=(e,t)=>delete e[t],G=(e,t)=>o(j.entries(e),(([e,s])=>t(s,e))),H=e=>{return $(e)&&(t=x(e),0==c(t));var t},K=e=>[e,e],Q=()=>[p(),p()],U=t=>{const s=e(t);return b(s)||s==l&&h(t)?s:void 0},X=(e,t,s,l=L)=>{const a=(n=e=>!q(t,e),C(e).filter(n));var n;return r(x(t),(l=>s(e,l,t[l]))),r(a,(t=>l(e,t))),e},Y=(e,t,s)=>V(e)||!$(e)||H(e)||D(e)?(s?.(),!1):(G(e,((s,l)=>{t(s,l)||B(e,l)})),!H(e)),Z=(e,t,s)=>L(e,t,J(e,t)==-s?void 0:s),_=()=>{let e,t,s,a,h=0;const T=p(),N=p(),j=p(),x=p(),D=p(),$=p(),ee=p(),te=p(),se=p(),le=p(),ae=p(),ne=p(),re=A(),oe=p(),ce=p(),ue=p(),ie=Q(),de=Q(),fe=Q(),he=Q(),Te=Q(),Ve=Q(),ge=Q(),be=Q(),ve=Q(),Se=Q(),we=Q(),ye=Q(),Ie=Q(),Re=Q(),[pe,Ce,Je,me]=(e=>{let t;const[s,l]=P(),a=p();return[(e,l,n,r=[],o=(()=>[]))=>{t??=Nt;const c=s(1);return L(a,c,[e,l,n,r,o]),M(k(l,n??[""],A),c),c},(e,s,...l)=>r(((e,t=[""])=>{const s=[],l=(e,a)=>a==c(t)?i(s,e):null===t[a]?I(e,(e=>l(e,a+1))):r([t[a],null],(t=>l(J(e,t),a+1)));return l(e,0),s})(e,s),(e=>I(e,(e=>J(a,e)[0](t,...s??[],...l))))),e=>g(J(a,e),(([,t,s])=>(k(t,s??[""],void 0,(t=>(R(t,e),w(t)?1:0))),L(a,e),l(e),s))),e=>g(J(a,e),(([e,,s=[],l,a])=>{const n=(...o)=>{const u=c(o);u==c(s)?e(t,...o,...a(o)):V(s[u])?r(l[u]?.(...o)??[],(e=>n(...o,e))):n(...o,s[u])};n()}))]})(),Le=e=>{if(!Y(e,((e,t)=>["type","default"].includes(t))))return!1;const t=e.type;return!(!b(t)&&t!=l||(U(e.default)!=t&&B(e,"default"),0))},Ee=(t,s)=>(!e||S(se,s)||nt(s))&&Y(t,((e,t)=>Fe(s,t,e)),(()=>nt(s))),Fe=(e,t,s,l)=>Y(l?s:Ae(s,e,t),((l,a)=>g(ze(e,t,a,l),(e=>(s[a]=e,!0)),(()=>!1))),(()=>nt(e,t))),ze=(t,s,l,a)=>e?g(J(J(se,t),l),(e=>U(a)!=e.type?nt(t,s,l,a,e.default):a),(()=>nt(t,s,l,a))):V(U(a))?nt(t,s,l,a):a,Oe=(e,t)=>Y(t?e:Me(e),((t,s)=>g(ke(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>rt())),ke=(e,s)=>t?g(J(ae,e),(t=>U(s)!=t.type?rt(e,s,t.default):s),(()=>rt(e,s))):V(U(s))?rt(e,s):s,Ae=(e,t,s)=>(g(J(le,t),(([l,a])=>{I(l,((t,s)=>{q(e,s)||(e[s]=t)})),I(a,(l=>{q(e,l)||nt(t,s,l)}))})),e),Me=e=>(t&&(I(ne,((t,s)=>{q(e,s)||(e[s]=t)})),I(re,(t=>{q(e,t)||rt(t)}))),e),Ne=e=>X(se,e,((e,t,s)=>{const l=p(),a=A();X(E(se,t,p),s,((e,t,s)=>{L(e,t,s),g(s.default,(e=>L(l,t,e)),(()=>M(a,t)))})),L(le,t,[l,a])}),((e,t)=>{L(se,t),L(le,t)})),Pe=e=>X(ae,e,((e,t,s)=>{L(ae,t,s),g(s.default,(e=>L(ne,t,e)),(()=>M(re,t)))}),((e,t)=>{L(ae,t),L(ne,t),R(re,t)})),je=e=>H(e)?Et():pt(e),xe=e=>X(ce,e,((e,t,s)=>De(t,s)),((e,t)=>Ue(t))),De=(e,t)=>X(E(ce,e,(()=>(_e(e,1),p()))),t,((t,s,l)=>We(e,t,s,l)),((t,s)=>Xe(e,t,s))),We=(e,t,s,l,a)=>X(E(t,s,(()=>(et(e,s,1),p()))),l,((t,l,a)=>$e(e,s,t,l,a)),((l,n)=>Ye(e,t,s,l,n,a))),$e=(e,t,s,l,a)=>{S(s,l)||tt(e,t,l,1);const n=J(s,l);a!==n&&(st(e,t,l,n,a),L(s,l,a))},qe=(e,t,s,l,a)=>g(J(t,s),(t=>$e(e,s,t,l,a)),(()=>We(e,t,s,Ae({[l]:a},e,s)))),Be=e=>H(e)?Ft():Ct(e),Ge=e=>X(ue,e,((e,t,s)=>He(t,s)),((e,t)=>Ze(t))),He=(e,t)=>{S(ue,e)||lt(e,1);const s=J(ue,e);t!==s&&(at(e,s,t),L(ue,e,t))},Ke=(e,t)=>{const[s]=E(oe,e,P),l=s(t);return S(J(ce,e),l)?Ke(e,t):l},Qe=e=>J(ce,e)??De(e,{}),Ue=e=>De(e,{}),Xe=(e,t,s)=>{const[,l]=E(oe,e,P);l(s),We(e,t,s,{},!0)},Ye=(e,t,s,l,a,n)=>{const r=J(J(le,e)?.[0],a);if(!V(r)&&!n)return $e(e,s,l,a,r);const o=t=>{st(e,s,t,J(l,t)),tt(e,s,t,-1),L(l,t)};V(r)?o(a):m(l,o),w(l)&&(et(e,s,-1),w(L(t,s))&&(_e(e,-1),L(ce,e),L(oe,e)))},Ze=e=>{const t=J(ne,e);if(!V(t))return He(e,t);at(e,J(ue,e)),lt(e,-1),L(ue,e)},_e=(e,t)=>Z(T,e,t),et=(e,t,s)=>Z(E(N,e,p),t,s),tt=(e,t,s,l)=>Z(E(E(j,e,p),t,p),s,l),st=(e,t,s,l,a)=>E(E(E(x,e,p),t,p),s,(()=>[l,0]))[1]=a,lt=(e,t)=>Z(D,e,t),at=(e,t,s)=>E($,e,(()=>[t,0]))[1]=s,nt=(e,t,s,l,a)=>(i(E(E(E(ee,e,p),t,p),s,(()=>[])),l),a),rt=(e,t,s)=>(i(E(te,e,(()=>[])),t),s),ot=(e,t,s)=>g(J(J(J(x,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...K(wt(e,t,s))])),ct=e=>g(J($,e),(([e,t])=>[!0,e,t]),(()=>[!1,...K(Rt(e))])),ut=e=>w(ee)||w(ve[e])?0:I(e?z(ee,O):ee,((t,s)=>I(t,((t,l)=>I(t,((t,a)=>Ce(ve[e],[s,l,a],t))))))),it=e=>w(te)||w(Se[e])?0:I(e?z(te):te,((t,s)=>Ce(Se[e],[s],t))),dt=(e,t,s)=>{if(!w(t))return Ce(e,s),1},ft=e=>{const t=w(Te[e]),s=w(ge[e])&&w(he[e])&&t&&w(de[e]),l=w(be[e])&&w(Ve[e])&&w(fe[e])&&w(ie[e]);if(!s||!l){const a=e?[z(T),O(N),z(j,O),z(x,O)]:[T,N,j,x];if(!s){I(a[2],((t,s)=>I(t,((t,l)=>dt(ge[e],t,[s,l])))));const s=A();I(a[1],((l,a)=>{dt(he[e],l,[a])&&!t&&(Ce(Te[e],[a,null]),M(s,a))})),t||I(a[3],((t,l)=>{if(!S(s,l)){const s=A();I(t,(e=>I(e,(([t,l],a)=>l!==t?M(s,a):R(e,a))))),I(s,(t=>Ce(Te[e],[l,t])))}})),dt(de[e],a[0])}if(!l){let t;I(a[3],((s,l)=>{let a;I(s,((s,n)=>{let r;I(s,(([s,o],c)=>{o!==s&&(Ce(be[e],[l,n,c],o,s,ot),t=a=r=1)})),r&&Ce(Ve[e],[l,n],ot)})),a&&Ce(fe[e],[l],ot)})),t&&Ce(ie[e],void 0,ot)}}},ht=e=>{const t=w(ye[e]),s=w(Ie[e])&&w(we[e]);if(!t||!s){const l=e?[z(D),z($)]:[D,$];if(t||dt(ye[e],l[0]),!s){let t;I(l[1],(([s,l],a)=>{l!==s&&(Ce(Ie[e],[a],l,s,ct),t=1)})),t&&Ce(we[e],void 0,ct)}}},Tt=(e,...t)=>(kt((()=>e(...o(t,n)))),Nt),Vt=()=>F(ce,(e=>F(e,F))),gt=()=>C(ce),bt=e=>C(J(ce,n(e))),vt=(e,t,s,l=0,a)=>{return o(u((c=J(ce,n(e)),i=(e,s)=>[V(t)?s:J(e,n(t)),s],r=([e],[t])=>(e<t?-1:1)*(s?-1:1),o([...c?.entries()??[]],(([e,t])=>i(t,e))).sort(r)),l,V(a)?a:l+a),(([,e])=>e));var r,c,i},St=(e,t)=>C(J(J(ce,n(e)),n(t))),wt=(e,t,s)=>J(J(J(ce,n(e)),n(t)),n(s)),yt=()=>F(ue),It=()=>C(ue),Rt=e=>J(ue,n(e)),pt=e=>Tt((()=>(e=>Y(e,Ee,nt))(e)?xe(e):0)),Ct=e=>Tt((()=>Oe(e)?Ge(e):0)),Jt=e=>{try{je(f(e))}catch{}return Nt},mt=t=>Tt((()=>{if((e=Y(t,(e=>Y(e,Le))))&&(Ne(t),!w(ce))){const e=Vt();Et(),pt(e)}})),Lt=e=>Tt((()=>{if(t=(e=>Y(e,Le))(e)){const s=yt();Ot(),Ft(),t=!0,Pe(e),Ct(s)}})),Et=()=>Tt((()=>xe({}))),Ft=()=>Tt((()=>Ge({}))),zt=()=>Tt((()=>{Ne({}),e=!1})),Ot=()=>Tt((()=>{Pe({}),t=!1})),kt=(e,t)=>{if(-1==h)return;At();const s=e();return Mt(t),s},At=()=>(h++,Nt),Mt=e=>(h>0&&(h--,0==h&&(s=!w(x),a=!w($),h=1,ut(1),s&&ft(1),it(1),a&&ht(1),h=-1,e?.(F(x,(e=>F(e,(e=>F(e,(e=>[...e]),(([e,t])=>e===t))),H)),H),F(ee,(e=>F(e,F))),F($,(e=>[...e]),(([e,t])=>e===t)),F(te))&&(h=1,I(x,((e,t)=>I(e,((e,s)=>I(e,(([e],l)=>((e,t,s,l,a)=>V(a)?e.delCell(t,s,l,!0):e.setCell(t,s,l,a))(Nt,t,s,l,e))))))),I($,(([e],t)=>((e,t,s)=>V(s)?e.delValue(t):e.setValue(t,s))(Nt,t,e))),h=-1,s=a=!1),Ce(Re[0],void 0,s,a),ut(0),s&&ft(0),it(0),a&&ht(0),Ce(Re[1],void 0,s,a),h=0,r([T,N,j,x,ee,D,$,te],y))),Nt),Nt={getTables:Vt,getTableIds:gt,getTable:e=>F(J(ce,n(e)),F),getRowIds:bt,getSortedRowIds:vt,getRow:(e,t)=>F(J(J(ce,n(e)),n(t))),getCellIds:St,getCell:wt,getValues:yt,getValueIds:It,getValue:Rt,hasTables:()=>!w(ce),hasTable:e=>S(ce,n(e)),hasRow:(e,t)=>S(J(ce,n(e)),n(t)),hasCell:(e,t,s)=>S(J(J(ce,n(e)),n(t)),n(s)),hasValues:()=>!w(ue),hasValue:e=>S(ue,n(e)),getTablesJson:()=>d(ce),getValuesJson:()=>d(ue),getJson:()=>d([ce,ue]),getTablesSchemaJson:()=>d(se),getValuesSchemaJson:()=>d(ae),getSchemaJson:()=>d([se,ae]),setTables:pt,setTable:(e,t)=>Tt((e=>Ee(t,e)?De(e,t):0),e),setRow:(e,t,s)=>Tt(((e,t)=>Fe(e,t,s)?We(e,Qe(e),t,s):0),e,t),addRow:(e,t,s=!0)=>kt((()=>{let l;return Fe(e,l,t)&&(e=n(e),We(e,Qe(e),l=Ke(e,s?1:0),t)),l})),setPartialRow:(e,t,s)=>Tt(((e,t)=>{if(Fe(e,t,s,1)){const l=Qe(e);G(s,((s,a)=>qe(e,l,t,a,s)))}}),e,t),setCell:(e,t,s,l)=>Tt(((e,t,s)=>g(ze(e,t,s,v(l)?l(wt(e,t,s)):l),(l=>qe(e,Qe(e),t,s,l)))),e,t,s),setValues:Ct,setPartialValues:e=>Tt((()=>Oe(e,1)?G(e,((e,t)=>He(t,e))):0)),setValue:(e,t)=>Tt((e=>g(ke(e,v(t)?t(Rt(e)):t),(t=>He(e,t)))),e),setTablesJson:Jt,setValuesJson:e=>{try{Be(f(e))}catch{}return Nt},setJson:e=>{try{const[t,s]=f(e);je(t),Be(s)}catch{Jt(e)}return Nt},setTablesSchema:mt,setValuesSchema:Lt,setSchema:(e,t)=>Tt((()=>{mt(e),Lt(t)})),delTables:Et,delTable:e=>Tt((e=>S(ce,e)?Ue(e):0),e),delRow:(e,t)=>Tt(((e,t)=>g(J(ce,e),(s=>S(s,t)?Xe(e,s,t):0))),e,t),delCell:(e,t,s,l)=>Tt(((e,t,s)=>g(J(ce,e),(a=>g(J(a,t),(n=>S(n,s)?Ye(e,a,t,n,s,l):0))))),e,t,s),delValues:Ft,delValue:e=>Tt((e=>S(ue,e)?Ze(e):0),e),delTablesSchema:zt,delValuesSchema:Ot,delSchema:()=>Tt((()=>{zt(),Ot()})),transaction:kt,startTransaction:At,finishTransaction:Mt,forEachTable:e=>I(ce,((t,s)=>e(s,(e=>I(t,((t,s)=>e(s,(e=>m(t,e))))))))),forEachRow:(e,t)=>I(J(ce,n(e)),((e,s)=>t(s,(t=>m(e,t))))),forEachCell:(e,t,s)=>m(J(J(ce,n(e)),n(t)),s),forEachValue:e=>m(ue,e),addSortedRowIdsListener:(e,t,s,l,a,n,r)=>{let o=vt(e,t,s,l,a);return pe((()=>{const r=vt(e,t,s,l,a);var u,i,d;i=o,c(u=r)===c(i)&&(d=(e,t)=>i[t]===e,u.every(d))||(o=r,n(Nt,e,t,s,l,a,o))}),Te[r?1:0],[e,t],[gt])},addWillFinishTransactionListener:e=>pe(e,Re[0]),addDidFinishTransactionListener:e=>pe(e,Re[1]),callListener:e=>(me(e),Nt),delListener:e=>(Je(e),Nt),getListenerStats:()=>({}),createStore:_};return G({Tables:[0,ie],TableIds:[0,de],Table:[1,fe,[gt]],RowIds:[1,he,[gt]],Row:[2,Ve,[gt,bt]],CellIds:[2,ge,[gt,bt]],Cell:[3,be,[gt,bt,St],e=>K(wt(...e))],InvalidCell:[3,ve],Values:[0,we],ValueIds:[0,ye],Value:[1,Ie,[It],e=>K(Rt(e[0]))],InvalidValue:[1,Se]},(([e,t,s,l],a)=>{Nt["add"+a+"Listener"]=(...a)=>pe(a[e],t[a[e+1]?1:0],e>0?u(a,0,e):void 0,s,l)})),W(Nt)};export{_ as createStore};
package/lib/store.js.gz CHANGED
Binary file
package/lib/tinybase.js CHANGED
@@ -1 +1 @@
1
- import{promises as e,watch as t}from"fs";const s=e=>typeof e,n=s(""),o=s(!0),a=s(0),r=s(s),l=e=>""+e,i=(e,t)=>e.includes(t),d=(e,t)=>e.every(t),c=(e,t)=>w(e)===w(t)&&d(e,((e,s)=>t[s]===e)),u=(e,t)=>d(e,((s,n)=>0==n||t(e[n-1],s)<=0)),h=(e,t)=>e.sort(t),f=(e,t)=>e.forEach(t),g=(e,t)=>e.map(t),L=e=>I(e,((e,t)=>e+t),0),w=e=>e.length,v=e=>0==w(e),I=(e,t,s)=>e.reduce(t,s),R=(e,t,s)=>e.slice(t,s),S=(e,...t)=>e.push(...t),T=e=>e.pop(),y=e=>e.shift(),p=e=>JSON.stringify(e,((e,t)=>E(t,Map)?I([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),b=JSON.parse,C=Math.max,m=Math.min,V=isFinite,E=(e,t)=>e instanceof t,k=e=>null==e,J=(e,t,s)=>k(e)?s?.():t(e),A=e=>e==n||e==o,M=e=>s(e)==r,D=e=>Array.isArray(e),x=()=>{},F=e=>e.size,Q=(e,t)=>e?.has(t)??!1,z=e=>k(e)||0==F(e),N=e=>[...e?.values()??[]],O=e=>e.clear(),j=(e,t)=>e?.forEach(t),P=(e,t)=>e?.delete(t),W=e=>new Map(e),B=e=>[...e?.keys()??[]],H=(e,t)=>e?.get(t),$=(e,t)=>j(e,((e,s)=>t(s,e))),q=(e,t,s)=>k(s)?(P(e,t),e):e?.set(t,s),G=(e,t,s)=>(Q(e,t)||q(e,t,s()),H(e,t)),K=(e,t,s)=>{const n={},o=t??(e=>e);return j(e,((e,t)=>J(o(e),(e=>s?.(e)?0:n[t]=e)))),n},U=(e,t)=>{const s=W(),n=t??(e=>e);return j(e,((e,t)=>s.set(t,n(e)))),s},X=e=>U(e,U),Y=(e,t,s,n,o=0)=>J((s?G:H)(e,t[o],o>w(t)-2?s:W),(a=>{if(o>w(t)-2)return n?.(a)&&q(e,t[o]),a;const r=Y(a,t,s,n,o+1);return z(a)&&q(e,t[o]),r})),Z=e=>{const t=s(e);return A(t)||t==a&&V(e)?t:void 0},_=(e,t,s,n,o)=>k(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),ee=(e,t,s)=>k(s)?e.delValue(t):e.setValue(t,s),te=e=>new Set(D(e)||k(e)?e:[e]),se=(e,t)=>e?.add(t),ne=(e,t,s)=>{const n=e.hasRow,o=W(),a=W(),r=W(),l=W(),i=W(),d=(t,s,...n)=>{const o=G(i,t,te);return f(n,(t=>se(o,t)&&s&&e.callListener(t))),n},u=(t,...s)=>J(H(i,t),(n=>{f(v(s)?N(n):s,(t=>{e.delListener(t),P(n,t)})),z(n)&&q(i,t)})),h=(e,s)=>{q(o,e,s),Q(a,e)||(q(a,e,t()),q(r,e,W()),q(l,e,W()))},g=e=>{q(o,e),q(a,e),q(r,e),q(l,e),u(e)};return[()=>e,()=>B(o),e=>$(a,e),e=>Q(a,e),e=>H(o,e),e=>H(a,e),(e,t)=>q(a,e,t),h,(t,o,a,i,g)=>{h(t,o);const L=W(),w=W(),v=H(r,t),I=H(l,t),R=t=>{const a=s=>e.getCell(o,t,s),r=H(v,t),l=n(o,t)?s(i(a,t)):void 0;if(r===l||D(r)&&D(l)&&c(r,l)||q(L,t,[r,l]),!k(g)){const e=H(I,t),s=n(o,t)?g(a,t):void 0;e!=s&&q(w,t,s)}},S=e=>{a((()=>{j(L,(([,e],t)=>q(v,t,e))),j(w,((e,t)=>q(I,t,e)))}),L,w,v,I,e),O(L),O(w)};$(v,R),e.hasTable(o)&&f(e.getRowIds(o),(e=>{Q(v,e)||R(e)})),S(!0),u(t),d(t,0,e.addRowListener(o,null,((e,t,s)=>R(s))),e.addTableListener(o,(()=>S())))},g,()=>$(i,g),d,u]},oe=(e,t)=>s(e)==n?t=>t(e):e??(()=>t??""),ae=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},re=/^\d+$/,le=()=>{const e=[];let t=0;return[()=>y(e)??""+t++,t=>{re.test(t)&&w(e)<1e3&&S(e,t)}]},ie=e=>{let t;const[s,n]=le(),o=W();return[(n,a,r,l=[],i=(()=>[]))=>{t??=e();const d=s();return q(o,d,[n,a,r,l,i]),se(Y(a,r??[""],te),d),d},(e,s,...n)=>f(((e,t=[""])=>{const s=[],n=(e,o)=>o==w(t)?S(s,e):null===t[o]?j(e,(e=>n(e,o+1))):f([t[o],null],(t=>n(H(e,t),o+1)));return n(e,0),s})(e,s),(e=>j(e,(e=>H(o,e)[0](t,...s??[],...n))))),e=>J(H(o,e),(([,t,s])=>(Y(t,s??[""],void 0,(t=>(P(t,e),z(t)?1:0))),q(o,e),n(e),s))),e=>J(H(o,e),(([e,,s=[],n,o])=>{const a=(...r)=>{const l=w(r);l==w(s)?e(t,...r,...o(r)):k(s[l])?f(n[l]?.(...r)??[],(e=>a(...r,e))):a(...r,s[l])};a()}))]},de=Object,ce=de.keys,ue=de.isFrozen,he=de.freeze,fe=e=>E(e,de)&&e.constructor==de,ge=(e,t)=>!k(((e,t)=>J(e,(e=>e[t])))(e,t)),Le=(e,t)=>delete e[t],we=(e,t)=>g(de.entries(e),(([e,s])=>t(s,e))),ve=e=>fe(e)&&v(ce(e)),Ie=ae((e=>{let t,s,n,o=100,a=W(),r=W(),l=1;const d=W(),c=W(),[u,h,g]=ie((()=>U)),L=W(),I=W(),R=[],p=[],b=(t,s)=>{l=0,e.transaction((()=>{const[n,o]=H(L,s);j(n,((s,n)=>j(s,((s,o)=>j(s,((s,a)=>_(e,n,o,a,s[t]))))))),j(o,((s,n)=>ee(e,n,s[t])))})),l=1},C=e=>{q(L,e),q(I,e),h(c,[e])},m=(e,t)=>f(((e,t)=>e.splice(0,t))(e,t??w(e)),C),V=()=>m(R,w(R)-o),E=()=>J(t,(()=>{S(R,t),V(),m(p),t=void 0,n=1})),A=()=>{t=T(R),n=1},M=e.addCellListener(null,null,null,((e,t,s,n,o,r)=>{if(l){E();const e=G(a,t,W),l=G(e,s,W),i=G(l,n,(()=>[r,void 0]));i[1]=o,i[0]===o&&z(q(l,n))&&z(q(e,s))&&z(q(a,t))&&A(),O()}})),D=e.addValueListener(null,((e,t,s,n)=>{if(l){E();const e=G(r,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&z(q(r,t))&&A(),O()}})),x=(e="")=>(k(t)&&(t=""+s++,q(L,t,[a,r]),B(t,e),a=W(),r=W(),n=1),t),F=()=>{v(R)||(((e,...t)=>{e.unshift(...t)})(p,x()),b(0,t),t=T(R),n=1)},N=()=>{v(p)||(S(R,t),t=y(p),b(1,t),n=1)},O=()=>{n&&(h(d),n=0)},P=e=>{const t=x(e);return O(),t},B=(e,t)=>(K(e)&&H(I,e)!==t&&(q(I,e,t),h(c,[e])),U),K=e=>Q(L,e),U={setSize:e=>(o=e,V(),U),addCheckpoint:P,setCheckpoint:B,getStore:()=>e,getCheckpointIds:()=>[[...R],t,[...p]],forEachCheckpoint:e=>$(I,e),hasCheckpoint:K,getCheckpoint:e=>H(I,e),goBackward:()=>(F(),O(),U),goForward:()=>(N(),O(),U),goTo:e=>{const s=i(R,e)?F:i(p,e)?N:null;for(;!k(s)&&e!=t;)s();return O(),U},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(g(e),U),clear:()=>(m(R),m(p),k(t)||C(t),t=void 0,s=0,P(),U),destroy:()=>{e.delListener(M),e.delListener(D)},getListenerStats:()=>({})};return he(U.clear())})),Re=(e,t)=>e<t?-1:1,Se=ae((e=>{const t=W(),s=W(),[n,o,a,r,i,d,c,,f,L,w]=ne(e,W,(e=>k(e)?"":D(e)?g(e,l):l(e))),[v,I,R]=ie((()=>T)),S=(t,s,n)=>{const o=i(t);j(n,((t,n)=>s(n,(s=>j(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},T={setIndexDefinition:(e,n,o,a,r,l=Re)=>{const i=k(r)?void 0:([e],[t])=>r(e,t);return f(e,n,((n,o,r,f,g,L)=>{let w=0;const v=te(),R=te(),S=d(e);if(j(o,(([e,t],s)=>{const n=te(e),o=te(t);j(n,(e=>P(o,e)?P(n,e):0)),j(n,(e=>{se(v,e),J(H(S,e),(t=>{P(t,s),z(t)&&(q(S,e),w=1)}))})),j(o,(e=>{se(v,e),Q(S,e)||(q(S,e,te()),w=1),se(H(S,e),s),k(a)||se(R,e)}))})),n(),z(g)||(L?$(S,(e=>se(R,e))):$(r,(e=>J(H(f,e),(e=>se(R,e))))),j(R,(e=>{const t=(t,s)=>l(H(g,t),H(g,s),e),s=[...H(S,e)];u(s,t)||(q(S,e,te(h(s,t))),se(v,e))}))),(w||L)&&!k(i)){const t=[...S];u(t,i)||(c(e,W(h(t,i))),w=1)}w&&I(t,[e]),j(v,(t=>I(s,[e,t])))}),oe(o),J(a,oe)),T},delIndexDefinition:e=>(L(e),T),getStore:n,getIndexIds:o,forEachIndex:e=>a(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,d(e)),hasIndex:r,hasSlice:(e,t)=>Q(d(e),t),getTableId:i,getSliceIds:e=>B(d(e)),getSliceRowIds:(e,t)=>N(H(d(e),t)),addSliceIdsListener:(e,s)=>v(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>v(n,s,[e,t]),delListener:e=>(R(e),T),destroy:w,getListenerStats:()=>({})};return he(T)})),Te=W([["avg",[(e,t)=>L(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>C(...e),(e,t)=>C(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:C(t,e)]],["min",[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)]],["sum",[e=>L(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),ye=(e,t,s,n,o,a=!1)=>{if(z(s))return;const[r,l,i,d]=o;return a||=k(e),j(n,(([s,n])=>{a||(e=k(s)?l?.(e,n,t++):k(n)?i?.(e,s,t--):d?.(e,n,s,t),a||=k(e))})),a?r(N(s),F(s)):e},pe=ae((e=>{const t=W(),[s,n,o,a,r,l,i,,d,c,u]=ne(e,x,(e=>isNaN(e)||k(e)||!0===e||!1===e||""===e?void 0:1*e)),[h,f,g]=ie((()=>L)),L={setMetricDefinition:(e,s,n,o,a,r,c)=>{const u=M(n)?[n,a,r,c]:H(Te,n)??H(Te,"sum");return d(e,s,((s,n,o,a,r,d)=>{const c=l(e),h=F(a);d||=k(c),s();let g=ye(c,h,a,n,u,d);V(g)||(g=void 0),g!=c&&(i(e,g),f(t,[e],g,c))}),oe(o,1)),L},delMetricDefinition:e=>(c(e),L),getStore:s,getMetricIds:n,forEachMetric:o,hasMetric:a,getTableId:r,getMetric:l,addMetricListener:(e,s)=>h(s,t,[e]),delListener:e=>(g(e),L),destroy:u,getListenerStats:()=>({})};return he(L)})),be=(e,t,s,n,o)=>{let a,r,l=0;const i={load:async(s,n)=>{if(2!=l){l=1;const o=await t();k(o)||""==o?e.transaction((()=>e.setTables(s).setValues(n))):e.setJson(o),l=0}return i},startAutoLoad:async(e,t)=>(i.stopAutoLoad(),await i.load(e,t),n(i.load),i),stopAutoLoad:()=>(o(),i),save:async()=>(1!=l&&(l=2,await s(e.getJson()),l=0),i),startAutoSave:async()=>(await i.stopAutoSave().save(),a=e.addTablesListener(i.save),r=e.addValuesListener(i.save),i),stopAutoSave:()=>(J(a,e.delListener),J(r,e.delListener),i),getStore:()=>e,destroy:()=>i.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return he(i)},Ce=globalThis.window,me=(e,t,s)=>{let n;return be(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},Ce.addEventListener("storage",n)}),(()=>{Ce.removeEventListener("storage",n),n=void 0}))},Ve=(e,t)=>me(e,t,localStorage),Ee=(e,t)=>me(e,t,sessionStorage),ke=(s,n)=>{let o;return be(s,(async()=>{try{return await e.readFile(n,"utf8")}catch{}}),(async t=>{try{await e.writeFile(n,t,"utf8")}catch{}}),(e=>{o=t(n,e)}),(()=>{o?.close(),o=void 0}))},Je=e=>e.headers.get("ETag"),Ae=(e,t,s,n)=>{let o,a;return be(e,(async()=>{const e=await fetch(t);return a=Je(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{o=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),n=Je(s);k(a)||k(n)||n==a||(a=n,e())}),1e3*n)}),(()=>{J(o,clearInterval),o=void 0}))},Me=ae((e=>{const t=e.createStore,[s,n,o,a,r,,,l,,i,c,u,h]=ne(e,(()=>!0),x),g=t(),L=t(),I=W(),T=(e,t,...s)=>f(s,(s=>se(G(G(I,t,W),e,te),s))),y=e=>{J(H(I,e),(e=>{$(e,((e,t)=>j(t,(t=>e.delListener(t))))),O(e)})),f([L,g],(t=>t.delTable(e)))},p=(e,t,s)=>T(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),b={setQueryDefinition:(t,s,n)=>{l(t,s),y(t);const o=[],a=[[null,[s,null,null,[],W()]]],r=[],i=[],c=[];n({select:(e,t)=>{const s=M(e)?[w(o)+"",e]:[k(t)?e:t,s=>s(e,t)];return S(o,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=k(s)||M(t)?null:t,o=k(n)?t:s,r=[e,[e,n,M(o)?o:e=>e(o),[],W()]];return S(a,r),{as:e=>r[0]=e}},where:(e,t,s)=>S(r,M(e)?e:k(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const a=[e,[e,M(t)?[t,s,n,o]:H(Te,t)??[(e,t)=>t]]];return S(i,a),{as:e=>a[0]=e}},having:(e,t)=>S(c,M(e)?e:s=>s(e)===t)});const I=W(o);if(z(I))return b;const R=W(a);$(R,((e,[,t])=>J(H(R,t),(({3:t})=>k(e)?0:S(t,e)))));const C=W(i);let m=g;if(z(C)&&v(c))m=L;else{p(t,m,L);const e=W();$(C,((t,[s,n])=>se(G(e,s,te),[t,n])));const s=te();$(I,(t=>Q(e,t)?0:se(s,t)));const n=W(),o=(s,n,o,a)=>J(s,(([r,l,i,u])=>{$(n,((t,[s])=>{const n=G(r,t,W),l=H(n,o),i=a?void 0:s;if(l!==i){const s=te([[l,i]]),a=F(n);q(n,o,i),j(H(e,t),(([e,t])=>{const o=ye(u[e],a,n,s,t);u[e]=k(Z(o))?null:o}))}})),z(l)||!d(c,(e=>e((e=>u[e]))))?L.delRow(t,i):k(i)?s[2]=L.addRow(t,u):L.setRow(t,i,u)}));T(m,t,m.addRowListener(t,null,((a,r,l,i)=>{const d=[],c=[],u=W(),h=m.hasRow(t,l);let f=!h;j(s,(e=>{const[s,n,o]=i(t,l,e);S(d,n),S(c,o),f||=s})),$(e,(e=>{const[s,,n]=i(t,l,e);(f||s)&&q(u,e,[n])})),f&&o(Y(n,d,void 0,(([,e])=>(P(e,l),z(e)))),u,l,1),h&&o(Y(n,c,(()=>{const e={};return j(s,(s=>e[s]=m.getCell(t,l,s))),[W(),te(),void 0,e]}),(([,e])=>{se(e,l)})),u,l)})))}p(t,e,m);const V=(n,o,a,l)=>{const i=t=>e.getCell(o,a,t);f(l,(s=>{const[o,,a,r,l]=H(R,s),d=a?.(i,n),[c,f]=H(l,n)??[];d!=c&&(k(f)||h(t,f),q(l,n,k(d)?null:[d,...u(t,1,e.addRowListener(o,d,(()=>V(n,o,d,r))))]))})),(n=>{const o=(t,o)=>e.getCell(...k(o)?[s,n,t]:t===s?[s,n,o]:[H(R,t)?.[0],H(H(R,t)?.[4],n)?.[0],o]);m.transaction((()=>d(r,(e=>e(o)))?$(I,((e,s)=>_(m,t,n,e,s(o,n)))):m.delRow(t,n)))})(n)},{3:E}=H(R,null);return m.transaction((()=>u(t,1,e.addRowListener(s,null,((n,o,a)=>{e.hasRow(s,a)?V(a,s,a,E):(m.delRow(t,a),j(R,(({4:e})=>J(H(e,a),(([,s])=>{h(t,s),q(e,a)})))))}))))),b},delQueryDefinition:e=>(y(e),i(e),b),getStore:s,getQueryIds:n,forEachQuery:o,hasQuery:a,getTableId:r,delListener:e=>(L.delListener(e),b),destroy:c,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=L.getListenerStats();return n}};return we({Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},(([e,t],s)=>{f(e?["get","has","forEach"]:["get"],(e=>b[e+"Result"+s]=(...t)=>L[e+s](...t))),b["addResult"+s+"Listener"]=(...e)=>L["add"+s+"Listener"](...R(e,0,t),((s,...n)=>e[t](b,...n)))})),he(b)})),De=ae((e=>{const t=W(),s=W(),n=W(),o=W(),[a,r,l,i,d,c,,,u,h,f]=ne(e,(()=>[W(),W(),W(),W()]),(e=>k(e)?void 0:e+"")),[g,L,w]=ie((()=>S)),v=(e,t,s)=>J(c(e),(([n,,o])=>{if(!Q(o,t)){const a=te();if(d(e)!=R(e))se(a,t);else{let e=t;for(;!k(e)&&!Q(a,e);)se(a,e),e=H(n,e)}if(s)return a;q(o,t,a)}return H(o,t)})),I=(e,t)=>J(c(e),(([,,e])=>q(e,t))),R=e=>H(t,e),S={setRelationshipDefinition:(e,a,r,l)=>(q(t,e,r),u(e,a,((t,a)=>{const r=te(),l=te(),i=te(),[d,u]=c(e);j(a,(([t,s],n)=>{k(t)||(se(l,t),J(H(u,t),(e=>{P(e,n),z(e)&&q(u,t)}))),k(s)||(se(l,s),Q(u,s)||q(u,s,te()),se(H(u,s),n)),se(r,n),q(d,n,s),$(H(o,e),(t=>{Q(v(e,t),n)&&se(i,t)}))})),t(),j(r,(t=>L(s,[e,t]))),j(l,(t=>L(n,[e,t]))),j(i,(t=>{I(e,t),L(o,[e,t])}))}),oe(l)),S),delRelationshipDefinition:e=>(q(t,e),h(e),S),getStore:a,getRelationshipIds:r,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:i,getLocalTableId:d,getRemoteTableId:R,getRemoteRowId:(e,t)=>H(c(e)?.[0],t),getLocalRowIds:(e,t)=>N(H(c(e)?.[1],t)),getLinkedRowIds:(e,t)=>k(c(e))?[t]:N(v(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>g(n,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>g(s,n,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(v(e,t),g(s,o,[e,t])),delListener:e=>(I(...w(e)),S),destroy:f,getListenerStats:()=>({})};return he(S)})),xe=e=>[e,e],Fe=()=>[W(),W()],Qe=(e,t,s,n=q)=>{const o=(a=e=>!ge(t,e),B(e).filter(a));var a;return f(ce(t),(n=>s(e,n,t[n]))),f(o,(t=>n(e,t))),e},ze=(e,t,s)=>k(e)||!fe(e)||ve(e)||ue(e)?(s?.(),!1):(we(e,((s,n)=>{t(s,n)||Le(e,n)})),!ve(e)),Ne=(e,t,s)=>q(e,t,H(e,t)==-s?void 0:s),Oe=()=>{let e,t,s,n,o=0;const r=W(),d=W(),u=W(),L=W(),w=W(),v=W(),I=W(),T=W(),y=W(),C=W(),m=W(),V=W(),E=te(),D=W(),x=W(),F=W(),N=Fe(),Y=Fe(),ne=Fe(),oe=Fe(),ae=Fe(),re=Fe(),de=Fe(),ce=Fe(),ue=Fe(),fe=Fe(),Ie=Fe(),Se=Fe(),Te=Fe(),ye=Fe(),[pe,be,Ce,me]=ie((()=>Pt)),Ve=e=>{if(!ze(e,((e,t)=>i(["type","default"],t))))return!1;const t=e.type;return!(!A(t)&&t!=a||(Z(e.default)!=t&&Le(e,"default"),0))},Ee=(t,s)=>(!e||Q(y,s)||ct(s))&&ze(t,((e,t)=>ke(s,t,e)),(()=>ct(s))),ke=(e,t,s,n)=>ze(n?s:De(s,e,t),((n,o)=>J(Je(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>ct(e,t))),Je=(t,s,n,o)=>e?J(H(H(y,t),n),(e=>Z(o)!=e.type?ct(t,s,n,o,e.default):o),(()=>ct(t,s,n,o))):k(Z(o))?ct(t,s,n,o):o,Ae=(e,t)=>ze(t?e:je(e),((t,s)=>J(Me(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>ut())),Me=(e,s)=>t?J(H(m,e),(t=>Z(s)!=t.type?ut(e,s,t.default):s),(()=>ut(e,s))):k(Z(s))?ut(e,s):s,De=(e,t,s)=>(J(H(C,t),(([n,o])=>{j(n,((t,s)=>{ge(e,s)||(e[s]=t)})),j(o,(n=>{ge(e,n)||ct(t,s,n)}))})),e),je=e=>(t&&(j(V,((t,s)=>{ge(e,s)||(e[s]=t)})),j(E,(t=>{ge(e,t)||ut(t)}))),e),Pe=e=>Qe(y,e,((e,t,s)=>{const n=W(),o=te();Qe(G(y,t,W),s,((e,t,s)=>{q(e,t,s),J(s.default,(e=>q(n,t,e)),(()=>se(o,t)))})),q(C,t,[n,o])}),((e,t)=>{q(y,t),q(C,t)})),We=e=>Qe(m,e,((e,t,s)=>{q(m,t,s),J(s.default,(e=>q(V,t,e)),(()=>se(E,t)))}),((e,t)=>{q(m,t),q(V,t),P(E,t)})),Be=e=>ve(e)?xt():kt(e),He=e=>Qe(x,e,((e,t,s)=>$e(t,s)),((e,t)=>et(t))),$e=(e,t)=>Qe(G(x,e,(()=>(ot(e,1),W()))),t,((t,s,n)=>qe(e,t,s,n)),((t,s)=>tt(e,t,s))),qe=(e,t,s,n,o)=>Qe(G(t,s,(()=>(at(e,s,1),W()))),n,((t,n,o)=>Ge(e,s,t,n,o)),((n,a)=>st(e,t,s,n,a,o))),Ge=(e,t,s,n,o)=>{Q(s,n)||rt(e,t,n,1);const a=H(s,n);o!==a&&(lt(e,t,n,a,o),q(s,n,o))},Ke=(e,t,s,n,o)=>J(H(t,s),(t=>Ge(e,s,t,n,o)),(()=>qe(e,t,s,De({[n]:o},e,s)))),Ue=e=>ve(e)?Ft():Jt(e),Xe=e=>Qe(F,e,((e,t,s)=>Ye(t,s)),((e,t)=>nt(t))),Ye=(e,t)=>{Q(F,e)||it(e,1);const s=H(F,e);t!==s&&(dt(e,s,t),q(F,e,t))},Ze=e=>{const[t]=G(D,e,le),s=t();return Q(H(x,e),s)?Ze(e):s},_e=e=>H(x,e)??$e(e,{}),et=e=>$e(e,{}),tt=(e,t,s)=>{const[,n]=G(D,e,le);n(s),qe(e,t,s,{},!0)},st=(e,t,s,n,o,a)=>{const r=H(H(C,e)?.[0],o);if(!k(r)&&!a)return Ge(e,s,n,o,r);const l=t=>{lt(e,s,t,H(n,t)),rt(e,s,t,-1),q(n,t)};k(r)?l(o):$(n,l),z(n)&&(at(e,s,-1),z(q(t,s))&&(ot(e,-1),q(x,e),q(D,e)))},nt=e=>{const t=H(V,e);if(!k(t))return Ye(e,t);dt(e,H(F,e)),it(e,-1),q(F,e)},ot=(e,t)=>Ne(r,e,t),at=(e,t,s)=>Ne(G(d,e,W),t,s),rt=(e,t,s,n)=>Ne(G(G(u,e,W),t,W),s,n),lt=(e,t,s,n,o)=>G(G(G(L,e,W),t,W),s,(()=>[n,0]))[1]=o,it=(e,t)=>Ne(w,e,t),dt=(e,t,s)=>G(v,e,(()=>[t,0]))[1]=s,ct=(e,t,s,n,o)=>(S(G(G(G(I,e,W),t,W),s,(()=>[])),n),o),ut=(e,t,s)=>(S(G(T,e,(()=>[])),t),s),ht=(e,t,s)=>J(H(H(H(L,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...xe(Ct(e,t,s))])),ft=e=>J(H(v,e),(([e,t])=>[!0,e,t]),(()=>[!1,...xe(Et(e))])),gt=e=>z(I)||z(ue[e])?0:j(e?U(I,X):I,((t,s)=>j(t,((t,n)=>j(t,((t,o)=>be(ue[e],[s,n,o],t))))))),Lt=e=>z(T)||z(fe[e])?0:j(e?U(T):T,((t,s)=>be(fe[e],[s],t))),wt=(e,t,s)=>{if(!z(t))return be(e,s),1},vt=e=>{const t=z(ae[e]),s=z(de[e])&&z(oe[e])&&t&&z(Y[e]),n=z(ce[e])&&z(re[e])&&z(ne[e])&&z(N[e]);if(!s||!n){const o=e?[U(r),X(d),U(u,X),U(L,X)]:[r,d,u,L];if(!s){j(o[2],((t,s)=>j(t,((t,n)=>wt(de[e],t,[s,n])))));const s=te();j(o[1],((n,o)=>{wt(oe[e],n,[o])&&!t&&(be(ae[e],[o,null]),se(s,o))})),t||j(o[3],((t,n)=>{if(!Q(s,n)){const s=te();j(t,(e=>j(e,(([t,n],o)=>n!==t?se(s,o):P(e,o))))),j(s,(t=>be(ae[e],[n,t])))}})),wt(Y[e],o[0])}if(!n){let t;j(o[3],((s,n)=>{let o;j(s,((s,a)=>{let r;j(s,(([s,l],i)=>{l!==s&&(be(ce[e],[n,a,i],l,s,ht),t=o=r=1)})),r&&be(re[e],[n,a],ht)})),o&&be(ne[e],[n],ht)})),t&&be(N[e],void 0,ht)}}},It=e=>{const t=z(Se[e]),s=z(Te[e])&&z(Ie[e]);if(!t||!s){const n=e?[U(w),U(v)]:[w,v];if(t||wt(Se[e],n[0]),!s){let t;j(n[1],(([s,n],o)=>{n!==s&&(be(Te[e],[o],n,s,ft),t=1)})),t&&be(Ie[e],void 0,ft)}}},Rt=(e,...t)=>(Nt((()=>e(...g(t,l)))),Pt),St=()=>K(x,(e=>K(e,K))),Tt=()=>B(x),yt=e=>B(H(x,l(e))),pt=(e,t,s,n=0,o)=>{return g(R(h((a=H(x,l(e)),r=(e,s)=>[k(t)?s:H(e,l(t)),s],g([...a?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Re(e,t)*(s?-1:1))),n,k(o)?o:n+o),(([,e])=>e));var a,r},bt=(e,t)=>B(H(H(x,l(e)),l(t))),Ct=(e,t,s)=>H(H(H(x,l(e)),l(t)),l(s)),mt=()=>K(F),Vt=()=>B(F),Et=e=>H(F,l(e)),kt=e=>Rt((()=>(e=>ze(e,Ee,ct))(e)?He(e):0)),Jt=e=>Rt((()=>Ae(e)?Xe(e):0)),At=e=>{try{Be(b(e))}catch{}return Pt},Mt=t=>Rt((()=>{if((e=ze(t,(e=>ze(e,Ve))))&&(Pe(t),!z(x))){const e=St();xt(),kt(e)}})),Dt=e=>Rt((()=>{if(t=(e=>ze(e,Ve))(e)){const s=mt();zt(),Ft(),t=!0,We(e),Jt(s)}})),xt=()=>Rt((()=>He({}))),Ft=()=>Rt((()=>Xe({}))),Qt=()=>Rt((()=>{Pe({}),e=!1})),zt=()=>Rt((()=>{We({}),t=!1})),Nt=(e,t)=>{if(-1==o)return;Ot();const s=e();return jt(t),s},Ot=()=>(o++,Pt),jt=e=>(o>0&&(o--,0==o&&(s=!z(L),n=!z(v),o=1,gt(1),s&&vt(1),Lt(1),n&&It(1),o=-1,e?.(K(L,(e=>K(e,(e=>K(e,(e=>[...e]),(([e,t])=>e===t))),ve)),ve),K(I,(e=>K(e,K))),K(v,(e=>[...e]),(([e,t])=>e===t)),K(T))&&(o=1,j(L,((e,t)=>j(e,((e,s)=>j(e,(([e],n)=>_(Pt,t,s,n,e))))))),j(v,(([e],t)=>ee(Pt,t,e))),o=-1,s=n=!1),be(ye[0],void 0,s,n),gt(0),s&&vt(0),Lt(0),n&&It(0),be(ye[1],void 0,s,n),o=0,f([r,d,u,L,I,w,v,T],O))),Pt),Pt={getTables:St,getTableIds:Tt,getTable:e=>K(H(x,l(e)),K),getRowIds:yt,getSortedRowIds:pt,getRow:(e,t)=>K(H(H(x,l(e)),l(t))),getCellIds:bt,getCell:Ct,getValues:mt,getValueIds:Vt,getValue:Et,hasTables:()=>!z(x),hasTable:e=>Q(x,l(e)),hasRow:(e,t)=>Q(H(x,l(e)),l(t)),hasCell:(e,t,s)=>Q(H(H(x,l(e)),l(t)),l(s)),hasValues:()=>!z(F),hasValue:e=>Q(F,l(e)),getTablesJson:()=>p(x),getValuesJson:()=>p(F),getJson:()=>p([x,F]),getTablesSchemaJson:()=>p(y),getValuesSchemaJson:()=>p(m),getSchemaJson:()=>p([y,m]),setTables:kt,setTable:(e,t)=>Rt((e=>Ee(t,e)?$e(e,t):0),e),setRow:(e,t,s)=>Rt(((e,t)=>ke(e,t,s)?qe(e,_e(e),t,s):0),e,t),addRow:(e,t)=>Nt((()=>{let s;return ke(e,s,t)&&(e=l(e),qe(e,_e(e),s=Ze(e),t)),s})),setPartialRow:(e,t,s)=>Rt(((e,t)=>{if(ke(e,t,s,1)){const n=_e(e);we(s,((s,o)=>Ke(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Rt(((e,t,s)=>J(Je(e,t,s,M(n)?n(Ct(e,t,s)):n),(n=>Ke(e,_e(e),t,s,n)))),e,t,s),setValues:Jt,setPartialValues:e=>Rt((()=>Ae(e,1)?we(e,((e,t)=>Ye(t,e))):0)),setValue:(e,t)=>Rt((e=>J(Me(e,M(t)?t(Et(e)):t),(t=>Ye(e,t)))),e),setTablesJson:At,setValuesJson:e=>{try{Ue(b(e))}catch{}return Pt},setJson:e=>{try{const[t,s]=b(e);Be(t),Ue(s)}catch{At(e)}return Pt},setTablesSchema:Mt,setValuesSchema:Dt,setSchema:(e,t)=>Rt((()=>{Mt(e),Dt(t)})),delTables:xt,delTable:e=>Rt((e=>Q(x,e)?et(e):0),e),delRow:(e,t)=>Rt(((e,t)=>J(H(x,e),(s=>Q(s,t)?tt(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Rt(((e,t,s)=>J(H(x,e),(o=>J(H(o,t),(a=>Q(a,s)?st(e,o,t,a,s,n):0))))),e,t,s),delValues:Ft,delValue:e=>Rt((e=>Q(F,e)?nt(e):0),e),delTablesSchema:Qt,delValuesSchema:zt,delSchema:()=>Rt((()=>{Qt(),zt()})),transaction:Nt,startTransaction:Ot,finishTransaction:jt,forEachTable:e=>j(x,((t,s)=>e(s,(e=>j(t,((t,s)=>e(s,(e=>$(t,e))))))))),forEachRow:(e,t)=>j(H(x,l(e)),((e,s)=>t(s,(t=>$(e,t))))),forEachCell:(e,t,s)=>$(H(H(x,l(e)),l(t)),s),forEachValue:e=>$(F,e),addSortedRowIdsListener:(e,t,s,n,o,a,r)=>{let l=pt(e,t,s,n,o);return pe((()=>{const r=pt(e,t,s,n,o);c(r,l)||(l=r,a(Pt,e,t,s,n,o,l))}),ae[r?1:0],[e,t],[Tt])},addWillFinishTransactionListener:e=>pe(e,ye[0]),addDidFinishTransactionListener:e=>pe(e,ye[1]),callListener:e=>(me(e),Pt),delListener:e=>(Ce(e),Pt),getListenerStats:()=>({}),createStore:Oe};return we({Tables:[0,N],TableIds:[0,Y],Table:[1,ne,[Tt]],RowIds:[1,oe,[Tt]],Row:[2,re,[Tt,yt]],CellIds:[2,de,[Tt,yt]],Cell:[3,ce,[Tt,yt,bt],e=>xe(Ct(...e))],InvalidCell:[3,ue],Values:[0,Ie],ValueIds:[0,Se],Value:[1,Te,[Vt],e=>xe(Et(e[0]))],InvalidValue:[1,fe]},(([e,t,s,n],o)=>{Pt["add"+o+"Listener"]=(...o)=>pe(o[e],t[o[e+1]?1:0],e>0?R(o,0,e):void 0,s,n)})),he(Pt)};export{Ie as createCheckpoints,be as createCustomPersister,ke as createFilePersister,Se as createIndexes,Ve as createLocalPersister,pe as createMetrics,Me as createQueries,De as createRelationships,Ae as createRemotePersister,Ee as createSessionPersister,Oe as createStore,Re as defaultSorter};
1
+ import{promises as e,watch as t}from"fs";const s=e=>typeof e,n=s(""),o=s(!0),a=s(0),r=s(s),l=e=>""+e,i=(e,t)=>e.includes(t),d=(e,t)=>e.every(t),c=(e,t)=>w(e)===w(t)&&d(e,((e,s)=>t[s]===e)),u=(e,t)=>d(e,((s,n)=>0==n||t(e[n-1],s)<=0)),h=(e,t)=>e.sort(t),f=(e,t)=>e.forEach(t),g=(e,t)=>e.map(t),L=e=>I(e,((e,t)=>e+t),0),w=e=>e.length,v=e=>0==w(e),I=(e,t,s)=>e.reduce(t,s),R=(e,t,s)=>e.slice(t,s),S=(e,...t)=>e.push(...t),T=e=>e.pop(),y=e=>e.shift(),p=e=>JSON.stringify(e,((e,t)=>E(t,Map)?I([...t],((e,[t,s])=>(e[t]=s,e)),{}):t)),b=JSON.parse,C=Math.max,m=Math.min,V=isFinite,E=(e,t)=>e instanceof t,k=e=>null==e,J=(e,t,s)=>k(e)?s?.():t(e),A=e=>e==n||e==o,M=e=>s(e)==r,D=e=>Array.isArray(e),x=()=>{},F=e=>e.size,Q=(e,t)=>e?.has(t)??!1,z=e=>k(e)||0==F(e),N=e=>[...e?.values()??[]],O=e=>e.clear(),j=(e,t)=>e?.forEach(t),P=(e,t)=>e?.delete(t),W=e=>new Map(e),B=e=>[...e?.keys()??[]],H=(e,t)=>e?.get(t),$=(e,t)=>j(e,((e,s)=>t(s,e))),q=(e,t,s)=>k(s)?(P(e,t),e):e?.set(t,s),G=(e,t,s)=>(Q(e,t)||q(e,t,s()),H(e,t)),K=(e,t,s)=>{const n={},o=t??(e=>e);return j(e,((e,t)=>J(o(e),(e=>s?.(e)?0:n[t]=e)))),n},U=(e,t)=>{const s=W(),n=t??(e=>e);return j(e,((e,t)=>s.set(t,n(e)))),s},X=e=>U(e,U),Y=(e,t,s,n,o=0)=>J((s?G:H)(e,t[o],o>w(t)-2?s:W),(a=>{if(o>w(t)-2)return n?.(a)&&q(e,t[o]),a;const r=Y(a,t,s,n,o+1);return z(a)&&q(e,t[o]),r})),Z=e=>{const t=s(e);return A(t)||t==a&&V(e)?t:void 0},_=(e,t,s,n,o)=>k(o)?e.delCell(t,s,n,!0):e.setCell(t,s,n,o),ee=(e,t,s)=>k(s)?e.delValue(t):e.setValue(t,s),te=e=>new Set(D(e)||k(e)?e:[e]),se=(e,t)=>e?.add(t),ne=(e,t,s)=>{const n=e.hasRow,o=W(),a=W(),r=W(),l=W(),i=W(),d=(t,s,...n)=>{const o=G(i,t,te);return f(n,(t=>se(o,t)&&s&&e.callListener(t))),n},u=(t,...s)=>J(H(i,t),(n=>{f(v(s)?N(n):s,(t=>{e.delListener(t),P(n,t)})),z(n)&&q(i,t)})),h=(e,s)=>{q(o,e,s),Q(a,e)||(q(a,e,t()),q(r,e,W()),q(l,e,W()))},g=e=>{q(o,e),q(a,e),q(r,e),q(l,e),u(e)};return[()=>e,()=>B(o),e=>$(a,e),e=>Q(a,e),e=>H(o,e),e=>H(a,e),(e,t)=>q(a,e,t),h,(t,o,a,i,g)=>{h(t,o);const L=W(),w=W(),v=H(r,t),I=H(l,t),R=t=>{const a=s=>e.getCell(o,t,s),r=H(v,t),l=n(o,t)?s(i(a,t)):void 0;if(r===l||D(r)&&D(l)&&c(r,l)||q(L,t,[r,l]),!k(g)){const e=H(I,t),s=n(o,t)?g(a,t):void 0;e!=s&&q(w,t,s)}},S=e=>{a((()=>{j(L,(([,e],t)=>q(v,t,e))),j(w,((e,t)=>q(I,t,e)))}),L,w,v,I,e),O(L),O(w)};$(v,R),e.hasTable(o)&&f(e.getRowIds(o),(e=>{Q(v,e)||R(e)})),S(!0),u(t),d(t,0,e.addRowListener(o,null,((e,t,s)=>R(s))),e.addTableListener(o,(()=>S())))},g,()=>$(i,g),d,u]},oe=(e,t)=>s(e)==n?t=>t(e):e??(()=>t??""),ae=e=>{const t=new WeakMap;return s=>(t.has(s)||t.set(s,e(s)),t.get(s))},re=/^\d+$/,le=()=>{const e=[];let t=0;return[s=>(s?y(e):null)??""+t++,t=>{re.test(t)&&w(e)<1e3&&S(e,t)}]},ie=e=>{let t;const[s,n]=le(),o=W();return[(n,a,r,l=[],i=(()=>[]))=>{t??=e();const d=s(1);return q(o,d,[n,a,r,l,i]),se(Y(a,r??[""],te),d),d},(e,s,...n)=>f(((e,t=[""])=>{const s=[],n=(e,o)=>o==w(t)?S(s,e):null===t[o]?j(e,(e=>n(e,o+1))):f([t[o],null],(t=>n(H(e,t),o+1)));return n(e,0),s})(e,s),(e=>j(e,(e=>H(o,e)[0](t,...s??[],...n))))),e=>J(H(o,e),(([,t,s])=>(Y(t,s??[""],void 0,(t=>(P(t,e),z(t)?1:0))),q(o,e),n(e),s))),e=>J(H(o,e),(([e,,s=[],n,o])=>{const a=(...r)=>{const l=w(r);l==w(s)?e(t,...r,...o(r)):k(s[l])?f(n[l]?.(...r)??[],(e=>a(...r,e))):a(...r,s[l])};a()}))]},de=Object,ce=de.keys,ue=de.isFrozen,he=de.freeze,fe=e=>E(e,de)&&e.constructor==de,ge=(e,t)=>!k(((e,t)=>J(e,(e=>e[t])))(e,t)),Le=(e,t)=>delete e[t],we=(e,t)=>g(de.entries(e),(([e,s])=>t(s,e))),ve=e=>fe(e)&&v(ce(e)),Ie=ae((e=>{let t,s,n,o=100,a=W(),r=W(),l=1;const d=W(),c=W(),[u,h,g]=ie((()=>U)),L=W(),I=W(),R=[],p=[],b=(t,s)=>{l=0,e.transaction((()=>{const[n,o]=H(L,s);j(n,((s,n)=>j(s,((s,o)=>j(s,((s,a)=>_(e,n,o,a,s[t]))))))),j(o,((s,n)=>ee(e,n,s[t])))})),l=1},C=e=>{q(L,e),q(I,e),h(c,[e])},m=(e,t)=>f(((e,t)=>e.splice(0,t))(e,t??w(e)),C),V=()=>m(R,w(R)-o),E=()=>J(t,(()=>{S(R,t),V(),m(p),t=void 0,n=1})),A=()=>{t=T(R),n=1},M=e.addCellListener(null,null,null,((e,t,s,n,o,r)=>{if(l){E();const e=G(a,t,W),l=G(e,s,W),i=G(l,n,(()=>[r,void 0]));i[1]=o,i[0]===o&&z(q(l,n))&&z(q(e,s))&&z(q(a,t))&&A(),O()}})),D=e.addValueListener(null,((e,t,s,n)=>{if(l){E();const e=G(r,t,(()=>[n,void 0]));e[1]=s,e[0]===s&&z(q(r,t))&&A(),O()}})),x=(e="")=>(k(t)&&(t=""+s++,q(L,t,[a,r]),B(t,e),a=W(),r=W(),n=1),t),F=()=>{v(R)||(((e,...t)=>{e.unshift(...t)})(p,x()),b(0,t),t=T(R),n=1)},N=()=>{v(p)||(S(R,t),t=y(p),b(1,t),n=1)},O=()=>{n&&(h(d),n=0)},P=e=>{const t=x(e);return O(),t},B=(e,t)=>(K(e)&&H(I,e)!==t&&(q(I,e,t),h(c,[e])),U),K=e=>Q(L,e),U={setSize:e=>(o=e,V(),U),addCheckpoint:P,setCheckpoint:B,getStore:()=>e,getCheckpointIds:()=>[[...R],t,[...p]],forEachCheckpoint:e=>$(I,e),hasCheckpoint:K,getCheckpoint:e=>H(I,e),goBackward:()=>(F(),O(),U),goForward:()=>(N(),O(),U),goTo:e=>{const s=i(R,e)?F:i(p,e)?N:null;for(;!k(s)&&e!=t;)s();return O(),U},addCheckpointIdsListener:e=>u(e,d),addCheckpointListener:(e,t)=>u(t,c,[e]),delListener:e=>(g(e),U),clear:()=>(m(R),m(p),k(t)||C(t),t=void 0,s=0,P(),U),destroy:()=>{e.delListener(M),e.delListener(D)},getListenerStats:()=>({})};return he(U.clear())})),Re=(e,t)=>e<t?-1:1,Se=ae((e=>{const t=W(),s=W(),[n,o,a,r,i,d,c,,f,L,w]=ne(e,W,(e=>k(e)?"":D(e)?g(e,l):l(e))),[v,I,R]=ie((()=>T)),S=(t,s,n)=>{const o=i(t);j(n,((t,n)=>s(n,(s=>j(t,(t=>s(t,(s=>e.forEachCell(o,t,s)))))))))},T={setIndexDefinition:(e,n,o,a,r,l=Re)=>{const i=k(r)?void 0:([e],[t])=>r(e,t);return f(e,n,((n,o,r,f,g,L)=>{let w=0;const v=te(),R=te(),S=d(e);if(j(o,(([e,t],s)=>{const n=te(e),o=te(t);j(n,(e=>P(o,e)?P(n,e):0)),j(n,(e=>{se(v,e),J(H(S,e),(t=>{P(t,s),z(t)&&(q(S,e),w=1)}))})),j(o,(e=>{se(v,e),Q(S,e)||(q(S,e,te()),w=1),se(H(S,e),s),k(a)||se(R,e)}))})),n(),z(g)||(L?$(S,(e=>se(R,e))):$(r,(e=>J(H(f,e),(e=>se(R,e))))),j(R,(e=>{const t=(t,s)=>l(H(g,t),H(g,s),e),s=[...H(S,e)];u(s,t)||(q(S,e,te(h(s,t))),se(v,e))}))),(w||L)&&!k(i)){const t=[...S];u(t,i)||(c(e,W(h(t,i))),w=1)}w&&I(t,[e]),j(v,(t=>I(s,[e,t])))}),oe(o),J(a,oe)),T},delIndexDefinition:e=>(L(e),T),getStore:n,getIndexIds:o,forEachIndex:e=>a(((t,s)=>e(t,(e=>S(t,e,s))))),forEachSlice:(e,t)=>S(e,t,d(e)),hasIndex:r,hasSlice:(e,t)=>Q(d(e),t),getTableId:i,getSliceIds:e=>B(d(e)),getSliceRowIds:(e,t)=>N(H(d(e),t)),addSliceIdsListener:(e,s)=>v(s,t,[e]),addSliceRowIdsListener:(e,t,n)=>v(n,s,[e,t]),delListener:e=>(R(e),T),destroy:w,getListenerStats:()=>({})};return he(T)})),Te=W([["avg",[(e,t)=>L(e)/t,(e,t,s)=>e+(t-e)/(s+1),(e,t,s)=>e+(e-t)/(s-1),(e,t,s,n)=>e+(t-s)/n]],["max",[e=>C(...e),(e,t)=>C(t,e),(e,t)=>t==e?void 0:e,(e,t,s)=>s==e?void 0:C(t,e)]],["min",[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)]],["sum",[e=>L(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,s)=>e-s+t]]]),ye=(e,t,s,n,o,a=!1)=>{if(z(s))return;const[r,l,i,d]=o;return a||=k(e),j(n,(([s,n])=>{a||(e=k(s)?l?.(e,n,t++):k(n)?i?.(e,s,t--):d?.(e,n,s,t),a||=k(e))})),a?r(N(s),F(s)):e},pe=ae((e=>{const t=W(),[s,n,o,a,r,l,i,,d,c,u]=ne(e,x,(e=>isNaN(e)||k(e)||!0===e||!1===e||""===e?void 0:1*e)),[h,f,g]=ie((()=>L)),L={setMetricDefinition:(e,s,n,o,a,r,c)=>{const u=M(n)?[n,a,r,c]:H(Te,n)??H(Te,"sum");return d(e,s,((s,n,o,a,r,d)=>{const c=l(e),h=F(a);d||=k(c),s();let g=ye(c,h,a,n,u,d);V(g)||(g=void 0),g!=c&&(i(e,g),f(t,[e],g,c))}),oe(o,1)),L},delMetricDefinition:e=>(c(e),L),getStore:s,getMetricIds:n,forEachMetric:o,hasMetric:a,getTableId:r,getMetric:l,addMetricListener:(e,s)=>h(s,t,[e]),delListener:e=>(g(e),L),destroy:u,getListenerStats:()=>({})};return he(L)})),be=(e,t,s,n,o)=>{let a,r,l=0;const i={load:async(s,n)=>{if(2!=l){l=1;const o=await t();k(o)||""==o?e.transaction((()=>e.setTables(s).setValues(n))):e.setJson(o),l=0}return i},startAutoLoad:async(e,t)=>(i.stopAutoLoad(),await i.load(e,t),n(i.load),i),stopAutoLoad:()=>(o(),i),save:async()=>(1!=l&&(l=2,await s(e.getJson()),l=0),i),startAutoSave:async()=>(await i.stopAutoSave().save(),a=e.addTablesListener(i.save),r=e.addValuesListener(i.save),i),stopAutoSave:()=>(J(a,e.delListener),J(r,e.delListener),i),getStore:()=>e,destroy:()=>i.stopAutoLoad().stopAutoSave(),getStats:()=>({})};return he(i)},Ce=globalThis.window,me=(e,t,s)=>{let n;return be(e,(async()=>s.getItem(t)),(async e=>s.setItem(t,e)),(e=>{n=n=>{n.storageArea===s&&n.key===t&&e()},Ce.addEventListener("storage",n)}),(()=>{Ce.removeEventListener("storage",n),n=void 0}))},Ve=(e,t)=>me(e,t,localStorage),Ee=(e,t)=>me(e,t,sessionStorage),ke=(s,n)=>{let o;return be(s,(async()=>{try{return await e.readFile(n,"utf8")}catch{}}),(async t=>{try{await e.writeFile(n,t,"utf8")}catch{}}),(e=>{o=t(n,e)}),(()=>{o?.close(),o=void 0}))},Je=e=>e.headers.get("ETag"),Ae=(e,t,s,n)=>{let o,a;return be(e,(async()=>{const e=await fetch(t);return a=Je(e),e.text()}),(async e=>await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:e})),(e=>{o=setInterval((async()=>{const s=await fetch(t,{method:"HEAD"}),n=Je(s);k(a)||k(n)||n==a||(a=n,e())}),1e3*n)}),(()=>{J(o,clearInterval),o=void 0}))},Me=ae((e=>{const t=e.createStore,[s,n,o,a,r,,,l,,i,c,u,h]=ne(e,(()=>!0),x),g=t(),L=t(),I=W(),T=(e,t,...s)=>f(s,(s=>se(G(G(I,t,W),e,te),s))),y=e=>{J(H(I,e),(e=>{$(e,((e,t)=>j(t,(t=>e.delListener(t))))),O(e)})),f([L,g],(t=>t.delTable(e)))},p=(e,t,s)=>T(t,e,t.addWillFinishTransactionListener(s.startTransaction),t.addDidFinishTransactionListener((()=>s.finishTransaction()))),b={setQueryDefinition:(t,s,n)=>{l(t,s),y(t);const o=[],a=[[null,[s,null,null,[],W()]]],r=[],i=[],c=[];n({select:(e,t)=>{const s=M(e)?[w(o)+"",e]:[k(t)?e:t,s=>s(e,t)];return S(o,s),{as:e=>s[0]=e}},join:(e,t,s)=>{const n=k(s)||M(t)?null:t,o=k(n)?t:s,r=[e,[e,n,M(o)?o:e=>e(o),[],W()]];return S(a,r),{as:e=>r[0]=e}},where:(e,t,s)=>S(r,M(e)?e:k(s)?s=>s(e)===t:n=>n(e,t)===s),group:(e,t,s,n,o)=>{const a=[e,[e,M(t)?[t,s,n,o]:H(Te,t)??[(e,t)=>t]]];return S(i,a),{as:e=>a[0]=e}},having:(e,t)=>S(c,M(e)?e:s=>s(e)===t)});const I=W(o);if(z(I))return b;const R=W(a);$(R,((e,[,t])=>J(H(R,t),(({3:t})=>k(e)?0:S(t,e)))));const C=W(i);let m=g;if(z(C)&&v(c))m=L;else{p(t,m,L);const e=W();$(C,((t,[s,n])=>se(G(e,s,te),[t,n])));const s=te();$(I,(t=>Q(e,t)?0:se(s,t)));const n=W(),o=(s,n,o,a)=>J(s,(([r,l,i,u])=>{$(n,((t,[s])=>{const n=G(r,t,W),l=H(n,o),i=a?void 0:s;if(l!==i){const s=te([[l,i]]),a=F(n);q(n,o,i),j(H(e,t),(([e,t])=>{const o=ye(u[e],a,n,s,t);u[e]=k(Z(o))?null:o}))}})),z(l)||!d(c,(e=>e((e=>u[e]))))?L.delRow(t,i):k(i)?s[2]=L.addRow(t,u):L.setRow(t,i,u)}));T(m,t,m.addRowListener(t,null,((a,r,l,i)=>{const d=[],c=[],u=W(),h=m.hasRow(t,l);let f=!h;j(s,(e=>{const[s,n,o]=i(t,l,e);S(d,n),S(c,o),f||=s})),$(e,(e=>{const[s,,n]=i(t,l,e);(f||s)&&q(u,e,[n])})),f&&o(Y(n,d,void 0,(([,e])=>(P(e,l),z(e)))),u,l,1),h&&o(Y(n,c,(()=>{const e={};return j(s,(s=>e[s]=m.getCell(t,l,s))),[W(),te(),void 0,e]}),(([,e])=>{se(e,l)})),u,l)})))}p(t,e,m);const V=(n,o,a,l)=>{const i=t=>e.getCell(o,a,t);f(l,(s=>{const[o,,a,r,l]=H(R,s),d=a?.(i,n),[c,f]=H(l,n)??[];d!=c&&(k(f)||h(t,f),q(l,n,k(d)?null:[d,...u(t,1,e.addRowListener(o,d,(()=>V(n,o,d,r))))]))})),(n=>{const o=(t,o)=>e.getCell(...k(o)?[s,n,t]:t===s?[s,n,o]:[H(R,t)?.[0],H(H(R,t)?.[4],n)?.[0],o]);m.transaction((()=>d(r,(e=>e(o)))?$(I,((e,s)=>_(m,t,n,e,s(o,n)))):m.delRow(t,n)))})(n)},{3:E}=H(R,null);return m.transaction((()=>u(t,1,e.addRowListener(s,null,((n,o,a)=>{e.hasRow(s,a)?V(a,s,a,E):(m.delRow(t,a),j(R,(({4:e})=>J(H(e,a),(([,s])=>{h(t,s),q(e,a)})))))}))))),b},delQueryDefinition:e=>(y(e),i(e),b),getStore:s,getQueryIds:n,forEachQuery:o,hasQuery:a,getTableId:r,delListener:e=>(L.delListener(e),b),destroy:c,getListenerStats:()=>{const{tables:e,tableIds:t,transaction:s,...n}=L.getListenerStats();return n}};return we({Table:[1,1],RowIds:[0,1],SortedRowIds:[0,5],Row:[1,2],CellIds:[0,2],Cell:[1,3]},(([e,t],s)=>{f(e?["get","has","forEach"]:["get"],(e=>b[e+"Result"+s]=(...t)=>L[e+s](...t))),b["addResult"+s+"Listener"]=(...e)=>L["add"+s+"Listener"](...R(e,0,t),((s,...n)=>e[t](b,...n)))})),he(b)})),De=ae((e=>{const t=W(),s=W(),n=W(),o=W(),[a,r,l,i,d,c,,,u,h,f]=ne(e,(()=>[W(),W(),W(),W()]),(e=>k(e)?void 0:e+"")),[g,L,w]=ie((()=>S)),v=(e,t,s)=>J(c(e),(([n,,o])=>{if(!Q(o,t)){const a=te();if(d(e)!=R(e))se(a,t);else{let e=t;for(;!k(e)&&!Q(a,e);)se(a,e),e=H(n,e)}if(s)return a;q(o,t,a)}return H(o,t)})),I=(e,t)=>J(c(e),(([,,e])=>q(e,t))),R=e=>H(t,e),S={setRelationshipDefinition:(e,a,r,l)=>(q(t,e,r),u(e,a,((t,a)=>{const r=te(),l=te(),i=te(),[d,u]=c(e);j(a,(([t,s],n)=>{k(t)||(se(l,t),J(H(u,t),(e=>{P(e,n),z(e)&&q(u,t)}))),k(s)||(se(l,s),Q(u,s)||q(u,s,te()),se(H(u,s),n)),se(r,n),q(d,n,s),$(H(o,e),(t=>{Q(v(e,t),n)&&se(i,t)}))})),t(),j(r,(t=>L(s,[e,t]))),j(l,(t=>L(n,[e,t]))),j(i,(t=>{I(e,t),L(o,[e,t])}))}),oe(l)),S),delRelationshipDefinition:e=>(q(t,e),h(e),S),getStore:a,getRelationshipIds:r,forEachRelationship:t=>l((s=>t(s,(t=>e.forEachRow(d(s),t))))),hasRelationship:i,getLocalTableId:d,getRemoteTableId:R,getRemoteRowId:(e,t)=>H(c(e)?.[0],t),getLocalRowIds:(e,t)=>N(H(c(e)?.[1],t)),getLinkedRowIds:(e,t)=>k(c(e))?[t]:N(v(e,t,!0)),addRemoteRowIdListener:(e,t,n)=>g(n,s,[e,t]),addLocalRowIdsListener:(e,t,s)=>g(s,n,[e,t]),addLinkedRowIdsListener:(e,t,s)=>(v(e,t),g(s,o,[e,t])),delListener:e=>(I(...w(e)),S),destroy:f,getListenerStats:()=>({})};return he(S)})),xe=e=>[e,e],Fe=()=>[W(),W()],Qe=(e,t,s,n=q)=>{const o=(a=e=>!ge(t,e),B(e).filter(a));var a;return f(ce(t),(n=>s(e,n,t[n]))),f(o,(t=>n(e,t))),e},ze=(e,t,s)=>k(e)||!fe(e)||ve(e)||ue(e)?(s?.(),!1):(we(e,((s,n)=>{t(s,n)||Le(e,n)})),!ve(e)),Ne=(e,t,s)=>q(e,t,H(e,t)==-s?void 0:s),Oe=()=>{let e,t,s,n,o=0;const r=W(),d=W(),u=W(),L=W(),w=W(),v=W(),I=W(),T=W(),y=W(),C=W(),m=W(),V=W(),E=te(),D=W(),x=W(),F=W(),N=Fe(),Y=Fe(),ne=Fe(),oe=Fe(),ae=Fe(),re=Fe(),de=Fe(),ce=Fe(),ue=Fe(),fe=Fe(),Ie=Fe(),Se=Fe(),Te=Fe(),ye=Fe(),[pe,be,Ce,me]=ie((()=>Pt)),Ve=e=>{if(!ze(e,((e,t)=>i(["type","default"],t))))return!1;const t=e.type;return!(!A(t)&&t!=a||(Z(e.default)!=t&&Le(e,"default"),0))},Ee=(t,s)=>(!e||Q(y,s)||ct(s))&&ze(t,((e,t)=>ke(s,t,e)),(()=>ct(s))),ke=(e,t,s,n)=>ze(n?s:De(s,e,t),((n,o)=>J(Je(e,t,o,n),(e=>(s[o]=e,!0)),(()=>!1))),(()=>ct(e,t))),Je=(t,s,n,o)=>e?J(H(H(y,t),n),(e=>Z(o)!=e.type?ct(t,s,n,o,e.default):o),(()=>ct(t,s,n,o))):k(Z(o))?ct(t,s,n,o):o,Ae=(e,t)=>ze(t?e:je(e),((t,s)=>J(Me(s,t),(t=>(e[s]=t,!0)),(()=>!1))),(()=>ut())),Me=(e,s)=>t?J(H(m,e),(t=>Z(s)!=t.type?ut(e,s,t.default):s),(()=>ut(e,s))):k(Z(s))?ut(e,s):s,De=(e,t,s)=>(J(H(C,t),(([n,o])=>{j(n,((t,s)=>{ge(e,s)||(e[s]=t)})),j(o,(n=>{ge(e,n)||ct(t,s,n)}))})),e),je=e=>(t&&(j(V,((t,s)=>{ge(e,s)||(e[s]=t)})),j(E,(t=>{ge(e,t)||ut(t)}))),e),Pe=e=>Qe(y,e,((e,t,s)=>{const n=W(),o=te();Qe(G(y,t,W),s,((e,t,s)=>{q(e,t,s),J(s.default,(e=>q(n,t,e)),(()=>se(o,t)))})),q(C,t,[n,o])}),((e,t)=>{q(y,t),q(C,t)})),We=e=>Qe(m,e,((e,t,s)=>{q(m,t,s),J(s.default,(e=>q(V,t,e)),(()=>se(E,t)))}),((e,t)=>{q(m,t),q(V,t),P(E,t)})),Be=e=>ve(e)?xt():kt(e),He=e=>Qe(x,e,((e,t,s)=>$e(t,s)),((e,t)=>et(t))),$e=(e,t)=>Qe(G(x,e,(()=>(ot(e,1),W()))),t,((t,s,n)=>qe(e,t,s,n)),((t,s)=>tt(e,t,s))),qe=(e,t,s,n,o)=>Qe(G(t,s,(()=>(at(e,s,1),W()))),n,((t,n,o)=>Ge(e,s,t,n,o)),((n,a)=>st(e,t,s,n,a,o))),Ge=(e,t,s,n,o)=>{Q(s,n)||rt(e,t,n,1);const a=H(s,n);o!==a&&(lt(e,t,n,a,o),q(s,n,o))},Ke=(e,t,s,n,o)=>J(H(t,s),(t=>Ge(e,s,t,n,o)),(()=>qe(e,t,s,De({[n]:o},e,s)))),Ue=e=>ve(e)?Ft():Jt(e),Xe=e=>Qe(F,e,((e,t,s)=>Ye(t,s)),((e,t)=>nt(t))),Ye=(e,t)=>{Q(F,e)||it(e,1);const s=H(F,e);t!==s&&(dt(e,s,t),q(F,e,t))},Ze=(e,t)=>{const[s]=G(D,e,le),n=s(t);return Q(H(x,e),n)?Ze(e,t):n},_e=e=>H(x,e)??$e(e,{}),et=e=>$e(e,{}),tt=(e,t,s)=>{const[,n]=G(D,e,le);n(s),qe(e,t,s,{},!0)},st=(e,t,s,n,o,a)=>{const r=H(H(C,e)?.[0],o);if(!k(r)&&!a)return Ge(e,s,n,o,r);const l=t=>{lt(e,s,t,H(n,t)),rt(e,s,t,-1),q(n,t)};k(r)?l(o):$(n,l),z(n)&&(at(e,s,-1),z(q(t,s))&&(ot(e,-1),q(x,e),q(D,e)))},nt=e=>{const t=H(V,e);if(!k(t))return Ye(e,t);dt(e,H(F,e)),it(e,-1),q(F,e)},ot=(e,t)=>Ne(r,e,t),at=(e,t,s)=>Ne(G(d,e,W),t,s),rt=(e,t,s,n)=>Ne(G(G(u,e,W),t,W),s,n),lt=(e,t,s,n,o)=>G(G(G(L,e,W),t,W),s,(()=>[n,0]))[1]=o,it=(e,t)=>Ne(w,e,t),dt=(e,t,s)=>G(v,e,(()=>[t,0]))[1]=s,ct=(e,t,s,n,o)=>(S(G(G(G(I,e,W),t,W),s,(()=>[])),n),o),ut=(e,t,s)=>(S(G(T,e,(()=>[])),t),s),ht=(e,t,s)=>J(H(H(H(L,e),t),s),(([e,t])=>[!0,e,t]),(()=>[!1,...xe(Ct(e,t,s))])),ft=e=>J(H(v,e),(([e,t])=>[!0,e,t]),(()=>[!1,...xe(Et(e))])),gt=e=>z(I)||z(ue[e])?0:j(e?U(I,X):I,((t,s)=>j(t,((t,n)=>j(t,((t,o)=>be(ue[e],[s,n,o],t))))))),Lt=e=>z(T)||z(fe[e])?0:j(e?U(T):T,((t,s)=>be(fe[e],[s],t))),wt=(e,t,s)=>{if(!z(t))return be(e,s),1},vt=e=>{const t=z(ae[e]),s=z(de[e])&&z(oe[e])&&t&&z(Y[e]),n=z(ce[e])&&z(re[e])&&z(ne[e])&&z(N[e]);if(!s||!n){const o=e?[U(r),X(d),U(u,X),U(L,X)]:[r,d,u,L];if(!s){j(o[2],((t,s)=>j(t,((t,n)=>wt(de[e],t,[s,n])))));const s=te();j(o[1],((n,o)=>{wt(oe[e],n,[o])&&!t&&(be(ae[e],[o,null]),se(s,o))})),t||j(o[3],((t,n)=>{if(!Q(s,n)){const s=te();j(t,(e=>j(e,(([t,n],o)=>n!==t?se(s,o):P(e,o))))),j(s,(t=>be(ae[e],[n,t])))}})),wt(Y[e],o[0])}if(!n){let t;j(o[3],((s,n)=>{let o;j(s,((s,a)=>{let r;j(s,(([s,l],i)=>{l!==s&&(be(ce[e],[n,a,i],l,s,ht),t=o=r=1)})),r&&be(re[e],[n,a],ht)})),o&&be(ne[e],[n],ht)})),t&&be(N[e],void 0,ht)}}},It=e=>{const t=z(Se[e]),s=z(Te[e])&&z(Ie[e]);if(!t||!s){const n=e?[U(w),U(v)]:[w,v];if(t||wt(Se[e],n[0]),!s){let t;j(n[1],(([s,n],o)=>{n!==s&&(be(Te[e],[o],n,s,ft),t=1)})),t&&be(Ie[e],void 0,ft)}}},Rt=(e,...t)=>(Nt((()=>e(...g(t,l)))),Pt),St=()=>K(x,(e=>K(e,K))),Tt=()=>B(x),yt=e=>B(H(x,l(e))),pt=(e,t,s,n=0,o)=>{return g(R(h((a=H(x,l(e)),r=(e,s)=>[k(t)?s:H(e,l(t)),s],g([...a?.entries()??[]],(([e,t])=>r(t,e)))),(([e],[t])=>Re(e,t)*(s?-1:1))),n,k(o)?o:n+o),(([,e])=>e));var a,r},bt=(e,t)=>B(H(H(x,l(e)),l(t))),Ct=(e,t,s)=>H(H(H(x,l(e)),l(t)),l(s)),mt=()=>K(F),Vt=()=>B(F),Et=e=>H(F,l(e)),kt=e=>Rt((()=>(e=>ze(e,Ee,ct))(e)?He(e):0)),Jt=e=>Rt((()=>Ae(e)?Xe(e):0)),At=e=>{try{Be(b(e))}catch{}return Pt},Mt=t=>Rt((()=>{if((e=ze(t,(e=>ze(e,Ve))))&&(Pe(t),!z(x))){const e=St();xt(),kt(e)}})),Dt=e=>Rt((()=>{if(t=(e=>ze(e,Ve))(e)){const s=mt();zt(),Ft(),t=!0,We(e),Jt(s)}})),xt=()=>Rt((()=>He({}))),Ft=()=>Rt((()=>Xe({}))),Qt=()=>Rt((()=>{Pe({}),e=!1})),zt=()=>Rt((()=>{We({}),t=!1})),Nt=(e,t)=>{if(-1==o)return;Ot();const s=e();return jt(t),s},Ot=()=>(o++,Pt),jt=e=>(o>0&&(o--,0==o&&(s=!z(L),n=!z(v),o=1,gt(1),s&&vt(1),Lt(1),n&&It(1),o=-1,e?.(K(L,(e=>K(e,(e=>K(e,(e=>[...e]),(([e,t])=>e===t))),ve)),ve),K(I,(e=>K(e,K))),K(v,(e=>[...e]),(([e,t])=>e===t)),K(T))&&(o=1,j(L,((e,t)=>j(e,((e,s)=>j(e,(([e],n)=>_(Pt,t,s,n,e))))))),j(v,(([e],t)=>ee(Pt,t,e))),o=-1,s=n=!1),be(ye[0],void 0,s,n),gt(0),s&&vt(0),Lt(0),n&&It(0),be(ye[1],void 0,s,n),o=0,f([r,d,u,L,I,w,v,T],O))),Pt),Pt={getTables:St,getTableIds:Tt,getTable:e=>K(H(x,l(e)),K),getRowIds:yt,getSortedRowIds:pt,getRow:(e,t)=>K(H(H(x,l(e)),l(t))),getCellIds:bt,getCell:Ct,getValues:mt,getValueIds:Vt,getValue:Et,hasTables:()=>!z(x),hasTable:e=>Q(x,l(e)),hasRow:(e,t)=>Q(H(x,l(e)),l(t)),hasCell:(e,t,s)=>Q(H(H(x,l(e)),l(t)),l(s)),hasValues:()=>!z(F),hasValue:e=>Q(F,l(e)),getTablesJson:()=>p(x),getValuesJson:()=>p(F),getJson:()=>p([x,F]),getTablesSchemaJson:()=>p(y),getValuesSchemaJson:()=>p(m),getSchemaJson:()=>p([y,m]),setTables:kt,setTable:(e,t)=>Rt((e=>Ee(t,e)?$e(e,t):0),e),setRow:(e,t,s)=>Rt(((e,t)=>ke(e,t,s)?qe(e,_e(e),t,s):0),e,t),addRow:(e,t,s=!0)=>Nt((()=>{let n;return ke(e,n,t)&&(e=l(e),qe(e,_e(e),n=Ze(e,s?1:0),t)),n})),setPartialRow:(e,t,s)=>Rt(((e,t)=>{if(ke(e,t,s,1)){const n=_e(e);we(s,((s,o)=>Ke(e,n,t,o,s)))}}),e,t),setCell:(e,t,s,n)=>Rt(((e,t,s)=>J(Je(e,t,s,M(n)?n(Ct(e,t,s)):n),(n=>Ke(e,_e(e),t,s,n)))),e,t,s),setValues:Jt,setPartialValues:e=>Rt((()=>Ae(e,1)?we(e,((e,t)=>Ye(t,e))):0)),setValue:(e,t)=>Rt((e=>J(Me(e,M(t)?t(Et(e)):t),(t=>Ye(e,t)))),e),setTablesJson:At,setValuesJson:e=>{try{Ue(b(e))}catch{}return Pt},setJson:e=>{try{const[t,s]=b(e);Be(t),Ue(s)}catch{At(e)}return Pt},setTablesSchema:Mt,setValuesSchema:Dt,setSchema:(e,t)=>Rt((()=>{Mt(e),Dt(t)})),delTables:xt,delTable:e=>Rt((e=>Q(x,e)?et(e):0),e),delRow:(e,t)=>Rt(((e,t)=>J(H(x,e),(s=>Q(s,t)?tt(e,s,t):0))),e,t),delCell:(e,t,s,n)=>Rt(((e,t,s)=>J(H(x,e),(o=>J(H(o,t),(a=>Q(a,s)?st(e,o,t,a,s,n):0))))),e,t,s),delValues:Ft,delValue:e=>Rt((e=>Q(F,e)?nt(e):0),e),delTablesSchema:Qt,delValuesSchema:zt,delSchema:()=>Rt((()=>{Qt(),zt()})),transaction:Nt,startTransaction:Ot,finishTransaction:jt,forEachTable:e=>j(x,((t,s)=>e(s,(e=>j(t,((t,s)=>e(s,(e=>$(t,e))))))))),forEachRow:(e,t)=>j(H(x,l(e)),((e,s)=>t(s,(t=>$(e,t))))),forEachCell:(e,t,s)=>$(H(H(x,l(e)),l(t)),s),forEachValue:e=>$(F,e),addSortedRowIdsListener:(e,t,s,n,o,a,r)=>{let l=pt(e,t,s,n,o);return pe((()=>{const r=pt(e,t,s,n,o);c(r,l)||(l=r,a(Pt,e,t,s,n,o,l))}),ae[r?1:0],[e,t],[Tt])},addWillFinishTransactionListener:e=>pe(e,ye[0]),addDidFinishTransactionListener:e=>pe(e,ye[1]),callListener:e=>(me(e),Pt),delListener:e=>(Ce(e),Pt),getListenerStats:()=>({}),createStore:Oe};return we({Tables:[0,N],TableIds:[0,Y],Table:[1,ne,[Tt]],RowIds:[1,oe,[Tt]],Row:[2,re,[Tt,yt]],CellIds:[2,de,[Tt,yt]],Cell:[3,ce,[Tt,yt,bt],e=>xe(Ct(...e))],InvalidCell:[3,ue],Values:[0,Ie],ValueIds:[0,Se],Value:[1,Te,[Vt],e=>xe(Et(e[0]))],InvalidValue:[1,fe]},(([e,t,s,n],o)=>{Pt["add"+o+"Listener"]=(...o)=>pe(o[e],t[o[e+1]?1:0],e>0?R(o,0,e):void 0,s,n)})),he(Pt)};export{Ie as createCheckpoints,be as createCustomPersister,ke as createFilePersister,Se as createIndexes,Ve as createLocalPersister,pe as createMetrics,Me as createQueries,De as createRelationships,Ae as createRemotePersister,Ee as createSessionPersister,Oe as createStore,Re as defaultSorter};
Binary file
package/lib/tools.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",l=e(t),a=e(!0),n=e(0),o="type",d="default",r="Listener",s="get",I="add",$="Ids",c="Table",i=c+"s",u=c+$,p="Row",b=p+$,C="Sorted"+p+$,h="Cell",g=h+$,m="Value",f=m+"s",w=m+$,y=(e,t)=>e.every(t),T=(e,t)=>e.sort(t),v=(e,t)=>e.forEach(t),V=(e,t)=>e.map(t),x=e=>e.length,R=e=>0==x(e),k=(e,t)=>e.filter(t),S=(e,...t)=>e.push(...t),P=e=>e.pop(),A=(e,...t)=>e.unshift(...t),E=e=>e.shift(),D=JSON.parse,O=isFinite,N=(e,t)=>e instanceof t,L=e=>null==e,j=e=>e==l||e==a,M=t=>e(t)==l,G=e=>Array.isArray(e),J=t=>{const l=e(t);return j(l)||l==n&&O(t)?l:void 0},z=(e,t)=>e?.has(t)??!1,W=e=>[...e?.values()??[]],B=(e,t)=>e?.forEach(t),F=(e,t)=>e?.delete(t),U=e=>new Map(e),_=(e,t)=>e?.get(t),Z=(e,t)=>B(e,((e,l)=>t(l,e))),H=(e,t)=>V([...e?.entries()??[]],(([e,l])=>t(l,e))),Q=(e,t,l)=>L(l)?(F(e,t),e):e?.set(t,l),q=(e,t,l)=>(z(e,t)||Q(e,t,l()),_(e,t)),K=e=>e.toUpperCase(),X=e=>e.toLowerCase(),Y="a ",ee="A function for",te=", and registers a listener so that any changes to that result will cause a re-render",le="Callback",ae="Del",ne="Deps",oe=ne+"?: React.DependencyList",de="doRollback?: DoRollback",re="actions: () => Return, "+de,se="export",Ie="Id",$e="Invalid",ce="Json",ie=X(r),ue="?: ",pe=" | undefined",be="NonNullable",Ce="Partial",he="Props",ge="Provider",me=`Registers a ${ie} that will be called`,fe="Represents",we="rowId: "+Ie,ye="Schema",Te="Set",ve=", descending?: boolean, offset?: number, limit?: number",Ve="[]",xe="the Store",Re="Transaction",ke=X(Re),Se="Execute a "+ke+" to make multiple mutations",Pe="Explicitly starts a "+ke,Ae="Explicitly finishes a "+ke,Ee="the end of the "+ke,De="void",Oe=" => "+De,Ne="WhenSet",Le=" when setting it",je=Y+"string serialization of",Me=" ",Ge="Gets a callback that can ",Je="the ",ze=" the schema for",We=(e=0,l=0)=>`the ${dt[e]}content of`+(l?Me+xe:t),Be=(e=0,l,a=0)=>at[l]+Me+We(e,1)+(a?" when setting it":t),Fe=(e,t=0)=>fe+` a Row when ${t?"s":"g"}etting ${We()} the '${e}' `+c,Ue=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,_e=(e,t)=>`Calls a function for each ${e} in `+t,Ze=e=>"The props passed to a component that renders "+e,He=e=>"A function that takes "+e,Qe=(e,t=0)=>ee+" listening to changes to "+ot[e]+" in "+ot[t],qe=(e,l,a=0)=>me+" whenever "+ot[e]+" in "+ot[l]+" change"+(a?t:"s"),Ke=e=>`the '${e}' `+c,Xe=e=>"the specified Row in "+Ke(e),Ye=(e,t=0)=>at[t]+` ${We()} `+Ke(e),et=(e,t=0)=>at[t]+` ${We()} `+Xe(e),tt=(e,t,l=0)=>at[l]+` the '${t}' Cell for `+Xe(e),lt=(e,t=0)=>at[t]+` the '${e}' Value`,at=["Gets","Checks existence of","Sets","Deletes","Sets part of",fe,"Gets "+je,"Sets "+je,me+" whenever",Ge+"set",Ge+"add",Ge+"set part of",Ge+"delete","Renders","Gets "+je+ze,"Sets"+ze,"Deletes"+ze],nt=[s,"has","set","del","set","forEach",I,t],ot=[xe,i,Je+c+Me+$,Y+c,Je+p+Me+$,Y+p,Je+h+Me+$,Y+h,"invalid Cell changes",f,Je+m+Me+$,Y+m,"invalid Value changes",Je+"sorted "+p+Me+$],dt=[t,"tabular ","keyed value "],rt=e=>new Set(G(e)||L(e)?e:[e]),st=(e,t)=>e?.add(t),It=/[^A-Za-z]+/,$t=/[^A-Za-z0-9]+/,ct=/^( *)\/\*\* *(.*?) *\*\/$/gm,it=(e,t,l)=>e.substring(t,l),ut=e=>e.includes(","),pt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return z(e,n)?pt(e,t,l,a+1):(Q(e,n,l),n)},bt=e=>e.replace(ct,((e,t,l)=>{const a=77-Ct(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),Ct=e=>e.length,ht=(e,l=t)=>e.join(l),gt=e=>e.flat(1e3),mt=(e,t=0)=>ht(V(e.split($t),((e,l)=>(l>0||t?K:X)(it(e,0,1))+it(e,1)))),ft=e=>K(ht((e&&!It.test(e[0])?e:" "+e).split($t),"_")),wt=e=>`/** ${e}. */`,yt=(...e)=>ht(k(e,(e=>e)),", "),Tt=(...e)=>"{"+ht(e,"; ")+"}",vt=(...e)=>Tt(...V(e,(e=>"readonly "+e))),Vt=()=>{const e=[U(),U(),U(),U()],l=U(),a=U();return[(...e)=>ht(gt(e),"\n"),(t,l,...a)=>v(a,(a=>v([0,1],(n=>(t??n)==n?st(q(e[n],l,rt),a):0)))),(e,a,n,o=t,d=1)=>pt(l,e,[a,n,o,d]),(e,t,l)=>pt(a,e,G(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>_(a,e)===t?e:pt(a,e,t),(l=0)=>V([...T(H(e[l],((e,t)=>`import {${ht(T(W(e)),", ")}} from '${t}';`)),((e,t)=>ut(e)!=ut(t)?ut(e)?-1:1:e>t?1:-1)),t],(e=>e.replace("{React}","React"))),()=>H(l,(([e,l,a,n],o)=>[wt(l),`${n?se+" ":t}type ${o}${a} = ${e};`,t])),()=>H(a,((e,l)=>(e=G(e)?e:[e],S(e,P(e)+";"),[`const ${l} = ${E(e)}`,e,t])))]},xt=Object,Rt=xt.keys,kt=xt.freeze,St=e=>N(e,xt)&&e.constructor==xt,Pt=(e,t)=>V(xt.entries(e),(([e,l])=>t(l,e))),At=e=>St(e)&&R(Rt(e)),Et=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Dt=(e,t,l)=>[t=>Pt(e,((e,a)=>t(a,mt(a,1),l(ft(a),`'${a}'`)))),(t,a)=>Pt(e[t],((e,t)=>a(t,e[o],e[d],l(ft(t),`'${t}'`),mt(t,1)))),e=>Pt(t,((t,a)=>e(a,t[o],t[d],l(ft(a),`'${a}'`),mt(a,1))))],Ot=(e,l,a,n)=>[(n,o)=>{const d=n+": "+o,s=e(i,Tt(...l((e=>`'${e}'?: {[rowId: Id]: `+Tt(...a(e,((e,l,a)=>`'${e}'${L(a)?"?":t}: ${l}`)))+"}"))),Be(1,5)),I=e(i+Ne,Tt(...l((e=>`'${e}'?: {[rowId: Id]: `+Tt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Be(1,5,1)),$=e(c+Ie,"keyof "+s,"A "+c+" Id in "+xe),m=`<TId extends ${$}>`,f=e(c,be+`<${s}[TId]>`,"A "+c+" in "+xe,m),w=e(c+Ne,be+`<${I}[TId]>`,"A "+c+" in "+xe+Le,m),y=e(p,f+"<TId>[Id]","A "+p+" in a "+c,m),T=e(p+Ne,w+"<TId>[Id]","A "+p+" in a "+c+Le,m),v=e(h+Ie,`Extract<keyof ${y}<TId>, Id>`,"A "+h+" Id in a "+p,m),V=e(h,be+`<${s}[TId]>[Id][CId]`,"A "+h+" in a "+p,`<TId extends ${$}, CId extends ${v}<TId>>`),x=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,h+" Ids and types in a "+p,`<TId extends ${$}, CId = ${v}<TId>>`,0),R=e(h+le,`(...[cellId, cell]: ${x}<TId>)`+Oe,He(Y+h+" Id, and "+h),m),k=e(p+le,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Oe+") "+Oe,He(Y+p+" Id, and a "+h+" iterator"),m),S=e("TableIdForEachRowArray",`TId extends ${$} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${Oe}] : never`,c+" Ids and callback types",`<TId = ${$}>`,0),P=e(c+le,`(...[tableId, forEachRow]: ${S})`+Oe,He(Y+c+" Id, and a "+p+" iterator"),t),A=e("TableIdRowIdCellIdArray",`TId extends ${$} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${$}>`,0),E=e("GetCellChange",`(...[tableId, rowId, cellId]: ${A}) => CellChange`,ee+" returning information about any Cell's changes during a "+ke),D=e(i+r,`(${d}, getCellChange: ${E}${pe})`+Oe,Qe(1)),O=e(u+r,`(${d})`+Oe,Qe(2)),N=e(c+r,`(${d}, tableId: ${$}, getCellChange: ${E}${pe})`+Oe,Qe(3)),j=e(b+r,`(${d}, tableId: ${$})`+Oe,Qe(4,3)),M=e(C+r,"("+yt(d,"tableId: "+$,"cellId: Id"+pe,"descending: boolean","offset: number","limit: number"+pe,"sortedRowIds: Ids")+")"+Oe,Qe(13,3)),G=e(p+r,"("+yt(""+d,"tableId: "+$,we,`getCellChange: ${E}${pe}`)+")"+Oe,Qe(5,3)),J=e(g+r,"("+yt(""+d,"tableId: "+$,we)+")"+Oe,Qe(6,5)),z=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${we}, cellId: CId, newCell: ${V}<TId, CId> ${pe}, oldCell: ${V}<TId, CId> ${pe}, getCellChange: ${E} ${pe}] : never`,"Cell args for CellListener",`<TId extends ${$}, CId = ${v}<TId>>`,0),W=e("CellListenerArgsArrayOuter",`TId extends ${$} ? `+z+"<TId> : never","Table args for CellListener",`<TId = ${$}>`,0);return[s,I,$,f,w,y,T,v,V,R,k,P,D,O,N,j,M,G,J,e(h+r,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${W})`+Oe,Qe(7,5)),e($e+h+r,`(${d}, tableId: Id, ${we}, cellId: Id, invalidCells: any[])`+Oe,Qe(8))]},(l,a)=>{const o=l+": "+a,d=e(f,Tt(...n(((e,l,a)=>`'${e}'${L(a)?"?":t}: ${l}`))),Be(2,5)),s=e(f+Ne,Tt(...n(((e,t)=>`'${e}'?: ${t}`))),Be(2,5,1)),I=e(m+Ie,"keyof "+d,"A "+m+" Id in "+xe),$=e(m,be+`<${d}[VId]>`,"A "+m+" Id in "+xe,`<VId extends ${I}>`),c=e("ValueIdValueArray",`VId extends ${I} ? [valueId: VId, value: ${$}<VId>] : never`,m+" Ids and types in "+xe,`<VId = ${I}>`,0),i=e(m+le,`(...[valueId, value]: ${c})`+Oe,He(Y+m+" Id, and "+m)),u=e("GetValueChange",`(valueId: ${I}) => ValueChange`,ee+" returning information about any Value's changes during a "+ke),p=e(f+r,`(${o}, getValueChange: ${u}${pe})`+Oe,Qe(9)),b=e(w+r,`(${o})`+Oe,Qe(10)),C=e("ValueListenerArgsArray",`VId extends ${I} ? [${o}, valueId: VId, newValue: ${$}<VId> ${pe}, oldValue: ${$}<VId> ${pe}, getValueChange: ${u} ${pe}] : never`,"Value args for ValueListener",`<VId = ${I}>`,0);return[d,s,I,$,i,p,b,e(m+r,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Oe,Qe(11)),e($e+m+r,`(${o}, valueId: Id, invalidValues: any[])`+Oe,Qe(12))]},(t,l)=>e(Re+r,`(${t}: ${l}, cellsTouched: boolean, valuesTouched: boolean)`+Oe,ee+" listening to the completion of a "+ke)],Nt=(e,l=t,a=t)=>`store.${e}(${l})`+(a?" as "+a:t),Lt=(e,l=t)=>`fluent(() => ${Nt(e,l)})`,jt=(e,l=t,a=t)=>`store.${e}(${l?l+", ":t}proxy(listener)${a?", "+a:t})`,Mt=(e,l,n)=>{const[s,y,T,V,x,R,k,P]=Vt(),[E,D,O]=Dt(e,l,x),[N,j,G]=Ot(T,E,D,O),J=U(),z=(e=0)=>H(J,(([l,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${l}): ${a} => ${n},`]:[r+d+`(${l}): ${a};`];return e||A(s,wt(o)),S(s,t),s})),B=(e,l,a,n,o,d=t)=>pt(J,e,[l,a,n,o,d]),F=(e,l,a,n,o,d=t,r=t,s=t)=>B(nt[e]+l+(4==e?Ce:t)+a,d,n,(n==X?Lt:Nt)(nt[e]+(4==e?Ce:t)+a,r,e?void 0:n),o,s),q=(e,l,a,n=t,o=t,d=1,s=t)=>B(I+e+r,(n?n+", ":t)+ie+": "+l+(d?", mutator?: boolean":t),Ie,jt(I+e+r,o,d?"mutator":t),a,s),K=`./${mt(n)}.d`,X=mt(n,1),Y=mt(X),ee=[],te=U();let ae=[],ne=[];if(y(1,K,X,`create${X} as create${X}Decl`),!At(e)){y(0,"tinybase","CellChange"),y(null,"tinybase",$);const[e,l,n,r,s,I,m,f,w,V,R,k,P,A,O,j,G,J,z,B,Z]=N(Y,X),H=U();E(((e,t)=>{const l=`<'${e}'>`,a=[T(t+c,r+l,fe+` the '${e}' `+c),T(t+c+Ne,s+l,fe+` the '${e}' `+c+Le),T(t+p,I+l,Fe(e)),T(t+p+Ne,m+l,Fe(e,1)),T(t+h+Ie,f+l,`A Cell Id for the '${e}' `+c),T(t+h+le,V+l,He(`a Cell Id and value from a Row in the '${e}' `+c)),T(t+p+le,R+l,He(`a Row Id from the '${e}' Table, and a Cell iterator`))];Q(H,e,a),y(1,K,...a)})),y(1,K,e,l,n,f,k,P,A,O,j,G,J,z,B,Z),ae=[e,l,n,f,P,A,O,j,G,J,z,B,H],v([[e],[a],[X,"tables: "+l,"tables"],[X]],(([e,l,a],n)=>F(n,t,i,e,Be(1,n),l,a))),F(0,t,u,n+Ve,Ue(c,xe)),F(5,t,c,De,_e(c,xe),"tableCallback: "+k,"tableCallback as any"),E(((e,l,n)=>{const[o,d,r,s,I,i,u]=_(H,e);v([[o],[a],[X,"table: "+d,", table"],[X]],(([a,o,d=t],r)=>F(r,l,c,a,Ye(e,r),o,n+d))),F(0,l,b,$,Ue(p,Ke(e)),t,n),F(0,l,C,$,Ue(p,Ke(e),1),"cellId?: "+I+ve,n+", cellId, descending, offset, limit"),F(5,l,p,De,_e(p,Ke(e)),"rowCallback: "+u,n+", rowCallback as any"),v([[r],[a],[X,", row: "+s,", row"],[X],[X,", partialRow: "+s,", partialRow"]],(([a,o=t,d=t],r)=>F(r,l,p,a,et(e,r),we+o,n+", rowId"+d))),F(6,l,p,Ie+pe,"Add a new Row to "+Ke(e),"row: "+s,n+", row"),F(0,l,g,I+Ve,Ue(h,Xe(e)),we,n+", rowId"),F(5,l,h,De,_e(h,Xe(e)),we+", cellCallback: "+i,n+", rowId, cellCallback as any"),D(e,((o,d,r,s,I)=>{const $="Map"+mt(d,1);Q(te,d,$);const c=d+(L(r)?pe:t);v([[c],[a],[X,`, cell: ${d} | `+$,", cell as any"],[X]],(([a,d=t,r=t],$)=>F($,l+I,h,a,tt(e,o,$),we+d,n+", rowId, "+s+r)))}))})),F(0,t,i+ce,ce,Be(1,6)),F(2,t,i+ce,X,Be(1,7),"tablesJson: "+ce,"tables"+ce),q(i,P,Be(1,8)+" changes"),q(u,A,qe(2,0,1)),q(c,O,qe(3,0),`tableId: ${n} | null`,"tableId"),q(b,j,qe(4,3,1),`tableId: ${n} | null`,"tableId"),q(C,G,qe(13,3,1),yt("tableId: TId",`cellId: ${f}<TId>`+pe,"descending: boolean","offset: number","limit: number"+pe),yt("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),q(p,J,qe(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),q(g,z,qe(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),q(h,B,qe(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${ht(E((e=>_(H,e)?.[4]??t))," | ")} | null`,"tableId, rowId, cellId"),q($e+h,Z,me+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),y(1,K,...W(te)),S(ee,".set"+i+ye+"({",gt(E(((e,l,a)=>[`[${a}]: {`,...D(e,((e,l,a,n)=>`[${n}]: {[${x(ft(o),`'${o}'`)}]: ${x(ft(l),`'${l}'`)}${L(a)?t:`, [${x(ft(d),`'${d}'`)}]: `+(M(a)?x(ft(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(!At(l)){const[e,l,n,r,s,I,$,c,i]=j(Y,X);y(1,K,e,l,n,s,I,$,c,i),ne=[e,l,n,I,$,c],v([[e],[a],[X,"values: "+l,"values"],[X],[X,"partialValues: "+l,"partialValues"]],(([e,l,a],n)=>F(n,t,f,e,Be(2,n),l,a))),F(0,t,w,n+Ve,Ue(m,xe)),F(5,t,m,"void",_e(m,xe),"valueCallback: "+s,"valueCallback as any"),O(((e,l,n,o,d)=>{const r="Map"+mt(l,1);Q(te,l,r),v([[l],[a],[X,`value: ${l} | `+r,", value as any"],[X]],(([l,a,n=t],r)=>F(r,d,m,l,lt(e,r),a,o+n)))})),F(0,t,f+ce,ce,Be(2,6)),F(2,t,f+ce,X,Be(2,7),"valuesJson: "+ce,"values"+ce),q(f,I,Be(2,8)+" changes"),q(w,$,qe(10,0,1)),q(m,c,qe(11,0),`valueId: ${n} | null`,"valueId"),q($e+m,i,me+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),y(1,K,...W(te)),y(0,"tinybase","ValueChange"),S(ee,".set"+f+ye+"({",O(((e,l,a,n)=>[`[${n}]: {[${x(ft(o),`'${o}'`)}]: ${x(ft(l),`'${l}'`)}${L(a)?t:`, [${x(ft(d),`'${d}'`)}]: `+(M(a)?x(ft(a),`'${a}'`):a)}},`])),"})")}Z(te,((e,t)=>T(t,`(cell: ${e}${pe}) => `+e,`Takes a ${e} Cell value and returns another`))),y(null,"tinybase","DoRollback",Ie,"IdOrNull",ce,"Store"),F(0,t,ce,ce,Be(0,6)),F(2,t,ce,X,Be(0,7),"tablesAndValuesJson: "+ce,"tablesAndValuesJson"),F(7,t,ke,"Return",Se,re,"actions, doRollback","<Return>"),F(7,t,"start"+Re,X,Pe),F(7,t,"finish"+Re,X,Ae,de,"doRollback");const oe=G(Y,X);return q("WillFinish"+Re,oe,me+" just before "+Ee,t,t,0),q("DidFinish"+Re,oe,me+" just after "+Ee,t,t,0),F(7,t,"call"+r,X,"Manually provoke a listener to be called","listenerId: Id","listenerId"),F(3,t,r,X,"Remove a listener that was previously added to "+xe,"listenerId: Id","listenerId"),B("getStore",t,"Store","store",at[0]+" the underlying Store object"),y(1,"tinybase","createStore"),y(1,K,X,`create${X} as create${X}Decl`,oe),x("store",["createStore()",...ee]),V("fluent","actions: () => Store",["actions();",`return ${Y};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Y}, ...params)`),x(Y,["{",...z(1),"}"]),[s(...R(0),...k(),se+" interface "+X+" {",...z(0),"}",t,wt(`Creates a ${X} object`),se+" function create"+X+"(): "+X+";"),s(...R(1),se+" const create"+X+": typeof create"+X+"Decl = () => {",...P(),`return Object.freeze(${Y});`,"};"),ae,ne]},Gt=e=>s+e,Jt=e=>yt(Gt(e),Gt(e)+ne),zt="debugIds?: boolean",Wt="debugIds={debugIds}",Bt="then"+oe,Ft="Parameter",Ut=": (parameter: "+Ft+", store: Store) => ",_t="const contextValue = useContext(Context);",Zt=", based on a parameter",Ht=": ",Qt="<"+Ft+",>",qt=Ft+"ized"+le+"<"+Ft+">",Kt="rowId",Xt="rowId={rowId}",Yt=", separator, debugIds",el="separator?: ReactElement | string",tl="then?: (store: Store",ll=yt(tl+")"+Oe,Bt),al="then, then"+ne,nl=Kt+Ht+Ie,ol="View",dl=(e,...t)=>yt(...t,ie+": "+e,ie+oe,"mutator?: boolean"),rl=(...e)=>yt(...e,ie,ie+ne,"mutator"),sl=(e,l,a,n,o)=>{const[d,s,I,y,T,v,V,x]=Vt(),[R,k,P]=Dt(e,l,T),E=`./${mt(a)}.d`,D=`./${mt(a)}-ui-react.d`,O="tinybase/ui-react",N=mt(a,1),j=mt(N),M=N+"Or"+N+Ie,G=j+"Or"+N+Ie,J=j+`={${j}}`,z=U(),W=(e,l,a,n,o,d=t)=>(s(1,D,e+" as "+e+"Decl"),pt(z,e,[l,a,n,o,d])),B=(e,l,a,n,o,d=t)=>W("use"+e,l,a,n,o,d),F=(e,l,a,n,o=t,d=t,r=t,I=t,$=t)=>(s(1,O,`use${l} as use${l}Core`),B(e,yt(o,X,I),a,ne+`(${G}, use${l}Core, [`+(d||t)+($?"], ["+$:t)+"]);",n,r)),Z=(e,t,l,a)=>W(e,t,1,l,a),Q=(e=0)=>H(z,(([l,a,n,o,d],r)=>{const s=e?[se+` const ${r}: typeof ${r}Decl = ${d}(${l}): ${1==a?"any":a} =>`,n]:[se+` function ${r}${d}(${l}): ${1==a?"ComponentReturnType":a};`];return e||A(s,wt(o)),S(s,t),s}));s(null,"tinybase",Ie,"Store",le,Ft+"ized"+le),s(0,O,"ComponentReturnType"),s(null,O,"ExtraProps"),s(0,E,N);const q=I(M,N+" | "+Ie,`Used when you need to refer to a ${N} in a React hook or component`),K=I(ge+he,vt(j+ue+N,j+`ById?: {[${j}Id: Id]: ${N}}`),`Used with the ${ge} component, so that a `+N+" can be passed into the context of an application");s(0,"react","ReactElement","ComponentType"),s(1,"react","React"),s(1,D,q,K);const X=G+ue+q;T("{createContext, useContext, useMemo}","React"),T("Context",`createContext<[${N}?, {[${j}Id: Id]: ${N}}?]>([])`),B("Create"+N,`create: () => ${N}, create`+oe,N,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${N} within a React application with convenient memoization`);const ee=B(N,"id?: Id",N+pe,["{",_t,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${N} from within a ${ge} component context`),ne=y("useHook",G+`: ${q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${j} = ${ee}(${G} as Id);`,`return hook(...preParams, ((${G} == null || typeof ${G} == 'string')`,`? ${j} : ${G})?.getStore(), ...postParams)`]),de=y("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),re=y("wrap",yt("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),$e=T("NullComponent","() => null");if(!At(e)){const[e,l,a,o,d,m,f,w,T,v,V,x,S]=n;s(null,E,e,l,a,d,m,f,w,T,v,V,x),s(0,E,o),s(1,E,N),s(null,"tinybase",$,"IdOrNull");const P=y("tableView",`{${j}, rowComponent, getRowComponentProps`+Yt+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${re}(rowIds.map((rowId) => (`,"<Row","{..."+de+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",Xt,J,Wt,"/>","))",Yt,", tableId,",");"]),A=y("getDefaultTableComponent","tableId: Id",ht(R(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+$e),O=y("getDefaultCellComponent","tableId: Id, cellId: Id",ht(R(((e,t,l)=>`tableId == ${l} ? ${ht(k(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+$e} : `)))+$e);F(i,i,e,Be(1,0)+te);const M=F(u,u,a+Ve,Ue(c,xe)+te);F(Te+i+le,Te+i+le,qt,Be(1,9)+Zt,yt(Gt(i)+Ut+l,Gt(i)+oe),Jt(i),Qt,yt(tl,`tables: ${l})`+Oe,Bt),al),F(ae+i+le,ae+i+le,le,Be(1,12),t,t,t,ll,al);const G=I(h+he,vt("tableId?: TId","rowId: Id","cellId?: CId",j+ue+N,zt),Ze(Y+h),`<TId extends ${a}, CId extends ${o}<TId>>`),z=I(p+he,vt("tableId?: TId","rowId: Id",j+ue+N,"cellComponents?: {readonly [CId in "+o+`<TId>]?: ComponentType<${G}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${o}<TId>) => ExtraProps`,el,zt),Ze(Y+p),`<TId extends ${a}>`),W=I(c+he,vt("tableId?: TId",j+ue+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",el,zt),Ze(Y+c),`<TId extends ${a}>`),B=I("Sorted"+c+he,vt("tableId?: TId","cellId?: "+o+"<TId>","descending?: boolean","offset?: number","limit?: number",j+ue+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",el,zt),Ze(Y+"sorted "+c),`<TId extends ${a}>`),U=I(i+he,vt(j+ue+N,"tableComponents?: {readonly [TId in "+a+`]?: ComponentType<${W}<TId>>;}`,`getTableComponentProps?: (tableId: ${a}) => ExtraProps`,el,zt),Ze(We(1,1)));s(1,D,U,W,B,z,G),Z(i+ol,"{"+j+", tableComponents, getTableComponentProps"+Yt+"}: "+U,[re+`(${M}(${j}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+A+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${de}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Wt,"/>;","}), separator)"],Be(1,13)+te),R(((e,l,a)=>{const[n,o,d,r,I]=_(S,e);s(null,E,n,o,d,r,I),F(l+c,c,n,Ye(e)+te,t,a);const i=F(l+b,b,$,Ue(p,Ke(e))+te,t,a),u=F(l+C,C,$,Ue(p,Ke(e),1)+te,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");F(l+p,p,d,et(e)+te,nl,yt(a,Kt));const m=F(l+g,g,I+Ve,Ue(h,Xe(e))+te,nl,yt(a,Kt));F(Te+l+c+le,Te+c+le,qt,Ye(e,9)+Zt,yt(Gt(c)+Ut+o,Gt(c)+oe),yt(a,Jt(c)),Qt,yt(tl,`table: ${o})`+Oe,Bt),al),F(ae+l+c+le,ae+c+le,le,Ye(e,12),t,a,t,ll,al),F(Te+l+p+le,Te+p+le,qt,et(e,9)+Zt,yt(nl,Gt(p)+Ut+r,Gt(p)+oe),yt(a,Kt,Jt(p)),Qt,yt(tl,`row: ${r})`+Oe,Bt),al),F("Add"+l+p+le,"Add"+p+le,qt,et(e,10)+Zt,yt(Gt(p)+Ut+r,Gt(p)+oe),yt(a,Jt(p)),Qt,"then?: ("+yt(nl+pe,"store: Store","row: "+r+")"+Oe,"then"+oe),al),F(Te+l+Ce+p+le,Te+Ce+p+le,qt,et(e,11)+Zt,yt(nl,Gt(Ce+p)+Ut+r,Gt(Ce+p)+oe),yt(a,Kt,Jt(Ce+p)),Qt,yt(tl,`partialRow: ${r})`+Oe,Bt),al),F(ae+l+p+le,ae+p+le,le,et(e,12),nl,yt(a,Kt),t,ll,al);const f=Z(l+p+ol,"{rowId, "+j+", cellComponents, getCellComponentProps"+Yt+`}: ${z}<'${e}'>`,[re+`(${m}(rowId, ${j}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+O+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${de}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,Xt,"cellId={cellId}",J,Wt,"/>;","})"+Yt+", rowId)"],et(e,13)+te);Z(l+"Sorted"+c+ol,"{cellId, descending, offset, limit, ...props}: "+B+`<'${e}'>`,P+"(props, "+u+`(cellId, descending, offset, limit, props.${j}), ${a}, ${f});`,Ye(e,13)+", sorted"+te),Z(l+c+ol,`props: ${W}<'${e}'>`,P+"(props, "+i+`(props.${j}), ${a}, ${f});`,Ye(e,13)+te),k(e,((n,o,d,r,I)=>{const $="Map"+mt(o,1);s(0,E,$),s(1,E,$);const c=F(l+I+h,h,o+(L(d)?pe:t),tt(e,n)+te,nl,yt(a,Kt,r));F(Te+l+I+h+le,Te+h+le,qt,tt(e,n,9)+Zt,yt(nl,Gt(h)+Ut+o+" | "+$,Gt(h)+oe),yt(a,Kt,r,Jt(h)),Qt,yt(tl,`cell: ${o} | ${$})`+Oe,Bt),al),F(ae+l+I+h+le,ae+h+le,le,tt(e,n,12),yt(nl,"forceDel?: boolean"),yt(a,Kt,r,"forceDel"),t,ll,al),Z(l+I+h+ol,`{rowId, ${j}, debugIds}: `+G+`<'${e}', '${n}'>`,[re+`('' + ${c}(rowId, `+j+`) ?? '', undefined, debugIds, ${r})`],tt(e,n,13)+te)}))}));const H=ht(R((e=>_(S,e)?.[4]??t))," | ");F(i+r,i+r,De,Be(1,8)+" changes",dl(d),rl()),F(u+r,u+r,De,qe(2,0,1),dl(m),rl()),F(c+r,c+r,De,qe(3,0),dl(f,`tableId: ${a} | null`),rl("tableId")),F(b+r,b+r,De,qe(4,3,1),dl(w,`tableId: ${a} | null`),rl("tableId")),F(C+r,C+r,De,qe(13,3,1),dl(T,`tableId: ${a} | null`,"cellId: "+H+pe,"descending: boolean","offset: number","limit: number"+pe),rl("tableId","cellId","descending","offset","limit")),F(p+r,p+r,De,qe(5,3),dl(v,`tableId: ${a} | null`,Kt+": IdOrNull"),rl("tableId",Kt)),F(g+r,g+r,De,qe(6,5,1),dl(V,`tableId: ${a} | null`,Kt+": IdOrNull"),rl("tableId",Kt)),F(h+r,h+r,De,qe(7,5),dl(x,`tableId: ${a} | null`,Kt+": IdOrNull",`cellId: ${H} | null`),rl("tableId",Kt,"cellId"))}if(!At(l)){const[e,l,a,n,d,$]=o;s(null,E,...o),s(1,E,N);const c=y("getDefaultValueComponent","valueId: Id",ht(P(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+$e);F(f,f,e,Be(2,0)+te);const i=F(w,w,a+Ve,Ue(m,xe)+te);F(Te+f+le,Te+f+le,qt,Be(2,9)+Zt,yt(Gt(f)+Ut+l,Gt(f)+oe),Jt(f),Qt,yt(tl,`values: ${l})`+Oe,Bt),al),F(Te+Ce+f+le,Te+Ce+f+le,qt,Be(2,11)+Zt,yt(Gt(Ce+f)+Ut+l,Gt(Ce+f)+oe),Jt(Ce+f),Qt,yt(tl,`partialValues: ${l})`+Oe,Bt),al),F(ae+f+le,ae+f+le,le,Be(2,12),t,t,t,ll,al);const u=I(m+he,vt("valueId?: VId",j+ue+N,zt),Ze("a Value"),`<VId extends ${a}>`),p=I(f+he,vt(j+ue+N,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${u}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,el,zt),Ze(We(2,1)));s(1,D,p,u),Z(f+ol,"{"+j+", valueComponents, getValueComponentProps"+Yt+"}: "+p,[re+`(${i}(${j}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+c+"(valueId);","return <Value",`{...${de}(getValueComponentProps, valueId)}`,"key={valueId}",J,Wt,"/>;","}), separator)"],Be(2,13)+te),P(((e,l,a,n,o)=>{const d="Map"+mt(l,1);s(0,E,d),s(1,E,d);const r=F(o+m,m,l,lt(e)+te,t,n);F(Te+o+m+le,Te+m+le,qt,lt(e,9)+Zt,yt(Gt(m)+Ut+l+" | "+d,Gt(m)+oe),yt(n,Jt(m)),Qt,yt(tl,`value: ${l} | ${d})`+Oe,Bt),al),F(ae+o+m+le,ae+m+le,le,lt(e,12),t,n,t,ll,al),Z(o+m+ol,`{${j}, debugIds}: ${u}<'${e}'>`,[re+`('' + ${r}(`+j+`) ?? '', undefined, debugIds, ${n})`],lt(e,13)+te)})),F(f+r,f+r,De,Be(2,8)+" changes",dl(n),rl()),F(w+r,w+r,De,qe(10,0,1),dl(d),rl()),F(m+r,m+r,De,qe(11,0),dl($,`valueId: ${a} | null`),rl("valueId"))}return Z(ge,`{${j}, ${j}ById, children}: `+K+" & {children: React.ReactNode}",["{",_t,"return (","<Context."+ge,"value={useMemo(",`() => [${j} ?? contextValue[0], {...contextValue[1], ...${j}ById}],`,`[${j}, ${j}ById, contextValue],`,")}>","{children}",`</Context.${ge}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[d(...v(0),...V(),...Q(0)),d(...v(1),...x(),...Q(1))]},Il=(e,l,a)=>{if(At(e)&&At(l))return[t,t,t,t];const[n,o,d,r]=Mt(e,l,a);return[n,o,...sl(e,l,a,d,r)]},$l={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},cl=Et((e=>{const t=()=>{const t=D(e.getTablesSchemaJson());return!At(t)||y(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=U();if(y(a,(t=>y(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=q(n,a,(()=>[J(o),U(),[0],0])),[r,s,[I]]=d,$=q(s,o,(()=>0))+1;return $>I&&(d[2]=[$,o]),Q(s,o,$),d[3]++,r==J(o)})))))return t[l]={},B(n,(([e,,[,n],r],s)=>{t[l][s]={[o]:e,...r==x(a)?{[d]:n}:{}}})),1}))?t:{}},l=()=>{const t=D(e.getValuesSchemaJson());return At(t)&&e.forEachValue(((e,l)=>{t[e]={[o]:J(l)}})),t},a=e=>Il(t(),l(),e),n=async e=>{const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(await import("prettier")).format}catch(e){l=e=>e}return V(a(e),((e,a)=>bt(l(e,{...$l,filepath:"_."+t[a]}))))};return kt({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let r=0,s=0;const I={};d(((e,l)=>{r++;let a=0;l((()=>a++)),s+=a,t&&(I[e]={rowCells:a})})),a+=r,n+=s,t&&(o[e]={tableRows:r,tableCells:s,rows:I})})),{totalTables:l,totalRows:a,totalCells:n,totalValues:x(e.getValueIds()),jsonLength:Ct(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));export{cl as createTools};
1
+ const e=e=>typeof e,t="",l=e(t),a=e(!0),n=e(0),o="type",d="default",r="Listener",s="get",I="add",$="Ids",c="Table",i=c+"s",u=c+$,p="Row",b=p+$,C="Sorted"+p+$,h="Cell",g=h+$,m="Value",w=m+"s",f=m+$,y=(e,t)=>e.every(t),T=(e,t)=>e.sort(t),v=(e,t)=>e.forEach(t),V=(e,t)=>e.map(t),x=e=>e.length,R=e=>0==x(e),k=(e,t)=>e.filter(t),S=(e,...t)=>e.push(...t),P=e=>e.pop(),A=(e,...t)=>e.unshift(...t),E=e=>e.shift(),D=JSON.parse,O=isFinite,N=(e,t)=>e instanceof t,L=e=>null==e,j=e=>e==l||e==a,M=t=>e(t)==l,G=e=>Array.isArray(e),J=t=>{const l=e(t);return j(l)||l==n&&O(t)?l:void 0},z=(e,t)=>e?.has(t)??!1,W=e=>[...e?.values()??[]],B=(e,t)=>e?.forEach(t),F=(e,t)=>e?.delete(t),U=e=>new Map(e),_=(e,t)=>e?.get(t),Z=(e,t)=>B(e,((e,l)=>t(l,e))),H=(e,t)=>V([...e?.entries()??[]],(([e,l])=>t(l,e))),Q=(e,t,l)=>L(l)?(F(e,t),e):e?.set(t,l),q=(e,t,l)=>(z(e,t)||Q(e,t,l()),_(e,t)),K=e=>e.toUpperCase(),X=e=>e.toLowerCase(),Y="a ",ee="A function for",te=", and registers a listener so that any changes to that result will cause a re-render",le="Callback",ae="Del",ne="Deps",oe=ne+"?: React.DependencyList",de="doRollback?: DoRollback",re="actions: () => Return, "+de,se="export",Ie="Id",$e="Invalid",ce="Json",ie=X(r),ue="?: ",pe=" | undefined",be="NonNullable",Ce="Partial",he="Props",ge="Provider",me=`Registers a ${ie} that will be called`,we="Represents",fe="rowId: "+Ie,ye="Schema",Te="Set",ve=", descending?: boolean, offset?: number, limit?: number",Ve="[]",xe="the Store",Re="Transaction",ke=X(Re),Se="Execute a "+ke+" to make multiple mutations",Pe="Explicitly starts a "+ke,Ae="Explicitly finishes a "+ke,Ee="the end of the "+ke,De="void",Oe=" => "+De,Ne="WhenSet",Le=" when setting it",je=Y+"string serialization of",Me=" ",Ge="Gets a callback that can ",Je="the ",ze=" the schema for",We=(e=0,l=0)=>`the ${dt[e]}content of`+(l?Me+xe:t),Be=(e=0,l,a=0)=>at[l]+Me+We(e,1)+(a?" when setting it":t),Fe=(e,t=0)=>we+` a Row when ${t?"s":"g"}etting ${We()} the '${e}' `+c,Ue=(e,t,l=0)=>`Gets ${l?"sorted, paginated":"the"} Ids of the ${e}s in `+t,_e=(e,t)=>`Calls a function for each ${e} in `+t,Ze=e=>"The props passed to a component that renders "+e,He=e=>"A function that takes "+e,Qe=(e,t=0)=>ee+" listening to changes to "+ot[e]+" in "+ot[t],qe=(e,l,a=0)=>me+" whenever "+ot[e]+" in "+ot[l]+" change"+(a?t:"s"),Ke=e=>`the '${e}' `+c,Xe=e=>"the specified Row in "+Ke(e),Ye=(e,t=0)=>at[t]+` ${We()} `+Ke(e),et=(e,t=0)=>at[t]+` ${We()} `+Xe(e),tt=(e,t,l=0)=>at[l]+` the '${t}' Cell for `+Xe(e),lt=(e,t=0)=>at[t]+` the '${e}' Value`,at=["Gets","Checks existence of","Sets","Deletes","Sets part of",we,"Gets "+je,"Sets "+je,me+" whenever",Ge+"set",Ge+"add",Ge+"set part of",Ge+"delete","Renders","Gets "+je+ze,"Sets"+ze,"Deletes"+ze],nt=[s,"has","set","del","set","forEach",I,t],ot=[xe,i,Je+c+Me+$,Y+c,Je+p+Me+$,Y+p,Je+h+Me+$,Y+h,"invalid Cell changes",w,Je+m+Me+$,Y+m,"invalid Value changes",Je+"sorted "+p+Me+$],dt=[t,"tabular ","keyed value "],rt=e=>new Set(G(e)||L(e)?e:[e]),st=(e,t)=>e?.add(t),It=/[^A-Za-z]+/,$t=/[^A-Za-z0-9]+/,ct=/^( *)\/\*\* *(.*?) *\*\/$/gm,it=(e,t,l)=>e.substring(t,l),ut=e=>e.includes(","),pt=(e,t,l,a=1)=>{const n=`${t}${1==a?"":a}`;return z(e,n)?pt(e,t,l,a+1):(Q(e,n,l),n)},bt=e=>e.replace(ct,((e,t,l)=>{const a=77-Ct(t);return`${t}/**\n${l.replace(RegExp(`([^\\n]{1,${a}})(\\s|$)`,"g"),t+" * $1\n")}${t} */`})),Ct=e=>e.length,ht=(e,l=t)=>e.join(l),gt=e=>e.flat(1e3),mt=(e,t=0)=>ht(V(e.split($t),((e,l)=>(l>0||t?K:X)(it(e,0,1))+it(e,1)))),wt=e=>K(ht((e&&!It.test(e[0])?e:" "+e).split($t),"_")),ft=e=>`/** ${e}. */`,yt=(...e)=>ht(k(e,(e=>e)),", "),Tt=(...e)=>"{"+ht(e,"; ")+"}",vt=(...e)=>Tt(...V(e,(e=>"readonly "+e))),Vt=()=>{const e=[U(),U(),U(),U()],l=U(),a=U();return[(...e)=>ht(gt(e),"\n"),(t,l,...a)=>v(a,(a=>v([0,1],(n=>(t??n)==n?st(q(e[n],l,rt),a):0)))),(e,a,n,o=t,d=1)=>pt(l,e,[a,n,o,d]),(e,t,l)=>pt(a,e,G(l)?[`(${t}) => {`,l,"}"]:[`(${t}) => ${l}`]),(e,t)=>_(a,e)===t?e:pt(a,e,t),(l=0)=>V([...T(H(e[l],((e,t)=>`import {${ht(T(W(e)),", ")}} from '${t}';`)),((e,t)=>ut(e)!=ut(t)?ut(e)?-1:1:e>t?1:-1)),t],(e=>e.replace("{React}","React"))),()=>H(l,(([e,l,a,n],o)=>[ft(l),`${n?se+" ":t}type ${o}${a} = ${e};`,t])),()=>H(a,((e,l)=>(e=G(e)?e:[e],S(e,P(e)+";"),[`const ${l} = ${E(e)}`,e,t])))]},xt=Object,Rt=xt.keys,kt=xt.freeze,St=e=>N(e,xt)&&e.constructor==xt,Pt=(e,t)=>V(xt.entries(e),(([e,l])=>t(l,e))),At=e=>St(e)&&R(Rt(e)),Et=e=>{const t=new WeakMap;return l=>(t.has(l)||t.set(l,e(l)),t.get(l))},Dt=(e,t,l)=>[t=>Pt(e,((e,a)=>t(a,mt(a,1),l(wt(a),`'${a}'`)))),(t,a)=>Pt(e[t],((e,t)=>a(t,e[o],e[d],l(wt(t),`'${t}'`),mt(t,1)))),e=>Pt(t,((t,a)=>e(a,t[o],t[d],l(wt(a),`'${a}'`),mt(a,1))))],Ot=(e,l,a,n)=>[(n,o)=>{const d=n+": "+o,s=e(i,Tt(...l((e=>`'${e}'?: {[rowId: Id]: `+Tt(...a(e,((e,l,a)=>`'${e}'${L(a)?"?":t}: ${l}`)))+"}"))),Be(1,5)),I=e(i+Ne,Tt(...l((e=>`'${e}'?: {[rowId: Id]: `+Tt(...a(e,((e,t)=>`'${e}'?: ${t}`)))+"}"))),Be(1,5,1)),$=e(c+Ie,"keyof "+s,"A "+c+" Id in "+xe),m=`<TId extends ${$}>`,w=e(c,be+`<${s}[TId]>`,"A "+c+" in "+xe,m),f=e(c+Ne,be+`<${I}[TId]>`,"A "+c+" in "+xe+Le,m),y=e(p,w+"<TId>[Id]","A "+p+" in a "+c,m),T=e(p+Ne,f+"<TId>[Id]","A "+p+" in a "+c+Le,m),v=e(h+Ie,`Extract<keyof ${y}<TId>, Id>`,"A "+h+" Id in a "+p,m),V=e(h,be+`<${s}[TId]>[Id][CId]`,"A "+h+" in a "+p,`<TId extends ${$}, CId extends ${v}<TId>>`),x=e("CellIdCellArray",`CId extends ${v}<TId> ? [cellId: CId, cell: ${V}<TId, CId>] : never`,h+" Ids and types in a "+p,`<TId extends ${$}, CId = ${v}<TId>>`,0),R=e(h+le,`(...[cellId, cell]: ${x}<TId>)`+Oe,He(Y+h+" Id, and "+h),m),k=e(p+le,"(rowId: Id, forEachCell: (cellCallback: CellCallback<TId>) "+Oe+") "+Oe,He(Y+p+" Id, and a "+h+" iterator"),m),S=e("TableIdForEachRowArray",`TId extends ${$} ? [tableId: TId, forEachRow: (rowCallback: ${k}<TId>)${Oe}] : never`,c+" Ids and callback types",`<TId = ${$}>`,0),P=e(c+le,`(...[tableId, forEachRow]: ${S})`+Oe,He(Y+c+" Id, and a "+p+" iterator"),t),A=e("TableIdRowIdCellIdArray",`TId extends ${$} ? [tableId: TId, rowId: Id, cellId: ${v}<TId>] : never`,"Ids for GetCellChange",`<TId = ${$}>`,0),E=e("GetCellChange",`(...[tableId, rowId, cellId]: ${A}) => CellChange`,ee+" returning information about any Cell's changes during a "+ke),D=e(i+r,`(${d}, getCellChange: ${E}${pe})`+Oe,Qe(1)),O=e(u+r,`(${d})`+Oe,Qe(2)),N=e(c+r,`(${d}, tableId: ${$}, getCellChange: ${E}${pe})`+Oe,Qe(3)),j=e(b+r,`(${d}, tableId: ${$})`+Oe,Qe(4,3)),M=e(C+r,"("+yt(d,"tableId: "+$,"cellId: Id"+pe,"descending: boolean","offset: number","limit: number"+pe,"sortedRowIds: Ids")+")"+Oe,Qe(13,3)),G=e(p+r,"("+yt(""+d,"tableId: "+$,fe,`getCellChange: ${E}${pe}`)+")"+Oe,Qe(5,3)),J=e(g+r,"("+yt(""+d,"tableId: "+$,fe)+")"+Oe,Qe(6,5)),z=e("CellListenerArgsArrayInner",`CId extends ${v}<TId> ? [${d}, tableId: TId, ${fe}, cellId: CId, newCell: ${V}<TId, CId> ${pe}, oldCell: ${V}<TId, CId> ${pe}, getCellChange: ${E} ${pe}] : never`,"Cell args for CellListener",`<TId extends ${$}, CId = ${v}<TId>>`,0),W=e("CellListenerArgsArrayOuter",`TId extends ${$} ? `+z+"<TId> : never","Table args for CellListener",`<TId = ${$}>`,0);return[s,I,$,w,f,y,T,v,V,R,k,P,D,O,N,j,M,G,J,e(h+r,`(...[${n}, tableId, rowId, cellId, newCell, oldCell, getCellChange]: ${W})`+Oe,Qe(7,5)),e($e+h+r,`(${d}, tableId: Id, ${fe}, cellId: Id, invalidCells: any[])`+Oe,Qe(8))]},(l,a)=>{const o=l+": "+a,d=e(w,Tt(...n(((e,l,a)=>`'${e}'${L(a)?"?":t}: ${l}`))),Be(2,5)),s=e(w+Ne,Tt(...n(((e,t)=>`'${e}'?: ${t}`))),Be(2,5,1)),I=e(m+Ie,"keyof "+d,"A "+m+" Id in "+xe),$=e(m,be+`<${d}[VId]>`,"A "+m+" Id in "+xe,`<VId extends ${I}>`),c=e("ValueIdValueArray",`VId extends ${I} ? [valueId: VId, value: ${$}<VId>] : never`,m+" Ids and types in "+xe,`<VId = ${I}>`,0),i=e(m+le,`(...[valueId, value]: ${c})`+Oe,He(Y+m+" Id, and "+m)),u=e("GetValueChange",`(valueId: ${I}) => ValueChange`,ee+" returning information about any Value's changes during a "+ke),p=e(w+r,`(${o}, getValueChange: ${u}${pe})`+Oe,Qe(9)),b=e(f+r,`(${o})`+Oe,Qe(10)),C=e("ValueListenerArgsArray",`VId extends ${I} ? [${o}, valueId: VId, newValue: ${$}<VId> ${pe}, oldValue: ${$}<VId> ${pe}, getValueChange: ${u} ${pe}] : never`,"Value args for ValueListener",`<VId = ${I}>`,0);return[d,s,I,$,i,p,b,e(m+r,`(...[${l}, valueId, newValue, oldValue, getValueChange]: `+C+")"+Oe,Qe(11)),e($e+m+r,`(${o}, valueId: Id, invalidValues: any[])`+Oe,Qe(12))]},(t,l)=>e(Re+r,`(${t}: ${l}, cellsTouched: boolean, valuesTouched: boolean)`+Oe,ee+" listening to the completion of a "+ke)],Nt=(e,l=t,a=t)=>`store.${e}(${l})`+(a?" as "+a:t),Lt=(e,l=t)=>`fluent(() => ${Nt(e,l)})`,jt=(e,l=t,a=t)=>`store.${e}(${l?l+", ":t}proxy(listener)${a?", "+a:t})`,Mt=(e,l,n)=>{const[s,y,T,V,x,R,k,P]=Vt(),[E,D,O]=Dt(e,l,x),[N,j,G]=Ot(T,E,D,O),J=U(),z=(e=0)=>H(J,(([l,a,n,o,d],r)=>{const s=e?[r+`: ${d}(${l}): ${a} => ${n},`]:[r+d+`(${l}): ${a};`];return e||A(s,ft(o)),S(s,t),s})),B=(e,l,a,n,o,d=t)=>pt(J,e,[l,a,n,o,d]),F=(e,l,a,n,o,d=t,r=t,s=t)=>B(nt[e]+l+(4==e?Ce:t)+a,d,n,(n==X?Lt:Nt)(nt[e]+(4==e?Ce:t)+a,r,e?void 0:n),o,s),q=(e,l,a,n=t,o=t,d=1,s=t)=>B(I+e+r,(n?n+", ":t)+ie+": "+l+(d?", mutator?: boolean":t),Ie,jt(I+e+r,o,d?"mutator":t),a,s),K=`./${mt(n)}.d`,X=mt(n,1),Y=mt(X),ee=[],te=U();let ae=[],ne=[];if(y(1,K,X,`create${X} as create${X}Decl`),!At(e)){y(0,"tinybase","CellChange"),y(null,"tinybase",$);const[e,l,n,r,s,I,m,w,f,V,R,k,P,A,O,j,G,J,z,B,Z]=N(Y,X),H=U();E(((e,t)=>{const l=`<'${e}'>`,a=[T(t+c,r+l,we+` the '${e}' `+c),T(t+c+Ne,s+l,we+` the '${e}' `+c+Le),T(t+p,I+l,Fe(e)),T(t+p+Ne,m+l,Fe(e,1)),T(t+h+Ie,w+l,`A Cell Id for the '${e}' `+c),T(t+h+le,V+l,He(`a Cell Id and value from a Row in the '${e}' `+c)),T(t+p+le,R+l,He(`a Row Id from the '${e}' Table, and a Cell iterator`))];Q(H,e,a),y(1,K,...a)})),y(1,K,e,l,n,w,k,P,A,O,j,G,J,z,B,Z),ae=[e,l,n,w,P,A,O,j,G,J,z,B,H],v([[e],[a],[X,"tables: "+l,"tables"],[X]],(([e,l,a],n)=>F(n,t,i,e,Be(1,n),l,a))),F(0,t,u,n+Ve,Ue(c,xe)),F(5,t,c,De,_e(c,xe),"tableCallback: "+k,"tableCallback as any"),E(((e,l,n)=>{const[o,d,r,s,I,i,u]=_(H,e);v([[o],[a],[X,"table: "+d,", table"],[X]],(([a,o,d=t],r)=>F(r,l,c,a,Ye(e,r),o,n+d))),F(0,l,b,$,Ue(p,Ke(e)),t,n),F(0,l,C,$,Ue(p,Ke(e),1),"cellId?: "+I+ve,n+", cellId, descending, offset, limit"),F(5,l,p,De,_e(p,Ke(e)),"rowCallback: "+u,n+", rowCallback as any"),v([[r],[a],[X,", row: "+s,", row"],[X],[X,", partialRow: "+s,", partialRow"]],(([a,o=t,d=t],r)=>F(r,l,p,a,et(e,r),fe+o,n+", rowId"+d))),F(6,l,p,Ie+pe,"Add a new Row to "+Ke(e),"row: "+s+", reuseIds?: boolean",n+", row, reuseIds"),F(0,l,g,I+Ve,Ue(h,Xe(e)),fe,n+", rowId"),F(5,l,h,De,_e(h,Xe(e)),fe+", cellCallback: "+i,n+", rowId, cellCallback as any"),D(e,((o,d,r,s,I)=>{const $="Map"+mt(d,1);Q(te,d,$);const c=d+(L(r)?pe:t);v([[c],[a],[X,`, cell: ${d} | `+$,", cell as any"],[X]],(([a,d=t,r=t],$)=>F($,l+I,h,a,tt(e,o,$),fe+d,n+", rowId, "+s+r)))}))})),F(0,t,i+ce,ce,Be(1,6)),F(2,t,i+ce,X,Be(1,7),"tablesJson: "+ce,"tables"+ce),q(i,P,Be(1,8)+" changes"),q(u,A,qe(2,0,1)),q(c,O,qe(3,0),`tableId: ${n} | null`,"tableId"),q(b,j,qe(4,3,1),`tableId: ${n} | null`,"tableId"),q(C,G,qe(13,3,1),yt("tableId: TId",`cellId: ${w}<TId>`+pe,"descending: boolean","offset: number","limit: number"+pe),yt("tableId","cellId","descending","offset","limit"),1,"<TId extends TableId>"),q(p,J,qe(5,3),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),q(g,z,qe(6,5,1),`tableId: ${n} | null, rowId: IdOrNull`,"tableId, rowId"),q(h,B,qe(7,5),`tableId: ${n} | null, rowId: IdOrNull, cellId: ${ht(E((e=>_(H,e)?.[4]??t))," | ")} | null`,"tableId, rowId, cellId"),q($e+h,Z,me+" whenever an invalid Cell change was attempted","tableId: IdOrNull, rowId: IdOrNull, cellId: IdOrNull","tableId, rowId, cellId"),y(1,K,...W(te)),S(ee,".set"+i+ye+"({",gt(E(((e,l,a)=>[`[${a}]: {`,...D(e,((e,l,a,n)=>`[${n}]: {[${x(wt(o),`'${o}'`)}]: ${x(wt(l),`'${l}'`)}${L(a)?t:`, [${x(wt(d),`'${d}'`)}]: `+(M(a)?x(wt(a),`'${a}'`):a)}},`)),"},"]))),"})")}if(!At(l)){const[e,l,n,r,s,I,$,c,i]=j(Y,X);y(1,K,e,l,n,s,I,$,c,i),ne=[e,l,n,I,$,c],v([[e],[a],[X,"values: "+l,"values"],[X],[X,"partialValues: "+l,"partialValues"]],(([e,l,a],n)=>F(n,t,w,e,Be(2,n),l,a))),F(0,t,f,n+Ve,Ue(m,xe)),F(5,t,m,"void",_e(m,xe),"valueCallback: "+s,"valueCallback as any"),O(((e,l,n,o,d)=>{const r="Map"+mt(l,1);Q(te,l,r),v([[l],[a],[X,`value: ${l} | `+r,", value as any"],[X]],(([l,a,n=t],r)=>F(r,d,m,l,lt(e,r),a,o+n)))})),F(0,t,w+ce,ce,Be(2,6)),F(2,t,w+ce,X,Be(2,7),"valuesJson: "+ce,"values"+ce),q(w,I,Be(2,8)+" changes"),q(f,$,qe(10,0,1)),q(m,c,qe(11,0),`valueId: ${n} | null`,"valueId"),q($e+m,i,me+" whenever an invalid Value change was attempted","valueId: IdOrNull","valueId"),y(1,K,...W(te)),y(0,"tinybase","ValueChange"),S(ee,".set"+w+ye+"({",O(((e,l,a,n)=>[`[${n}]: {[${x(wt(o),`'${o}'`)}]: ${x(wt(l),`'${l}'`)}${L(a)?t:`, [${x(wt(d),`'${d}'`)}]: `+(M(a)?x(wt(a),`'${a}'`):a)}},`])),"})")}Z(te,((e,t)=>T(t,`(cell: ${e}${pe}) => `+e,`Takes a ${e} Cell value and returns another`))),y(null,"tinybase","DoRollback",Ie,"IdOrNull",ce,"Store"),F(0,t,ce,ce,Be(0,6)),F(2,t,ce,X,Be(0,7),"tablesAndValuesJson: "+ce,"tablesAndValuesJson"),F(7,t,ke,"Return",Se,re,"actions, doRollback","<Return>"),F(7,t,"start"+Re,X,Pe),F(7,t,"finish"+Re,X,Ae,de,"doRollback");const oe=G(Y,X);return q("WillFinish"+Re,oe,me+" just before "+Ee,t,t,0),q("DidFinish"+Re,oe,me+" just after "+Ee,t,t,0),F(7,t,"call"+r,X,"Manually provoke a listener to be called","listenerId: Id","listenerId"),F(3,t,r,X,"Remove a listener that was previously added to "+xe,"listenerId: Id","listenerId"),B("getStore",t,"Store","store",at[0]+" the underlying Store object"),y(1,"tinybase","createStore"),y(1,K,X,`create${X} as create${X}Decl`,oe),x("store",["createStore()",...ee]),V("fluent","actions: () => Store",["actions();",`return ${Y};`]),V("proxy","listener: any",`(_: Store, ...params: any[]) => listener(${Y}, ...params)`),x(Y,["{",...z(1),"}"]),[s(...R(0),...k(),se+" interface "+X+" {",...z(0),"}",t,ft(`Creates a ${X} object`),se+" function create"+X+"(): "+X+";"),s(...R(1),se+" const create"+X+": typeof create"+X+"Decl = () => {",...P(),`return Object.freeze(${Y});`,"};"),ae,ne]},Gt=e=>s+e,Jt=e=>yt(Gt(e),Gt(e)+ne),zt="debugIds?: boolean",Wt="debugIds={debugIds}",Bt="then"+oe,Ft="Parameter",Ut=": (parameter: "+Ft+", store: Store) => ",_t="const contextValue = useContext(Context);",Zt=", based on a parameter",Ht=": ",Qt="<"+Ft+",>",qt=Ft+"ized"+le+"<"+Ft+">",Kt="rowId",Xt="rowId={rowId}",Yt=", separator, debugIds",el="separator?: ReactElement | string",tl="then?: (store: Store",ll=yt(tl+")"+Oe,Bt),al="then, then"+ne,nl=Kt+Ht+Ie,ol="View",dl=(e,...t)=>yt(...t,ie+": "+e,ie+oe,"mutator?: boolean"),rl=(...e)=>yt(...e,ie,ie+ne,"mutator"),sl=(e,l,a,n,o)=>{const[d,s,I,y,T,v,V,x]=Vt(),[R,k,P]=Dt(e,l,T),E=`./${mt(a)}.d`,D=`./${mt(a)}-ui-react.d`,O="tinybase/ui-react",N=mt(a,1),j=mt(N),M=N+"Or"+N+Ie,G=j+"Or"+N+Ie,J=j+`={${j}}`,z=U(),W=(e,l,a,n,o,d=t)=>(s(1,D,e+" as "+e+"Decl"),pt(z,e,[l,a,n,o,d])),B=(e,l,a,n,o,d=t)=>W("use"+e,l,a,n,o,d),F=(e,l,a,n,o=t,d=t,r=t,I=t,$=t)=>(s(1,O,`use${l} as use${l}Core`),B(e,yt(o,X,I),a,ne+`(${G}, use${l}Core, [`+(d||t)+($?"], ["+$:t)+"]);",n,r)),Z=(e,t,l,a)=>W(e,t,1,l,a),Q=(e=0)=>H(z,(([l,a,n,o,d],r)=>{const s=e?[se+` const ${r}: typeof ${r}Decl = ${d}(${l}): ${1==a?"any":a} =>`,n]:[se+` function ${r}${d}(${l}): ${1==a?"ComponentReturnType":a};`];return e||A(s,ft(o)),S(s,t),s}));s(null,"tinybase",Ie,"Store",le,Ft+"ized"+le),s(0,O,"ComponentReturnType"),s(null,O,"ExtraProps"),s(0,E,N);const q=I(M,N+" | "+Ie,`Used when you need to refer to a ${N} in a React hook or component`),K=I(ge+he,vt(j+ue+N,j+`ById?: {[${j}Id: Id]: ${N}}`),`Used with the ${ge} component, so that a `+N+" can be passed into the context of an application");s(0,"react","ReactElement","ComponentType"),s(1,"react","React"),s(1,D,q,K);const X=G+ue+q;T("{createContext, useContext, useMemo}","React"),T("Context",`createContext<[${N}?, {[${j}Id: Id]: ${N}}?]>([])`),B("Create"+N,`create: () => ${N}, create`+oe,N,"\n// eslint-disable-next-line react-hooks/exhaustive-deps\nuseMemo(create, createDeps)",`Create a ${N} within a React application with convenient memoization`);const ee=B(N,"id?: Id",N+pe,["{",_t,"return id == null ? contextValue[0] : contextValue[1]?.[id];","}"],`Get a reference to a ${N} from within a ${ge} component context`),ne=y("useHook",G+`: ${q} | undefined, hook: (...params: any[]) => any, preParams: any[], postParams: any[] = []`,[`const ${j} = ${ee}(${G} as Id);`,`return hook(...preParams, ((${G} == null || typeof ${G} == 'string')`,`? ${j} : ${G})?.getStore(), ...postParams)`]),de=y("getProps","getProps: ((id: any) => ExtraProps) | undefined, id: Id","(getProps == null) ? ({} as ExtraProps) : getProps(id)"),re=y("wrap",yt("children: any","separator?: any","encloseWithId?: boolean","id?: Id"),["const separated = separator==null || !Array.isArray(children)"," ? children"," : children.map((child, c) => (c > 0 ? [separator, child] : child));","return encloseWithId ? [id, ':{', separated, '}'] : separated;"]),$e=T("NullComponent","() => null");if(!At(e)){const[e,l,a,o,d,m,w,f,T,v,V,x,S]=n;s(null,E,e,l,a,d,m,w,f,T,v,V,x),s(0,E,o),s(1,E,N),s(null,"tinybase",$,"IdOrNull");const P=y("tableView",`{${j}, rowComponent, getRowComponentProps`+Yt+"}: any, rowIds: Ids, tableId: Id, defaultRowComponent: React.ComponentType<any>",["const Row = rowComponent ?? defaultRowComponent;",`return ${re}(rowIds.map((rowId) => (`,"<Row","{..."+de+"(getRowComponentProps, rowId)}","key={rowId}","tableId={tableId}",Xt,J,Wt,"/>","))",Yt,", tableId,",");"]),A=y("getDefaultTableComponent","tableId: Id",ht(R(((e,t,l)=>`tableId == ${l} ? ${t}TableView : `)))+$e),O=y("getDefaultCellComponent","tableId: Id, cellId: Id",ht(R(((e,t,l)=>`tableId == ${l} ? ${ht(k(e,((e,l,a,n,o)=>`cellId == ${n} ? `+t+o+"CellView : ")))+$e} : `)))+$e);F(i,i,e,Be(1,0)+te);const M=F(u,u,a+Ve,Ue(c,xe)+te);F(Te+i+le,Te+i+le,qt,Be(1,9)+Zt,yt(Gt(i)+Ut+l,Gt(i)+oe),Jt(i),Qt,yt(tl,`tables: ${l})`+Oe,Bt),al),F(ae+i+le,ae+i+le,le,Be(1,12),t,t,t,ll,al);const G=I(h+he,vt("tableId?: TId","rowId: Id","cellId?: CId",j+ue+N,zt),Ze(Y+h),`<TId extends ${a}, CId extends ${o}<TId>>`),z=I(p+he,vt("tableId?: TId","rowId: Id",j+ue+N,"cellComponents?: {readonly [CId in "+o+`<TId>]?: ComponentType<${G}<TId, CId>>;}`,`getCellComponentProps?: (cellId: ${o}<TId>) => ExtraProps`,el,zt),Ze(Y+p),`<TId extends ${a}>`),W=I(c+he,vt("tableId?: TId",j+ue+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",el,zt),Ze(Y+c),`<TId extends ${a}>`),B=I("Sorted"+c+he,vt("tableId?: TId","cellId?: "+o+"<TId>","descending?: boolean","offset?: number","limit?: number",j+ue+N,`rowComponent?: ComponentType<${z}<TId>>`,"getRowComponentProps?: (rowId: Id) => ExtraProps",el,zt),Ze(Y+"sorted "+c),`<TId extends ${a}>`),U=I(i+he,vt(j+ue+N,"tableComponents?: {readonly [TId in "+a+`]?: ComponentType<${W}<TId>>;}`,`getTableComponentProps?: (tableId: ${a}) => ExtraProps`,el,zt),Ze(We(1,1)));s(1,D,U,W,B,z,G),Z(i+ol,"{"+j+", tableComponents, getTableComponentProps"+Yt+"}: "+U,[re+`(${M}(${j}).map((tableId) => {`,"const Table = (tableComponents?.[tableId] ?? "+A+"(tableId)) as React.ComponentType<TableProps<typeof tableId>>;","return <Table",`{...${de}(getTableComponentProps, tableId)}`,"tableId={tableId}","key={tableId}",J,Wt,"/>;","}), separator)"],Be(1,13)+te),R(((e,l,a)=>{const[n,o,d,r,I]=_(S,e);s(null,E,n,o,d,r,I),F(l+c,c,n,Ye(e)+te,t,a);const i=F(l+b,b,$,Ue(p,Ke(e))+te,t,a),u=F(l+C,C,$,Ue(p,Ke(e),1)+te,"cellId?: "+I+", descending?: boolean, offset?: number, limit?: number",a+", cellId, descending, offset, limit");F(l+p,p,d,et(e)+te,nl,yt(a,Kt));const m=F(l+g,g,I+Ve,Ue(h,Xe(e))+te,nl,yt(a,Kt));F(Te+l+c+le,Te+c+le,qt,Ye(e,9)+Zt,yt(Gt(c)+Ut+o,Gt(c)+oe),yt(a,Jt(c)),Qt,yt(tl,`table: ${o})`+Oe,Bt),al),F(ae+l+c+le,ae+c+le,le,Ye(e,12),t,a,t,ll,al),F(Te+l+p+le,Te+p+le,qt,et(e,9)+Zt,yt(nl,Gt(p)+Ut+r,Gt(p)+oe),yt(a,Kt,Jt(p)),Qt,yt(tl,`row: ${r})`+Oe,Bt),al),F("Add"+l+p+le,"Add"+p+le,qt,et(e,10)+Zt,yt(Gt(p)+Ut+r,Gt(p)+oe),yt(a,Jt(p)),Qt,"then?: ("+yt(nl+pe,"store: Store","row: "+r+")"+Oe,"then"+oe)+", reuseRowIds?: boolean",al+", reuseRowIds"),F(Te+l+Ce+p+le,Te+Ce+p+le,qt,et(e,11)+Zt,yt(nl,Gt(Ce+p)+Ut+r,Gt(Ce+p)+oe),yt(a,Kt,Jt(Ce+p)),Qt,yt(tl,`partialRow: ${r})`+Oe,Bt),al),F(ae+l+p+le,ae+p+le,le,et(e,12),nl,yt(a,Kt),t,ll,al);const w=Z(l+p+ol,"{rowId, "+j+", cellComponents, getCellComponentProps"+Yt+`}: ${z}<'${e}'>`,[re+`(${m}(rowId, ${j}).map((cellId) => {`,"const Cell = (cellComponents?.[cellId] ?? "+O+`(${a}, cellId)) as React.ComponentType<CellProps<typeof `+a+", typeof cellId>>;","return <Cell",`{...${de}(getCellComponentProps, cellId)} `,"key={cellId}",`tableId={${a}}`,Xt,"cellId={cellId}",J,Wt,"/>;","})"+Yt+", rowId)"],et(e,13)+te);Z(l+"Sorted"+c+ol,"{cellId, descending, offset, limit, ...props}: "+B+`<'${e}'>`,P+"(props, "+u+`(cellId, descending, offset, limit, props.${j}), ${a}, ${w});`,Ye(e,13)+", sorted"+te),Z(l+c+ol,`props: ${W}<'${e}'>`,P+"(props, "+i+`(props.${j}), ${a}, ${w});`,Ye(e,13)+te),k(e,((n,o,d,r,I)=>{const $="Map"+mt(o,1);s(0,E,$),s(1,E,$);const c=F(l+I+h,h,o+(L(d)?pe:t),tt(e,n)+te,nl,yt(a,Kt,r));F(Te+l+I+h+le,Te+h+le,qt,tt(e,n,9)+Zt,yt(nl,Gt(h)+Ut+o+" | "+$,Gt(h)+oe),yt(a,Kt,r,Jt(h)),Qt,yt(tl,`cell: ${o} | ${$})`+Oe,Bt),al),F(ae+l+I+h+le,ae+h+le,le,tt(e,n,12),yt(nl,"forceDel?: boolean"),yt(a,Kt,r,"forceDel"),t,ll,al),Z(l+I+h+ol,`{rowId, ${j}, debugIds}: `+G+`<'${e}', '${n}'>`,[re+`('' + ${c}(rowId, `+j+`) ?? '', undefined, debugIds, ${r})`],tt(e,n,13)+te)}))}));const H=ht(R((e=>_(S,e)?.[4]??t))," | ");F(i+r,i+r,De,Be(1,8)+" changes",dl(d),rl()),F(u+r,u+r,De,qe(2,0,1),dl(m),rl()),F(c+r,c+r,De,qe(3,0),dl(w,`tableId: ${a} | null`),rl("tableId")),F(b+r,b+r,De,qe(4,3,1),dl(f,`tableId: ${a} | null`),rl("tableId")),F(C+r,C+r,De,qe(13,3,1),dl(T,`tableId: ${a} | null`,"cellId: "+H+pe,"descending: boolean","offset: number","limit: number"+pe),rl("tableId","cellId","descending","offset","limit")),F(p+r,p+r,De,qe(5,3),dl(v,`tableId: ${a} | null`,Kt+": IdOrNull"),rl("tableId",Kt)),F(g+r,g+r,De,qe(6,5,1),dl(V,`tableId: ${a} | null`,Kt+": IdOrNull"),rl("tableId",Kt)),F(h+r,h+r,De,qe(7,5),dl(x,`tableId: ${a} | null`,Kt+": IdOrNull",`cellId: ${H} | null`),rl("tableId",Kt,"cellId"))}if(!At(l)){const[e,l,a,n,d,$]=o;s(null,E,...o),s(1,E,N);const c=y("getDefaultValueComponent","valueId: Id",ht(P(((e,t,l,a,n)=>`valueId == ${a} ? `+n+"ValueView : ")))+$e);F(w,w,e,Be(2,0)+te);const i=F(f,f,a+Ve,Ue(m,xe)+te);F(Te+w+le,Te+w+le,qt,Be(2,9)+Zt,yt(Gt(w)+Ut+l,Gt(w)+oe),Jt(w),Qt,yt(tl,`values: ${l})`+Oe,Bt),al),F(Te+Ce+w+le,Te+Ce+w+le,qt,Be(2,11)+Zt,yt(Gt(Ce+w)+Ut+l,Gt(Ce+w)+oe),Jt(Ce+w),Qt,yt(tl,`partialValues: ${l})`+Oe,Bt),al),F(ae+w+le,ae+w+le,le,Be(2,12),t,t,t,ll,al);const u=I(m+he,vt("valueId?: VId",j+ue+N,zt),Ze("a Value"),`<VId extends ${a}>`),p=I(w+he,vt(j+ue+N,"valueComponents?: {readonly [VId in "+a+`]?: ComponentType<${u}<VId>>;}`,`getValueComponentProps?: (valueId: ${a}) => ExtraProps`,el,zt),Ze(We(2,1)));s(1,D,p,u),Z(w+ol,"{"+j+", valueComponents, getValueComponentProps"+Yt+"}: "+p,[re+`(${i}(${j}).map((valueId) => {`,"const Value = valueComponents?.[valueId] ?? "+c+"(valueId);","return <Value",`{...${de}(getValueComponentProps, valueId)}`,"key={valueId}",J,Wt,"/>;","}), separator)"],Be(2,13)+te),P(((e,l,a,n,o)=>{const d="Map"+mt(l,1);s(0,E,d),s(1,E,d);const r=F(o+m,m,l,lt(e)+te,t,n);F(Te+o+m+le,Te+m+le,qt,lt(e,9)+Zt,yt(Gt(m)+Ut+l+" | "+d,Gt(m)+oe),yt(n,Jt(m)),Qt,yt(tl,`value: ${l} | ${d})`+Oe,Bt),al),F(ae+o+m+le,ae+m+le,le,lt(e,12),t,n,t,ll,al),Z(o+m+ol,`{${j}, debugIds}: ${u}<'${e}'>`,[re+`('' + ${r}(`+j+`) ?? '', undefined, debugIds, ${n})`],lt(e,13)+te)})),F(w+r,w+r,De,Be(2,8)+" changes",dl(n),rl()),F(f+r,f+r,De,qe(10,0,1),dl(d),rl()),F(m+r,m+r,De,qe(11,0),dl($,`valueId: ${a} | null`),rl("valueId"))}return Z(ge,`{${j}, ${j}ById, children}: `+K+" & {children: React.ReactNode}",["{",_t,"return (","<Context."+ge,"value={useMemo(",`() => [${j} ?? contextValue[0], {...contextValue[1], ...${j}ById}],`,`[${j}, ${j}ById, contextValue],`,")}>","{children}",`</Context.${ge}>`,");","}"],"Wraps part of an application in a context that provides default objects to be used by hooks and components within"),[d(...v(0),...V(),...Q(0)),d(...v(1),...x(),...Q(1))]},Il=(e,l,a)=>{if(At(e)&&At(l))return[t,t,t,t];const[n,o,d,r]=Mt(e,l,a);return[n,o,...sl(e,l,a,d,r)]},$l={parser:"typescript",singleQuote:!0,trailingComma:"all",bracketSpacing:!1,jsdocSingleLineComment:!1},cl=Et((e=>{const t=()=>{const t=D(e.getTablesSchemaJson());return!At(t)||y(e.getTableIds(),(l=>{const a=e.getRowIds(l),n=U();if(y(a,(t=>y(e.getCellIds(l,t),(a=>{const o=e.getCell(l,t,a),d=q(n,a,(()=>[J(o),U(),[0],0])),[r,s,[I]]=d,$=q(s,o,(()=>0))+1;return $>I&&(d[2]=[$,o]),Q(s,o,$),d[3]++,r==J(o)})))))return t[l]={},B(n,(([e,,[,n],r],s)=>{t[l][s]={[o]:e,...r==x(a)?{[d]:n}:{}}})),1}))?t:{}},l=()=>{const t=D(e.getValuesSchemaJson());return At(t)&&e.forEachValue(((e,l)=>{t[e]={[o]:J(l)}})),t},a=e=>Il(t(),l(),e),n=async e=>{const t=["d.ts","ts","d.ts","tsx"];let l;try{l=(await import("prettier")).format}catch(e){l=e=>e}return V(a(e),((e,a)=>bt(l(e,{...$l,filepath:"_."+t[a]}))))};return kt({getStoreStats:t=>{let l=0,a=0,n=0;const o={};return e.forEachTable(((e,d)=>{l++;let r=0,s=0;const I={};d(((e,l)=>{r++;let a=0;l((()=>a++)),s+=a,t&&(I[e]={rowCells:a})})),a+=r,n+=s,t&&(o[e]={tableRows:r,tableCells:s,rows:I})})),{totalTables:l,totalRows:a,totalCells:n,totalValues:x(e.getValueIds()),jsonLength:Ct(e.getJson()),...t?{detail:{tables:o}}:{}}},getStoreTablesSchema:t,getStoreValuesSchema:l,getStoreApi:a,getPrettyStoreApi:n,getStore:()=>e})}));export{cl as createTools};
package/lib/tools.js.gz CHANGED
Binary file
@@ -2131,8 +2131,17 @@ export interface Store {
2131
2131
  * Row is added to the Table. However it is likely to be a string
2132
2132
  * representation of an increasing integer.
2133
2133
  *
2134
+ * The `reuseRowIds` parameter defaults to `true`, which means that if you
2135
+ * delete a Row and then add another, the Id will be re-used - unless you
2136
+ * delete the entire Table, in which case all Row Ids will reset. Otherwise,
2137
+ * if you specify `reuseRowIds` to be `false`, then the Id will be a
2138
+ * monotonically increasing string representation of an increasing integer,
2139
+ * regardless of any you may have previously deleted.
2140
+ *
2134
2141
  * @param tableId The Id of the Table in the Store.
2135
2142
  * @param row The data of a single Row to be added.
2143
+ * @param reuseRowIds Whether Ids should be recycled from previously deleted
2144
+ * Row objects, defaulting to `true`.
2136
2145
  * @returns A reference to the Store.
2137
2146
  * @example
2138
2147
  * This example adds a single Row.
@@ -2163,7 +2172,7 @@ export interface Store {
2163
2172
  * ```
2164
2173
  * @category Setter
2165
2174
  */
2166
- addRow(tableId: Id, row: Row): Id | undefined;
2175
+ addRow(tableId: Id, row: Row, reuseRowIds?: boolean): Id | undefined;
2167
2176
 
2168
2177
  /**
2169
2178
  * The setPartialRow method takes an object and sets partial data of a single
@@ -1563,6 +1563,13 @@ export function useSetRowCallback<Parameter>(
1563
1563
  * hook's `storeOrStoreId` parameter) is always automatically used as a hook
1564
1564
  * dependency for the callback.
1565
1565
  *
1566
+ * The `reuseRowIds` parameter defaults to `true`, which means that if you
1567
+ * delete a Row and then add another, the Id will be re-used - unless you delete
1568
+ * the entire Table, in which case all Row Ids will reset. Otherwise, if you
1569
+ * specify `reuseRowIds` to be `false`, then the Id will be a monotonically
1570
+ * increasing string representation of an increasing integer, regardless of any
1571
+ * you may have previously deleted.
1572
+ *
1566
1573
  * @param tableId The Id of the Table in the Store.
1567
1574
  * @param getRow A function which returns the Row object that will be used to
1568
1575
  * update the Store, based on the parameter the callback will receive (and which
@@ -1578,6 +1585,9 @@ export function useSetRowCallback<Parameter>(
1578
1585
  * @param thenDeps An optional array of dependencies for the `then` function,
1579
1586
  * which, if any change, result in the regeneration of the callback. This
1580
1587
  * parameter defaults to an empty array.
1588
+ * @param reuseRowIds Whether Ids should be recycled from previously deleted Row
1589
+ * objects, defaulting to `true`.
1590
+ *
1581
1591
  * @returns A parameterized callback for subsequent use.
1582
1592
  * @example
1583
1593
  * This example uses the useAddRowCallback hook to create an event handler which
@@ -1622,6 +1632,7 @@ export function useAddRowCallback<Parameter>(
1622
1632
  storeOrStoreId?: StoreOrStoreId,
1623
1633
  then?: (rowId: Id | undefined, store: Store, row: Row) => void,
1624
1634
  thenDeps?: React.DependencyList,
1635
+ reuseRowIds?: boolean,
1625
1636
  ): ParameterizedCallback<Parameter>;
1626
1637
 
1627
1638
  /**
@@ -2851,7 +2851,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2851
2851
  * This has schema-based typing. The following is a simplified representation:
2852
2852
  *
2853
2853
  * ```ts override
2854
- * addRow(tableId: Id, row: Row): Id | undefined;
2854
+ * addRow(tableId: Id, row: Row, reuseRowIds?: boolean): Id | undefined;
2855
2855
  * ```
2856
2856
  *
2857
2857
  * This method will cause listeners to be called for any Table, Row, Cell, or
@@ -2869,8 +2869,17 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2869
2869
  * Row is added to the Table. However it is likely to be a string
2870
2870
  * representation of an increasing integer.
2871
2871
  *
2872
+ * The `reuseRowIds` parameter defaults to `true`, which means that if you
2873
+ * delete a Row and then add another, the Id will be re-used - unless you
2874
+ * delete the entire Table, in which case all Row Ids will reset. Otherwise,
2875
+ * if you specify `reuseRowIds` to be `false`, then the Id will be a
2876
+ * monotonically increasing string representation of an increasing integer,
2877
+ * regardless of any you may have previously deleted.
2878
+ *
2872
2879
  * @param tableId The Id of the Table in the Store.
2873
2880
  * @param row The data of a single Row to be added.
2881
+ * @param reuseRowIds Whether Ids should be recycled from previously deleted
2882
+ * Row objects, defaulting to `true`.
2874
2883
  * @returns A reference to the Store.
2875
2884
  * @example
2876
2885
  * This example adds a single Row.
@@ -2904,6 +2913,7 @@ export interface Store<in out Schemas extends OptionalSchemas> {
2904
2913
  addRow<TableId extends TableIdFromSchema<Schemas[0]>>(
2905
2914
  tableId: TableId,
2906
2915
  row: Row<Schemas[0], TableId, true>,
2916
+ reuseRowIds?: boolean,
2907
2917
  ): Id | undefined;
2908
2918
 
2909
2919
  /**