@fluidframework/sequence 2.0.0-dev.7.4.0.217212 → 2.0.0-dev.7.4.0.221926

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 (121) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/api-extractor.json +0 -3
  3. package/api-report/sequence.api.md +33 -25
  4. package/dist/intervalCollection.d.ts +31 -6
  5. package/dist/intervalCollection.d.ts.map +1 -1
  6. package/dist/intervalCollection.js +45 -43
  7. package/dist/intervalCollection.js.map +1 -1
  8. package/dist/intervalIndex/intervalIndex.d.ts +1 -1
  9. package/dist/intervalIndex/intervalIndex.js.map +1 -1
  10. package/dist/intervals/intervalUtils.d.ts +6 -7
  11. package/dist/intervals/intervalUtils.d.ts.map +1 -1
  12. package/dist/intervals/intervalUtils.js +2 -2
  13. package/dist/intervals/intervalUtils.js.map +1 -1
  14. package/dist/intervals/sequenceInterval.d.ts +1 -1
  15. package/dist/intervals/sequenceInterval.js +1 -1
  16. package/dist/intervals/sequenceInterval.js.map +1 -1
  17. package/dist/packageVersion.d.ts +1 -1
  18. package/dist/packageVersion.js +1 -1
  19. package/dist/packageVersion.js.map +1 -1
  20. package/dist/sequence-alpha.d.ts +1188 -106
  21. package/dist/sequence-beta.d.ts +44 -0
  22. package/dist/sequence-public.d.ts +44 -0
  23. package/dist/sequence-untrimmed.d.ts +40 -26
  24. package/dist/sequence.d.ts +2 -2
  25. package/dist/sequence.js +1 -1
  26. package/dist/sequence.js.map +1 -1
  27. package/dist/sequenceDeltaEvent.d.ts +4 -4
  28. package/dist/sequenceDeltaEvent.js +3 -3
  29. package/dist/sequenceDeltaEvent.js.map +1 -1
  30. package/dist/sequenceFactory.d.ts +1 -1
  31. package/dist/sequenceFactory.js +1 -1
  32. package/dist/sequenceFactory.js.map +1 -1
  33. package/dist/sharedIntervalCollection.d.ts +1 -1
  34. package/dist/sharedIntervalCollection.js.map +1 -1
  35. package/dist/sharedString.d.ts +3 -3
  36. package/dist/sharedString.js +1 -1
  37. package/dist/sharedString.js.map +1 -1
  38. package/lib/defaultMap.js +22 -18
  39. package/lib/defaultMap.js.map +1 -1
  40. package/lib/defaultMapInterfaces.js +2 -1
  41. package/lib/defaultMapInterfaces.js.map +1 -1
  42. package/lib/index.js +45 -10
  43. package/lib/index.js.map +1 -1
  44. package/lib/intervalCollection.d.ts +31 -6
  45. package/lib/intervalCollection.d.ts.map +1 -1
  46. package/lib/intervalCollection.js +169 -154
  47. package/lib/intervalCollection.js.map +1 -1
  48. package/lib/intervalIndex/endpointInRangeIndex.js +17 -12
  49. package/lib/intervalIndex/endpointInRangeIndex.js.map +1 -1
  50. package/lib/intervalIndex/endpointIndex.js +13 -8
  51. package/lib/intervalIndex/endpointIndex.js.map +1 -1
  52. package/lib/intervalIndex/idIntervalIndex.js +8 -4
  53. package/lib/intervalIndex/idIntervalIndex.js.map +1 -1
  54. package/lib/intervalIndex/index.js +19 -6
  55. package/lib/intervalIndex/index.js.map +1 -1
  56. package/lib/intervalIndex/intervalIndex.d.ts +1 -1
  57. package/lib/intervalIndex/intervalIndex.js +2 -1
  58. package/lib/intervalIndex/intervalIndex.js.map +1 -1
  59. package/lib/intervalIndex/intervalIndexUtils.js +8 -4
  60. package/lib/intervalIndex/intervalIndexUtils.js.map +1 -1
  61. package/lib/intervalIndex/overlappingIntervalsIndex.js +15 -10
  62. package/lib/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  63. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js +14 -10
  64. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  65. package/lib/intervalIndex/sequenceIntervalIndexes.js +2 -1
  66. package/lib/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  67. package/lib/intervalIndex/startpointInRangeIndex.js +17 -12
  68. package/lib/intervalIndex/startpointInRangeIndex.js.map +1 -1
  69. package/lib/intervalTree.js +9 -4
  70. package/lib/intervalTree.js.map +1 -1
  71. package/lib/intervals/index.js +18 -3
  72. package/lib/intervals/index.js.map +1 -1
  73. package/lib/intervals/interval.js +18 -13
  74. package/lib/intervals/interval.js.map +1 -1
  75. package/lib/intervals/intervalUtils.d.ts +6 -7
  76. package/lib/intervals/intervalUtils.d.ts.map +1 -1
  77. package/lib/intervals/intervalUtils.js +20 -15
  78. package/lib/intervals/intervalUtils.js.map +1 -1
  79. package/lib/intervals/sequenceInterval.d.ts +1 -1
  80. package/lib/intervals/sequenceInterval.js +66 -60
  81. package/lib/intervals/sequenceInterval.js.map +1 -1
  82. package/lib/localValues.js +9 -4
  83. package/lib/localValues.js.map +1 -1
  84. package/lib/packageVersion.d.ts +1 -1
  85. package/lib/packageVersion.js +5 -2
  86. package/lib/packageVersion.js.map +1 -1
  87. package/lib/revertibles.js +69 -59
  88. package/lib/revertibles.js.map +1 -1
  89. package/lib/sequence-alpha.d.ts +1188 -106
  90. package/lib/sequence-beta.d.ts +44 -0
  91. package/lib/sequence-public.d.ts +44 -0
  92. package/lib/sequence-untrimmed.d.ts +40 -26
  93. package/lib/sequence.d.ts +2 -2
  94. package/lib/sequence.js +45 -40
  95. package/lib/sequence.js.map +1 -1
  96. package/lib/sequenceDeltaEvent.d.ts +4 -4
  97. package/lib/sequenceDeltaEvent.js +16 -10
  98. package/lib/sequenceDeltaEvent.js.map +1 -1
  99. package/lib/sequenceFactory.d.ts +1 -1
  100. package/lib/sequenceFactory.js +14 -10
  101. package/lib/sequenceFactory.js.map +1 -1
  102. package/lib/sharedIntervalCollection.d.ts +1 -1
  103. package/lib/sharedIntervalCollection.js +18 -13
  104. package/lib/sharedIntervalCollection.js.map +1 -1
  105. package/lib/sharedSequence.js +11 -6
  106. package/lib/sharedSequence.js.map +1 -1
  107. package/lib/sharedString.d.ts +3 -3
  108. package/lib/sharedString.js +22 -17
  109. package/lib/sharedString.js.map +1 -1
  110. package/package.json +18 -17
  111. package/sequence.test-files.tar +0 -0
  112. package/src/intervalCollection.ts +88 -55
  113. package/src/intervalIndex/intervalIndex.ts +1 -1
  114. package/src/intervals/intervalUtils.ts +6 -7
  115. package/src/intervals/sequenceInterval.ts +1 -1
  116. package/src/packageVersion.ts +1 -1
  117. package/src/sequence.ts +2 -2
  118. package/src/sequenceDeltaEvent.ts +4 -4
  119. package/src/sequenceFactory.ts +1 -1
  120. package/src/sharedIntervalCollection.ts +1 -1
  121. package/src/sharedString.ts +3 -3
@@ -87,7 +87,7 @@ import {
87
87
  * If a SequencePlace is the endpoint of a range (e.g. start/end of an interval or search range),
88
88
  * the Side value means it is exclusive if it is nearer to the other position and inclusive if it is farther.
89
89
  * E.g. the start of a range with Side.After is exclusive of the character at the position.
90
- * @internal
90
+ * @alpha
91
91
  */
92
92
  export type SequencePlace = number | "start" | "end" | InteriorSequencePlace;
93
93
 
@@ -95,7 +95,7 @@ export type SequencePlace = number | "start" | "end" | InteriorSequencePlace;
95
95
  * A sequence place that does not refer to the special endpoint segments.
96
96
  *
97
97
  * See {@link SequencePlace} for additional context.
98
- * @internal
98
+ * @alpha
99
99
  */
100
100
  export interface InteriorSequencePlace {
101
101
  pos: number;
@@ -106,7 +106,7 @@ export interface InteriorSequencePlace {
106
106
  * Defines a side relative to a character in a sequence.
107
107
  *
108
108
  * @remarks See {@link SequencePlace} for additional context on usage.
109
- * @internal
109
+ * @alpha
110
110
  */
111
111
  export enum Side {
112
112
  Before = 0,
@@ -626,7 +626,7 @@ export function makeOpsMap<T extends ISerializableInterval>(): Map<
626
626
  }
627
627
 
628
628
  /**
629
- * @internal
629
+ * @alpha
630
630
  */
631
631
  export type DeserializeCallback = (properties: PropertySet) => void;
632
632
 
@@ -665,7 +665,7 @@ class IntervalCollectionIterator<TInterval extends ISerializableInterval>
665
665
 
666
666
  /**
667
667
  * Change events emitted by `IntervalCollection`s
668
- * @internal
668
+ * @alpha
669
669
  */
670
670
  export interface IIntervalCollectionEvent<TInterval extends ISerializableInterval> extends IEvent {
671
671
  /**
@@ -733,7 +733,7 @@ const isSequencePlace = (place: any): place is SequencePlace => {
733
733
  /**
734
734
  * Collection of intervals that supports addition, modification, removal, and efficient spatial querying.
735
735
  * Changes to this collection will be incur updates on collaborating clients (i.e. they are not local-only).
736
- * @internal
736
+ * @alpha
737
737
  */
738
738
  export interface IIntervalCollection<TInterval extends ISerializableInterval>
739
739
  extends TypedEventEmitter<IIntervalCollectionEvent<TInterval>> {
@@ -865,6 +865,7 @@ export interface IIntervalCollection<TInterval extends ISerializableInterval>
865
865
  removeIntervalById(id: string): TInterval | undefined;
866
866
  /**
867
867
  * Changes the properties on an existing interval.
868
+ * @deprecated - call change with the id and and object containing the new properties
868
869
  * @param id - Id of the interval whose properties should be changed
869
870
  * @param props - Property set to apply to the interval. Shallow merging is used between any existing properties
870
871
  * and `prop`, i.e. the interval will end up with a property object equivalent to `{ ...oldProps, ...props }`.
@@ -872,12 +873,25 @@ export interface IIntervalCollection<TInterval extends ISerializableInterval>
872
873
  changeProperties(id: string, props: PropertySet);
873
874
  /**
874
875
  * Changes the endpoints of an existing interval.
876
+ * @deprecated - call change with the start and end parameters encapsulated in an object
875
877
  * @param id - Id of the interval to change
876
878
  * @param start - New start value. To leave the endpoint unchanged, pass the current value.
877
879
  * @param end - New end value. To leave the endpoint unchanged, pass the current value.
878
880
  * @returns the interval that was changed, if it existed in the collection.
879
881
  */
880
882
  change(id: string, start: SequencePlace, end: SequencePlace): TInterval | undefined;
883
+ /**
884
+ * Changes the endpoints, properties, or both of an existing interval.
885
+ * @param id - Id of the Interval to change
886
+ * @returns the interval that was changed, if it existed in the collection.
887
+ * Pass the desired new start position, end position, and/or properties in an object. Start and end positions must be changed
888
+ * simultaneously - they must either both be specified or both undefined. To only change the properties, leave both endpoints
889
+ * undefined. To only change the endpoints, leave the properties undefined.
890
+ */
891
+ change(
892
+ id: string,
893
+ { start, end, props }: { start?: SequencePlace; end?: SequencePlace; props?: PropertySet },
894
+ ): TInterval | undefined;
881
895
 
882
896
  attachDeserializer(onDeserialize: DeserializeCallback): void;
883
897
  /**
@@ -1390,70 +1404,83 @@ export class IntervalCollection<TInterval extends ISerializableInterval>
1390
1404
 
1391
1405
  /**
1392
1406
  * {@inheritdoc IIntervalCollection.changeProperties}
1407
+ * @deprecated - call change with the id and an object containing the new props values
1393
1408
  */
1394
1409
  public changeProperties(id: string, props: PropertySet) {
1395
- if (!this.attached) {
1396
- throw new LoggingError("Attach must be called before accessing intervals");
1397
- }
1398
- if (typeof id !== "string") {
1399
- throw new LoggingError("Change API requires an ID that is a string");
1400
- }
1401
- if (!props) {
1402
- throw new LoggingError("changeProperties should be called with a property set");
1403
- }
1404
- // prevent the overwriting of an interval label, it should remain unchanged
1405
- // once it has been inserted into the collection.
1406
- if (props[reservedRangeLabelsKey] !== undefined) {
1407
- throw new LoggingError(
1408
- "The label property should not be modified once inserted to the collection",
1409
- );
1410
- }
1411
-
1412
- const interval = this.getIntervalById(id);
1413
- if (interval) {
1414
- const deltaProps = interval.addProperties(
1415
- props,
1416
- true,
1417
- this.isCollaborating ? UnassignedSequenceNumber : UniversalSequenceNumber,
1418
- );
1419
- const serializedInterval: ISerializedInterval = interval.serialize();
1420
-
1421
- // Emit a change op that will only change properties. Add the ID to
1422
- // the property bag provided by the caller.
1423
- serializedInterval.start = undefined as any;
1424
- serializedInterval.end = undefined as any;
1425
-
1426
- serializedInterval.properties = props;
1427
- serializedInterval.properties[reservedIntervalIdKey] = interval.getIntervalId();
1428
- const localSeq = this.getNextLocalSeq();
1429
- this.localSeqToSerializedInterval.set(localSeq, serializedInterval);
1430
- this.emitter.emit("change", undefined, serializedInterval, { localSeq });
1431
- this.emit("propertyChanged", interval, deltaProps, true, undefined);
1432
- }
1410
+ this.change(id, { props });
1433
1411
  }
1434
1412
 
1413
+ /**
1414
+ * {@inheritdoc IIntervalCollection.change}
1415
+ * @deprecated - call change with the id and an object containing the new start, end, and/or props values
1416
+ */
1417
+ public change(id: string, start: SequencePlace, end: SequencePlace): TInterval | undefined;
1435
1418
  /**
1436
1419
  * {@inheritdoc IIntervalCollection.change}
1437
1420
  */
1438
- public change(id: string, start: SequencePlace, end: SequencePlace) {
1421
+ public change(
1422
+ id: string,
1423
+ { start, end, props }: { start?: SequencePlace; end?: SequencePlace; props?: PropertySet },
1424
+ ): TInterval | undefined;
1425
+ public change(
1426
+ arg1: string,
1427
+ arg2: SequencePlace | { start?: SequencePlace; end?: SequencePlace; props?: PropertySet },
1428
+ arg3?: SequencePlace,
1429
+ ): TInterval | undefined {
1430
+ const id: string = arg1;
1431
+ let start: SequencePlace | undefined;
1432
+ let end: SequencePlace | undefined;
1433
+ let props: PropertySet | undefined;
1434
+ if (isSequencePlace(arg2)) {
1435
+ start = arg2;
1436
+ end = arg3;
1437
+ } else {
1438
+ start = arg2.start;
1439
+ end = arg2.end;
1440
+ props = arg2.props;
1441
+ }
1442
+
1439
1443
  if (!this.localCollection) {
1440
1444
  throw new LoggingError("Attach must be called before accessing intervals");
1441
1445
  }
1442
1446
 
1443
1447
  // Force id to be a string.
1444
1448
  if (typeof id !== "string") {
1445
- throw new LoggingError("Change API requires an ID that is a string");
1449
+ throw new UsageError("Change API requires an ID that is a string");
1450
+ }
1451
+
1452
+ // Ensure that both start and end are defined or both are undefined.
1453
+ if ((start === undefined) !== (end === undefined)) {
1454
+ throw new UsageError(
1455
+ "Change API requires both start and end to be defined or undefined",
1456
+ );
1457
+ }
1458
+
1459
+ // prevent the overwriting of an interval label, it should remain unchanged
1460
+ // once it has been inserted into the collection.
1461
+ if (props?.[reservedRangeLabelsKey] !== undefined) {
1462
+ throw new UsageError(
1463
+ "The label property should not be modified once inserted to the collection",
1464
+ );
1446
1465
  }
1447
1466
 
1448
1467
  const interval = this.getIntervalById(id);
1449
1468
  if (interval) {
1450
- const newInterval = this.localCollection.changeInterval(interval, start, end);
1451
- if (!newInterval) {
1452
- return undefined;
1469
+ let deltaProps: PropertySet | undefined;
1470
+ let newInterval: TInterval | undefined;
1471
+ if (props !== undefined) {
1472
+ deltaProps = interval.addProperties(
1473
+ props,
1474
+ true,
1475
+ this.isCollaborating ? UnassignedSequenceNumber : UniversalSequenceNumber,
1476
+ );
1453
1477
  }
1454
- if (!this.isCollaborating && newInterval instanceof SequenceInterval) {
1455
- setSlideOnRemove(newInterval.start);
1456
- setSlideOnRemove(newInterval.end);
1478
+ if (start !== undefined && end !== undefined) {
1479
+ newInterval = this.localCollection.changeInterval(interval, start, end);
1480
+ if (!this.isCollaborating && newInterval instanceof SequenceInterval) {
1481
+ setSlideOnRemove(newInterval.start);
1482
+ setSlideOnRemove(newInterval.end);
1483
+ }
1457
1484
  }
1458
1485
  const serializedInterval: SerializedIntervalDelta = interval.serialize();
1459
1486
  const { startPos, startSide, endPos, endSide } = endpointPosAndSide(start, end);
@@ -1463,15 +1490,21 @@ export class IntervalCollection<TInterval extends ISerializableInterval>
1463
1490
  serializedInterval.startSide = startSide;
1464
1491
  serializedInterval.endSide = endSide;
1465
1492
  serializedInterval.stickiness = stickiness;
1466
- // Emit a property bag containing only the ID, as we don't intend for this op to change any properties.
1493
+ // Emit a property bag containing the ID and the other (if any) properties changed
1467
1494
  serializedInterval.properties = {
1468
1495
  [reservedIntervalIdKey]: interval.getIntervalId(),
1496
+ ...props,
1469
1497
  };
1470
1498
  const localSeq = this.getNextLocalSeq();
1471
1499
  this.localSeqToSerializedInterval.set(localSeq, serializedInterval);
1472
1500
  this.emitter.emit("change", undefined, serializedInterval, { localSeq });
1473
- this.addPendingChange(id, serializedInterval);
1474
- this.emitChange(newInterval, interval, true, false);
1501
+ if (deltaProps !== undefined) {
1502
+ this.emit("propertyChanged", interval, deltaProps, true, undefined);
1503
+ }
1504
+ if (newInterval) {
1505
+ this.addPendingChange(id, serializedInterval);
1506
+ this.emitChange(newInterval, interval, true, false);
1507
+ }
1475
1508
  return newInterval;
1476
1509
  }
1477
1510
  // No interval to change
@@ -13,7 +13,7 @@ import { ISerializableInterval } from "../intervals";
13
13
  * - "find all intervals with start endpoint between these two points"
14
14
  * - "find all intervals which overlap this range"
15
15
  * etc.
16
- * @internal
16
+ * @alpha
17
17
  */
18
18
  export interface IntervalIndex<TInterval extends ISerializableInterval> {
19
19
  /**
@@ -17,7 +17,7 @@ import { SequencePlace, Side } from "../intervalCollection";
17
17
 
18
18
  /**
19
19
  * Basic interval abstraction
20
- * @internal
20
+ * @alpha
21
21
  */
22
22
  export interface IInterval {
23
23
  /**
@@ -84,7 +84,7 @@ export const IntervalOpType = {
84
84
  */
85
85
  export type IntervalOpType = (typeof IntervalOpType)[keyof typeof IntervalOpType];
86
86
  /**
87
- * @internal
87
+ * @alpha
88
88
  */
89
89
  export enum IntervalType {
90
90
  Simple = 0x0,
@@ -111,7 +111,7 @@ export enum IntervalType {
111
111
  /**
112
112
  * Serialized object representation of an interval.
113
113
  * This representation is used for ops that create or change intervals.
114
- * @internal
114
+ * @alpha
115
115
  */
116
116
  export interface ISerializedInterval {
117
117
  /**
@@ -139,7 +139,7 @@ export interface ISerializedInterval {
139
139
  }
140
140
 
141
141
  /**
142
- * @internal
142
+ * @alpha
143
143
  */
144
144
  export interface ISerializableInterval extends IInterval {
145
145
  /** Serializable bag of properties associated with the interval. */
@@ -240,7 +240,7 @@ export interface IIntervalHelpers<TInterval extends ISerializableInterval> {
240
240
  * Note that interval stickiness is currently an experimental feature and must
241
241
  * be explicitly enabled with the `intervalStickinessEnabled` flag
242
242
  *
243
- * @internal
243
+ * @alpha
244
244
  */
245
245
  export const IntervalStickiness = {
246
246
  /**
@@ -272,8 +272,7 @@ export const IntervalStickiness = {
272
272
  *
273
273
  * Note that interval stickiness is currently an experimental feature and must
274
274
  * be explicitly enabled with the `intervalStickinessEnabled` flag
275
- *
276
- * @internal
275
+ * @alpha
277
276
  */
278
277
  export type IntervalStickiness = (typeof IntervalStickiness)[keyof typeof IntervalStickiness];
279
278
 
@@ -100,7 +100,7 @@ function maxSide(sideA: Side, sideB: Side): Side {
100
100
  * `mergeTreeReferencesCanSlideToEndpoint` feature flag set to true, the endpoints
101
101
  * of the interval that are exclusive will have the ability to slide to these
102
102
  * special endpoint segments.
103
- * @internal
103
+ * @alpha
104
104
  */
105
105
  export class SequenceInterval implements ISerializableInterval {
106
106
  /**
@@ -6,4 +6,4 @@
6
6
  */
7
7
 
8
8
  export const pkgName = "@fluidframework/sequence";
9
- export const pkgVersion = "2.0.0-dev.7.4.0.217212";
9
+ export const pkgVersion = "2.0.0-dev.7.4.0.221926";
package/src/sequence.ts CHANGED
@@ -98,7 +98,7 @@ const contentPath = "content";
98
98
  * - `event` - Various information on the segments that were modified.
99
99
  *
100
100
  * - `target` - The sequence itself.
101
- * @internal
101
+ * @alpha
102
102
  */
103
103
  export interface ISharedSegmentSequenceEvents extends ISharedObjectEvents {
104
104
  (
@@ -116,7 +116,7 @@ export interface ISharedSegmentSequenceEvents extends ISharedObjectEvents {
116
116
  }
117
117
 
118
118
  /**
119
- * @internal
119
+ * @alpha
120
120
  */
121
121
  export abstract class SharedSegmentSequence<T extends ISegment>
122
122
  extends SharedObject<ISharedSegmentSequenceEvents>
@@ -25,7 +25,7 @@ import {
25
25
  * The properties of this object and its sub-objects represent the state of the sequence at the
26
26
  * point in time at which the operation was applied.
27
27
  * They will not take into any future modifications performed to the underlying sequence and merge tree.
28
- * @internal
28
+ * @alpha
29
29
  */
30
30
  export abstract class SequenceEvent<
31
31
  TOperation extends MergeTreeDeltaOperationTypes = MergeTreeDeltaOperationTypes,
@@ -108,7 +108,7 @@ export abstract class SequenceEvent<
108
108
  * For group ops, each op will get its own event, and the group op property will be set on the op args.
109
109
  *
110
110
  * Ops may get multiple events. For instance, an insert-replace will get a remove then an insert event.
111
- * @internal
111
+ * @alpha
112
112
  */
113
113
  export class SequenceDeltaEvent extends SequenceEvent<MergeTreeDeltaOperationType> {
114
114
  /**
@@ -132,7 +132,7 @@ export class SequenceDeltaEvent extends SequenceEvent<MergeTreeDeltaOperationTyp
132
132
  * The properties of this object and its sub-objects represent the state of the sequence at the
133
133
  * point in time at which the operation was applied.
134
134
  * They will not take into consideration any future modifications performed to the underlying sequence and merge tree.
135
- * @internal
135
+ * @alpha
136
136
  */
137
137
  export class SequenceMaintenanceEvent extends SequenceEvent<MergeTreeMaintenanceType> {
138
138
  constructor(
@@ -146,7 +146,7 @@ export class SequenceMaintenanceEvent extends SequenceEvent<MergeTreeMaintenance
146
146
 
147
147
  /**
148
148
  * A range that has changed corresponding to a segment modification.
149
- * @internal
149
+ * @alpha
150
150
  */
151
151
  export interface ISequenceDeltaRange<
152
152
  TOperation extends MergeTreeDeltaOperationTypes = MergeTreeDeltaOperationTypes,
@@ -14,7 +14,7 @@ import { pkgVersion } from "./packageVersion";
14
14
  import { SharedString, SharedStringSegment } from "./sharedString";
15
15
 
16
16
  /**
17
- * @internal
17
+ * @alpha
18
18
  */
19
19
  export class SharedStringFactory implements IChannelFactory {
20
20
  // TODO rename back to https://graph.microsoft.com/types/mergeTree/string once paparazzi is able to dynamically
@@ -76,7 +76,7 @@ export class SharedIntervalCollectionFactory implements IChannelFactory {
76
76
  }
77
77
 
78
78
  /**
79
- * @internal
79
+ * @alpha
80
80
  */
81
81
  export interface ISharedIntervalCollection<TInterval extends ISerializableInterval> {
82
82
  getIntervalCollection(label: string): IIntervalCollection<TInterval>;
@@ -24,7 +24,7 @@ import { SharedStringFactory } from "./sequenceFactory";
24
24
 
25
25
  /**
26
26
  * Fluid object interface describing access methods on a SharedString
27
- * @internal
27
+ * @alpha
28
28
  */
29
29
  export interface ISharedString extends SharedSegmentSequence<SharedStringSegment> {
30
30
  /**
@@ -54,7 +54,7 @@ export interface ISharedString extends SharedSegmentSequence<SharedStringSegment
54
54
  }
55
55
 
56
56
  /**
57
- * @internal
57
+ * @alpha
58
58
  */
59
59
  export type SharedStringSegment = TextSegment | Marker;
60
60
 
@@ -66,7 +66,7 @@ export type SharedStringSegment = TextSegment | Marker;
66
66
  * In addition to text, a Shared String can also contain markers. Markers can be
67
67
  * used to store metadata at positions within the text, like the details of an
68
68
  * image or Fluid object that should be rendered with the text.
69
- * @internal
69
+ * @alpha
70
70
  */
71
71
  export class SharedString
72
72
  extends SharedSegmentSequence<SharedStringSegment>