@fluidframework/sequence 2.0.0-internal.5.3.2 → 2.0.0-internal.6.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 (193) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/dist/defaultMap.js +3 -5
  3. package/dist/defaultMap.js.map +1 -1
  4. package/dist/index.d.ts +3 -3
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +12 -9
  7. package/dist/index.js.map +1 -1
  8. package/dist/intervalCollection.d.ts +45 -418
  9. package/dist/intervalCollection.d.ts.map +1 -1
  10. package/dist/intervalCollection.js +77 -800
  11. package/dist/intervalCollection.js.map +1 -1
  12. package/dist/intervalIndex/endpointInRangeIndex.d.ts +20 -0
  13. package/dist/intervalIndex/endpointInRangeIndex.d.ts.map +1 -0
  14. package/dist/intervalIndex/endpointInRangeIndex.js +60 -0
  15. package/dist/intervalIndex/endpointInRangeIndex.js.map +1 -0
  16. package/dist/intervalIndex/endpointIndex.d.ts +21 -0
  17. package/dist/intervalIndex/endpointIndex.d.ts.map +1 -0
  18. package/dist/intervalIndex/endpointIndex.js +42 -0
  19. package/dist/intervalIndex/endpointIndex.js.map +1 -0
  20. package/dist/intervalIndex/idIntervalIndex.d.ts +12 -0
  21. package/dist/intervalIndex/idIntervalIndex.d.ts.map +1 -0
  22. package/dist/intervalIndex/idIntervalIndex.js +41 -0
  23. package/dist/intervalIndex/idIntervalIndex.js.map +1 -0
  24. package/dist/intervalIndex/index.d.ts +5 -0
  25. package/dist/intervalIndex/index.d.ts.map +1 -1
  26. package/dist/intervalIndex/index.js +9 -1
  27. package/dist/intervalIndex/index.js.map +1 -1
  28. package/dist/intervalIndex/intervalIndex.d.ts +29 -0
  29. package/dist/intervalIndex/intervalIndex.d.ts.map +1 -0
  30. package/dist/intervalIndex/intervalIndex.js +7 -0
  31. package/dist/intervalIndex/intervalIndex.js.map +1 -0
  32. package/dist/intervalIndex/intervalIndexUtils.d.ts +17 -0
  33. package/dist/intervalIndex/intervalIndexUtils.d.ts.map +1 -0
  34. package/dist/intervalIndex/intervalIndexUtils.js +22 -0
  35. package/dist/intervalIndex/intervalIndexUtils.js.map +1 -0
  36. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts +2 -1
  37. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts.map +1 -1
  38. package/dist/intervalIndex/overlappingIntervalsIndex.js +3 -3
  39. package/dist/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  40. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js +5 -5
  41. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  42. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts +1 -1
  43. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  44. package/dist/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  45. package/dist/intervalIndex/startpointInRangeIndex.d.ts +20 -0
  46. package/dist/intervalIndex/startpointInRangeIndex.d.ts.map +1 -0
  47. package/dist/intervalIndex/startpointInRangeIndex.js +62 -0
  48. package/dist/intervalIndex/startpointInRangeIndex.js.map +1 -0
  49. package/dist/intervalTree.d.ts +2 -56
  50. package/dist/intervalTree.d.ts.map +1 -1
  51. package/dist/intervalTree.js +2 -11
  52. package/dist/intervalTree.js.map +1 -1
  53. package/dist/intervals/index.d.ts +8 -0
  54. package/dist/intervals/index.d.ts.map +1 -0
  55. package/dist/intervals/index.js +23 -0
  56. package/dist/intervals/index.js.map +1 -0
  57. package/dist/intervals/interval.d.ts +88 -0
  58. package/dist/intervals/interval.d.ts.map +1 -0
  59. package/dist/intervals/interval.js +180 -0
  60. package/dist/intervals/interval.js.map +1 -0
  61. package/dist/intervals/intervalUtils.d.ts +194 -0
  62. package/dist/intervals/intervalUtils.d.ts.map +1 -0
  63. package/dist/intervals/intervalUtils.js +79 -0
  64. package/dist/intervals/intervalUtils.js.map +1 -0
  65. package/dist/intervals/sequenceInterval.d.ts +132 -0
  66. package/dist/intervals/sequenceInterval.d.ts.map +1 -0
  67. package/dist/intervals/sequenceInterval.js +313 -0
  68. package/dist/intervals/sequenceInterval.js.map +1 -0
  69. package/dist/packageVersion.d.ts +1 -1
  70. package/dist/packageVersion.js +1 -1
  71. package/dist/packageVersion.js.map +1 -1
  72. package/dist/revertibles.d.ts +1 -1
  73. package/dist/revertibles.d.ts.map +1 -1
  74. package/dist/revertibles.js +42 -49
  75. package/dist/revertibles.js.map +1 -1
  76. package/dist/sequence.d.ts +2 -1
  77. package/dist/sequence.d.ts.map +1 -1
  78. package/dist/sequence.js +15 -12
  79. package/dist/sequence.js.map +1 -1
  80. package/dist/sequenceDeltaEvent.js +1 -2
  81. package/dist/sequenceDeltaEvent.js.map +1 -1
  82. package/dist/sharedIntervalCollection.d.ts +2 -1
  83. package/dist/sharedIntervalCollection.d.ts.map +1 -1
  84. package/dist/sharedIntervalCollection.js.map +1 -1
  85. package/dist/sharedString.js +3 -4
  86. package/dist/sharedString.js.map +1 -1
  87. package/lib/defaultMap.js +3 -5
  88. package/lib/defaultMap.js.map +1 -1
  89. package/lib/index.d.ts +3 -3
  90. package/lib/index.d.ts.map +1 -1
  91. package/lib/index.js +3 -2
  92. package/lib/index.js.map +1 -1
  93. package/lib/intervalCollection.d.ts +45 -418
  94. package/lib/intervalCollection.d.ts.map +1 -1
  95. package/lib/intervalCollection.js +58 -773
  96. package/lib/intervalCollection.js.map +1 -1
  97. package/lib/intervalIndex/endpointInRangeIndex.d.ts +20 -0
  98. package/lib/intervalIndex/endpointInRangeIndex.d.ts.map +1 -0
  99. package/lib/intervalIndex/endpointInRangeIndex.js +56 -0
  100. package/lib/intervalIndex/endpointInRangeIndex.js.map +1 -0
  101. package/lib/intervalIndex/endpointIndex.d.ts +21 -0
  102. package/lib/intervalIndex/endpointIndex.d.ts.map +1 -0
  103. package/lib/intervalIndex/endpointIndex.js +38 -0
  104. package/lib/intervalIndex/endpointIndex.js.map +1 -0
  105. package/lib/intervalIndex/idIntervalIndex.d.ts +12 -0
  106. package/lib/intervalIndex/idIntervalIndex.d.ts.map +1 -0
  107. package/lib/intervalIndex/idIntervalIndex.js +37 -0
  108. package/lib/intervalIndex/idIntervalIndex.js.map +1 -0
  109. package/lib/intervalIndex/index.d.ts +5 -0
  110. package/lib/intervalIndex/index.d.ts.map +1 -1
  111. package/lib/intervalIndex/index.js +4 -0
  112. package/lib/intervalIndex/index.js.map +1 -1
  113. package/lib/intervalIndex/intervalIndex.d.ts +29 -0
  114. package/lib/intervalIndex/intervalIndex.d.ts.map +1 -0
  115. package/lib/intervalIndex/intervalIndex.js +6 -0
  116. package/lib/intervalIndex/intervalIndex.js.map +1 -0
  117. package/lib/intervalIndex/intervalIndexUtils.d.ts +17 -0
  118. package/lib/intervalIndex/intervalIndexUtils.d.ts.map +1 -0
  119. package/lib/intervalIndex/intervalIndexUtils.js +18 -0
  120. package/lib/intervalIndex/intervalIndexUtils.js.map +1 -0
  121. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts +2 -1
  122. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts.map +1 -1
  123. package/lib/intervalIndex/overlappingIntervalsIndex.js +1 -1
  124. package/lib/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  125. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js +1 -1
  126. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  127. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts +1 -1
  128. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  129. package/lib/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  130. package/lib/intervalIndex/startpointInRangeIndex.d.ts +20 -0
  131. package/lib/intervalIndex/startpointInRangeIndex.d.ts.map +1 -0
  132. package/lib/intervalIndex/startpointInRangeIndex.js +58 -0
  133. package/lib/intervalIndex/startpointInRangeIndex.js.map +1 -0
  134. package/lib/intervalTree.d.ts +2 -56
  135. package/lib/intervalTree.d.ts.map +1 -1
  136. package/lib/intervalTree.js +2 -11
  137. package/lib/intervalTree.js.map +1 -1
  138. package/lib/intervals/index.d.ts +8 -0
  139. package/lib/intervals/index.d.ts.map +1 -0
  140. package/lib/intervals/index.js +8 -0
  141. package/lib/intervals/index.js.map +1 -0
  142. package/lib/intervals/interval.d.ts +88 -0
  143. package/lib/intervals/interval.d.ts.map +1 -0
  144. package/lib/intervals/interval.js +175 -0
  145. package/lib/intervals/interval.js.map +1 -0
  146. package/lib/intervals/intervalUtils.d.ts +194 -0
  147. package/lib/intervals/intervalUtils.d.ts.map +1 -0
  148. package/lib/intervals/intervalUtils.js +74 -0
  149. package/lib/intervals/intervalUtils.js.map +1 -0
  150. package/lib/intervals/sequenceInterval.d.ts +132 -0
  151. package/lib/intervals/sequenceInterval.d.ts.map +1 -0
  152. package/lib/intervals/sequenceInterval.js +305 -0
  153. package/lib/intervals/sequenceInterval.js.map +1 -0
  154. package/lib/packageVersion.d.ts +1 -1
  155. package/lib/packageVersion.js +1 -1
  156. package/lib/packageVersion.js.map +1 -1
  157. package/lib/revertibles.d.ts +1 -1
  158. package/lib/revertibles.d.ts.map +1 -1
  159. package/lib/revertibles.js +27 -34
  160. package/lib/revertibles.js.map +1 -1
  161. package/lib/sequence.d.ts +2 -1
  162. package/lib/sequence.d.ts.map +1 -1
  163. package/lib/sequence.js +16 -13
  164. package/lib/sequence.js.map +1 -1
  165. package/lib/sequenceDeltaEvent.js +1 -2
  166. package/lib/sequenceDeltaEvent.js.map +1 -1
  167. package/lib/sharedIntervalCollection.d.ts +2 -1
  168. package/lib/sharedIntervalCollection.d.ts.map +1 -1
  169. package/lib/sharedIntervalCollection.js.map +1 -1
  170. package/lib/sharedString.js +3 -4
  171. package/lib/sharedString.js.map +1 -1
  172. package/package.json +24 -19
  173. package/src/index.ts +18 -12
  174. package/src/intervalCollection.ts +74 -1217
  175. package/src/intervalIndex/endpointInRangeIndex.ts +104 -0
  176. package/src/intervalIndex/endpointIndex.ts +78 -0
  177. package/src/intervalIndex/idIntervalIndex.ts +58 -0
  178. package/src/intervalIndex/index.ts +5 -0
  179. package/src/intervalIndex/intervalIndex.ts +31 -0
  180. package/src/intervalIndex/intervalIndexUtils.ts +27 -0
  181. package/src/intervalIndex/overlappingIntervalsIndex.ts +2 -6
  182. package/src/intervalIndex/overlappingSequenceIntervalsIndex.ts +1 -1
  183. package/src/intervalIndex/sequenceIntervalIndexes.ts +1 -1
  184. package/src/intervalIndex/startpointInRangeIndex.ts +109 -0
  185. package/src/intervalTree.ts +3 -75
  186. package/src/intervals/index.ts +25 -0
  187. package/src/intervals/interval.ts +230 -0
  188. package/src/intervals/intervalUtils.ts +249 -0
  189. package/src/intervals/sequenceInterval.ts +494 -0
  190. package/src/packageVersion.ts +1 -1
  191. package/src/revertibles.ts +23 -12
  192. package/src/sequence.ts +6 -3
  193. package/src/sharedIntervalCollection.ts +1 -2
@@ -4,418 +4,17 @@
4
4
  */
5
5
  import { TypedEventEmitter } from "@fluidframework/common-utils";
6
6
  import { IEvent } from "@fluidframework/common-definitions";
7
- import { Client, ICombiningOp, ISegment, PropertiesManager, PropertySet, LocalReferencePosition, ReferenceType, SlidingPreference } from "@fluidframework/merge-tree";
7
+ import { Client, PropertySet, LocalReferencePosition } from "@fluidframework/merge-tree";
8
8
  import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
9
9
  import { IMapMessageLocalMetadata, IValueFactory, IValueOpEmitter, IValueOperation, IValueType, SequenceOptions } from "./defaultMapInterfaces";
10
- import { IInterval, IntervalConflictResolver } from "./intervalTree";
11
- import { IOverlappingIntervalsIndex } from "./intervalIndex";
12
- /**
13
- * Values are used in persisted formats (ops) and revertibles.
14
- * @alpha
15
- */
16
- export declare const IntervalOpType: {
17
- readonly ADD: "add";
18
- readonly DELETE: "delete";
19
- readonly CHANGE: "change";
20
- readonly PROPERTY_CHANGED: "propertyChanged";
21
- readonly POSITION_REMOVE: "positionRemove";
22
- };
23
- export declare enum IntervalType {
24
- Simple = 0,
25
- Nest = 1,
26
- /**
27
- * SlideOnRemove indicates that the ends of the interval will slide if the segment
28
- * they reference is removed and acked.
29
- * See `packages\dds\merge-tree\docs\REFERENCEPOSITIONS.md` for details
30
- * SlideOnRemove is the default interval behavior and does not need to be specified.
31
- */
32
- SlideOnRemove = 2,
33
- /**
34
- * A temporary interval, used internally
35
- * @internal
36
- */
37
- Transient = 4
38
- }
39
- /**
40
- * Serialized object representation of an interval.
41
- * This representation is used for ops that create or change intervals.
42
- * @internal
43
- */
44
- export interface ISerializedInterval {
45
- /**
46
- * Sequence number at which `start` and `end` should be interpreted
47
- *
48
- * @remarks - It's unclear that this is necessary to store here.
49
- * This should just be the refSeq on the op that modified the interval, which should be available via other means.
50
- * At the time of writing, it's not plumbed through to the reconnect/rebase code, however, which does need it.
51
- */
52
- sequenceNumber: number;
53
- /** Start position of the interval */
54
- start: number;
55
- /** End position of the interval */
56
- end: number;
57
- /** Interval type to create */
58
- intervalType: IntervalType;
59
- stickiness?: IntervalStickiness;
60
- /** Any properties the interval has */
61
- properties?: PropertySet;
62
- }
63
- /**
64
- * Represents a change that should be applied to an existing interval.
65
- * Changes can modify any of start/end/properties, with `undefined` signifying no change should be made.
66
- * @internal
67
- */
68
- export declare type SerializedIntervalDelta = Omit<ISerializedInterval, "start" | "end" | "properties"> & Partial<Pick<ISerializedInterval, "start" | "end" | "properties">>;
69
- /**
70
- * A size optimization to avoid redundantly storing keys when serializing intervals
71
- * as JSON for summaries.
72
- *
73
- * Intervals are of the format:
74
- *
75
- * [start, end, sequenceNumber, intervalType, properties, stickiness?]
76
- */
77
- export declare type CompressedSerializedInterval = [number, number, number, IntervalType, PropertySet, IntervalStickiness] | [number, number, number, IntervalType, PropertySet];
10
+ import { CompressedSerializedInterval, IIntervalHelpers, Interval, IntervalStickiness, IntervalType, ISerializableInterval, ISerializedInterval, SequenceInterval, SerializedIntervalDelta } from "./intervals";
11
+ import { IEndpointIndex, IIdIntervalIndex, IOverlappingIntervalsIndex, IntervalIndex } from "./intervalIndex";
78
12
  export interface ISerializedIntervalCollectionV2 {
79
13
  label: string;
80
14
  version: 2;
81
15
  intervals: CompressedSerializedInterval[];
82
16
  }
83
- export interface ISerializableInterval extends IInterval {
84
- /** Serializable bag of properties associated with the interval. */
85
- properties: PropertySet;
86
- /** @internal */
87
- propertyManager: PropertiesManager;
88
- /** @internal */
89
- serialize(): ISerializedInterval;
90
- /** @internal */
91
- addProperties(props: PropertySet, collaborating?: boolean, seq?: number): PropertySet | undefined;
92
- /**
93
- * Gets the id associated with this interval.
94
- * When the interval is used as part of an interval collection, this id can be used to modify or remove the
95
- * interval.
96
- * @remarks - This signature includes `undefined` strictly for backwards-compatibility reasons, as older versions
97
- * of Fluid didn't always write interval ids.
98
- */
99
- getIntervalId(): string | undefined;
100
- }
101
- /**
102
- * @sealed
103
- */
104
- export interface IIntervalHelpers<TInterval extends ISerializableInterval> {
105
- compareEnds(a: TInterval, b: TInterval): number;
106
- compareStarts?(a: TInterval, b: TInterval): number;
107
- /**
108
- *
109
- * @param label - label of the interval collection this interval is being added to. This parameter is
110
- * irrelevant for transient intervals.
111
- * @param start - numerical start position of the interval
112
- * @param end - numerical end position of the interval
113
- * @param client - client creating the interval
114
- * @param intervalType - Type of interval to create. Default is SlideOnRemove
115
- * @param op - If this create came from a remote client, op that created it. Default is undefined (i.e. local)
116
- * @param fromSnapshot - If this create came from loading a snapshot. Default is false.
117
- */
118
- create(label: string, start: number | undefined, end: number | undefined, client: Client | undefined, intervalType: IntervalType, op?: ISequencedDocumentMessage, fromSnapshot?: boolean, stickiness?: IntervalStickiness): TInterval;
119
- }
120
- /**
121
- * Determines how an interval should expand when segments are inserted adjacent
122
- * to the range it spans
123
- *
124
- * Note that interval stickiness is currently an experimental feature and must
125
- * be explicitly enabled with the `intervalStickinessEnabled` flag
126
- */
127
- export declare const IntervalStickiness: {
128
- /**
129
- * Interval does not expand to include adjacent segments
130
- */
131
- readonly NONE: 0;
132
- /**
133
- * Interval expands to include segments inserted adjacent to the start
134
- */
135
- readonly START: 1;
136
- /**
137
- * Interval expands to include segments inserted adjacent to the end
138
- *
139
- * This is the default stickiness
140
- */
141
- readonly END: 2;
142
- /**
143
- * Interval expands to include all segments inserted adjacent to it
144
- */
145
- readonly FULL: 3;
146
- };
147
- /**
148
- * Determines how an interval should expand when segments are inserted adjacent
149
- * to the range it spans
150
- *
151
- * Note that interval stickiness is currently an experimental feature and must
152
- * be explicitly enabled with the `intervalStickinessEnabled` flag
153
- */
154
- export declare type IntervalStickiness = typeof IntervalStickiness[keyof typeof IntervalStickiness];
155
- /**
156
- * Serializable interval whose endpoints are plain-old numbers.
157
- */
158
- export declare class Interval implements ISerializableInterval {
159
- start: number;
160
- end: number;
161
- /**
162
- * {@inheritDoc ISerializableInterval.properties}
163
- */
164
- properties: PropertySet;
165
- /** @internal */
166
- auxProps: PropertySet[] | undefined;
167
- /**
168
- * {@inheritDoc ISerializableInterval.propertyManager}
169
- * @deprecated - This API was never intended to be public and will be marked internal in a future release.
170
- */
171
- propertyManager: PropertiesManager;
172
- constructor(start: number, end: number, props?: PropertySet);
173
- /**
174
- * {@inheritDoc ISerializableInterval.getIntervalId}
175
- */
176
- getIntervalId(): string;
177
- /**
178
- * @returns an array containing any auxiliary property sets added with `addPropertySet`.
179
- */
180
- getAdditionalPropertySets(): PropertySet[];
181
- /**
182
- * Adds an auxiliary set of properties to this interval.
183
- * These properties can be recovered using `getAdditionalPropertySets`
184
- * @param props - set of properties to add
185
- * @remarks - This gets called as part of the default conflict resolver for `IIntervalCollection<Interval>`
186
- * (i.e. non-sequence-based interval collections). However, the additional properties don't get serialized.
187
- * This functionality seems half-baked.
188
- */
189
- addPropertySet(props: PropertySet): void;
190
- /**
191
- * {@inheritDoc ISerializableInterval.serialize}
192
- * @internal
193
- */
194
- serialize(): ISerializedInterval;
195
- /**
196
- * {@inheritDoc IInterval.clone}
197
- */
198
- clone(): Interval;
199
- /**
200
- * {@inheritDoc IInterval.compare}
201
- */
202
- compare(b: Interval): number;
203
- /**
204
- * {@inheritDoc IInterval.compareStart}
205
- */
206
- compareStart(b: Interval): number;
207
- /**
208
- * {@inheritDoc IInterval.compareEnd}
209
- */
210
- compareEnd(b: Interval): number;
211
- /**
212
- * {@inheritDoc IInterval.overlaps}
213
- */
214
- overlaps(b: Interval): boolean;
215
- /**
216
- * {@inheritDoc IInterval.union}
217
- * @deprecated - This API was never intended to be public and will be marked internal in a future release.
218
- */
219
- union(b: Interval): Interval;
220
- getProperties(): PropertySet;
221
- /**
222
- * {@inheritDoc ISerializableInterval.addProperties}
223
- * @deprecated - This API was never intended to be public and will be marked internal in a future release.
224
- */
225
- addProperties(newProps: PropertySet, collaborating?: boolean, seq?: number, op?: ICombiningOp): PropertySet | undefined;
226
- /**
227
- * {@inheritDoc IInterval.modify}
228
- * @deprecated - This API was never intended to be public and will be marked internal in a future release.
229
- */
230
- modify(label: string, start: number, end: number, op?: ISequencedDocumentMessage): Interval | undefined;
231
- private initializeProperties;
232
- }
233
- /**
234
- * Interval implementation whose ends are associated with positions in a mutatable sequence.
235
- * As such, when content is inserted into the middle of the interval, the interval expands to
236
- * include that content.
237
- *
238
- * @remarks - The endpoint's position should be treated exclusively to get reasonable behavior--i.e.
239
- * an interval referring to "hello" in "hello world" should have a start position of 0 and an end
240
- * position of 5.
241
- *
242
- * To see why, consider what happens if "llo wor" is removed from the string to make "held".
243
- * The interval's startpoint remains on the "h" (it isn't altered), but the interval's endpoint
244
- * slides forward to the next unremoved position, which is the "l" in "held".
245
- * Users would generally expect the interval to now refer to "he" (as it is the subset of content
246
- * remaining after the removal), hence the "l" should be excluded.
247
- * If the interval endpoint was treated inclusively, the interval would now refer to "hel", which
248
- * is undesirable.
249
- *
250
- * Since the end of an interval is treated exclusively but cannot be greater than or equal to the
251
- * length of the associated sequence, application models which leverage interval collections should
252
- * consider inserting a marker at the end of the sequence to represent the end of the content.
253
- */
254
- export declare class SequenceInterval implements ISerializableInterval {
255
- private readonly client;
256
- /**
257
- * Start endpoint of this interval.
258
- * @remarks - This endpoint can be resolved into a character position using the SharedString it's a part of.
259
- */
260
- start: LocalReferencePosition;
261
- /**
262
- * End endpoint of this interval.
263
- * @remarks - This endpoint can be resolved into a character position using the SharedString it's a part of.
264
- */
265
- end: LocalReferencePosition;
266
- intervalType: IntervalType;
267
- readonly stickiness: IntervalStickiness;
268
- /**
269
- * {@inheritDoc ISerializableInterval.properties}
270
- */
271
- properties: PropertySet;
272
- /**
273
- * {@inheritDoc ISerializableInterval.propertyManager}
274
- * @deprecated - This API was never intended to be public and will be marked internal in a future release.
275
- */
276
- propertyManager: PropertiesManager;
277
- constructor(client: Client,
278
- /**
279
- * Start endpoint of this interval.
280
- * @remarks - This endpoint can be resolved into a character position using the SharedString it's a part of.
281
- */
282
- start: LocalReferencePosition,
283
- /**
284
- * End endpoint of this interval.
285
- * @remarks - This endpoint can be resolved into a character position using the SharedString it's a part of.
286
- */
287
- end: LocalReferencePosition, intervalType: IntervalType, props?: PropertySet, stickiness?: IntervalStickiness);
288
- private callbacks?;
289
- /**
290
- * Subscribes to position change events on this interval if there are no current listeners.
291
- * @internal
292
- */
293
- addPositionChangeListeners(beforePositionChange: () => void, afterPositionChange: () => void): void;
294
- /**
295
- * Removes the currently subscribed position change listeners.
296
- * @internal
297
- */
298
- removePositionChangeListeners(): void;
299
- /**
300
- * {@inheritDoc ISerializableInterval.serialize}
301
- * @internal
302
- */
303
- serialize(): ISerializedInterval;
304
- /**
305
- * {@inheritDoc IInterval.clone}
306
- */
307
- clone(): SequenceInterval;
308
- /**
309
- * {@inheritDoc IInterval.compare}
310
- */
311
- compare(b: SequenceInterval): number;
312
- /**
313
- * {@inheritDoc IInterval.compareStart}
314
- */
315
- compareStart(b: SequenceInterval): number;
316
- /**
317
- * {@inheritDoc IInterval.compareEnd}
318
- */
319
- compareEnd(b: SequenceInterval): number;
320
- /**
321
- * {@inheritDoc IInterval.overlaps}
322
- */
323
- overlaps(b: SequenceInterval): boolean;
324
- /**
325
- * {@inheritDoc ISerializableInterval.getIntervalId}
326
- */
327
- getIntervalId(): string;
328
- /**
329
- * {@inheritDoc IInterval.union}
330
- * @deprecated - This API was never intended to be public and will be marked internal in a future release.
331
- */
332
- union(b: SequenceInterval): SequenceInterval;
333
- /**
334
- * {@inheritDoc ISerializableInterval.addProperties}
335
- * @deprecated - This API was never intended to be public and will be marked internal in a future release.
336
- */
337
- addProperties(newProps: PropertySet, collab?: boolean, seq?: number, op?: ICombiningOp): PropertySet | undefined;
338
- /**
339
- * @returns whether this interval overlaps two numerical positions.
340
- */
341
- overlapsPos(bstart: number, bend: number): boolean;
342
- /**
343
- * {@inheritDoc IInterval.modify}
344
- * @deprecated - This API was never intended to be public and will be marked internal in a future release.
345
- */
346
- modify(label: string, start: number, end: number, op?: ISequencedDocumentMessage, localSeq?: number, stickiness?: IntervalStickiness): SequenceInterval;
347
- private initializeProperties;
348
- }
349
- export declare function createPositionReferenceFromSegoff(client: Client, segoff: {
350
- segment: ISegment | undefined;
351
- offset: number | undefined;
352
- }, refType: ReferenceType, op?: ISequencedDocumentMessage, localSeq?: number, fromSnapshot?: boolean, slidingPreference?: SlidingPreference): LocalReferencePosition;
353
- export declare function createSequenceInterval(label: string, start: number, end: number, client: Client, intervalType: IntervalType, op?: ISequencedDocumentMessage, fromSnapshot?: boolean, stickiness?: IntervalStickiness): SequenceInterval;
354
17
  export declare function createIntervalIndex(): LocalIntervalCollection<Interval>;
355
- /**
356
- * Collection of intervals.
357
- *
358
- * Implementers of this interface will typically implement additional APIs to support efficiently querying a collection
359
- * of intervals in some manner, for example:
360
- * - "find all intervals with start endpoint between these two points"
361
- * - "find all intervals which overlap this range"
362
- * etc.
363
- */
364
- export interface IntervalIndex<TInterval extends ISerializableInterval> {
365
- /**
366
- * Adds an interval to the index.
367
- * @remarks - Application code should never need to invoke this method on their index for production scenarios:
368
- * Fluid handles adding and removing intervals from an index in response to sequence or interval changes.
369
- */
370
- add(interval: TInterval): void;
371
- /**
372
- * Removes an interval from the index.
373
- * @remarks - Application code should never need to invoke this method on their index for production scenarios:
374
- * Fluid handles adding and removing intervals from an index in response to sequence or interval changes.
375
- */
376
- remove(interval: TInterval): void;
377
- }
378
- declare class IdIntervalIndex<TInterval extends ISerializableInterval> implements IntervalIndex<TInterval>, Iterable<TInterval> {
379
- private readonly intervalIdMap;
380
- add(interval: TInterval): void;
381
- remove(interval: TInterval): void;
382
- getIntervalById(id: string): TInterval | undefined;
383
- [Symbol.iterator](): IterableIterator<TInterval>;
384
- }
385
- declare class EndpointIndex<TInterval extends ISerializableInterval> implements IntervalIndex<TInterval> {
386
- private readonly client;
387
- private readonly helpers;
388
- private readonly endIntervalTree;
389
- constructor(client: Client, helpers: IIntervalHelpers<TInterval>);
390
- previousInterval(pos: number): TInterval | undefined;
391
- nextInterval(pos: number): TInterval | undefined;
392
- add(interval: TInterval): void;
393
- remove(interval: TInterval): void;
394
- }
395
- /**
396
- * Collection of intervals.
397
- *
398
- * Provide additional APIs to support efficiently querying a collection of intervals whose endpoints fall within a specified range.
399
- */
400
- export interface IEndpointInRangeIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
401
- /**
402
- * @returns an array of all intervals contained in this collection whose endpoints locate in the range [start, end] (includes both ends)
403
- */
404
- findIntervalsWithEndpointInRange(start: number, end: number): any;
405
- }
406
- /**
407
- * Collection of intervals.
408
- *
409
- * Provide additional APIs to support efficiently querying a collection of intervals whose startpoints fall within a specified range.
410
- */
411
- export interface IStartpointInRangeIndex<TInterval extends ISerializableInterval> extends IntervalIndex<TInterval> {
412
- /**
413
- * @returns an array of all intervals contained in this collection whose startpoints locate in the range [start, end] (includes both ends)
414
- */
415
- findIntervalsWithStartpointInRange(start: number, end: number): any;
416
- }
417
- export declare function createEndpointInRangeIndex<TInterval extends ISerializableInterval>(helpers: IIntervalHelpers<TInterval>, client: Client): IEndpointInRangeIndex<TInterval>;
418
- export declare function createStartpointInRangeIndex<TInterval extends ISerializableInterval>(helpers: IIntervalHelpers<TInterval>, client: Client): IStartpointInRangeIndex<TInterval>;
419
18
  export declare class LocalIntervalCollection<TInterval extends ISerializableInterval> {
420
19
  private readonly client;
421
20
  private readonly label;
@@ -424,8 +23,8 @@ export declare class LocalIntervalCollection<TInterval extends ISerializableInte
424
23
  private readonly onPositionChange?;
425
24
  private static readonly legacyIdPrefix;
426
25
  readonly overlappingIntervalsIndex: IOverlappingIntervalsIndex<TInterval>;
427
- readonly idIntervalIndex: IdIntervalIndex<TInterval>;
428
- readonly endIntervalIndex: EndpointIndex<TInterval>;
26
+ readonly idIntervalIndex: IIdIntervalIndex<TInterval>;
27
+ readonly endIntervalIndex: IEndpointIndex<TInterval>;
429
28
  private readonly indexes;
430
29
  constructor(client: Client, label: string, helpers: IIntervalHelpers<TInterval>,
431
30
  /** Callback invoked each time one of the endpoints of an interval slides. */
@@ -453,10 +52,6 @@ export declare class LocalIntervalCollection<TInterval extends ISerializableInte
453
52
  private addIntervalListeners;
454
53
  private removeIntervalListeners;
455
54
  }
456
- export declare const compareSequenceIntervalEnds: (a: SequenceInterval, b: SequenceInterval) => number;
457
- export declare const compareSequenceIntervalStarts: (a: SequenceInterval, b: SequenceInterval) => number;
458
- export declare const sequenceIntervalHelpers: IIntervalHelpers<SequenceInterval>;
459
- export declare const intervalHelpers: IIntervalHelpers<Interval>;
460
55
  export declare class SequenceIntervalCollectionValueType implements IValueType<IntervalCollection<SequenceInterval>> {
461
56
  static Name: string;
462
57
  get name(): string;
@@ -584,18 +179,26 @@ export interface IIntervalCollection<TInterval extends ISerializableInterval> ex
584
179
  [Symbol.iterator](): Iterator<TInterval>;
585
180
  /**
586
181
  * @returns a forward iterator over all intervals in this collection with start point equal to `startPosition`.
182
+ *
183
+ * @deprecated - The sequence order of collection order will not be supported
587
184
  */
588
185
  CreateForwardIteratorWithStartPosition(startPosition: number): Iterator<TInterval>;
589
186
  /**
590
187
  * @returns a backward iterator over all intervals in this collection with start point equal to `startPosition`.
188
+ *
189
+ * @deprecated - The sequence order of collection order will not be supported
591
190
  */
592
191
  CreateBackwardIteratorWithStartPosition(startPosition: number): Iterator<TInterval>;
593
192
  /**
594
193
  * @returns a forward iterator over all intervals in this collection with end point equal to `endPosition`.
194
+ *
195
+ * @deprecated - The sequence order of collection order will not be supported
595
196
  */
596
197
  CreateForwardIteratorWithEndPosition(endPosition: number): Iterator<TInterval>;
597
198
  /**
598
199
  * @returns a backward iterator over all intervals in this collection with end point equal to `endPosition`.
200
+ *
201
+ * @deprecated - The sequence order of collection order will not be supported
599
202
  */
600
203
  CreateBackwardIteratorWithEndPosition(endPosition: number): Iterator<TInterval>;
601
204
  /**
@@ -605,18 +208,32 @@ export interface IIntervalCollection<TInterval extends ISerializableInterval> ex
605
208
  * @param iteratesForward - whether or not iteration should be in the forward direction
606
209
  * @param start - If provided, only match intervals whose start point is equal to `start`.
607
210
  * @param end - If provided, only match intervals whose end point is equal to `end`.
211
+ *
212
+ * @deprecated - This API will be deprecated as its functionality will be moved to the `OverlappingIntervalsIndex`.
213
+ * We would like the user to attach the index to the collection on their own.
608
214
  */
609
215
  gatherIterationResults(results: TInterval[], iteratesForward: boolean, start?: number, end?: number): void;
610
216
  /**
611
217
  * @returns an array of all intervals in this collection that overlap with the interval
612
218
  * `[startPosition, endPosition]`.
219
+ *
220
+ * @deprecated - This API will be deprecated as its functionality will be moved to the `OverlappingIntervalsIndex`.
221
+ * We would like the user to attach the index to the collection on their own.
613
222
  */
614
223
  findOverlappingIntervals(startPosition: number, endPosition: number): TInterval[];
615
224
  /**
616
225
  * Applies a function to each interval in this collection.
617
226
  */
618
227
  map(fn: (interval: TInterval) => void): void;
228
+ /**
229
+ * @deprecated - This API will be deprecated as its functionality will be moved to the `EndpointIndex`.
230
+ * We would like the user to attach the index to the collection on their own.
231
+ */
619
232
  previousInterval(pos: number): TInterval | undefined;
233
+ /**
234
+ * @deprecated - This API will be deprecated as its functionality will be moved to the `EndpointIndex`.
235
+ * We would like the user to attach the index to the collection on their own.
236
+ */
620
237
  nextInterval(pos: number): TInterval | undefined;
621
238
  }
622
239
  /**
@@ -684,14 +301,6 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
684
301
  private hasPendingChangeEnd;
685
302
  /** @internal */
686
303
  ackChange(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage, localOpMetadata: IMapMessageLocalMetadata | undefined): void;
687
- /**
688
- * @deprecated - This functionality was useful when adding two intervals at the same start/end positions resulted
689
- * in a conflict. This is no longer the case (as of PR#6407), as interval collections support multiple intervals
690
- * at the same location and gives each interval a unique id.
691
- *
692
- * As such, the conflict resolver is never invoked and unnecessary. This API will be removed in an upcoming release.
693
- */
694
- addConflictResolver(_: IntervalConflictResolver<TInterval>): void;
695
304
  /**
696
305
  * {@inheritdoc IIntervalCollection.attachDeserializer}
697
306
  */
@@ -721,26 +330,38 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
721
330
  [Symbol.iterator](): IntervalCollectionIterator<TInterval>;
722
331
  /**
723
332
  * {@inheritdoc IIntervalCollection.CreateForwardIteratorWithStartPosition}
333
+ *
334
+ * @deprecated - The sequence order of collection order will not be supported
724
335
  */
725
336
  CreateForwardIteratorWithStartPosition(startPosition: number): IntervalCollectionIterator<TInterval>;
726
337
  /**
727
338
  * {@inheritdoc IIntervalCollection.CreateBackwardIteratorWithStartPosition}
339
+ *
340
+ * @deprecated - The sequence order of collection order will not be supported
728
341
  */
729
342
  CreateBackwardIteratorWithStartPosition(startPosition: number): IntervalCollectionIterator<TInterval>;
730
343
  /**
731
344
  * {@inheritdoc IIntervalCollection.CreateForwardIteratorWithEndPosition}
345
+ *
346
+ * @deprecated - The sequence order of collection order will not be supported
732
347
  */
733
348
  CreateForwardIteratorWithEndPosition(endPosition: number): IntervalCollectionIterator<TInterval>;
734
349
  /**
735
350
  * {@inheritdoc IIntervalCollection.CreateBackwardIteratorWithEndPosition}
351
+ *
352
+ * @deprecated - The sequence order of collection order will not be supported
736
353
  */
737
354
  CreateBackwardIteratorWithEndPosition(endPosition: number): IntervalCollectionIterator<TInterval>;
738
355
  /**
739
356
  * {@inheritdoc IIntervalCollection.gatherIterationResults}
357
+ * @deprecated - This API will be deprecated as its functionality will be moved to the `OverlappingIntervalsIndex`.
358
+ * We would like the user to attach the index to the collection on their own.
740
359
  */
741
360
  gatherIterationResults(results: TInterval[], iteratesForward: boolean, start?: number, end?: number): void;
742
361
  /**
743
362
  * {@inheritdoc IIntervalCollection.findOverlappingIntervals}
363
+ * @deprecated - This API will be deprecated as its functionality will be moved to the `OverlappingIntervalsIndex`.
364
+ * We would like the user to attach the index to the collection on their own.
744
365
  */
745
366
  findOverlappingIntervals(startPosition: number, endPosition: number): TInterval[];
746
367
  /**
@@ -749,10 +370,16 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
749
370
  map(fn: (interval: TInterval) => void): void;
750
371
  /**
751
372
  * {@inheritdoc IIntervalCollection.previousInterval}
373
+ *
374
+ * @deprecated - This API will be deprecated as its functionality will be moved to the `EndpointIndex`.
375
+ * We would like the user to attach the index to the collection on their own.
752
376
  */
753
377
  previousInterval(pos: number): TInterval | undefined;
754
378
  /**
755
379
  * {@inheritdoc IIntervalCollection.nextInterval}
380
+ *
381
+ * @deprecated - This API will be deprecated as its functionality will be moved to the `EndpointIndex`.
382
+ * We would like the user to attach the index to the collection on their own.
756
383
  */
757
384
  nextInterval(pos: number): TInterval | undefined;
758
385
  }
@@ -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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"}