@fluidframework/merge-tree 2.4.0-297027 → 2.4.0-297385
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 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/localReference.d.ts +1 -1
- package/dist/localReference.d.ts.map +1 -1
- package/dist/localReference.js.map +1 -1
- package/dist/mergeTree.d.ts +7 -7
- package/dist/mergeTree.d.ts.map +1 -1
- package/dist/mergeTree.js +33 -5
- package/dist/mergeTree.js.map +1 -1
- package/dist/mergeTreeNodes.d.ts +27 -8
- package/dist/mergeTreeNodes.d.ts.map +1 -1
- package/dist/mergeTreeNodes.js +0 -17
- package/dist/mergeTreeNodes.js.map +1 -1
- package/dist/revertibles.d.ts.map +1 -1
- package/dist/revertibles.js +4 -2
- package/dist/revertibles.js.map +1 -1
- package/dist/snapshotV1.d.ts.map +1 -1
- package/dist/snapshotV1.js +0 -2
- package/dist/snapshotV1.js.map +1 -1
- package/dist/snapshotlegacy.d.ts.map +1 -1
- package/dist/snapshotlegacy.js +0 -1
- package/dist/snapshotlegacy.js.map +1 -1
- package/dist/test/client.annotateMarker.spec.js.map +1 -1
- package/dist/test/client.applyMsg.spec.js +3 -3
- package/dist/test/client.applyMsg.spec.js.map +1 -1
- package/dist/test/client.localReference.spec.js.map +1 -1
- package/dist/test/client.rollback.spec.js.map +1 -1
- package/dist/test/mergeTree.annotate.spec.js +29 -19
- package/dist/test/mergeTree.annotate.spec.js.map +1 -1
- package/dist/test/obliterate.spec.js.map +1 -1
- package/dist/test/revertibleFarm.spec.js.map +1 -1
- package/dist/zamboni.js +2 -1
- package/dist/zamboni.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/localReference.d.ts +1 -1
- package/lib/localReference.d.ts.map +1 -1
- package/lib/localReference.js.map +1 -1
- package/lib/mergeTree.d.ts +7 -7
- package/lib/mergeTree.d.ts.map +1 -1
- package/lib/mergeTree.js +35 -7
- package/lib/mergeTree.js.map +1 -1
- package/lib/mergeTreeNodes.d.ts +27 -8
- package/lib/mergeTreeNodes.d.ts.map +1 -1
- package/lib/mergeTreeNodes.js +0 -17
- package/lib/mergeTreeNodes.js.map +1 -1
- package/lib/revertibles.d.ts.map +1 -1
- package/lib/revertibles.js +5 -3
- package/lib/revertibles.js.map +1 -1
- package/lib/snapshotV1.d.ts.map +1 -1
- package/lib/snapshotV1.js +0 -2
- package/lib/snapshotV1.js.map +1 -1
- package/lib/snapshotlegacy.d.ts.map +1 -1
- package/lib/snapshotlegacy.js +0 -1
- package/lib/snapshotlegacy.js.map +1 -1
- package/lib/test/client.annotateMarker.spec.js.map +1 -1
- package/lib/test/client.applyMsg.spec.js +3 -3
- package/lib/test/client.applyMsg.spec.js.map +1 -1
- package/lib/test/client.localReference.spec.js.map +1 -1
- package/lib/test/client.rollback.spec.js.map +1 -1
- package/lib/test/mergeTree.annotate.spec.js +29 -19
- package/lib/test/mergeTree.annotate.spec.js.map +1 -1
- package/lib/test/obliterate.spec.js.map +1 -1
- package/lib/test/revertibleFarm.spec.js.map +1 -1
- package/lib/zamboni.js +2 -1
- package/lib/zamboni.js.map +1 -1
- package/package.json +17 -17
- package/src/index.ts +1 -0
- package/src/localReference.ts +5 -5
- package/src/mergeTree.ts +92 -53
- package/src/mergeTreeNodes.ts +35 -29
- package/src/revertibles.ts +12 -5
- package/src/snapshotV1.ts +0 -2
- package/src/snapshotlegacy.ts +0 -1
- package/src/zamboni.ts +3 -2
package/src/revertibles.ts
CHANGED
|
@@ -12,7 +12,12 @@ import { LocalReferenceCollection, LocalReferencePosition } from "./localReferen
|
|
|
12
12
|
import { MergeTree, findRootMergeBlock } from "./mergeTree.js";
|
|
13
13
|
import { IMergeTreeDeltaCallbackArgs } from "./mergeTreeDeltaCallback.js";
|
|
14
14
|
import { depthFirstNodeWalk } from "./mergeTreeNodeWalk.js";
|
|
15
|
-
import {
|
|
15
|
+
import {
|
|
16
|
+
ISegment,
|
|
17
|
+
ISegmentInternal,
|
|
18
|
+
toRemovalInfo,
|
|
19
|
+
type ISegmentLeaf,
|
|
20
|
+
} from "./mergeTreeNodes.js";
|
|
16
21
|
import { ITrackingGroup, Trackable, UnorderedTrackingGroup } from "./mergeTreeTracking.js";
|
|
17
22
|
import { IJSONSegment, MergeTreeDeltaType, ReferenceType } from "./ops.js";
|
|
18
23
|
import { PropertySet, matchProperties } from "./properties.js";
|
|
@@ -241,7 +246,8 @@ export function discardMergeTreeDeltaRevertible(
|
|
|
241
246
|
t.trackingCollection.unlink(r.trackingGroup);
|
|
242
247
|
// remove untracked local references
|
|
243
248
|
if (t.trackingCollection.empty && !t.isLeaf()) {
|
|
244
|
-
t.getSegment()
|
|
249
|
+
const segment: ISegmentInternal | undefined = t.getSegment();
|
|
250
|
+
segment?.localRefs?.removeLocalRef(t);
|
|
245
251
|
}
|
|
246
252
|
}
|
|
247
253
|
}
|
|
@@ -281,7 +287,7 @@ function revertLocalRemove(
|
|
|
281
287
|
|
|
282
288
|
assert(!tracked.isLeaf(), 0x3f4 /* removes must track local refs */);
|
|
283
289
|
|
|
284
|
-
const refSeg = tracked.getSegment();
|
|
290
|
+
const refSeg: ISegmentInternal | undefined = tracked.getSegment();
|
|
285
291
|
let realPos = mergeTreeWithRevert.referencePositionToLocalPosition(tracked);
|
|
286
292
|
|
|
287
293
|
// References which are on EndOfStringSegment don't return detached for pos,
|
|
@@ -334,7 +340,7 @@ function revertLocalRemove(
|
|
|
334
340
|
insertSegment.parent!,
|
|
335
341
|
insertSegment,
|
|
336
342
|
undefined,
|
|
337
|
-
(seg) => {
|
|
343
|
+
(seg: ISegmentInternal) => {
|
|
338
344
|
if (seg.localRefs?.empty === false) {
|
|
339
345
|
return seg.localRefs.walkReferences(refHandler, undefined, forward);
|
|
340
346
|
}
|
|
@@ -366,7 +372,8 @@ function revertLocalRemove(
|
|
|
366
372
|
tg.link(insertSegment);
|
|
367
373
|
tg.unlink(tracked);
|
|
368
374
|
}
|
|
369
|
-
tracked.getSegment()
|
|
375
|
+
const segment: ISegmentInternal | undefined = tracked.getSegment();
|
|
376
|
+
segment?.localRefs?.removeLocalRef(tracked);
|
|
370
377
|
}
|
|
371
378
|
}
|
|
372
379
|
|
package/src/snapshotV1.ts
CHANGED
|
@@ -212,7 +212,6 @@ export class SnapshotV1 {
|
|
|
212
212
|
if (segment) {
|
|
213
213
|
if (segment.properties !== undefined && Object.keys(segment.properties).length === 0) {
|
|
214
214
|
segment.properties = undefined;
|
|
215
|
-
segment.propertyManager = undefined;
|
|
216
215
|
}
|
|
217
216
|
pushSegRaw(
|
|
218
217
|
segment.toJSONObject() as JsonSegmentSpecs,
|
|
@@ -282,7 +281,6 @@ export class SnapshotV1 {
|
|
|
282
281
|
|
|
283
282
|
if (segment.properties !== undefined && Object.keys(segment.properties).length === 0) {
|
|
284
283
|
segment.properties = undefined;
|
|
285
|
-
segment.propertyManager = undefined;
|
|
286
284
|
}
|
|
287
285
|
const raw: IJSONSegmentWithMergeInfo & { removedClient?: string } = {
|
|
288
286
|
json: segment.toJSONObject() as IJSONSegment,
|
package/src/snapshotlegacy.ts
CHANGED
|
@@ -246,7 +246,6 @@ export class SnapshotLegacy {
|
|
|
246
246
|
totalLength += segment.cachedLength;
|
|
247
247
|
if (segment.properties !== undefined && Object.keys(segment.properties).length === 0) {
|
|
248
248
|
segment.properties = undefined;
|
|
249
|
-
segment.propertyManager = undefined;
|
|
250
249
|
}
|
|
251
250
|
this.segments!.push(segment);
|
|
252
251
|
});
|
package/src/zamboni.ts
CHANGED
|
@@ -135,8 +135,9 @@ function scourNode(node: MergeBlock, holdNodes: IMergeNode[], mergeTree: MergeTr
|
|
|
135
135
|
// when possible.
|
|
136
136
|
let prevSegment: ISegment | undefined;
|
|
137
137
|
for (let k = 0; k < node.childCount; k++) {
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
// TODO Non null asserting, why is this not null?
|
|
139
|
+
const childNode = node.children[k]!;
|
|
140
|
+
if (!childNode.isLeaf() || childNode.segmentGroups?.empty === false) {
|
|
140
141
|
holdNodes.push(childNode);
|
|
141
142
|
prevSegment = undefined;
|
|
142
143
|
continue;
|