@fluidframework/merge-tree 0.58.1000 → 0.58.2000

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 (66) hide show
  1. package/DEV.md +9 -0
  2. package/dist/base.js.map +1 -1
  3. package/dist/client.d.ts +1 -1
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +13 -3
  6. package/dist/client.js.map +1 -1
  7. package/dist/collections.d.ts +2 -1
  8. package/dist/collections.d.ts.map +1 -1
  9. package/dist/collections.js.map +1 -1
  10. package/dist/localReference.d.ts.map +1 -1
  11. package/dist/localReference.js +4 -1
  12. package/dist/localReference.js.map +1 -1
  13. package/dist/mergeTree.d.ts.map +1 -1
  14. package/dist/mergeTree.js +26 -23
  15. package/dist/mergeTree.js.map +1 -1
  16. package/dist/mergeTreeDeltaCallback.d.ts.map +1 -1
  17. package/dist/mergeTreeDeltaCallback.js.map +1 -1
  18. package/dist/partialLengths.d.ts.map +1 -1
  19. package/dist/partialLengths.js +2 -2
  20. package/dist/partialLengths.js.map +1 -1
  21. package/dist/properties.d.ts.map +1 -1
  22. package/dist/properties.js +9 -2
  23. package/dist/properties.js.map +1 -1
  24. package/dist/segmentPropertiesManager.d.ts.map +1 -1
  25. package/dist/segmentPropertiesManager.js +4 -0
  26. package/dist/segmentPropertiesManager.js.map +1 -1
  27. package/dist/textSegment.d.ts.map +1 -1
  28. package/dist/textSegment.js.map +1 -1
  29. package/lib/base.js.map +1 -1
  30. package/lib/client.d.ts +1 -1
  31. package/lib/client.d.ts.map +1 -1
  32. package/lib/client.js +13 -3
  33. package/lib/client.js.map +1 -1
  34. package/lib/collections.d.ts +2 -1
  35. package/lib/collections.d.ts.map +1 -1
  36. package/lib/collections.js.map +1 -1
  37. package/lib/localReference.d.ts.map +1 -1
  38. package/lib/localReference.js +4 -1
  39. package/lib/localReference.js.map +1 -1
  40. package/lib/mergeTree.d.ts.map +1 -1
  41. package/lib/mergeTree.js +26 -23
  42. package/lib/mergeTree.js.map +1 -1
  43. package/lib/mergeTreeDeltaCallback.d.ts.map +1 -1
  44. package/lib/mergeTreeDeltaCallback.js.map +1 -1
  45. package/lib/partialLengths.d.ts.map +1 -1
  46. package/lib/partialLengths.js +2 -2
  47. package/lib/partialLengths.js.map +1 -1
  48. package/lib/properties.d.ts.map +1 -1
  49. package/lib/properties.js +9 -2
  50. package/lib/properties.js.map +1 -1
  51. package/lib/segmentPropertiesManager.d.ts.map +1 -1
  52. package/lib/segmentPropertiesManager.js +4 -0
  53. package/lib/segmentPropertiesManager.js.map +1 -1
  54. package/lib/textSegment.d.ts.map +1 -1
  55. package/lib/textSegment.js.map +1 -1
  56. package/package.json +14 -10
  57. package/src/base.ts +2 -2
  58. package/src/client.ts +13 -3
  59. package/src/collections.ts +2 -1
  60. package/src/localReference.ts +4 -2
  61. package/src/mergeTree.ts +31 -34
  62. package/src/mergeTreeDeltaCallback.ts +1 -0
  63. package/src/partialLengths.ts +2 -4
  64. package/src/properties.ts +9 -3
  65. package/src/segmentPropertiesManager.ts +4 -3
  66. package/src/textSegment.ts +0 -1
package/lib/mergeTree.js CHANGED
@@ -45,7 +45,7 @@ function addTileIfNotPresent(tile, tiles) {
45
45
  }
46
46
  }
47
47
  function applyStackDelta(currentStackMap, deltaStackMap) {
48
- // eslint-disable-next-line guard-for-in
48
+ // eslint-disable-next-line guard-for-in, no-restricted-syntax
49
49
  for (const label in deltaStackMap) {
50
50
  const deltaStack = deltaStackMap[label];
51
51
  if (!deltaStack.empty()) {
@@ -206,7 +206,7 @@ class HierMergeBlock extends MergeBlock {
206
206
  }
207
207
  hierToString(indentCount) {
208
208
  let strbuf = "";
209
- // eslint-disable-next-line guard-for-in
209
+ // eslint-disable-next-line guard-for-in, no-restricted-syntax
210
210
  for (const key in this.rangeStacks) {
211
211
  const stack = this.rangeStacks[key];
212
212
  strbuf += internedSpaces(indentCount);
@@ -279,6 +279,7 @@ export class BaseSegment extends MergeNode {
279
279
  this.localSeq = undefined;
280
280
  return true;
281
281
  case 1 /* REMOVE */:
282
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
282
283
  const removalInfo = this;
283
284
  assert(!!removalInfo, 0x046 /* "On remove ack, missing removal info!" */);
284
285
  assert(!!removalInfo.removedSeq, 0x047 /* "On remove ack, missing removed sequence number!" */);
@@ -486,6 +487,7 @@ export class Marker extends BaseSegment {
486
487
  // Avoid circular reference when stringifying makers containing handles.
487
488
  // (Substitute a debug string instead.)
488
489
  const handle = !!value && value.IFluidHandle;
490
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
489
491
  return handle
490
492
  ? `#Handle(${handle.routeContext.path}/${handle.path})`
491
493
  : value;
@@ -745,6 +747,7 @@ export class MergeTree {
745
747
  // snapshot header. The bulk of the segments in long documents are inserted via `insertSegments()`.
746
748
  this.blockUpdate(block);
747
749
  }
750
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
748
751
  return blocks.length === 1 // If there is only one block at this layer...
749
752
  ? blocks[0] // ...then we're done. Return the root.
750
753
  : buildMergeBlock(blocks); // ...otherwise recursively build the next layer above blocks.
@@ -965,8 +968,8 @@ export class MergeTree {
965
968
  stats.leafCount += childStats.leafCount;
966
969
  stats.removedLeafCount += childStats.removedLeafCount;
967
970
  stats.liveCount += childStats.liveCount;
968
- for (let i = 0; i < MaxNodesInBlock; i++) {
969
- stats.histo[i] += childStats.histo[i];
971
+ for (let j = 0; j < MaxNodesInBlock; j++) {
972
+ stats.histo[j] += childStats.histo[j];
970
973
  }
971
974
  }
972
975
  else {
@@ -1017,7 +1020,7 @@ export class MergeTree {
1017
1020
  getContainingSegment(pos, refSeq, clientId) {
1018
1021
  let segment;
1019
1022
  let offset;
1020
- const leaf = (leafSeg, segpos, refSeq, clientId, start) => {
1023
+ const leaf = (leafSeg, segpos, _refSeq, _clientId, start) => {
1021
1024
  segment = leafSeg;
1022
1025
  offset = start;
1023
1026
  return false;
@@ -1493,7 +1496,7 @@ export class MergeTree {
1493
1496
  }
1494
1497
  blockInsert(pos, refSeq, clientId, seq, localSeq, newSegments) {
1495
1498
  let segIsLocal = false;
1496
- const checkSegmentIsLocal = (segment, pos, refSeq, clientId) => {
1499
+ const checkSegmentIsLocal = (segment, _pos, _refSeq, _clientId) => {
1497
1500
  if (segment.seq === UnassignedSequenceNumber) {
1498
1501
  segIsLocal = true;
1499
1502
  }
@@ -1522,7 +1525,7 @@ export class MergeTree {
1522
1525
  }
1523
1526
  }
1524
1527
  };
1525
- const onLeaf = (segment, pos, context) => {
1528
+ const onLeaf = (segment, _pos, context) => {
1526
1529
  const segmentChanges = {};
1527
1530
  if (segment) {
1528
1531
  // Insert before segment
@@ -1594,24 +1597,24 @@ export class MergeTree {
1594
1597
  while (parent) {
1595
1598
  const children = parent.children;
1596
1599
  let childIndex;
1597
- let node;
1600
+ let _node;
1598
1601
  let matchedStart = false;
1599
1602
  for (childIndex = parent.childCount - 1; childIndex >= 0; childIndex--) {
1600
- node = children[childIndex];
1603
+ _node = children[childIndex];
1601
1604
  if (matchedStart) {
1602
- if (!node.isLeaf()) {
1603
- const childBlock = node;
1605
+ if (!_node.isLeaf()) {
1606
+ const childBlock = _node;
1604
1607
  go = this.nodeMapReverse(childBlock, leafAction, 0, UniversalSequenceNumber, this.collabWindow.clientId);
1605
1608
  }
1606
1609
  else {
1607
- go = leafAction(node, 0, UniversalSequenceNumber, this.collabWindow.clientId, 0, 0, undefined);
1610
+ go = leafAction(_node, 0, UniversalSequenceNumber, this.collabWindow.clientId, 0, 0, undefined);
1608
1611
  }
1609
1612
  if (!go) {
1610
1613
  return;
1611
1614
  }
1612
1615
  }
1613
1616
  else {
1614
- matchedStart = (startNode === node);
1617
+ matchedStart = (startNode === _node);
1615
1618
  }
1616
1619
  }
1617
1620
  startNode = parent;
@@ -1627,24 +1630,24 @@ export class MergeTree {
1627
1630
  while (parent) {
1628
1631
  const children = parent.children;
1629
1632
  let childIndex;
1630
- let node;
1633
+ let _node;
1631
1634
  let matchedStart = false;
1632
1635
  for (childIndex = 0; childIndex < parent.childCount; childIndex++) {
1633
- node = children[childIndex];
1636
+ _node = children[childIndex];
1634
1637
  if (matchedStart) {
1635
- if (!node.isLeaf()) {
1636
- const childBlock = node;
1638
+ if (!_node.isLeaf()) {
1639
+ const childBlock = _node;
1637
1640
  go = this.nodeMap(childBlock, actions, 0, UniversalSequenceNumber, this.collabWindow.clientId, undefined);
1638
1641
  }
1639
1642
  else {
1640
- go = leafAction(node, 0, UniversalSequenceNumber, this.collabWindow.clientId, 0, 0, undefined);
1643
+ go = leafAction(_node, 0, UniversalSequenceNumber, this.collabWindow.clientId, 0, 0, undefined);
1641
1644
  }
1642
1645
  if (!go) {
1643
1646
  return;
1644
1647
  }
1645
1648
  }
1646
1649
  else {
1647
- matchedStart = (startNode === node);
1650
+ matchedStart = (startNode === _node);
1648
1651
  }
1649
1652
  }
1650
1653
  startNode = parent;
@@ -1841,7 +1844,7 @@ export class MergeTree {
1841
1844
  const removedSegments = [];
1842
1845
  const savedLocalRefs = [];
1843
1846
  const localSeq = seq === UnassignedSequenceNumber ? ++this.collabWindow.localSeq : undefined;
1844
- const markRemoved = (segment, pos, start, end) => {
1847
+ const markRemoved = (segment, pos, _start, _end) => {
1845
1848
  const removalInfo = segment;
1846
1849
  if (removalInfo.removedSeq !== undefined) {
1847
1850
  _overwrite = true;
@@ -1869,8 +1872,8 @@ export class MergeTree {
1869
1872
  // Save segment so can assign removed sequence number when acked by server
1870
1873
  if (this.collabWindow.collaborating) {
1871
1874
  // Use removal information
1872
- const removalInfo = segment;
1873
- if (removalInfo.removedSeq === UnassignedSequenceNumber && clientId === this.collabWindow.clientId) {
1875
+ const _removalInfo = segment;
1876
+ if (_removalInfo.removedSeq === UnassignedSequenceNumber && clientId === this.collabWindow.clientId) {
1874
1877
  segmentGroup = this.addToPendingList(segment, segmentGroup, localSeq);
1875
1878
  }
1876
1879
  else {
@@ -1881,7 +1884,7 @@ export class MergeTree {
1881
1884
  }
1882
1885
  return true;
1883
1886
  };
1884
- const afterMarkRemoved = (node, pos, start, end) => {
1887
+ const afterMarkRemoved = (node, pos, _start, _end) => {
1885
1888
  if (_overwrite) {
1886
1889
  this.nodeUpdateLengthNewStructure(node);
1887
1890
  }