@fluidframework/merge-tree 2.0.2 → 2.1.0-276326

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 (145) hide show
  1. package/api-extractor/api-extractor.legacy.json +4 -0
  2. package/api-report/merge-tree.beta.api.md +0 -11
  3. package/api-report/{merge-tree.alpha.api.md → merge-tree.legacy.alpha.api.md} +0 -11
  4. package/api-report/merge-tree.public.api.md +0 -11
  5. package/dist/attributionCollection.d.ts +5 -0
  6. package/dist/attributionCollection.d.ts.map +1 -1
  7. package/dist/attributionCollection.js.map +1 -1
  8. package/dist/client.d.ts +2 -0
  9. package/dist/client.d.ts.map +1 -1
  10. package/dist/client.js +1 -0
  11. package/dist/client.js.map +1 -1
  12. package/dist/legacy.d.ts +1 -1
  13. package/dist/localReference.d.ts +4 -0
  14. package/dist/localReference.d.ts.map +1 -1
  15. package/dist/localReference.js +2 -0
  16. package/dist/localReference.js.map +1 -1
  17. package/dist/mergeTree.d.ts +14 -1
  18. package/dist/mergeTree.d.ts.map +1 -1
  19. package/dist/mergeTree.js +32 -7
  20. package/dist/mergeTree.js.map +1 -1
  21. package/dist/mergeTreeDeltaCallback.d.ts +8 -0
  22. package/dist/mergeTreeDeltaCallback.d.ts.map +1 -1
  23. package/dist/mergeTreeDeltaCallback.js +1 -0
  24. package/dist/mergeTreeDeltaCallback.js.map +1 -1
  25. package/dist/mergeTreeNodes.d.ts +12 -0
  26. package/dist/mergeTreeNodes.d.ts.map +1 -1
  27. package/dist/mergeTreeNodes.js +5 -0
  28. package/dist/mergeTreeNodes.js.map +1 -1
  29. package/dist/mergeTreeTracking.d.ts +4 -0
  30. package/dist/mergeTreeTracking.d.ts.map +1 -1
  31. package/dist/mergeTreeTracking.js +2 -0
  32. package/dist/mergeTreeTracking.js.map +1 -1
  33. package/dist/ops.d.ts +14 -0
  34. package/dist/ops.d.ts.map +1 -1
  35. package/dist/ops.js +2 -0
  36. package/dist/ops.js.map +1 -1
  37. package/dist/perspective.d.ts +76 -0
  38. package/dist/perspective.d.ts.map +1 -0
  39. package/dist/perspective.js +123 -0
  40. package/dist/perspective.js.map +1 -0
  41. package/dist/properties.d.ts +2 -0
  42. package/dist/properties.d.ts.map +1 -1
  43. package/dist/properties.js.map +1 -1
  44. package/dist/referencePositions.d.ts +3 -0
  45. package/dist/referencePositions.d.ts.map +1 -1
  46. package/dist/referencePositions.js +2 -0
  47. package/dist/referencePositions.js.map +1 -1
  48. package/dist/revertibles.d.ts +5 -0
  49. package/dist/revertibles.d.ts.map +1 -1
  50. package/dist/revertibles.js +3 -0
  51. package/dist/revertibles.js.map +1 -1
  52. package/dist/segmentGroupCollection.d.ts +1 -0
  53. package/dist/segmentGroupCollection.d.ts.map +1 -1
  54. package/dist/segmentGroupCollection.js +1 -0
  55. package/dist/segmentGroupCollection.js.map +1 -1
  56. package/dist/segmentPropertiesManager.d.ts +2 -0
  57. package/dist/segmentPropertiesManager.d.ts.map +1 -1
  58. package/dist/segmentPropertiesManager.js +2 -0
  59. package/dist/segmentPropertiesManager.js.map +1 -1
  60. package/dist/snapshotLoader.d.ts.map +1 -1
  61. package/dist/snapshotLoader.js +0 -3
  62. package/dist/snapshotLoader.js.map +1 -1
  63. package/dist/textSegment.d.ts +3 -0
  64. package/dist/textSegment.d.ts.map +1 -1
  65. package/dist/textSegment.js +1 -0
  66. package/dist/textSegment.js.map +1 -1
  67. package/lib/attributionCollection.d.ts +5 -0
  68. package/lib/attributionCollection.d.ts.map +1 -1
  69. package/lib/attributionCollection.js.map +1 -1
  70. package/lib/client.d.ts +2 -0
  71. package/lib/client.d.ts.map +1 -1
  72. package/lib/client.js +1 -0
  73. package/lib/client.js.map +1 -1
  74. package/lib/legacy.d.ts +1 -1
  75. package/lib/localReference.d.ts +4 -0
  76. package/lib/localReference.d.ts.map +1 -1
  77. package/lib/localReference.js +2 -0
  78. package/lib/localReference.js.map +1 -1
  79. package/lib/mergeTree.d.ts +14 -1
  80. package/lib/mergeTree.d.ts.map +1 -1
  81. package/lib/mergeTree.js +32 -7
  82. package/lib/mergeTree.js.map +1 -1
  83. package/lib/mergeTreeDeltaCallback.d.ts +8 -0
  84. package/lib/mergeTreeDeltaCallback.d.ts.map +1 -1
  85. package/lib/mergeTreeDeltaCallback.js +1 -0
  86. package/lib/mergeTreeDeltaCallback.js.map +1 -1
  87. package/lib/mergeTreeNodes.d.ts +12 -0
  88. package/lib/mergeTreeNodes.d.ts.map +1 -1
  89. package/lib/mergeTreeNodes.js +5 -0
  90. package/lib/mergeTreeNodes.js.map +1 -1
  91. package/lib/mergeTreeTracking.d.ts +4 -0
  92. package/lib/mergeTreeTracking.d.ts.map +1 -1
  93. package/lib/mergeTreeTracking.js +2 -0
  94. package/lib/mergeTreeTracking.js.map +1 -1
  95. package/lib/ops.d.ts +14 -0
  96. package/lib/ops.d.ts.map +1 -1
  97. package/lib/ops.js +2 -0
  98. package/lib/ops.js.map +1 -1
  99. package/lib/perspective.d.ts +76 -0
  100. package/lib/perspective.d.ts.map +1 -0
  101. package/lib/perspective.js +115 -0
  102. package/lib/perspective.js.map +1 -0
  103. package/lib/properties.d.ts +2 -0
  104. package/lib/properties.d.ts.map +1 -1
  105. package/lib/properties.js.map +1 -1
  106. package/lib/referencePositions.d.ts +3 -0
  107. package/lib/referencePositions.d.ts.map +1 -1
  108. package/lib/referencePositions.js +2 -0
  109. package/lib/referencePositions.js.map +1 -1
  110. package/lib/revertibles.d.ts +5 -0
  111. package/lib/revertibles.d.ts.map +1 -1
  112. package/lib/revertibles.js +3 -0
  113. package/lib/revertibles.js.map +1 -1
  114. package/lib/segmentGroupCollection.d.ts +1 -0
  115. package/lib/segmentGroupCollection.d.ts.map +1 -1
  116. package/lib/segmentGroupCollection.js +1 -0
  117. package/lib/segmentGroupCollection.js.map +1 -1
  118. package/lib/segmentPropertiesManager.d.ts +2 -0
  119. package/lib/segmentPropertiesManager.d.ts.map +1 -1
  120. package/lib/segmentPropertiesManager.js +2 -0
  121. package/lib/segmentPropertiesManager.js.map +1 -1
  122. package/lib/snapshotLoader.d.ts.map +1 -1
  123. package/lib/snapshotLoader.js +0 -3
  124. package/lib/snapshotLoader.js.map +1 -1
  125. package/lib/textSegment.d.ts +3 -0
  126. package/lib/textSegment.d.ts.map +1 -1
  127. package/lib/textSegment.js +1 -0
  128. package/lib/textSegment.js.map +1 -1
  129. package/package.json +26 -68
  130. package/src/attributionCollection.ts +5 -0
  131. package/src/client.ts +2 -0
  132. package/src/localReference.ts +4 -0
  133. package/src/mergeTree.ts +41 -9
  134. package/src/mergeTreeDeltaCallback.ts +8 -0
  135. package/src/mergeTreeNodes.ts +12 -0
  136. package/src/mergeTreeTracking.ts +4 -0
  137. package/src/ops.ts +14 -0
  138. package/src/perspective.ts +142 -0
  139. package/src/properties.ts +2 -0
  140. package/src/referencePositions.ts +3 -0
  141. package/src/revertibles.ts +5 -0
  142. package/src/segmentGroupCollection.ts +1 -0
  143. package/src/segmentPropertiesManager.ts +2 -0
  144. package/src/snapshotLoader.ts +0 -2
  145. package/src/textSegment.ts +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"mergeTree.d.ts","sourceRoot":"","sources":["../src/mergeTree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mergeTree.d.ts","sourceRoot":"","sources":["../src/mergeTree.ts"],"names":[],"mappings":"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"}
package/dist/mergeTree.js CHANGED
@@ -19,6 +19,7 @@ const mergeTreeNodes_js_1 = require("./mergeTreeNodes.js");
19
19
  const opBuilder_js_1 = require("./opBuilder.js");
20
20
  const ops_js_1 = require("./ops.js");
21
21
  const partialLengths_js_1 = require("./partialLengths.js");
22
+ const perspective_js_1 = require("./perspective.js");
22
23
  // eslint-disable-next-line import/no-deprecated
23
24
  const properties_js_1 = require("./properties.js");
24
25
  const referencePositions_js_1 = require("./referencePositions.js");
@@ -612,21 +613,45 @@ class MergeTree {
612
613
  }
613
614
  }
614
615
  }
615
- referencePositionToLocalPosition(refPos, refSeq = this.collabWindow.currentSeq, clientId = this.collabWindow.clientId) {
616
+ /**
617
+ * Returns the count of elements before the given reference position from the given perspective.
618
+ *
619
+ * @param refPos - The reference position to resolve.
620
+ * @param refSeq - The number of the latest sequenced change to consider.
621
+ * Defaults to including all edits which have been applied.
622
+ * @param clientId - The ID of the client from whose perspective to resolve this reference. Defaults to the current client.
623
+ * @param localSeq - The local sequence number to consider. Defaults to including all local edits.
624
+ * @returns the count of elements before the given reference position in the given perspective.
625
+ */
626
+ referencePositionToLocalPosition(refPos, refSeq = Number.MAX_SAFE_INTEGER, clientId = this.collabWindow.clientId, localSeq = this.collabWindow.localSeq) {
616
627
  const seg = refPos.getSegment();
617
628
  if (seg?.parent === undefined) {
629
+ // We have no idea where this reference is, because it refers to a segment which is not in the tree.
618
630
  return referencePositions_js_1.DetachedReferencePosition;
619
631
  }
620
632
  if (refPos.isLeaf()) {
621
- return this.getPosition(refPos, refSeq, clientId);
633
+ return this.getPosition(refPos, refSeq, clientId, localSeq);
622
634
  }
623
635
  if ((0, referencePositions_js_1.refTypeIncludesFlag)(refPos, ops_js_1.ReferenceType.Transient) || seg.localRefs?.has(refPos)) {
624
- const offset = isRemovedOrMoved(seg) ? 0 : refPos.getOffset();
625
- const pos = this.getPosition(seg, refSeq, clientId);
626
- if (isRemovedOrMoved(seg) && refPos.slidingPreference === localReference_js_1.SlidingPreference.BACKWARD) {
627
- return pos === 0 ? 0 : pos - 1;
636
+ if (seg !== this.startOfTree &&
637
+ seg !== this.endOfTree &&
638
+ !(0, perspective_js_1.isSegmentPresent)(seg, { refSeq, localSeq })) {
639
+ const forward = refPos.slidingPreference === localReference_js_1.SlidingPreference.FORWARD;
640
+ const slideSeq = seg.movedSeq !== constants_js_1.UnassignedSequenceNumber && seg.movedSeq !== undefined
641
+ ? seg.movedSeq
642
+ : seg.removedSeq !== constants_js_1.UnassignedSequenceNumber && seg.removedSeq !== undefined
643
+ ? seg.removedSeq
644
+ : refSeq;
645
+ const slideLocalSeq = seg.localMovedSeq ?? seg.localRemovedSeq;
646
+ const perspective = new perspective_js_1.PerspectiveImpl(this, {
647
+ refSeq: slideSeq,
648
+ localSeq: slideLocalSeq,
649
+ });
650
+ const slidSegment = perspective.nextSegment(seg, forward);
651
+ return (this.getPosition(slidSegment, refSeq, clientId, localSeq) +
652
+ (forward ? 0 : slidSegment.cachedLength === 0 ? 0 : slidSegment.cachedLength - 1));
628
653
  }
629
- return offset + pos;
654
+ return this.getPosition(seg, refSeq, clientId, localSeq) + refPos.getOffset();
630
655
  }
631
656
  return referencePositions_js_1.DetachedReferencePosition;
632
657
  }