@fluidframework/sequence 2.0.0-rc.4.0.6 → 2.0.0-rc.5.0.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.
Files changed (168) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/api-extractor/api-extractor-lint-beta.cjs.json +5 -0
  3. package/api-extractor/api-extractor-lint-beta.esm.json +5 -0
  4. package/api-extractor/api-extractor-lint-bundle.json +5 -0
  5. package/api-extractor/api-extractor-lint-legacy.cjs.json +5 -0
  6. package/api-extractor/api-extractor-lint-legacy.esm.json +5 -0
  7. package/api-extractor/api-extractor-lint-public.cjs.json +5 -0
  8. package/api-extractor/api-extractor-lint-public.esm.json +5 -0
  9. package/api-extractor.json +1 -1
  10. package/api-report/{sequence.api.md → sequence.alpha.api.md} +71 -244
  11. package/api-report/sequence.beta.api.md +83 -0
  12. package/api-report/sequence.public.api.md +83 -0
  13. package/biome.jsonc +4 -0
  14. package/dist/IntervalCollectionValues.d.ts +1 -1
  15. package/dist/IntervalCollectionValues.d.ts.map +1 -1
  16. package/dist/IntervalCollectionValues.js.map +1 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/intervalCollection.d.ts +1 -1
  21. package/dist/intervalCollection.d.ts.map +1 -1
  22. package/dist/intervalCollection.js +4 -6
  23. package/dist/intervalCollection.js.map +1 -1
  24. package/dist/intervalCollectionMap.d.ts +2 -2
  25. package/dist/intervalCollectionMap.d.ts.map +1 -1
  26. package/dist/intervalCollectionMap.js.map +1 -1
  27. package/dist/intervalCollectionMapInterfaces.d.ts +2 -2
  28. package/dist/intervalCollectionMapInterfaces.d.ts.map +1 -1
  29. package/dist/intervalCollectionMapInterfaces.js.map +1 -1
  30. package/dist/intervalIndex/endpointInRangeIndex.d.ts.map +1 -1
  31. package/dist/intervalIndex/endpointInRangeIndex.js.map +1 -1
  32. package/dist/intervalIndex/endpointIndex.d.ts.map +1 -1
  33. package/dist/intervalIndex/endpointIndex.js.map +1 -1
  34. package/dist/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  35. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.d.ts.map +1 -1
  36. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js +0 -3
  37. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  38. package/dist/intervalIndex/startpointInRangeIndex.d.ts.map +1 -1
  39. package/dist/intervalIndex/startpointInRangeIndex.js.map +1 -1
  40. package/dist/intervalTree.js.map +1 -1
  41. package/dist/intervals/interval.d.ts +1 -1
  42. package/dist/intervals/interval.d.ts.map +1 -1
  43. package/dist/intervals/interval.js.map +1 -1
  44. package/dist/intervals/intervalUtils.d.ts +2 -2
  45. package/dist/intervals/intervalUtils.d.ts.map +1 -1
  46. package/dist/intervals/intervalUtils.js +0 -1
  47. package/dist/intervals/intervalUtils.js.map +1 -1
  48. package/dist/intervals/sequenceInterval.d.ts +1 -1
  49. package/dist/intervals/sequenceInterval.d.ts.map +1 -1
  50. package/dist/intervals/sequenceInterval.js +1 -1
  51. package/dist/intervals/sequenceInterval.js.map +1 -1
  52. package/dist/legacy.d.ts +1 -0
  53. package/dist/packageVersion.d.ts +1 -1
  54. package/dist/packageVersion.js +1 -1
  55. package/dist/packageVersion.js.map +1 -1
  56. package/dist/revertibles.d.ts.map +1 -1
  57. package/dist/revertibles.js +3 -3
  58. package/dist/revertibles.js.map +1 -1
  59. package/dist/sequence.d.ts +168 -133
  60. package/dist/sequence.d.ts.map +1 -1
  61. package/dist/sequence.js +59 -240
  62. package/dist/sequence.js.map +1 -1
  63. package/dist/sequenceDeltaEvent.js.map +1 -1
  64. package/dist/sequenceFactory.d.ts +2 -3
  65. package/dist/sequenceFactory.d.ts.map +1 -1
  66. package/dist/sequenceFactory.js.map +1 -1
  67. package/dist/sharedIntervalCollection.d.ts +4 -5
  68. package/dist/sharedIntervalCollection.d.ts.map +1 -1
  69. package/dist/sharedIntervalCollection.js +5 -5
  70. package/dist/sharedIntervalCollection.js.map +1 -1
  71. package/dist/sharedSequence.d.ts +1 -2
  72. package/dist/sharedSequence.d.ts.map +1 -1
  73. package/dist/sharedSequence.js.map +1 -1
  74. package/dist/sharedString.d.ts +3 -3
  75. package/dist/sharedString.d.ts.map +1 -1
  76. package/dist/sharedString.js.map +1 -1
  77. package/lib/IntervalCollectionValues.d.ts +1 -1
  78. package/lib/IntervalCollectionValues.d.ts.map +1 -1
  79. package/lib/IntervalCollectionValues.js +1 -1
  80. package/lib/IntervalCollectionValues.js.map +1 -1
  81. package/lib/index.d.ts +1 -1
  82. package/lib/index.d.ts.map +1 -1
  83. package/lib/index.js +1 -1
  84. package/lib/index.js.map +1 -1
  85. package/lib/intervalCollection.d.ts +1 -1
  86. package/lib/intervalCollection.d.ts.map +1 -1
  87. package/lib/intervalCollection.js +4 -6
  88. package/lib/intervalCollection.js.map +1 -1
  89. package/lib/intervalCollectionMap.d.ts +2 -2
  90. package/lib/intervalCollectionMap.d.ts.map +1 -1
  91. package/lib/intervalCollectionMap.js +1 -1
  92. package/lib/intervalCollectionMap.js.map +1 -1
  93. package/lib/intervalCollectionMapInterfaces.d.ts +2 -2
  94. package/lib/intervalCollectionMapInterfaces.d.ts.map +1 -1
  95. package/lib/intervalCollectionMapInterfaces.js.map +1 -1
  96. package/lib/intervalIndex/endpointInRangeIndex.d.ts.map +1 -1
  97. package/lib/intervalIndex/endpointInRangeIndex.js +1 -1
  98. package/lib/intervalIndex/endpointInRangeIndex.js.map +1 -1
  99. package/lib/intervalIndex/endpointIndex.d.ts.map +1 -1
  100. package/lib/intervalIndex/endpointIndex.js.map +1 -1
  101. package/lib/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  102. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.d.ts.map +1 -1
  103. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js +0 -3
  104. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  105. package/lib/intervalIndex/startpointInRangeIndex.d.ts.map +1 -1
  106. package/lib/intervalIndex/startpointInRangeIndex.js +1 -1
  107. package/lib/intervalIndex/startpointInRangeIndex.js.map +1 -1
  108. package/lib/intervalTree.js.map +1 -1
  109. package/lib/intervals/interval.d.ts +1 -1
  110. package/lib/intervals/interval.d.ts.map +1 -1
  111. package/lib/intervals/interval.js.map +1 -1
  112. package/lib/intervals/intervalUtils.d.ts +2 -2
  113. package/lib/intervals/intervalUtils.d.ts.map +1 -1
  114. package/lib/intervals/intervalUtils.js +0 -1
  115. package/lib/intervals/intervalUtils.js.map +1 -1
  116. package/lib/intervals/sequenceInterval.d.ts +1 -1
  117. package/lib/intervals/sequenceInterval.d.ts.map +1 -1
  118. package/lib/intervals/sequenceInterval.js +1 -1
  119. package/lib/intervals/sequenceInterval.js.map +1 -1
  120. package/lib/legacy.d.ts +1 -0
  121. package/lib/packageVersion.d.ts +1 -1
  122. package/lib/packageVersion.js +1 -1
  123. package/lib/packageVersion.js.map +1 -1
  124. package/lib/revertibles.d.ts.map +1 -1
  125. package/lib/revertibles.js +3 -3
  126. package/lib/revertibles.js.map +1 -1
  127. package/lib/sequence.d.ts +168 -133
  128. package/lib/sequence.d.ts.map +1 -1
  129. package/lib/sequence.js +42 -223
  130. package/lib/sequence.js.map +1 -1
  131. package/lib/sequenceDeltaEvent.js.map +1 -1
  132. package/lib/sequenceFactory.d.ts +2 -3
  133. package/lib/sequenceFactory.d.ts.map +1 -1
  134. package/lib/sequenceFactory.js.map +1 -1
  135. package/lib/sharedIntervalCollection.d.ts +4 -5
  136. package/lib/sharedIntervalCollection.d.ts.map +1 -1
  137. package/lib/sharedIntervalCollection.js +2 -2
  138. package/lib/sharedIntervalCollection.js.map +1 -1
  139. package/lib/sharedSequence.d.ts +1 -2
  140. package/lib/sharedSequence.d.ts.map +1 -1
  141. package/lib/sharedSequence.js.map +1 -1
  142. package/lib/sharedString.d.ts +3 -3
  143. package/lib/sharedString.d.ts.map +1 -1
  144. package/lib/sharedString.js.map +1 -1
  145. package/lib/tsdoc-metadata.json +1 -1
  146. package/package.json +77 -30
  147. package/src/IntervalCollectionValues.ts +8 -3
  148. package/src/index.ts +5 -1
  149. package/src/intervalCollection.ts +29 -18
  150. package/src/intervalCollectionMap.ts +6 -4
  151. package/src/intervalCollectionMapInterfaces.ts +2 -2
  152. package/src/intervalIndex/endpointInRangeIndex.ts +28 -22
  153. package/src/intervalIndex/endpointIndex.ts +3 -1
  154. package/src/intervalIndex/overlappingIntervalsIndex.ts +2 -2
  155. package/src/intervalIndex/overlappingSequenceIntervalsIndex.ts +0 -3
  156. package/src/intervalIndex/startpointInRangeIndex.ts +26 -20
  157. package/src/intervals/interval.ts +12 -9
  158. package/src/intervals/intervalUtils.ts +13 -5
  159. package/src/intervals/sequenceInterval.ts +2 -2
  160. package/src/packageVersion.ts +1 -1
  161. package/src/revertibles.ts +15 -11
  162. package/src/sequence.ts +302 -277
  163. package/src/sequenceFactory.ts +3 -5
  164. package/src/sharedIntervalCollection.ts +12 -6
  165. package/src/sharedSequence.ts +5 -2
  166. package/src/sharedString.ts +11 -4
  167. package/tsconfig.json +2 -0
  168. package/tsdoc.json +4 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @fluidframework/sequence
2
2
 
3
+ ## 2.0.0-rc.5.0.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
8
+
9
+ Update package implementations to use TypeScript 5.4.5.
10
+
11
+ - sequence: Stop ISharedString extending SharedObject ([#21067](https://github.com/microsoft/FluidFramework/pull/21067)) [47465f4b12](https://github.com/microsoft/FluidFramework/commit/47465f4b12056810112df30a6dad89282afc7a2d)
12
+
13
+ ISharedString no longer extends SharedSegmentSequence and instead extends the new ISharedSegmentSequence, which may be missing some APIs.
14
+
15
+ Attempt to migrate off the missing APIs, but if that is not practical, request they be added to ISharedSegmentSequence and cast to SharedSegmentSequence as a workaround temporally.
16
+
3
17
  ## 2.0.0-rc.4.0.0
4
18
 
5
19
  ### Minor Changes
@@ -0,0 +1,5 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "<projectFolder>/../../../common/build/build-common/api-extractor-lint.entrypoint.json",
4
+ "mainEntryPointFilePath": "<projectFolder>/dist/beta.d.ts"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "<projectFolder>/../../../common/build/build-common/api-extractor-lint.entrypoint.json",
4
+ "mainEntryPointFilePath": "<projectFolder>/lib/beta.d.ts"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "<projectFolder>/../../../common/build/build-common/api-extractor-lint.json",
4
+ "mainEntryPointFilePath": "<projectFolder>/lib/index.d.ts"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "<projectFolder>/../../../common/build/build-common/api-extractor-lint.entrypoint.json",
4
+ "mainEntryPointFilePath": "<projectFolder>/dist/legacy.d.ts"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "<projectFolder>/../../../common/build/build-common/api-extractor-lint.entrypoint.json",
4
+ "mainEntryPointFilePath": "<projectFolder>/lib/legacy.d.ts"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "<projectFolder>/../../../common/build/build-common/api-extractor-lint.entrypoint.json",
4
+ "mainEntryPointFilePath": "<projectFolder>/dist/public.d.ts"
5
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "<projectFolder>/../../../common/build/build-common/api-extractor-lint.entrypoint.json",
4
+ "mainEntryPointFilePath": "<projectFolder>/lib/public.d.ts"
5
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
- "extends": "../../../common/build/build-common/api-extractor-base.esm.primary.json"
3
+ "extends": "../../../common/build/build-common/api-extractor-base.esm.current.json"
4
4
  }
@@ -1,4 +1,4 @@
1
- ## API Report File for "@fluidframework/sequence"
1
+ ## Alpha API Report File for "@fluidframework/sequence"
2
2
 
3
3
  > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
4
 
@@ -6,15 +6,14 @@
6
6
 
7
7
  import { BaseSegment } from '@fluidframework/merge-tree/internal';
8
8
  import { Client } from '@fluidframework/merge-tree/internal';
9
- import { Deferred } from '@fluidframework/core-utils/internal';
10
- import { IChannelAttributes } from '@fluidframework/datastore-definitions';
11
- import { IChannelFactory } from '@fluidframework/datastore-definitions';
12
- import { IChannelServices } from '@fluidframework/datastore-definitions';
13
- import { IChannelStorageService } from '@fluidframework/datastore-definitions';
9
+ import { IChannelAttributes } from '@fluidframework/datastore-definitions/internal';
10
+ import { IChannelFactory } from '@fluidframework/datastore-definitions/internal';
11
+ import { IChannelServices } from '@fluidframework/datastore-definitions/internal';
12
+ import { IChannelStorageService } from '@fluidframework/datastore-definitions/internal';
14
13
  import { IEvent } from '@fluidframework/core-interfaces';
15
14
  import { IEventThisPlaceHolder } from '@fluidframework/core-interfaces';
16
- import { IFluidDataStoreRuntime } from '@fluidframework/datastore-definitions';
17
- import { IFluidSerializer } from '@fluidframework/shared-object-base';
15
+ import { IFluidDataStoreRuntime } from '@fluidframework/datastore-definitions/internal';
16
+ import { IFluidSerializer } from '@fluidframework/shared-object-base/internal';
18
17
  import { IJSONSegment } from '@fluidframework/merge-tree/internal';
19
18
  import { IMergeTreeDeltaCallbackArgs } from '@fluidframework/merge-tree/internal';
20
19
  import { IMergeTreeDeltaOpArgs } from '@fluidframework/merge-tree/internal';
@@ -23,11 +22,12 @@ import { IMergeTreeMaintenanceCallbackArgs } from '@fluidframework/merge-tree/in
23
22
  import { IRelativePosition } from '@fluidframework/merge-tree/internal';
24
23
  import { ISegment } from '@fluidframework/merge-tree/internal';
25
24
  import { ISegmentAction } from '@fluidframework/merge-tree/internal';
26
- import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
27
- import { ISharedObjectEvents } from '@fluidframework/shared-object-base';
28
- import type { ISharedObjectKind } from '@fluidframework/shared-object-base';
29
- import { ISummaryTreeWithStats } from '@fluidframework/runtime-definitions';
30
- import { ITelemetryContext } from '@fluidframework/runtime-definitions';
25
+ import { ISequencedDocumentMessage } from '@fluidframework/driver-definitions/internal';
26
+ import { ISharedObject } from '@fluidframework/shared-object-base/internal';
27
+ import { ISharedObjectEvents } from '@fluidframework/shared-object-base/internal';
28
+ import { ISharedObjectKind } from '@fluidframework/shared-object-base/internal';
29
+ import { ISummaryTreeWithStats } from '@fluidframework/runtime-definitions/internal';
30
+ import { ITelemetryContext } from '@fluidframework/runtime-definitions/internal';
31
31
  import { LocalReferencePosition } from '@fluidframework/merge-tree/internal';
32
32
  import { MapLike } from '@fluidframework/merge-tree/internal';
33
33
  import { Marker } from '@fluidframework/merge-tree/internal';
@@ -46,6 +46,7 @@ import { reservedRangeLabelsKey } from '@fluidframework/merge-tree/internal';
46
46
  import { reservedTileLabelsKey } from '@fluidframework/merge-tree/internal';
47
47
  import { Serializable } from '@fluidframework/datastore-definitions/internal';
48
48
  import { SharedObject } from '@fluidframework/shared-object-base/internal';
49
+ import { SharedObjectKind } from '@fluidframework/shared-object-base/internal';
49
50
  import { SlidingPreference } from '@fluidframework/merge-tree/internal';
50
51
  import { TextSegment } from '@fluidframework/merge-tree/internal';
51
52
  import { TrackingGroup } from '@fluidframework/merge-tree/internal';
@@ -68,58 +69,15 @@ export function appendSharedStringDeltaToRevertibles(string: ISharedString, delt
68
69
 
69
70
  export { BaseSegment }
70
71
 
71
- // @internal (undocumented)
72
- export function createEndpointIndex(sharedString: ISharedString): IEndpointIndex<SequenceInterval>;
73
-
74
- // @internal (undocumented)
75
- export function createEndpointInRangeIndex(sharedString: ISharedString): IEndpointInRangeIndex<SequenceInterval>;
76
-
77
- // @internal (undocumented)
78
- export function createIdIntervalIndex<TInterval extends ISerializableInterval>(): IIdIntervalIndex<TInterval>;
79
-
80
72
  // @alpha (undocumented)
81
73
  export function createOverlappingIntervalsIndex(sharedString: ISharedString): IOverlappingIntervalsIndex<SequenceInterval>;
82
74
 
83
- // @internal (undocumented)
84
- export function createOverlappingSequenceIntervalsIndex(sharedString: ISharedString): SequenceIntervalIndexes.Overlapping;
85
-
86
- // @internal (undocumented)
87
- export function createStartpointInRangeIndex(sharedString: ISharedString): IStartpointInRangeIndex<SequenceInterval>;
88
-
89
75
  // @alpha (undocumented)
90
76
  export type DeserializeCallback = (properties: PropertySet) => void;
91
77
 
92
78
  // @alpha
93
79
  export function discardSharedStringRevertibles(sharedString: ISharedString, revertibles: SharedStringRevertible[]): void;
94
80
 
95
- // @internal
96
- export function getTextAndMarkers(sharedString: ISharedString, label: string, start?: number, end?: number): {
97
- parallelText: string[];
98
- parallelMarkers: Marker[];
99
- };
100
-
101
- // @internal (undocumented)
102
- export interface IEndpointIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
103
- // (undocumented)
104
- nextInterval(pos: number): TInterval | undefined;
105
- // (undocumented)
106
- previousInterval(pos: number): TInterval | undefined;
107
- }
108
-
109
- // @internal
110
- export interface IEndpointInRangeIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
111
- // (undocumented)
112
- findIntervalsWithEndpointInRange(start: number, end: number): TInterval[];
113
- }
114
-
115
- // @internal (undocumented)
116
- export interface IIdIntervalIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval>, Iterable<TInterval> {
117
- // (undocumented)
118
- [Symbol.iterator](): Iterator<TInterval>;
119
- // (undocumented)
120
- getIntervalById(id: string): TInterval | undefined;
121
- }
122
-
123
81
  // @alpha
124
82
  export interface IInterval {
125
83
  // (undocumented)
@@ -182,24 +140,6 @@ export interface IIntervalCollectionEvent<TInterval extends ISerializableInterva
182
140
  (event: "changed", listener: (interval: TInterval, propertyDeltas: PropertySet, previousInterval: TInterval | undefined, local: boolean, slide: boolean) => void): void;
183
141
  }
184
142
 
185
- // @internal @sealed @deprecated (undocumented)
186
- export interface IIntervalHelpers<TInterval extends ISerializableInterval> {
187
- // (undocumented)
188
- create(label: string, start: SequencePlace | undefined, end: SequencePlace | undefined, client: Client | undefined, intervalType: IntervalType, op?: ISequencedDocumentMessage, fromSnapshot?: boolean, useNewSlidingBehavior?: boolean): TInterval;
189
- }
190
-
191
- // @internal @deprecated (undocumented)
192
- export interface IJSONRunSegment<T> extends IJSONSegment {
193
- // (undocumented)
194
- items: Serializable<T>[];
195
- }
196
-
197
- // @internal (undocumented)
198
- export interface IMapMessageLocalMetadata {
199
- // (undocumented)
200
- localSeq: number;
201
- }
202
-
203
143
  // @alpha
204
144
  export interface InteriorSequencePlace {
205
145
  // (undocumented)
@@ -208,54 +148,12 @@ export interface InteriorSequencePlace {
208
148
  side: Side;
209
149
  }
210
150
 
211
- // @internal
212
- export class Interval implements ISerializableInterval {
213
- constructor(start: number, end: number, props?: PropertySet);
214
- // (undocumented)
215
- addProperties(newProps: PropertySet, collaborating?: boolean, seq?: number): PropertySet | undefined;
216
- addPropertySet(props: PropertySet): void;
217
- // (undocumented)
218
- auxProps: PropertySet[] | undefined;
219
- // (undocumented)
220
- clone(): Interval;
221
- compare(b: Interval): number;
222
- compareEnd(b: Interval): number;
223
- compareStart(b: Interval): number;
224
- // (undocumented)
225
- end: number;
226
- // (undocumented)
227
- getAdditionalPropertySets(): PropertySet[];
228
- getIntervalId(): string;
229
- // (undocumented)
230
- getProperties(): PropertySet;
231
- modify(label: string, start?: SequencePlace, end?: SequencePlace, op?: ISequencedDocumentMessage): Interval | undefined;
232
- // (undocumented)
233
- overlaps(b: Interval): boolean;
234
- properties: PropertySet;
235
- // (undocumented)
236
- readonly propertyManager: PropertiesManager;
237
- // (undocumented)
238
- serialize(): ISerializedInterval;
239
- // (undocumented)
240
- start: number;
241
- union(b: Interval): Interval;
242
- }
243
-
244
151
  // @alpha
245
152
  export interface IntervalIndex<TInterval extends ISerializableInterval> {
246
153
  add(interval: TInterval): void;
247
154
  remove(interval: TInterval): void;
248
155
  }
249
156
 
250
- // @internal
251
- export interface IntervalLocator {
252
- interval: SequenceInterval;
253
- label: string;
254
- }
255
-
256
- // @internal
257
- export function intervalLocatorFromEndpoint(potentialEndpoint: LocalReferencePosition): IntervalLocator | undefined;
258
-
259
157
  // @alpha
260
158
  export const IntervalOpType: {
261
159
  readonly PROPERTY_CHANGED: "propertyChanged";
@@ -317,9 +215,7 @@ export type IntervalStickiness = (typeof IntervalStickiness)[keyof typeof Interv
317
215
  export enum IntervalType {
318
216
  // (undocumented)
319
217
  Simple = 0,
320
- SlideOnRemove = 2,
321
- // @internal
322
- Transient = 4
218
+ SlideOnRemove = 2,// SlideOnRemove is default behavior - all intervals are SlideOnRemove
323
219
  }
324
220
 
325
221
  // @alpha (undocumented)
@@ -371,6 +267,43 @@ export interface ISharedIntervalCollection<TInterval extends ISerializableInterv
371
267
  getIntervalCollection(label: string): IIntervalCollection<TInterval>;
372
268
  }
373
269
 
270
+ // @alpha (undocumented)
271
+ export interface ISharedSegmentSequence<T extends ISegment> extends ISharedObject<ISharedSegmentSequenceEvents>, ISharedIntervalCollection<SequenceInterval>, MergeTreeRevertibleDriver {
272
+ annotateRange(start: number, end: number, props: PropertySet): void;
273
+ createLocalReferencePosition(segment: T, offset: number, refType: ReferenceType, properties: PropertySet | undefined, slidingPreference?: SlidingPreference, canSlideToEndpoint?: boolean): LocalReferencePosition;
274
+ getContainingSegment(pos: number): {
275
+ segment: T | undefined;
276
+ offset: number | undefined;
277
+ };
278
+ // (undocumented)
279
+ getCurrentSeq(): number;
280
+ getIntervalCollection(label: string): IIntervalCollection<SequenceInterval>;
281
+ // (undocumented)
282
+ getIntervalCollectionLabels(): IterableIterator<string>;
283
+ getLength(): number;
284
+ getPosition(segment: ISegment): number;
285
+ // (undocumented)
286
+ getPropertiesAtPosition(pos: number): PropertySet | undefined;
287
+ // (undocumented)
288
+ getRangeExtentsOfPosition(pos: number): {
289
+ posStart: number | undefined;
290
+ posAfterEnd: number | undefined;
291
+ };
292
+ // @deprecated (undocumented)
293
+ groupOperation(groupOp: IMergeTreeGroupMsg): void;
294
+ initializeLocal(): void;
295
+ insertAtReferencePosition(pos: ReferencePosition, segment: T): void;
296
+ insertFromSpec(pos: number, spec: IJSONSegment): void;
297
+ localReferencePositionToPosition(lref: ReferencePosition): number;
298
+ obliterateRange(start: number, end: number): void;
299
+ posFromRelativePos(relativePos: IRelativePosition): number;
300
+ removeLocalReferencePosition(lref: LocalReferencePosition): LocalReferencePosition | undefined;
301
+ // (undocumented)
302
+ removeRange(start: number, end: number): void;
303
+ resolveRemoteClientPosition(remoteClientPosition: number, remoteClientRefSeq: number, remoteClientId: string): number | undefined;
304
+ walkSegments<TClientData>(handler: ISegmentAction<TClientData>, start?: number, end?: number, accum?: TClientData, splitRange?: boolean): void;
305
+ }
306
+
374
307
  // @alpha
375
308
  export interface ISharedSegmentSequenceEvents extends ISharedObjectEvents {
376
309
  // (undocumented)
@@ -382,7 +315,7 @@ export interface ISharedSegmentSequenceEvents extends ISharedObjectEvents {
382
315
  }
383
316
 
384
317
  // @alpha
385
- export interface ISharedString extends SharedSegmentSequence<SharedStringSegment> {
318
+ export interface ISharedString extends ISharedSegmentSequence<SharedStringSegment> {
386
319
  annotateMarker(marker: Marker, props: PropertySet): void;
387
320
  getMarkerFromId(id: string): ISegment | undefined;
388
321
  getText(start?: number, end?: number): string;
@@ -398,18 +331,6 @@ export interface ISharedString extends SharedSegmentSequence<SharedStringSegment
398
331
  searchForMarker(startPos: number, markerLabel: string, forwards?: boolean): Marker | undefined;
399
332
  }
400
333
 
401
- // @internal
402
- export interface IStartpointInRangeIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
403
- // (undocumented)
404
- findIntervalsWithStartpointInRange(start: number, end: number): TInterval[];
405
- }
406
-
407
- // @internal @deprecated
408
- export interface IValueOpEmitter {
409
- // @deprecated
410
- emit(opName: IntervalOpType, previousValue: undefined, params: SerializedIntervalDelta, localOpMetadata: IMapMessageLocalMetadata): void;
411
- }
412
-
413
334
  export { LocalReferencePosition }
414
335
 
415
336
  export { MapLike }
@@ -492,22 +413,6 @@ export class SequenceInterval implements ISerializableInterval {
492
413
  union(b: SequenceInterval): SequenceInterval;
493
414
  }
494
415
 
495
- // @internal @deprecated (undocumented)
496
- export const sequenceIntervalHelpers: IIntervalHelpers<SequenceInterval>;
497
-
498
- // @internal
499
- export namespace SequenceIntervalIndexes {
500
- export interface Overlapping extends IOverlappingIntervalsIndex<SequenceInterval> {
501
- findOverlappingIntervalsBySegoff(startSegoff: {
502
- segment: ISegment | undefined;
503
- offset: number | undefined;
504
- }, endSegoff: {
505
- segment: ISegment | undefined;
506
- offset: number | undefined;
507
- }): Iterable<SequenceInterval>;
508
- }
509
- }
510
-
511
416
  // @alpha
512
417
  export class SequenceMaintenanceEvent extends SequenceEvent<MergeTreeMaintenanceType> {
513
418
  constructor(
@@ -515,77 +420,34 @@ export class SequenceMaintenanceEvent extends SequenceEvent<MergeTreeMaintenance
515
420
  readonly opArgs: IMergeTreeDeltaOpArgs | undefined;
516
421
  }
517
422
 
518
- // @internal
519
- export interface SequenceOptions {
520
- // (undocumented)
521
- [key: string]: boolean;
522
- intervalStickinessEnabled: boolean;
523
- mergeTreeReferencesCanSlideToEndpoint: boolean;
524
- }
525
-
526
423
  // @alpha
527
424
  export type SequencePlace = number | "start" | "end" | InteriorSequencePlace;
528
425
 
529
- // @internal
530
- export type SerializedIntervalDelta = Omit<ISerializedInterval, "start" | "end" | "properties"> & Partial<Pick<ISerializedInterval, "start" | "end" | "properties">>;
531
-
532
- // @internal @deprecated (undocumented)
533
- export class SharedIntervalCollection extends SharedObject implements ISharedIntervalCollection<Interval> {
534
- // (undocumented)
535
- readonly [Symbol.toStringTag]: string;
536
- constructor(id: string, runtime: IFluidDataStoreRuntime, attributes: IChannelAttributes);
537
- // (undocumented)
538
- protected applyStashedOp(): void;
539
- static create(runtime: IFluidDataStoreRuntime, id?: string): SharedIntervalCollection;
540
- static getFactory(): IChannelFactory;
541
- // (undocumented)
542
- getIntervalCollection(label: string): IIntervalCollection<Interval>;
543
- protected getIntervalCollectionPath(label: string): string;
544
- protected loadCore(storage: IChannelStorageService): Promise<void>;
545
- // (undocumented)
546
- protected onDisconnect(): void;
547
- // (undocumented)
548
- protected processCore(message: ISequencedDocumentMessage, local: boolean, localOpMetadata: unknown): void;
549
- // (undocumented)
550
- protected reSubmitCore(content: any, localOpMetadata: unknown): void;
551
- // (undocumented)
552
- protected summarizeCore(serializer: IFluidSerializer): ISummaryTreeWithStats;
553
- }
554
-
555
- // @internal @deprecated
556
- export class SharedIntervalCollectionFactory implements IChannelFactory {
557
- // (undocumented)
558
- static readonly Attributes: IChannelAttributes;
559
- // (undocumented)
560
- get attributes(): IChannelAttributes;
561
- // (undocumented)
562
- create(runtime: IFluidDataStoreRuntime, id: string): SharedIntervalCollection;
563
- load(runtime: IFluidDataStoreRuntime, id: string, services: IChannelServices, attributes: IChannelAttributes): Promise<SharedIntervalCollection>;
564
- // (undocumented)
565
- static readonly Type = "https://graph.microsoft.com/types/sharedIntervalCollection";
566
- // (undocumented)
567
- get type(): string;
568
- }
569
-
570
426
  // @alpha (undocumented)
571
- export abstract class SharedSegmentSequence<T extends ISegment> extends SharedObject<ISharedSegmentSequenceEvents> implements ISharedIntervalCollection<SequenceInterval>, MergeTreeRevertibleDriver {
427
+ export abstract class SharedSegmentSequence<T extends ISegment> extends SharedObject<ISharedSegmentSequenceEvents> implements ISharedSegmentSequence<T> {
572
428
  constructor(dataStoreRuntime: IFluidDataStoreRuntime, id: string, attributes: IChannelAttributes, segmentFromSpec: (spec: IJSONSegment) => ISegment);
429
+ // (undocumented)
573
430
  annotateRange(start: number, end: number, props: PropertySet): void;
574
431
  protected applyStashedOp(content: any): void;
575
432
  // (undocumented)
576
433
  protected client: Client;
434
+ // (undocumented)
577
435
  createLocalReferencePosition(segment: T, offset: number, refType: ReferenceType, properties: PropertySet | undefined, slidingPreference?: SlidingPreference, canSlideToEndpoint?: boolean): LocalReferencePosition;
578
436
  protected didAttach(): void;
437
+ // (undocumented)
579
438
  getContainingSegment(pos: number): {
580
439
  segment: T | undefined;
581
440
  offset: number | undefined;
582
441
  };
583
442
  // (undocumented)
584
443
  getCurrentSeq(): number;
444
+ // (undocumented)
585
445
  getIntervalCollection(label: string): IIntervalCollection<SequenceInterval>;
586
446
  // (undocumented)
587
447
  getIntervalCollectionLabels(): IterableIterator<string>;
448
+ // (undocumented)
588
449
  getLength(): number;
450
+ // (undocumented)
589
451
  getPosition(segment: ISegment): number;
590
452
  // (undocumented)
591
453
  getPropertiesAtPosition(pos: number): PropertySet | undefined;
@@ -594,52 +456,46 @@ export abstract class SharedSegmentSequence<T extends ISegment> extends SharedOb
594
456
  posStart: number | undefined;
595
457
  posAfterEnd: number | undefined;
596
458
  };
597
- // @deprecated (undocumented)
459
+ // (undocumented)
598
460
  groupOperation(groupOp: IMergeTreeGroupMsg): void;
599
461
  protected guardReentrancy: <TRet>(callback: () => TRet) => TRet;
600
462
  // (undocumented)
601
463
  id: string;
602
464
  protected initializeLocalCore(): void;
465
+ // (undocumented)
603
466
  insertAtReferencePosition(pos: ReferencePosition, segment: T): void;
467
+ // (undocumented)
604
468
  insertFromSpec(pos: number, spec: IJSONSegment): void;
605
469
  protected loadCore(storage: IChannelStorageService): Promise<void>;
606
- // (undocumented)
470
+ // @deprecated
607
471
  get loaded(): Promise<void>;
608
- protected loadedDeferred: Deferred<void>;
472
+ // (undocumented)
609
473
  localReferencePositionToPosition(lref: ReferencePosition): number;
474
+ // (undocumented)
610
475
  obliterateRange(start: number, end: number): void;
611
476
  protected onConnect(): void;
612
477
  protected onDisconnect(): void;
478
+ // (undocumented)
613
479
  posFromRelativePos(relativePos: IRelativePosition): number;
614
480
  protected processCore(message: ISequencedDocumentMessage, local: boolean, localOpMetadata: unknown): void;
615
481
  protected processGCDataCore(serializer: IFluidSerializer): void;
482
+ // (undocumented)
616
483
  removeLocalReferencePosition(lref: LocalReferencePosition): LocalReferencePosition | undefined;
617
484
  // (undocumented)
618
485
  removeRange(start: number, end: number): void;
619
486
  protected replaceRange(start: number, end: number, segment: ISegment): void;
487
+ // (undocumented)
620
488
  resolveRemoteClientPosition(remoteClientPosition: number, remoteClientRefSeq: number, remoteClientId: string): number | undefined;
621
489
  protected reSubmitCore(content: any, localOpMetadata: unknown): void;
622
490
  // (undocumented)
623
491
  readonly segmentFromSpec: (spec: IJSONSegment) => ISegment;
624
492
  protected summarizeCore(serializer: IFluidSerializer, telemetryContext?: ITelemetryContext): ISummaryTreeWithStats;
625
- walkSegments<TClientData>(handler: ISegmentAction<TClientData>, start?: number, end?: number, accum?: TClientData, splitRange?: boolean): void;
626
- }
627
-
628
- // @internal @deprecated (undocumented)
629
- export class SharedSequence<T> extends SharedSegmentSequence<SubSequence<T>> {
630
- constructor(document: IFluidDataStoreRuntime, id: string, attributes: IChannelAttributes, specToSegment: (spec: IJSONSegment) => ISegment);
631
- getItemCount(): number;
632
- getItems(start: number, end?: number): Serializable<T>[];
633
- // (undocumented)
634
- id: string;
635
493
  // (undocumented)
636
- insert(pos: number, items: Serializable<T>[], props?: PropertySet): void;
637
- // (undocumented)
638
- remove(start: number, end: number): void;
494
+ walkSegments<TClientData>(handler: ISegmentAction<TClientData>, start?: number, end?: number, accum?: TClientData, splitRange?: boolean): void;
639
495
  }
640
496
 
641
497
  // @alpha
642
- export const SharedString: ISharedObjectKind<ISharedString>;
498
+ export const SharedString: ISharedObjectKind<ISharedString> & SharedObjectKind<ISharedString>;
643
499
 
644
500
  // @alpha
645
501
  export type SharedString = ISharedString;
@@ -681,35 +537,6 @@ export enum Side {
681
537
  Before = 0
682
538
  }
683
539
 
684
- // @internal @deprecated (undocumented)
685
- export class SubSequence<T> extends BaseSegment {
686
- constructor(items: Serializable<T>[]);
687
- // (undocumented)
688
- append(segment: ISegment): void;
689
- // (undocumented)
690
- canAppend(segment: ISegment): boolean;
691
- // (undocumented)
692
- clone(start?: number, end?: number): SubSequence<T>;
693
- // (undocumented)
694
- protected createSplitSegmentAt(pos: number): SubSequence<T> | undefined;
695
- // (undocumented)
696
- static fromJSONObject<U>(spec: any): SubSequence<U> | undefined;
697
- // (undocumented)
698
- static is(segment: ISegment): segment is SubSequence<any>;
699
- // (undocumented)
700
- items: Serializable<T>[];
701
- // (undocumented)
702
- removeRange(start: number, end: number): boolean;
703
- // (undocumented)
704
- toJSONObject(): IJSONRunSegment<T>;
705
- // (undocumented)
706
- toString(): string;
707
- // (undocumented)
708
- readonly type: string;
709
- // (undocumented)
710
- static readonly typeString: string;
711
- }
712
-
713
540
  export { TextSegment }
714
541
 
715
542
  export { TrackingGroup }
@@ -0,0 +1,83 @@
1
+ ## Beta API Report File for "@fluidframework/sequence"
2
+
3
+ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
+
5
+ ```ts
6
+
7
+ import { BaseSegment } from '@fluidframework/merge-tree/internal';
8
+ import { Client } from '@fluidframework/merge-tree/internal';
9
+ import { IChannelAttributes } from '@fluidframework/datastore-definitions/internal';
10
+ import { IChannelFactory } from '@fluidframework/datastore-definitions/internal';
11
+ import { IChannelServices } from '@fluidframework/datastore-definitions/internal';
12
+ import { IChannelStorageService } from '@fluidframework/datastore-definitions/internal';
13
+ import { IEvent } from '@fluidframework/core-interfaces';
14
+ import { IEventThisPlaceHolder } from '@fluidframework/core-interfaces';
15
+ import { IFluidDataStoreRuntime } from '@fluidframework/datastore-definitions/internal';
16
+ import { IFluidSerializer } from '@fluidframework/shared-object-base/internal';
17
+ import { IJSONSegment } from '@fluidframework/merge-tree/internal';
18
+ import { IMergeTreeDeltaCallbackArgs } from '@fluidframework/merge-tree/internal';
19
+ import { IMergeTreeDeltaOpArgs } from '@fluidframework/merge-tree/internal';
20
+ import { IMergeTreeGroupMsg } from '@fluidframework/merge-tree/internal';
21
+ import { IMergeTreeMaintenanceCallbackArgs } from '@fluidframework/merge-tree/internal';
22
+ import { IRelativePosition } from '@fluidframework/merge-tree/internal';
23
+ import { ISegment } from '@fluidframework/merge-tree/internal';
24
+ import { ISegmentAction } from '@fluidframework/merge-tree/internal';
25
+ import { ISequencedDocumentMessage } from '@fluidframework/driver-definitions/internal';
26
+ import { ISharedObject } from '@fluidframework/shared-object-base/internal';
27
+ import { ISharedObjectEvents } from '@fluidframework/shared-object-base/internal';
28
+ import { ISharedObjectKind } from '@fluidframework/shared-object-base/internal';
29
+ import { ISummaryTreeWithStats } from '@fluidframework/runtime-definitions/internal';
30
+ import { ITelemetryContext } from '@fluidframework/runtime-definitions/internal';
31
+ import { LocalReferencePosition } from '@fluidframework/merge-tree/internal';
32
+ import { MapLike } from '@fluidframework/merge-tree/internal';
33
+ import { Marker } from '@fluidframework/merge-tree/internal';
34
+ import { MergeTreeDeltaOperationType } from '@fluidframework/merge-tree/internal';
35
+ import { MergeTreeDeltaOperationTypes } from '@fluidframework/merge-tree/internal';
36
+ import { MergeTreeDeltaRevertible } from '@fluidframework/merge-tree/internal';
37
+ import { MergeTreeDeltaType } from '@fluidframework/merge-tree/internal';
38
+ import { MergeTreeMaintenanceType } from '@fluidframework/merge-tree/internal';
39
+ import { MergeTreeRevertibleDriver } from '@fluidframework/merge-tree/internal';
40
+ import { PropertiesManager } from '@fluidframework/merge-tree/internal';
41
+ import { PropertySet } from '@fluidframework/merge-tree/internal';
42
+ import { ReferencePosition } from '@fluidframework/merge-tree/internal';
43
+ import { ReferenceType } from '@fluidframework/merge-tree/internal';
44
+ import { reservedMarkerIdKey } from '@fluidframework/merge-tree/internal';
45
+ import { reservedRangeLabelsKey } from '@fluidframework/merge-tree/internal';
46
+ import { reservedTileLabelsKey } from '@fluidframework/merge-tree/internal';
47
+ import { Serializable } from '@fluidframework/datastore-definitions/internal';
48
+ import { SharedObject } from '@fluidframework/shared-object-base/internal';
49
+ import { SharedObjectKind } from '@fluidframework/shared-object-base/internal';
50
+ import { SlidingPreference } from '@fluidframework/merge-tree/internal';
51
+ import { TextSegment } from '@fluidframework/merge-tree/internal';
52
+ import { TrackingGroup } from '@fluidframework/merge-tree/internal';
53
+ import { TypedEventEmitter } from '@fluid-internal/client-utils';
54
+
55
+ export { BaseSegment }
56
+
57
+ export { ISegment }
58
+
59
+ export { LocalReferencePosition }
60
+
61
+ export { MapLike }
62
+
63
+ export { Marker }
64
+
65
+ export { MergeTreeDeltaType }
66
+
67
+ export { PropertySet }
68
+
69
+ export { ReferencePosition }
70
+
71
+ export { ReferenceType }
72
+
73
+ export { reservedMarkerIdKey }
74
+
75
+ export { reservedRangeLabelsKey }
76
+
77
+ export { reservedTileLabelsKey }
78
+
79
+ export { TextSegment }
80
+
81
+ export { TrackingGroup }
82
+
83
+ ```