@fluidframework/sequence 2.33.0-333010 → 2.33.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.
Files changed (80) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/api-report/sequence.legacy.alpha.api.md +39 -39
  3. package/dist/intervalCollection.d.ts +7 -4
  4. package/dist/intervalCollection.d.ts.map +1 -1
  5. package/dist/intervalCollection.js +78 -31
  6. package/dist/intervalCollection.js.map +1 -1
  7. package/dist/intervalCollectionMap.d.ts +1 -0
  8. package/dist/intervalCollectionMap.d.ts.map +1 -1
  9. package/dist/intervalCollectionMap.js +9 -0
  10. package/dist/intervalCollectionMap.js.map +1 -1
  11. package/dist/intervalCollectionMapInterfaces.d.ts +1 -0
  12. package/dist/intervalCollectionMapInterfaces.d.ts.map +1 -1
  13. package/dist/intervalCollectionMapInterfaces.js.map +1 -1
  14. package/dist/intervalIndex/intervalIndex.d.ts +1 -1
  15. package/dist/intervalIndex/intervalIndex.js.map +1 -1
  16. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts +1 -1
  17. package/dist/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  18. package/dist/intervals/sequenceInterval.d.ts +3 -3
  19. package/dist/intervals/sequenceInterval.d.ts.map +1 -1
  20. package/dist/intervals/sequenceInterval.js +10 -9
  21. package/dist/intervals/sequenceInterval.js.map +1 -1
  22. package/dist/packageVersion.d.ts +1 -1
  23. package/dist/packageVersion.d.ts.map +1 -1
  24. package/dist/packageVersion.js +1 -1
  25. package/dist/packageVersion.js.map +1 -1
  26. package/dist/sequence.d.ts +4 -0
  27. package/dist/sequence.d.ts.map +1 -1
  28. package/dist/sequence.js +10 -0
  29. package/dist/sequence.js.map +1 -1
  30. package/dist/sharedIntervalCollection.d.ts +1 -1
  31. package/dist/sharedIntervalCollection.js.map +1 -1
  32. package/dist/sharedString.d.ts +0 -4
  33. package/dist/sharedString.d.ts.map +1 -1
  34. package/dist/sharedString.js +0 -11
  35. package/dist/sharedString.js.map +1 -1
  36. package/lib/intervalCollection.d.ts +7 -4
  37. package/lib/intervalCollection.d.ts.map +1 -1
  38. package/lib/intervalCollection.js +78 -31
  39. package/lib/intervalCollection.js.map +1 -1
  40. package/lib/intervalCollectionMap.d.ts +1 -0
  41. package/lib/intervalCollectionMap.d.ts.map +1 -1
  42. package/lib/intervalCollectionMap.js +9 -0
  43. package/lib/intervalCollectionMap.js.map +1 -1
  44. package/lib/intervalCollectionMapInterfaces.d.ts +1 -0
  45. package/lib/intervalCollectionMapInterfaces.d.ts.map +1 -1
  46. package/lib/intervalCollectionMapInterfaces.js.map +1 -1
  47. package/lib/intervalIndex/intervalIndex.d.ts +1 -1
  48. package/lib/intervalIndex/intervalIndex.js.map +1 -1
  49. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts +1 -1
  50. package/lib/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  51. package/lib/intervals/sequenceInterval.d.ts +3 -3
  52. package/lib/intervals/sequenceInterval.d.ts.map +1 -1
  53. package/lib/intervals/sequenceInterval.js +10 -9
  54. package/lib/intervals/sequenceInterval.js.map +1 -1
  55. package/lib/packageVersion.d.ts +1 -1
  56. package/lib/packageVersion.d.ts.map +1 -1
  57. package/lib/packageVersion.js +1 -1
  58. package/lib/packageVersion.js.map +1 -1
  59. package/lib/sequence.d.ts +4 -0
  60. package/lib/sequence.d.ts.map +1 -1
  61. package/lib/sequence.js +10 -0
  62. package/lib/sequence.js.map +1 -1
  63. package/lib/sharedIntervalCollection.d.ts +1 -1
  64. package/lib/sharedIntervalCollection.js.map +1 -1
  65. package/lib/sharedString.d.ts +0 -4
  66. package/lib/sharedString.d.ts.map +1 -1
  67. package/lib/sharedString.js +0 -11
  68. package/lib/sharedString.js.map +1 -1
  69. package/lib/tsdoc-metadata.json +1 -1
  70. package/package.json +18 -20
  71. package/src/intervalCollection.ts +112 -42
  72. package/src/intervalCollectionMap.ts +13 -0
  73. package/src/intervalCollectionMapInterfaces.ts +1 -0
  74. package/src/intervalIndex/intervalIndex.ts +1 -1
  75. package/src/intervalIndex/overlappingIntervalsIndex.ts +1 -1
  76. package/src/intervals/sequenceInterval.ts +14 -2
  77. package/src/packageVersion.ts +1 -1
  78. package/src/sequence.ts +15 -0
  79. package/src/sharedIntervalCollection.ts +1 -1
  80. package/src/sharedString.ts +0 -11
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @fluidframework/sequence
2
2
 
3
+ ## 2.33.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Generic types for IntervalCollections have been replaced with non-generic types ([#24411](https://github.com/microsoft/FluidFramework/pull/24411)) [1c743e825ed](https://github.com/microsoft/FluidFramework/commit/1c743e825ed29a81b0e66775ce3553477361d335)
8
+
9
+ This change deprecates the following generic types and provides non-generic alternatives where necessary:
10
+
11
+ - `IIntervalCollection` is replaced by `ISequenceIntervalCollection`
12
+ - `IIntervalCollectionEvent` is replaced by `ISequenceIntervalCollectionEvents`
13
+ - `IntervalIndex` is replaced by `SequenceIntervalIndex`
14
+ - `IOverlappingIntervalsIndex` is replaced by `ISequenceOverlappingIntervalsIndex`
15
+ - `ISharedIntervalCollection` is deprecated without replacement
16
+
17
+ These types are no longer required to be generic, and replacing them with non-generic alternatives keeps our typing less complex.
18
+
3
19
  ## 2.32.0
4
20
 
5
21
  Dependency updates only.
@@ -4,33 +4,33 @@
4
4
 
5
5
  ```ts
6
6
 
7
- // @alpha
7
+ // @alpha @legacy
8
8
  export function appendAddIntervalToRevertibles(interval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
9
9
 
10
- // @alpha
10
+ // @alpha @legacy
11
11
  export function appendChangeIntervalToRevertibles(string: ISharedString, newInterval: SequenceInterval, previousInterval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
12
12
 
13
- // @alpha
13
+ // @alpha @legacy
14
14
  export function appendDeleteIntervalToRevertibles(string: ISharedString, interval: SequenceInterval, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
15
15
 
16
- // @alpha
16
+ // @alpha @legacy
17
17
  export function appendIntervalPropertyChangedToRevertibles(interval: SequenceInterval, deltas: PropertySet, revertibles: SharedStringRevertible[]): SharedStringRevertible[];
18
18
 
19
- // @alpha
19
+ // @alpha @legacy
20
20
  export function appendSharedStringDeltaToRevertibles(string: ISharedString, delta: SequenceDeltaEvent, revertibles: SharedStringRevertible[]): void;
21
21
 
22
22
  export { BaseSegment }
23
23
 
24
- // @alpha (undocumented)
24
+ // @alpha @legacy (undocumented)
25
25
  export function createOverlappingIntervalsIndex(sharedString: ISharedString): ISequenceOverlappingIntervalsIndex;
26
26
 
27
- // @alpha (undocumented)
27
+ // @alpha @legacy (undocumented)
28
28
  export type DeserializeCallback = (properties: PropertySet) => void;
29
29
 
30
- // @alpha
30
+ // @alpha @legacy
31
31
  export function discardSharedStringRevertibles(sharedString: ISharedString, revertibles: SharedStringRevertible[]): void;
32
32
 
33
- // @alpha
33
+ // @alpha @legacy
34
34
  export interface IInterval {
35
35
  // (undocumented)
36
36
  clone(): IInterval;
@@ -43,7 +43,7 @@ export interface IInterval {
43
43
  union(b: IInterval): IInterval;
44
44
  }
45
45
 
46
- // @alpha @deprecated
46
+ // @alpha @deprecated @legacy
47
47
  export interface IIntervalCollection<TInterval extends ISerializableInterval> extends TypedEventEmitter<IIntervalCollectionEvent<TInterval>> {
48
48
  // (undocumented)
49
49
  [Symbol.iterator](): Iterator<TInterval>;
@@ -84,7 +84,7 @@ export interface IIntervalCollection<TInterval extends ISerializableInterval> ex
84
84
  removeIntervalById(id: string): TInterval | undefined;
85
85
  }
86
86
 
87
- // @alpha
87
+ // @alpha @deprecated @legacy
88
88
  export interface IIntervalCollectionEvent<TInterval extends ISerializableInterval> extends IEvent {
89
89
  (event: "changeInterval", listener: (interval: TInterval, previousInterval: TInterval, local: boolean, op: ISequencedDocumentMessage | undefined, slide: boolean) => void): void;
90
90
  (event: "addInterval" | "deleteInterval", listener: (interval: TInterval, local: boolean, op: ISequencedDocumentMessage | undefined) => void): void;
@@ -94,13 +94,13 @@ export interface IIntervalCollectionEvent<TInterval extends ISerializableInterva
94
94
 
95
95
  export { InteriorSequencePlace }
96
96
 
97
- // @alpha
97
+ // @alpha @deprecated @legacy
98
98
  export interface IntervalIndex<TInterval extends ISerializableInterval> {
99
99
  add(interval: TInterval): void;
100
100
  remove(interval: TInterval): void;
101
101
  }
102
102
 
103
- // @alpha
103
+ // @alpha @legacy
104
104
  export const IntervalOpType: {
105
105
  readonly PROPERTY_CHANGED: "propertyChanged";
106
106
  readonly POSITION_REMOVE: "positionRemove";
@@ -109,10 +109,10 @@ export const IntervalOpType: {
109
109
  readonly CHANGE: "change";
110
110
  };
111
111
 
112
- // @alpha (undocumented)
112
+ // @alpha @legacy (undocumented)
113
113
  export type IntervalOpType = (typeof IntervalOpType)[keyof typeof IntervalOpType];
114
114
 
115
- // @alpha
115
+ // @alpha @legacy
116
116
  export type IntervalRevertible = {
117
117
  event: typeof IntervalOpType.CHANGE;
118
118
  interval: SequenceInterval;
@@ -146,7 +146,7 @@ export type IntervalRevertible = {
146
146
  mergeTreeRevertible: MergeTreeDeltaRevertible;
147
147
  };
148
148
 
149
- // @alpha
149
+ // @alpha @legacy
150
150
  export const IntervalStickiness: {
151
151
  readonly NONE: 0;
152
152
  readonly START: 1;
@@ -154,17 +154,17 @@ export const IntervalStickiness: {
154
154
  readonly FULL: 3;
155
155
  };
156
156
 
157
- // @alpha
157
+ // @alpha @legacy
158
158
  export type IntervalStickiness = (typeof IntervalStickiness)[keyof typeof IntervalStickiness];
159
159
 
160
- // @alpha (undocumented)
160
+ // @alpha @legacy (undocumented)
161
161
  export enum IntervalType {
162
162
  // (undocumented)
163
163
  Simple = 0,
164
164
  SlideOnRemove = 2,// SlideOnRemove is default behavior - all intervals are SlideOnRemove
165
165
  }
166
166
 
167
- // @alpha
167
+ // @alpha @deprecated @legacy
168
168
  export interface IOverlappingIntervalsIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
169
169
  // (undocumented)
170
170
  findOverlappingIntervals(start: SequencePlace, end: SequencePlace): TInterval[];
@@ -173,7 +173,7 @@ export interface IOverlappingIntervalsIndex<TInterval extends ISerializableInter
173
173
 
174
174
  export { ISegment }
175
175
 
176
- // @alpha
176
+ // @alpha @legacy
177
177
  export interface ISequenceDeltaRange<TOperation extends MergeTreeDeltaOperationTypes = MergeTreeDeltaOperationTypes> {
178
178
  operation: TOperation;
179
179
  position: number;
@@ -181,7 +181,7 @@ export interface ISequenceDeltaRange<TOperation extends MergeTreeDeltaOperationT
181
181
  segment: ISegment;
182
182
  }
183
183
 
184
- // @alpha
184
+ // @alpha @legacy
185
185
  export interface ISequenceIntervalCollection extends TypedEventEmitter<ISequenceIntervalCollectionEvents> {
186
186
  // (undocumented)
187
187
  [Symbol.iterator](): Iterator<SequenceInterval>;
@@ -222,7 +222,7 @@ export interface ISequenceIntervalCollection extends TypedEventEmitter<ISequence
222
222
  removeIntervalById(id: string): SequenceInterval | undefined;
223
223
  }
224
224
 
225
- // @alpha
225
+ // @alpha @legacy
226
226
  export interface ISequenceIntervalCollectionEvents extends IEvent {
227
227
  (event: "changeInterval", listener: (interval: SequenceInterval, previousInterval: SequenceInterval, local: boolean, op: ISequencedDocumentMessage | undefined, slide: boolean) => void): void;
228
228
  (event: "addInterval" | "deleteInterval", listener: (interval: SequenceInterval, local: boolean, op: ISequencedDocumentMessage | undefined) => void): void;
@@ -230,14 +230,14 @@ export interface ISequenceIntervalCollectionEvents extends IEvent {
230
230
  (event: "changed", listener: (interval: SequenceInterval, propertyDeltas: PropertySet, previousInterval: SequenceInterval | undefined, local: boolean, slide: boolean) => void): void;
231
231
  }
232
232
 
233
- // @alpha (undocumented)
233
+ // @alpha @legacy (undocumented)
234
234
  export interface ISequenceOverlappingIntervalsIndex extends SequenceIntervalIndex {
235
235
  // (undocumented)
236
236
  findOverlappingIntervals(start: SequencePlace, end: SequencePlace): SequenceInterval[];
237
237
  gatherIterationResults(results: SequenceInterval[], iteratesForward: boolean, start?: SequencePlace, end?: SequencePlace): void;
238
238
  }
239
239
 
240
- // @alpha (undocumented)
240
+ // @alpha @legacy (undocumented)
241
241
  export interface ISerializableInterval extends IInterval {
242
242
  getIntervalId(): string;
243
243
  properties: PropertySet;
@@ -245,7 +245,7 @@ export interface ISerializableInterval extends IInterval {
245
245
  serialize(): ISerializedInterval;
246
246
  }
247
247
 
248
- // @alpha
248
+ // @alpha @legacy
249
249
  export interface ISerializedInterval {
250
250
  end: number | "start" | "end";
251
251
  // (undocumented)
@@ -259,13 +259,13 @@ export interface ISerializedInterval {
259
259
  stickiness?: IntervalStickiness;
260
260
  }
261
261
 
262
- // @alpha (undocumented)
262
+ // @alpha @deprecated @legacy (undocumented)
263
263
  export interface ISharedIntervalCollection<TInterval extends ISerializableInterval> {
264
264
  // (undocumented)
265
265
  getIntervalCollection(label: string): IIntervalCollection<TInterval>;
266
266
  }
267
267
 
268
- // @alpha (undocumented)
268
+ // @alpha @legacy (undocumented)
269
269
  export interface ISharedSegmentSequence<T extends ISegment> extends ISharedObject<ISharedSegmentSequenceEvents>, MergeTreeRevertibleDriver {
270
270
  annotateAdjustRange(start: number, end: number, adjust: MapLike<AdjustParams>): void;
271
271
  annotateRange(start: number, end: number, props: PropertySet): void;
@@ -303,7 +303,7 @@ export interface ISharedSegmentSequence<T extends ISegment> extends ISharedObjec
303
303
  walkSegments<TClientData>(handler: ISegmentAction<TClientData>, start?: number, end?: number, accum?: TClientData, splitRange?: boolean): void;
304
304
  }
305
305
 
306
- // @alpha
306
+ // @alpha @legacy
307
307
  export interface ISharedSegmentSequenceEvents extends ISharedObjectEvents {
308
308
  // (undocumented)
309
309
  (event: "createIntervalCollection", listener: (label: string, local: boolean, target: IEventThisPlaceHolder) => void): void;
@@ -313,7 +313,7 @@ export interface ISharedSegmentSequenceEvents extends ISharedObjectEvents {
313
313
  (event: "maintenance", listener: (event: SequenceMaintenanceEvent, target: IEventThisPlaceHolder) => void): void;
314
314
  }
315
315
 
316
- // @alpha
316
+ // @alpha @legacy
317
317
  export interface ISharedString extends ISharedSegmentSequence<SharedStringSegment> {
318
318
  annotateMarker(marker: Marker, props: PropertySet): void;
319
319
  getMarkerFromId(id: string): ISegment | undefined;
@@ -346,17 +346,17 @@ export { ReferenceType }
346
346
 
347
347
  export { reservedMarkerIdKey }
348
348
 
349
- // @alpha
349
+ // @alpha @legacy
350
350
  export function revertSharedStringRevertibles(sharedString: ISharedString, revertibles: SharedStringRevertible[]): void;
351
351
 
352
- // @alpha
352
+ // @alpha @legacy
353
353
  export interface SequenceDeltaEvent extends SequenceEvent<MergeTreeDeltaOperationType> {
354
354
  readonly isLocal: boolean;
355
355
  // (undocumented)
356
356
  readonly opArgs: IMergeTreeDeltaOpArgs;
357
357
  }
358
358
 
359
- // @alpha
359
+ // @alpha @legacy
360
360
  export interface SequenceEvent<TOperation extends MergeTreeDeltaOperationTypes = MergeTreeDeltaOperationTypes> {
361
361
  readonly clientId: string | undefined;
362
362
  // (undocumented)
@@ -368,7 +368,7 @@ export interface SequenceEvent<TOperation extends MergeTreeDeltaOperationTypes =
368
368
  readonly ranges: readonly Readonly<ISequenceDeltaRange<TOperation>>[];
369
369
  }
370
370
 
371
- // @alpha
371
+ // @alpha @legacy
372
372
  export interface SequenceInterval extends ISerializableInterval {
373
373
  addPositionChangeListeners(beforePositionChange: () => void, afterPositionChange: () => void): void;
374
374
  // (undocumented)
@@ -396,13 +396,13 @@ export interface SequenceInterval extends ISerializableInterval {
396
396
  union(b: SequenceInterval): SequenceInterval;
397
397
  }
398
398
 
399
- // @alpha
399
+ // @alpha @legacy
400
400
  export interface SequenceIntervalIndex {
401
401
  add(interval: SequenceInterval): void;
402
402
  remove(interval: SequenceInterval): void;
403
403
  }
404
404
 
405
- // @alpha
405
+ // @alpha @legacy
406
406
  export interface SequenceMaintenanceEvent extends SequenceEvent<MergeTreeMaintenanceType> {
407
407
  // (undocumented)
408
408
  readonly opArgs: IMergeTreeDeltaOpArgs | undefined;
@@ -410,16 +410,16 @@ export interface SequenceMaintenanceEvent extends SequenceEvent<MergeTreeMainten
410
410
 
411
411
  export { SequencePlace }
412
412
 
413
- // @alpha
413
+ // @alpha @legacy
414
414
  export const SharedString: ISharedObjectKind<ISharedString> & SharedObjectKind<ISharedString>;
415
415
 
416
- // @alpha
416
+ // @alpha @legacy
417
417
  export type SharedString = ISharedString;
418
418
 
419
- // @alpha
419
+ // @alpha @legacy
420
420
  export type SharedStringRevertible = MergeTreeDeltaRevertible | IntervalRevertible;
421
421
 
422
- // @alpha (undocumented)
422
+ // @alpha @legacy (undocumented)
423
423
  export type SharedStringSegment = TextSegment | Marker;
424
424
 
425
425
  export { Side }
@@ -46,7 +46,7 @@ export declare class LocalIntervalCollection {
46
46
  appendIndex(index: SequenceIntervalIndex): void;
47
47
  removeIndex(index: SequenceIntervalIndex): boolean;
48
48
  removeExistingInterval(interval: SequenceIntervalClass): void;
49
- addInterval(id: string, start: SequencePlace, end: SequencePlace, props?: PropertySet, op?: ISequencedDocumentMessage): SequenceIntervalClass;
49
+ addInterval(id: string, start: SequencePlace, end: SequencePlace, props?: PropertySet, op?: ISequencedDocumentMessage, rollback?: boolean): SequenceIntervalClass;
50
50
  private linkEndpointsToInterval;
51
51
  private addIntervalToIndexes;
52
52
  add(interval: SequenceIntervalClass): void;
@@ -70,7 +70,7 @@ declare class IntervalCollectionIterator implements Iterator<SequenceIntervalCla
70
70
  * Change events emitted by `IntervalCollection`s
71
71
  * @legacy
72
72
  * @alpha
73
- * @remarks The generic version of this interface is no longer used and will be removed. Use {@link ISequenceIntervalCollectionEvents} instead.
73
+ * @deprecated The generic version of this interface is no longer used and will be removed. Use {@link ISequenceIntervalCollectionEvents} instead.
74
74
  */
75
75
  export interface IIntervalCollectionEvent<TInterval extends ISerializableInterval> extends IEvent {
76
76
  /**
@@ -584,6 +584,7 @@ export declare class IntervalCollection extends TypedEventEmitter<ISequenceInter
584
584
  * {@inheritdoc IIntervalCollection.detachIndex}
585
585
  */
586
586
  detachIndex(index: SequenceIntervalIndex): boolean;
587
+ rollback(op: IIntervalCollectionTypeOperationValue, localOpMetadata: IMapMessageLocalMetadata): void;
587
588
  process(op: IIntervalCollectionTypeOperationValue, local: boolean, message: ISequencedDocumentMessage, localOpMetadata: IMapMessageLocalMetadata): void;
588
589
  resubmitMessage(op: IIntervalCollectionTypeOperationValue, localOpMetadata: IMapMessageLocalMetadata): void;
589
590
  applyStashedOp(op: IIntervalCollectionTypeOperationValue): void;
@@ -603,11 +604,12 @@ export declare class IntervalCollection extends TypedEventEmitter<ISequenceInter
603
604
  /**
604
605
  * {@inheritdoc IIntervalCollection.add}
605
606
  */
606
- add({ id, start, end, props, }: {
607
+ add({ id, start, end, props, rollback, }: {
607
608
  id?: string;
608
609
  start: SequencePlace;
609
610
  end: SequencePlace;
610
611
  props?: PropertySet;
612
+ rollback?: boolean;
611
613
  }): SequenceIntervalClass;
612
614
  private deleteExistingInterval;
613
615
  /**
@@ -617,10 +619,11 @@ export declare class IntervalCollection extends TypedEventEmitter<ISequenceInter
617
619
  /**
618
620
  * {@inheritdoc IIntervalCollection.change}
619
621
  */
620
- change(id: string, { start, end, props }: {
622
+ change(id: string, { start, end, props, rollback, }: {
621
623
  start?: SequencePlace;
622
624
  end?: SequencePlace;
623
625
  props?: PropertySet;
626
+ rollback?: boolean;
624
627
  }): SequenceIntervalClass | undefined;
625
628
  private get isCollaborating();
626
629
  private addPendingChange;
@@ -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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"}
@@ -116,7 +116,7 @@ class LocalIntervalCollection {
116
116
  this.removeIntervalFromIndexes(interval);
117
117
  this.removeIntervalListeners(interval);
118
118
  }
119
- addInterval(id, start, end, props, op) {
119
+ addInterval(id, start, end, props, op, rollback) {
120
120
  // This check is intended to prevent scenarios where a random interval is created and then
121
121
  // inserted into a collection. The aim is to ensure that the collection is created first
122
122
  // then the user can create/add intervals based on the collection
@@ -124,7 +124,7 @@ class LocalIntervalCollection {
124
124
  props[internal_2.reservedRangeLabelsKey][0] !== this.label) {
125
125
  throw new internal_3.LoggingError("Adding an interval that belongs to another interval collection is not permitted");
126
126
  }
127
- const interval = (0, index_js_2.createSequenceInterval)(this.label, id, start, end, this.client, index_js_2.IntervalType.SlideOnRemove, op, undefined, this.options.mergeTreeReferencesCanSlideToEndpoint, props);
127
+ const interval = (0, index_js_2.createSequenceInterval)(this.label, id, start, end, this.client, index_js_2.IntervalType.SlideOnRemove, op, undefined, this.options.mergeTreeReferencesCanSlideToEndpoint, props, rollback);
128
128
  this.add(interval);
129
129
  return interval;
130
130
  }
@@ -263,6 +263,54 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
263
263
  }
264
264
  return true;
265
265
  }
266
+ rollback(op, localOpMetadata) {
267
+ const { opName, value } = op;
268
+ const { id, properties } = (0, index_js_2.getSerializedProperties)(value);
269
+ const { localSeq, previous } = localOpMetadata;
270
+ switch (opName) {
271
+ case "add": {
272
+ const interval = this.getIntervalById(id);
273
+ if (interval) {
274
+ this.deleteExistingInterval({ interval, local: true, rollback: true });
275
+ }
276
+ break;
277
+ }
278
+ case "change": {
279
+ (0, internal_1.assert)(previous !== undefined, 0xb7c /* must have previous for change */);
280
+ const endpointsChanged = value.start !== undefined && value.end !== undefined;
281
+ const start = endpointsChanged
282
+ ? toOptionalSequencePlace(previous.start, previous.startSide)
283
+ : undefined;
284
+ const end = endpointsChanged
285
+ ? toOptionalSequencePlace(previous.end, previous.endSide)
286
+ : undefined;
287
+ this.change(id, {
288
+ start,
289
+ end,
290
+ props: Object.keys(properties).length > 0 ? properties : undefined,
291
+ rollback: true,
292
+ });
293
+ this.localSeqToSerializedInterval.delete(localSeq);
294
+ if (endpointsChanged) {
295
+ this.removePendingChange(value);
296
+ }
297
+ break;
298
+ }
299
+ case "delete": {
300
+ (0, internal_1.assert)(previous !== undefined, 0xb7d /* must have previous for delete */);
301
+ this.add({
302
+ id,
303
+ start: toSequencePlace(previous.start, previous.startSide),
304
+ end: toSequencePlace(previous.end, previous.endSide),
305
+ props: Object.keys(properties).length > 0 ? properties : undefined,
306
+ rollback: true,
307
+ });
308
+ break;
309
+ }
310
+ default:
311
+ (0, internal_1.unreachableCase)(opName);
312
+ }
313
+ }
266
314
  process(op, local, message, localOpMetadata) {
267
315
  const { opName, value } = op;
268
316
  switch (opName) {
@@ -430,7 +478,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
430
478
  /**
431
479
  * {@inheritdoc IIntervalCollection.add}
432
480
  */
433
- add({ id, start, end, props, }) {
481
+ add({ id, start, end, props, rollback, }) {
434
482
  if (!this.localCollection) {
435
483
  throw new internal_3.LoggingError("attach must be called prior to adding intervals");
436
484
  }
@@ -440,7 +488,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
440
488
  startSide !== undefined &&
441
489
  endSide !== undefined, 0x793 /* start and end cannot be undefined because they were not passed in as undefined */);
442
490
  this.assertStickinessEnabled(start, end);
443
- const interval = this.localCollection.addInterval(id ?? (0, uuid_1.v4)(), toSequencePlace(startPos, startSide), toSequencePlace(endPos, endSide), props);
491
+ const interval = this.localCollection.addInterval(id ?? (0, uuid_1.v4)(), toSequencePlace(startPos, startSide), toSequencePlace(endPos, endSide), props, undefined, rollback);
444
492
  if (interval) {
445
493
  if (!this.isCollaborating) {
446
494
  setSlideOnRemove(interval.start);
@@ -448,20 +496,20 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
448
496
  }
449
497
  const serializedInterval = interval.serialize();
450
498
  const localSeq = this.getNextLocalSeq();
451
- if (this.isCollaborating) {
499
+ if (this.isCollaborating && rollback !== true) {
452
500
  this.localSeqToSerializedInterval.set(localSeq, serializedInterval);
501
+ this.submitDelta({
502
+ opName: "add",
503
+ value: serializedInterval,
504
+ }, {
505
+ localSeq,
506
+ });
453
507
  }
454
- this.submitDelta({
455
- opName: "add",
456
- value: serializedInterval,
457
- }, {
458
- localSeq,
459
- });
460
508
  }
461
509
  this.emit("addInterval", interval, true, undefined);
462
510
  return interval;
463
511
  }
464
- deleteExistingInterval(interval, local, op) {
512
+ deleteExistingInterval({ interval, local, op, rollback, }) {
465
513
  if (!this.localCollection) {
466
514
  throw new internal_3.LoggingError("Attach must be called before accessing intervals");
467
515
  }
@@ -469,12 +517,13 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
469
517
  this.localCollection.removeExistingInterval(interval);
470
518
  if (interval) {
471
519
  // Local ops get submitted to the server. Remote ops have the deserializer run.
472
- if (local) {
520
+ if (local && rollback !== true) {
473
521
  this.submitDelta({
474
522
  opName: "delete",
475
523
  value: interval.serialize(),
476
524
  }, {
477
525
  localSeq: this.getNextLocalSeq(),
526
+ previous: interval.serialize(),
478
527
  });
479
528
  }
480
529
  else {
@@ -494,14 +543,14 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
494
543
  }
495
544
  const interval = this.localCollection.idIntervalIndex.getIntervalById(id);
496
545
  if (interval) {
497
- this.deleteExistingInterval(interval, true, undefined);
546
+ this.deleteExistingInterval({ interval, local: true });
498
547
  }
499
548
  return interval;
500
549
  }
501
550
  /**
502
551
  * {@inheritdoc IIntervalCollection.change}
503
552
  */
504
- change(id, { start, end, props }) {
553
+ change(id, { start, end, props, rollback, }) {
505
554
  if (!this.localCollection) {
506
555
  throw new internal_3.LoggingError("Attach must be called before accessing intervals");
507
556
  }
@@ -523,7 +572,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
523
572
  let deltaProps;
524
573
  let newInterval;
525
574
  if (props !== undefined) {
526
- deltaProps = interval.changeProperties(props);
575
+ deltaProps = interval.changeProperties(props, undefined, rollback);
527
576
  }
528
577
  const changeEndpoints = start !== undefined && end !== undefined;
529
578
  if (changeEndpoints) {
@@ -533,27 +582,25 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
533
582
  setSlideOnRemove(newInterval.end);
534
583
  }
535
584
  }
536
- // Emit a property bag containing the ID and the other (if any) properties changed
537
- const serializedInterval = (newInterval ?? interval).serializeDelta({
538
- props,
539
- includeEndpoints: changeEndpoints,
540
- });
541
- const localSeq = this.getNextLocalSeq();
542
- if (this.isCollaborating) {
585
+ if (this.isCollaborating && rollback !== true) {
586
+ // Emit a property bag containing the ID and the other (if any) properties changed
587
+ const serializedInterval = (newInterval ?? interval).serializeDelta({ props, includeEndpoints: changeEndpoints });
588
+ const localSeq = this.getNextLocalSeq();
543
589
  this.localSeqToSerializedInterval.set(localSeq, serializedInterval);
590
+ this.addPendingChange(id, serializedInterval);
591
+ this.submitDelta({
592
+ opName: "change",
593
+ value: serializedInterval,
594
+ }, {
595
+ localSeq,
596
+ previous: interval.serialize(),
597
+ });
544
598
  }
545
- this.submitDelta({
546
- opName: "change",
547
- value: serializedInterval,
548
- }, {
549
- localSeq,
550
- });
551
599
  if (deltaProps !== undefined) {
552
600
  this.emit("propertyChanged", interval, deltaProps, true, undefined);
553
601
  this.emit("changed", newInterval ?? interval, deltaProps, newInterval ? interval : undefined, true, false);
554
602
  }
555
603
  if (newInterval) {
556
- this.addPendingChange(id, serializedInterval);
557
604
  this.emitChange(newInterval, interval, true, false);
558
605
  this.client?.removeLocalReferencePosition(interval.start);
559
606
  this.client?.removeLocalReferencePosition(interval.end);
@@ -849,7 +896,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
849
896
  const { id } = (0, index_js_2.getSerializedProperties)(serializedInterval);
850
897
  const interval = this.localCollection.idIntervalIndex.getIntervalById(id);
851
898
  if (interval) {
852
- this.deleteExistingInterval(interval, local, op);
899
+ this.deleteExistingInterval({ interval, local, op });
853
900
  }
854
901
  }
855
902
  serializeInternal(version) {