@fluidframework/merge-tree 2.118.1 → 3.0.1
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/CHANGELOG.md +34 -4
- package/README.md +53 -50
- package/{api-extractor.json → api-extractor/api-extractor-model.json} +1 -1
- package/dist/MergeTreeTextHelper.js +1 -0
- package/dist/MergeTreeTextHelper.js.map +1 -1
- package/dist/attributionCollection.js +6 -4
- package/dist/attributionCollection.js.map +1 -1
- package/dist/attributionPolicy.js +3 -4
- package/dist/attributionPolicy.js.map +1 -1
- package/dist/client.js +27 -10
- package/dist/client.js.map +1 -1
- package/dist/collections/rbTree.d.ts.map +1 -1
- package/dist/collections/rbTree.js +3 -0
- package/dist/collections/rbTree.js.map +1 -1
- package/dist/endOfTreeSegment.d.ts.map +1 -1
- package/dist/endOfTreeSegment.js +25 -26
- package/dist/endOfTreeSegment.js.map +1 -1
- package/dist/localReference.js +17 -7
- package/dist/localReference.js.map +1 -1
- package/dist/mergeTree.d.ts.map +1 -1
- package/dist/mergeTree.js +90 -74
- package/dist/mergeTree.js.map +1 -1
- package/dist/mergeTreeNodeWalk.js +5 -5
- package/dist/mergeTreeNodeWalk.js.map +1 -1
- package/dist/mergeTreeNodes.d.ts.map +1 -1
- package/dist/mergeTreeNodes.js +117 -90
- package/dist/mergeTreeNodes.js.map +1 -1
- package/dist/mergeTreeTracking.js +4 -0
- package/dist/mergeTreeTracking.js.map +1 -1
- package/dist/opBuilder.js +9 -10
- package/dist/opBuilder.js.map +1 -1
- package/dist/ordinal.js +1 -2
- package/dist/ordinal.js.map +1 -1
- package/dist/partialLengths.js +109 -73
- package/dist/partialLengths.js.map +1 -1
- package/dist/perspective.js +31 -11
- package/dist/perspective.js.map +1 -1
- package/dist/properties.js +6 -7
- package/dist/properties.js.map +1 -1
- package/dist/referencePositions.d.ts.map +1 -1
- package/dist/referencePositions.js +7 -7
- package/dist/referencePositions.js.map +1 -1
- package/dist/revertibles.js +4 -5
- package/dist/revertibles.js.map +1 -1
- package/dist/segmentGroupCollection.js +2 -0
- package/dist/segmentGroupCollection.js.map +1 -1
- package/dist/segmentInfos.d.ts.map +1 -1
- package/dist/segmentInfos.js +5 -5
- package/dist/segmentInfos.js.map +1 -1
- package/dist/segmentPropertiesManager.js +3 -5
- package/dist/segmentPropertiesManager.js.map +1 -1
- package/dist/sequencePlace.js +3 -3
- package/dist/sequencePlace.js.map +1 -1
- package/dist/snapshotChunks.js +4 -5
- package/dist/snapshotChunks.js.map +1 -1
- package/dist/snapshotLoader.js +85 -70
- package/dist/snapshotLoader.js.map +1 -1
- package/dist/snapshotV1.d.ts.map +1 -1
- package/dist/snapshotV1.js +34 -14
- package/dist/snapshotV1.js.map +1 -1
- package/dist/snapshotlegacy.d.ts.map +1 -1
- package/dist/snapshotlegacy.js +18 -10
- package/dist/snapshotlegacy.js.map +1 -1
- package/dist/sortedSet.js +1 -3
- package/dist/sortedSet.js.map +1 -1
- package/dist/stamps.js +11 -12
- package/dist/stamps.js.map +1 -1
- package/dist/test/attributionCollection.spec.js +1 -1
- package/dist/test/attributionCollection.spec.js.map +1 -1
- package/dist/test/beastTest.spec.js +15 -11
- package/dist/test/beastTest.spec.js.map +1 -1
- package/dist/test/client.apis.spec.js +2 -3
- package/dist/test/client.apis.spec.js.map +1 -1
- package/dist/test/client.replay.spec.js +17 -7
- package/dist/test/client.replay.spec.js.map +1 -1
- package/dist/test/clientTestHelper.js +7 -4
- package/dist/test/clientTestHelper.js.map +1 -1
- package/dist/test/mergeTreeOperationRunner.js +26 -16
- package/dist/test/mergeTreeOperationRunner.js.map +1 -1
- package/dist/test/obliterateOperations.d.ts.map +1 -1
- package/dist/test/revertibles.spec.js +1 -2
- package/dist/test/revertibles.spec.js.map +1 -1
- package/dist/test/snapshot.utils.d.ts.map +1 -1
- package/dist/test/snapshot.utils.js +7 -5
- package/dist/test/snapshot.utils.js.map +1 -1
- package/dist/test/stamps.spec.js +17 -7
- package/dist/test/stamps.spec.js.map +1 -1
- package/dist/test/testClient.d.ts.map +1 -1
- package/dist/test/testClient.js +19 -17
- package/dist/test/testClient.js.map +1 -1
- package/dist/test/testClientLogger.d.ts.map +1 -1
- package/dist/test/testClientLogger.js +12 -8
- package/dist/test/testClientLogger.js.map +1 -1
- package/dist/test/testServer.js +7 -7
- package/dist/test/testServer.js.map +1 -1
- package/dist/test/testUtils.d.ts +0 -1
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +9 -10
- package/dist/test/testUtils.js.map +1 -1
- package/dist/test/text.js +2 -3
- package/dist/test/text.js.map +1 -1
- package/dist/test/wordUnitTests.spec.js +1 -2
- package/dist/test/wordUnitTests.spec.js.map +1 -1
- package/dist/textSegment.js +3 -2
- package/dist/textSegment.js.map +1 -1
- package/dist/zamboni.js +20 -10
- package/dist/zamboni.js.map +1 -1
- package/lib/MergeTreeTextHelper.js +1 -0
- package/lib/MergeTreeTextHelper.js.map +1 -1
- package/lib/attributionCollection.js +4 -2
- package/lib/attributionCollection.js.map +1 -1
- package/lib/client.js +10 -3
- package/lib/client.js.map +1 -1
- package/lib/collections/rbTree.d.ts.map +1 -1
- package/lib/collections/rbTree.js +3 -0
- package/lib/collections/rbTree.js.map +1 -1
- package/lib/endOfTreeSegment.d.ts.map +1 -1
- package/lib/endOfTreeSegment.js +25 -26
- package/lib/endOfTreeSegment.js.map +1 -1
- package/lib/legacy.d.ts +1 -1
- package/lib/localReference.js +12 -2
- package/lib/localReference.js.map +1 -1
- package/lib/mergeTree.d.ts.map +1 -1
- package/lib/mergeTree.js +68 -62
- package/lib/mergeTree.js.map +1 -1
- package/lib/mergeTreeNodes.d.ts.map +1 -1
- package/lib/mergeTreeNodes.js +111 -84
- package/lib/mergeTreeNodes.js.map +1 -1
- package/lib/mergeTreeTracking.js +4 -0
- package/lib/mergeTreeTracking.js.map +1 -1
- package/lib/partialLengths.js +89 -63
- package/lib/partialLengths.js.map +1 -1
- package/lib/perspective.js +12 -2
- package/lib/perspective.js.map +1 -1
- package/lib/public.d.ts +1 -1
- package/lib/referencePositions.d.ts.map +1 -1
- package/lib/segmentGroupCollection.js +2 -0
- package/lib/segmentGroupCollection.js.map +1 -1
- package/lib/segmentInfos.d.ts.map +1 -1
- package/lib/segmentPropertiesManager.js +1 -3
- package/lib/segmentPropertiesManager.js.map +1 -1
- package/lib/snapshotLoader.js +68 -63
- package/lib/snapshotLoader.js.map +1 -1
- package/lib/snapshotV1.d.ts.map +1 -1
- package/lib/snapshotV1.js +17 -7
- package/lib/snapshotV1.js.map +1 -1
- package/lib/snapshotlegacy.d.ts.map +1 -1
- package/lib/snapshotlegacy.js +18 -10
- package/lib/snapshotlegacy.js.map +1 -1
- package/lib/sortedSet.js +1 -3
- package/lib/sortedSet.js.map +1 -1
- package/lib/test/attributionCollection.spec.js +1 -1
- package/lib/test/attributionCollection.spec.js.map +1 -1
- package/lib/test/beastTest.spec.js +7 -3
- package/lib/test/beastTest.spec.js.map +1 -1
- package/lib/test/clientTestHelper.js +7 -4
- package/lib/test/clientTestHelper.js.map +1 -1
- package/lib/test/obliterateOperations.d.ts.map +1 -1
- package/lib/test/snapshot.utils.d.ts.map +1 -1
- package/lib/test/snapshot.utils.js +5 -3
- package/lib/test/snapshot.utils.js.map +1 -1
- package/lib/test/testClient.d.ts.map +1 -1
- package/lib/test/testClient.js +16 -14
- package/lib/test/testClient.js.map +1 -1
- package/lib/test/testClientLogger.d.ts.map +1 -1
- package/lib/test/testClientLogger.js +10 -6
- package/lib/test/testClientLogger.js.map +1 -1
- package/lib/test/testServer.js +5 -5
- package/lib/test/testServer.js.map +1 -1
- package/lib/test/testUtils.d.ts +0 -1
- package/lib/test/testUtils.d.ts.map +1 -1
- package/lib/textSegment.js +3 -2
- package/lib/textSegment.js.map +1 -1
- package/package.json +39 -58
- package/tsconfig.json +1 -1
- package/internal.d.ts +0 -11
- package/legacy.d.ts +0 -11
- /package/api-extractor/{api-extractor.current.json → api-extractor-report.current.json} +0 -0
- /package/api-extractor/{api-extractor.legacy.json → api-extractor-report.legacy.json} +0 -0
package/dist/mergeTree.d.ts.map
CHANGED
|
@@ -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,15 +19,29 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
19
19
|
}) : function(o, v) {
|
|
20
20
|
o["default"] = v;
|
|
21
21
|
});
|
|
22
|
-
var __importStar = (this && this.__importStar) || function (
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
};
|
|
22
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
+
var ownKeys = function(o) {
|
|
24
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
+
var ar = [];
|
|
26
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
return ownKeys(o);
|
|
30
|
+
};
|
|
31
|
+
return function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
29
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
exports.MergeTree =
|
|
40
|
+
exports.MergeTree = void 0;
|
|
41
|
+
exports.isRemovedAndAcked = isRemovedAndAcked;
|
|
42
|
+
exports.errorIfOptionNotTrue = errorIfOptionNotTrue;
|
|
43
|
+
exports.findRootMergeBlock = findRootMergeBlock;
|
|
44
|
+
exports.getSlideToSegoff = getSlideToSegoff;
|
|
31
45
|
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
32
46
|
/* eslint-disable no-bitwise */
|
|
33
47
|
const internal_1 = require("@fluidframework/core-utils/internal");
|
|
@@ -56,7 +70,6 @@ function isRemovedAndAcked(segment) {
|
|
|
56
70
|
const removalInfo = (0, segmentInfos_js_1.toRemovalInfo)(segment);
|
|
57
71
|
return removalInfo !== undefined && opstampUtils.isAcked(removalInfo.removes[0]);
|
|
58
72
|
}
|
|
59
|
-
exports.isRemovedAndAcked = isRemovedAndAcked;
|
|
60
73
|
function nodeTotalLength(mergeTree, node) {
|
|
61
74
|
if (!node.isLeaf()) {
|
|
62
75
|
return node.cachedLength;
|
|
@@ -114,7 +127,6 @@ function errorIfOptionNotTrue(options, option) {
|
|
|
114
127
|
throw new Error(`${option} is not enabled.`);
|
|
115
128
|
}
|
|
116
129
|
}
|
|
117
|
-
exports.errorIfOptionNotTrue = errorIfOptionNotTrue;
|
|
118
130
|
function findRootMergeBlock(segmentOrNode) {
|
|
119
131
|
if (segmentOrNode === undefined) {
|
|
120
132
|
return undefined;
|
|
@@ -127,7 +139,6 @@ function findRootMergeBlock(segmentOrNode) {
|
|
|
127
139
|
}
|
|
128
140
|
return maybeRoot?.mergeTree === undefined ? undefined : maybeRoot;
|
|
129
141
|
}
|
|
130
|
-
exports.findRootMergeBlock = findRootMergeBlock;
|
|
131
142
|
/**
|
|
132
143
|
* Find the segment to which a reference will slide if it needs to slide, or undefined if there
|
|
133
144
|
* is no valid segment (i.e. the tree is empty).
|
|
@@ -220,28 +231,28 @@ function getSlideToSegoff(segoff, slidingPreference = localReference_js_1.Slidin
|
|
|
220
231
|
offset,
|
|
221
232
|
};
|
|
222
233
|
}
|
|
223
|
-
exports.getSlideToSegoff = getSlideToSegoff;
|
|
224
234
|
const forwardPred = (ref) => ref.slidingPreference !== localReference_js_1.SlidingPreference.BACKWARD;
|
|
225
235
|
const backwardPred = (ref) => ref.slidingPreference === localReference_js_1.SlidingPreference.BACKWARD;
|
|
226
236
|
class Obliterates {
|
|
237
|
+
mergeTree;
|
|
238
|
+
/**
|
|
239
|
+
* Array containing the all obliterate operations within the
|
|
240
|
+
* collab window.
|
|
241
|
+
*
|
|
242
|
+
* The obliterates are stored in sequence order which accelerates clean up in setMinSeq
|
|
243
|
+
*
|
|
244
|
+
* See https://github.com/microsoft/FluidFramework/blob/main/packages/dds/merge-tree/docs/Obliterate.md#remote-perspective
|
|
245
|
+
* for additional context
|
|
246
|
+
*/
|
|
247
|
+
seqOrdered = new internal_1.DoublyLinkedList();
|
|
248
|
+
/**
|
|
249
|
+
* This contains a sorted lists of all obliterate starts
|
|
250
|
+
* and is used to accelerate finding overlapping obliterates
|
|
251
|
+
* as well as determining if there are any obliterates at all.
|
|
252
|
+
*/
|
|
253
|
+
startOrdered = new sortedSegmentSet_js_1.SortedSegmentSet();
|
|
227
254
|
constructor(mergeTree) {
|
|
228
255
|
this.mergeTree = mergeTree;
|
|
229
|
-
/**
|
|
230
|
-
* Array containing the all obliterate operations within the
|
|
231
|
-
* collab window.
|
|
232
|
-
*
|
|
233
|
-
* The obliterates are stored in sequence order which accelerates clean up in setMinSeq
|
|
234
|
-
*
|
|
235
|
-
* See https://github.com/microsoft/FluidFramework/blob/main/packages/dds/merge-tree/docs/Obliterate.md#remote-perspective
|
|
236
|
-
* for additional context
|
|
237
|
-
*/
|
|
238
|
-
this.seqOrdered = new internal_1.DoublyLinkedList();
|
|
239
|
-
/**
|
|
240
|
-
* This contains a sorted lists of all obliterate starts
|
|
241
|
-
* and is used to accelerate finding overlapping obliterates
|
|
242
|
-
* as well as determining if there are any obliterates at all.
|
|
243
|
-
*/
|
|
244
|
-
this.startOrdered = new sortedSegmentSet_js_1.SortedSegmentSet();
|
|
245
256
|
}
|
|
246
257
|
setMinSeq(minSeq) {
|
|
247
258
|
// eslint-disable-next-line @typescript-eslint/no-non-null-asserted-optional-chain
|
|
@@ -321,46 +332,41 @@ class Obliterates {
|
|
|
321
332
|
* @internal
|
|
322
333
|
*/
|
|
323
334
|
class MergeTree {
|
|
335
|
+
options;
|
|
336
|
+
static options = {
|
|
337
|
+
incrementalUpdate: true,
|
|
338
|
+
insertAfterRemovedSegs: true,
|
|
339
|
+
zamboniSegments: true,
|
|
340
|
+
};
|
|
341
|
+
/**
|
|
342
|
+
* A sentinel value that indicates an inserting walk should continue to the next block sibling.
|
|
343
|
+
* This can occur for example when tie-break forces insertion of a segment past an entire block (and
|
|
344
|
+
* the inserting walk first recurses into the block before realizing that).
|
|
345
|
+
*/
|
|
346
|
+
static theUnfinishedNode = { childCount: -1 };
|
|
347
|
+
collabWindow = new mergeTreeNodes_js_1.CollaborationWindow();
|
|
348
|
+
pendingSegments = new internal_1.DoublyLinkedList();
|
|
349
|
+
segmentsToScour = new internal_1.Heap(LRUSegmentComparer);
|
|
350
|
+
attributionPolicy;
|
|
324
351
|
get localPerspective() {
|
|
325
352
|
return this.collabWindow.localPerspective;
|
|
326
353
|
}
|
|
354
|
+
/**
|
|
355
|
+
* Whether or not all blocks in the mergeTree currently have information about local partial lengths computed.
|
|
356
|
+
* This information is only necessary on reconnect, and otherwise costly to bookkeep.
|
|
357
|
+
* This field enables tracking whether partials need to be recomputed using localSeq information.
|
|
358
|
+
*/
|
|
359
|
+
localPartialsComputed = false;
|
|
360
|
+
// for now assume only markers have ids and so point directly at the Segment
|
|
361
|
+
// if we need to have pointers to non-markers, we can change to point at local refs
|
|
362
|
+
idToMarker = new Map();
|
|
363
|
+
mergeTreeDeltaCallback;
|
|
364
|
+
mergeTreeMaintenanceCallback;
|
|
365
|
+
// TODO:AB#29553: This property doesn't seem to be adequately round-tripped through summarization.
|
|
366
|
+
// Specifically, it seems like we drop information about obliterates within the collab window for at least V1 summaries.
|
|
367
|
+
obliterates = new Obliterates(this);
|
|
327
368
|
constructor(options) {
|
|
328
369
|
this.options = options;
|
|
329
|
-
this.collabWindow = new mergeTreeNodes_js_1.CollaborationWindow();
|
|
330
|
-
this.pendingSegments = new internal_1.DoublyLinkedList();
|
|
331
|
-
this.segmentsToScour = new internal_1.Heap(LRUSegmentComparer);
|
|
332
|
-
/**
|
|
333
|
-
* Whether or not all blocks in the mergeTree currently have information about local partial lengths computed.
|
|
334
|
-
* This information is only necessary on reconnect, and otherwise costly to bookkeep.
|
|
335
|
-
* This field enables tracking whether partials need to be recomputed using localSeq information.
|
|
336
|
-
*/
|
|
337
|
-
this.localPartialsComputed = false;
|
|
338
|
-
// for now assume only markers have ids and so point directly at the Segment
|
|
339
|
-
// if we need to have pointers to non-markers, we can change to point at local refs
|
|
340
|
-
this.idToMarker = new Map();
|
|
341
|
-
// TODO:AB#29553: This property doesn't seem to be adequately round-tripped through summarization.
|
|
342
|
-
// Specifically, it seems like we drop information about obliterates within the collab window for at least V1 summaries.
|
|
343
|
-
this.obliterates = new Obliterates(this);
|
|
344
|
-
this.splitLeafSegment = (segment, pos) => {
|
|
345
|
-
if (!(pos > 0 && segment)) {
|
|
346
|
-
return {};
|
|
347
|
-
}
|
|
348
|
-
const next = segment.splitAt(pos);
|
|
349
|
-
(0, mergeTreeNodes_js_1.assertSegmentLeaf)(next);
|
|
350
|
-
if (segment?.segmentGroups) {
|
|
351
|
-
next.segmentGroups ??= new segmentGroupCollection_js_1.SegmentGroupCollection(next);
|
|
352
|
-
segment.segmentGroups.copyTo(next.segmentGroups);
|
|
353
|
-
}
|
|
354
|
-
(0, segmentPropertiesManager_js_1.copyPropertiesAndManager)(segment, next);
|
|
355
|
-
segment.localRefs?.split(pos, next);
|
|
356
|
-
this.mergeTreeMaintenanceCallback?.({
|
|
357
|
-
operation: mergeTreeDeltaCallback_js_1.MergeTreeMaintenanceType.SPLIT,
|
|
358
|
-
deltaSegments: [{ segment }, { segment: next }],
|
|
359
|
-
}, undefined);
|
|
360
|
-
return { next };
|
|
361
|
-
};
|
|
362
|
-
this.startOfTree = new endOfTreeSegment_js_1.StartOfTreeSegment(this);
|
|
363
|
-
this.endOfTree = new endOfTreeSegment_js_1.EndOfTreeSegment(this);
|
|
364
370
|
this._root = this.makeBlock(0);
|
|
365
371
|
this._root.mergeTree = this;
|
|
366
372
|
this.attributionPolicy = options?.attribution?.policyFactory?.();
|
|
@@ -371,6 +377,7 @@ class MergeTree {
|
|
|
371
377
|
this.obliterates.addOrUpdate(newObliterate);
|
|
372
378
|
}
|
|
373
379
|
}
|
|
380
|
+
_root;
|
|
374
381
|
get root() {
|
|
375
382
|
return this._root;
|
|
376
383
|
}
|
|
@@ -1124,6 +1131,24 @@ class MergeTree {
|
|
|
1124
1131
|
}
|
|
1125
1132
|
return newest;
|
|
1126
1133
|
}
|
|
1134
|
+
splitLeafSegment = (segment, pos) => {
|
|
1135
|
+
if (!(pos > 0 && segment)) {
|
|
1136
|
+
return {};
|
|
1137
|
+
}
|
|
1138
|
+
const next = segment.splitAt(pos);
|
|
1139
|
+
(0, mergeTreeNodes_js_1.assertSegmentLeaf)(next);
|
|
1140
|
+
if (segment?.segmentGroups) {
|
|
1141
|
+
next.segmentGroups ??= new segmentGroupCollection_js_1.SegmentGroupCollection(next);
|
|
1142
|
+
segment.segmentGroups.copyTo(next.segmentGroups);
|
|
1143
|
+
}
|
|
1144
|
+
(0, segmentPropertiesManager_js_1.copyPropertiesAndManager)(segment, next);
|
|
1145
|
+
segment.localRefs?.split(pos, next);
|
|
1146
|
+
this.mergeTreeMaintenanceCallback?.({
|
|
1147
|
+
operation: mergeTreeDeltaCallback_js_1.MergeTreeMaintenanceType.SPLIT,
|
|
1148
|
+
deltaSegments: [{ segment }, { segment: next }],
|
|
1149
|
+
}, undefined);
|
|
1150
|
+
return { next };
|
|
1151
|
+
};
|
|
1127
1152
|
ensureIntervalBoundary(pos, perspective) {
|
|
1128
1153
|
this.insertingWalk(pos, perspective, {
|
|
1129
1154
|
seq: constants_js_1.TreeMaintenanceSequenceNumber,
|
|
@@ -1670,6 +1695,8 @@ class MergeTree {
|
|
|
1670
1695
|
const segment = lref.getSegment();
|
|
1671
1696
|
return segment?.localRefs?.removeLocalRef(lref);
|
|
1672
1697
|
}
|
|
1698
|
+
startOfTree = new endOfTreeSegment_js_1.StartOfTreeSegment(this);
|
|
1699
|
+
endOfTree = new endOfTreeSegment_js_1.EndOfTreeSegment(this);
|
|
1673
1700
|
createLocalReferencePosition(_segment, offset, refType, properties, slidingPreference, canSlideToEndpoint) {
|
|
1674
1701
|
if (_segment !== "start" &&
|
|
1675
1702
|
_segment !== "end" &&
|
|
@@ -2030,15 +2057,4 @@ class MergeTree {
|
|
|
2030
2057
|
}
|
|
2031
2058
|
}
|
|
2032
2059
|
exports.MergeTree = MergeTree;
|
|
2033
|
-
MergeTree.options = {
|
|
2034
|
-
incrementalUpdate: true,
|
|
2035
|
-
insertAfterRemovedSegs: true,
|
|
2036
|
-
zamboniSegments: true,
|
|
2037
|
-
};
|
|
2038
|
-
/**
|
|
2039
|
-
* A sentinel value that indicates an inserting walk should continue to the next block sibling.
|
|
2040
|
-
* This can occur for example when tie-break forces insertion of a segment past an entire block (and
|
|
2041
|
-
* the inserting walk first recurses into the block before realizing that).
|
|
2042
|
-
*/
|
|
2043
|
-
MergeTree.theUnfinishedNode = { childCount: -1 };
|
|
2044
2060
|
//# sourceMappingURL=mergeTree.js.map
|