@fluidframework/sequence 2.41.0-338401 → 2.42.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/CHANGELOG.md +8 -0
- package/dist/intervalCollection.d.ts +3 -7
- package/dist/intervalCollection.d.ts.map +1 -1
- package/dist/intervalCollection.js +38 -58
- package/dist/intervalCollection.js.map +1 -1
- package/dist/intervalCollectionMapInterfaces.d.ts +1 -0
- package/dist/intervalCollectionMapInterfaces.d.ts.map +1 -1
- package/dist/intervalCollectionMapInterfaces.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.d.ts.map +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/sequence.d.ts +2 -1
- package/dist/sequence.d.ts.map +1 -1
- package/dist/sequence.js +5 -2
- package/dist/sequence.js.map +1 -1
- package/lib/intervalCollection.d.ts +3 -7
- package/lib/intervalCollection.d.ts.map +1 -1
- package/lib/intervalCollection.js +38 -58
- package/lib/intervalCollection.js.map +1 -1
- package/lib/intervalCollectionMapInterfaces.d.ts +1 -0
- package/lib/intervalCollectionMapInterfaces.d.ts.map +1 -1
- package/lib/intervalCollectionMapInterfaces.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.d.ts.map +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/sequence.d.ts +2 -1
- package/lib/sequence.d.ts.map +1 -1
- package/lib/sequence.js +5 -2
- package/lib/sequence.js.map +1 -1
- package/package.json +18 -18
- package/src/intervalCollection.ts +46 -76
- package/src/intervalCollectionMapInterfaces.ts +1 -0
- package/src/packageVersion.ts +1 -1
- package/src/sequence.ts +6 -2
package/CHANGELOG.md
CHANGED
|
@@ -324,8 +324,7 @@ export declare class IntervalCollection extends TypedEventEmitter<ISequenceInter
|
|
|
324
324
|
private client;
|
|
325
325
|
private readonly localSeqToSerializedInterval;
|
|
326
326
|
private readonly localSeqToRebasedInterval;
|
|
327
|
-
private readonly
|
|
328
|
-
private readonly pendingChangesEnd;
|
|
327
|
+
private readonly pendingChanges;
|
|
329
328
|
get attached(): boolean;
|
|
330
329
|
constructor(submitDelta: (op: IIntervalCollectionTypeOperationValue, md: IMapMessageLocalMetadata) => void, serializedIntervals: ISerializedIntervalCollectionV1 | ISerializedIntervalCollectionV2, options?: Partial<SequenceOptions>);
|
|
331
330
|
/**
|
|
@@ -379,11 +378,8 @@ export declare class IntervalCollection extends TypedEventEmitter<ISequenceInter
|
|
|
379
378
|
}): SequenceIntervalClass | undefined;
|
|
380
379
|
private get isCollaborating();
|
|
381
380
|
private addPendingChange;
|
|
382
|
-
private addPendingChangeHelper;
|
|
383
381
|
private removePendingChange;
|
|
384
|
-
private
|
|
385
|
-
private hasPendingChangeStart;
|
|
386
|
-
private hasPendingChangeEnd;
|
|
382
|
+
private hasPendingChanges;
|
|
387
383
|
ackChange(serializedInterval: SerializedIntervalDelta, local: boolean, op: ISequencedDocumentMessage, localOpMetadata: IMapMessageLocalMetadata | undefined): void;
|
|
388
384
|
/**
|
|
389
385
|
* {@inheritdoc IIntervalCollection.attachDeserializer}
|
|
@@ -395,7 +391,7 @@ export declare class IntervalCollection extends TypedEventEmitter<ISequenceInter
|
|
|
395
391
|
* to a range that no longer exists, and the interval was unable to slide.
|
|
396
392
|
*
|
|
397
393
|
*/
|
|
398
|
-
rebaseLocalInterval(opName: string, serializedInterval: SerializedIntervalDelta,
|
|
394
|
+
rebaseLocalInterval(opName: string, serializedInterval: SerializedIntervalDelta, localOpMetadata: IMapMessageLocalMetadata): SerializedIntervalDelta | undefined;
|
|
399
395
|
private getSlideToSegment;
|
|
400
396
|
private ackInterval;
|
|
401
397
|
ackAdd(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage, localOpMetadata: IMapMessageLocalMetadata | undefined): SequenceIntervalClass | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intervalCollection.d.ts","sourceRoot":"","sources":["../src/intervalCollection.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"intervalCollection.d.ts","sourceRoot":"","sources":["../src/intervalCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -229,8 +229,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
229
229
|
this.options = options;
|
|
230
230
|
this.localSeqToSerializedInterval = new Map();
|
|
231
231
|
this.localSeqToRebasedInterval = new Map();
|
|
232
|
-
this.
|
|
233
|
-
this.pendingChangesEnd = new Map();
|
|
232
|
+
this.pendingChanges = new Map();
|
|
234
233
|
this.savedSerializedIntervals = Array.isArray(serializedIntervals)
|
|
235
234
|
? serializedIntervals
|
|
236
235
|
: serializedIntervals.intervals.map((i) => decompressInterval(i, serializedIntervals.label));
|
|
@@ -332,8 +331,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
332
331
|
}
|
|
333
332
|
resubmitMessage(op, localOpMetadata) {
|
|
334
333
|
const { opName, value } = op;
|
|
335
|
-
const
|
|
336
|
-
const rebasedValue = opName === "delete" ? value : this.rebaseLocalInterval(opName, value, localSeq);
|
|
334
|
+
const rebasedValue = opName === "delete" ? value : this.rebaseLocalInterval(opName, value, localOpMetadata);
|
|
337
335
|
if (rebasedValue === undefined) {
|
|
338
336
|
return undefined;
|
|
339
337
|
}
|
|
@@ -488,7 +486,8 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
488
486
|
startSide !== undefined &&
|
|
489
487
|
endSide !== undefined, 0x793 /* start and end cannot be undefined because they were not passed in as undefined */);
|
|
490
488
|
this.assertStickinessEnabled(start, end);
|
|
491
|
-
const
|
|
489
|
+
const intervalId = id ?? (0, uuid_1.v4)();
|
|
490
|
+
const interval = this.localCollection.addInterval(intervalId, toSequencePlace(startPos, startSide), toSequencePlace(endPos, endSide), props, undefined, rollback);
|
|
492
491
|
if (interval) {
|
|
493
492
|
if (!this.isCollaborating) {
|
|
494
493
|
setSlideOnRemove(interval.start);
|
|
@@ -503,6 +502,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
503
502
|
value: serializedInterval,
|
|
504
503
|
}, {
|
|
505
504
|
localSeq,
|
|
505
|
+
intervalId,
|
|
506
506
|
});
|
|
507
507
|
}
|
|
508
508
|
}
|
|
@@ -524,6 +524,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
524
524
|
}, {
|
|
525
525
|
localSeq: this.getNextLocalSeq(),
|
|
526
526
|
previous: interval.serialize(),
|
|
527
|
+
intervalId: interval.getIntervalId(),
|
|
527
528
|
});
|
|
528
529
|
}
|
|
529
530
|
else {
|
|
@@ -594,6 +595,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
594
595
|
}, {
|
|
595
596
|
localSeq,
|
|
596
597
|
previous: interval.serialize(),
|
|
598
|
+
intervalId: id,
|
|
597
599
|
});
|
|
598
600
|
}
|
|
599
601
|
if (deltaProps !== undefined) {
|
|
@@ -617,68 +619,50 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
617
619
|
if (!this.isCollaborating) {
|
|
618
620
|
return;
|
|
619
621
|
}
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
622
|
+
(0, internal_1.assert)((serializedInterval.start === undefined) === (serializedInterval.end === undefined), 0xbb0 /* both start and end must be set or unset */);
|
|
623
|
+
if (serializedInterval.start !== undefined || serializedInterval.end !== undefined) {
|
|
624
|
+
const entries = this.pendingChanges.get(id) ?? [];
|
|
625
|
+
this.pendingChanges.set(id, entries);
|
|
626
|
+
entries.push(serializedInterval);
|
|
625
627
|
}
|
|
626
628
|
}
|
|
627
|
-
addPendingChangeHelper(id, pendingChanges, serializedInterval) {
|
|
628
|
-
let entries = pendingChanges.get(id);
|
|
629
|
-
if (!entries) {
|
|
630
|
-
entries = [];
|
|
631
|
-
pendingChanges.set(id, entries);
|
|
632
|
-
}
|
|
633
|
-
entries.push(serializedInterval);
|
|
634
|
-
}
|
|
635
629
|
removePendingChange(serializedInterval) {
|
|
636
630
|
// Change ops always have an ID.
|
|
637
631
|
const { id } = (0, index_js_2.getSerializedProperties)(serializedInterval);
|
|
638
632
|
if (serializedInterval.start !== undefined) {
|
|
639
|
-
this.
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
if (entries.length === 0) {
|
|
650
|
-
pendingChanges.delete(id);
|
|
651
|
-
}
|
|
652
|
-
if (pendingChange?.start !== serializedInterval.start ||
|
|
653
|
-
pendingChange?.end !== serializedInterval.end) {
|
|
654
|
-
throw new internal_3.LoggingError("Mismatch in pending changes");
|
|
633
|
+
const entries = this.pendingChanges.get(id);
|
|
634
|
+
if (entries) {
|
|
635
|
+
const pendingChange = entries.shift();
|
|
636
|
+
if (entries.length === 0) {
|
|
637
|
+
this.pendingChanges.delete(id);
|
|
638
|
+
}
|
|
639
|
+
if (pendingChange?.start !== serializedInterval.start ||
|
|
640
|
+
pendingChange?.end !== serializedInterval.end) {
|
|
641
|
+
throw new internal_3.LoggingError("Mismatch in pending changes");
|
|
642
|
+
}
|
|
655
643
|
}
|
|
656
644
|
}
|
|
657
645
|
}
|
|
658
|
-
|
|
659
|
-
const entries = this.
|
|
660
|
-
return entries && entries.length !== 0;
|
|
661
|
-
}
|
|
662
|
-
hasPendingChangeEnd(id) {
|
|
663
|
-
const entries = this.pendingChangesEnd.get(id);
|
|
646
|
+
hasPendingChanges(id) {
|
|
647
|
+
const entries = this.pendingChanges.get(id);
|
|
664
648
|
return entries && entries.length !== 0;
|
|
665
649
|
}
|
|
666
650
|
ackChange(serializedInterval, local, op, localOpMetadata) {
|
|
667
651
|
if (!this.localCollection) {
|
|
668
652
|
throw new internal_3.LoggingError("Attach must be called before accessing intervals");
|
|
669
653
|
}
|
|
670
|
-
if (local) {
|
|
671
|
-
(0, internal_1.assert)(localOpMetadata !== undefined, 0x552 /* op metadata should be defined for local op */);
|
|
672
|
-
this.localSeqToSerializedInterval.delete(localOpMetadata?.localSeq);
|
|
673
|
-
// This is an ack from the server. Remove the pending change.
|
|
674
|
-
this.removePendingChange(serializedInterval);
|
|
675
|
-
}
|
|
676
654
|
// Note that the ID is in the property bag only to allow us to find the interval.
|
|
677
655
|
// This API cannot change the ID, and writing to the ID property will result in an exception. So we
|
|
678
656
|
// strip it out of the properties here.
|
|
679
657
|
const { id, properties } = (0, index_js_2.getSerializedProperties)(serializedInterval);
|
|
680
658
|
(0, internal_1.assert)(id !== undefined, 0x3fe /* id must exist on the interval */);
|
|
681
659
|
const interval = this.getIntervalById(id);
|
|
660
|
+
if (local) {
|
|
661
|
+
(0, internal_1.assert)(localOpMetadata !== undefined, 0x552 /* op metadata should be defined for local op */);
|
|
662
|
+
// This is an ack from the server. Remove the pending change.
|
|
663
|
+
this.localSeqToSerializedInterval.delete(localOpMetadata?.localSeq);
|
|
664
|
+
this.removePendingChange(serializedInterval);
|
|
665
|
+
}
|
|
682
666
|
if (!interval) {
|
|
683
667
|
// The interval has been removed locally; no-op.
|
|
684
668
|
return;
|
|
@@ -693,10 +677,8 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
693
677
|
let start;
|
|
694
678
|
let end;
|
|
695
679
|
// Track pending start/end independently of one another.
|
|
696
|
-
if (!this.
|
|
680
|
+
if (!this.hasPendingChanges(id)) {
|
|
697
681
|
start = serializedInterval.start;
|
|
698
|
-
}
|
|
699
|
-
if (!this.hasPendingChangeEnd(id)) {
|
|
700
682
|
end = serializedInterval.end;
|
|
701
683
|
}
|
|
702
684
|
let newInterval = interval;
|
|
@@ -741,7 +723,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
741
723
|
* to a range that no longer exists, and the interval was unable to slide.
|
|
742
724
|
*
|
|
743
725
|
*/
|
|
744
|
-
rebaseLocalInterval(opName, serializedInterval,
|
|
726
|
+
rebaseLocalInterval(opName, serializedInterval, localOpMetadata) {
|
|
745
727
|
if (!this.client) {
|
|
746
728
|
// If there's no associated mergeTree client, the originally submitted op is still correct.
|
|
747
729
|
return serializedInterval;
|
|
@@ -749,6 +731,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
749
731
|
if (!this.attached) {
|
|
750
732
|
throw new internal_3.LoggingError("attachSequence must be called");
|
|
751
733
|
}
|
|
734
|
+
const { localSeq } = localOpMetadata;
|
|
752
735
|
const { intervalType, properties, stickiness, startSide, endSide } = serializedInterval;
|
|
753
736
|
const { id } = (0, index_js_2.getSerializedProperties)(serializedInterval);
|
|
754
737
|
const { start: startRebased, end: endRebased } = this.localSeqToRebasedInterval.get(localSeq) ?? this.computeRebasedPositions(localSeq);
|
|
@@ -765,7 +748,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
765
748
|
};
|
|
766
749
|
if (opName === "change" &&
|
|
767
750
|
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- ?? is not logically equivalent when .hasPendingChangeStart returns false.
|
|
768
|
-
|
|
751
|
+
this.hasPendingChanges(id)) {
|
|
769
752
|
this.removePendingChange(serializedInterval);
|
|
770
753
|
this.addPendingChange(id, rebased);
|
|
771
754
|
}
|
|
@@ -809,16 +792,13 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
|
|
|
809
792
|
const newStart = this.getSlideToSegment(interval.start, (0, index_js_2.startReferenceSlidingPreference)(interval.stickiness));
|
|
810
793
|
const newEnd = this.getSlideToSegment(interval.end, (0, index_js_2.endReferenceSlidingPreference)(interval.stickiness));
|
|
811
794
|
const id = interval.getIntervalId();
|
|
812
|
-
const
|
|
813
|
-
|
|
814
|
-
if (!hasPendingStartChange) {
|
|
795
|
+
const hasPendingChange = this.hasPendingChanges(id);
|
|
796
|
+
if (!hasPendingChange) {
|
|
815
797
|
setSlideOnRemove(interval.start);
|
|
816
|
-
}
|
|
817
|
-
if (!hasPendingEndChange) {
|
|
818
798
|
setSlideOnRemove(interval.end);
|
|
819
799
|
}
|
|
820
|
-
const needsStartUpdate = newStart !== undefined && !
|
|
821
|
-
const needsEndUpdate = newEnd !== undefined && !
|
|
800
|
+
const needsStartUpdate = newStart !== undefined && !hasPendingChange;
|
|
801
|
+
const needsEndUpdate = newEnd !== undefined && !hasPendingChange;
|
|
822
802
|
if (needsStartUpdate || needsEndUpdate) {
|
|
823
803
|
if (!this.localCollection) {
|
|
824
804
|
throw new internal_3.LoggingError("Attach must be called before accessing intervals");
|