tinybase 10.0.0-beta.0 → 10.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/@types/indexes/index.d.ts +3 -3
  2. package/@types/indexes/with-schemas/index.d.ts +3 -3
  3. package/checkpoints/index.js +4 -2
  4. package/checkpoints/with-schemas/index.js +4 -2
  5. package/index.js +37 -4
  6. package/metrics/index.js +2 -1
  7. package/metrics/with-schemas/index.js +2 -1
  8. package/min/checkpoints/index.js +1 -1
  9. package/min/checkpoints/index.js.gz +0 -0
  10. package/min/checkpoints/with-schemas/index.js +1 -1
  11. package/min/checkpoints/with-schemas/index.js.gz +0 -0
  12. package/min/index.js +1 -1
  13. package/min/index.js.gz +0 -0
  14. package/min/metrics/index.js +1 -1
  15. package/min/metrics/index.js.gz +0 -0
  16. package/min/metrics/with-schemas/index.js +1 -1
  17. package/min/metrics/with-schemas/index.js.gz +0 -0
  18. package/min/omni/index.js +1 -1
  19. package/min/omni/index.js.gz +0 -0
  20. package/min/omni/with-schemas/index.js +1 -1
  21. package/min/omni/with-schemas/index.js.gz +0 -0
  22. package/min/persisters/persister-libsql/index.js +1 -1
  23. package/min/persisters/persister-libsql/index.js.gz +0 -0
  24. package/min/persisters/persister-libsql/with-schemas/index.js +1 -1
  25. package/min/persisters/persister-libsql/with-schemas/index.js.gz +0 -0
  26. package/min/queries/index.js +1 -1
  27. package/min/queries/index.js.gz +0 -0
  28. package/min/queries/with-schemas/index.js +1 -1
  29. package/min/queries/with-schemas/index.js.gz +0 -0
  30. package/min/relationships/index.js +1 -1
  31. package/min/relationships/index.js.gz +0 -0
  32. package/min/relationships/with-schemas/index.js +1 -1
  33. package/min/relationships/with-schemas/index.js.gz +0 -0
  34. package/min/synchronizers/synchronizer-local/index.js +1 -1
  35. package/min/synchronizers/synchronizer-local/index.js.gz +0 -0
  36. package/min/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  37. package/min/synchronizers/synchronizer-local/with-schemas/index.js.gz +0 -0
  38. package/min/with-schemas/index.js +1 -1
  39. package/min/with-schemas/index.js.gz +0 -0
  40. package/omni/index.js +59 -28
  41. package/omni/with-schemas/index.js +59 -28
  42. package/package.json +14 -14
  43. package/persisters/persister-libsql/index.js +21 -23
  44. package/persisters/persister-libsql/with-schemas/index.js +21 -23
  45. package/queries/index.js +2 -1
  46. package/queries/with-schemas/index.js +2 -1
  47. package/readme.md +2 -2
  48. package/relationships/index.js +39 -9
  49. package/relationships/with-schemas/index.js +39 -9
  50. package/releases.md +1 -1
  51. package/synchronizers/synchronizer-local/index.js +1 -1
  52. package/synchronizers/synchronizer-local/with-schemas/index.js +1 -1
  53. package/with-schemas/index.js +37 -4
@@ -553,9 +553,9 @@ export interface Indexes {
553
553
  * Slice in a specified Index.
554
554
  *
555
555
  * This method is useful for iterating over the Slice structure of the Index
556
- * in a functional style. The `rowCallback` parameter is a RowCallback
557
- * function that will be called with the Id and value of each Row in the
558
- * Slice.
556
+ * in a functional style. The `sliceCallback` parameter is a SliceCallback
557
+ * function that will be called with the Id of each Slice and a function for
558
+ * iterating over its Rows.
559
559
  * @param indexId The Id of the Index to iterate over.
560
560
  * @param sliceCallback The function that should be called for every Slice.
561
561
  * @example
@@ -674,9 +674,9 @@ export interface Indexes<in out Schemas extends OptionalSchemas> {
674
674
  * ```
675
675
  *
676
676
  * This method is useful for iterating over the Slice structure of the Index
677
- * in a functional style. The `rowCallback` parameter is a RowCallback
678
- * function that will be called with the Id and value of each Row in the
679
- * Slice.
677
+ * in a functional style. The `sliceCallback` parameter is a SliceCallback
678
+ * function that will be called with the Id of each Slice and a function for
679
+ * iterating over its Rows.
680
680
  * @param indexId The Id of the Index to iterate over.
681
681
  * @param sliceCallback The function that should be called for every Slice.
682
682
  * @example
@@ -462,7 +462,8 @@ const createCheckpoints = getCreateFunction(
462
462
  cellOrValueIsEqual(oldNew[0], newCell) &&
463
463
  collIsEmpty(mapSet(row, cellId)) &&
464
464
  collIsEmpty(mapSet(table, rowId)) &&
465
- collIsEmpty(mapSet(cellsDelta, tableId))
465
+ collIsEmpty(mapSet(cellsDelta, tableId)) &&
466
+ collIsEmpty(valuesDelta)
466
467
  ) {
467
468
  storeUnchanged();
468
469
  }
@@ -482,7 +483,8 @@ const createCheckpoints = getCreateFunction(
482
483
  oldNew[1] = newValue;
483
484
  if (
484
485
  cellOrValueIsEqual(oldNew[0], newValue) &&
485
- collIsEmpty(mapSet(valuesDelta, valueId))
486
+ collIsEmpty(mapSet(valuesDelta, valueId)) &&
487
+ collIsEmpty(cellsDelta)
486
488
  ) {
487
489
  storeUnchanged();
488
490
  }
@@ -462,7 +462,8 @@ const createCheckpoints = getCreateFunction(
462
462
  cellOrValueIsEqual(oldNew[0], newCell) &&
463
463
  collIsEmpty(mapSet(row, cellId)) &&
464
464
  collIsEmpty(mapSet(table, rowId)) &&
465
- collIsEmpty(mapSet(cellsDelta, tableId))
465
+ collIsEmpty(mapSet(cellsDelta, tableId)) &&
466
+ collIsEmpty(valuesDelta)
466
467
  ) {
467
468
  storeUnchanged();
468
469
  }
@@ -482,7 +483,8 @@ const createCheckpoints = getCreateFunction(
482
483
  oldNew[1] = newValue;
483
484
  if (
484
485
  cellOrValueIsEqual(oldNew[0], newValue) &&
485
- collIsEmpty(mapSet(valuesDelta, valueId))
486
+ collIsEmpty(mapSet(valuesDelta, valueId)) &&
487
+ collIsEmpty(cellsDelta)
486
488
  ) {
487
489
  storeUnchanged();
488
490
  }
package/index.js CHANGED
@@ -898,7 +898,8 @@ const createCheckpoints = getCreateFunction(
898
898
  cellOrValueIsEqual(oldNew[0], newCell) &&
899
899
  collIsEmpty(mapSet(row, cellId)) &&
900
900
  collIsEmpty(mapSet(table, rowId)) &&
901
- collIsEmpty(mapSet(cellsDelta, tableId))
901
+ collIsEmpty(mapSet(cellsDelta, tableId)) &&
902
+ collIsEmpty(valuesDelta)
902
903
  ) {
903
904
  storeUnchanged();
904
905
  }
@@ -918,7 +919,8 @@ const createCheckpoints = getCreateFunction(
918
919
  oldNew[1] = newValue;
919
920
  if (
920
921
  cellOrValueIsEqual(oldNew[0], newValue) &&
921
- collIsEmpty(mapSet(valuesDelta, valueId))
922
+ collIsEmpty(mapSet(valuesDelta, valueId)) &&
923
+ collIsEmpty(cellsDelta)
922
924
  ) {
923
925
  storeUnchanged();
924
926
  }
@@ -4160,7 +4162,8 @@ const numericAggregators = mapNew([
4160
4162
  [
4161
4163
  (numbers, length) => arraySum(numbers) / length,
4162
4164
  (metric, add, length) => metric + (add - metric) / (length + 1),
4163
- (metric, remove, length) => metric + (metric - remove) / (length - 1),
4165
+ (metric, remove, length) =>
4166
+ length > 1 ? metric + (metric - remove) / (length - 1) : void 0,
4164
4167
  (metric, add, remove, length) => metric + (add - remove) / length,
4165
4168
  ],
4166
4169
  ],
@@ -5680,11 +5683,21 @@ const createRelationships = getCreateFunction((store) => {
5680
5683
  remoteTableId,
5681
5684
  getRemoteRowId2,
5682
5685
  ) => {
5686
+ mapForEach(mapGet(linkedRowIdsListeners, relationshipId), (firstRowId) =>
5687
+ getLinkedRowIdsCache(relationshipId, firstRowId),
5688
+ );
5683
5689
  mapSet(remoteTableIds, relationshipId, remoteTableId);
5684
5690
  setDefinitionAndListen(
5685
5691
  relationshipId,
5686
5692
  localTableId,
5687
- (change, changedRemoteRowIds) => {
5693
+ (
5694
+ change,
5695
+ changedRemoteRowIds,
5696
+ _changedSortKeys,
5697
+ _rowValues,
5698
+ _sortKeys,
5699
+ force,
5700
+ ) => {
5688
5701
  const changedLocalRows = setNew();
5689
5702
  const changedRemoteRows = setNew();
5690
5703
  const changedLinkedRows = setNew();
@@ -5729,6 +5742,26 @@ const createRelationships = getCreateFunction((store) => {
5729
5742
  },
5730
5743
  );
5731
5744
  change();
5745
+ if (force) {
5746
+ mapForEach(
5747
+ mapGet(linkedRowIdsListeners, relationshipId),
5748
+ (firstRowId) => {
5749
+ const oldLinkedRowIds = getLinkedRowIds(
5750
+ relationshipId,
5751
+ firstRowId,
5752
+ );
5753
+ delLinkedRowIdsCache(relationshipId, firstRowId);
5754
+ if (
5755
+ !arrayIsEqual(
5756
+ oldLinkedRowIds,
5757
+ getLinkedRowIds(relationshipId, firstRowId),
5758
+ )
5759
+ ) {
5760
+ setAdd(changedLinkedRows, firstRowId);
5761
+ }
5762
+ },
5763
+ );
5764
+ }
5732
5765
  collForEach(changedLocalRows, (localRowId) =>
5733
5766
  callListeners(remoteRowIdListeners, [relationshipId, localRowId]),
5734
5767
  );
package/metrics/index.js CHANGED
@@ -122,7 +122,8 @@ const numericAggregators = mapNew([
122
122
  [
123
123
  (numbers, length) => arraySum(numbers) / length,
124
124
  (metric, add, length) => metric + (add - metric) / (length + 1),
125
- (metric, remove, length) => metric + (metric - remove) / (length - 1),
125
+ (metric, remove, length) =>
126
+ length > 1 ? metric + (metric - remove) / (length - 1) : void 0,
126
127
  (metric, add, remove, length) => metric + (add - remove) / length,
127
128
  ],
128
129
  ],
@@ -122,7 +122,8 @@ const numericAggregators = mapNew([
122
122
  [
123
123
  (numbers, length) => arraySum(numbers) / length,
124
124
  (metric, add, length) => metric + (add - metric) / (length + 1),
125
- (metric, remove, length) => metric + (metric - remove) / (length - 1),
125
+ (metric, remove, length) =>
126
+ length > 1 ? metric + (metric - remove) / (length - 1) : void 0,
126
127
  (metric, add, remove, length) => metric + (add - remove) / length,
127
128
  ],
128
129
  ],
@@ -1 +1 @@
1
- const e=e=>(t,r,n)=>e(t)?n?.():r(t),t=e=>null==e,r=e=>void 0===e,n=e=>null===e,o=e(t),s=e(r),c=e=>Array.isArray(e),i=e=>e.length,l=e=>0==i(e),a=(e,t)=>e.includes(t),d=(e,t)=>e.forEach(t),u=(e,...t)=>e.push(...t),h=e=>e.pop(),p=e=>e.shift(),f=Object,g=e=>f.getPrototypeOf(e),k=f.freeze,v=JSON.stringify,L=e=>{return!t(r=e)&&o(g(r),e=>e==f.prototype||t(g(e)),()=>!0)||c(e)?"�"+v(e):e;var r},y=e=>e?.size??0,C=(w=y,e=>{let t=0;for(const r of e.values())t+=w(r);return t});var w;const S=(e,t)=>e?.has(t)??!1,_=e=>r(e)||0==y(e),z=(e,t)=>e?.forEach(t),E=(e,t)=>e?.delete(t),I=Map,O=e=>new I(e),A=(e,t)=>e?.get(t),F=(e,t,n)=>r(n)?(E(e,t),e):e?.set(t,n),M=(e,t,r,n)=>{let o=A(e,t);return S(e,t)?n?.(o):F(e,t,o=r()),o},b=(e,t,r,n,o=0)=>s((r?M:A)(e,t[o],o>i(t)-2?r:O),s=>{if(o>i(t)-2)return n?.(s)&&F(e,t[o]),s;const c=b(s,t,r,n,o+1);return _(s)&&F(e,t[o]),c}),j=e=>new Set(c(e)||r(e)?e:[e]),x=/^\d+$/,B=(e,t)=>e===t||!r(e)&&!r(t)&&L(e)===L(t),J=(()=>{const e=new WeakMap;return t=>{if(!e.has(t)){const o=(e=>{let t,o,c,f=100,g=O(),v=O(),L=1,y=0;const w=O(),I=O(),[J,N,P]=(e=>{let t;const[r,o]=(()=>{const e=[];let t=0;return[r=>(r?p(e):null)??""+t++,t=>{x.test(t)&&i(e)<1e3&&u(e,t)}]})(),c=O(),l=(e,r,o,s)=>{let l,a=!1;if(d(((e,t=[""])=>{const r=[],o=(e,s)=>s==i(t)?u(r,e):n(t[s])?z(e,e=>o(e,s+1)):d([t[s],null],t=>o(A(e,t),s+1));return o(e,0),r})(r,o),r=>z(r,r=>{const n=()=>A(c,r)[0](t,...o??[],...s);e?(e=>{try{return e()}catch(e){(e=>{a||(l=e),a=!0})?.(e)}})(n):n()})),a)throw l};return[(n,o,s,i=[],l=()=>[])=>{t??=e();const a=r(1);var d,u;return F(c,a,[n,o,s,i,l]),d=b(o,s??[""],j),u=a,d?.add(u),a},(e,t,...r)=>l(!1,e,t,r),e=>s(A(c,e),([,t,r])=>(b(t,r??[""],void 0,t=>(E(t,e),_(t)?1:0)),F(c,e),o(e),r)),e=>s(A(c,e),([e,,r=[],o,s])=>{const c=(...l)=>{const a=i(l);a==i(r)?e(t,...l,...s(l)):n(r[a])?d(o[a]?.(...l)??[],e=>c(...l,e)):c(...l,r[a])};c()}),(e,t,...r)=>l(!0,e,t,r)]})(()=>ne),T=O(),V=O(),W=[],$=[],m=(t,r)=>{L=0,(()=>{try{return e.transaction(()=>{const[n,o]=A(T,r);z(n,(r,n)=>z(r,(r,o)=>z(r,(r,s)=>e._[5](n,o,s,r[t],!0)))),z(o,(r,n)=>e._[6](n,r[t],!0))})}finally{L=1}})()},q=e=>{F(T,e),F(V,e),N(I,[e])},D=(e,t)=>d(((e,t=i(e))=>e.splice(0,t))(e,t??i(e)),q),G=()=>D(W,i(W)-f),H=()=>s(t,()=>{u(W,t),G(),D($),t=void 0,c=1}),K=()=>{t=h(W),c=1};let Q,R;const U=(e="")=>(r(t)&&(t=""+o++,F(T,t,[g,v]),te(t,e),g=O(),v=O(),c=1),t),X=()=>{l(W)||(((e,...t)=>{e.unshift(...t)})($,U()),m(0,t),t=h(W),c=1)},Y=()=>{l($)||(u(W,t),t=p($),m(1,t),c=1)},Z=()=>{c&&(N(w),c=0)},ee=e=>{const t=U(e);return Z(),t},te=(e,t)=>(re(e)&&A(V,e)!==t&&(F(V,e,t),N(I,[e])),ne),re=e=>S(T,e),ne={setSize:e=>(f=e,G(),ne),addCheckpoint:ee,setCheckpoint:te,getStore:()=>e,getCheckpointIds:()=>[[...W],t,[...$]],forEachCheckpoint:e=>{return t=e,z(V,(e,r)=>t(r,e));var t},hasCheckpoint:re,getCheckpoint:e=>A(V,e),goBackward:()=>(X(),Z(),ne),goForward:()=>(Y(),Z(),ne),goTo:e=>{const n=a(W,e)?X:a($,e)?Y:void 0;for(;!r(n)&&e!=t;)n();return Z(),ne},addCheckpointIdsListener:e=>J(e,w),addCheckpointListener:(e,t)=>J(t,I,[e]),delListener:e=>(P(e),ne),clear:()=>(D(W),D($),r(t)||q(t),t=void 0,o=0,ee(),ne),clearForward:()=>(l($)||(D($),N(w)),ne),destroy:()=>{y&&(y=0,e.delListener(Q),e.delListener(R))},getListenerStats:()=>({checkpointIds:C(w),checkpoint:C(I)}),_registerListeners:()=>{y||(y=1,Q=e.addCellListener(null,null,null,(e,t,r,n,o,s)=>{if(L){H();const e=M(g,t,O),c=M(e,r,O),i=M(c,n,()=>[s,void 0]);i[1]=o,B(i[0],o)&&_(F(c,n))&&_(F(e,r))&&_(F(g,t))&&K(),Z()}}),R=e.addValueListener(null,(e,t,r,n)=>{if(L){H();const e=M(v,t,()=>[n,void 0]);e[1]=r,B(e[0],r)&&_(F(v,t))&&K(),Z()}}))}};return k(ne.clear())})(t);e.set(t,o)}const o=e.get(t);return o._registerListeners(),o}})();export{J as createCheckpoints};
1
+ const e=e=>(t,r,n)=>e(t)?n?.():r(t),t=e=>null==e,r=e=>void 0===e,n=e=>null===e,o=e(t),s=e(r),c=e=>Array.isArray(e),i=e=>e.length,l=e=>0==i(e),a=(e,t)=>e.includes(t),d=(e,t)=>e.forEach(t),u=(e,...t)=>e.push(...t),h=e=>e.pop(),p=e=>e.shift(),f=Object,g=e=>f.getPrototypeOf(e),k=f.freeze,v=JSON.stringify,L=e=>{return!t(r=e)&&o(g(r),e=>e==f.prototype||t(g(e)),()=>!0)||c(e)?"�"+v(e):e;var r},y=e=>e?.size??0,C=(w=y,e=>{let t=0;for(const r of e.values())t+=w(r);return t});var w;const S=(e,t)=>e?.has(t)??!1,_=e=>r(e)||0==y(e),z=(e,t)=>e?.forEach(t),E=(e,t)=>e?.delete(t),I=Map,O=e=>new I(e),A=(e,t)=>e?.get(t),F=(e,t,n)=>r(n)?(E(e,t),e):e?.set(t,n),M=(e,t,r,n)=>{let o=A(e,t);return S(e,t)?n?.(o):F(e,t,o=r()),o},b=(e,t,r,n,o=0)=>s((r?M:A)(e,t[o],o>i(t)-2?r:O),s=>{if(o>i(t)-2)return n?.(s)&&F(e,t[o]),s;const c=b(s,t,r,n,o+1);return _(s)&&F(e,t[o]),c}),j=e=>new Set(c(e)||r(e)?e:[e]),x=/^\d+$/,B=(e,t)=>e===t||!r(e)&&!r(t)&&L(e)===L(t),J=(()=>{const e=new WeakMap;return t=>{if(!e.has(t)){const o=(e=>{let t,o,c,f=100,g=O(),v=O(),L=1,y=0;const w=O(),I=O(),[J,N,P]=(e=>{let t;const[r,o]=(()=>{const e=[];let t=0;return[r=>(r?p(e):null)??""+t++,t=>{x.test(t)&&i(e)<1e3&&u(e,t)}]})(),c=O(),l=(e,r,o,s)=>{let l,a=!1;if(d(((e,t=[""])=>{const r=[],o=(e,s)=>s==i(t)?u(r,e):n(t[s])?z(e,e=>o(e,s+1)):d([t[s],null],t=>o(A(e,t),s+1));return o(e,0),r})(r,o),r=>z(r,r=>{const n=()=>A(c,r)[0](t,...o??[],...s);e?(e=>{try{return e()}catch(e){(e=>{a||(l=e),a=!0})?.(e)}})(n):n()})),a)throw l};return[(n,o,s,i=[],l=()=>[])=>{t??=e();const a=r(1);var d,u;return F(c,a,[n,o,s,i,l]),d=b(o,s??[""],j),u=a,d?.add(u),a},(e,t,...r)=>l(!1,e,t,r),e=>s(A(c,e),([,t,r])=>(b(t,r??[""],void 0,t=>(E(t,e),_(t)?1:0)),F(c,e),o(e),r)),e=>s(A(c,e),([e,,r=[],o,s])=>{const c=(...l)=>{const a=i(l);a==i(r)?e(t,...l,...s(l)):n(r[a])?d(o[a]?.(...l)??[],e=>c(...l,e)):c(...l,r[a])};c()}),(e,t,...r)=>l(!0,e,t,r)]})(()=>ne),T=O(),V=O(),W=[],$=[],m=(t,r)=>{L=0,(()=>{try{return e.transaction(()=>{const[n,o]=A(T,r);z(n,(r,n)=>z(r,(r,o)=>z(r,(r,s)=>e._[5](n,o,s,r[t],!0)))),z(o,(r,n)=>e._[6](n,r[t],!0))})}finally{L=1}})()},q=e=>{F(T,e),F(V,e),N(I,[e])},D=(e,t)=>d(((e,t=i(e))=>e.splice(0,t))(e,t??i(e)),q),G=()=>D(W,i(W)-f),H=()=>s(t,()=>{u(W,t),G(),D($),t=void 0,c=1}),K=()=>{t=h(W),c=1};let Q,R;const U=(e="")=>(r(t)&&(t=""+o++,F(T,t,[g,v]),te(t,e),g=O(),v=O(),c=1),t),X=()=>{l(W)||(((e,...t)=>{e.unshift(...t)})($,U()),m(0,t),t=h(W),c=1)},Y=()=>{l($)||(u(W,t),t=p($),m(1,t),c=1)},Z=()=>{c&&(N(w),c=0)},ee=e=>{const t=U(e);return Z(),t},te=(e,t)=>(re(e)&&A(V,e)!==t&&(F(V,e,t),N(I,[e])),ne),re=e=>S(T,e),ne={setSize:e=>(f=e,G(),ne),addCheckpoint:ee,setCheckpoint:te,getStore:()=>e,getCheckpointIds:()=>[[...W],t,[...$]],forEachCheckpoint:e=>{return t=e,z(V,(e,r)=>t(r,e));var t},hasCheckpoint:re,getCheckpoint:e=>A(V,e),goBackward:()=>(X(),Z(),ne),goForward:()=>(Y(),Z(),ne),goTo:e=>{const n=a(W,e)?X:a($,e)?Y:void 0;for(;!r(n)&&e!=t;)n();return Z(),ne},addCheckpointIdsListener:e=>J(e,w),addCheckpointListener:(e,t)=>J(t,I,[e]),delListener:e=>(P(e),ne),clear:()=>(D(W),D($),r(t)||q(t),t=void 0,o=0,ee(),ne),clearForward:()=>(l($)||(D($),N(w)),ne),destroy:()=>{y&&(y=0,e.delListener(Q),e.delListener(R))},getListenerStats:()=>({checkpointIds:C(w),checkpoint:C(I)}),_registerListeners:()=>{y||(y=1,Q=e.addCellListener(null,null,null,(e,t,r,n,o,s)=>{if(L){H();const e=M(g,t,O),c=M(e,r,O),i=M(c,n,()=>[s,void 0]);i[1]=o,B(i[0],o)&&_(F(c,n))&&_(F(e,r))&&_(F(g,t))&&_(v)&&K(),Z()}}),R=e.addValueListener(null,(e,t,r,n)=>{if(L){H();const e=M(v,t,()=>[n,void 0]);e[1]=r,B(e[0],r)&&_(F(v,t))&&_(g)&&K(),Z()}}))}};return k(ne.clear())})(t);e.set(t,o)}const o=e.get(t);return o._registerListeners(),o}})();export{J as createCheckpoints};
Binary file
@@ -1 +1 @@
1
- const e=e=>(t,r,n)=>e(t)?n?.():r(t),t=e=>null==e,r=e=>void 0===e,n=e=>null===e,o=e(t),s=e(r),c=e=>Array.isArray(e),i=e=>e.length,l=e=>0==i(e),a=(e,t)=>e.includes(t),d=(e,t)=>e.forEach(t),u=(e,...t)=>e.push(...t),h=e=>e.pop(),p=e=>e.shift(),f=Object,g=e=>f.getPrototypeOf(e),k=f.freeze,v=JSON.stringify,L=e=>{return!t(r=e)&&o(g(r),e=>e==f.prototype||t(g(e)),()=>!0)||c(e)?"�"+v(e):e;var r},y=e=>e?.size??0,C=(w=y,e=>{let t=0;for(const r of e.values())t+=w(r);return t});var w;const S=(e,t)=>e?.has(t)??!1,_=e=>r(e)||0==y(e),z=(e,t)=>e?.forEach(t),E=(e,t)=>e?.delete(t),I=Map,O=e=>new I(e),A=(e,t)=>e?.get(t),F=(e,t,n)=>r(n)?(E(e,t),e):e?.set(t,n),M=(e,t,r,n)=>{let o=A(e,t);return S(e,t)?n?.(o):F(e,t,o=r()),o},b=(e,t,r,n,o=0)=>s((r?M:A)(e,t[o],o>i(t)-2?r:O),s=>{if(o>i(t)-2)return n?.(s)&&F(e,t[o]),s;const c=b(s,t,r,n,o+1);return _(s)&&F(e,t[o]),c}),j=e=>new Set(c(e)||r(e)?e:[e]),x=/^\d+$/,B=(e,t)=>e===t||!r(e)&&!r(t)&&L(e)===L(t),J=(()=>{const e=new WeakMap;return t=>{if(!e.has(t)){const o=(e=>{let t,o,c,f=100,g=O(),v=O(),L=1,y=0;const w=O(),I=O(),[J,N,P]=(e=>{let t;const[r,o]=(()=>{const e=[];let t=0;return[r=>(r?p(e):null)??""+t++,t=>{x.test(t)&&i(e)<1e3&&u(e,t)}]})(),c=O(),l=(e,r,o,s)=>{let l,a=!1;if(d(((e,t=[""])=>{const r=[],o=(e,s)=>s==i(t)?u(r,e):n(t[s])?z(e,e=>o(e,s+1)):d([t[s],null],t=>o(A(e,t),s+1));return o(e,0),r})(r,o),r=>z(r,r=>{const n=()=>A(c,r)[0](t,...o??[],...s);e?(e=>{try{return e()}catch(e){(e=>{a||(l=e),a=!0})?.(e)}})(n):n()})),a)throw l};return[(n,o,s,i=[],l=()=>[])=>{t??=e();const a=r(1);var d,u;return F(c,a,[n,o,s,i,l]),d=b(o,s??[""],j),u=a,d?.add(u),a},(e,t,...r)=>l(!1,e,t,r),e=>s(A(c,e),([,t,r])=>(b(t,r??[""],void 0,t=>(E(t,e),_(t)?1:0)),F(c,e),o(e),r)),e=>s(A(c,e),([e,,r=[],o,s])=>{const c=(...l)=>{const a=i(l);a==i(r)?e(t,...l,...s(l)):n(r[a])?d(o[a]?.(...l)??[],e=>c(...l,e)):c(...l,r[a])};c()}),(e,t,...r)=>l(!0,e,t,r)]})(()=>ne),T=O(),V=O(),W=[],$=[],m=(t,r)=>{L=0,(()=>{try{return e.transaction(()=>{const[n,o]=A(T,r);z(n,(r,n)=>z(r,(r,o)=>z(r,(r,s)=>e._[5](n,o,s,r[t],!0)))),z(o,(r,n)=>e._[6](n,r[t],!0))})}finally{L=1}})()},q=e=>{F(T,e),F(V,e),N(I,[e])},D=(e,t)=>d(((e,t=i(e))=>e.splice(0,t))(e,t??i(e)),q),G=()=>D(W,i(W)-f),H=()=>s(t,()=>{u(W,t),G(),D($),t=void 0,c=1}),K=()=>{t=h(W),c=1};let Q,R;const U=(e="")=>(r(t)&&(t=""+o++,F(T,t,[g,v]),te(t,e),g=O(),v=O(),c=1),t),X=()=>{l(W)||(((e,...t)=>{e.unshift(...t)})($,U()),m(0,t),t=h(W),c=1)},Y=()=>{l($)||(u(W,t),t=p($),m(1,t),c=1)},Z=()=>{c&&(N(w),c=0)},ee=e=>{const t=U(e);return Z(),t},te=(e,t)=>(re(e)&&A(V,e)!==t&&(F(V,e,t),N(I,[e])),ne),re=e=>S(T,e),ne={setSize:e=>(f=e,G(),ne),addCheckpoint:ee,setCheckpoint:te,getStore:()=>e,getCheckpointIds:()=>[[...W],t,[...$]],forEachCheckpoint:e=>{return t=e,z(V,(e,r)=>t(r,e));var t},hasCheckpoint:re,getCheckpoint:e=>A(V,e),goBackward:()=>(X(),Z(),ne),goForward:()=>(Y(),Z(),ne),goTo:e=>{const n=a(W,e)?X:a($,e)?Y:void 0;for(;!r(n)&&e!=t;)n();return Z(),ne},addCheckpointIdsListener:e=>J(e,w),addCheckpointListener:(e,t)=>J(t,I,[e]),delListener:e=>(P(e),ne),clear:()=>(D(W),D($),r(t)||q(t),t=void 0,o=0,ee(),ne),clearForward:()=>(l($)||(D($),N(w)),ne),destroy:()=>{y&&(y=0,e.delListener(Q),e.delListener(R))},getListenerStats:()=>({checkpointIds:C(w),checkpoint:C(I)}),_registerListeners:()=>{y||(y=1,Q=e.addCellListener(null,null,null,(e,t,r,n,o,s)=>{if(L){H();const e=M(g,t,O),c=M(e,r,O),i=M(c,n,()=>[s,void 0]);i[1]=o,B(i[0],o)&&_(F(c,n))&&_(F(e,r))&&_(F(g,t))&&K(),Z()}}),R=e.addValueListener(null,(e,t,r,n)=>{if(L){H();const e=M(v,t,()=>[n,void 0]);e[1]=r,B(e[0],r)&&_(F(v,t))&&K(),Z()}}))}};return k(ne.clear())})(t);e.set(t,o)}const o=e.get(t);return o._registerListeners(),o}})();export{J as createCheckpoints};
1
+ const e=e=>(t,r,n)=>e(t)?n?.():r(t),t=e=>null==e,r=e=>void 0===e,n=e=>null===e,o=e(t),s=e(r),c=e=>Array.isArray(e),i=e=>e.length,l=e=>0==i(e),a=(e,t)=>e.includes(t),d=(e,t)=>e.forEach(t),u=(e,...t)=>e.push(...t),h=e=>e.pop(),p=e=>e.shift(),f=Object,g=e=>f.getPrototypeOf(e),k=f.freeze,v=JSON.stringify,L=e=>{return!t(r=e)&&o(g(r),e=>e==f.prototype||t(g(e)),()=>!0)||c(e)?"�"+v(e):e;var r},y=e=>e?.size??0,C=(w=y,e=>{let t=0;for(const r of e.values())t+=w(r);return t});var w;const S=(e,t)=>e?.has(t)??!1,_=e=>r(e)||0==y(e),z=(e,t)=>e?.forEach(t),E=(e,t)=>e?.delete(t),I=Map,O=e=>new I(e),A=(e,t)=>e?.get(t),F=(e,t,n)=>r(n)?(E(e,t),e):e?.set(t,n),M=(e,t,r,n)=>{let o=A(e,t);return S(e,t)?n?.(o):F(e,t,o=r()),o},b=(e,t,r,n,o=0)=>s((r?M:A)(e,t[o],o>i(t)-2?r:O),s=>{if(o>i(t)-2)return n?.(s)&&F(e,t[o]),s;const c=b(s,t,r,n,o+1);return _(s)&&F(e,t[o]),c}),j=e=>new Set(c(e)||r(e)?e:[e]),x=/^\d+$/,B=(e,t)=>e===t||!r(e)&&!r(t)&&L(e)===L(t),J=(()=>{const e=new WeakMap;return t=>{if(!e.has(t)){const o=(e=>{let t,o,c,f=100,g=O(),v=O(),L=1,y=0;const w=O(),I=O(),[J,N,P]=(e=>{let t;const[r,o]=(()=>{const e=[];let t=0;return[r=>(r?p(e):null)??""+t++,t=>{x.test(t)&&i(e)<1e3&&u(e,t)}]})(),c=O(),l=(e,r,o,s)=>{let l,a=!1;if(d(((e,t=[""])=>{const r=[],o=(e,s)=>s==i(t)?u(r,e):n(t[s])?z(e,e=>o(e,s+1)):d([t[s],null],t=>o(A(e,t),s+1));return o(e,0),r})(r,o),r=>z(r,r=>{const n=()=>A(c,r)[0](t,...o??[],...s);e?(e=>{try{return e()}catch(e){(e=>{a||(l=e),a=!0})?.(e)}})(n):n()})),a)throw l};return[(n,o,s,i=[],l=()=>[])=>{t??=e();const a=r(1);var d,u;return F(c,a,[n,o,s,i,l]),d=b(o,s??[""],j),u=a,d?.add(u),a},(e,t,...r)=>l(!1,e,t,r),e=>s(A(c,e),([,t,r])=>(b(t,r??[""],void 0,t=>(E(t,e),_(t)?1:0)),F(c,e),o(e),r)),e=>s(A(c,e),([e,,r=[],o,s])=>{const c=(...l)=>{const a=i(l);a==i(r)?e(t,...l,...s(l)):n(r[a])?d(o[a]?.(...l)??[],e=>c(...l,e)):c(...l,r[a])};c()}),(e,t,...r)=>l(!0,e,t,r)]})(()=>ne),T=O(),V=O(),W=[],$=[],m=(t,r)=>{L=0,(()=>{try{return e.transaction(()=>{const[n,o]=A(T,r);z(n,(r,n)=>z(r,(r,o)=>z(r,(r,s)=>e._[5](n,o,s,r[t],!0)))),z(o,(r,n)=>e._[6](n,r[t],!0))})}finally{L=1}})()},q=e=>{F(T,e),F(V,e),N(I,[e])},D=(e,t)=>d(((e,t=i(e))=>e.splice(0,t))(e,t??i(e)),q),G=()=>D(W,i(W)-f),H=()=>s(t,()=>{u(W,t),G(),D($),t=void 0,c=1}),K=()=>{t=h(W),c=1};let Q,R;const U=(e="")=>(r(t)&&(t=""+o++,F(T,t,[g,v]),te(t,e),g=O(),v=O(),c=1),t),X=()=>{l(W)||(((e,...t)=>{e.unshift(...t)})($,U()),m(0,t),t=h(W),c=1)},Y=()=>{l($)||(u(W,t),t=p($),m(1,t),c=1)},Z=()=>{c&&(N(w),c=0)},ee=e=>{const t=U(e);return Z(),t},te=(e,t)=>(re(e)&&A(V,e)!==t&&(F(V,e,t),N(I,[e])),ne),re=e=>S(T,e),ne={setSize:e=>(f=e,G(),ne),addCheckpoint:ee,setCheckpoint:te,getStore:()=>e,getCheckpointIds:()=>[[...W],t,[...$]],forEachCheckpoint:e=>{return t=e,z(V,(e,r)=>t(r,e));var t},hasCheckpoint:re,getCheckpoint:e=>A(V,e),goBackward:()=>(X(),Z(),ne),goForward:()=>(Y(),Z(),ne),goTo:e=>{const n=a(W,e)?X:a($,e)?Y:void 0;for(;!r(n)&&e!=t;)n();return Z(),ne},addCheckpointIdsListener:e=>J(e,w),addCheckpointListener:(e,t)=>J(t,I,[e]),delListener:e=>(P(e),ne),clear:()=>(D(W),D($),r(t)||q(t),t=void 0,o=0,ee(),ne),clearForward:()=>(l($)||(D($),N(w)),ne),destroy:()=>{y&&(y=0,e.delListener(Q),e.delListener(R))},getListenerStats:()=>({checkpointIds:C(w),checkpoint:C(I)}),_registerListeners:()=>{y||(y=1,Q=e.addCellListener(null,null,null,(e,t,r,n,o,s)=>{if(L){H();const e=M(g,t,O),c=M(e,r,O),i=M(c,n,()=>[s,void 0]);i[1]=o,B(i[0],o)&&_(F(c,n))&&_(F(e,r))&&_(F(g,t))&&_(v)&&K(),Z()}}),R=e.addValueListener(null,(e,t,r,n)=>{if(L){H();const e=M(v,t,()=>[n,void 0]);e[1]=r,B(e[0],r)&&_(F(v,t))&&_(g)&&K(),Z()}}))}};return k(ne.clear())})(t);e.set(t,o)}const o=e.get(t);return o._registerListeners(),o}})();export{J as createCheckpoints};
package/min/index.js CHANGED
@@ -1 +1 @@
1
- const e=e=>typeof e,t="",n=e(t),s=e(!0),r=e(0),o=e(e),l="object",a="array",i="type",d="enum",c="default",u="allowNull",g="Listener",h="Result",f="add",b="Has",w="Ids",C="Table",v=C+"s",I=C+w,L="Row",R=L+"Count",T=L+w,p="Sorted"+L+w,S="Cell",y=S+w,V="Value",m=V+"s",k=V+w,M="required",D=e=>t+e,E=(e,t)=>e.startsWith(t),W=(e,t)=>e.endsWith(t),_=Math,H=e=>(t,n,s)=>e(t)?s?.():n(t),x=globalThis,J=_.max,P=_.min,F=_.floor,O=_.random,A=1/0,Q=isFinite,z=e=>null==e,N=e=>void 0===e,j=e=>null===e,q=e=>!0===e,B=H(z),U=H(N),Z=e=>e==n||e==s,$=t=>e(t)==n,G=t=>e(t)==o,K=e=>Array.isArray(e),X=(e,t,n)=>e.slice(t,n),Y=e=>e.length,ee=e=>0==Y(e),te=(e,t)=>e.test(t),ne=()=>{},se=e=>e,re=x.structuredClone,oe=(e,t)=>e.includes(t),le=(e,t)=>e.every(t),ae=(e,t)=>Y(e)===Y(t)&&le(e,(e,n)=>t[n]===e),ie=(e,t)=>le(e,(n,s)=>0==s||t(e[s-1],n)<=0),de=(e,t)=>e.sort(t),ce=(e,t)=>e.forEach(t),ue=(e,t)=>e.map(t),ge=e=>he(e,(e,t)=>e+t,0),he=(e,t,n)=>e.reduce(t,n),fe=(e,t=Y(e))=>e.splice(0,t),be=(e,...t)=>e.push(...t),we=e=>e.pop(),Ce=e=>e.shift(),ve=Object,Ie=e=>ve.getPrototypeOf(e),Le=ve.isFrozen,Re=ve.entries,Te=e=>!z(e)&&B(Ie(e),e=>e==ve.prototype||z(Ie(e)),()=>!0),pe=ve.keys,Se=ve.freeze,ye=(e,t)=>ve.hasOwn(e,t),Ve=(e,t)=>U(e,e=>U(ve.getOwnPropertyDescriptor(e,t),()=>e[t])),me=(e,t,n)=>(ve.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}),n),ke=(e=[])=>{const t=ve.create(null);return ce(e,([e,n])=>me(t,e,n)),t},Me=(e,t)=>(delete e[t],e),De=(e,t)=>ce(pe(e),n=>t(e[n],n)),Ee=(e,t)=>{for(const n in e)if(ye(e,n)&&!t(e[n],n))return!1;return!0},We=(e,t)=>{const n=ke();return De(e,(e,s)=>me(n,s,t(e,s))),n},_e=(e,t)=>We(e,e=>We(e,t)),He=(e,t)=>We(e,e=>_e(e,t)),xe=e=>Y(pe(e)),Je=e=>Te(e)&&0==xe(e),Pe=(e,t,n=(e,t)=>e===t)=>xe(e)===xe(t)&&Ee(e,(e,s)=>!!ye(t,s)&&(Te(e)?!!Te(t[s])&&Pe(t[s],e,n):n(e,t[s]))),Fe=(e,t,n)=>(ye(e,t)||me(e,t,n()),e[t]),Oe=(e,t,n)=>z(e)||!Te(e)||Je(e)||Le(e)?(n?.(),!1):(De(e,(n,s)=>{t(n,s)||Me(e,s)}),!Je(e)),Ae=JSON.stringify,Qe=JSON.parse,ze=e=>Ae(e,(e,t)=>t instanceof Map?ke([...t]):t),Ne=t=>{if(j(t))return"null";if(K(t))return a;if(Te(t))return l;const n=e(t);return Z(n)||n==r&&Q(t)?n:void 0},je=e=>e==l||e==a,qe=e=>Z(e)||e==r||je(e),Be=(e,t)=>K(e)?oe(e,t):e==t,Ue=e=>Te(e)||K(e)?"�"+Ae(e):e,Ze=e=>$(e)&&"�"==e[0],$e=(e,t=0)=>""===e||!t&&Ze(e),Ge=(e,t,n)=>!n&&Ze(e)?Qe(X(e,1)):e,Ke=e=>t=>{let n=0;for(const s of t.values())n+=e(s);return n},Xe=e=>e?.size??0,Ye=Ke(Xe),et=Ke(Ye),tt=Ke(et),nt=(e,t)=>e?.has(t)??!1,st=e=>N(e)||0==Xe(e),rt=e=>[...e?.values()??[]],ot=(e,t)=>{for(const[n,s]of e?.entries()??[])if(!t(s,n))return!1;return!0},lt=e=>e.clear(),at=(e,t)=>e?.forEach(t),it=(e,t)=>e?.delete(t),dt=(e,n)=>{throw((e,n)=>Error("tinybase:"+e+(N(n)?t:":"+n)))(e,n)},ct=(e,t)=>{try{return e()}catch{return t}},ut=(e,t)=>{try{return e()}catch(e){t?.(e)}},gt=(e,t)=>{try{return e()}finally{t()}},ht=Map,ft=e=>new ht(e),bt=e=>[...e?.keys()??[]],wt=(e,t)=>e?.get(t),Ct=(e,t)=>at(e,(e,n)=>t(n,e)),vt=(e,t,n)=>N(n)?(it(e,t),e):e?.set(t,n),It=(e,t,n,s)=>{let r=wt(e,t);return nt(e,t)?s?.(r):vt(e,t,r=n()),r},Lt=(e,t,n,s=vt)=>(De(t,(t,s)=>n(e,s,t)),Ct(e,n=>ye(t,n)?0:s(e,n)),e),Rt=(e,t,n,s)=>{const r=ke();return at(e,(e,o)=>{if(!n?.(e,o)){const n=t?t(e,o):e;s?.(n)||me(r,o,n)}}),r},Tt=(e,t,n)=>Rt(e,e=>Rt(e,t,n),st,Je),pt=(e,t,n)=>Rt(e,e=>Tt(e,t,n),st,Je),St=(e,t)=>{const n=ft();return at(e,(e,s)=>n.set(s,t?.(e)??e)),n},yt=e=>St(e,St),Vt=e=>St(e,yt),mt=(e,t,n,s,r=0)=>U((n?It:wt)(e,t[r],r>Y(t)-2?n:ft),o=>{if(r>Y(t)-2)return s?.(o)&&vt(e,t[r]),o;const l=mt(o,t,n,s,r+1);return st(o)&&vt(e,t[r]),l}),kt=e=>new Set(K(e)||N(e)?e:[e]),Mt=(e,t)=>e?.add(t),Dt=(e,t,n,s,r)=>{const o=e.hasRow,l=ft(),a=ft(),i=ft(),d=ft(),c=ft(),u=ft(),g=t=>U(wt(u,t),n=>{at(n,t=>{e.delListener(t),it(n,t)}),vt(u,t)}),h=(e,n)=>{vt(l,e,n),nt(a,e)||(vt(a,e,t()),vt(d,e,ft()),vt(c,e,ft()),ut(()=>r(i),t=>{throw vt(l,e),vt(a,e),vt(d,e),vt(c,e),t}))},f=e=>{vt(l,e),vt(a,e),vt(d,e),vt(c,e),g(e),r(i)};return[()=>e,()=>bt(l),e=>Ct(a,e),e=>nt(a,e),e=>wt(l,e),e=>wt(a,e),(e,t)=>vt(a,e,t),h,(t,s,r,l,a)=>{h(t,s);const i=ft(),f=ft(),b=wt(d,t),w=wt(c,t),C=t=>{const r=n=>e.getCell(s,t,n),d=wt(b,t),c=o(s,t)?n(l(r,t)):void 0;if(d===c||K(d)&&K(c)&&ae(d,c)||vt(i,t,[d,c]),!N(a)){const e=wt(w,t),n=o(s,t)?a(r,t):void 0;(u=e)===(g=n)||(Te(u)||K(u))&&Ae(u)===Ae(g)||vt(f,t,n)}var u,g},v=e=>{r(()=>{at(i,([,e],t)=>vt(b,t,e)),at(f,(e,t)=>vt(w,t,e))},i,f,b,w,e),lt(i),lt(f)};Ct(b,C),e.hasTable(s)&&ce(e.getRowIds(s),e=>{nt(b,e)||C(e)}),v(!0),g(t),((e,...t)=>{const n=It(u,e,kt);ce(t,e=>Mt(n,e))})(t,e.addRowListener(s,null,(e,t,n)=>C(n)),e.addTableListener(s,()=>v()))},f,e=>s(e,i),()=>Ct(u,f)]},Et=(e,n)=>$(e)?t=>t(e):e??(()=>n??t),Wt=(e,t)=>{const n=new WeakMap;return s=>{if(!n.has(s)){const t=e(s,()=>n.get(s)===t&&(n.delete(s),!0));n.set(s,t)}const r=n.get(s);return t?.(r),r}},_t=/^\d+$/,Ht=()=>{const e=[];let n=0;return[s=>(s?Ce(e):null)??t+n++,t=>{te(_t,t)&&Y(e)<1e3&&be(e,t)}]},xt=e=>{let n;const[s,r]=Ht(),o=ft(),l=(e,s,r,l)=>{let a,i=!1;if(ce(((e,n=[t])=>{const s=[],r=(e,t)=>t==Y(n)?be(s,e):j(n[t])?at(e,e=>r(e,t+1)):ce([n[t],null],n=>r(wt(e,n),t+1));return r(e,0),s})(s,r),t=>at(t,t=>{const s=()=>wt(o,t)[0](n,...r??[],...l);e?ut(s,e=>{i||(a=e),i=!0}):s()})),i)throw a};return[(r,l,a,i=[],d=()=>[])=>{n??=e();const c=s(1);return vt(o,c,[r,l,a,i,d]),Mt(mt(l,a??[t],kt),c),c},(e,t,...n)=>l(!1,e,t,n),e=>U(wt(o,e),([,n,s])=>(mt(n,s??[t],void 0,t=>(it(t,e),st(t)?1:0)),vt(o,e),r(e),s)),e=>U(wt(o,e),([e,,t=[],s,r])=>{const o=(...l)=>{const a=Y(l);a==Y(t)?e(n,...l,...r(l)):j(t[a])?ce(s[a]?.(...l)??[],e=>o(...l,e)):o(...l,t[a])};o()}),(e,t,...n)=>l(!0,e,t,n)]},Jt=(e,t)=>e===t||!N(e)&&!N(t)&&Ue(e)===Ue(t),Pt=Wt(e=>{let n,s,r,o=100,l=ft(),a=ft(),i=1,d=0;const c=ft(),u=ft(),[g,h,f]=xt(()=>H),b=ft(),w=ft(),C=[],v=[],I=(t,n)=>{i=0,gt(()=>e.transaction(()=>{const[s,r]=wt(b,n);at(s,(n,s)=>at(n,(n,r)=>at(n,(n,o)=>e._[5](s,r,o,n[t],!0)))),at(r,(n,s)=>e._[6](s,n[t],!0))}),()=>i=1)},L=e=>{vt(b,e),vt(w,e),h(u,[e])},R=(e,t)=>ce(fe(e,t??Y(e)),L),T=()=>R(C,Y(C)-o),p=()=>U(n,()=>{be(C,n),T(),R(v),n=void 0,r=1}),S=()=>{n=we(C),r=1};let y,V;const m=(e=t)=>(N(n)&&(n=t+s++,vt(b,n,[l,a]),W(n,e),l=ft(),a=ft(),r=1),n),k=()=>{ee(C)||(((e,...t)=>{e.unshift(...t)})(v,m()),I(0,n),n=we(C),r=1)},M=()=>{ee(v)||(be(C,n),n=Ce(v),I(1,n),r=1)},D=()=>{r&&(h(c),r=0)},E=e=>{const t=m(e);return D(),t},W=(e,t)=>(_(e)&&wt(w,e)!==t&&(vt(w,e,t),h(u,[e])),H),_=e=>nt(b,e),H={setSize:e=>(o=e,T(),H),addCheckpoint:E,setCheckpoint:W,getStore:()=>e,getCheckpointIds:()=>[[...C],n,[...v]],forEachCheckpoint:e=>Ct(w,e),hasCheckpoint:_,getCheckpoint:e=>wt(w,e),goBackward:()=>(k(),D(),H),goForward:()=>(M(),D(),H),goTo:e=>{const t=oe(C,e)?k:oe(v,e)?M:void 0;for(;!N(t)&&e!=n;)t();return D(),H},addCheckpointIdsListener:e=>g(e,c),addCheckpointListener:(e,t)=>g(t,u,[e]),delListener:e=>(f(e),H),clear:()=>(R(C),R(v),N(n)||L(n),n=void 0,s=0,E(),H),clearForward:()=>(ee(v)||(R(v),h(c)),H),destroy:()=>{d&&(d=0,e.delListener(y),e.delListener(V))},getListenerStats:()=>({checkpointIds:Ye(c),checkpoint:Ye(u)}),_registerListeners:()=>{d||(d=1,y=e.addCellListener(null,null,null,(e,t,n,s,r,o)=>{if(i){p();const e=It(l,t,ft),a=It(e,n,ft),i=It(a,s,()=>[o,void 0]);i[1]=r,Jt(i[0],r)&&st(vt(a,s))&&st(vt(e,n))&&st(vt(l,t))&&S(),D()}}),V=e.addValueListener(null,(e,t,n,s)=>{if(i){p();const e=It(a,t,()=>[s,void 0]);e[1]=n,Jt(e[0],n)&&st(vt(a,t))&&S(),D()}}))}};return Se(H.clear())},e=>e._registerListeners()),Ft=((e,n=t)=>"-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(n,void 0))(),Ot=ft(ue(Ft,(e,t)=>[e,t])),At=e=>Ft[63&e],Qt=(e,t)=>wt(Ot,e[t])??0,zt=x.crypto?e=>x.crypto.getRandomValues(e):e=>ue(e,()=>F(256*O())),Nt=(e=16)=>he(zt(new Uint8Array(e)),(e,t)=>e+At(t),t),jt=new x.TextEncoder,qt=e=>{let t=2166136261;return ce(jt.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},Bt=(e,t)=>(e^t)>>>0,Ut=e=>he(Re(e),(e,[t,n])=>Bt(e,Zt(t,n)^Zt(t,0)),0),Zt=(e,t)=>qt(e+":"+t),$t=(e,t)=>qt(ze(e??null)+":"+t),Gt=$t,Kt=Zt,Xt=Ut,Yt=Zt,en=e=>he(Re(e),(e,[t,n])=>Bt(e,Zt(t,n)),0),tn=Zt,nn=en,sn=3e5,rn=2**36,on=2**30,ln=2**24,an=2**18,dn=4096,cn=/^[-0-9A-Z_a-z]{16}$/,un=e=>{const t=qt(e);return At(t/ln)+At(t/an)+At(t/dn)+At(t/64)+At(t)},gn=e=>Qt(e,0)*rn+Qt(e,1)*on+Qt(e,2)*ln+Qt(e,3)*an+Qt(e,4)*dn+64*Qt(e,5)+Qt(e,6),hn=(e,n)=>e==t||$(e)&&te(cn,e)&&gn(e)<=n,fn=(e,n=Date.now)=>{let s=0,r=-1;const o=U(e,un,()=>Nt(5)),l=e=>{const o=n();if(!N(e)&&!hn(e,o+sn))return;const l=s,[a,d]=N(e)||e==t?[0,0]:i(e);s=J(l,a,o),r=s==l?s==a?J(r,d):r:s==a?d:-1},a=(e,t,n)=>At(e/rn)+At(e/on)+At(e/ln)+At(e/an)+At(e/dn)+At(e/64)+At(e)+At(t/an)+At(t/dn)+At(t/64)+At(t)+(N(n)?o:un(n)),i=e=>[gn(e),Qt(e,7)*an+Qt(e,8)*dn+64*Qt(e,9)+Qt(e,10),X(e,11)];return[()=>(l(),++r==ln&&(s++,r=0),a(s,r)),l,a,i,()=>s,()=>r,()=>o]},bn=(e,t)=>(e??0)<(t??0)?-1:1,wn=Wt(e=>{const n=ft(),s=ft(),r=ft(),o=ft(),[l,a,i]=xt(()=>R),[d,c,u,g,h,f,b,,w,C,v,I]=Dt(e,ft,e=>N(e)?t:K(e)?ue(e,D):D(e),l,a),L=(t,n,s)=>{const r=h(t);at(s,(t,s)=>n(s,n=>at(t,t=>n(t,n=>e.forEachCell(r,t,n)))))},R={setIndexDefinition:(e,t,l,i,d,c=bn)=>{const u=g(e),h=Et(l),C=N(d)?void 0:([e],[t])=>d(e,t);return w(e,t,(t,n,l,d,u,g)=>{let h=0;const w=kt(),v=ft(),I=kt(),L=f(e),R=e=>{nt(v,e)||vt(v,e,nt(L,e))};if(at(n,([e,t],n)=>{const s=kt(e),r=kt(t);at(s,e=>it(r,e)?it(s,e):0),at(s,e=>{R(e),Mt(w,e),U(wt(L,e),t=>{it(t,n),st(t)&&(vt(L,e),h=1)})}),at(r,e=>{R(e),Mt(w,e),nt(L,e)||(vt(L,e,kt()),h=1),Mt(wt(L,e),n),N(i)||Mt(I,e)})}),t(),st(u)||(g?Ct(L,e=>Mt(I,e)):Ct(l,e=>U(wt(d,e),e=>ce(K(e)?e:[e],e=>Mt(I,e)))),at(I,e=>{const t=(t,n)=>c(wt(u,t),wt(u,n),e),n=[...wt(L,e)];ie(n,t)||(vt(L,e,kt(de(n,t))),Mt(w,e))})),(h||g)&&!N(C)){const t=[...L];ie(t,C)||(b(e,ft(de(t,C))),h=1)}h&&a(s,[e]),Ct(v,(t,n)=>{const s=nt(L,t);n!=s&&a(r,[e,t],s)}),at(w,t=>a(o,[e,t]))},(e,t)=>{const n=h(e,t);return $(l)&&!N(n)?Ue(n):n},U(i,Et)),u||a(n,[e],!0),R},delIndexDefinition:e=>{const t=f(e),l=g(e),i=l?bt(t):[];return C(e),l&&(a(n,[e],!1),ee(i)||(a(s,[e]),ce(i,t=>{a(r,[e,t],!1),a(o,[e,t])}))),R},getStore:d,getIndexIds:c,forEachIndex:e=>u((t,n)=>e(t,e=>L(t,e,n))),forEachSlice:(e,t)=>L(e,t,f(e)),hasIndex:g,hasSlice:(e,t)=>nt(f(e),t),getTableId:h,getSliceIds:e=>bt(f(e)),getSliceRowIds:(e,t)=>rt(wt(f(e),t)),addIndexIdsListener:v,addHasIndexListener:(e,t)=>l(t,n,[e]),addSliceIdsListener:(e,t)=>l(t,s,[e]),addHasSliceListener:(e,t,n)=>l(n,r,[e,t]),addSliceRowIdsListener:(e,t,n)=>l(n,o,[e,t]),delListener:e=>(i(e),R),destroy:I,getListenerStats:()=>({sliceIds:Ye(s),sliceRowIds:et(o)})};return Se(R)}),Cn=([e,t])=>vn(e,t),vn=(e,t)=>t?[e,t]:[e],In=(e,t,n)=>[e,t,n],Ln=e=>e[2],Rn=(e,t)=>t>e?(e?qt(e):0)^qt(t):0,Tn=(e,n)=>((e??t)>(n??t)?e:n)??t,pn=(e,t,n)=>{t>e[1]&&(e[1]=t),e[2]=n>>>0},Sn=(e=t)=>vn(ke(),e),yn=(e=t)=>[ft(),e,0],Vn=([e,t,n],s)=>[Rt(e,s),t,n],mn=([e,t],n=Cn)=>vn(Rt(e,n),t),kn=e=>[e,e],Mn=(e,t=Ye)=>t(e[0])+t(e[1]),Dn=()=>[ft(),ft()],En=e=>[...e],Wn=([e,t])=>e===t,_n=e=>K(e)?ue(e,_n):Te(e)?We(e,_n):e,Hn=e=>We(e,(e,t)=>t==c?Ge(e):e),xn=(e,t,n)=>vt(e,t,wt(e,t)==-n?void 0:n),Jn=([e,t],[n,s])=>Pe(e,n)&&Pe(t,s),Pn=()=>{let e,t,n,s,r=!1,o=!1,l=0,a=0,h=[],w=[],p=0,E=0;const W=ft(),_=ft(),H=ft(),x=ft(),J=ft(),P=ft(),F=ft(),O=ft(),A=ft(),Q=kt(),z=ft(),q=ft(),B=ft(),Z=ft(),$=ft(),Y=ft(),ee=kt(),te=kt(),ne=ft(),ie=ft(),ge=ft(),he=ft(),fe=Dn(),we=Dn(),Ce=Dn(),ve=Dn(),Ie=Dn(),Le=Dn(),Re=Dn(),pe=Dn(),Ve=Dn(),ke=Dn(),Ee=Dn(),_e=Dn(),He=Dn(),xe=Dn(),Fe=Dn(),Ae=Dn(),Ke=Dn(),rt=Dn(),dt=Dn(),ht=Dn(),mt=Dn(),Dt=Dn(),Et=ft(),Wt=Dn(),[_t,Jt,Pt,Ft,Ot]=xt(()=>Fs),At=e=>{const t=E;return E=1,gt(e,()=>E=t)},Qt=e=>{const t=p;return p=1,gt(e,()=>p=t)},zt=(e,t,n,s=Object.is)=>U(t(),t=>e===t||s(e,t)?n(t):At(()=>n(t))),Nt=e=>{if(!Oe(e,(e,t)=>oe([i,d,c,u,M],t)))return!1;const t=e[i],n=e[d];if(N(n)?!(K(s=t)?!N(s[0])&&le(s,qe):qe(s)):!N(t)||!K(n)||N(n[0])||!le(n,e=>{const t=Ne(e);return!(j(e)||N(t)||je(t)||$e(e))}))return!1;var s;const r=e[c];return!(j(r)&&!e[u]||(j(r)||((N(n)?Be(t,Ne(r)):oe(n,r))&&!$e(r)?U(ct(()=>Ue(r)),t=>e[c]=t,()=>Me(e,c)):Me(e,c)),0))},jt=(e,t)=>U(ct(()=>Ue(e)),e=>e,t),qt=e=>Te(e)?We(e,se):e,Bt=e=>Te(e)?We(e,qt):e,Ut=e=>Te(e)?We(e,se):e,Zt=(e,t)=>1==p&&Ze(e)&&1==ct(()=>{const n=Ne(Ge(e));return je(n)&&(N(t)||Be(t,n))},!1),$t=K,Gt=(t,n)=>(!e||nt(B,n)||Qn(n))&&Oe(t,(e,t)=>Kt(n,t,e),()=>Qn(n)),Kt=(e,t,n,s)=>{const r=s?n:tn(n,e,t);return Oe(r,(s,r)=>U(Xt(e,t,r,s),e=>(me(n,r,e),!0),()=>!1),()=>Qn(e,t))&&(!!s||ot(wt(Z,e)?.[2],e=>ye(r,e)))},Xt=(t,n,s,r)=>e?U(wt(wt(B,t),s),e=>j(r)?e[u]?r:Qn(t,n,s,r,e[c]):$e(r,p)?Qn(t,n,s,r,e[c]):Ze(r)?N(e[d])&&Zt(r,e[i])?r:Qn(t,n,s,r,e[c]):N(e[d])?Be(e[i],Ne(r))?jt(r,()=>Qn(t,n,s,r,e[c])):Qn(t,n,s,r,e[c]):oe(e[d],r)?r:Qn(t,n,s,r,e[c]),()=>Qn(t,n,s,r)):N(Ne(r))||$e(r,p)||Ze(r)&&!Zt(r)?Qn(t,n,s,r):jt(r,()=>Qn(t,n,s,r)),Yt=(e,t)=>{const n=t?e:nn(e);return Oe(n,(t,n)=>U(en(n,t),t=>(me(e,n,t),!0),()=>!1),()=>zn())&&(!!t||ot(te,e=>ye(n,e)))},en=(e,n)=>t?U(wt($,e),t=>j(n)?t[u]?n:zn(e,n,t[c]):$e(n,p)?zn(e,n,t[c]):Ze(n)?N(t[d])&&Zt(n,t[i])?n:zn(e,n,t[c]):N(t[d])?Be(t[i],Ne(n))?jt(n,()=>zn(e,n,t[c])):zn(e,n,t[c]):oe(t[d],n)?n:zn(e,n,t[c]),()=>zn(e,n)):N(Ne(n))||$e(n,p)||Ze(n)&&!Zt(n)?zn(e,n):jt(n,()=>zn(e,n)),tn=(e,t,n)=>(U(wt(Z,t),([s,r])=>{at(s,(s,r)=>{ye(e,r)||(me(e,r,s),U(n,e=>Mt(It(It(F,t,ft),e,kt),r)))}),at(r,s=>{ye(e,s)||Qn(t,n,s)})}),e),nn=e=>(t&&(at(Y,(t,n)=>{ye(e,n)||(me(e,n,t),Mt(Q,n))}),at(ee,t=>{ye(e,t)||zn(t)})),e),sn=e=>Lt(B,e,(e,t,n)=>{const s=ft(),r=kt(),o=kt();Lt(It(B,t,ft),n,(e,t,n)=>{vt(e,t,n),U(n[c],e=>{vt(s,t,e)},()=>{Mt(r,t),!0===n[M]&&Mt(o,t)})}),vt(Z,t,[s,r,o])},(e,t)=>{vt(B,t),vt(Z,t)}),rn=e=>Lt($,e,(e,t,n)=>{vt($,t,n),U(n[c],e=>{vt(Y,t,e),it(ee,t),it(te,t)},()=>{vt(Y,t),Mt(ee,t),!0===n[M]?Mt(te,t):it(te,t)})},(e,t)=>{vt($,t),vt(Y,t),it(ee,t),it(te,t)}),on=()=>{n??=[!!e,Tt(B)]},ln=()=>{s??=[!!t,Rt($)]},an=e=>Je(e)?Vs():vs(e),dn=(e,t,n,s,r,o)=>N(s)?Ms(e,t,n,!0,r):Is(e,t,n,s,r,o),cn=e=>Je(e)?Ds():Ls(e),un=(e,t,n)=>N(t)?Es(e,n):Rs(e,t,n),gn=(e,t)=>zt(e,()=>t?e:U(h[1],t=>At(()=>t(re(e))),()=>e),e=>Lt(ge,e,(e,t,n)=>hn(t,n),(e,t)=>Rn(t)),Pe),hn=(e,t,n)=>zt(t,()=>n?t:U(h[2],n=>At(()=>n(e,re(t))),()=>t),t=>Lt(It(ge,e,()=>(yn(e,1),vt(ne,e,Ht()),vt(ie,e,ft()),ft())),t,(t,n,s)=>fn(e,t,n,s),(t,n)=>Tn(e,t,n)),Pe),fn=(e,t,n,s,r)=>zt(s,()=>r?s:U(h[3],t=>At(()=>t(e,n,re(s))),()=>s),s=>Lt(It(t,n,()=>(Vn(e,n,1),ft())),s,(t,s,r)=>wn(e,n,t,s,r),(s,o)=>pn(e,t,n,s,o,r)),Pe),wn=(e,t,n,s,r,o)=>zt(r,()=>U(o?void 0:h[4],n=>At(()=>n(e,t,s,r)),()=>r),r=>U(E?Xt(e,t,s,Ge(r)):r,r=>{nt(n,s)||mn(e,t,s,1);const o=wt(n,s);r!==o&&(Fn(e,t,s,o,r),vt(n,s,r))})),Cn=(e,t,n,s,r,o)=>U(wt(t,n),t=>wn(e,n,t,s,r,o),()=>{const l=ft();vt(t,n,l),Vn(e,n,1),De(tn({[s]:r},e,n),(t,s)=>wn(e,n,l,s,t,o))}),vn=(e,t)=>zt(e,()=>t?e:U(h[5],t=>At(()=>t(re(e))),()=>e),e=>Lt(he,e,(e,t,n)=>In(t,n),(e,t)=>Sn(t)),Pe),In=(e,t,n)=>zt(t,()=>U(n?void 0:h[6],n=>At(()=>n(e,t)),()=>t),t=>U(E?en(e,Ge(t)):t,t=>{nt(he,e)||On(e,1);const n=wt(he,e);t!==n&&(An(e,n,t),vt(he,e,t))})),Ln=e=>It(ge,e,()=>(yn(e,1),vt(ne,e,Ht()),vt(ie,e,ft()),ft())),Rn=e=>At(()=>h[8]?.(e))??1?hn(e,{},!0):wt(ge,e),Tn=(e,t,n)=>{if(At(()=>h[9]?.(e,n))??1){const[,s]=wt(ne,e);s(n),fn(e,t,n,{},!0)}},pn=(e,t,n,s,r,o,l)=>{const a=wt(wt(Z,e)?.[0],r);if(!N(a)&&!o)return wn(e,n,s,r,a);if(l||(At(()=>h[10]?.(e,n,r))??1)){const o=t=>{Fn(e,n,t,wt(s,t)),mn(e,n,t,-1),vt(s,t)};N(a)?o(r):Ct(s,o),st(s)&&(Vn(e,n,-1),st(vt(t,n))&&(yn(e,-1),vt(ge,e),vt(ne,e),vt(ie,e)))}},Sn=(e,t)=>{const n=wt(Y,e);if(!N(n))return In(e,n);(t||(At(()=>h[12]?.(e))??1))&&(An(e,wt(he,e)),On(e,-1),vt(he,e))},yn=(e,t)=>xn(W,e,t),Vn=(e,t,n)=>xn(It(x,e,ft),t,n)&&vt(H,e,It(H,e,()=>0)+n),mn=(e,t,n,s)=>{const r=wt(ie,e),o=wt(r,n)??0;(0==o&&1==s||1==o&&-1==s)&&xn(It(_,e,ft),n,s),vt(r,n,o!=-s?o+s:void 0),xn(It(It(J,e,ft),t,ft),n,s)},Fn=(e,t,n,s,r)=>{const o=nt(wt(wt(F,e),t),n)&&N(s)?1:0;It(It(It(P,e,ft),t,ft),n,()=>[s,0])[1]=r,w[3]?.(e,t,n,r,E,o),it(wt(wt(F,e),t),n)},On=(e,t)=>xn(O,e,t),An=(e,t,n)=>{const s=nt(Q,e)&&N(t)?1:0;It(A,e,()=>[t,0])[1]=n,w[4]?.(e,n,E,s),it(Q,e)},Qn=(e,t,n,s,r)=>(be(It(It(It(z,e,ft),t,ft),n,()=>[]),s),r),zn=(e,t,n)=>(be(It(q,e,()=>[]),t),n),Nn=(e,t,n)=>U(wt(wt(wt(P,e),t),n),([e,t])=>[!0,Ge(e),Ge(t)],()=>[!1,...kn(ls(e,t,n))]),jn=e=>U(wt(A,e),([e,t])=>[!0,Ge(e),Ge(t)],()=>[!1,...kn(ds(e))]),qn=e=>st(z)||st(Ae[e])?0:at(e?Vt(z):z,(t,n)=>at(t,(t,s)=>at(t,(t,r)=>Jt(Ae[e],[n,s,r],t)))),Bn=e=>st(q)||st(Ke[e])?0:at(e?St(q):q,(t,n)=>Jt(Ke[e],[n],t)),Un=(e,t,n,s)=>{if(!st(e))return Jt(t,s,()=>Rt(e)),Ct(e,(e,t)=>Jt(n,[...s??[],e],1==t)),1},Zn=e=>{const t=!st(fe[e]),n=!st(ke[e]),s=!(st(He[e])&&st(xe[e])&&st(Ve[e])&&st(Ee[e])&&st(Le[e])&&st(Re[e])&&st(pe[e])&&!n&&st(Ce[e])&&st(ve[e])),o=!(st(Fe[e])&&st(_e[e])&&st(Ie[e])&&st(we[e]));if(t||s||o){const a=e?[St(W),yt(_),St(H),yt(x),Vt(J),(l=P,St(l,e=>St(e,e=>St(e,En))))]:[W,_,H,x,J,P];if(t){const t=cs();t!=r&&Jt(fe[e],void 0,t)}if(s){Un(a[0],Ce[e],ve[e]),at(a[1],(t,n)=>Un(t,Le[e],Re[e],[n])),at(a[2],(t,n)=>{0!=t&&Jt(pe[e],[n],ns(n))});const t=kt();at(a[3],(s,r)=>{Un(s,Ve[e],Ee[e],[r])&&n&&(Jt(ke[e],[r,null]),Mt(t,r))}),n&&at(a[5],(n,s)=>{if(!nt(t,s)){const t=kt();at(n,e=>at(e,([n,s],r)=>s!==n?Mt(t,r):it(e,r))),at(t,t=>Jt(ke[e],[s,t]))}}),at(a[4],(t,n)=>at(t,(t,s)=>Un(t,He[e],xe[e],[n,s])))}if(o){let t;at(a[5],(n,s)=>{let r;at(n,(n,o)=>{let l;at(n,([n,a],i)=>{a!==n&&(Jt(Fe[e],[s,o,i],Ge(a),Ge(n),Nn),t=r=l=1)}),l&&Jt(_e[e],[s,o],Nn)}),r&&Jt(Ie[e],[s],Nn)}),t&&Jt(we[e],void 0,Nn)}}var l},$n=e=>{const t=!st(rt[e]),n=!st(ht[e])||!st(mt[e]),s=!st(Dt[e])||!st(dt[e]);if(t||n||s){const r=e?[St(O),St(A,En)]:[O,A];if(t){const t=bs();t!=o&&Jt(rt[e],void 0,t)}if(n&&Un(r[0],ht[e],mt[e]),s){let t;at(r[1],([n,s],r)=>{s!==n&&(Jt(Dt[e],[r],Ge(s),Ge(n),jn),t=1)}),t&&Jt(dt[e],void 0,jn)}}},Gn=(e,...t)=>(Hs(()=>e(...ue(t,D))),Fs),Kn=(e,t,n,s,r)=>{const[o,l,a,i]=n;let d=rs(e,t,o,l,a,i);return _t(()=>{const n=rs(e,t,o,l,a,i);ae(n,d)||(d=n,s(Fs,e,t,o,l,a,d))},ke[r?1:0],[e,t],[es])},Xn=(e=!1)=>[Rt(P,(t,n)=>-1===wt(W,n)?void 0:Rt(t,(t,s)=>-1===wt(wt(x,n),s)?void 0:Rt(t,([,t])=>Ge(t,0,e),e=>Wn(e)),st,Je),st,Je),Rt(A,([,t])=>Ge(t,0,e),e=>Wn(e)),1],Yn=()=>pt(ge,Ge),es=()=>bt(ge),ts=e=>bt(wt(ie,D(e))),ns=e=>Xe(wt(ge,D(e))),ss=e=>bt(wt(ge,D(e))),rs=(e,t,n,s=0,r,o=bn)=>Te(e)?rs(e.tableId,e.cellId,e.descending,e.offset,e.limit,e.sorter):ue(X(de((e=>{const n=[];return Ct(e,(e,s)=>{return be(n,(r=s,o=e,[N(t)?o:Ge(wt(r,D(t))),o]));var r,o}),n})(wt(ge,D(e))),([e],[t])=>o(e,t)*(n?-1:1)),s,N(r)?r:s+r),([,e])=>e),os=(e,t)=>bt(wt(wt(ge,D(e)),D(t))),ls=(e,t,n)=>Ge(wt(wt(wt(ge,D(e)),D(t)),D(n))),as=()=>Rt(he,Ge),is=()=>bt(he),ds=e=>Ge(wt(he,D(e))),cs=()=>!st(ge),us=e=>nt(ge,D(e)),gs=(e,t)=>nt(wt(ie,D(e)),D(t)),hs=(e,t)=>nt(wt(ge,D(e)),D(t)),fs=(e,t,n)=>nt(wt(wt(ge,D(e)),D(t)),D(n)),bs=()=>!st(he),ws=e=>nt(he,D(e)),Cs=e=>Gn(()=>{const t=G(e)?e():e;$t(t)&&(e=>{zt(e,()=>U(h[0],t=>At(()=>t(re(e),p)),()=>e),([e,t])=>{(Je(e)?Vs:vs)(e),(Je(t)?Ds:Ls)(t)},Jn)})(t)}),vs=e=>Gn(()=>{const t=(e=>Te(e)?We(e,Bt):e)(e);return(e=>Oe(e,Gt,Qn))(t)?gn(t):0}),Is=(e,t,n,s,r,o)=>Gn((e,t,n)=>U(Xt(e,t,n,G(s)?s(ls(e,t,n)):s),s=>{const l=Ln(e);U(r||o||!h[14]?.()?void 0:h[3],o=>{const a=wt(l,t),i={...a?Rt(a):{},[n]:s};U(At(()=>o(e,t,re(i))),n=>((e,t,n,s,r)=>{Lt(It(t,n,()=>(Vn(e,n,1),ft())),s,(t,s,o)=>U(Xt(e,n,s,Ge(o)),o=>wn(e,n,t,s,o,r)),(s,r)=>pn(e,t,n,s,r,!0))})(e,l,t,n,r))},()=>Cn(e,l,t,n,s,r))}),e,t,n),Ls=e=>Gn(()=>{const t=Ut(e);return Yt(t)?vn(t):0}),Rs=(e,t,n)=>Gn(e=>U(en(e,G(t)?t(ds(e)):t),t=>In(e,t,n)),e),Ts=e=>Gn(()=>zt(e,()=>U(h[13],t=>At(()=>t(re(e),p)),()=>e),e=>{De(e[0],(e,t)=>N(e)?ms(t):De(e,(e,n)=>N(e)?ks(t,n):De(e,(e,s)=>dn(t,n,s,e,void 0,!0)))),De(e[1],(e,t)=>un(t,e))},Jn)),ps=e=>(ut(()=>Qt(()=>an(Qe(e)))),Fs),Ss=t=>Gn(()=>{const n=_n(t);if(Oe(n,e=>Oe(e,Nt))&&(on(),e=!0,sn(n),!st(ge))){const e=Yn();Vs(),vs(e)}}),ys=e=>Gn(()=>{const n=_n(e);if((e=>Oe(e,Nt))(n)){ln();const e=as();_s(),Ds(),t=!0,rn(n),Ls(e)}}),Vs=()=>Gn(()=>At(()=>h[7]?.())??1?gn({},!0):0),ms=e=>Gn(e=>nt(ge,e)?Rn(e):0,e),ks=(e,t)=>Gn((e,t)=>U(wt(ge,e),n=>nt(n,t)?Tn(e,n,t):0),e,t),Ms=(e,t,n,s,r)=>Gn((e,t,n)=>U(wt(ge,e),o=>U(wt(o,t),l=>nt(l,n)?pn(e,o,t,l,n,s,r):0)),e,t,n),Ds=()=>Gn(()=>At(()=>h[11]?.())??1?vn({},!0):0),Es=(e,t)=>Gn(e=>nt(he,e)?Sn(e,t):0,e),Ws=()=>Gn(()=>{on(),sn({}),e=!1}),_s=()=>Gn(()=>{ln(),rn({}),t=!1}),Hs=(e,t)=>{if(-1!=a){xs();try{const n=e();return Ps(t),n}catch(e){throw a>0&&(l=1,ut(Ps)),e}}},xs=()=>{if(-1!=a&&a++,1==a)try{w[0]?.(),Jt(Et)}catch(e){throw l=1,ut(Ps),e}return Fs},Js=()=>{a=0,l=0,n=s=void 0,r=cs(),o=bs(),ce([W,_,H,x,J,P,F,z,O,A,Q,q],lt)},Ps=r=>{if(a>0&&(a--,0==a)){a=1;let o=!1,i=!1;const d=()=>{i=!0,U(n,([t,n])=>{sn(n),e=t}),U(s,([e,n])=>{rn(n),t=e}),at(P,(e,t)=>at(e,(e,n)=>at(e,([e],s)=>dn(t,n,s,e,!0)))),lt(P),at(A,([e],t)=>un(t,e,!0)),lt(A)};let c=!1,u=!1;gt(()=>{let e,t=!1;const n=n=>{t||(e=n),t=!0};if(ut(()=>{try{l?d():(At(()=>{qn(1),st(P)||Zn(1),Bn(1),st(A)||$n(1)}),r?.(Fs)&&d(),w[1]?.(i),c=!0,Ot(Wt[0],void 0),a=-1,o=!0,qn(0),st(P)||Zn(0),Bn(0),st(A)||$n(0))}catch(e){throw o||d(),e}},n),c&&i&&(o||ut(()=>w[1]?.(!0),n),ut(()=>{w[2]?.(!0),u=!0},n)),c&&ut(()=>{a=-1,Ot(Wt[1],void 0)},n),t)throw e},()=>gt(()=>u?0:w[2]?.(i),Js))}return Fs},Fs={getContent:()=>[Yn(),as()],getTables:Yn,getTableIds:es,getTable:e=>Tt(wt(ge,D(e)),Ge),getTableCellIds:ts,getRowCount:ns,getRowIds:ss,getSortedRowIds:rs,getRow:(e,t)=>Rt(wt(wt(ge,D(e)),D(t)),Ge),getCellIds:os,getCell:ls,getValues:as,getValueIds:is,getValue:ds,hasTables:cs,hasTable:us,hasTableCell:gs,hasRow:hs,hasCell:fs,hasValues:bs,hasValue:ws,getTablesJson:()=>ze(ge),getValuesJson:()=>ze(he),getJson:()=>ze([ge,he]),getTablesSchemaJson:()=>ze(Tt(B,Hn)),getValuesSchemaJson:()=>ze(Rt($,Hn)),getSchemaJson:()=>ze([Tt(B,Hn),Rt($,Hn)]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:Cs,setTables:vs,setTable:(e,t)=>Gn(e=>{const n=Bt(t);return Gt(n,e)?hn(e,n):0},e),setRow:(e,t,n)=>Gn((e,t)=>{const s=qt(n);return Kt(e,t,s)?fn(e,Ln(e),t,s):0},e,t),addRow:(e,t,n=!0)=>Hs(()=>{let s;const r=qt(t);return Kt(e,s,r)&&(e=D(e),fn(e,Ln(e),s=((e,t)=>{const[n]=wt(ne,e);let s;do{s=n(t)}while(nt(wt(ge,e),s));return s})(e,n?1:0),r)),s}),setPartialRow:(e,t,n)=>Gn((e,t)=>{const s=qt(n);if(Kt(e,t,s,1)){const n=Ln(e);De(s,(s,r)=>Cn(e,n,t,r,s))}},e,t),setCell:Is,setValues:Ls,setPartialValues:e=>Gn(()=>{const t=Ut(e);return Yt(t,1)?De(t,(e,t)=>In(t,e)):0}),setValue:Rs,applyChanges:Ts,setTablesJson:ps,setValuesJson:e=>(ut(()=>Qt(()=>cn(Qe(e)))),Fs),setJson:e=>Gn(()=>ut(()=>Qt(()=>{const[t,n]=Qe(e);an(t),cn(n)}),()=>ps(e))),setTablesSchema:Ss,setValuesSchema:ys,setSchema:(e,t)=>Gn(()=>{Ss(e),ys(t)}),delTables:Vs,delTable:ms,delRow:ks,delCell:Ms,delValues:Ds,delValue:Es,delTablesSchema:Ws,delValuesSchema:_s,delSchema:()=>Gn(()=>{Ws(),_s()}),transaction:Hs,startTransaction:xs,getTransactionChanges:()=>Xn(),getTransactionLog:()=>[!st(P),!st(A),pt(P,En,Wn),pt(z),Rt(A,En,Wn),Rt(q),Rt(W),Tt(x),pt(J),Rt(O)],finishTransaction:Ps,forEachTable:e=>at(ge,(t,n)=>e(n,e=>at(t,(t,n)=>e(n,e=>Ct(t,(t,n)=>e(t,Ge(n))))))),forEachTableCell:(e,t)=>Ct(wt(ie,D(e)),t),forEachRow:(e,t)=>at(wt(ge,D(e)),(e,n)=>t(n,t=>Ct(e,(e,n)=>t(e,Ge(n))))),forEachCell:(e,t,n)=>Ct(wt(wt(ge,D(e)),D(t)),(e,t)=>n(e,Ge(t))),forEachValue:e=>Ct(he,(t,n)=>e(t,Ge(n))),addSortedRowIdsListener:(e,t,n,s,r,o,l)=>Te(e)?Kn(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit,e.sorter],t,n):Kn(e,t,[n,s,r,void 0],o,l),addStartTransactionListener:e=>_t(e,Et),addWillFinishTransactionListener:e=>_t(e,Wt[0]),addDidFinishTransactionListener:e=>_t(e,Wt[1]),callListener:e=>(Ft(e),Fs),delListener:e=>(Pt(e),Fs),getListenerStats:()=>({hasTables:Mn(fe),tables:Mn(we),tableIds:Mn(Ce),hasTable:Mn(ve),table:Mn(Ie),tableCellIds:Mn(Le),hasTableCell:Mn(Re,et),rowCount:Mn(pe),rowIds:Mn(Ve),sortedRowIds:Mn(ke),hasRow:Mn(Ee,et),row:Mn(_e,et),cellIds:Mn(He,et),hasCell:Mn(xe,tt),cell:Mn(Fe,tt),invalidCell:Mn(Ae,tt),hasValues:Mn(rt),values:Mn(dt),valueIds:Mn(ht),hasValue:Mn(mt),value:Mn(Dt),invalidValue:Mn(Ke),transaction:Ye(Et)+Mn(Wt)}),isMergeable:()=>!1,_:[Pn,_t,Jt,(e,t,n,s,r)=>w=[e,t,n,s,r],(e,t,n,s,r,o,l,a,i,d,c,u,g,f,b)=>h=[e,t,n,s,r,o,l,a,i,d,c,u,g,f,b],dn,un,()=>[pt(ge),Rt(he)],()=>Xn(!0),e=>Qt(()=>Cs(e)),e=>Qt(()=>Ts(e))]};return De({[b+v]:[0,fe,[],()=>[cs()]],[v]:[0,we],[I]:[0,Ce],[b+C]:[1,ve,[es],e=>[us(...e)]],[C]:[1,Ie,[es]],[C+y]:[1,Le,[es]],[b+C+S]:[2,Re,[es,ts],e=>[gs(...e)]],[R]:[1,pe,[es]],[T]:[1,Ve,[es]],[b+L]:[2,Ee,[es,ss],e=>[hs(...e)]],[L]:[2,_e,[es,ss]],[y]:[2,He,[es,ss]],[b+S]:[3,xe,[es,ss,os],e=>[fs(...e)]],[S]:[3,Fe,[es,ss,os],e=>kn(ls(...e))],InvalidCell:[3,Ae],[b+m]:[0,rt,[],()=>[bs()]],[m]:[0,dt],[k]:[0,ht],[b+V]:[1,mt,[is],e=>[ws(...e)]],[V]:[1,Dt,[is],e=>kn(ds(e[0]))],InvalidValue:[1,Ke]},([e,t,n,s],r)=>{Fs[f+r+g]=(...r)=>_t(r[e],t[r[e+1]?1:0],e>0?X(r,0,e):void 0,n,s)}),Se(Fs)},Fn={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},On=(e=t)=>[yn(e),yn(e)],An=(e,t)=>Te(e)&&Ee(e,t),Qn=(t,n,s,o)=>{if(!K(t))return!1;if(s?2!=Y(t):2!=Y(t)&&(3!=Y(t)||1!==t[2]))return!1;const l=(t,o)=>((t,n,s,o)=>K(t)&&(3==Y(t)?((t,n)=>{return K(t)&&3==Y(t)&&$(t[1])&&(s=t[2],e(s)==r)&&Q(t[2])&&n(t[0]);var s})(t,n)&&hn(t[1],s):!o&&n(t[0])&&(1==Y(t)||2==Y(t)&&hn(t[1],s))))(t,o,n,s),a=e=>(e=>N(e)||!N(Ne(e)))(e)&&!$e(e,o);return l(t[0],e=>An(e,e=>l(e,e=>An(e,e=>l(e,e=>An(e,e=>l(e,a)))))))&&l(t[1],e=>An(e,e=>l(e,a)))},zn=(e,n=Date.now)=>{let s=1,r=On(),o=r,l=0,a=0,i=a;const d=[],c=ft(),u=kt(),[h,b]=fn(e,n),w=Pn(),C=e=>{const t=s;return s=0,gt(e,()=>s=t),M},v=e=>{const[t,n,s]=e;be(d,()=>{e[0]=t,e[1]=n,e[2]=s})},I=(e,t,n)=>(nt(e,t)||be(d,()=>vt(e,t)),It(e,t,n)),L=(e,n=0)=>{const s=ke(),o=ke(),[[l,a=t,i=0],d]=e,[c,u]=r,[g,h,f]=c;let w=n?i:f,C=a;De(l,([e,r=t,o=0],l)=>{const a=I(g,l,yn),[i,d,c]=a;let u=n?o:c,h=r;De(e,(e,t)=>{const[r,o,a]=R(e,I(i,t,yn),Fe(Fe(s,l,ke),t,ke),n);u^=n?0:Bt(o?Zt(t,o):0,Zt(t,a)),h=Tn(h,r)}),u^=n?0:Rn(d,r),v(a),pn(a,r,u),w^=n?0:Bt(c?Zt(l,c):0,Zt(l,a[2])),C=Tn(C,h)}),w^=n?0:Rn(h,a),v(c),pn(c,a,w);const[L]=R(d,u,o,n);return b(Tn(C,L)),[s,o,1]},R=(e,n,s,r)=>{const[o,l=t,a=0]=e,[i,d,c]=n;let u=l,g=r?a:c;return De(o,([e,n=t,o=0],l)=>{const a=I(i,l,()=>[void 0,t,0]),[,d,c]=a;(!d||n>d)&&(v(a),pn(a,n,r?o:$t(e,n)),a[0]=e,me(s,l,e),g^=r?0:Bt(Zt(l,c),Zt(l,a[2])),u=Tn(u,n))}),g^=r?0:Rn(d,l),v(n),pn(n,l,g),[u,c,n[2]]},T=()=>{for(;Y(d);)we(d)?.();r=o,a=i},p=(e=!1)=>[Vn(r[0],t=>Vn(t,t=>Vn(t,([t,n,s])=>[Ge(t,0,e),n,s]))),Vn(r[1],([t,n,s])=>[Ge(t,0,e),n,s])],S=(e,t=!1)=>{const[[n,s,o],[l,a,i]]=r,d=e?In:vn,g=ke();at(c,(e,s)=>U(wt(n,s),([n,r,o])=>{const l=ke();at(e,(e,s)=>U(wt(n,s),([n,r,o])=>{const a=ke();at(e,e=>{U(wt(n,e),([n,s,r])=>me(a,e,d(t?n:Ge(n),s,r)))}),me(l,s,d(a,r,o))})),me(g,s,d(l,r,o))}));const h=ke();return at(u,e=>U(wt(l,e),([n,s,r])=>me(h,e,d(t?n:Ge(n),s,r)))),[d(g,s,o),d(h,a,i),1]},y=()=>p(),V=(e,t)=>Qn(e,n()+sn,1,t?1:0)?C(()=>w.transaction(()=>{w.delTables().delValues(),r=On();const n=L(e,1);(t?w._[10]:w.applyChanges)(n)})):M,m=(e,t)=>Qn(e,n()+sn,0,t?1:0)?C(()=>w.transaction(()=>(t?w._[10]:w.applyChanges)(L(e)))):M,k=e=>m(e),M={getMergeableContent:y,getMergeableContentHashes:()=>[r[0][2],r[1][2]],getMergeableTableHashes:()=>Rt(r[0][0],Ln),getMergeableTableDiff:e=>{const t=Sn(r[0][1]),n=ke();return Ct(r[0][0],(s,[r,o,l])=>ye(e,s)?l!=Ve(e,s)?me(n,s,l):0:me(t[0],s,mn([r,o],e=>mn(e)))),[t,n]},getMergeableRowHashes:e=>{const t=ke();return De(e,(e,n)=>U(wt(r[0][0],n),([s,,r])=>r!=e?Ct(s,(e,[,,s])=>me(Fe(t,n,ke),e,s)):0)),t},getMergeableRowDiff:e=>{const t=Sn(r[0][1]),n=ke();return De(e,(e,s)=>Ct(wt(r[0][0],s)?.[0],(r,[o,l,a])=>ye(e,r)?a!==Ve(e,r)?me(Fe(n,s,ke),r,a):0:me(Fe(t[0],s,Sn)[0],r,mn([o,l])))),[t,n]},getMergeableCellHashes:e=>{const t=ke();return De(e,(e,n)=>U(wt(r[0][0],n),([s])=>De(e,(e,r)=>U(wt(s,r),([s,,o])=>o!==e?Ct(s,(e,[,,s])=>me(Fe(Fe(t,n,ke),r,ke),e,s)):0)))),t},getMergeableCellDiff:e=>{const[[t,n]]=r,s=ke();return De(e,(e,n)=>De(e,(e,r)=>U(wt(t,n),([t,o])=>U(wt(t,r),([t,l])=>Ct(t,(t,[a,i,d])=>d!==Ve(e,t)?me(Fe(Fe(s,n,()=>Sn(o))[0],r,()=>Sn(l))[0],t,[a,i]):0))))),vn(s,n)},getMergeableValueHashes:()=>Rt(r[1][0],Ln),getMergeableValueDiff:e=>{const[,[t,n]]=r,s=Rt(t,Cn,([,,t],n)=>t==Ve(e,n));return vn(s,n)},setMergeableContent:e=>V(e),setDefaultContent:e=>(w.transaction(()=>{l=1,gt(()=>w.setContent(e),()=>l=0)}),M),getTransactionMergeableChanges:(e=!1)=>S(e),applyMergeableChanges:k,merge:e=>{const t=y(),n=e.getMergeableContent();return e.applyMergeableChanges(t),k(n)},__:[()=>{const e=a;return a=0,e},()=>p(!0),e=>S(e,!0),e=>V(e,!0),e=>m(e,!0)]};return w._[3](()=>{o=r,i=a},e=>e?T():0,e=>{e?T():fe(d),lt(c),lt(u)},(e,n,r,o,i,d)=>{if(Mt(It(It(c,e,ft),n,kt),r),s||i){i&&(a=1);const s=l||d?t:h(),[c]=L([[{[e]:[{[n]:[{[r]:[o,s]}]}]}],[{}],1]),u=Ve(Ve(c,e),n);!s||u&&ye(u,r)||dt(13)}},(e,n,r,o)=>{if(Mt(u,e),s||r){r&&(a=1);const s=l||o?t:h(),[,i]=L([[{}],[{[e]:[n,s]}],1]);s&&!ye(i,e)&&dt(13)}}),De(w,(e,t)=>me(M,t,E(t,"set")||E(t,"del")||E(t,"apply")||W(t,"Transaction")||t=="call"+g||"use"==t?(...t)=>(e(...t),M):E(t,f)&&W(t,g)?(...n)=>{const s=Fn[X(t,3,-8)]??0,r=n[s];return n[s]=(e,...t)=>r(M,...t),e(...n)}:"isMergeable"==t?()=>!0:e)),Se(M)},Nn=ft([["avg",[(e,t)=>ge(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>e+(e-t)/(n-1),(e,t,n,s)=>e+(t-n)/s]],["max",[e=>he(e,(e,t)=>J(e,t),-1/0),(e,t)=>J(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:J(t,e)]],["min",[e=>he(e,(e,t)=>P(e,t),A),(e,t)=>P(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:P(t,e)]],["sum",[e=>ge(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),jn=(e,t,n,s,r,o=!1)=>{if(st(n))return;const[l,a,i,d]=r;return o||=N(e),at(s,([n,s])=>{o||(e=N(n)?a?.(e,s,t++):N(s)?i?.(e,n,t--):d?.(e,s,n,t),o||=N(e))}),o?l(rt(n),Xe(n)):e},qn=Wt(e=>{const n=ft(),[s,r,o]=xt(()=>C),[l,a,i,d,c,u,g,,h,f,b,w]=Dt(e,ne,e=>isNaN(e)||N(e)||q(e)||!1===e||e===t?void 0:1*e,s,r),C={setMetricDefinition:(e,t,s,o,l,a,i)=>{const d=G(s)?[s,l,a,i]:wt(Nn,s)??wt(Nn,"sum");return h(e,t,(t,s,o,l,a,i)=>{const c=u(e),h=Xe(l);i||=N(c),t();let f=jn(c,h,l,s,d,i);Q(f)||(f=void 0),f!=c&&(g(e,f),r(n,[e],f,c))},Et(o,1)),C},delMetricDefinition:e=>(f(e),C),getStore:l,getMetricIds:a,forEachMetric:i,hasMetric:d,getTableId:c,getMetric:u,addMetricIdsListener:b,addMetricListener:(e,t)=>s(t,n,[e]),delListener:e=>(o(e),C),destroy:w,getListenerStats:()=>({metric:Ye(n)})};return Se(C)}),Bn=(e,t,...n)=>he(e,(e,t)=>N(e)?e:t(...n,e),t),Un=([e,t,n],s)=>[We(e,e=>N(e)?e:We(e,e=>N(e)?e:We(e,e=>N(e)?e:s(e)))),We(t,e=>N(e)?e:s(e)),n],Zn=(e,t,n,...s)=>ee(e)?t:U(Bn(e,n(t,Ge),...s),e=>n(e,e=>ct(()=>Ue(e),e))),$n=(e,...t)=>le(e,e=>e(...t)),Gn=Wt((e,t)=>{const n=e=>t=>(be(e,t),W),s=[],r=[],o=[],l=[],a=[],i=[],d=[],c=[],u=[],g=[],h=[],f=[],b=[],w=[],C=[s,r,o,l,a,i,d,c,u,g,h,f,b,w],v=n(s),I=n(r),L=n(o),R=n(l),T=n(a),p=n(i),S=n(d),y=n(c),V=n(u),m=n(g),k=n(h),M=n(f),D=n(b),E=n(w),W=Se({getStore:()=>e,addWillSetContentCallback:v,addWillSetTablesCallback:I,addWillSetTableCallback:L,addWillSetRowCallback:R,addWillSetCellCallback:T,addWillSetValuesCallback:p,addWillSetValueCallback:S,addWillDelTablesCallback:y,addWillDelTableCallback:V,addWillDelRowCallback:m,addWillDelCellCallback:k,addWillDelValuesCallback:M,addWillDelValueCallback:D,addWillApplyChangesCallback:E,destroy:()=>{t()&&(e._[4](),ce(C,fe))}});return e._[4]((e,t)=>t?Zn(s,e,([e,t],n)=>[He(e,n),We(t,n)]):Bn(s,e),e=>Zn(r,e,He),(e,t)=>Zn(o,t,_e,e),(e,t,n)=>Zn(l,n,We,e,t),(e,t,n,s)=>Zn(a,s,(e,t)=>t(e),e,t,n),e=>Zn(i,e,We),(e,t)=>Zn(d,t,(e,t)=>t(e),e),()=>$n(c),e=>$n(u,e),(e,t)=>$n(g,e,t),(e,t,n)=>$n(h,e,t,n),()=>$n(f),e=>$n(b,e),(e,t)=>t?Zn(w,e,Un):Bn(w,e),()=>!ee(l)),W}),Kn="_",Xn=Wt(e=>{const n=e._[0],s=n(),r=n(),o=ft(),l=ft(),a=kt(),i=ft(),d=ft(),c={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},u=ft(),b=ft(),w=ft(),v=ft(),I=ft(),V=ft(),{_:[,m,k],delListener:M}=r,[D,E,W,_,H,x,J,P,,F,O,A]=Dt(e,()=>[],ne,m,k),Q=e=>It(l,e,n),z=(e,t,...n)=>ce(n,n=>Mt(It(t,e,kt),n)),j=e=>Ct(e,(e,t)=>at(t,t=>e.delListener(t))),B=(e,t,n,...s)=>{const r=It(t,e,kt);return ce(s,t=>{Mt(r,t),n&&e.callListener(t)}),s},Z=(e,t,n)=>U(wt(t,e),s=>{e.delListener(n),it(s,n),st(s)&&vt(t,e)}),$=e=>U(wt(v,e),t=>{Ct(t,(e,t)=>Ct(t,(t,n)=>e.delListener(n))),vt(v,e)}),K=(e,t=ft())=>{const n=It(w,e,ft);Ct(n,(e,s)=>{Ct(s,(n,r)=>nt(wt(t,e),n)?0:(e.delListener(r),vt(s,n))),st(s)&&vt(n,e)}),Ct(t,(t,s)=>{const r=It(n,t,ft);at(s,n=>It(r,n,()=>t.addTableCellIdsListener(n,()=>ut(()=>oe(e),s=>{throw((e,t,n)=>{const s=It(It(v,e,ft),t,ft);It(s,n,()=>t.addTableListener(n,()=>oe(e)))})(e,t,n),s}))))}),st(n)&&vt(w,e)},te=()=>{Ct(o,e=>_(e)?0:vt(o,e)),Ct(l,(e,t)=>_(e)||((e,t)=>!(ot(i,([,e])=>ot(e,([e])=>e!==t))&&ot(V,t=>!nt(t,e))&&le([u,b],e=>ot(e,e=>!nt(e,t)))))(e,t)?0:vt(l,e))},se=(e,t,n)=>{z(e,n,e.addWillFinishTransactionListener(t.startTransaction)),z(e,n,e.addDidFinishTransactionListener(()=>t.finishTransaction()))},re=(e,t)=>(Je(t)?s.delRow:s.setRow)(Kn,e,{...t}),oe=(s,r)=>{const l=[ft(),ft(),void 0,ft(),kt(),ft()];let a=!1;return ut(()=>((s,r,o,l)=>Q(s).transaction(()=>U(((e,n)=>N(n)?x(e):[n[1],t,n[2]])(s,o),([a,,i])=>{const[d,c]=r,u=o?.[0]??H(s),g=i?Q(u):e,h=Q(s),f=o?.[3]??ue(s),b=r[4];i&&Mt(b,u);const w=[];let C=!1,v=0;const L=[[void 0,[u,void 0,void 0,[],ft(),g]]],R=[],T=[],p=[];a({select:(e,n,s)=>{const r=q(e)?n:e,o=q(e)?s:n,l=G(e)?[0,v+t,e]:N(o)?[0,e,t=>t(e)]:[0,o,t=>q(e)?t(!0,r,o):t(r,o)];return v++,be(w,l),{as:e=>l[1]=e}},selectAll:(e,n,s)=>{C=!0;const r=q(e)?n:e,o=q(e)?s:n;be(w,[1,r,G(o)?o:e=>(o??t)+e,G(o)||!N(o)&&o!==t?1:0])},join:(t,n,s,r)=>{const o=q(t)?n:t,[l,a]=q(t)?N(r)||G(s)?[void 0,s]:[s,r]:N(s)||G(n)?[void 0,n]:[n,s],i=q(t),d=i?Q(o):e;i&&Mt(b,o);const c=[o,[o,l,G(a)?a:e=>e(a),[],ft(),d]];return be(L,c),{as:e=>c[0]=e}},where:(e,t,n,s)=>be(R,G(e)?e:q(e)?e=>e(!0,t,n)===s:N(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,G(t)?[t,n,s,r]:wt(Nn,t)??[(e,t)=>t]]];return be(T,o),{as:e=>o[0]=e}},having:(e,t)=>be(p,G(e)?e:n=>n(e)===t),param:e=>Ve(f,e)});const S=ft(L);Ct(S,(e,[,t])=>U(wt(S,t),({3:t})=>N(e)?0:be(t,e)));const y=e=>N(e),V=e=>wt(S,y(e)?void 0:e),m=r[5];if(ce(w,([t,n,,s=0])=>t?U(V(n),([t,,,,,n])=>n===e?0:vt(m,t,wt(m,t)||s?1:0)):0),((e,t)=>{const n=(s,r,o=kt())=>s===r||!nt(o,s)&&(Mt(o,s),!ot((n=>n===e?t:wt(I,n))(s),(e,t)=>!n(t,r,o))),s=(e,t)=>!ot(t,(t,s)=>!t||!n(s,e));!s(e,t)&&ot(I,(t,n)=>n===e||!s(n,t))||dt(16)})(s,m),h.delTable(s),ee(w))return l?.(),ge;const k=ft(T),M=!st(k)||!ee(p),D=[],E=r[3];ce(w,([e,t,n])=>{e?M&&U(V(t),([e,,,,,t])=>{Mt(It(E,t,kt),e),ce(de(t.getTableCellIds(e)),e=>be(D,[n(e),ne]))}):be(D,[t,n])});const W=ft(D);if(M&&st(W))return l?.(),ge;const _=M?r[2]=n():h;if(M){const e=ft();Ct(k,(t,[n,s])=>Mt(It(e,n,kt),[t,s]));const t=kt();Ct(W,n=>nt(e,n)?0:Mt(t,n));const n=ft(),r=e=>N(e)?void 0:Ue(e),o=(t,n,r,o)=>U(t,([l,a,i,d])=>{Ct(n,(t,[n])=>{const s=It(l,t,ft),a=wt(s,r),i=o?void 0:n;if(a!==i){const n=kt([[a,i]]),o=Xe(s);vt(s,r,i),at(wt(e,t),([e,t])=>{const r=jn(d[e],o,s,n,t);me(d,e,N(Ne(r))?void 0:r)})}}),st(a)||!le(p,e=>e(e=>d[e]))?h.delRow(s,i):N(i)?t[2]=h.addRow(s,{...d}):h.setRow(s,i,{...d})});z(_,d,_.addRowListener(s,null,(l,a,i,d)=>{const c=[],u=[],g=ft(),h=_.hasRow(s,i);let f=!h;at(t,e=>{const[t,n,o]=d(s,i,e);be(c,r(n)),be(u,r(o)),f||=t}),Ct(e,e=>{const[t,,n]=d(s,i,e);(f||t)&&vt(g,e,[n])}),f&&o(mt(n,c,void 0,([,e])=>(it(e,i),st(e))),g,i,1),h&&o(mt(n,u,()=>{const e=ke();return at(t,t=>me(e,t,_.getCell(s,i,t))),[ft(),kt(),void 0,e]},([,e])=>{Mt(e,i)}),g,i)}))}const x=(e,t,n,r,o)=>{const l=e=>t.getCell(n,r,e);ce(o,t=>{const[n,,s,r,o,a]=wt(S,t),i=s?.(l,e),d=wt(o,e),u=d?.[0];i!=u&&(U(d,([,e,t])=>Z(e,c,t)),vt(o,e,N(i)?void 0:[i,a,...B(a,c,1,a.addRowListener(n,i,()=>x(e,a,n,i,r)))]))}),(e=>{const t=(t,n,s)=>{const r=q(t)?n:t,o=q(t)?s:n;if(N(o))return g.getCell(u,e,t);if(r===u&&!q(t))return g.getCell(u,e,o);const l=wt(S,r);return N(l)?void 0:l[5].getCell(l[0],wt(l[4],e)?.[0],o)};_.transaction(()=>{le(R,e=>e(t))?C?(()=>{const n=ke();ce(w,([s,r,o])=>{if(s)U(V(r),([t,,,,s,l])=>{const a=y(r)?e:wt(s,e)?.[0];U(a,e=>ce(de(l.getCellIds(t,e)),s=>me(n,o(s),l.getCell(t,e,s))))});else{const s=o(t,e),l=r;N(s)?Me(n,l):me(n,l,s)}}),Je(n)?_.delRow(s,e):_.setRow(s,e,n)})():Ct(W,(n,r)=>_._[5](s,e,n,r(t,e))):_.delRow(s,e)})})(e)},{3:J}=wt(S,void 0),P=(e,t,n)=>{g.hasRow(u,n)?x(n,g,u,n,J):(_.delRow(s,n),at(S,({4:e})=>U(wt(e,n),([,t,s])=>{Z(t,c,s),vt(e,n)})))};return _.transaction(()=>{ce(g.getRowIds(u),e=>P(0,0,e)),B(g,c,0,g.addRowListener(u,null,P))}),M&&se(_,h,d),se(g,_,d),l?.(),ge})))(s,l,r,()=>{U(r,e=>ae(s,e)),j(wt(u,s)),j(wt(b,s)),vt(u,s,st(l[0])?void 0:l[0]),vt(b,s,st(l[1])?void 0:l[1]),vt(o,s,l[2]),K(s,l[3]),$(s),vt(V,s,st(l[4])?void 0:l[4]),vt(I,s,st(l[5])?void 0:l[5]),a=!0}),e=>{throw a||(j(l[0]),j(l[1])),te(),e}),ge},ae=(e,[t,n,r,o])=>{U(x(e),([,e])=>s.delListener(e)),Mt(a,e),gt(()=>{P(e,t),J(e,[n,s.addRowListener(Kn,e,()=>nt(a,e)?0:oe(e),!0),r]),re(e,o)},()=>it(a,e))},ie=e=>(U(x(e),([,e])=>s.delListener(e)),s.delRow(Kn,e),(e=>{j(wt(u,e)),vt(u,e),ce([wt(l,e),wt(o,e)],t=>t?.delTable(e))})(e),(e=>{j(wt(b,e)),vt(b,e)})(e),K(e),$(e),vt(V,e),vt(I,e),F(e),te(),ge),ue=e=>s.getRow(Kn,e),ge={setQueryDefinition:(e,t,n,s,r={})=>{const[o,l,a,i]=q(t)?[n,s,1,r]:[t,n,0,s??{}];return oe(e,[o,l,a,i]),te(),ge},delQueryDefinition:ie,getParamValues:ue,getParamValue:(e,t)=>s.getCell(Kn,e,t),setParamValues:(e,t)=>(_(e)&&re(e,t),ge),setParamValue:(e,t,n)=>(_(e)&&s.setCell(Kn,e,t,n),ge),getStore:D,getQueryIds:E,forEachQuery:W,hasQuery:_,getTableId:H,forEachResultTable:e=>W(t=>Q(t).hasTable(t)?e(t,e=>ge.forEachResultRow(t,e)):0),addQueryIdsListener:e=>O(()=>e(ge)),addParamValuesListener:(e,t)=>"p"+s.addRowListener(Kn,e,(e,n,s)=>t(ge,s,ue(s))),addParamValueListener:(e,t,n)=>"p"+s.addCellListener(Kn,e,t,(e,t,s,r,o)=>n(ge,s,r,o)),delListener:e=>{const t=wt(i,e);if("p"==e[0])s.delListener(X(e,1));else if(N(t))M(e);else{const[n,s,r]=t;Ct(s,(e,[t,n])=>t.delListener(n)),U(r,M),vt(i,e),M(e),c[n]--}return te(),ge},destroy:()=>{ce(E(),ie),A()},getListenerStats:()=>({...c,paramValues:s.getListenerStats().row-Y(E()),paramValue:s.getListenerStats().cell})};return De({[C]:[2,1],[C+y]:[1,1],[R]:[1,1],[T]:[1,1],[p]:[1,5],[L]:[3,2],[y]:[1,2],[S]:[3,3]},([e,t],n)=>{ce(X(["get","has","forEach"],0,e),e=>me(ge,e+h+n,(...t)=>(wt(l,t[0])??r)[e+n](...t))),me(ge,f+h+n+g,(...e)=>((s,r)=>{const o=m(ne,d),l=ft(),a=()=>{const s=null==r?E():[r];ce(s,s=>{return nt(l,s)?0:vt(l,s,[Q(s),(r=Q(s),r[f+n+g](...((e,t)=>5==t?[e[0],e[1]??void 0,e[2],e[3],e[4]]:X(e,0,t))(e,t),(n,...s)=>e[t](ge,...s),!0))]);var r}),Ct(l,(e,[t,n])=>null==r&&_(e)||e==r?0:(t.delListener(n),void vt(l,e)))};return a(),vt(i,o,[s,l,null==r?O(a):void 0]),c[s]++,o})((e=>e[0].toLowerCase()+X(e,1))(n),e[0]))}),Se(ge)}),Yn=Wt(e=>{const n=ft(),s=ft(),r=ft(),o=ft(),[l,a,i]=xt(()=>T),[d,c,u,g,h,f,,,b,w,C,v]=Dt(e,()=>[ft(),ft(),ft(),ft()],e=>N(e)?void 0:e+t,l,a),I=(e,t,n)=>U(f(e),([s,,r])=>{if(!nt(r,t)){const o=kt();if(h(e)!=R(e))Mt(o,t);else{let e=t;for(;!N(e)&&!nt(o,e);)Mt(o,e),e=wt(s,e)}if(n)return o;vt(r,t,o)}return wt(r,t)}),L=(e,t)=>U(f(e),([,,e])=>vt(e,t)),R=e=>wt(n,e),T={setRelationshipDefinition:(e,t,l,i)=>(vt(n,e,l),b(e,t,(t,n)=>{const l=kt(),i=kt(),d=kt(),[c,u]=f(e);at(n,([t,n],s)=>{N(t)||(Mt(i,t),U(wt(u,t),e=>{it(e,s),st(e)&&vt(u,t)})),N(n)||(Mt(i,n),nt(u,n)||vt(u,n,kt()),Mt(wt(u,n),s)),Mt(l,s),vt(c,s,n),Ct(wt(o,e),t=>{nt(I(e,t),s)&&Mt(d,t)})}),t(),at(l,t=>a(s,[e,t])),at(i,t=>a(r,[e,t])),at(d,t=>{L(e,t),a(o,[e,t])})},Et(i)),T),delRelationshipDefinition:e=>(vt(n,e),w(e),T),getStore:d,getRelationshipIds:c,forEachRelationship:t=>u(n=>t(n,t=>e.forEachRow(h(n),t))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:R,getRemoteRowId:(e,t)=>wt(f(e)?.[0],t),getLocalRowIds:(e,t)=>rt(wt(f(e)?.[1],t)),getLinkedRowIds:(e,t)=>N(f(e))?[t]:rt(I(e,t,!0)),addRelationshipIdsListener:C,addRemoteRowIdListener:(e,t,n)=>l(n,s,[e,t]),addLocalRowIdsListener:(e,t,n)=>l(n,r,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(I(e,t),l(n,o,[e,t])),delListener:e=>(L(...i(e)??[]),T),destroy:v,getListenerStats:()=>({remoteRowId:et(s),localRowIds:et(r),linkedRowIds:et(o)})};return Se(T)});export{Bt as addOrRemoveHash,Pt as createCheckpoints,wn as createIndexes,zn as createMergeableStore,qn as createMetrics,Gn as createMiddleware,Xn as createQueries,Yn as createRelationships,Pn as createStore,bn as defaultSorter,Gt as getCellHash,Kt as getCellInRowHash,qt as getHash,fn as getHlcFunctions,Xt as getRowHash,Yt as getRowInTableHash,en as getTableHash,tn as getTableInTablesHash,nn as getTablesHash,Nt as getUniqueId,$t as getValueHash,Zt as getValueInValuesHash,Ut as getValuesHash};
1
+ const e=e=>typeof e,t="",n=e(t),s=e(!0),r=e(0),o=e(e),l="object",a="array",i="type",d="enum",c="default",u="allowNull",g="Listener",h="Result",f="add",b="Has",w="Ids",C="Table",v=C+"s",I=C+w,L="Row",R=L+"Count",T=L+w,p="Sorted"+L+w,S="Cell",y=S+w,V="Value",m=V+"s",k=V+w,M="required",D=e=>t+e,E=(e,t)=>e.startsWith(t),W=(e,t)=>e.endsWith(t),_=Math,H=e=>(t,n,s)=>e(t)?s?.():n(t),x=globalThis,J=_.max,P=_.min,F=_.floor,O=_.random,A=1/0,Q=isFinite,z=e=>null==e,N=e=>void 0===e,j=e=>null===e,q=e=>!0===e,B=H(z),U=H(N),Z=e=>e==n||e==s,$=t=>e(t)==n,G=t=>e(t)==o,K=e=>Array.isArray(e),X=(e,t,n)=>e.slice(t,n),Y=e=>e.length,ee=e=>0==Y(e),te=(e,t)=>e.test(t),ne=()=>{},se=e=>e,re=x.structuredClone,oe=(e,t)=>e.includes(t),le=(e,t)=>e.every(t),ae=(e,t)=>Y(e)===Y(t)&&le(e,(e,n)=>t[n]===e),ie=(e,t)=>le(e,(n,s)=>0==s||t(e[s-1],n)<=0),de=(e,t)=>e.sort(t),ce=(e,t)=>e.forEach(t),ue=(e,t)=>e.map(t),ge=e=>he(e,(e,t)=>e+t,0),he=(e,t,n)=>e.reduce(t,n),fe=(e,t=Y(e))=>e.splice(0,t),be=(e,...t)=>e.push(...t),we=e=>e.pop(),Ce=e=>e.shift(),ve=Object,Ie=e=>ve.getPrototypeOf(e),Le=ve.isFrozen,Re=ve.entries,Te=e=>!z(e)&&B(Ie(e),e=>e==ve.prototype||z(Ie(e)),()=>!0),pe=ve.keys,Se=ve.freeze,ye=(e,t)=>ve.hasOwn(e,t),Ve=(e,t)=>U(e,e=>U(ve.getOwnPropertyDescriptor(e,t),()=>e[t])),me=(e,t,n)=>(ve.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}),n),ke=(e=[])=>{const t=ve.create(null);return ce(e,([e,n])=>me(t,e,n)),t},Me=(e,t)=>(delete e[t],e),De=(e,t)=>ce(pe(e),n=>t(e[n],n)),Ee=(e,t)=>{for(const n in e)if(ye(e,n)&&!t(e[n],n))return!1;return!0},We=(e,t)=>{const n=ke();return De(e,(e,s)=>me(n,s,t(e,s))),n},_e=(e,t)=>We(e,e=>We(e,t)),He=(e,t)=>We(e,e=>_e(e,t)),xe=e=>Y(pe(e)),Je=e=>Te(e)&&0==xe(e),Pe=(e,t,n=(e,t)=>e===t)=>xe(e)===xe(t)&&Ee(e,(e,s)=>!!ye(t,s)&&(Te(e)?!!Te(t[s])&&Pe(t[s],e,n):n(e,t[s]))),Fe=(e,t,n)=>(ye(e,t)||me(e,t,n()),e[t]),Oe=(e,t,n)=>z(e)||!Te(e)||Je(e)||Le(e)?(n?.(),!1):(De(e,(n,s)=>{t(n,s)||Me(e,s)}),!Je(e)),Ae=JSON.stringify,Qe=JSON.parse,ze=e=>Ae(e,(e,t)=>t instanceof Map?ke([...t]):t),Ne=t=>{if(j(t))return"null";if(K(t))return a;if(Te(t))return l;const n=e(t);return Z(n)||n==r&&Q(t)?n:void 0},je=e=>e==l||e==a,qe=e=>Z(e)||e==r||je(e),Be=(e,t)=>K(e)?oe(e,t):e==t,Ue=e=>Te(e)||K(e)?"�"+Ae(e):e,Ze=e=>$(e)&&"�"==e[0],$e=(e,t=0)=>""===e||!t&&Ze(e),Ge=(e,t,n)=>!n&&Ze(e)?Qe(X(e,1)):e,Ke=e=>t=>{let n=0;for(const s of t.values())n+=e(s);return n},Xe=e=>e?.size??0,Ye=Ke(Xe),et=Ke(Ye),tt=Ke(et),nt=(e,t)=>e?.has(t)??!1,st=e=>N(e)||0==Xe(e),rt=e=>[...e?.values()??[]],ot=(e,t)=>{for(const[n,s]of e?.entries()??[])if(!t(s,n))return!1;return!0},lt=e=>e.clear(),at=(e,t)=>e?.forEach(t),it=(e,t)=>e?.delete(t),dt=(e,n)=>{throw((e,n)=>Error("tinybase:"+e+(N(n)?t:":"+n)))(e,n)},ct=(e,t)=>{try{return e()}catch{return t}},ut=(e,t)=>{try{return e()}catch(e){t?.(e)}},gt=(e,t)=>{try{return e()}finally{t()}},ht=Map,ft=e=>new ht(e),bt=e=>[...e?.keys()??[]],wt=(e,t)=>e?.get(t),Ct=(e,t)=>at(e,(e,n)=>t(n,e)),vt=(e,t,n)=>N(n)?(it(e,t),e):e?.set(t,n),It=(e,t,n,s)=>{let r=wt(e,t);return nt(e,t)?s?.(r):vt(e,t,r=n()),r},Lt=(e,t,n,s=vt)=>(De(t,(t,s)=>n(e,s,t)),Ct(e,n=>ye(t,n)?0:s(e,n)),e),Rt=(e,t,n,s)=>{const r=ke();return at(e,(e,o)=>{if(!n?.(e,o)){const n=t?t(e,o):e;s?.(n)||me(r,o,n)}}),r},Tt=(e,t,n)=>Rt(e,e=>Rt(e,t,n),st,Je),pt=(e,t,n)=>Rt(e,e=>Tt(e,t,n),st,Je),St=(e,t)=>{const n=ft();return at(e,(e,s)=>n.set(s,t?.(e)??e)),n},yt=e=>St(e,St),Vt=e=>St(e,yt),mt=(e,t,n,s,r=0)=>U((n?It:wt)(e,t[r],r>Y(t)-2?n:ft),o=>{if(r>Y(t)-2)return s?.(o)&&vt(e,t[r]),o;const l=mt(o,t,n,s,r+1);return st(o)&&vt(e,t[r]),l}),kt=e=>new Set(K(e)||N(e)?e:[e]),Mt=(e,t)=>e?.add(t),Dt=(e,t,n,s,r)=>{const o=e.hasRow,l=ft(),a=ft(),i=ft(),d=ft(),c=ft(),u=ft(),g=t=>U(wt(u,t),n=>{at(n,t=>{e.delListener(t),it(n,t)}),vt(u,t)}),h=(e,n)=>{vt(l,e,n),nt(a,e)||(vt(a,e,t()),vt(d,e,ft()),vt(c,e,ft()),ut(()=>r(i),t=>{throw vt(l,e),vt(a,e),vt(d,e),vt(c,e),t}))},f=e=>{vt(l,e),vt(a,e),vt(d,e),vt(c,e),g(e),r(i)};return[()=>e,()=>bt(l),e=>Ct(a,e),e=>nt(a,e),e=>wt(l,e),e=>wt(a,e),(e,t)=>vt(a,e,t),h,(t,s,r,l,a)=>{h(t,s);const i=ft(),f=ft(),b=wt(d,t),w=wt(c,t),C=t=>{const r=n=>e.getCell(s,t,n),d=wt(b,t),c=o(s,t)?n(l(r,t)):void 0;if(d===c||K(d)&&K(c)&&ae(d,c)||vt(i,t,[d,c]),!N(a)){const e=wt(w,t),n=o(s,t)?a(r,t):void 0;(u=e)===(g=n)||(Te(u)||K(u))&&Ae(u)===Ae(g)||vt(f,t,n)}var u,g},v=e=>{r(()=>{at(i,([,e],t)=>vt(b,t,e)),at(f,(e,t)=>vt(w,t,e))},i,f,b,w,e),lt(i),lt(f)};Ct(b,C),e.hasTable(s)&&ce(e.getRowIds(s),e=>{nt(b,e)||C(e)}),v(!0),g(t),((e,...t)=>{const n=It(u,e,kt);ce(t,e=>Mt(n,e))})(t,e.addRowListener(s,null,(e,t,n)=>C(n)),e.addTableListener(s,()=>v()))},f,e=>s(e,i),()=>Ct(u,f)]},Et=(e,n)=>$(e)?t=>t(e):e??(()=>n??t),Wt=(e,t)=>{const n=new WeakMap;return s=>{if(!n.has(s)){const t=e(s,()=>n.get(s)===t&&(n.delete(s),!0));n.set(s,t)}const r=n.get(s);return t?.(r),r}},_t=/^\d+$/,Ht=()=>{const e=[];let n=0;return[s=>(s?Ce(e):null)??t+n++,t=>{te(_t,t)&&Y(e)<1e3&&be(e,t)}]},xt=e=>{let n;const[s,r]=Ht(),o=ft(),l=(e,s,r,l)=>{let a,i=!1;if(ce(((e,n=[t])=>{const s=[],r=(e,t)=>t==Y(n)?be(s,e):j(n[t])?at(e,e=>r(e,t+1)):ce([n[t],null],n=>r(wt(e,n),t+1));return r(e,0),s})(s,r),t=>at(t,t=>{const s=()=>wt(o,t)[0](n,...r??[],...l);e?ut(s,e=>{i||(a=e),i=!0}):s()})),i)throw a};return[(r,l,a,i=[],d=()=>[])=>{n??=e();const c=s(1);return vt(o,c,[r,l,a,i,d]),Mt(mt(l,a??[t],kt),c),c},(e,t,...n)=>l(!1,e,t,n),e=>U(wt(o,e),([,n,s])=>(mt(n,s??[t],void 0,t=>(it(t,e),st(t)?1:0)),vt(o,e),r(e),s)),e=>U(wt(o,e),([e,,t=[],s,r])=>{const o=(...l)=>{const a=Y(l);a==Y(t)?e(n,...l,...r(l)):j(t[a])?ce(s[a]?.(...l)??[],e=>o(...l,e)):o(...l,t[a])};o()}),(e,t,...n)=>l(!0,e,t,n)]},Jt=(e,t)=>e===t||!N(e)&&!N(t)&&Ue(e)===Ue(t),Pt=Wt(e=>{let n,s,r,o=100,l=ft(),a=ft(),i=1,d=0;const c=ft(),u=ft(),[g,h,f]=xt(()=>H),b=ft(),w=ft(),C=[],v=[],I=(t,n)=>{i=0,gt(()=>e.transaction(()=>{const[s,r]=wt(b,n);at(s,(n,s)=>at(n,(n,r)=>at(n,(n,o)=>e._[5](s,r,o,n[t],!0)))),at(r,(n,s)=>e._[6](s,n[t],!0))}),()=>i=1)},L=e=>{vt(b,e),vt(w,e),h(u,[e])},R=(e,t)=>ce(fe(e,t??Y(e)),L),T=()=>R(C,Y(C)-o),p=()=>U(n,()=>{be(C,n),T(),R(v),n=void 0,r=1}),S=()=>{n=we(C),r=1};let y,V;const m=(e=t)=>(N(n)&&(n=t+s++,vt(b,n,[l,a]),W(n,e),l=ft(),a=ft(),r=1),n),k=()=>{ee(C)||(((e,...t)=>{e.unshift(...t)})(v,m()),I(0,n),n=we(C),r=1)},M=()=>{ee(v)||(be(C,n),n=Ce(v),I(1,n),r=1)},D=()=>{r&&(h(c),r=0)},E=e=>{const t=m(e);return D(),t},W=(e,t)=>(_(e)&&wt(w,e)!==t&&(vt(w,e,t),h(u,[e])),H),_=e=>nt(b,e),H={setSize:e=>(o=e,T(),H),addCheckpoint:E,setCheckpoint:W,getStore:()=>e,getCheckpointIds:()=>[[...C],n,[...v]],forEachCheckpoint:e=>Ct(w,e),hasCheckpoint:_,getCheckpoint:e=>wt(w,e),goBackward:()=>(k(),D(),H),goForward:()=>(M(),D(),H),goTo:e=>{const t=oe(C,e)?k:oe(v,e)?M:void 0;for(;!N(t)&&e!=n;)t();return D(),H},addCheckpointIdsListener:e=>g(e,c),addCheckpointListener:(e,t)=>g(t,u,[e]),delListener:e=>(f(e),H),clear:()=>(R(C),R(v),N(n)||L(n),n=void 0,s=0,E(),H),clearForward:()=>(ee(v)||(R(v),h(c)),H),destroy:()=>{d&&(d=0,e.delListener(y),e.delListener(V))},getListenerStats:()=>({checkpointIds:Ye(c),checkpoint:Ye(u)}),_registerListeners:()=>{d||(d=1,y=e.addCellListener(null,null,null,(e,t,n,s,r,o)=>{if(i){p();const e=It(l,t,ft),i=It(e,n,ft),d=It(i,s,()=>[o,void 0]);d[1]=r,Jt(d[0],r)&&st(vt(i,s))&&st(vt(e,n))&&st(vt(l,t))&&st(a)&&S(),D()}}),V=e.addValueListener(null,(e,t,n,s)=>{if(i){p();const e=It(a,t,()=>[s,void 0]);e[1]=n,Jt(e[0],n)&&st(vt(a,t))&&st(l)&&S(),D()}}))}};return Se(H.clear())},e=>e._registerListeners()),Ft=((e,n=t)=>"-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz".split(n,void 0))(),Ot=ft(ue(Ft,(e,t)=>[e,t])),At=e=>Ft[63&e],Qt=(e,t)=>wt(Ot,e[t])??0,zt=x.crypto?e=>x.crypto.getRandomValues(e):e=>ue(e,()=>F(256*O())),Nt=(e=16)=>he(zt(new Uint8Array(e)),(e,t)=>e+At(t),t),jt=new x.TextEncoder,qt=e=>{let t=2166136261;return ce(jt.encode(e),e=>{t^=e,t+=(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}),t>>>0},Bt=(e,t)=>(e^t)>>>0,Ut=e=>he(Re(e),(e,[t,n])=>Bt(e,Zt(t,n)^Zt(t,0)),0),Zt=(e,t)=>qt(e+":"+t),$t=(e,t)=>qt(ze(e??null)+":"+t),Gt=$t,Kt=Zt,Xt=Ut,Yt=Zt,en=e=>he(Re(e),(e,[t,n])=>Bt(e,Zt(t,n)),0),tn=Zt,nn=en,sn=3e5,rn=2**36,on=2**30,ln=2**24,an=2**18,dn=4096,cn=/^[-0-9A-Z_a-z]{16}$/,un=e=>{const t=qt(e);return At(t/ln)+At(t/an)+At(t/dn)+At(t/64)+At(t)},gn=e=>Qt(e,0)*rn+Qt(e,1)*on+Qt(e,2)*ln+Qt(e,3)*an+Qt(e,4)*dn+64*Qt(e,5)+Qt(e,6),hn=(e,n)=>e==t||$(e)&&te(cn,e)&&gn(e)<=n,fn=(e,n=Date.now)=>{let s=0,r=-1;const o=U(e,un,()=>Nt(5)),l=e=>{const o=n();if(!N(e)&&!hn(e,o+sn))return;const l=s,[a,d]=N(e)||e==t?[0,0]:i(e);s=J(l,a,o),r=s==l?s==a?J(r,d):r:s==a?d:-1},a=(e,t,n)=>At(e/rn)+At(e/on)+At(e/ln)+At(e/an)+At(e/dn)+At(e/64)+At(e)+At(t/an)+At(t/dn)+At(t/64)+At(t)+(N(n)?o:un(n)),i=e=>[gn(e),Qt(e,7)*an+Qt(e,8)*dn+64*Qt(e,9)+Qt(e,10),X(e,11)];return[()=>(l(),++r==ln&&(s++,r=0),a(s,r)),l,a,i,()=>s,()=>r,()=>o]},bn=(e,t)=>(e??0)<(t??0)?-1:1,wn=Wt(e=>{const n=ft(),s=ft(),r=ft(),o=ft(),[l,a,i]=xt(()=>R),[d,c,u,g,h,f,b,,w,C,v,I]=Dt(e,ft,e=>N(e)?t:K(e)?ue(e,D):D(e),l,a),L=(t,n,s)=>{const r=h(t);at(s,(t,s)=>n(s,n=>at(t,t=>n(t,n=>e.forEachCell(r,t,n)))))},R={setIndexDefinition:(e,t,l,i,d,c=bn)=>{const u=g(e),h=Et(l),C=N(d)?void 0:([e],[t])=>d(e,t);return w(e,t,(t,n,l,d,u,g)=>{let h=0;const w=kt(),v=ft(),I=kt(),L=f(e),R=e=>{nt(v,e)||vt(v,e,nt(L,e))};if(at(n,([e,t],n)=>{const s=kt(e),r=kt(t);at(s,e=>it(r,e)?it(s,e):0),at(s,e=>{R(e),Mt(w,e),U(wt(L,e),t=>{it(t,n),st(t)&&(vt(L,e),h=1)})}),at(r,e=>{R(e),Mt(w,e),nt(L,e)||(vt(L,e,kt()),h=1),Mt(wt(L,e),n),N(i)||Mt(I,e)})}),t(),st(u)||(g?Ct(L,e=>Mt(I,e)):Ct(l,e=>U(wt(d,e),e=>ce(K(e)?e:[e],e=>Mt(I,e)))),at(I,e=>{const t=(t,n)=>c(wt(u,t),wt(u,n),e),n=[...wt(L,e)];ie(n,t)||(vt(L,e,kt(de(n,t))),Mt(w,e))})),(h||g)&&!N(C)){const t=[...L];ie(t,C)||(b(e,ft(de(t,C))),h=1)}h&&a(s,[e]),Ct(v,(t,n)=>{const s=nt(L,t);n!=s&&a(r,[e,t],s)}),at(w,t=>a(o,[e,t]))},(e,t)=>{const n=h(e,t);return $(l)&&!N(n)?Ue(n):n},U(i,Et)),u||a(n,[e],!0),R},delIndexDefinition:e=>{const t=f(e),l=g(e),i=l?bt(t):[];return C(e),l&&(a(n,[e],!1),ee(i)||(a(s,[e]),ce(i,t=>{a(r,[e,t],!1),a(o,[e,t])}))),R},getStore:d,getIndexIds:c,forEachIndex:e=>u((t,n)=>e(t,e=>L(t,e,n))),forEachSlice:(e,t)=>L(e,t,f(e)),hasIndex:g,hasSlice:(e,t)=>nt(f(e),t),getTableId:h,getSliceIds:e=>bt(f(e)),getSliceRowIds:(e,t)=>rt(wt(f(e),t)),addIndexIdsListener:v,addHasIndexListener:(e,t)=>l(t,n,[e]),addSliceIdsListener:(e,t)=>l(t,s,[e]),addHasSliceListener:(e,t,n)=>l(n,r,[e,t]),addSliceRowIdsListener:(e,t,n)=>l(n,o,[e,t]),delListener:e=>(i(e),R),destroy:I,getListenerStats:()=>({sliceIds:Ye(s),sliceRowIds:et(o)})};return Se(R)}),Cn=([e,t])=>vn(e,t),vn=(e,t)=>t?[e,t]:[e],In=(e,t,n)=>[e,t,n],Ln=e=>e[2],Rn=(e,t)=>t>e?(e?qt(e):0)^qt(t):0,Tn=(e,n)=>((e??t)>(n??t)?e:n)??t,pn=(e,t,n)=>{t>e[1]&&(e[1]=t),e[2]=n>>>0},Sn=(e=t)=>vn(ke(),e),yn=(e=t)=>[ft(),e,0],Vn=([e,t,n],s)=>[Rt(e,s),t,n],mn=([e,t],n=Cn)=>vn(Rt(e,n),t),kn=e=>[e,e],Mn=(e,t=Ye)=>t(e[0])+t(e[1]),Dn=()=>[ft(),ft()],En=e=>[...e],Wn=([e,t])=>e===t,_n=e=>K(e)?ue(e,_n):Te(e)?We(e,_n):e,Hn=e=>We(e,(e,t)=>t==c?Ge(e):e),xn=(e,t,n)=>vt(e,t,wt(e,t)==-n?void 0:n),Jn=([e,t],[n,s])=>Pe(e,n)&&Pe(t,s),Pn=()=>{let e,t,n,s,r=!1,o=!1,l=0,a=0,h=[],w=[],p=0,E=0;const W=ft(),_=ft(),H=ft(),x=ft(),J=ft(),P=ft(),F=ft(),O=ft(),A=ft(),Q=kt(),z=ft(),q=ft(),B=ft(),Z=ft(),$=ft(),Y=ft(),ee=kt(),te=kt(),ne=ft(),ie=ft(),ge=ft(),he=ft(),fe=Dn(),we=Dn(),Ce=Dn(),ve=Dn(),Ie=Dn(),Le=Dn(),Re=Dn(),pe=Dn(),Ve=Dn(),ke=Dn(),Ee=Dn(),_e=Dn(),He=Dn(),xe=Dn(),Fe=Dn(),Ae=Dn(),Ke=Dn(),rt=Dn(),dt=Dn(),ht=Dn(),mt=Dn(),Dt=Dn(),Et=ft(),Wt=Dn(),[_t,Jt,Pt,Ft,Ot]=xt(()=>Fs),At=e=>{const t=E;return E=1,gt(e,()=>E=t)},Qt=e=>{const t=p;return p=1,gt(e,()=>p=t)},zt=(e,t,n,s=Object.is)=>U(t(),t=>e===t||s(e,t)?n(t):At(()=>n(t))),Nt=e=>{if(!Oe(e,(e,t)=>oe([i,d,c,u,M],t)))return!1;const t=e[i],n=e[d];if(N(n)?!(K(s=t)?!N(s[0])&&le(s,qe):qe(s)):!N(t)||!K(n)||N(n[0])||!le(n,e=>{const t=Ne(e);return!(j(e)||N(t)||je(t)||$e(e))}))return!1;var s;const r=e[c];return!(j(r)&&!e[u]||(j(r)||((N(n)?Be(t,Ne(r)):oe(n,r))&&!$e(r)?U(ct(()=>Ue(r)),t=>e[c]=t,()=>Me(e,c)):Me(e,c)),0))},jt=(e,t)=>U(ct(()=>Ue(e)),e=>e,t),qt=e=>Te(e)?We(e,se):e,Bt=e=>Te(e)?We(e,qt):e,Ut=e=>Te(e)?We(e,se):e,Zt=(e,t)=>1==p&&Ze(e)&&1==ct(()=>{const n=Ne(Ge(e));return je(n)&&(N(t)||Be(t,n))},!1),$t=K,Gt=(t,n)=>(!e||nt(B,n)||Qn(n))&&Oe(t,(e,t)=>Kt(n,t,e),()=>Qn(n)),Kt=(e,t,n,s)=>{const r=s?n:tn(n,e,t);return Oe(r,(s,r)=>U(Xt(e,t,r,s),e=>(me(n,r,e),!0),()=>!1),()=>Qn(e,t))&&(!!s||ot(wt(Z,e)?.[2],e=>ye(r,e)))},Xt=(t,n,s,r)=>e?U(wt(wt(B,t),s),e=>j(r)?e[u]?r:Qn(t,n,s,r,e[c]):$e(r,p)?Qn(t,n,s,r,e[c]):Ze(r)?N(e[d])&&Zt(r,e[i])?r:Qn(t,n,s,r,e[c]):N(e[d])?Be(e[i],Ne(r))?jt(r,()=>Qn(t,n,s,r,e[c])):Qn(t,n,s,r,e[c]):oe(e[d],r)?r:Qn(t,n,s,r,e[c]),()=>Qn(t,n,s,r)):N(Ne(r))||$e(r,p)||Ze(r)&&!Zt(r)?Qn(t,n,s,r):jt(r,()=>Qn(t,n,s,r)),Yt=(e,t)=>{const n=t?e:nn(e);return Oe(n,(t,n)=>U(en(n,t),t=>(me(e,n,t),!0),()=>!1),()=>zn())&&(!!t||ot(te,e=>ye(n,e)))},en=(e,n)=>t?U(wt($,e),t=>j(n)?t[u]?n:zn(e,n,t[c]):$e(n,p)?zn(e,n,t[c]):Ze(n)?N(t[d])&&Zt(n,t[i])?n:zn(e,n,t[c]):N(t[d])?Be(t[i],Ne(n))?jt(n,()=>zn(e,n,t[c])):zn(e,n,t[c]):oe(t[d],n)?n:zn(e,n,t[c]),()=>zn(e,n)):N(Ne(n))||$e(n,p)||Ze(n)&&!Zt(n)?zn(e,n):jt(n,()=>zn(e,n)),tn=(e,t,n)=>(U(wt(Z,t),([s,r])=>{at(s,(s,r)=>{ye(e,r)||(me(e,r,s),U(n,e=>Mt(It(It(F,t,ft),e,kt),r)))}),at(r,s=>{ye(e,s)||Qn(t,n,s)})}),e),nn=e=>(t&&(at(Y,(t,n)=>{ye(e,n)||(me(e,n,t),Mt(Q,n))}),at(ee,t=>{ye(e,t)||zn(t)})),e),sn=e=>Lt(B,e,(e,t,n)=>{const s=ft(),r=kt(),o=kt();Lt(It(B,t,ft),n,(e,t,n)=>{vt(e,t,n),U(n[c],e=>{vt(s,t,e)},()=>{Mt(r,t),!0===n[M]&&Mt(o,t)})}),vt(Z,t,[s,r,o])},(e,t)=>{vt(B,t),vt(Z,t)}),rn=e=>Lt($,e,(e,t,n)=>{vt($,t,n),U(n[c],e=>{vt(Y,t,e),it(ee,t),it(te,t)},()=>{vt(Y,t),Mt(ee,t),!0===n[M]?Mt(te,t):it(te,t)})},(e,t)=>{vt($,t),vt(Y,t),it(ee,t),it(te,t)}),on=()=>{n??=[!!e,Tt(B)]},ln=()=>{s??=[!!t,Rt($)]},an=e=>Je(e)?Vs():vs(e),dn=(e,t,n,s,r,o)=>N(s)?Ms(e,t,n,!0,r):Is(e,t,n,s,r,o),cn=e=>Je(e)?Ds():Ls(e),un=(e,t,n)=>N(t)?Es(e,n):Rs(e,t,n),gn=(e,t)=>zt(e,()=>t?e:U(h[1],t=>At(()=>t(re(e))),()=>e),e=>Lt(ge,e,(e,t,n)=>hn(t,n),(e,t)=>Rn(t)),Pe),hn=(e,t,n)=>zt(t,()=>n?t:U(h[2],n=>At(()=>n(e,re(t))),()=>t),t=>Lt(It(ge,e,()=>(yn(e,1),vt(ne,e,Ht()),vt(ie,e,ft()),ft())),t,(t,n,s)=>fn(e,t,n,s),(t,n)=>Tn(e,t,n)),Pe),fn=(e,t,n,s,r)=>zt(s,()=>r?s:U(h[3],t=>At(()=>t(e,n,re(s))),()=>s),s=>Lt(It(t,n,()=>(Vn(e,n,1),ft())),s,(t,s,r)=>wn(e,n,t,s,r),(s,o)=>pn(e,t,n,s,o,r)),Pe),wn=(e,t,n,s,r,o)=>zt(r,()=>U(o?void 0:h[4],n=>At(()=>n(e,t,s,r)),()=>r),r=>U(E?Xt(e,t,s,Ge(r)):r,r=>{nt(n,s)||mn(e,t,s,1);const o=wt(n,s);r!==o&&(Fn(e,t,s,o,r),vt(n,s,r))})),Cn=(e,t,n,s,r,o)=>U(wt(t,n),t=>wn(e,n,t,s,r,o),()=>{const l=ft();vt(t,n,l),Vn(e,n,1),De(tn({[s]:r},e,n),(t,s)=>wn(e,n,l,s,t,o))}),vn=(e,t)=>zt(e,()=>t?e:U(h[5],t=>At(()=>t(re(e))),()=>e),e=>Lt(he,e,(e,t,n)=>In(t,n),(e,t)=>Sn(t)),Pe),In=(e,t,n)=>zt(t,()=>U(n?void 0:h[6],n=>At(()=>n(e,t)),()=>t),t=>U(E?en(e,Ge(t)):t,t=>{nt(he,e)||On(e,1);const n=wt(he,e);t!==n&&(An(e,n,t),vt(he,e,t))})),Ln=e=>It(ge,e,()=>(yn(e,1),vt(ne,e,Ht()),vt(ie,e,ft()),ft())),Rn=e=>At(()=>h[8]?.(e))??1?hn(e,{},!0):wt(ge,e),Tn=(e,t,n)=>{if(At(()=>h[9]?.(e,n))??1){const[,s]=wt(ne,e);s(n),fn(e,t,n,{},!0)}},pn=(e,t,n,s,r,o,l)=>{const a=wt(wt(Z,e)?.[0],r);if(!N(a)&&!o)return wn(e,n,s,r,a);if(l||(At(()=>h[10]?.(e,n,r))??1)){const o=t=>{Fn(e,n,t,wt(s,t)),mn(e,n,t,-1),vt(s,t)};N(a)?o(r):Ct(s,o),st(s)&&(Vn(e,n,-1),st(vt(t,n))&&(yn(e,-1),vt(ge,e),vt(ne,e),vt(ie,e)))}},Sn=(e,t)=>{const n=wt(Y,e);if(!N(n))return In(e,n);(t||(At(()=>h[12]?.(e))??1))&&(An(e,wt(he,e)),On(e,-1),vt(he,e))},yn=(e,t)=>xn(W,e,t),Vn=(e,t,n)=>xn(It(x,e,ft),t,n)&&vt(H,e,It(H,e,()=>0)+n),mn=(e,t,n,s)=>{const r=wt(ie,e),o=wt(r,n)??0;(0==o&&1==s||1==o&&-1==s)&&xn(It(_,e,ft),n,s),vt(r,n,o!=-s?o+s:void 0),xn(It(It(J,e,ft),t,ft),n,s)},Fn=(e,t,n,s,r)=>{const o=nt(wt(wt(F,e),t),n)&&N(s)?1:0;It(It(It(P,e,ft),t,ft),n,()=>[s,0])[1]=r,w[3]?.(e,t,n,r,E,o),it(wt(wt(F,e),t),n)},On=(e,t)=>xn(O,e,t),An=(e,t,n)=>{const s=nt(Q,e)&&N(t)?1:0;It(A,e,()=>[t,0])[1]=n,w[4]?.(e,n,E,s),it(Q,e)},Qn=(e,t,n,s,r)=>(be(It(It(It(z,e,ft),t,ft),n,()=>[]),s),r),zn=(e,t,n)=>(be(It(q,e,()=>[]),t),n),Nn=(e,t,n)=>U(wt(wt(wt(P,e),t),n),([e,t])=>[!0,Ge(e),Ge(t)],()=>[!1,...kn(ls(e,t,n))]),jn=e=>U(wt(A,e),([e,t])=>[!0,Ge(e),Ge(t)],()=>[!1,...kn(ds(e))]),qn=e=>st(z)||st(Ae[e])?0:at(e?Vt(z):z,(t,n)=>at(t,(t,s)=>at(t,(t,r)=>Jt(Ae[e],[n,s,r],t)))),Bn=e=>st(q)||st(Ke[e])?0:at(e?St(q):q,(t,n)=>Jt(Ke[e],[n],t)),Un=(e,t,n,s)=>{if(!st(e))return Jt(t,s,()=>Rt(e)),Ct(e,(e,t)=>Jt(n,[...s??[],e],1==t)),1},Zn=e=>{const t=!st(fe[e]),n=!st(ke[e]),s=!(st(He[e])&&st(xe[e])&&st(Ve[e])&&st(Ee[e])&&st(Le[e])&&st(Re[e])&&st(pe[e])&&!n&&st(Ce[e])&&st(ve[e])),o=!(st(Fe[e])&&st(_e[e])&&st(Ie[e])&&st(we[e]));if(t||s||o){const a=e?[St(W),yt(_),St(H),yt(x),Vt(J),(l=P,St(l,e=>St(e,e=>St(e,En))))]:[W,_,H,x,J,P];if(t){const t=cs();t!=r&&Jt(fe[e],void 0,t)}if(s){Un(a[0],Ce[e],ve[e]),at(a[1],(t,n)=>Un(t,Le[e],Re[e],[n])),at(a[2],(t,n)=>{0!=t&&Jt(pe[e],[n],ns(n))});const t=kt();at(a[3],(s,r)=>{Un(s,Ve[e],Ee[e],[r])&&n&&(Jt(ke[e],[r,null]),Mt(t,r))}),n&&at(a[5],(n,s)=>{if(!nt(t,s)){const t=kt();at(n,e=>at(e,([n,s],r)=>s!==n?Mt(t,r):it(e,r))),at(t,t=>Jt(ke[e],[s,t]))}}),at(a[4],(t,n)=>at(t,(t,s)=>Un(t,He[e],xe[e],[n,s])))}if(o){let t;at(a[5],(n,s)=>{let r;at(n,(n,o)=>{let l;at(n,([n,a],i)=>{a!==n&&(Jt(Fe[e],[s,o,i],Ge(a),Ge(n),Nn),t=r=l=1)}),l&&Jt(_e[e],[s,o],Nn)}),r&&Jt(Ie[e],[s],Nn)}),t&&Jt(we[e],void 0,Nn)}}var l},$n=e=>{const t=!st(rt[e]),n=!st(ht[e])||!st(mt[e]),s=!st(Dt[e])||!st(dt[e]);if(t||n||s){const r=e?[St(O),St(A,En)]:[O,A];if(t){const t=bs();t!=o&&Jt(rt[e],void 0,t)}if(n&&Un(r[0],ht[e],mt[e]),s){let t;at(r[1],([n,s],r)=>{s!==n&&(Jt(Dt[e],[r],Ge(s),Ge(n),jn),t=1)}),t&&Jt(dt[e],void 0,jn)}}},Gn=(e,...t)=>(Hs(()=>e(...ue(t,D))),Fs),Kn=(e,t,n,s,r)=>{const[o,l,a,i]=n;let d=rs(e,t,o,l,a,i);return _t(()=>{const n=rs(e,t,o,l,a,i);ae(n,d)||(d=n,s(Fs,e,t,o,l,a,d))},ke[r?1:0],[e,t],[es])},Xn=(e=!1)=>[Rt(P,(t,n)=>-1===wt(W,n)?void 0:Rt(t,(t,s)=>-1===wt(wt(x,n),s)?void 0:Rt(t,([,t])=>Ge(t,0,e),e=>Wn(e)),st,Je),st,Je),Rt(A,([,t])=>Ge(t,0,e),e=>Wn(e)),1],Yn=()=>pt(ge,Ge),es=()=>bt(ge),ts=e=>bt(wt(ie,D(e))),ns=e=>Xe(wt(ge,D(e))),ss=e=>bt(wt(ge,D(e))),rs=(e,t,n,s=0,r,o=bn)=>Te(e)?rs(e.tableId,e.cellId,e.descending,e.offset,e.limit,e.sorter):ue(X(de((e=>{const n=[];return Ct(e,(e,s)=>{return be(n,(r=s,o=e,[N(t)?o:Ge(wt(r,D(t))),o]));var r,o}),n})(wt(ge,D(e))),([e],[t])=>o(e,t)*(n?-1:1)),s,N(r)?r:s+r),([,e])=>e),os=(e,t)=>bt(wt(wt(ge,D(e)),D(t))),ls=(e,t,n)=>Ge(wt(wt(wt(ge,D(e)),D(t)),D(n))),as=()=>Rt(he,Ge),is=()=>bt(he),ds=e=>Ge(wt(he,D(e))),cs=()=>!st(ge),us=e=>nt(ge,D(e)),gs=(e,t)=>nt(wt(ie,D(e)),D(t)),hs=(e,t)=>nt(wt(ge,D(e)),D(t)),fs=(e,t,n)=>nt(wt(wt(ge,D(e)),D(t)),D(n)),bs=()=>!st(he),ws=e=>nt(he,D(e)),Cs=e=>Gn(()=>{const t=G(e)?e():e;$t(t)&&(e=>{zt(e,()=>U(h[0],t=>At(()=>t(re(e),p)),()=>e),([e,t])=>{(Je(e)?Vs:vs)(e),(Je(t)?Ds:Ls)(t)},Jn)})(t)}),vs=e=>Gn(()=>{const t=(e=>Te(e)?We(e,Bt):e)(e);return(e=>Oe(e,Gt,Qn))(t)?gn(t):0}),Is=(e,t,n,s,r,o)=>Gn((e,t,n)=>U(Xt(e,t,n,G(s)?s(ls(e,t,n)):s),s=>{const l=Ln(e);U(r||o||!h[14]?.()?void 0:h[3],o=>{const a=wt(l,t),i={...a?Rt(a):{},[n]:s};U(At(()=>o(e,t,re(i))),n=>((e,t,n,s,r)=>{Lt(It(t,n,()=>(Vn(e,n,1),ft())),s,(t,s,o)=>U(Xt(e,n,s,Ge(o)),o=>wn(e,n,t,s,o,r)),(s,r)=>pn(e,t,n,s,r,!0))})(e,l,t,n,r))},()=>Cn(e,l,t,n,s,r))}),e,t,n),Ls=e=>Gn(()=>{const t=Ut(e);return Yt(t)?vn(t):0}),Rs=(e,t,n)=>Gn(e=>U(en(e,G(t)?t(ds(e)):t),t=>In(e,t,n)),e),Ts=e=>Gn(()=>zt(e,()=>U(h[13],t=>At(()=>t(re(e),p)),()=>e),e=>{De(e[0],(e,t)=>N(e)?ms(t):De(e,(e,n)=>N(e)?ks(t,n):De(e,(e,s)=>dn(t,n,s,e,void 0,!0)))),De(e[1],(e,t)=>un(t,e))},Jn)),ps=e=>(ut(()=>Qt(()=>an(Qe(e)))),Fs),Ss=t=>Gn(()=>{const n=_n(t);if(Oe(n,e=>Oe(e,Nt))&&(on(),e=!0,sn(n),!st(ge))){const e=Yn();Vs(),vs(e)}}),ys=e=>Gn(()=>{const n=_n(e);if((e=>Oe(e,Nt))(n)){ln();const e=as();_s(),Ds(),t=!0,rn(n),Ls(e)}}),Vs=()=>Gn(()=>At(()=>h[7]?.())??1?gn({},!0):0),ms=e=>Gn(e=>nt(ge,e)?Rn(e):0,e),ks=(e,t)=>Gn((e,t)=>U(wt(ge,e),n=>nt(n,t)?Tn(e,n,t):0),e,t),Ms=(e,t,n,s,r)=>Gn((e,t,n)=>U(wt(ge,e),o=>U(wt(o,t),l=>nt(l,n)?pn(e,o,t,l,n,s,r):0)),e,t,n),Ds=()=>Gn(()=>At(()=>h[11]?.())??1?vn({},!0):0),Es=(e,t)=>Gn(e=>nt(he,e)?Sn(e,t):0,e),Ws=()=>Gn(()=>{on(),sn({}),e=!1}),_s=()=>Gn(()=>{ln(),rn({}),t=!1}),Hs=(e,t)=>{if(-1!=a){xs();try{const n=e();return Ps(t),n}catch(e){throw a>0&&(l=1,ut(Ps)),e}}},xs=()=>{if(-1!=a&&a++,1==a)try{w[0]?.(),Jt(Et)}catch(e){throw l=1,ut(Ps),e}return Fs},Js=()=>{a=0,l=0,n=s=void 0,r=cs(),o=bs(),ce([W,_,H,x,J,P,F,z,O,A,Q,q],lt)},Ps=r=>{if(a>0&&(a--,0==a)){a=1;let o=!1,i=!1;const d=()=>{i=!0,U(n,([t,n])=>{sn(n),e=t}),U(s,([e,n])=>{rn(n),t=e}),at(P,(e,t)=>at(e,(e,n)=>at(e,([e],s)=>dn(t,n,s,e,!0)))),lt(P),at(A,([e],t)=>un(t,e,!0)),lt(A)};let c=!1,u=!1;gt(()=>{let e,t=!1;const n=n=>{t||(e=n),t=!0};if(ut(()=>{try{l?d():(At(()=>{qn(1),st(P)||Zn(1),Bn(1),st(A)||$n(1)}),r?.(Fs)&&d(),w[1]?.(i),c=!0,Ot(Wt[0],void 0),a=-1,o=!0,qn(0),st(P)||Zn(0),Bn(0),st(A)||$n(0))}catch(e){throw o||d(),e}},n),c&&i&&(o||ut(()=>w[1]?.(!0),n),ut(()=>{w[2]?.(!0),u=!0},n)),c&&ut(()=>{a=-1,Ot(Wt[1],void 0)},n),t)throw e},()=>gt(()=>u?0:w[2]?.(i),Js))}return Fs},Fs={getContent:()=>[Yn(),as()],getTables:Yn,getTableIds:es,getTable:e=>Tt(wt(ge,D(e)),Ge),getTableCellIds:ts,getRowCount:ns,getRowIds:ss,getSortedRowIds:rs,getRow:(e,t)=>Rt(wt(wt(ge,D(e)),D(t)),Ge),getCellIds:os,getCell:ls,getValues:as,getValueIds:is,getValue:ds,hasTables:cs,hasTable:us,hasTableCell:gs,hasRow:hs,hasCell:fs,hasValues:bs,hasValue:ws,getTablesJson:()=>ze(ge),getValuesJson:()=>ze(he),getJson:()=>ze([ge,he]),getTablesSchemaJson:()=>ze(Tt(B,Hn)),getValuesSchemaJson:()=>ze(Rt($,Hn)),getSchemaJson:()=>ze([Tt(B,Hn),Rt($,Hn)]),hasTablesSchema:()=>e,hasValuesSchema:()=>t,setContent:Cs,setTables:vs,setTable:(e,t)=>Gn(e=>{const n=Bt(t);return Gt(n,e)?hn(e,n):0},e),setRow:(e,t,n)=>Gn((e,t)=>{const s=qt(n);return Kt(e,t,s)?fn(e,Ln(e),t,s):0},e,t),addRow:(e,t,n=!0)=>Hs(()=>{let s;const r=qt(t);return Kt(e,s,r)&&(e=D(e),fn(e,Ln(e),s=((e,t)=>{const[n]=wt(ne,e);let s;do{s=n(t)}while(nt(wt(ge,e),s));return s})(e,n?1:0),r)),s}),setPartialRow:(e,t,n)=>Gn((e,t)=>{const s=qt(n);if(Kt(e,t,s,1)){const n=Ln(e);De(s,(s,r)=>Cn(e,n,t,r,s))}},e,t),setCell:Is,setValues:Ls,setPartialValues:e=>Gn(()=>{const t=Ut(e);return Yt(t,1)?De(t,(e,t)=>In(t,e)):0}),setValue:Rs,applyChanges:Ts,setTablesJson:ps,setValuesJson:e=>(ut(()=>Qt(()=>cn(Qe(e)))),Fs),setJson:e=>Gn(()=>ut(()=>Qt(()=>{const[t,n]=Qe(e);an(t),cn(n)}),()=>ps(e))),setTablesSchema:Ss,setValuesSchema:ys,setSchema:(e,t)=>Gn(()=>{Ss(e),ys(t)}),delTables:Vs,delTable:ms,delRow:ks,delCell:Ms,delValues:Ds,delValue:Es,delTablesSchema:Ws,delValuesSchema:_s,delSchema:()=>Gn(()=>{Ws(),_s()}),transaction:Hs,startTransaction:xs,getTransactionChanges:()=>Xn(),getTransactionLog:()=>[!st(P),!st(A),pt(P,En,Wn),pt(z),Rt(A,En,Wn),Rt(q),Rt(W),Tt(x),pt(J),Rt(O)],finishTransaction:Ps,forEachTable:e=>at(ge,(t,n)=>e(n,e=>at(t,(t,n)=>e(n,e=>Ct(t,(t,n)=>e(t,Ge(n))))))),forEachTableCell:(e,t)=>Ct(wt(ie,D(e)),t),forEachRow:(e,t)=>at(wt(ge,D(e)),(e,n)=>t(n,t=>Ct(e,(e,n)=>t(e,Ge(n))))),forEachCell:(e,t,n)=>Ct(wt(wt(ge,D(e)),D(t)),(e,t)=>n(e,Ge(t))),forEachValue:e=>Ct(he,(t,n)=>e(t,Ge(n))),addSortedRowIdsListener:(e,t,n,s,r,o,l)=>Te(e)?Kn(e.tableId,e.cellId,[e.descending??!1,e.offset??0,e.limit,e.sorter],t,n):Kn(e,t,[n,s,r,void 0],o,l),addStartTransactionListener:e=>_t(e,Et),addWillFinishTransactionListener:e=>_t(e,Wt[0]),addDidFinishTransactionListener:e=>_t(e,Wt[1]),callListener:e=>(Ft(e),Fs),delListener:e=>(Pt(e),Fs),getListenerStats:()=>({hasTables:Mn(fe),tables:Mn(we),tableIds:Mn(Ce),hasTable:Mn(ve),table:Mn(Ie),tableCellIds:Mn(Le),hasTableCell:Mn(Re,et),rowCount:Mn(pe),rowIds:Mn(Ve),sortedRowIds:Mn(ke),hasRow:Mn(Ee,et),row:Mn(_e,et),cellIds:Mn(He,et),hasCell:Mn(xe,tt),cell:Mn(Fe,tt),invalidCell:Mn(Ae,tt),hasValues:Mn(rt),values:Mn(dt),valueIds:Mn(ht),hasValue:Mn(mt),value:Mn(Dt),invalidValue:Mn(Ke),transaction:Ye(Et)+Mn(Wt)}),isMergeable:()=>!1,_:[Pn,_t,Jt,(e,t,n,s,r)=>w=[e,t,n,s,r],(e,t,n,s,r,o,l,a,i,d,c,u,g,f,b)=>h=[e,t,n,s,r,o,l,a,i,d,c,u,g,f,b],dn,un,()=>[pt(ge),Rt(he)],()=>Xn(!0),e=>Qt(()=>Cs(e)),e=>Qt(()=>Ts(e))]};return De({[b+v]:[0,fe,[],()=>[cs()]],[v]:[0,we],[I]:[0,Ce],[b+C]:[1,ve,[es],e=>[us(...e)]],[C]:[1,Ie,[es]],[C+y]:[1,Le,[es]],[b+C+S]:[2,Re,[es,ts],e=>[gs(...e)]],[R]:[1,pe,[es]],[T]:[1,Ve,[es]],[b+L]:[2,Ee,[es,ss],e=>[hs(...e)]],[L]:[2,_e,[es,ss]],[y]:[2,He,[es,ss]],[b+S]:[3,xe,[es,ss,os],e=>[fs(...e)]],[S]:[3,Fe,[es,ss,os],e=>kn(ls(...e))],InvalidCell:[3,Ae],[b+m]:[0,rt,[],()=>[bs()]],[m]:[0,dt],[k]:[0,ht],[b+V]:[1,mt,[is],e=>[ws(...e)]],[V]:[1,Dt,[is],e=>kn(ds(e[0]))],InvalidValue:[1,Ke]},([e,t,n,s],r)=>{Fs[f+r+g]=(...r)=>_t(r[e],t[r[e+1]?1:0],e>0?X(r,0,e):void 0,n,s)}),Se(Fs)},Fn={HasTable:1,Table:1,TableCellIds:1,HasTableCell:2,RowCount:1,RowIds:1,SortedRowIds:5,HasRow:2,Row:2,CellIds:2,HasCell:3,Cell:3,HasValue:1,Value:1,InvalidCell:3,InvalidValue:1},On=(e=t)=>[yn(e),yn(e)],An=(e,t)=>Te(e)&&Ee(e,t),Qn=(t,n,s,o)=>{if(!K(t))return!1;if(s?2!=Y(t):2!=Y(t)&&(3!=Y(t)||1!==t[2]))return!1;const l=(t,o)=>((t,n,s,o)=>K(t)&&(3==Y(t)?((t,n)=>{return K(t)&&3==Y(t)&&$(t[1])&&(s=t[2],e(s)==r)&&Q(t[2])&&n(t[0]);var s})(t,n)&&hn(t[1],s):!o&&n(t[0])&&(1==Y(t)||2==Y(t)&&hn(t[1],s))))(t,o,n,s),a=e=>(e=>N(e)||!N(Ne(e)))(e)&&!$e(e,o);return l(t[0],e=>An(e,e=>l(e,e=>An(e,e=>l(e,e=>An(e,e=>l(e,a)))))))&&l(t[1],e=>An(e,e=>l(e,a)))},zn=(e,n=Date.now)=>{let s=1,r=On(),o=r,l=0,a=0,i=a;const d=[],c=ft(),u=kt(),[h,b]=fn(e,n),w=Pn(),C=e=>{const t=s;return s=0,gt(e,()=>s=t),M},v=e=>{const[t,n,s]=e;be(d,()=>{e[0]=t,e[1]=n,e[2]=s})},I=(e,t,n)=>(nt(e,t)||be(d,()=>vt(e,t)),It(e,t,n)),L=(e,n=0)=>{const s=ke(),o=ke(),[[l,a=t,i=0],d]=e,[c,u]=r,[g,h,f]=c;let w=n?i:f,C=a;De(l,([e,r=t,o=0],l)=>{const a=I(g,l,yn),[i,d,c]=a;let u=n?o:c,h=r;De(e,(e,t)=>{const[r,o,a]=R(e,I(i,t,yn),Fe(Fe(s,l,ke),t,ke),n);u^=n?0:Bt(o?Zt(t,o):0,Zt(t,a)),h=Tn(h,r)}),u^=n?0:Rn(d,r),v(a),pn(a,r,u),w^=n?0:Bt(c?Zt(l,c):0,Zt(l,a[2])),C=Tn(C,h)}),w^=n?0:Rn(h,a),v(c),pn(c,a,w);const[L]=R(d,u,o,n);return b(Tn(C,L)),[s,o,1]},R=(e,n,s,r)=>{const[o,l=t,a=0]=e,[i,d,c]=n;let u=l,g=r?a:c;return De(o,([e,n=t,o=0],l)=>{const a=I(i,l,()=>[void 0,t,0]),[,d,c]=a;(!d||n>d)&&(v(a),pn(a,n,r?o:$t(e,n)),a[0]=e,me(s,l,e),g^=r?0:Bt(Zt(l,c),Zt(l,a[2])),u=Tn(u,n))}),g^=r?0:Rn(d,l),v(n),pn(n,l,g),[u,c,n[2]]},T=()=>{for(;Y(d);)we(d)?.();r=o,a=i},p=(e=!1)=>[Vn(r[0],t=>Vn(t,t=>Vn(t,([t,n,s])=>[Ge(t,0,e),n,s]))),Vn(r[1],([t,n,s])=>[Ge(t,0,e),n,s])],S=(e,t=!1)=>{const[[n,s,o],[l,a,i]]=r,d=e?In:vn,g=ke();at(c,(e,s)=>U(wt(n,s),([n,r,o])=>{const l=ke();at(e,(e,s)=>U(wt(n,s),([n,r,o])=>{const a=ke();at(e,e=>{U(wt(n,e),([n,s,r])=>me(a,e,d(t?n:Ge(n),s,r)))}),me(l,s,d(a,r,o))})),me(g,s,d(l,r,o))}));const h=ke();return at(u,e=>U(wt(l,e),([n,s,r])=>me(h,e,d(t?n:Ge(n),s,r)))),[d(g,s,o),d(h,a,i),1]},y=()=>p(),V=(e,t)=>Qn(e,n()+sn,1,t?1:0)?C(()=>w.transaction(()=>{w.delTables().delValues(),r=On();const n=L(e,1);(t?w._[10]:w.applyChanges)(n)})):M,m=(e,t)=>Qn(e,n()+sn,0,t?1:0)?C(()=>w.transaction(()=>(t?w._[10]:w.applyChanges)(L(e)))):M,k=e=>m(e),M={getMergeableContent:y,getMergeableContentHashes:()=>[r[0][2],r[1][2]],getMergeableTableHashes:()=>Rt(r[0][0],Ln),getMergeableTableDiff:e=>{const t=Sn(r[0][1]),n=ke();return Ct(r[0][0],(s,[r,o,l])=>ye(e,s)?l!=Ve(e,s)?me(n,s,l):0:me(t[0],s,mn([r,o],e=>mn(e)))),[t,n]},getMergeableRowHashes:e=>{const t=ke();return De(e,(e,n)=>U(wt(r[0][0],n),([s,,r])=>r!=e?Ct(s,(e,[,,s])=>me(Fe(t,n,ke),e,s)):0)),t},getMergeableRowDiff:e=>{const t=Sn(r[0][1]),n=ke();return De(e,(e,s)=>Ct(wt(r[0][0],s)?.[0],(r,[o,l,a])=>ye(e,r)?a!==Ve(e,r)?me(Fe(n,s,ke),r,a):0:me(Fe(t[0],s,Sn)[0],r,mn([o,l])))),[t,n]},getMergeableCellHashes:e=>{const t=ke();return De(e,(e,n)=>U(wt(r[0][0],n),([s])=>De(e,(e,r)=>U(wt(s,r),([s,,o])=>o!==e?Ct(s,(e,[,,s])=>me(Fe(Fe(t,n,ke),r,ke),e,s)):0)))),t},getMergeableCellDiff:e=>{const[[t,n]]=r,s=ke();return De(e,(e,n)=>De(e,(e,r)=>U(wt(t,n),([t,o])=>U(wt(t,r),([t,l])=>Ct(t,(t,[a,i,d])=>d!==Ve(e,t)?me(Fe(Fe(s,n,()=>Sn(o))[0],r,()=>Sn(l))[0],t,[a,i]):0))))),vn(s,n)},getMergeableValueHashes:()=>Rt(r[1][0],Ln),getMergeableValueDiff:e=>{const[,[t,n]]=r,s=Rt(t,Cn,([,,t],n)=>t==Ve(e,n));return vn(s,n)},setMergeableContent:e=>V(e),setDefaultContent:e=>(w.transaction(()=>{l=1,gt(()=>w.setContent(e),()=>l=0)}),M),getTransactionMergeableChanges:(e=!1)=>S(e),applyMergeableChanges:k,merge:e=>{const t=y(),n=e.getMergeableContent();return e.applyMergeableChanges(t),k(n)},__:[()=>{const e=a;return a=0,e},()=>p(!0),e=>S(e,!0),e=>V(e,!0),e=>m(e,!0)]};return w._[3](()=>{o=r,i=a},e=>e?T():0,e=>{e?T():fe(d),lt(c),lt(u)},(e,n,r,o,i,d)=>{if(Mt(It(It(c,e,ft),n,kt),r),s||i){i&&(a=1);const s=l||d?t:h(),[c]=L([[{[e]:[{[n]:[{[r]:[o,s]}]}]}],[{}],1]),u=Ve(Ve(c,e),n);!s||u&&ye(u,r)||dt(13)}},(e,n,r,o)=>{if(Mt(u,e),s||r){r&&(a=1);const s=l||o?t:h(),[,i]=L([[{}],[{[e]:[n,s]}],1]);s&&!ye(i,e)&&dt(13)}}),De(w,(e,t)=>me(M,t,E(t,"set")||E(t,"del")||E(t,"apply")||W(t,"Transaction")||t=="call"+g||"use"==t?(...t)=>(e(...t),M):E(t,f)&&W(t,g)?(...n)=>{const s=Fn[X(t,3,-8)]??0,r=n[s];return n[s]=(e,...t)=>r(M,...t),e(...n)}:"isMergeable"==t?()=>!0:e)),Se(M)},Nn=ft([["avg",[(e,t)=>ge(e)/t,(e,t,n)=>e+(t-e)/(n+1),(e,t,n)=>n>1?e+(e-t)/(n-1):void 0,(e,t,n,s)=>e+(t-n)/s]],["max",[e=>he(e,(e,t)=>J(e,t),-1/0),(e,t)=>J(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:J(t,e)]],["min",[e=>he(e,(e,t)=>P(e,t),A),(e,t)=>P(t,e),(e,t)=>t==e?void 0:e,(e,t,n)=>n==e?void 0:P(t,e)]],["sum",[e=>ge(e),(e,t)=>e+t,(e,t)=>e-t,(e,t,n)=>e-n+t]]]),jn=(e,t,n,s,r,o=!1)=>{if(st(n))return;const[l,a,i,d]=r;return o||=N(e),at(s,([n,s])=>{o||(e=N(n)?a?.(e,s,t++):N(s)?i?.(e,n,t--):d?.(e,s,n,t),o||=N(e))}),o?l(rt(n),Xe(n)):e},qn=Wt(e=>{const n=ft(),[s,r,o]=xt(()=>C),[l,a,i,d,c,u,g,,h,f,b,w]=Dt(e,ne,e=>isNaN(e)||N(e)||q(e)||!1===e||e===t?void 0:1*e,s,r),C={setMetricDefinition:(e,t,s,o,l,a,i)=>{const d=G(s)?[s,l,a,i]:wt(Nn,s)??wt(Nn,"sum");return h(e,t,(t,s,o,l,a,i)=>{const c=u(e),h=Xe(l);i||=N(c),t();let f=jn(c,h,l,s,d,i);Q(f)||(f=void 0),f!=c&&(g(e,f),r(n,[e],f,c))},Et(o,1)),C},delMetricDefinition:e=>(f(e),C),getStore:l,getMetricIds:a,forEachMetric:i,hasMetric:d,getTableId:c,getMetric:u,addMetricIdsListener:b,addMetricListener:(e,t)=>s(t,n,[e]),delListener:e=>(o(e),C),destroy:w,getListenerStats:()=>({metric:Ye(n)})};return Se(C)}),Bn=(e,t,...n)=>he(e,(e,t)=>N(e)?e:t(...n,e),t),Un=([e,t,n],s)=>[We(e,e=>N(e)?e:We(e,e=>N(e)?e:We(e,e=>N(e)?e:s(e)))),We(t,e=>N(e)?e:s(e)),n],Zn=(e,t,n,...s)=>ee(e)?t:U(Bn(e,n(t,Ge),...s),e=>n(e,e=>ct(()=>Ue(e),e))),$n=(e,...t)=>le(e,e=>e(...t)),Gn=Wt((e,t)=>{const n=e=>t=>(be(e,t),W),s=[],r=[],o=[],l=[],a=[],i=[],d=[],c=[],u=[],g=[],h=[],f=[],b=[],w=[],C=[s,r,o,l,a,i,d,c,u,g,h,f,b,w],v=n(s),I=n(r),L=n(o),R=n(l),T=n(a),p=n(i),S=n(d),y=n(c),V=n(u),m=n(g),k=n(h),M=n(f),D=n(b),E=n(w),W=Se({getStore:()=>e,addWillSetContentCallback:v,addWillSetTablesCallback:I,addWillSetTableCallback:L,addWillSetRowCallback:R,addWillSetCellCallback:T,addWillSetValuesCallback:p,addWillSetValueCallback:S,addWillDelTablesCallback:y,addWillDelTableCallback:V,addWillDelRowCallback:m,addWillDelCellCallback:k,addWillDelValuesCallback:M,addWillDelValueCallback:D,addWillApplyChangesCallback:E,destroy:()=>{t()&&(e._[4](),ce(C,fe))}});return e._[4]((e,t)=>t?Zn(s,e,([e,t],n)=>[He(e,n),We(t,n)]):Bn(s,e),e=>Zn(r,e,He),(e,t)=>Zn(o,t,_e,e),(e,t,n)=>Zn(l,n,We,e,t),(e,t,n,s)=>Zn(a,s,(e,t)=>t(e),e,t,n),e=>Zn(i,e,We),(e,t)=>Zn(d,t,(e,t)=>t(e),e),()=>$n(c),e=>$n(u,e),(e,t)=>$n(g,e,t),(e,t,n)=>$n(h,e,t,n),()=>$n(f),e=>$n(b,e),(e,t)=>t?Zn(w,e,Un):Bn(w,e),()=>!ee(l)),W}),Kn="_",Xn=Wt(e=>{const n=e._[0],s=n(),r=n(),o=ft(),l=ft(),a=kt(),i=ft(),d=ft(),c={table:0,tableCellIds:0,rowCount:0,rowIds:0,sortedRowIds:0,row:0,cellIds:0,cell:0},u=ft(),b=ft(),w=ft(),v=ft(),I=ft(),V=ft(),{_:[,m,k],delListener:M}=r,[D,E,W,_,H,x,J,P,,F,O,A]=Dt(e,()=>[],ne,m,k),Q=e=>It(l,e,n),z=(e,t,...n)=>ce(n,n=>Mt(It(t,e,kt),n)),j=e=>Ct(e,(e,t)=>at(t,t=>e.delListener(t))),B=(e,t,n,...s)=>{const r=It(t,e,kt);return ce(s,t=>{Mt(r,t),n&&e.callListener(t)}),s},Z=(e,t,n)=>U(wt(t,e),s=>{e.delListener(n),it(s,n),st(s)&&vt(t,e)}),$=e=>U(wt(v,e),t=>{Ct(t,(e,t)=>Ct(t,(t,n)=>e.delListener(n))),vt(v,e)}),K=(e,t=ft())=>{const n=It(w,e,ft);Ct(n,(e,s)=>{Ct(s,(n,r)=>nt(wt(t,e),n)?0:(e.delListener(r),vt(s,n))),st(s)&&vt(n,e)}),Ct(t,(t,s)=>{const r=It(n,t,ft);at(s,n=>It(r,n,()=>t.addTableCellIdsListener(n,()=>ut(()=>oe(e),s=>{throw((e,t,n)=>{const s=It(It(v,e,ft),t,ft);It(s,n,()=>t.addTableListener(n,()=>oe(e)))})(e,t,n),s}))))}),st(n)&&vt(w,e)},te=()=>{Ct(o,e=>_(e)?0:vt(o,e)),Ct(l,(e,t)=>_(e)||((e,t)=>!(ot(i,([,e])=>ot(e,([e])=>e!==t))&&ot(V,t=>!nt(t,e))&&le([u,b],e=>ot(e,e=>!nt(e,t)))))(e,t)?0:vt(l,e))},se=(e,t,n)=>{z(e,n,e.addWillFinishTransactionListener(t.startTransaction)),z(e,n,e.addDidFinishTransactionListener(()=>t.finishTransaction()))},re=(e,t)=>(Je(t)?s.delRow:s.setRow)(Kn,e,{...t}),oe=(s,r)=>{const l=[ft(),ft(),void 0,ft(),kt(),ft()];let a=!1;return ut(()=>((s,r,o,l)=>Q(s).transaction(()=>U(((e,n)=>N(n)?x(e):[n[1],t,n[2]])(s,o),([a,,i])=>{const[d,c]=r,u=o?.[0]??H(s),g=i?Q(u):e,h=Q(s),f=o?.[3]??ue(s),b=r[4];i&&Mt(b,u);const w=[];let C=!1,v=0;const L=[[void 0,[u,void 0,void 0,[],ft(),g]]],R=[],T=[],p=[];a({select:(e,n,s)=>{const r=q(e)?n:e,o=q(e)?s:n,l=G(e)?[0,v+t,e]:N(o)?[0,e,t=>t(e)]:[0,o,t=>q(e)?t(!0,r,o):t(r,o)];return v++,be(w,l),{as:e=>l[1]=e}},selectAll:(e,n,s)=>{C=!0;const r=q(e)?n:e,o=q(e)?s:n;be(w,[1,r,G(o)?o:e=>(o??t)+e,G(o)||!N(o)&&o!==t?1:0])},join:(t,n,s,r)=>{const o=q(t)?n:t,[l,a]=q(t)?N(r)||G(s)?[void 0,s]:[s,r]:N(s)||G(n)?[void 0,n]:[n,s],i=q(t),d=i?Q(o):e;i&&Mt(b,o);const c=[o,[o,l,G(a)?a:e=>e(a),[],ft(),d]];return be(L,c),{as:e=>c[0]=e}},where:(e,t,n,s)=>be(R,G(e)?e:q(e)?e=>e(!0,t,n)===s:N(n)?n=>n(e)===t:s=>s(e,t)===n),group:(e,t,n,s,r)=>{const o=[e,[e,G(t)?[t,n,s,r]:wt(Nn,t)??[(e,t)=>t]]];return be(T,o),{as:e=>o[0]=e}},having:(e,t)=>be(p,G(e)?e:n=>n(e)===t),param:e=>Ve(f,e)});const S=ft(L);Ct(S,(e,[,t])=>U(wt(S,t),({3:t})=>N(e)?0:be(t,e)));const y=e=>N(e),V=e=>wt(S,y(e)?void 0:e),m=r[5];if(ce(w,([t,n,,s=0])=>t?U(V(n),([t,,,,,n])=>n===e?0:vt(m,t,wt(m,t)||s?1:0)):0),((e,t)=>{const n=(s,r,o=kt())=>s===r||!nt(o,s)&&(Mt(o,s),!ot((n=>n===e?t:wt(I,n))(s),(e,t)=>!n(t,r,o))),s=(e,t)=>!ot(t,(t,s)=>!t||!n(s,e));!s(e,t)&&ot(I,(t,n)=>n===e||!s(n,t))||dt(16)})(s,m),h.delTable(s),ee(w))return l?.(),ge;const k=ft(T),M=!st(k)||!ee(p),D=[],E=r[3];ce(w,([e,t,n])=>{e?M&&U(V(t),([e,,,,,t])=>{Mt(It(E,t,kt),e),ce(de(t.getTableCellIds(e)),e=>be(D,[n(e),ne]))}):be(D,[t,n])});const W=ft(D);if(M&&st(W))return l?.(),ge;const _=M?r[2]=n():h;if(M){const e=ft();Ct(k,(t,[n,s])=>Mt(It(e,n,kt),[t,s]));const t=kt();Ct(W,n=>nt(e,n)?0:Mt(t,n));const n=ft(),r=e=>N(e)?void 0:Ue(e),o=(t,n,r,o)=>U(t,([l,a,i,d])=>{Ct(n,(t,[n])=>{const s=It(l,t,ft),a=wt(s,r),i=o?void 0:n;if(a!==i){const n=kt([[a,i]]),o=Xe(s);vt(s,r,i),at(wt(e,t),([e,t])=>{const r=jn(d[e],o,s,n,t);me(d,e,N(Ne(r))?void 0:r)})}}),st(a)||!le(p,e=>e(e=>d[e]))?h.delRow(s,i):N(i)?t[2]=h.addRow(s,{...d}):h.setRow(s,i,{...d})});z(_,d,_.addRowListener(s,null,(l,a,i,d)=>{const c=[],u=[],g=ft(),h=_.hasRow(s,i);let f=!h;at(t,e=>{const[t,n,o]=d(s,i,e);be(c,r(n)),be(u,r(o)),f||=t}),Ct(e,e=>{const[t,,n]=d(s,i,e);(f||t)&&vt(g,e,[n])}),f&&o(mt(n,c,void 0,([,e])=>(it(e,i),st(e))),g,i,1),h&&o(mt(n,u,()=>{const e=ke();return at(t,t=>me(e,t,_.getCell(s,i,t))),[ft(),kt(),void 0,e]},([,e])=>{Mt(e,i)}),g,i)}))}const x=(e,t,n,r,o)=>{const l=e=>t.getCell(n,r,e);ce(o,t=>{const[n,,s,r,o,a]=wt(S,t),i=s?.(l,e),d=wt(o,e),u=d?.[0];i!=u&&(U(d,([,e,t])=>Z(e,c,t)),vt(o,e,N(i)?void 0:[i,a,...B(a,c,1,a.addRowListener(n,i,()=>x(e,a,n,i,r)))]))}),(e=>{const t=(t,n,s)=>{const r=q(t)?n:t,o=q(t)?s:n;if(N(o))return g.getCell(u,e,t);if(r===u&&!q(t))return g.getCell(u,e,o);const l=wt(S,r);return N(l)?void 0:l[5].getCell(l[0],wt(l[4],e)?.[0],o)};_.transaction(()=>{le(R,e=>e(t))?C?(()=>{const n=ke();ce(w,([s,r,o])=>{if(s)U(V(r),([t,,,,s,l])=>{const a=y(r)?e:wt(s,e)?.[0];U(a,e=>ce(de(l.getCellIds(t,e)),s=>me(n,o(s),l.getCell(t,e,s))))});else{const s=o(t,e),l=r;N(s)?Me(n,l):me(n,l,s)}}),Je(n)?_.delRow(s,e):_.setRow(s,e,n)})():Ct(W,(n,r)=>_._[5](s,e,n,r(t,e))):_.delRow(s,e)})})(e)},{3:J}=wt(S,void 0),P=(e,t,n)=>{g.hasRow(u,n)?x(n,g,u,n,J):(_.delRow(s,n),at(S,({4:e})=>U(wt(e,n),([,t,s])=>{Z(t,c,s),vt(e,n)})))};return _.transaction(()=>{ce(g.getRowIds(u),e=>P(0,0,e)),B(g,c,0,g.addRowListener(u,null,P))}),M&&se(_,h,d),se(g,_,d),l?.(),ge})))(s,l,r,()=>{U(r,e=>ae(s,e)),j(wt(u,s)),j(wt(b,s)),vt(u,s,st(l[0])?void 0:l[0]),vt(b,s,st(l[1])?void 0:l[1]),vt(o,s,l[2]),K(s,l[3]),$(s),vt(V,s,st(l[4])?void 0:l[4]),vt(I,s,st(l[5])?void 0:l[5]),a=!0}),e=>{throw a||(j(l[0]),j(l[1])),te(),e}),ge},ae=(e,[t,n,r,o])=>{U(x(e),([,e])=>s.delListener(e)),Mt(a,e),gt(()=>{P(e,t),J(e,[n,s.addRowListener(Kn,e,()=>nt(a,e)?0:oe(e),!0),r]),re(e,o)},()=>it(a,e))},ie=e=>(U(x(e),([,e])=>s.delListener(e)),s.delRow(Kn,e),(e=>{j(wt(u,e)),vt(u,e),ce([wt(l,e),wt(o,e)],t=>t?.delTable(e))})(e),(e=>{j(wt(b,e)),vt(b,e)})(e),K(e),$(e),vt(V,e),vt(I,e),F(e),te(),ge),ue=e=>s.getRow(Kn,e),ge={setQueryDefinition:(e,t,n,s,r={})=>{const[o,l,a,i]=q(t)?[n,s,1,r]:[t,n,0,s??{}];return oe(e,[o,l,a,i]),te(),ge},delQueryDefinition:ie,getParamValues:ue,getParamValue:(e,t)=>s.getCell(Kn,e,t),setParamValues:(e,t)=>(_(e)&&re(e,t),ge),setParamValue:(e,t,n)=>(_(e)&&s.setCell(Kn,e,t,n),ge),getStore:D,getQueryIds:E,forEachQuery:W,hasQuery:_,getTableId:H,forEachResultTable:e=>W(t=>Q(t).hasTable(t)?e(t,e=>ge.forEachResultRow(t,e)):0),addQueryIdsListener:e=>O(()=>e(ge)),addParamValuesListener:(e,t)=>"p"+s.addRowListener(Kn,e,(e,n,s)=>t(ge,s,ue(s))),addParamValueListener:(e,t,n)=>"p"+s.addCellListener(Kn,e,t,(e,t,s,r,o)=>n(ge,s,r,o)),delListener:e=>{const t=wt(i,e);if("p"==e[0])s.delListener(X(e,1));else if(N(t))M(e);else{const[n,s,r]=t;Ct(s,(e,[t,n])=>t.delListener(n)),U(r,M),vt(i,e),M(e),c[n]--}return te(),ge},destroy:()=>{ce(E(),ie),A()},getListenerStats:()=>({...c,paramValues:s.getListenerStats().row-Y(E()),paramValue:s.getListenerStats().cell})};return De({[C]:[2,1],[C+y]:[1,1],[R]:[1,1],[T]:[1,1],[p]:[1,5],[L]:[3,2],[y]:[1,2],[S]:[3,3]},([e,t],n)=>{ce(X(["get","has","forEach"],0,e),e=>me(ge,e+h+n,(...t)=>(wt(l,t[0])??r)[e+n](...t))),me(ge,f+h+n+g,(...e)=>((s,r)=>{const o=m(ne,d),l=ft(),a=()=>{const s=null==r?E():[r];ce(s,s=>{return nt(l,s)?0:vt(l,s,[Q(s),(r=Q(s),r[f+n+g](...((e,t)=>5==t?[e[0],e[1]??void 0,e[2],e[3],e[4]]:X(e,0,t))(e,t),(n,...s)=>e[t](ge,...s),!0))]);var r}),Ct(l,(e,[t,n])=>null==r&&_(e)||e==r?0:(t.delListener(n),void vt(l,e)))};return a(),vt(i,o,[s,l,null==r?O(a):void 0]),c[s]++,o})((e=>e[0].toLowerCase()+X(e,1))(n),e[0]))}),Se(ge)}),Yn=Wt(e=>{const n=ft(),s=ft(),r=ft(),o=ft(),[l,a,i]=xt(()=>p),[d,c,u,g,h,f,,,b,w,C,v]=Dt(e,()=>[ft(),ft(),ft(),ft()],e=>N(e)?void 0:e+t,l,a),I=(e,t,n)=>U(f(e),([s,,r])=>{if(!nt(r,t)){const o=kt();if(h(e)!=R(e))Mt(o,t);else{let e=t;for(;!N(e)&&!nt(o,e);)Mt(o,e),e=wt(s,e)}if(n)return o;vt(r,t,o)}return wt(r,t)}),L=(e,t)=>U(f(e),([,,e])=>vt(e,t)),R=e=>wt(n,e),T=(e,t)=>N(f(e))?[t]:rt(I(e,t,!0)),p={setRelationshipDefinition:(e,t,l,i)=>(Ct(wt(o,e),t=>I(e,t)),vt(n,e,l),b(e,t,(t,n,l,i,d,c)=>{const u=kt(),g=kt(),h=kt(),[b,w]=f(e);at(n,([t,n],s)=>{N(t)||(Mt(g,t),U(wt(w,t),e=>{it(e,s),st(e)&&vt(w,t)})),N(n)||(Mt(g,n),nt(w,n)||vt(w,n,kt()),Mt(wt(w,n),s)),Mt(u,s),vt(b,s,n),Ct(wt(o,e),t=>{nt(I(e,t),s)&&Mt(h,t)})}),t(),c&&Ct(wt(o,e),t=>{const n=T(e,t);L(e,t),ae(n,T(e,t))||Mt(h,t)}),at(u,t=>a(s,[e,t])),at(g,t=>a(r,[e,t])),at(h,t=>{L(e,t),a(o,[e,t])})},Et(i)),p),delRelationshipDefinition:e=>(vt(n,e),w(e),p),getStore:d,getRelationshipIds:c,forEachRelationship:t=>u(n=>t(n,t=>e.forEachRow(h(n),t))),hasRelationship:g,getLocalTableId:h,getRemoteTableId:R,getRemoteRowId:(e,t)=>wt(f(e)?.[0],t),getLocalRowIds:(e,t)=>rt(wt(f(e)?.[1],t)),getLinkedRowIds:T,addRelationshipIdsListener:C,addRemoteRowIdListener:(e,t,n)=>l(n,s,[e,t]),addLocalRowIdsListener:(e,t,n)=>l(n,r,[e,t]),addLinkedRowIdsListener:(e,t,n)=>(I(e,t),l(n,o,[e,t])),delListener:e=>(L(...i(e)??[]),p),destroy:v,getListenerStats:()=>({remoteRowId:et(s),localRowIds:et(r),linkedRowIds:et(o)})};return Se(p)});export{Bt as addOrRemoveHash,Pt as createCheckpoints,wn as createIndexes,zn as createMergeableStore,qn as createMetrics,Gn as createMiddleware,Xn as createQueries,Yn as createRelationships,Pn as createStore,bn as defaultSorter,Gt as getCellHash,Kt as getCellInRowHash,qt as getHash,fn as getHlcFunctions,Xt as getRowHash,Yt as getRowInTableHash,en as getTableHash,tn as getTableInTablesHash,nn as getTablesHash,Nt as getUniqueId,$t as getValueHash,Zt as getValueInValuesHash,Ut as getValuesHash};
package/min/index.js.gz CHANGED
Binary file
@@ -1 +1 @@
1
- const t=t=>typeof t,e="",r=t(e),n=t(t),s=Math,o=t=>(e,r,n)=>t(e)?n?.():r(e),i=s.max,c=s.min,a=1/0,d=isFinite,l=t=>null==t,u=t=>void 0===t,v=t=>null===t,f=o(l),h=o(u),g=t=>Array.isArray(t),M=t=>t.length,y=()=>{},p=(t,e)=>t.forEach(e),w=t=>m(t,(t,e)=>t+e,0),m=(t,e,r)=>t.reduce(e,r),L=(t,...e)=>t.push(...e),b=t=>t?.size??0,I=(S=b,t=>{let e=0;for(const r of t.values())e+=S(r);return e});var S;const x=(t,e)=>t?.has(e)??!1,E=t=>u(t)||0==b(t),N=t=>t.clear(),O=(t,e)=>t?.forEach(e),R=(t,e)=>t?.delete(e),T=Object,k=t=>T.getPrototypeOf(t),z=T.freeze,A=Map,D=t=>new A(t),j=(t,e)=>t?.get(e),C=(t,e)=>O(t,(t,r)=>e(r,t)),F=(t,e,r)=>u(r)?(R(t,e),t):t?.set(e,r),J=(t,e,r,n)=>{let s=j(t,e);return x(t,e)?n?.(s):F(t,e,s=r()),s},P=(t,e,r,n,s=0)=>h((r?J:j)(t,e[s],s>M(e)-2?r:D),o=>{if(s>M(e)-2)return n?.(o)&&F(t,e[s]),o;const i=P(o,e,r,n,s+1);return E(o)&&F(t,e[s]),i}),W=D([["avg",[(t,e)=>w(t)/e,(t,e,r)=>t+(e-t)/(r+1),(t,e,r)=>t+(t-e)/(r-1),(t,e,r,n)=>t+(e-r)/n]],["max",[t=>m(t,(t,e)=>i(t,e),-1/0),(t,e)=>i(e,t),(t,e)=>e==t?void 0:t,(t,e,r)=>r==t?void 0:i(e,t)]],["min",[t=>m(t,(t,e)=>c(t,e),a),(t,e)=>c(e,t),(t,e)=>e==t?void 0:t,(t,e,r)=>r==t?void 0:c(e,t)]],["sum",[t=>w(t),(t,e)=>t+e,(t,e)=>t-e,(t,e,r)=>t-r+e]]]),$=(t,e)=>{try{return t()}catch(t){e?.(t)}},q=JSON.stringify,B=t=>new Set(g(t)||u(t)?t:[t]),G=(t,e)=>t?.add(e),H=/^\d+$/,K=(()=>{const s=new WeakMap;return o=>{if(!s.has(o)){const i=(s=>{const o=D(),[i,c,a]=(()=>{let t;const[r,n]=(()=>{const t=[];let r=0;return[n=>(n?t.shift():null)??e+r++,e=>{H.test(e)&&M(t)<1e3&&L(t,e)}]})(),s=D(),o=(r,n,o,i)=>{let c,a=!1;if(p(((t,r=[e])=>{const n=[],s=(t,e)=>e==M(r)?L(n,t):v(r[e])?O(t,t=>s(t,e+1)):p([r[e],null],r=>s(j(t,r),e+1));return s(t,0),n})(n,o),e=>O(e,e=>{const n=()=>j(s,e)[0](t,...o??[],...i);r?$(n,t=>{a||(c=t),a=!0}):n()})),a)throw c};return[(n,o,i,c=[],a=()=>[])=>{t??=_;const d=r(1);return F(s,d,[n,o,i,c,a]),G(P(o,i??[e],B),d),d},(t,e,...r)=>o(!1,t,e,r),t=>h(j(s,t),([,r,o])=>(P(r,o??[e],void 0,e=>(R(e,t),E(e)?1:0)),F(s,t),n(t),o)),e=>h(j(s,e),([e,,r=[],n,s])=>{const o=(...i)=>{const c=M(i);c==M(r)?e(t,...i,...s(i)):v(r[c])?p(n[c]?.(...i)??[],t=>o(...i,t)):o(...i,r[c])};o()}),(t,e,...r)=>o(!0,t,e,r)]})(),[w,m,S,A,K,Q,U,,V,X,Y,Z]=((t,e,r,n,s)=>{const o=t.hasRow,i=D(),c=D(),a=D(),d=D(),v=D(),y=D(),w=e=>h(j(y,e),r=>{O(r,e=>{t.delListener(e),R(r,e)}),F(y,e)}),m=(t,r)=>{F(i,t,r),x(c,t)||(F(c,t,e()),F(d,t,D()),F(v,t,D()),$(()=>s(a),e=>{throw F(i,t),F(c,t),F(d,t),F(v,t),e}))},L=t=>{F(i,t),F(c,t),F(d,t),F(v,t),w(t),s(a)};return[()=>t,()=>{return t=i,[...t?.keys()??[]];var t},t=>C(c,t),t=>x(c,t),t=>j(i,t),t=>j(c,t),(t,e)=>F(c,t,e),m,(e,n,s,i,c)=>{m(e,n);const a=D(),h=D(),L=j(d,e),b=j(v,e),I=e=>{const s=r=>t.getCell(n,e,r),d=j(L,e),v=o(n,e)?r(i(s,e)):void 0;var y,p,w,m,I,S;if(d===v||g(d)&&g(v)&&(p=v,M(y=d)===M(p)&&(w=(t,e)=>p[e]===t,y.every(w)))||F(a,e,[d,v]),!u(c)){const t=j(b,e),r=o(n,e)?c(s,e):void 0;(m=t)===(I=r)||(!l(S=m)&&f(k(S),t=>t==T.prototype||l(k(t)),()=>!0)||g(m))&&q(m)===q(I)||F(h,e,r)}},S=t=>{s(()=>{O(a,([,t],e)=>F(L,e,t)),O(h,(t,e)=>F(b,e,t))},a,h,L,b,t),N(a),N(h)};C(L,I),t.hasTable(n)&&p(t.getRowIds(n),t=>{x(L,t)||I(t)}),S(!0),w(e),((t,...e)=>{const r=J(y,t,B);p(e,t=>G(r,t))})(e,t.addRowListener(n,null,(t,e,r)=>I(r)),t.addTableListener(n,()=>S()))},L,t=>n(t,a),()=>C(y,L)]})(s,y,t=>isNaN(t)||u(t)||!0===t||!1===t||t===e?void 0:1*t,i,c),_={setMetricDefinition:(e,s,i,a,l,v,f)=>{const h=t(i)==n?[i,l,v,f]:j(W,i)??j(W,"sum");return V(e,s,(t,r,n,s,i,a)=>{const l=Q(e),v=b(s);a||=u(l),t();let f=((t,e,r,n,s,o=!1)=>{if(E(r))return;const[i,c,a,d]=s;return o||=u(t),O(n,([r,n])=>{o||(t=u(r)?c?.(t,n,e++):u(n)?a?.(t,r,e--):d?.(t,n,r,e),o||=u(t))}),o?i((l=r,[...l?.values()??[]]),b(r)):t;var l})(l,v,s,r,h,a);d(f)||(f=void 0),f!=l&&(U(e,f),c(o,[e],f,l))},t(g=a)==r?t=>t(g):g??(()=>1)),_;var g},delMetricDefinition:t=>(X(t),_),getStore:w,getMetricIds:m,forEachMetric:S,hasMetric:A,getTableId:K,getMetric:Q,addMetricIdsListener:Y,addMetricListener:(t,e)=>i(e,o,[t]),delListener:t=>(a(t),_),destroy:Z,getListenerStats:()=>({metric:I(o)})};return z(_)})(o);s.set(o,i)}return s.get(o)}})();export{K as createMetrics};
1
+ const t=t=>typeof t,e="",r=t(e),n=t(t),s=Math,o=t=>(e,r,n)=>t(e)?n?.():r(e),i=s.max,c=s.min,a=1/0,d=isFinite,l=t=>null==t,u=t=>void 0===t,v=t=>null===t,f=o(l),h=o(u),g=t=>Array.isArray(t),M=t=>t.length,y=()=>{},p=(t,e)=>t.forEach(e),w=t=>m(t,(t,e)=>t+e,0),m=(t,e,r)=>t.reduce(e,r),L=(t,...e)=>t.push(...e),b=t=>t?.size??0,I=(S=b,t=>{let e=0;for(const r of t.values())e+=S(r);return e});var S;const x=(t,e)=>t?.has(e)??!1,E=t=>u(t)||0==b(t),N=t=>t.clear(),O=(t,e)=>t?.forEach(e),R=(t,e)=>t?.delete(e),T=Object,k=t=>T.getPrototypeOf(t),z=T.freeze,A=Map,D=t=>new A(t),j=(t,e)=>t?.get(e),C=(t,e)=>O(t,(t,r)=>e(r,t)),F=(t,e,r)=>u(r)?(R(t,e),t):t?.set(e,r),J=(t,e,r,n)=>{let s=j(t,e);return x(t,e)?n?.(s):F(t,e,s=r()),s},P=(t,e,r,n,s=0)=>h((r?J:j)(t,e[s],s>M(e)-2?r:D),o=>{if(s>M(e)-2)return n?.(o)&&F(t,e[s]),o;const i=P(o,e,r,n,s+1);return E(o)&&F(t,e[s]),i}),W=D([["avg",[(t,e)=>w(t)/e,(t,e,r)=>t+(e-t)/(r+1),(t,e,r)=>r>1?t+(t-e)/(r-1):void 0,(t,e,r,n)=>t+(e-r)/n]],["max",[t=>m(t,(t,e)=>i(t,e),-1/0),(t,e)=>i(e,t),(t,e)=>e==t?void 0:t,(t,e,r)=>r==t?void 0:i(e,t)]],["min",[t=>m(t,(t,e)=>c(t,e),a),(t,e)=>c(e,t),(t,e)=>e==t?void 0:t,(t,e,r)=>r==t?void 0:c(e,t)]],["sum",[t=>w(t),(t,e)=>t+e,(t,e)=>t-e,(t,e,r)=>t-r+e]]]),$=(t,e)=>{try{return t()}catch(t){e?.(t)}},q=JSON.stringify,B=t=>new Set(g(t)||u(t)?t:[t]),G=(t,e)=>t?.add(e),H=/^\d+$/,K=(()=>{const s=new WeakMap;return o=>{if(!s.has(o)){const i=(s=>{const o=D(),[i,c,a]=(()=>{let t;const[r,n]=(()=>{const t=[];let r=0;return[n=>(n?t.shift():null)??e+r++,e=>{H.test(e)&&M(t)<1e3&&L(t,e)}]})(),s=D(),o=(r,n,o,i)=>{let c,a=!1;if(p(((t,r=[e])=>{const n=[],s=(t,e)=>e==M(r)?L(n,t):v(r[e])?O(t,t=>s(t,e+1)):p([r[e],null],r=>s(j(t,r),e+1));return s(t,0),n})(n,o),e=>O(e,e=>{const n=()=>j(s,e)[0](t,...o??[],...i);r?$(n,t=>{a||(c=t),a=!0}):n()})),a)throw c};return[(n,o,i,c=[],a=()=>[])=>{t??=_;const d=r(1);return F(s,d,[n,o,i,c,a]),G(P(o,i??[e],B),d),d},(t,e,...r)=>o(!1,t,e,r),t=>h(j(s,t),([,r,o])=>(P(r,o??[e],void 0,e=>(R(e,t),E(e)?1:0)),F(s,t),n(t),o)),e=>h(j(s,e),([e,,r=[],n,s])=>{const o=(...i)=>{const c=M(i);c==M(r)?e(t,...i,...s(i)):v(r[c])?p(n[c]?.(...i)??[],t=>o(...i,t)):o(...i,r[c])};o()}),(t,e,...r)=>o(!0,t,e,r)]})(),[w,m,S,A,K,Q,U,,V,X,Y,Z]=((t,e,r,n,s)=>{const o=t.hasRow,i=D(),c=D(),a=D(),d=D(),v=D(),y=D(),w=e=>h(j(y,e),r=>{O(r,e=>{t.delListener(e),R(r,e)}),F(y,e)}),m=(t,r)=>{F(i,t,r),x(c,t)||(F(c,t,e()),F(d,t,D()),F(v,t,D()),$(()=>s(a),e=>{throw F(i,t),F(c,t),F(d,t),F(v,t),e}))},L=t=>{F(i,t),F(c,t),F(d,t),F(v,t),w(t),s(a)};return[()=>t,()=>{return t=i,[...t?.keys()??[]];var t},t=>C(c,t),t=>x(c,t),t=>j(i,t),t=>j(c,t),(t,e)=>F(c,t,e),m,(e,n,s,i,c)=>{m(e,n);const a=D(),h=D(),L=j(d,e),b=j(v,e),I=e=>{const s=r=>t.getCell(n,e,r),d=j(L,e),v=o(n,e)?r(i(s,e)):void 0;var y,p,w,m,I,S;if(d===v||g(d)&&g(v)&&(p=v,M(y=d)===M(p)&&(w=(t,e)=>p[e]===t,y.every(w)))||F(a,e,[d,v]),!u(c)){const t=j(b,e),r=o(n,e)?c(s,e):void 0;(m=t)===(I=r)||(!l(S=m)&&f(k(S),t=>t==T.prototype||l(k(t)),()=>!0)||g(m))&&q(m)===q(I)||F(h,e,r)}},S=t=>{s(()=>{O(a,([,t],e)=>F(L,e,t)),O(h,(t,e)=>F(b,e,t))},a,h,L,b,t),N(a),N(h)};C(L,I),t.hasTable(n)&&p(t.getRowIds(n),t=>{x(L,t)||I(t)}),S(!0),w(e),((t,...e)=>{const r=J(y,t,B);p(e,t=>G(r,t))})(e,t.addRowListener(n,null,(t,e,r)=>I(r)),t.addTableListener(n,()=>S()))},L,t=>n(t,a),()=>C(y,L)]})(s,y,t=>isNaN(t)||u(t)||!0===t||!1===t||t===e?void 0:1*t,i,c),_={setMetricDefinition:(e,s,i,a,l,v,f)=>{const h=t(i)==n?[i,l,v,f]:j(W,i)??j(W,"sum");return V(e,s,(t,r,n,s,i,a)=>{const l=Q(e),v=b(s);a||=u(l),t();let f=((t,e,r,n,s,o=!1)=>{if(E(r))return;const[i,c,a,d]=s;return o||=u(t),O(n,([r,n])=>{o||(t=u(r)?c?.(t,n,e++):u(n)?a?.(t,r,e--):d?.(t,n,r,e),o||=u(t))}),o?i((l=r,[...l?.values()??[]]),b(r)):t;var l})(l,v,s,r,h,a);d(f)||(f=void 0),f!=l&&(U(e,f),c(o,[e],f,l))},t(g=a)==r?t=>t(g):g??(()=>1)),_;var g},delMetricDefinition:t=>(X(t),_),getStore:w,getMetricIds:m,forEachMetric:S,hasMetric:A,getTableId:K,getMetric:Q,addMetricIdsListener:Y,addMetricListener:(t,e)=>i(e,o,[t]),delListener:t=>(a(t),_),destroy:Z,getListenerStats:()=>({metric:I(o)})};return z(_)})(o);s.set(o,i)}return s.get(o)}})();export{K as createMetrics};
Binary file
@@ -1 +1 @@
1
- const t=t=>typeof t,e="",r=t(e),n=t(t),s=Math,o=t=>(e,r,n)=>t(e)?n?.():r(e),i=s.max,c=s.min,a=1/0,d=isFinite,l=t=>null==t,u=t=>void 0===t,v=t=>null===t,f=o(l),h=o(u),g=t=>Array.isArray(t),M=t=>t.length,y=()=>{},p=(t,e)=>t.forEach(e),w=t=>m(t,(t,e)=>t+e,0),m=(t,e,r)=>t.reduce(e,r),L=(t,...e)=>t.push(...e),b=t=>t?.size??0,I=(S=b,t=>{let e=0;for(const r of t.values())e+=S(r);return e});var S;const x=(t,e)=>t?.has(e)??!1,E=t=>u(t)||0==b(t),N=t=>t.clear(),O=(t,e)=>t?.forEach(e),R=(t,e)=>t?.delete(e),T=Object,k=t=>T.getPrototypeOf(t),z=T.freeze,A=Map,D=t=>new A(t),j=(t,e)=>t?.get(e),C=(t,e)=>O(t,(t,r)=>e(r,t)),F=(t,e,r)=>u(r)?(R(t,e),t):t?.set(e,r),J=(t,e,r,n)=>{let s=j(t,e);return x(t,e)?n?.(s):F(t,e,s=r()),s},P=(t,e,r,n,s=0)=>h((r?J:j)(t,e[s],s>M(e)-2?r:D),o=>{if(s>M(e)-2)return n?.(o)&&F(t,e[s]),o;const i=P(o,e,r,n,s+1);return E(o)&&F(t,e[s]),i}),W=D([["avg",[(t,e)=>w(t)/e,(t,e,r)=>t+(e-t)/(r+1),(t,e,r)=>t+(t-e)/(r-1),(t,e,r,n)=>t+(e-r)/n]],["max",[t=>m(t,(t,e)=>i(t,e),-1/0),(t,e)=>i(e,t),(t,e)=>e==t?void 0:t,(t,e,r)=>r==t?void 0:i(e,t)]],["min",[t=>m(t,(t,e)=>c(t,e),a),(t,e)=>c(e,t),(t,e)=>e==t?void 0:t,(t,e,r)=>r==t?void 0:c(e,t)]],["sum",[t=>w(t),(t,e)=>t+e,(t,e)=>t-e,(t,e,r)=>t-r+e]]]),$=(t,e)=>{try{return t()}catch(t){e?.(t)}},q=JSON.stringify,B=t=>new Set(g(t)||u(t)?t:[t]),G=(t,e)=>t?.add(e),H=/^\d+$/,K=(()=>{const s=new WeakMap;return o=>{if(!s.has(o)){const i=(s=>{const o=D(),[i,c,a]=(()=>{let t;const[r,n]=(()=>{const t=[];let r=0;return[n=>(n?t.shift():null)??e+r++,e=>{H.test(e)&&M(t)<1e3&&L(t,e)}]})(),s=D(),o=(r,n,o,i)=>{let c,a=!1;if(p(((t,r=[e])=>{const n=[],s=(t,e)=>e==M(r)?L(n,t):v(r[e])?O(t,t=>s(t,e+1)):p([r[e],null],r=>s(j(t,r),e+1));return s(t,0),n})(n,o),e=>O(e,e=>{const n=()=>j(s,e)[0](t,...o??[],...i);r?$(n,t=>{a||(c=t),a=!0}):n()})),a)throw c};return[(n,o,i,c=[],a=()=>[])=>{t??=_;const d=r(1);return F(s,d,[n,o,i,c,a]),G(P(o,i??[e],B),d),d},(t,e,...r)=>o(!1,t,e,r),t=>h(j(s,t),([,r,o])=>(P(r,o??[e],void 0,e=>(R(e,t),E(e)?1:0)),F(s,t),n(t),o)),e=>h(j(s,e),([e,,r=[],n,s])=>{const o=(...i)=>{const c=M(i);c==M(r)?e(t,...i,...s(i)):v(r[c])?p(n[c]?.(...i)??[],t=>o(...i,t)):o(...i,r[c])};o()}),(t,e,...r)=>o(!0,t,e,r)]})(),[w,m,S,A,K,Q,U,,V,X,Y,Z]=((t,e,r,n,s)=>{const o=t.hasRow,i=D(),c=D(),a=D(),d=D(),v=D(),y=D(),w=e=>h(j(y,e),r=>{O(r,e=>{t.delListener(e),R(r,e)}),F(y,e)}),m=(t,r)=>{F(i,t,r),x(c,t)||(F(c,t,e()),F(d,t,D()),F(v,t,D()),$(()=>s(a),e=>{throw F(i,t),F(c,t),F(d,t),F(v,t),e}))},L=t=>{F(i,t),F(c,t),F(d,t),F(v,t),w(t),s(a)};return[()=>t,()=>{return t=i,[...t?.keys()??[]];var t},t=>C(c,t),t=>x(c,t),t=>j(i,t),t=>j(c,t),(t,e)=>F(c,t,e),m,(e,n,s,i,c)=>{m(e,n);const a=D(),h=D(),L=j(d,e),b=j(v,e),I=e=>{const s=r=>t.getCell(n,e,r),d=j(L,e),v=o(n,e)?r(i(s,e)):void 0;var y,p,w,m,I,S;if(d===v||g(d)&&g(v)&&(p=v,M(y=d)===M(p)&&(w=(t,e)=>p[e]===t,y.every(w)))||F(a,e,[d,v]),!u(c)){const t=j(b,e),r=o(n,e)?c(s,e):void 0;(m=t)===(I=r)||(!l(S=m)&&f(k(S),t=>t==T.prototype||l(k(t)),()=>!0)||g(m))&&q(m)===q(I)||F(h,e,r)}},S=t=>{s(()=>{O(a,([,t],e)=>F(L,e,t)),O(h,(t,e)=>F(b,e,t))},a,h,L,b,t),N(a),N(h)};C(L,I),t.hasTable(n)&&p(t.getRowIds(n),t=>{x(L,t)||I(t)}),S(!0),w(e),((t,...e)=>{const r=J(y,t,B);p(e,t=>G(r,t))})(e,t.addRowListener(n,null,(t,e,r)=>I(r)),t.addTableListener(n,()=>S()))},L,t=>n(t,a),()=>C(y,L)]})(s,y,t=>isNaN(t)||u(t)||!0===t||!1===t||t===e?void 0:1*t,i,c),_={setMetricDefinition:(e,s,i,a,l,v,f)=>{const h=t(i)==n?[i,l,v,f]:j(W,i)??j(W,"sum");return V(e,s,(t,r,n,s,i,a)=>{const l=Q(e),v=b(s);a||=u(l),t();let f=((t,e,r,n,s,o=!1)=>{if(E(r))return;const[i,c,a,d]=s;return o||=u(t),O(n,([r,n])=>{o||(t=u(r)?c?.(t,n,e++):u(n)?a?.(t,r,e--):d?.(t,n,r,e),o||=u(t))}),o?i((l=r,[...l?.values()??[]]),b(r)):t;var l})(l,v,s,r,h,a);d(f)||(f=void 0),f!=l&&(U(e,f),c(o,[e],f,l))},t(g=a)==r?t=>t(g):g??(()=>1)),_;var g},delMetricDefinition:t=>(X(t),_),getStore:w,getMetricIds:m,forEachMetric:S,hasMetric:A,getTableId:K,getMetric:Q,addMetricIdsListener:Y,addMetricListener:(t,e)=>i(e,o,[t]),delListener:t=>(a(t),_),destroy:Z,getListenerStats:()=>({metric:I(o)})};return z(_)})(o);s.set(o,i)}return s.get(o)}})();export{K as createMetrics};
1
+ const t=t=>typeof t,e="",r=t(e),n=t(t),s=Math,o=t=>(e,r,n)=>t(e)?n?.():r(e),i=s.max,c=s.min,a=1/0,d=isFinite,l=t=>null==t,u=t=>void 0===t,v=t=>null===t,f=o(l),h=o(u),g=t=>Array.isArray(t),M=t=>t.length,y=()=>{},p=(t,e)=>t.forEach(e),w=t=>m(t,(t,e)=>t+e,0),m=(t,e,r)=>t.reduce(e,r),L=(t,...e)=>t.push(...e),b=t=>t?.size??0,I=(S=b,t=>{let e=0;for(const r of t.values())e+=S(r);return e});var S;const x=(t,e)=>t?.has(e)??!1,E=t=>u(t)||0==b(t),N=t=>t.clear(),O=(t,e)=>t?.forEach(e),R=(t,e)=>t?.delete(e),T=Object,k=t=>T.getPrototypeOf(t),z=T.freeze,A=Map,D=t=>new A(t),j=(t,e)=>t?.get(e),C=(t,e)=>O(t,(t,r)=>e(r,t)),F=(t,e,r)=>u(r)?(R(t,e),t):t?.set(e,r),J=(t,e,r,n)=>{let s=j(t,e);return x(t,e)?n?.(s):F(t,e,s=r()),s},P=(t,e,r,n,s=0)=>h((r?J:j)(t,e[s],s>M(e)-2?r:D),o=>{if(s>M(e)-2)return n?.(o)&&F(t,e[s]),o;const i=P(o,e,r,n,s+1);return E(o)&&F(t,e[s]),i}),W=D([["avg",[(t,e)=>w(t)/e,(t,e,r)=>t+(e-t)/(r+1),(t,e,r)=>r>1?t+(t-e)/(r-1):void 0,(t,e,r,n)=>t+(e-r)/n]],["max",[t=>m(t,(t,e)=>i(t,e),-1/0),(t,e)=>i(e,t),(t,e)=>e==t?void 0:t,(t,e,r)=>r==t?void 0:i(e,t)]],["min",[t=>m(t,(t,e)=>c(t,e),a),(t,e)=>c(e,t),(t,e)=>e==t?void 0:t,(t,e,r)=>r==t?void 0:c(e,t)]],["sum",[t=>w(t),(t,e)=>t+e,(t,e)=>t-e,(t,e,r)=>t-r+e]]]),$=(t,e)=>{try{return t()}catch(t){e?.(t)}},q=JSON.stringify,B=t=>new Set(g(t)||u(t)?t:[t]),G=(t,e)=>t?.add(e),H=/^\d+$/,K=(()=>{const s=new WeakMap;return o=>{if(!s.has(o)){const i=(s=>{const o=D(),[i,c,a]=(()=>{let t;const[r,n]=(()=>{const t=[];let r=0;return[n=>(n?t.shift():null)??e+r++,e=>{H.test(e)&&M(t)<1e3&&L(t,e)}]})(),s=D(),o=(r,n,o,i)=>{let c,a=!1;if(p(((t,r=[e])=>{const n=[],s=(t,e)=>e==M(r)?L(n,t):v(r[e])?O(t,t=>s(t,e+1)):p([r[e],null],r=>s(j(t,r),e+1));return s(t,0),n})(n,o),e=>O(e,e=>{const n=()=>j(s,e)[0](t,...o??[],...i);r?$(n,t=>{a||(c=t),a=!0}):n()})),a)throw c};return[(n,o,i,c=[],a=()=>[])=>{t??=_;const d=r(1);return F(s,d,[n,o,i,c,a]),G(P(o,i??[e],B),d),d},(t,e,...r)=>o(!1,t,e,r),t=>h(j(s,t),([,r,o])=>(P(r,o??[e],void 0,e=>(R(e,t),E(e)?1:0)),F(s,t),n(t),o)),e=>h(j(s,e),([e,,r=[],n,s])=>{const o=(...i)=>{const c=M(i);c==M(r)?e(t,...i,...s(i)):v(r[c])?p(n[c]?.(...i)??[],t=>o(...i,t)):o(...i,r[c])};o()}),(t,e,...r)=>o(!0,t,e,r)]})(),[w,m,S,A,K,Q,U,,V,X,Y,Z]=((t,e,r,n,s)=>{const o=t.hasRow,i=D(),c=D(),a=D(),d=D(),v=D(),y=D(),w=e=>h(j(y,e),r=>{O(r,e=>{t.delListener(e),R(r,e)}),F(y,e)}),m=(t,r)=>{F(i,t,r),x(c,t)||(F(c,t,e()),F(d,t,D()),F(v,t,D()),$(()=>s(a),e=>{throw F(i,t),F(c,t),F(d,t),F(v,t),e}))},L=t=>{F(i,t),F(c,t),F(d,t),F(v,t),w(t),s(a)};return[()=>t,()=>{return t=i,[...t?.keys()??[]];var t},t=>C(c,t),t=>x(c,t),t=>j(i,t),t=>j(c,t),(t,e)=>F(c,t,e),m,(e,n,s,i,c)=>{m(e,n);const a=D(),h=D(),L=j(d,e),b=j(v,e),I=e=>{const s=r=>t.getCell(n,e,r),d=j(L,e),v=o(n,e)?r(i(s,e)):void 0;var y,p,w,m,I,S;if(d===v||g(d)&&g(v)&&(p=v,M(y=d)===M(p)&&(w=(t,e)=>p[e]===t,y.every(w)))||F(a,e,[d,v]),!u(c)){const t=j(b,e),r=o(n,e)?c(s,e):void 0;(m=t)===(I=r)||(!l(S=m)&&f(k(S),t=>t==T.prototype||l(k(t)),()=>!0)||g(m))&&q(m)===q(I)||F(h,e,r)}},S=t=>{s(()=>{O(a,([,t],e)=>F(L,e,t)),O(h,(t,e)=>F(b,e,t))},a,h,L,b,t),N(a),N(h)};C(L,I),t.hasTable(n)&&p(t.getRowIds(n),t=>{x(L,t)||I(t)}),S(!0),w(e),((t,...e)=>{const r=J(y,t,B);p(e,t=>G(r,t))})(e,t.addRowListener(n,null,(t,e,r)=>I(r)),t.addTableListener(n,()=>S()))},L,t=>n(t,a),()=>C(y,L)]})(s,y,t=>isNaN(t)||u(t)||!0===t||!1===t||t===e?void 0:1*t,i,c),_={setMetricDefinition:(e,s,i,a,l,v,f)=>{const h=t(i)==n?[i,l,v,f]:j(W,i)??j(W,"sum");return V(e,s,(t,r,n,s,i,a)=>{const l=Q(e),v=b(s);a||=u(l),t();let f=((t,e,r,n,s,o=!1)=>{if(E(r))return;const[i,c,a,d]=s;return o||=u(t),O(n,([r,n])=>{o||(t=u(r)?c?.(t,n,e++):u(n)?a?.(t,r,e--):d?.(t,n,r,e),o||=u(t))}),o?i((l=r,[...l?.values()??[]]),b(r)):t;var l})(l,v,s,r,h,a);d(f)||(f=void 0),f!=l&&(U(e,f),c(o,[e],f,l))},t(g=a)==r?t=>t(g):g??(()=>1)),_;var g},delMetricDefinition:t=>(X(t),_),getStore:w,getMetricIds:m,forEachMetric:S,hasMetric:A,getTableId:K,getMetric:Q,addMetricIdsListener:Y,addMetricListener:(t,e)=>i(e,o,[t]),delListener:t=>(a(t),_),destroy:Z,getListenerStats:()=>({metric:I(o)})};return z(_)})(o);s.set(o,i)}return s.get(o)}})();export{K as createMetrics};