@fluidframework/sequence 2.13.0 → 2.20.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.
@@ -6,4 +6,4 @@
6
6
  */
7
7
 
8
8
  export const pkgName = "@fluidframework/sequence";
9
- export const pkgVersion = "2.13.0";
9
+ export const pkgVersion = "2.20.0";
@@ -14,7 +14,6 @@ import {
14
14
  PropertySet,
15
15
  ReferenceType,
16
16
  SlidingPreference, // eslint-disable-next-line import/no-deprecated
17
- SortedSet,
18
17
  appendToMergeTreeDeltaRevertibles,
19
18
  discardMergeTreeDeltaRevertible,
20
19
  getSlideToSegoff,
@@ -25,6 +24,8 @@ import {
25
24
  Side,
26
25
  type ISegmentInternal,
27
26
  segmentIsRemoved,
27
+ SortedSegmentSet,
28
+ type ISegment,
28
29
  } from "@fluidframework/merge-tree/internal";
29
30
 
30
31
  import { IntervalOpType, SequenceInterval, SequenceIntervalClass } from "./intervals/index.js";
@@ -340,7 +341,7 @@ export function appendSharedStringDeltaToRevertibles(
340
341
 
341
342
  revertible.intervals.push({
342
343
  intervalId: interval.getIntervalId(),
343
- label: interval.properties.referenceRangeLabels?.[0],
344
+ label: interval.properties.referenceRangeLabels[0],
344
345
  startOffset: offset,
345
346
  endOffset,
346
347
  });
@@ -350,7 +351,7 @@ export function appendSharedStringDeltaToRevertibles(
350
351
  endIntervals.forEach(({ interval, offset }) => {
351
352
  revertible.intervals.push({
352
353
  intervalId: interval.getIntervalId(),
353
- label: interval.properties.referenceRangeLabels?.[0],
354
+ label: interval.properties.referenceRangeLabels[0],
354
355
  endOffset: offset,
355
356
  });
356
357
  });
@@ -432,7 +433,7 @@ function revertLocalAdd(
432
433
  revertible: TypedRevertible<typeof IntervalOpType.ADD>,
433
434
  ) {
434
435
  const id = getUpdatedIdFromInterval(revertible.interval);
435
- const label = revertible.interval.properties.referenceRangeLabels?.[0];
436
+ const label = revertible.interval.properties.referenceRangeLabels[0];
436
437
  string.getIntervalCollection(label).removeIntervalById(id);
437
438
  }
438
439
 
@@ -460,7 +461,7 @@ function revertLocalDelete(
460
461
  string: ISharedString,
461
462
  revertible: TypedRevertible<typeof IntervalOpType.DELETE>,
462
463
  ) {
463
- const label = revertible.interval.properties.referenceRangeLabels?.[0];
464
+ const label = revertible.interval.properties.referenceRangeLabels[0];
464
465
  const collection = string.getIntervalCollection(label);
465
466
  const start = string.localReferencePositionToPosition(revertible.start);
466
467
  const startSlidePos = getSlidePosition(string, revertible.start, start);
@@ -499,7 +500,7 @@ function revertLocalChange(
499
500
  string: ISharedString,
500
501
  revertible: TypedRevertible<typeof IntervalOpType.CHANGE>,
501
502
  ) {
502
- const label = revertible.interval.properties.referenceRangeLabels?.[0];
503
+ const label = revertible.interval.properties.referenceRangeLabels[0];
503
504
  const collection = string.getIntervalCollection(label);
504
505
  const id = getUpdatedIdFromInterval(revertible.interval);
505
506
  const start = string.localReferencePositionToPosition(revertible.start);
@@ -539,7 +540,7 @@ function revertLocalPropertyChanged(
539
540
  string: ISharedString,
540
541
  revertible: TypedRevertible<typeof IntervalOpType.PROPERTY_CHANGED>,
541
542
  ) {
542
- const label = revertible.interval.properties.referenceRangeLabels?.[0];
543
+ const label = revertible.interval.properties.referenceRangeLabels[0];
543
544
  const id = getUpdatedIdFromInterval(revertible.interval);
544
545
  const newProps = revertible.propertyDeltas;
545
546
  string.getIntervalCollection(label).change(id, { props: newProps });
@@ -579,14 +580,11 @@ function newEndpointPosition(
579
580
  interface RangeInfo {
580
581
  ranges: readonly Readonly<ISequenceDeltaRange<MergeTreeDeltaOperationType>>[];
581
582
  length: number;
583
+ segment: ISegment;
582
584
  }
583
585
 
584
586
  // eslint-disable-next-line import/no-deprecated
585
- class SortedRangeSet extends SortedSet<RangeInfo, string> {
586
- protected getKey(item: RangeInfo): string {
587
- return item.ranges[0].segment.ordinal;
588
- }
589
- }
587
+ class SortedRangeSet extends SortedSegmentSet<RangeInfo> {}
590
588
 
591
589
  function revertLocalSequenceRemove(
592
590
  sharedString: ISharedString,
@@ -599,7 +597,11 @@ function revertLocalSequenceRemove(
599
597
  event.ranges.forEach((range) => {
600
598
  length += range.segment.cachedLength;
601
599
  });
602
- restoredRanges.addOrUpdate({ ranges: event.ranges, length });
600
+ restoredRanges.addOrUpdate({
601
+ ranges: event.ranges,
602
+ length,
603
+ segment: event.ranges[0].segment,
604
+ });
603
605
  }
604
606
  };
605
607
  sharedString.on("sequenceDelta", saveSegments);