@fluidframework/sequence 2.0.0-internal.5.3.4 → 2.0.0-internal.5.4.2

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 (179) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist/index.d.ts +4 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +12 -9
  5. package/dist/index.js.map +1 -1
  6. package/dist/intervalCollection.d.ts +46 -410
  7. package/dist/intervalCollection.d.ts.map +1 -1
  8. package/dist/intervalCollection.js +44 -732
  9. package/dist/intervalCollection.js.map +1 -1
  10. package/dist/intervalIndex/endpointInRangeIndex.d.ts +20 -0
  11. package/dist/intervalIndex/endpointInRangeIndex.d.ts.map +1 -0
  12. package/dist/intervalIndex/endpointInRangeIndex.js +60 -0
  13. package/dist/intervalIndex/endpointInRangeIndex.js.map +1 -0
  14. package/dist/intervalIndex/endpointIndex.d.ts +21 -0
  15. package/dist/intervalIndex/endpointIndex.d.ts.map +1 -0
  16. package/dist/intervalIndex/endpointIndex.js +42 -0
  17. package/dist/intervalIndex/endpointIndex.js.map +1 -0
  18. package/dist/intervalIndex/idIntervalIndex.d.ts +12 -0
  19. package/dist/intervalIndex/idIntervalIndex.d.ts.map +1 -0
  20. package/dist/intervalIndex/idIntervalIndex.js +41 -0
  21. package/dist/intervalIndex/idIntervalIndex.js.map +1 -0
  22. package/dist/intervalIndex/index.d.ts +5 -0
  23. package/dist/intervalIndex/index.d.ts.map +1 -1
  24. package/dist/intervalIndex/index.js +9 -1
  25. package/dist/intervalIndex/index.js.map +1 -1
  26. package/dist/intervalIndex/intervalIndex.d.ts +29 -0
  27. package/dist/intervalIndex/intervalIndex.d.ts.map +1 -0
  28. package/dist/intervalIndex/intervalIndex.js +7 -0
  29. package/dist/intervalIndex/intervalIndex.js.map +1 -0
  30. package/dist/intervalIndex/intervalIndexUtils.d.ts +17 -0
  31. package/dist/intervalIndex/intervalIndexUtils.d.ts.map +1 -0
  32. package/dist/intervalIndex/intervalIndexUtils.js +23 -0
  33. package/dist/intervalIndex/intervalIndexUtils.js.map +1 -0
  34. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts +2 -1
  35. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts.map +1 -1
  36. package/dist/intervalIndex/overlappingIntervalsIndex.js +3 -3
  37. package/dist/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  38. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js +5 -5
  39. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  40. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts +1 -1
  41. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  42. package/dist/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  43. package/dist/intervalIndex/startpointInRangeIndex.d.ts +20 -0
  44. package/dist/intervalIndex/startpointInRangeIndex.d.ts.map +1 -0
  45. package/dist/intervalIndex/startpointInRangeIndex.js +62 -0
  46. package/dist/intervalIndex/startpointInRangeIndex.js.map +1 -0
  47. package/dist/intervalTree.d.ts +1 -47
  48. package/dist/intervalTree.d.ts.map +1 -1
  49. package/dist/intervalTree.js.map +1 -1
  50. package/dist/intervals/index.d.ts +8 -0
  51. package/dist/intervals/index.d.ts.map +1 -0
  52. package/dist/intervals/index.js +23 -0
  53. package/dist/intervals/index.js.map +1 -0
  54. package/dist/intervals/interval.d.ts +88 -0
  55. package/dist/intervals/interval.d.ts.map +1 -0
  56. package/dist/intervals/interval.js +182 -0
  57. package/dist/intervals/interval.js.map +1 -0
  58. package/dist/intervals/intervalUtils.d.ts +194 -0
  59. package/dist/intervals/intervalUtils.d.ts.map +1 -0
  60. package/dist/intervals/intervalUtils.js +79 -0
  61. package/dist/intervals/intervalUtils.js.map +1 -0
  62. package/dist/intervals/sequenceInterval.d.ts +132 -0
  63. package/dist/intervals/sequenceInterval.d.ts.map +1 -0
  64. package/dist/intervals/sequenceInterval.js +315 -0
  65. package/dist/intervals/sequenceInterval.js.map +1 -0
  66. package/dist/packageVersion.d.ts +1 -1
  67. package/dist/packageVersion.js +1 -1
  68. package/dist/packageVersion.js.map +1 -1
  69. package/dist/revertibles.d.ts +1 -1
  70. package/dist/revertibles.d.ts.map +1 -1
  71. package/dist/revertibles.js +36 -29
  72. package/dist/revertibles.js.map +1 -1
  73. package/dist/sequence.d.ts +2 -1
  74. package/dist/sequence.d.ts.map +1 -1
  75. package/dist/sequence.js +4 -1
  76. package/dist/sequence.js.map +1 -1
  77. package/dist/sharedIntervalCollection.d.ts +2 -1
  78. package/dist/sharedIntervalCollection.d.ts.map +1 -1
  79. package/dist/sharedIntervalCollection.js.map +1 -1
  80. package/lib/index.d.ts +4 -3
  81. package/lib/index.d.ts.map +1 -1
  82. package/lib/index.js +3 -2
  83. package/lib/index.js.map +1 -1
  84. package/lib/intervalCollection.d.ts +46 -410
  85. package/lib/intervalCollection.d.ts.map +1 -1
  86. package/lib/intervalCollection.js +25 -705
  87. package/lib/intervalCollection.js.map +1 -1
  88. package/lib/intervalIndex/endpointInRangeIndex.d.ts +20 -0
  89. package/lib/intervalIndex/endpointInRangeIndex.d.ts.map +1 -0
  90. package/lib/intervalIndex/endpointInRangeIndex.js +56 -0
  91. package/lib/intervalIndex/endpointInRangeIndex.js.map +1 -0
  92. package/lib/intervalIndex/endpointIndex.d.ts +21 -0
  93. package/lib/intervalIndex/endpointIndex.d.ts.map +1 -0
  94. package/lib/intervalIndex/endpointIndex.js +38 -0
  95. package/lib/intervalIndex/endpointIndex.js.map +1 -0
  96. package/lib/intervalIndex/idIntervalIndex.d.ts +12 -0
  97. package/lib/intervalIndex/idIntervalIndex.d.ts.map +1 -0
  98. package/lib/intervalIndex/idIntervalIndex.js +37 -0
  99. package/lib/intervalIndex/idIntervalIndex.js.map +1 -0
  100. package/lib/intervalIndex/index.d.ts +5 -0
  101. package/lib/intervalIndex/index.d.ts.map +1 -1
  102. package/lib/intervalIndex/index.js +4 -0
  103. package/lib/intervalIndex/index.js.map +1 -1
  104. package/lib/intervalIndex/intervalIndex.d.ts +29 -0
  105. package/lib/intervalIndex/intervalIndex.d.ts.map +1 -0
  106. package/lib/intervalIndex/intervalIndex.js +6 -0
  107. package/lib/intervalIndex/intervalIndex.js.map +1 -0
  108. package/lib/intervalIndex/intervalIndexUtils.d.ts +17 -0
  109. package/lib/intervalIndex/intervalIndexUtils.d.ts.map +1 -0
  110. package/lib/intervalIndex/intervalIndexUtils.js +19 -0
  111. package/lib/intervalIndex/intervalIndexUtils.js.map +1 -0
  112. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts +2 -1
  113. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts.map +1 -1
  114. package/lib/intervalIndex/overlappingIntervalsIndex.js +1 -1
  115. package/lib/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  116. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js +1 -1
  117. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  118. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts +1 -1
  119. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  120. package/lib/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  121. package/lib/intervalIndex/startpointInRangeIndex.d.ts +20 -0
  122. package/lib/intervalIndex/startpointInRangeIndex.d.ts.map +1 -0
  123. package/lib/intervalIndex/startpointInRangeIndex.js +58 -0
  124. package/lib/intervalIndex/startpointInRangeIndex.js.map +1 -0
  125. package/lib/intervalTree.d.ts +1 -47
  126. package/lib/intervalTree.d.ts.map +1 -1
  127. package/lib/intervalTree.js.map +1 -1
  128. package/lib/intervals/index.d.ts +8 -0
  129. package/lib/intervals/index.d.ts.map +1 -0
  130. package/lib/intervals/index.js +8 -0
  131. package/lib/intervals/index.js.map +1 -0
  132. package/lib/intervals/interval.d.ts +88 -0
  133. package/lib/intervals/interval.d.ts.map +1 -0
  134. package/lib/intervals/interval.js +177 -0
  135. package/lib/intervals/interval.js.map +1 -0
  136. package/lib/intervals/intervalUtils.d.ts +194 -0
  137. package/lib/intervals/intervalUtils.d.ts.map +1 -0
  138. package/lib/intervals/intervalUtils.js +74 -0
  139. package/lib/intervals/intervalUtils.js.map +1 -0
  140. package/lib/intervals/sequenceInterval.d.ts +132 -0
  141. package/lib/intervals/sequenceInterval.d.ts.map +1 -0
  142. package/lib/intervals/sequenceInterval.js +307 -0
  143. package/lib/intervals/sequenceInterval.js.map +1 -0
  144. package/lib/packageVersion.d.ts +1 -1
  145. package/lib/packageVersion.js +1 -1
  146. package/lib/packageVersion.js.map +1 -1
  147. package/lib/revertibles.d.ts +1 -1
  148. package/lib/revertibles.d.ts.map +1 -1
  149. package/lib/revertibles.js +21 -14
  150. package/lib/revertibles.js.map +1 -1
  151. package/lib/sequence.d.ts +2 -1
  152. package/lib/sequence.d.ts.map +1 -1
  153. package/lib/sequence.js +5 -2
  154. package/lib/sequence.js.map +1 -1
  155. package/lib/sharedIntervalCollection.d.ts +2 -1
  156. package/lib/sharedIntervalCollection.d.ts.map +1 -1
  157. package/lib/sharedIntervalCollection.js.map +1 -1
  158. package/package.json +15 -15
  159. package/src/index.ts +19 -12
  160. package/src/intervalCollection.ts +75 -1204
  161. package/src/intervalIndex/endpointInRangeIndex.ts +104 -0
  162. package/src/intervalIndex/endpointIndex.ts +78 -0
  163. package/src/intervalIndex/idIntervalIndex.ts +58 -0
  164. package/src/intervalIndex/index.ts +5 -0
  165. package/src/intervalIndex/intervalIndex.ts +31 -0
  166. package/src/intervalIndex/intervalIndexUtils.ts +27 -0
  167. package/src/intervalIndex/overlappingIntervalsIndex.ts +2 -6
  168. package/src/intervalIndex/overlappingSequenceIntervalsIndex.ts +1 -1
  169. package/src/intervalIndex/sequenceIntervalIndexes.ts +1 -1
  170. package/src/intervalIndex/startpointInRangeIndex.ts +109 -0
  171. package/src/intervalTree.ts +1 -54
  172. package/src/intervals/index.ts +25 -0
  173. package/src/intervals/interval.ts +230 -0
  174. package/src/intervals/intervalUtils.ts +249 -0
  175. package/src/intervals/sequenceInterval.ts +494 -0
  176. package/src/packageVersion.ts +1 -1
  177. package/src/revertibles.ts +23 -12
  178. package/src/sequence.ts +6 -3
  179. package/src/sharedIntervalCollection.ts +1 -2
@@ -4,418 +4,18 @@
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 { IntervalConflictResolver } from "./intervalTree";
11
+ import { CompressedSerializedInterval, IIntervalHelpers, Interval, IntervalStickiness, IntervalType, ISerializableInterval, ISerializedInterval, SequenceInterval, SerializedIntervalDelta } from "./intervals";
12
+ import { IEndpointIndex, IIdIntervalIndex, IOverlappingIntervalsIndex, IntervalIndex } from "./intervalIndex";
78
13
  export interface ISerializedIntervalCollectionV2 {
79
14
  label: string;
80
15
  version: 2;
81
16
  intervals: CompressedSerializedInterval[];
82
17
  }
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
18
  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
19
  export declare class LocalIntervalCollection<TInterval extends ISerializableInterval> {
420
20
  private readonly client;
421
21
  private readonly label;
@@ -424,8 +24,8 @@ export declare class LocalIntervalCollection<TInterval extends ISerializableInte
424
24
  private readonly onPositionChange?;
425
25
  private static readonly legacyIdPrefix;
426
26
  readonly overlappingIntervalsIndex: IOverlappingIntervalsIndex<TInterval>;
427
- readonly idIntervalIndex: IdIntervalIndex<TInterval>;
428
- readonly endIntervalIndex: EndpointIndex<TInterval>;
27
+ readonly idIntervalIndex: IIdIntervalIndex<TInterval>;
28
+ readonly endIntervalIndex: IEndpointIndex<TInterval>;
429
29
  private readonly indexes;
430
30
  constructor(client: Client, label: string, helpers: IIntervalHelpers<TInterval>,
431
31
  /** Callback invoked each time one of the endpoints of an interval slides. */
@@ -453,10 +53,6 @@ export declare class LocalIntervalCollection<TInterval extends ISerializableInte
453
53
  private addIntervalListeners;
454
54
  private removeIntervalListeners;
455
55
  }
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
56
  export declare class SequenceIntervalCollectionValueType implements IValueType<IntervalCollection<SequenceInterval>> {
461
57
  static Name: string;
462
58
  get name(): string;
@@ -584,18 +180,26 @@ export interface IIntervalCollection<TInterval extends ISerializableInterval> ex
584
180
  [Symbol.iterator](): Iterator<TInterval>;
585
181
  /**
586
182
  * @returns a forward iterator over all intervals in this collection with start point equal to `startPosition`.
183
+ *
184
+ * @deprecated - The sequence order of collection order will not be supported
587
185
  */
588
186
  CreateForwardIteratorWithStartPosition(startPosition: number): Iterator<TInterval>;
589
187
  /**
590
188
  * @returns a backward iterator over all intervals in this collection with start point equal to `startPosition`.
189
+ *
190
+ * @deprecated - The sequence order of collection order will not be supported
591
191
  */
592
192
  CreateBackwardIteratorWithStartPosition(startPosition: number): Iterator<TInterval>;
593
193
  /**
594
194
  * @returns a forward iterator over all intervals in this collection with end point equal to `endPosition`.
195
+ *
196
+ * @deprecated - The sequence order of collection order will not be supported
595
197
  */
596
198
  CreateForwardIteratorWithEndPosition(endPosition: number): Iterator<TInterval>;
597
199
  /**
598
200
  * @returns a backward iterator over all intervals in this collection with end point equal to `endPosition`.
201
+ *
202
+ * @deprecated - The sequence order of collection order will not be supported
599
203
  */
600
204
  CreateBackwardIteratorWithEndPosition(endPosition: number): Iterator<TInterval>;
601
205
  /**
@@ -605,18 +209,32 @@ export interface IIntervalCollection<TInterval extends ISerializableInterval> ex
605
209
  * @param iteratesForward - whether or not iteration should be in the forward direction
606
210
  * @param start - If provided, only match intervals whose start point is equal to `start`.
607
211
  * @param end - If provided, only match intervals whose end point is equal to `end`.
212
+ *
213
+ * @deprecated - This API will be deprecated as its functionality will be moved to the `OverlappingIntervalsIndex`.
214
+ * We would like the user to attach the index to the collection on their own.
608
215
  */
609
216
  gatherIterationResults(results: TInterval[], iteratesForward: boolean, start?: number, end?: number): void;
610
217
  /**
611
218
  * @returns an array of all intervals in this collection that overlap with the interval
612
219
  * `[startPosition, endPosition]`.
220
+ *
221
+ * @deprecated - This API will be deprecated as its functionality will be moved to the `OverlappingIntervalsIndex`.
222
+ * We would like the user to attach the index to the collection on their own.
613
223
  */
614
224
  findOverlappingIntervals(startPosition: number, endPosition: number): TInterval[];
615
225
  /**
616
226
  * Applies a function to each interval in this collection.
617
227
  */
618
228
  map(fn: (interval: TInterval) => void): void;
229
+ /**
230
+ * @deprecated - This API will be deprecated as its functionality will be moved to the `EndpointIndex`.
231
+ * We would like the user to attach the index to the collection on their own.
232
+ */
619
233
  previousInterval(pos: number): TInterval | undefined;
234
+ /**
235
+ * @deprecated - This API will be deprecated as its functionality will be moved to the `EndpointIndex`.
236
+ * We would like the user to attach the index to the collection on their own.
237
+ */
620
238
  nextInterval(pos: number): TInterval | undefined;
621
239
  }
622
240
  /**
@@ -721,26 +339,38 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
721
339
  [Symbol.iterator](): IntervalCollectionIterator<TInterval>;
722
340
  /**
723
341
  * {@inheritdoc IIntervalCollection.CreateForwardIteratorWithStartPosition}
342
+ *
343
+ * @deprecated - The sequence order of collection order will not be supported
724
344
  */
725
345
  CreateForwardIteratorWithStartPosition(startPosition: number): IntervalCollectionIterator<TInterval>;
726
346
  /**
727
347
  * {@inheritdoc IIntervalCollection.CreateBackwardIteratorWithStartPosition}
348
+ *
349
+ * @deprecated - The sequence order of collection order will not be supported
728
350
  */
729
351
  CreateBackwardIteratorWithStartPosition(startPosition: number): IntervalCollectionIterator<TInterval>;
730
352
  /**
731
353
  * {@inheritdoc IIntervalCollection.CreateForwardIteratorWithEndPosition}
354
+ *
355
+ * @deprecated - The sequence order of collection order will not be supported
732
356
  */
733
357
  CreateForwardIteratorWithEndPosition(endPosition: number): IntervalCollectionIterator<TInterval>;
734
358
  /**
735
359
  * {@inheritdoc IIntervalCollection.CreateBackwardIteratorWithEndPosition}
360
+ *
361
+ * @deprecated - The sequence order of collection order will not be supported
736
362
  */
737
363
  CreateBackwardIteratorWithEndPosition(endPosition: number): IntervalCollectionIterator<TInterval>;
738
364
  /**
739
365
  * {@inheritdoc IIntervalCollection.gatherIterationResults}
366
+ * @deprecated - This API will be deprecated as its functionality will be moved to the `OverlappingIntervalsIndex`.
367
+ * We would like the user to attach the index to the collection on their own.
740
368
  */
741
369
  gatherIterationResults(results: TInterval[], iteratesForward: boolean, start?: number, end?: number): void;
742
370
  /**
743
371
  * {@inheritdoc IIntervalCollection.findOverlappingIntervals}
372
+ * @deprecated - This API will be deprecated as its functionality will be moved to the `OverlappingIntervalsIndex`.
373
+ * We would like the user to attach the index to the collection on their own.
744
374
  */
745
375
  findOverlappingIntervals(startPosition: number, endPosition: number): TInterval[];
746
376
  /**
@@ -749,10 +379,16 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
749
379
  map(fn: (interval: TInterval) => void): void;
750
380
  /**
751
381
  * {@inheritdoc IIntervalCollection.previousInterval}
382
+ *
383
+ * @deprecated - This API will be deprecated as its functionality will be moved to the `EndpointIndex`.
384
+ * We would like the user to attach the index to the collection on their own.
752
385
  */
753
386
  previousInterval(pos: number): TInterval | undefined;
754
387
  /**
755
388
  * {@inheritdoc IIntervalCollection.nextInterval}
389
+ *
390
+ * @deprecated - This API will be deprecated as its functionality will be moved to the `EndpointIndex`.
391
+ * We would like the user to attach the index to the collection on their own.
756
392
  */
757
393
  nextInterval(pos: number): TInterval | undefined;
758
394
  }
@@ -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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"}