@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.
- package/api-extractor/api-extractor.legacy.json +4 -0
- package/api-report/merge-tree.beta.api.md +0 -11
- package/api-report/{merge-tree.alpha.api.md → merge-tree.legacy.alpha.api.md} +0 -11
- package/api-report/merge-tree.public.api.md +0 -11
- package/dist/attributionCollection.d.ts +5 -0
- package/dist/attributionCollection.d.ts.map +1 -1
- package/dist/attributionCollection.js.map +1 -1
- package/dist/client.d.ts +2 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +1 -0
- package/dist/client.js.map +1 -1
- package/dist/legacy.d.ts +1 -1
- package/dist/localReference.d.ts +4 -0
- package/dist/localReference.d.ts.map +1 -1
- package/dist/localReference.js +2 -0
- package/dist/localReference.js.map +1 -1
- package/dist/mergeTree.d.ts +14 -1
- package/dist/mergeTree.d.ts.map +1 -1
- package/dist/mergeTree.js +32 -7
- package/dist/mergeTree.js.map +1 -1
- package/dist/mergeTreeDeltaCallback.d.ts +8 -0
- package/dist/mergeTreeDeltaCallback.d.ts.map +1 -1
- package/dist/mergeTreeDeltaCallback.js +1 -0
- package/dist/mergeTreeDeltaCallback.js.map +1 -1
- package/dist/mergeTreeNodes.d.ts +12 -0
- package/dist/mergeTreeNodes.d.ts.map +1 -1
- package/dist/mergeTreeNodes.js +5 -0
- package/dist/mergeTreeNodes.js.map +1 -1
- package/dist/mergeTreeTracking.d.ts +4 -0
- package/dist/mergeTreeTracking.d.ts.map +1 -1
- package/dist/mergeTreeTracking.js +2 -0
- package/dist/mergeTreeTracking.js.map +1 -1
- package/dist/ops.d.ts +14 -0
- package/dist/ops.d.ts.map +1 -1
- package/dist/ops.js +2 -0
- package/dist/ops.js.map +1 -1
- package/dist/perspective.d.ts +76 -0
- package/dist/perspective.d.ts.map +1 -0
- package/dist/perspective.js +123 -0
- package/dist/perspective.js.map +1 -0
- package/dist/properties.d.ts +2 -0
- package/dist/properties.d.ts.map +1 -1
- package/dist/properties.js.map +1 -1
- package/dist/referencePositions.d.ts +3 -0
- package/dist/referencePositions.d.ts.map +1 -1
- package/dist/referencePositions.js +2 -0
- package/dist/referencePositions.js.map +1 -1
- package/dist/revertibles.d.ts +5 -0
- package/dist/revertibles.d.ts.map +1 -1
- package/dist/revertibles.js +3 -0
- package/dist/revertibles.js.map +1 -1
- package/dist/segmentGroupCollection.d.ts +1 -0
- package/dist/segmentGroupCollection.d.ts.map +1 -1
- package/dist/segmentGroupCollection.js +1 -0
- package/dist/segmentGroupCollection.js.map +1 -1
- package/dist/segmentPropertiesManager.d.ts +2 -0
- package/dist/segmentPropertiesManager.d.ts.map +1 -1
- package/dist/segmentPropertiesManager.js +2 -0
- package/dist/segmentPropertiesManager.js.map +1 -1
- package/dist/snapshotLoader.d.ts.map +1 -1
- package/dist/snapshotLoader.js +0 -3
- package/dist/snapshotLoader.js.map +1 -1
- package/dist/textSegment.d.ts +3 -0
- package/dist/textSegment.d.ts.map +1 -1
- package/dist/textSegment.js +1 -0
- package/dist/textSegment.js.map +1 -1
- package/lib/attributionCollection.d.ts +5 -0
- package/lib/attributionCollection.d.ts.map +1 -1
- package/lib/attributionCollection.js.map +1 -1
- package/lib/client.d.ts +2 -0
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +1 -0
- package/lib/client.js.map +1 -1
- package/lib/legacy.d.ts +1 -1
- package/lib/localReference.d.ts +4 -0
- package/lib/localReference.d.ts.map +1 -1
- package/lib/localReference.js +2 -0
- package/lib/localReference.js.map +1 -1
- package/lib/mergeTree.d.ts +14 -1
- package/lib/mergeTree.d.ts.map +1 -1
- package/lib/mergeTree.js +32 -7
- package/lib/mergeTree.js.map +1 -1
- package/lib/mergeTreeDeltaCallback.d.ts +8 -0
- package/lib/mergeTreeDeltaCallback.d.ts.map +1 -1
- package/lib/mergeTreeDeltaCallback.js +1 -0
- package/lib/mergeTreeDeltaCallback.js.map +1 -1
- package/lib/mergeTreeNodes.d.ts +12 -0
- package/lib/mergeTreeNodes.d.ts.map +1 -1
- package/lib/mergeTreeNodes.js +5 -0
- package/lib/mergeTreeNodes.js.map +1 -1
- package/lib/mergeTreeTracking.d.ts +4 -0
- package/lib/mergeTreeTracking.d.ts.map +1 -1
- package/lib/mergeTreeTracking.js +2 -0
- package/lib/mergeTreeTracking.js.map +1 -1
- package/lib/ops.d.ts +14 -0
- package/lib/ops.d.ts.map +1 -1
- package/lib/ops.js +2 -0
- package/lib/ops.js.map +1 -1
- package/lib/perspective.d.ts +76 -0
- package/lib/perspective.d.ts.map +1 -0
- package/lib/perspective.js +115 -0
- package/lib/perspective.js.map +1 -0
- package/lib/properties.d.ts +2 -0
- package/lib/properties.d.ts.map +1 -1
- package/lib/properties.js.map +1 -1
- package/lib/referencePositions.d.ts +3 -0
- package/lib/referencePositions.d.ts.map +1 -1
- package/lib/referencePositions.js +2 -0
- package/lib/referencePositions.js.map +1 -1
- package/lib/revertibles.d.ts +5 -0
- package/lib/revertibles.d.ts.map +1 -1
- package/lib/revertibles.js +3 -0
- package/lib/revertibles.js.map +1 -1
- package/lib/segmentGroupCollection.d.ts +1 -0
- package/lib/segmentGroupCollection.d.ts.map +1 -1
- package/lib/segmentGroupCollection.js +1 -0
- package/lib/segmentGroupCollection.js.map +1 -1
- package/lib/segmentPropertiesManager.d.ts +2 -0
- package/lib/segmentPropertiesManager.d.ts.map +1 -1
- package/lib/segmentPropertiesManager.js +2 -0
- package/lib/segmentPropertiesManager.js.map +1 -1
- package/lib/snapshotLoader.d.ts.map +1 -1
- package/lib/snapshotLoader.js +0 -3
- package/lib/snapshotLoader.js.map +1 -1
- package/lib/textSegment.d.ts +3 -0
- package/lib/textSegment.d.ts.map +1 -1
- package/lib/textSegment.js +1 -0
- package/lib/textSegment.js.map +1 -1
- package/package.json +26 -68
- package/src/attributionCollection.ts +5 -0
- package/src/client.ts +2 -0
- package/src/localReference.ts +4 -0
- package/src/mergeTree.ts +41 -9
- package/src/mergeTreeDeltaCallback.ts +8 -0
- package/src/mergeTreeNodes.ts +12 -0
- package/src/mergeTreeTracking.ts +4 -0
- package/src/ops.ts +14 -0
- package/src/perspective.ts +142 -0
- package/src/properties.ts +2 -0
- package/src/referencePositions.ts +3 -0
- package/src/revertibles.ts +5 -0
- package/src/segmentGroupCollection.ts +1 -0
- package/src/segmentPropertiesManager.ts +2 -0
- package/src/snapshotLoader.ts +0 -2
- package/src/textSegment.ts +3 -0
package/dist/mergeTree.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeTree.d.ts","sourceRoot":"","sources":["../src/mergeTree.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAU,IAAI,EAAa,MAAM,qCAAqC,CAAC;AAG9E,OAAO,EAAE,gCAAgC,EAAE,MAAM,4BAA4B,CAAC;AAE9E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAY,MAAM,wBAAwB,CAAC;AAOpE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAEN,sBAAsB,EACtB,iBAAiB,EAGjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,qBAAqB,EAErB,sBAAsB,EACtB,4BAA4B,EAE5B,MAAM,6BAA6B,CAAC;AAQrC,OAAO,EAGN,mBAAmB,EACnB,UAAU,EAGV,QAAQ,EACR,cAAc,EAEd,YAAY,EAEZ,MAAM,EAEN,UAAU,EAEV,YAAY,EAKZ,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EACN,iBAAiB,EACjB,iBAAiB,EAEjB,aAAa,EACb,MAAM,UAAU,CAAC;
|
|
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
|
-
|
|
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
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
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
|
|
654
|
+
return this.getPosition(seg, refSeq, clientId, localSeq) + refPos.getOffset();
|
|
630
655
|
}
|
|
631
656
|
return referencePositions_js_1.DetachedReferencePosition;
|
|
632
657
|
}
|