@fluidframework/merge-tree 0.52.1 → 0.54.0

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/dist/client.d.ts CHANGED
@@ -109,7 +109,7 @@ export declare class Client {
109
109
  * @param relativePos - Id of marker (may be indirect) and whether position is before or after marker.
110
110
  */
111
111
  posFromRelativePos(relativePos: IRelativePosition): number;
112
- getMarkerFromId(id: string): ISegment;
112
+ getMarkerFromId(id: string): ISegment | undefined;
113
113
  /**
114
114
  * Performs the remove based on the provided op
115
115
  * @param opArgs - The ops args for the op
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { Trace } from "@fluidframework/common-utils";
6
6
  import { IIntegerRange } from "./base";
7
- import { Comparer, Heap, List, Stack } from "./collections";
7
+ import { Comparer, List, Stack } from "./collections";
8
8
  import { LocalReference, LocalReferenceCollection } from "./localReference";
9
9
  import { IMergeTreeDeltaOpArgs, MergeTreeDeltaCallback, MergeTreeMaintenanceCallback } from "./mergeTreeDeltaCallback";
10
10
  import { TrackingGroupCollection } from "./mergeTreeTracking";
@@ -168,7 +168,6 @@ export declare function ordinalToArray(ord: string): number[];
168
168
  export declare const MaxNodesInBlock = 8;
169
169
  export declare class MergeBlock extends MergeNode implements IMergeBlock {
170
170
  childCount: number;
171
- static traceOrdinals: boolean;
172
171
  children: IMergeNode[];
173
172
  constructor(childCount: number);
174
173
  hierBlock(): HierMergeBlock | undefined;
@@ -185,7 +184,6 @@ declare class HierMergeBlock extends MergeBlock implements IMergeBlock {
185
184
  hierToString(indentCount: number): string;
186
185
  }
187
186
  export declare abstract class BaseSegment extends MergeNode implements ISegment {
188
- constructor();
189
187
  clientId: number;
190
188
  seq: number;
191
189
  removedSeq?: number;
@@ -202,9 +200,9 @@ export declare abstract class BaseSegment extends MergeNode implements ISegment
202
200
  addProperties(newProps: PropertySet, op?: ICombiningOp, seq?: number, collabWindow?: CollaborationWindow): PropertySet | undefined;
203
201
  hasProperty(key: string): boolean;
204
202
  isLeaf(): boolean;
205
- cloneInto(b: ISegment): void;
203
+ protected cloneInto(b: ISegment): void;
206
204
  canAppend(segment: ISegment): boolean;
207
- addSerializedProps(jseg: IJSONSegment): void;
205
+ protected addSerializedProps(jseg: IJSONSegment): void;
208
206
  abstract toJSONObject(): any;
209
207
  ack(segmentGroup: SegmentGroup, opArgs: IMergeTreeDeltaOpArgs, mergeTree: MergeTree): boolean;
210
208
  splitAt(pos: number): ISegment | undefined;
@@ -305,38 +303,36 @@ export interface MinListener {
305
303
  export declare type LocalReferenceMapper = (id: string) => LocalReference;
306
304
  export declare class MergeTree {
307
305
  options?: PropertySet | undefined;
308
- static TextSegmentGranularity: number;
309
- static zamboniSegmentsMaxCount: number;
310
- static options: {
306
+ private static readonly zamboniSegmentsMaxCount;
307
+ static readonly options: {
311
308
  incrementalUpdate: boolean;
312
309
  insertAfterRemovedSegs: boolean;
313
310
  measureOrdinalTime: boolean;
314
311
  measureWindowTime: boolean;
315
312
  zamboniSegments: boolean;
316
313
  };
317
- static traceAppend: boolean;
318
- static traceZRemove: boolean;
319
- static traceOrdinals: boolean;
320
- static traceGatherText: boolean;
321
- static diagInsertTie: boolean;
322
- static skipLeftShift: boolean;
323
- static diagOverlappingRemove: boolean;
324
- static traceTraversal: boolean;
325
- static traceIncrTraversal: boolean;
326
- static initBlockUpdateActions: BlockUpdateActions;
327
- static theUnfinishedNode: IMergeBlock;
328
- static readonly blockUpdateMarkers = true;
329
- windowTime: number;
330
- packTime: number;
331
- ordTime: number;
332
- maxOrdTime: number;
314
+ private static readonly traceAppend;
315
+ private static readonly traceZRemove;
316
+ private static readonly traceOrdinals;
317
+ static readonly traceGatherText = false;
318
+ private static readonly diagInsertTie;
319
+ static readonly diagOverlappingRemove = false;
320
+ private static readonly traceTraversal;
321
+ private static readonly traceIncrTraversal;
322
+ private static readonly initBlockUpdateActions;
323
+ private static readonly theUnfinishedNode;
324
+ private static readonly blockUpdateMarkers;
325
+ private windowTime;
326
+ private packTime;
327
+ private ordTime;
328
+ private maxOrdTime;
333
329
  root: IMergeBlock;
334
- blockUpdateActions: BlockUpdateActions;
335
- collabWindow: CollaborationWindow;
330
+ private readonly blockUpdateActions;
331
+ readonly collabWindow: CollaborationWindow;
336
332
  pendingSegments: List<SegmentGroup> | undefined;
337
- segmentsToScour: Heap<LRUSegment> | undefined;
338
- idToSegment: MapLike<ISegment>;
339
- minSeqListeners: Heap<MinListener> | undefined;
333
+ private segmentsToScour;
334
+ private readonly idToSegment;
335
+ private minSeqListeners;
340
336
  getLongClientId?: (id: number) => string;
341
337
  mergeTreeDeltaCallback?: MergeTreeDeltaCallback;
342
338
  mergeTreeMaintenanceCallback?: MergeTreeMaintenanceCallback;
@@ -358,7 +354,7 @@ export declare class MergeTree {
358
354
  getCollabWindow(): CollaborationWindow;
359
355
  getStats(): MergeTreeStats;
360
356
  findHistorialPosition(pos: number, fromSeq: number, toSeq: number, clientId: number): number;
361
- findHistorialPositionFromClient(pos: number, fromSeq: number, toSeq: number, clientId: number): number;
357
+ private findHistorialPositionFromClient;
362
358
  findHistorialRangeFromClient(rangeStart: number, rangeEnd: number, fromSeq: number, toSeq: number, clientId: number): IIntegerRange[];
363
359
  findHistorialRange(rangeStart: number, rangeEnd: number, fromSeq: number, toSeq: number, clientId: number): IIntegerRange[];
364
360
  getLength(refSeq: number, clientId: number): number;
@@ -367,13 +363,11 @@ export declare class MergeTree {
367
363
  */
368
364
  get length(): number;
369
365
  getPosition(node: MergeNode, refSeq: number, clientId: number): number;
370
- cloneSegments(refSeq: number, clientId: number, start?: number, end?: number): ISegment[];
371
366
  getContainingSegment<T extends ISegment>(pos: number, refSeq: number, clientId: number): {
372
367
  segment: T | undefined;
373
368
  offset: number | undefined;
374
369
  };
375
370
  private blockLength;
376
- getRemovalInfo(segment: ISegment): IRemovalInfo;
377
371
  private nodeLength;
378
372
  addMinSeqListener(minRequired: number, onMinGE: (minSeq: number) => void): void;
379
373
  private notifyMinSeqListeners;
@@ -395,7 +389,7 @@ export declare class MergeTree {
395
389
  */
396
390
  ackPendingSegment(opArgs: IMergeTreeDeltaOpArgs, verboseOps?: boolean): void;
397
391
  private addToPendingList;
398
- getMarkerFromId(id: string): ISegment;
392
+ getMarkerFromId(id: string): ISegment | undefined;
399
393
  /**
400
394
  * Given a position specified relative to a marker id, lookup the marker
401
395
  * and convert the position to a character position.
@@ -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
@@ -6,7 +6,9 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.MergeTree = exports.glc = exports.clientSeqComparer = exports.internedSpaces = exports.elapsedMicroseconds = exports.clock = exports.compareStrings = exports.compareNumbers = exports.CollaborationWindow = exports.IncrementalMapState = exports.IncrementalExecOp = exports.Marker = exports.refHasRangeLabel = exports.refHasTileLabel = exports.refGetRangeLabels = exports.refGetTileLabels = exports.reservedMarkerSimpleTypeKey = exports.reservedMarkerIdKey = exports.reservedRangeLabelsKey = exports.reservedTileLabelsKey = exports.BaseSegment = exports.MergeBlock = exports.MaxNodesInBlock = exports.ordinalToArray = exports.MergeNode = void 0;
8
8
  /* eslint-disable @typescript-eslint/no-non-null-assertion */
9
- /* eslint-disable @typescript-eslint/consistent-type-assertions, @typescript-eslint/no-shadow, max-len, no-bitwise */
9
+ /* eslint-disable @typescript-eslint/consistent-type-assertions */
10
+ /* eslint-disable @typescript-eslint/no-shadow */
11
+ /* eslint-disable no-bitwise */
10
12
  const common_utils_1 = require("@fluidframework/common-utils");
11
13
  const collections_1 = require("./collections");
12
14
  const constants_1 = require("./constants");
@@ -156,6 +158,7 @@ exports.ordinalToArray = ordinalToArray;
156
158
  // `MaxNodesInBlock`. (i.e., `MaxNodesInBlock` contains 1 extra slot for temporary storage to
157
159
  // facilitate splits.)
158
160
  exports.MaxNodesInBlock = 8;
161
+ const traceOrdinals = false;
159
162
  class MergeBlock extends MergeNode {
160
163
  constructor(childCount) {
161
164
  super();
@@ -182,12 +185,14 @@ class MergeBlock extends MergeNode {
182
185
  localOrdinal = prevOrdCode + ordinalWidth;
183
186
  }
184
187
  child.ordinal = this.ordinal + String.fromCharCode(localOrdinal);
185
- if (MergeBlock.traceOrdinals) {
188
+ if (traceOrdinals) {
189
+ // eslint-disable-next-line max-len
186
190
  console.log(`so: prnt chld prev ${ordinalToArray(this.ordinal)} ${ordinalToArray(child.ordinal)} ${(index > 0) ? ordinalToArray(this.children[index - 1].ordinal) : "NA"}`);
187
191
  }
188
192
  common_utils_1.assert(child.ordinal.length === (this.ordinal.length + 1), 0x041 /* "Unexpected child ordinal length!" */);
189
193
  if (index > 0) {
190
- common_utils_1.assert(child.ordinal > this.children[index - 1].ordinal, 0x042 /* "Child ordinal <= previous sibling ordinal!" */);
194
+ common_utils_1.assert(child.ordinal > this.children[index - 1].ordinal, 0x042);
195
+ // eslint-disable-next-line max-len
191
196
  // console.log(`${ordinalToArray(this.ordinal)} ${ordinalToArray(child.ordinal)} ${ordinalToArray(this.children[index - 1].ordinal)}`);
192
197
  // console.log(`ord width ${ordinalWidth}`);
193
198
  }
@@ -202,7 +207,6 @@ class MergeBlock extends MergeNode {
202
207
  }
203
208
  }
204
209
  exports.MergeBlock = MergeBlock;
205
- MergeBlock.traceOrdinals = false;
206
210
  class HierMergeBlock extends MergeBlock {
207
211
  constructor(childCount) {
208
212
  super(childCount);
@@ -239,7 +243,7 @@ function nodeTotalLength(mergeTree, node) {
239
243
  }
240
244
  class BaseSegment extends MergeNode {
241
245
  constructor() {
242
- super();
246
+ super(...arguments);
243
247
  this.clientId = constants_1.LocalClientId;
244
248
  this.seq = constants_1.UniversalSequenceNumber;
245
249
  this.segmentGroups = new segmentGroupCollection_1.SegmentGroupCollection(this);
@@ -291,7 +295,8 @@ class BaseSegment extends MergeNode {
291
295
  this.localSeq = undefined;
292
296
  return true;
293
297
  case 1 /* REMOVE */:
294
- const removalInfo = mergeTree.getRemovalInfo(this);
298
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
299
+ const removalInfo = this;
295
300
  common_utils_1.assert(!!removalInfo, 0x046 /* "On remove ack, missing removal info!" */);
296
301
  common_utils_1.assert(!!removalInfo.removedSeq, 0x047 /* "On remove ack, missing removed sequence number!" */);
297
302
  this.localRemovedSeq = undefined;
@@ -351,11 +356,11 @@ exports.reservedTileLabelsKey = "referenceTileLabels";
351
356
  exports.reservedRangeLabelsKey = "referenceRangeLabels";
352
357
  exports.reservedMarkerIdKey = "markerId";
353
358
  exports.reservedMarkerSimpleTypeKey = "markerSimpleType";
354
- const refGetTileLabels = (refPos) => (refPos.refType & ops_1.ReferenceType.Tile) &&
355
- refPos.properties ? refPos.properties[exports.reservedTileLabelsKey] : undefined;
359
+ const refGetTileLabels = (refPos) => (refPos.refType & ops_1.ReferenceType.Tile)
360
+ && refPos.properties ? refPos.properties[exports.reservedTileLabelsKey] : undefined;
356
361
  exports.refGetTileLabels = refGetTileLabels;
357
- const refGetRangeLabels = (refPos) => (refPos.refType & (ops_1.ReferenceType.NestBegin | ops_1.ReferenceType.NestEnd)) &&
358
- refPos.properties ? refPos.properties[exports.reservedRangeLabelsKey] : undefined;
362
+ const refGetRangeLabels = (refPos) => (refPos.refType & (ops_1.ReferenceType.NestBegin | ops_1.ReferenceType.NestEnd))
363
+ && refPos.properties ? refPos.properties[exports.reservedRangeLabelsKey] : undefined;
359
364
  exports.refGetRangeLabels = refGetRangeLabels;
360
365
  function refHasTileLabel(refPos, label) {
361
366
  const tileLabels = refPos.getTileLabels();
@@ -689,11 +694,12 @@ class MergeTree {
689
694
  this.packTime = 0;
690
695
  this.ordTime = 0;
691
696
  this.maxOrdTime = 0;
697
+ this.blockUpdateActions = MergeTree.initBlockUpdateActions;
692
698
  this.collabWindow = new CollaborationWindow();
693
- // TODO: change this to ES6 map; add remove on segment remove
699
+ // TODO: add remove on segment remove
694
700
  // for now assume only markers have ids and so point directly at the Segment
695
701
  // if we need to have pointers to non-markers, we can change to point at local refs
696
- this.idToSegment = properties_1.createMap();
702
+ this.idToSegment = new Map();
697
703
  this.splitLeafSegment = (segment, pos) => {
698
704
  if (!(pos > 0 && segment)) {
699
705
  return {};
@@ -707,7 +713,6 @@ class MergeTree {
707
713
  }
708
714
  return { next };
709
715
  };
710
- this.blockUpdateActions = MergeTree.initBlockUpdateActions;
711
716
  this.root = this.makeBlock(0);
712
717
  }
713
718
  makeBlock(childCount) {
@@ -750,7 +755,7 @@ class MergeTree {
750
755
  return b;
751
756
  }
752
757
  localNetLength(segment) {
753
- const removalInfo = this.getRemovalInfo(segment);
758
+ const removalInfo = segment;
754
759
  if (removalInfo.removedSeq !== undefined) {
755
760
  return 0;
756
761
  }
@@ -760,13 +765,14 @@ class MergeTree {
760
765
  }
761
766
  // TODO: remove id when segment removed
762
767
  mapIdToSegment(id, segment) {
763
- this.idToSegment[id] = segment;
768
+ this.idToSegment.set(id, segment);
764
769
  }
765
770
  addNode(block, node) {
766
771
  const index = block.childCount++;
767
772
  block.assignChild(node, index, false);
768
773
  return index;
769
774
  }
775
+ /* eslint-disable max-len */
770
776
  reloadFromSegments(segments) {
771
777
  // This code assumes that a later call to `startCollaboration()` will initialize partial lengths.
772
778
  common_utils_1.assert(!this.collabWindow.collaborating, 0x049 /* "Trying to reload from segments while collaborating!" */);
@@ -815,6 +821,7 @@ class MergeTree {
815
821
  console.log(`reload time ${elapsedMicroseconds(clockStart)}`);
816
822
  }
817
823
  }
824
+ /* eslint-enable max-len */
818
825
  // For now assume min starts at zero
819
826
  startCollaboration(localClientId, minSeq, currentSeq) {
820
827
  this.collabWindow.clientId = localClientId;
@@ -862,10 +869,10 @@ class MergeTree {
862
869
  }
863
870
  else {
864
871
  if (MergeTree.traceZRemove) {
865
- // eslint-disable-next-line @typescript-eslint/dot-notation
872
+ // eslint-disable-next-line @typescript-eslint/dot-notation, max-len
866
873
  console.log(`${this.getLongClientId(this.collabWindow.clientId)}: Zremove ${segment["text"]}; cli ${this.getLongClientId(segment.clientId)}`);
867
874
  }
868
- // Notify maintenance event observers that the segment is being unlinked from the MergeTree.
875
+ // Notify maintenance event observers that the segment is being unlinked from the MergeTree
869
876
  if (this.mergeTreeMaintenanceCallback) {
870
877
  this.mergeTreeMaintenanceCallback({
871
878
  operation: -3 /* UNLINK */,
@@ -885,7 +892,7 @@ class MergeTree {
885
892
  && this.localNetLength(segment) > 0;
886
893
  if (canAppend) {
887
894
  if (MergeTree.traceAppend) {
888
- // eslint-disable-next-line @typescript-eslint/dot-notation
895
+ // eslint-disable-next-line @typescript-eslint/dot-notation, max-len
889
896
  console.log(`${this.getLongClientId(this.collabWindow.clientId)}: append ${prevSegment["text"]} + ${segment["text"]}; cli ${this.getLongClientId(prevSegment.clientId)} + cli ${this.getLongClientId(segment.clientId)}`);
890
897
  }
891
898
  prevSegment.append(segment);
@@ -1036,7 +1043,14 @@ class MergeTree {
1036
1043
  }
1037
1044
  getStats() {
1038
1045
  const nodeGetStats = (block) => {
1039
- const stats = { maxHeight: 0, nodeCount: 0, leafCount: 0, removedLeafCount: 0, liveCount: 0, histo: [] };
1046
+ const stats = {
1047
+ maxHeight: 0,
1048
+ nodeCount: 0,
1049
+ leafCount: 0,
1050
+ removedLeafCount: 0,
1051
+ liveCount: 0,
1052
+ histo: [],
1053
+ };
1040
1054
  for (let k = 0; k < exports.MaxNodesInBlock; k++) {
1041
1055
  stats.histo[k] = 0;
1042
1056
  }
@@ -1147,21 +1161,6 @@ class MergeTree {
1147
1161
  }
1148
1162
  return totalOffset;
1149
1163
  }
1150
- cloneSegments(refSeq, clientId, start = 0, end) {
1151
- let _end = end;
1152
- const gatherSegment = (segment, pos, refSeq, clientId, start, end, accumSegments) => {
1153
- accumSegments.segments.push(segment.clone());
1154
- return true;
1155
- };
1156
- if (_end === undefined) {
1157
- _end = this.blockLength(this.root, refSeq, clientId);
1158
- }
1159
- const accum = {
1160
- segments: [],
1161
- };
1162
- this.mapRange({ leaf: gatherSegment }, refSeq, clientId, accum, start, _end);
1163
- return accum.segments;
1164
- }
1165
1164
  getContainingSegment(pos, refSeq, clientId) {
1166
1165
  let segment;
1167
1166
  let offset;
@@ -1181,9 +1180,6 @@ class MergeTree {
1181
1180
  return node.cachedLength;
1182
1181
  }
1183
1182
  }
1184
- getRemovalInfo(segment) {
1185
- return segment;
1186
- }
1187
1183
  nodeLength(node, refSeq, clientId) {
1188
1184
  if ((!this.collabWindow.collaborating) || (this.collabWindow.clientId === clientId)) {
1189
1185
  // Local client sees all segments, even when collaborating
@@ -1201,7 +1197,7 @@ class MergeTree {
1201
1197
  }
1202
1198
  else {
1203
1199
  const segment = node;
1204
- const removalInfo = this.getRemovalInfo(segment);
1200
+ const removalInfo = segment;
1205
1201
  if (removalInfo.removedSeq !== undefined
1206
1202
  && removalInfo.removedSeq !== constants_1.UnassignedSequenceNumber
1207
1203
  && removalInfo.removedSeq <= refSeq) {
@@ -1214,8 +1210,9 @@ class MergeTree {
1214
1210
  ((segment.seq !== constants_1.UnassignedSequenceNumber) && (segment.seq <= refSeq)))) {
1215
1211
  // Segment happened by reference sequence number or segment from requesting client
1216
1212
  if (removalInfo.removedSeq !== undefined) {
1217
- if ((removalInfo.removedClientId === clientId) ||
1218
- (removalInfo.removedClientOverlap && (removalInfo.removedClientOverlap.includes(clientId)))) {
1213
+ if (removalInfo.removedClientId === clientId
1214
+ || (removalInfo.removedClientOverlap
1215
+ && removalInfo.removedClientOverlap.includes(clientId))) {
1219
1216
  return 0;
1220
1217
  }
1221
1218
  else {
@@ -1256,7 +1253,7 @@ class MergeTree {
1256
1253
  }
1257
1254
  }
1258
1255
  setMinSeq(minSeq) {
1259
- common_utils_1.assert(minSeq <= this.collabWindow.currentSeq, 0x04e /* "Trying to set minSeq above currentSeq of collab window!" */);
1256
+ common_utils_1.assert(minSeq <= this.collabWindow.currentSeq, 0x04e);
1260
1257
  // Only move forward
1261
1258
  common_utils_1.assert(this.collabWindow.minSeq <= minSeq, 0x04f /* "minSeq of collab window > target minSeq!" */);
1262
1259
  if (minSeq > this.collabWindow.minSeq) {
@@ -1325,7 +1322,8 @@ class MergeTree {
1325
1322
  for (let childIndex = 0; childIndex < block.childCount; childIndex++) {
1326
1323
  const child = children[childIndex];
1327
1324
  const len = (_a = this.nodeLength(child, refSeq, clientId)) !== null && _a !== void 0 ? _a : 0;
1328
- if (((!contains) && (_pos < len)) || (contains && contains(child, _pos, refSeq, clientId, undefined, undefined, clientData))) {
1325
+ if ((!contains && _pos < len)
1326
+ || (contains && contains(child, _pos, refSeq, clientId, undefined, undefined, clientData))) {
1329
1327
  // Found entry containing pos
1330
1328
  if (!child.isLeaf()) {
1331
1329
  return this.searchBlock(child, _pos, _segpos, refSeq, clientId, actions, clientData);
@@ -1456,7 +1454,7 @@ class MergeTree {
1456
1454
  }
1457
1455
  // TODO: error checking
1458
1456
  getMarkerFromId(id) {
1459
- return this.idToSegment[id];
1457
+ return this.idToSegment.get(id);
1460
1458
  }
1461
1459
  /**
1462
1460
  * Given a position specified relative to a marker id, lookup the marker
@@ -1648,6 +1646,7 @@ class MergeTree {
1648
1646
  const checkSegmentIsLocal = (segment, pos, refSeq, clientId) => {
1649
1647
  if (segment.seq === constants_1.UnassignedSequenceNumber) {
1650
1648
  if (MergeTree.diagInsertTie) {
1649
+ // eslint-disable-next-line max-len
1651
1650
  console.log(`@cli ${glc(this, this.collabWindow.clientId)}: promoting continue due to seq ${segment.seq} text ${segment.toString()} ref ${refSeq}`);
1652
1651
  }
1653
1652
  segIsLocal = true;
@@ -1659,6 +1658,7 @@ class MergeTree {
1659
1658
  segIsLocal = false;
1660
1659
  this.rightExcursion(node, checkSegmentIsLocal);
1661
1660
  if (MergeTree.diagInsertTie && segIsLocal) {
1661
+ // eslint-disable-next-line max-len
1662
1662
  console.log(`@cli ${glc(this, this.collabWindow.clientId)}: attempting continue with seq ${seq} ref ${refSeq} `);
1663
1663
  }
1664
1664
  return segIsLocal;
@@ -1857,6 +1857,7 @@ class MergeTree {
1857
1857
  }
1858
1858
  else if (splitNode === MergeTree.theUnfinishedNode) {
1859
1859
  if (MergeTree.traceTraversal) {
1860
+ // eslint-disable-next-line max-len
1860
1861
  console.log(`@cli ${glc(this, this.collabWindow.clientId)} unfinished bus pos ${_pos} len ${len}`);
1861
1862
  }
1862
1863
  _pos -= len; // Act as if shifted segment
@@ -1901,6 +1902,7 @@ class MergeTree {
1901
1902
  }
1902
1903
  if (MergeTree.traceTraversal) {
1903
1904
  if ((!found) && (_pos > 0)) {
1905
+ // eslint-disable-next-line max-len
1904
1906
  console.log(`inserting walk fell through pos ${_pos} len: ${this.blockLength(this.root, refSeq, clientId)}`);
1905
1907
  }
1906
1908
  }
@@ -1981,6 +1983,7 @@ class MergeTree {
1981
1983
  if (i > 0) {
1982
1984
  if (child.ordinal <= block.children[i - 1].ordinal) {
1983
1985
  console.log("node sib integrity issue");
1986
+ // eslint-disable-next-line max-len
1984
1987
  console.log(`??: prnt chld prev ${ordinalToArray(block.ordinal)} ${ordinalToArray(child.ordinal)} ${(i > 0) ? ordinalToArray(block.children[i - 1].ordinal) : "NA"}`);
1985
1988
  }
1986
1989
  }
@@ -2081,9 +2084,10 @@ class MergeTree {
2081
2084
  const savedLocalRefs = [];
2082
2085
  const localSeq = seq === constants_1.UnassignedSequenceNumber ? ++this.collabWindow.localSeq : undefined;
2083
2086
  const markRemoved = (segment, pos, start, end) => {
2084
- const removalInfo = this.getRemovalInfo(segment);
2087
+ const removalInfo = segment;
2085
2088
  if (removalInfo.removedSeq !== undefined) {
2086
2089
  if (MergeTree.diagOverlappingRemove) {
2090
+ // eslint-disable-next-line max-len
2087
2091
  console.log(`yump @seq ${seq} cli ${glc(this, this.collabWindow.clientId)}: overlaps deleted segment ${removalInfo.removedSeq} text '${segment.toString()}'`);
2088
2092
  }
2089
2093
  _overwrite = true;
@@ -2111,8 +2115,8 @@ class MergeTree {
2111
2115
  // Save segment so can assign removed sequence number when acked by server
2112
2116
  if (this.collabWindow.collaborating) {
2113
2117
  // Use removal information
2114
- const removalInfo = this.getRemovalInfo(segment);
2115
- if ((removalInfo.removedSeq === constants_1.UnassignedSequenceNumber) && (clientId === this.collabWindow.clientId)) {
2118
+ const removalInfo = segment;
2119
+ if (removalInfo.removedSeq === constants_1.UnassignedSequenceNumber && clientId === this.collabWindow.clientId) {
2116
2120
  segmentGroup = this.addToPendingList(segment, segmentGroup, localSeq);
2117
2121
  }
2118
2122
  else {
@@ -2240,8 +2244,12 @@ class MergeTree {
2240
2244
  }
2241
2245
  blockUpdateLength(node, seq, clientId) {
2242
2246
  this.blockUpdate(node);
2243
- if (this.collabWindow.collaborating && (seq !== constants_1.UnassignedSequenceNumber) && (seq !== constants_1.TreeMaintenanceSequenceNumber)) {
2244
- if (node.partialLengths !== undefined && MergeTree.options.incrementalUpdate && clientId !== constants_1.NonCollabClient) {
2247
+ if (this.collabWindow.collaborating
2248
+ && seq !== constants_1.UnassignedSequenceNumber
2249
+ && seq !== constants_1.TreeMaintenanceSequenceNumber) {
2250
+ if (node.partialLengths !== undefined
2251
+ && MergeTree.options.incrementalUpdate
2252
+ && clientId !== constants_1.NonCollabClient) {
2245
2253
  node.partialLengths.update(this, node, seq, clientId, this.collabWindow);
2246
2254
  }
2247
2255
  else {
@@ -2267,6 +2275,7 @@ class MergeTree {
2267
2275
  nodeToString(block, strbuf, indentCount = 0) {
2268
2276
  let _strbuf = strbuf;
2269
2277
  _strbuf += internedSpaces(indentCount);
2278
+ // eslint-disable-next-line max-len
2270
2279
  _strbuf += `Node (len ${block.cachedLength}) p len (${block.parent ? block.parent.cachedLength : 0}) ord ${ordinalToArray(block.ordinal)} with ${block.childCount} segs:\n`;
2271
2280
  if (MergeTree.blockUpdateMarkers) {
2272
2281
  _strbuf += internedSpaces(indentCount);
@@ -2285,8 +2294,9 @@ class MergeTree {
2285
2294
  else {
2286
2295
  const segment = child;
2287
2296
  _strbuf += internedSpaces(indentCount + 4);
2297
+ // eslint-disable-next-line max-len
2288
2298
  _strbuf += `cli: ${glc(this, segment.clientId)} seq: ${segment.seq} ord: ${ordinalToArray(segment.ordinal)}`;
2289
- const removalInfo = this.getRemovalInfo(segment);
2299
+ const removalInfo = segment;
2290
2300
  if (removalInfo.removedSeq !== undefined) {
2291
2301
  _strbuf += ` rcli: ${glc(this, removalInfo.removedClientId)} rseq: ${removalInfo.removedSeq}`;
2292
2302
  }
@@ -2325,7 +2335,7 @@ class MergeTree {
2325
2335
  const len = (_a = this.nodeLength(child, state.refSeq, state.clientId)) !== null && _a !== void 0 ? _a : 0;
2326
2336
  if (MergeTree.traceIncrTraversal) {
2327
2337
  if (child.isLeaf()) {
2328
- // eslint-disable-next-line @typescript-eslint/dot-notation
2338
+ // eslint-disable-next-line @typescript-eslint/dot-notation, max-len
2329
2339
  console.log(`considering (r ${state.refSeq} c ${glc(this, state.clientId)}) seg with text ${child["text"]} len ${len} seq ${child.seq} rseq ${child.removedSeq} cli ${glc(this, child.clientId)}`);
2330
2340
  }
2331
2341
  }
@@ -2392,6 +2402,7 @@ class MergeTree {
2392
2402
  segInfo += ` rcli: ${glc(this, segment.removedClientId)} rseq: ${segment.removedSeq}`;
2393
2403
  }
2394
2404
  }
2405
+ // eslint-disable-next-line max-len
2395
2406
  console.log(`@tcli ${glc(this, this.collabWindow.clientId)}: map len: ${len} start: ${_start} end: ${_end} ${segInfo}`);
2396
2407
  }
2397
2408
  if (go && (_end > 0) && (len > 0) && (_start < len)) {
@@ -2463,15 +2474,6 @@ class MergeTree {
2463
2474
  }
2464
2475
  }
2465
2476
  exports.MergeTree = MergeTree;
2466
- // Maximum length of text segment to be considered to be merged with other segment.
2467
- // Maximum segment length is at least 2x of it (not taking into account initial segment creation).
2468
- // The bigger it is, the more expensive it is to break segment into sub-segments (on edits)
2469
- // The smaller it is, the more segments we have in snapshots (and in memory) - it's more expensive to load snapshots.
2470
- // Small number also makes ReplayTool produce false positives ("same" snapshots have slightly different binary representations).
2471
- // More measurements needs to be done, but it's very likely the right spot is somewhere between 1K-2K mark.
2472
- // That said, we also break segments on newline and there are very few segments that are longer than 256 because of it.
2473
- // must be an even number
2474
- MergeTree.TextSegmentGranularity = 256;
2475
2477
  MergeTree.zamboniSegmentsMaxCount = 2;
2476
2478
  MergeTree.options = {
2477
2479
  incrementalUpdate: true,
@@ -2485,7 +2487,6 @@ MergeTree.traceZRemove = false;
2485
2487
  MergeTree.traceOrdinals = false;
2486
2488
  MergeTree.traceGatherText = false;
2487
2489
  MergeTree.diagInsertTie = false;
2488
- MergeTree.skipLeftShift = true;
2489
2490
  MergeTree.diagOverlappingRemove = false;
2490
2491
  MergeTree.traceTraversal = false;
2491
2492
  MergeTree.traceIncrTraversal = false;