@fluidframework/merge-tree 2.5.0 → 2.10.0-305357
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-report/merge-tree.legacy.alpha.api.md +0 -230
- package/dist/client.d.ts +9 -8
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +7 -6
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +3 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -5
- package/dist/index.js.map +1 -1
- package/dist/legacy.d.ts +0 -12
- package/dist/mergeTree.d.ts +14 -13
- package/dist/mergeTree.d.ts.map +1 -1
- package/dist/mergeTree.js +51 -20
- package/dist/mergeTree.js.map +1 -1
- package/dist/mergeTreeNodes.d.ts +13 -79
- package/dist/mergeTreeNodes.d.ts.map +1 -1
- package/dist/mergeTreeNodes.js +5 -95
- package/dist/mergeTreeNodes.js.map +1 -1
- package/dist/referencePositions.d.ts +0 -12
- package/dist/referencePositions.d.ts.map +1 -1
- package/dist/referencePositions.js.map +1 -1
- package/dist/segmentGroupCollection.d.ts +7 -14
- package/dist/segmentGroupCollection.d.ts.map +1 -1
- package/dist/segmentGroupCollection.js +2 -9
- package/dist/segmentGroupCollection.js.map +1 -1
- package/dist/segmentPropertiesManager.d.ts +13 -12
- package/dist/segmentPropertiesManager.d.ts.map +1 -1
- package/dist/segmentPropertiesManager.js +19 -13
- package/dist/segmentPropertiesManager.js.map +1 -1
- package/dist/sortedSegmentSet.d.ts +0 -1
- package/dist/sortedSegmentSet.d.ts.map +1 -1
- package/dist/sortedSegmentSet.js.map +1 -1
- package/dist/sortedSet.d.ts +0 -1
- package/dist/sortedSet.d.ts.map +1 -1
- package/dist/sortedSet.js +0 -1
- package/dist/sortedSet.js.map +1 -1
- package/dist/test/index.d.ts +2 -2
- package/dist/test/index.d.ts.map +1 -1
- package/dist/test/index.js +2 -4
- package/dist/test/index.js.map +1 -1
- package/dist/test/mergeTree.annotate.spec.js +4 -4
- package/dist/test/mergeTree.annotate.spec.js.map +1 -1
- package/dist/test/segmentGroupCollection.spec.js +22 -18
- package/dist/test/segmentGroupCollection.spec.js.map +1 -1
- package/dist/test/snapshot.spec.js.map +1 -1
- package/dist/test/snapshot.utils.d.ts +4 -4
- package/dist/test/snapshot.utils.d.ts.map +1 -1
- package/dist/test/snapshot.utils.js.map +1 -1
- package/dist/textSegment.d.ts +1 -3
- package/dist/textSegment.d.ts.map +1 -1
- package/dist/textSegment.js.map +1 -1
- package/lib/client.d.ts +9 -8
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +8 -7
- package/lib/client.js.map +1 -1
- package/lib/index.d.ts +3 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -3
- package/lib/index.js.map +1 -1
- package/lib/legacy.d.ts +0 -12
- package/lib/mergeTree.d.ts +14 -13
- package/lib/mergeTree.d.ts.map +1 -1
- package/lib/mergeTree.js +53 -22
- package/lib/mergeTree.js.map +1 -1
- package/lib/mergeTreeNodes.d.ts +13 -79
- package/lib/mergeTreeNodes.d.ts.map +1 -1
- package/lib/mergeTreeNodes.js +5 -94
- package/lib/mergeTreeNodes.js.map +1 -1
- package/lib/referencePositions.d.ts +0 -12
- package/lib/referencePositions.d.ts.map +1 -1
- package/lib/referencePositions.js.map +1 -1
- package/lib/segmentGroupCollection.d.ts +7 -14
- package/lib/segmentGroupCollection.d.ts.map +1 -1
- package/lib/segmentGroupCollection.js +2 -9
- package/lib/segmentGroupCollection.js.map +1 -1
- package/lib/segmentPropertiesManager.d.ts +13 -12
- package/lib/segmentPropertiesManager.d.ts.map +1 -1
- package/lib/segmentPropertiesManager.js +17 -12
- package/lib/segmentPropertiesManager.js.map +1 -1
- package/lib/sortedSegmentSet.d.ts +0 -1
- package/lib/sortedSegmentSet.d.ts.map +1 -1
- package/lib/sortedSegmentSet.js.map +1 -1
- package/lib/sortedSet.d.ts +0 -1
- package/lib/sortedSet.d.ts.map +1 -1
- package/lib/sortedSet.js +0 -1
- package/lib/sortedSet.js.map +1 -1
- package/lib/test/index.d.ts +2 -2
- package/lib/test/index.d.ts.map +1 -1
- package/lib/test/index.js +2 -2
- package/lib/test/index.js.map +1 -1
- package/lib/test/mergeTree.annotate.spec.js +4 -4
- package/lib/test/mergeTree.annotate.spec.js.map +1 -1
- package/lib/test/segmentGroupCollection.spec.js +22 -18
- package/lib/test/segmentGroupCollection.spec.js.map +1 -1
- package/lib/test/snapshot.spec.js.map +1 -1
- package/lib/test/snapshot.utils.d.ts +4 -4
- package/lib/test/snapshot.utils.d.ts.map +1 -1
- package/lib/test/snapshot.utils.js.map +1 -1
- package/lib/textSegment.d.ts +1 -3
- package/lib/textSegment.d.ts.map +1 -1
- package/lib/textSegment.js.map +1 -1
- package/package.json +91 -19
- package/src/client.ts +15 -12
- package/src/index.ts +6 -3
- package/src/mergeTree.ts +87 -38
- package/src/mergeTreeNodes.ts +16 -177
- package/src/referencePositions.ts +0 -12
- package/src/segmentGroupCollection.ts +14 -20
- package/src/segmentPropertiesManager.ts +30 -12
- package/src/sortedSegmentSet.ts +0 -1
- package/src/sortedSet.ts +0 -1
- package/src/textSegment.ts +1 -3
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;
|
|
1
|
+
{"version":3,"file":"mergeTree.d.ts","sourceRoot":"","sources":["../src/mergeTree.ts"],"names":[],"mappings":"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"}
|
package/dist/mergeTree.js
CHANGED
|
@@ -67,6 +67,53 @@ const LRUSegmentComparer = {
|
|
|
67
67
|
min: { maxSeq: -2 },
|
|
68
68
|
compare: (a, b) => a.maxSeq - b.maxSeq,
|
|
69
69
|
};
|
|
70
|
+
function ackSegment(segment, segmentGroup, opArgs) {
|
|
71
|
+
const currentSegmentGroup = segment.segmentGroups?.dequeue();
|
|
72
|
+
(0, internal_1.assert)(currentSegmentGroup === segmentGroup, 0x043 /* "On ack, unexpected segmentGroup!" */);
|
|
73
|
+
switch (opArgs.op.type) {
|
|
74
|
+
case ops_js_1.MergeTreeDeltaType.ANNOTATE: {
|
|
75
|
+
(0, internal_1.assert)(!!segment.propertyManager, 0x044 /* "On annotate ack, missing segment property manager!" */);
|
|
76
|
+
segment.propertyManager.ackPendingProperties(opArgs.op);
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
case ops_js_1.MergeTreeDeltaType.INSERT: {
|
|
80
|
+
(0, internal_1.assert)(segment.seq === constants_js_1.UnassignedSequenceNumber, 0x045 /* "On insert, seq number already assigned!" */);
|
|
81
|
+
segment.seq = opArgs.sequencedMessage.sequenceNumber;
|
|
82
|
+
segment.localSeq = undefined;
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
case ops_js_1.MergeTreeDeltaType.REMOVE: {
|
|
86
|
+
const removalInfo = (0, mergeTreeNodes_js_1.toRemovalInfo)(segment);
|
|
87
|
+
(0, internal_1.assert)(removalInfo !== undefined, 0x046 /* "On remove ack, missing removal info!" */);
|
|
88
|
+
segment.localRemovedSeq = undefined;
|
|
89
|
+
if (removalInfo.removedSeq === constants_js_1.UnassignedSequenceNumber) {
|
|
90
|
+
removalInfo.removedSeq = opArgs.sequencedMessage.sequenceNumber;
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
case ops_js_1.MergeTreeDeltaType.OBLITERATE:
|
|
96
|
+
case ops_js_1.MergeTreeDeltaType.OBLITERATE_SIDED: {
|
|
97
|
+
const moveInfo = (0, mergeTreeNodes_js_1.toMoveInfo)(segment);
|
|
98
|
+
(0, internal_1.assert)(moveInfo !== undefined, 0x86e /* On obliterate ack, missing move info! */);
|
|
99
|
+
const obliterateInfo = segmentGroup.obliterateInfo;
|
|
100
|
+
(0, internal_1.assert)(obliterateInfo !== undefined, 0xa40 /* must have obliterate info */);
|
|
101
|
+
segment.localMovedSeq = obliterateInfo.localSeq = undefined;
|
|
102
|
+
const seqIdx = moveInfo.movedSeqs.indexOf(constants_js_1.UnassignedSequenceNumber);
|
|
103
|
+
(0, internal_1.assert)(seqIdx !== -1, 0x86f /* expected movedSeqs to contain unacked seq */);
|
|
104
|
+
moveInfo.movedSeqs[seqIdx] = obliterateInfo.seq =
|
|
105
|
+
opArgs.sequencedMessage.sequenceNumber;
|
|
106
|
+
if (moveInfo.movedSeq === constants_js_1.UnassignedSequenceNumber) {
|
|
107
|
+
moveInfo.movedSeq = opArgs.sequencedMessage.sequenceNumber;
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
return false;
|
|
111
|
+
}
|
|
112
|
+
default: {
|
|
113
|
+
throw new Error(`${opArgs.op.type} is in unrecognized operation type`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
70
117
|
function errorIfOptionNotTrue(options, option) {
|
|
71
118
|
if (options?.[option] !== true) {
|
|
72
119
|
throw new Error(`${option} is not enabled.`);
|
|
@@ -226,7 +273,6 @@ class Obliterates {
|
|
|
226
273
|
const overlapping = [];
|
|
227
274
|
for (const start of this.startOrdered.items) {
|
|
228
275
|
if (start.getSegment().ordinal <= seg.ordinal) {
|
|
229
|
-
// eslint-disable-next-line import/no-deprecated
|
|
230
276
|
const ob = start.properties?.obliterate;
|
|
231
277
|
if (ob.end.getSegment().ordinal >= seg.ordinal) {
|
|
232
278
|
overlapping.push(ob);
|
|
@@ -267,23 +313,13 @@ class MergeTree {
|
|
|
267
313
|
}
|
|
268
314
|
const next = segment.splitAt(pos);
|
|
269
315
|
if (segment?.segmentGroups) {
|
|
270
|
-
// eslint-disable-next-line import/no-deprecated
|
|
271
316
|
next.segmentGroups ?? (next.segmentGroups = new segmentGroupCollection_js_1.SegmentGroupCollection(next));
|
|
272
|
-
segment.segmentGroups.copyTo(next);
|
|
317
|
+
segment.segmentGroups.copyTo(next.segmentGroups);
|
|
273
318
|
}
|
|
274
319
|
if (segment.prevObliterateByInserter) {
|
|
275
320
|
next.prevObliterateByInserter = segment.prevObliterateByInserter;
|
|
276
321
|
}
|
|
277
|
-
|
|
278
|
-
if (segment.propertyManager === undefined) {
|
|
279
|
-
next.properties = (0, properties_js_1.clone)(segment.properties);
|
|
280
|
-
}
|
|
281
|
-
else {
|
|
282
|
-
// eslint-disable-next-line import/no-deprecated
|
|
283
|
-
next.propertyManager ?? (next.propertyManager = new segmentPropertiesManager_js_1.PropertiesManager());
|
|
284
|
-
next.properties = segment.propertyManager.copyTo(segment.properties, next.properties, next.propertyManager);
|
|
285
|
-
}
|
|
286
|
-
}
|
|
322
|
+
(0, segmentPropertiesManager_js_1.copyPropertiesAndManager)(segment, next);
|
|
287
323
|
if (segment.localRefs) {
|
|
288
324
|
segment.localRefs.split(pos, next);
|
|
289
325
|
}
|
|
@@ -775,7 +811,7 @@ class MergeTree {
|
|
|
775
811
|
const deltaSegments = [];
|
|
776
812
|
const overlappingRemoves = [];
|
|
777
813
|
pendingSegmentGroup.segments.map((pendingSegment) => {
|
|
778
|
-
const overlappingRemove = !pendingSegment
|
|
814
|
+
const overlappingRemove = !ackSegment(pendingSegment, pendingSegmentGroup, opArgs);
|
|
779
815
|
overwrite = overlappingRemove || overwrite;
|
|
780
816
|
overlappingRemoves.push(overlappingRemove);
|
|
781
817
|
if (MergeTree.options.zamboniSegments) {
|
|
@@ -1003,10 +1039,8 @@ class MergeTree {
|
|
|
1003
1039
|
saveIfLocal(newSegment);
|
|
1004
1040
|
continue;
|
|
1005
1041
|
}
|
|
1006
|
-
// eslint-disable-next-line import/no-deprecated
|
|
1007
1042
|
let oldest;
|
|
1008
1043
|
let normalizedOldestSeq = 0;
|
|
1009
|
-
// eslint-disable-next-line import/no-deprecated
|
|
1010
1044
|
let newest;
|
|
1011
1045
|
let normalizedNewestSeq = 0;
|
|
1012
1046
|
const movedClientIds = [];
|
|
@@ -1233,7 +1267,6 @@ class MergeTree {
|
|
|
1233
1267
|
(0, internal_1.assert)(!mergeTreeNodes_js_1.Marker.is(segment) ||
|
|
1234
1268
|
!(mergeTreeNodes_js_1.reservedMarkerIdKey in props) ||
|
|
1235
1269
|
props.markerId === segment.properties?.markerId, 0x5ad /* Cannot change the markerId of an existing marker */);
|
|
1236
|
-
// eslint-disable-next-line import/no-deprecated
|
|
1237
1270
|
const propertyManager = (segment.propertyManager ?? (segment.propertyManager = new segmentPropertiesManager_js_1.PropertiesManager()));
|
|
1238
1271
|
const properties = (segment.properties ?? (segment.properties = (0, properties_js_1.createMap)()));
|
|
1239
1272
|
const propertyDeltas = propertyManager.addProperties(properties, props, seq, this.collabWindow.collaborating, rollback);
|
|
@@ -1552,9 +1585,7 @@ class MergeTree {
|
|
|
1552
1585
|
else {
|
|
1553
1586
|
const props = pendingSegmentGroup.previousProps[i];
|
|
1554
1587
|
const annotateOp = (0, opBuilder_js_1.createAnnotateRangeOp)(start, start + segment.cachedLength, props);
|
|
1555
|
-
this.annotateRange(start, start + segment.cachedLength, props, constants_js_1.UniversalSequenceNumber, this.collabWindow.clientId, constants_js_1.UniversalSequenceNumber, { op: annotateOp },
|
|
1556
|
-
// eslint-disable-next-line import/no-deprecated
|
|
1557
|
-
segmentPropertiesManager_js_1.PropertiesRollback.Rollback);
|
|
1588
|
+
this.annotateRange(start, start + segment.cachedLength, props, constants_js_1.UniversalSequenceNumber, this.collabWindow.clientId, constants_js_1.UniversalSequenceNumber, { op: annotateOp }, segmentPropertiesManager_js_1.PropertiesRollback.Rollback);
|
|
1558
1589
|
i++;
|
|
1559
1590
|
}
|
|
1560
1591
|
}
|