@fluidframework/sequence 2.91.0 → 2.93.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 (187) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +1 -1
  3. package/api-report/sequence.legacy.beta.api.md +2 -2
  4. package/dist/IntervalCollectionValues.d.ts +3 -3
  5. package/dist/IntervalCollectionValues.d.ts.map +1 -1
  6. package/dist/IntervalCollectionValues.js.map +1 -1
  7. package/dist/index.d.ts +10 -10
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/intervalCollection.d.ts +6 -5
  11. package/dist/intervalCollection.d.ts.map +1 -1
  12. package/dist/intervalCollection.js +10 -9
  13. package/dist/intervalCollection.js.map +1 -1
  14. package/dist/intervalCollectionMap.d.ts +4 -5
  15. package/dist/intervalCollectionMap.d.ts.map +1 -1
  16. package/dist/intervalCollectionMap.js +3 -3
  17. package/dist/intervalCollectionMap.js.map +1 -1
  18. package/dist/intervalCollectionMapInterfaces.d.ts +3 -3
  19. package/dist/intervalCollectionMapInterfaces.d.ts.map +1 -1
  20. package/dist/intervalCollectionMapInterfaces.js.map +1 -1
  21. package/dist/intervalIndex/endpointInRangeIndex.d.ts +2 -2
  22. package/dist/intervalIndex/endpointInRangeIndex.d.ts.map +1 -1
  23. package/dist/intervalIndex/endpointInRangeIndex.js.map +1 -1
  24. package/dist/intervalIndex/endpointIndex.d.ts +2 -2
  25. package/dist/intervalIndex/endpointIndex.d.ts.map +1 -1
  26. package/dist/intervalIndex/endpointIndex.js.map +1 -1
  27. package/dist/intervalIndex/index.d.ts +7 -7
  28. package/dist/intervalIndex/index.d.ts.map +1 -1
  29. package/dist/intervalIndex/index.js.map +1 -1
  30. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts +3 -3
  31. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts.map +1 -1
  32. package/dist/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  33. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts +2 -2
  34. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  35. package/dist/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  36. package/dist/intervalIndex/startpointInRangeIndex.d.ts +2 -2
  37. package/dist/intervalIndex/startpointInRangeIndex.d.ts.map +1 -1
  38. package/dist/intervalIndex/startpointInRangeIndex.js.map +1 -1
  39. package/dist/intervalTree.d.ts +3 -2
  40. package/dist/intervalTree.d.ts.map +1 -1
  41. package/dist/intervalTree.js.map +1 -1
  42. package/dist/intervals/index.d.ts +2 -2
  43. package/dist/intervals/index.d.ts.map +1 -1
  44. package/dist/intervals/index.js.map +1 -1
  45. package/dist/intervals/intervalUtils.d.ts +2 -1
  46. package/dist/intervals/intervalUtils.d.ts.map +1 -1
  47. package/dist/intervals/intervalUtils.js +0 -1
  48. package/dist/intervals/intervalUtils.js.map +1 -1
  49. package/dist/intervals/sequenceInterval.d.ts +5 -3
  50. package/dist/intervals/sequenceInterval.d.ts.map +1 -1
  51. package/dist/intervals/sequenceInterval.js.map +1 -1
  52. package/dist/legacy.d.ts +1 -1
  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/public.d.ts +1 -1
  57. package/dist/revertibles.d.ts +5 -4
  58. package/dist/revertibles.d.ts.map +1 -1
  59. package/dist/revertibles.js +26 -20
  60. package/dist/revertibles.js.map +1 -1
  61. package/dist/sequence.d.ts +8 -6
  62. package/dist/sequence.d.ts.map +1 -1
  63. package/dist/sequence.js +9 -10
  64. package/dist/sequence.js.map +1 -1
  65. package/dist/sequenceDeltaEvent.d.ts +2 -1
  66. package/dist/sequenceDeltaEvent.d.ts.map +1 -1
  67. package/dist/sequenceDeltaEvent.js +2 -2
  68. package/dist/sequenceDeltaEvent.js.map +1 -1
  69. package/dist/sequenceFactory.d.ts +3 -2
  70. package/dist/sequenceFactory.d.ts.map +1 -1
  71. package/dist/sequenceFactory.js +3 -2
  72. package/dist/sequenceFactory.js.map +1 -1
  73. package/dist/sharedSequence.d.ts +3 -2
  74. package/dist/sharedSequence.d.ts.map +1 -1
  75. package/dist/sharedSequence.js.map +1 -1
  76. package/dist/sharedString.d.ts +3 -2
  77. package/dist/sharedString.d.ts.map +1 -1
  78. package/dist/sharedString.js.map +1 -1
  79. package/eslint.config.mts +16 -4
  80. package/internal.d.ts +1 -1
  81. package/legacy.d.ts +1 -1
  82. package/lib/IntervalCollectionValues.d.ts +3 -3
  83. package/lib/IntervalCollectionValues.d.ts.map +1 -1
  84. package/lib/IntervalCollectionValues.js +1 -1
  85. package/lib/IntervalCollectionValues.js.map +1 -1
  86. package/lib/index.d.ts +10 -10
  87. package/lib/index.d.ts.map +1 -1
  88. package/lib/index.js.map +1 -1
  89. package/lib/intervalCollection.d.ts +6 -5
  90. package/lib/intervalCollection.d.ts.map +1 -1
  91. package/lib/intervalCollection.js +10 -9
  92. package/lib/intervalCollection.js.map +1 -1
  93. package/lib/intervalCollectionMap.d.ts +4 -5
  94. package/lib/intervalCollectionMap.d.ts.map +1 -1
  95. package/lib/intervalCollectionMap.js +3 -3
  96. package/lib/intervalCollectionMap.js.map +1 -1
  97. package/lib/intervalCollectionMapInterfaces.d.ts +3 -3
  98. package/lib/intervalCollectionMapInterfaces.d.ts.map +1 -1
  99. package/lib/intervalCollectionMapInterfaces.js.map +1 -1
  100. package/lib/intervalIndex/endpointInRangeIndex.d.ts +2 -2
  101. package/lib/intervalIndex/endpointInRangeIndex.d.ts.map +1 -1
  102. package/lib/intervalIndex/endpointInRangeIndex.js +1 -1
  103. package/lib/intervalIndex/endpointInRangeIndex.js.map +1 -1
  104. package/lib/intervalIndex/endpointIndex.d.ts +2 -2
  105. package/lib/intervalIndex/endpointIndex.d.ts.map +1 -1
  106. package/lib/intervalIndex/endpointIndex.js.map +1 -1
  107. package/lib/intervalIndex/index.d.ts +7 -7
  108. package/lib/intervalIndex/index.d.ts.map +1 -1
  109. package/lib/intervalIndex/index.js.map +1 -1
  110. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts +3 -3
  111. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts.map +1 -1
  112. package/lib/intervalIndex/overlappingIntervalsIndex.js +1 -1
  113. package/lib/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  114. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts +2 -2
  115. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  116. package/lib/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  117. package/lib/intervalIndex/startpointInRangeIndex.d.ts +2 -2
  118. package/lib/intervalIndex/startpointInRangeIndex.d.ts.map +1 -1
  119. package/lib/intervalIndex/startpointInRangeIndex.js +1 -1
  120. package/lib/intervalIndex/startpointInRangeIndex.js.map +1 -1
  121. package/lib/intervalTree.d.ts +3 -2
  122. package/lib/intervalTree.d.ts.map +1 -1
  123. package/lib/intervalTree.js +1 -1
  124. package/lib/intervalTree.js.map +1 -1
  125. package/lib/intervals/index.d.ts +2 -2
  126. package/lib/intervals/index.d.ts.map +1 -1
  127. package/lib/intervals/index.js.map +1 -1
  128. package/lib/intervals/intervalUtils.d.ts +2 -1
  129. package/lib/intervals/intervalUtils.d.ts.map +1 -1
  130. package/lib/intervals/intervalUtils.js +0 -1
  131. package/lib/intervals/intervalUtils.js.map +1 -1
  132. package/lib/intervals/sequenceInterval.d.ts +5 -3
  133. package/lib/intervals/sequenceInterval.d.ts.map +1 -1
  134. package/lib/intervals/sequenceInterval.js.map +1 -1
  135. package/lib/legacy.d.ts +1 -1
  136. package/lib/packageVersion.d.ts +1 -1
  137. package/lib/packageVersion.js +1 -1
  138. package/lib/packageVersion.js.map +1 -1
  139. package/lib/public.d.ts +1 -1
  140. package/lib/revertibles.d.ts +5 -4
  141. package/lib/revertibles.d.ts.map +1 -1
  142. package/lib/revertibles.js +26 -20
  143. package/lib/revertibles.js.map +1 -1
  144. package/lib/sequence.d.ts +8 -6
  145. package/lib/sequence.d.ts.map +1 -1
  146. package/lib/sequence.js +11 -12
  147. package/lib/sequence.js.map +1 -1
  148. package/lib/sequenceDeltaEvent.d.ts +2 -1
  149. package/lib/sequenceDeltaEvent.d.ts.map +1 -1
  150. package/lib/sequenceDeltaEvent.js +2 -2
  151. package/lib/sequenceDeltaEvent.js.map +1 -1
  152. package/lib/sequenceFactory.d.ts +3 -2
  153. package/lib/sequenceFactory.d.ts.map +1 -1
  154. package/lib/sequenceFactory.js +3 -2
  155. package/lib/sequenceFactory.js.map +1 -1
  156. package/lib/sharedSequence.d.ts +3 -2
  157. package/lib/sharedSequence.d.ts.map +1 -1
  158. package/lib/sharedSequence.js +1 -1
  159. package/lib/sharedSequence.js.map +1 -1
  160. package/lib/sharedString.d.ts +3 -2
  161. package/lib/sharedString.d.ts.map +1 -1
  162. package/lib/sharedString.js +1 -1
  163. package/lib/sharedString.js.map +1 -1
  164. package/lib/tsdoc-metadata.json +1 -1
  165. package/package.json +27 -32
  166. package/src/IntervalCollectionValues.ts +4 -6
  167. package/src/index.ts +25 -25
  168. package/src/intervalCollection.ts +25 -20
  169. package/src/intervalCollectionMap.ts +8 -8
  170. package/src/intervalCollectionMapInterfaces.ts +4 -4
  171. package/src/intervalIndex/endpointInRangeIndex.ts +7 -8
  172. package/src/intervalIndex/endpointIndex.ts +3 -2
  173. package/src/intervalIndex/index.ts +7 -7
  174. package/src/intervalIndex/overlappingIntervalsIndex.ts +8 -9
  175. package/src/intervalIndex/sequenceIntervalIndexes.ts +2 -2
  176. package/src/intervalIndex/startpointInRangeIndex.ts +7 -8
  177. package/src/intervalTree.ts +3 -3
  178. package/src/intervals/index.ts +6 -6
  179. package/src/intervals/intervalUtils.ts +2 -1
  180. package/src/intervals/sequenceInterval.ts +7 -6
  181. package/src/packageVersion.ts +1 -1
  182. package/src/revertibles.ts +35 -26
  183. package/src/sequence.ts +25 -26
  184. package/src/sequenceDeltaEvent.ts +6 -4
  185. package/src/sequenceFactory.ts +6 -4
  186. package/src/sharedSequence.ts +3 -7
  187. package/src/sharedString.ts +3 -5
package/src/index.ts CHANGED
@@ -15,26 +15,26 @@
15
15
  *
16
16
  * @packageDocumentation
17
17
  */
18
- export { SequenceOptions } from "./intervalCollectionMapInterfaces.js";
18
+ export type { SequenceOptions } from "./intervalCollectionMapInterfaces.js";
19
19
  export {
20
- IInterval,
20
+ type IInterval,
21
21
  IntervalOpType,
22
22
  IntervalType,
23
- ISerializedInterval,
24
- SequenceInterval,
25
- SerializedIntervalDelta,
23
+ type ISerializedInterval,
24
+ type SequenceInterval,
25
+ type SerializedIntervalDelta,
26
26
  IntervalStickiness,
27
27
  } from "./intervals/index.js";
28
- export {
28
+ export type {
29
29
  DeserializeCallback,
30
30
  ISequenceIntervalCollection,
31
31
  ISequenceIntervalCollectionEvents,
32
32
  } from "./intervalCollection.js";
33
33
  export {
34
- SequenceIntervalIndex,
35
- SequenceIntervalIndexes,
36
- ISequenceOverlappingIntervalsIndex,
37
- IEndpointIndex,
34
+ type SequenceIntervalIndex,
35
+ type SequenceIntervalIndexes,
36
+ type ISequenceOverlappingIntervalsIndex,
37
+ type IEndpointIndex,
38
38
  createOverlappingIntervalsIndex,
39
39
  createEndpointIndex,
40
40
  } from "./intervalIndex/index.js";
@@ -45,16 +45,16 @@ export {
45
45
  appendIntervalPropertyChangedToRevertibles,
46
46
  appendSharedStringDeltaToRevertibles,
47
47
  discardSharedStringRevertibles,
48
- IntervalRevertible,
48
+ type IntervalRevertible,
49
49
  revertSharedStringRevertibles,
50
- SharedStringRevertible,
50
+ type SharedStringRevertible,
51
51
  } from "./revertibles.js";
52
52
  export {
53
- ISharedSegmentSequenceEvents,
53
+ type ISharedSegmentSequenceEvents,
54
54
  SharedSegmentSequence,
55
- ISharedSegmentSequence,
55
+ type ISharedSegmentSequence,
56
56
  } from "./sequence.js";
57
- export {
57
+ export type {
58
58
  ISequenceDeltaRange,
59
59
  SequenceDeltaEvent,
60
60
  SequenceEvent,
@@ -63,28 +63,28 @@ export {
63
63
  export { SharedString } from "./sequenceFactory.js";
64
64
  export {
65
65
  getTextAndMarkers,
66
- ISharedString,
67
- SharedStringSegment,
66
+ type ISharedString,
67
+ type SharedStringSegment,
68
68
  SharedStringClass,
69
69
  } from "./sharedString.js";
70
- export { IJSONRunSegment, SharedSequence, SubSequence } from "./sharedSequence.js";
70
+ export { type IJSONRunSegment, SharedSequence, SubSequence } from "./sharedSequence.js";
71
71
 
72
72
  export {
73
- ISegment,
73
+ type ISegment,
74
74
  Marker,
75
75
  BaseSegment,
76
- ReferencePosition,
76
+ type ReferencePosition,
77
77
  ReferenceType,
78
- PropertySet,
79
- MapLike,
78
+ type PropertySet,
79
+ type MapLike,
80
80
  TextSegment,
81
81
  MergeTreeDeltaType,
82
82
  reservedMarkerIdKey,
83
83
  reservedTileLabelsKey,
84
84
  reservedRangeLabelsKey,
85
85
  TrackingGroup,
86
- LocalReferencePosition,
86
+ type LocalReferencePosition,
87
87
  Side,
88
- InteriorSequencePlace,
89
- SequencePlace,
88
+ type InteriorSequencePlace,
89
+ type SequencePlace,
90
90
  } from "@fluidframework/merge-tree/internal";
@@ -6,25 +6,27 @@
6
6
  /* eslint-disable no-bitwise */
7
7
 
8
8
  import { TypedEventEmitter } from "@fluid-internal/client-utils";
9
- import { IEvent } from "@fluidframework/core-interfaces";
9
+ import type { IEvent } from "@fluidframework/core-interfaces";
10
10
  import {
11
11
  assert,
12
12
  DoublyLinkedList,
13
13
  unreachableCase,
14
14
  type ListNode,
15
15
  } from "@fluidframework/core-utils/internal";
16
- import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
17
- import {
16
+ import type { ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
17
+ import type {
18
18
  Client,
19
19
  ISegment,
20
20
  LocalReferencePosition,
21
21
  PropertySet,
22
+ SequencePlace,
23
+ } from "@fluidframework/merge-tree/internal";
24
+ import {
22
25
  ReferenceType,
23
26
  getSlideToSegoff,
24
27
  refTypeIncludesFlag,
25
28
  reservedRangeLabelsKey,
26
29
  Side,
27
- SequencePlace,
28
30
  endpointPosAndSide,
29
31
  type ISegmentInternal,
30
32
  createLocalReconnectingPerspective,
@@ -33,12 +35,12 @@ import {
33
35
  import { LoggingError, UsageError } from "@fluidframework/telemetry-utils/internal";
34
36
  import { v4 as uuid } from "uuid";
35
37
 
36
- import {
38
+ import type {
39
+ IIntervalCollectionTypeOperationValue,
40
+ IntervalAddLocalMetadata,
41
+ IntervalChangeLocalMetadata,
37
42
  IntervalMessageLocalMetadata,
38
43
  SequenceOptions,
39
- type IIntervalCollectionTypeOperationValue,
40
- type IntervalAddLocalMetadata,
41
- type IntervalChangeLocalMetadata,
42
44
  } from "./intervalCollectionMapInterfaces.js";
43
45
  import {
44
46
  createIdIntervalIndex,
@@ -49,14 +51,16 @@ import {
49
51
  type ISequenceOverlappingIntervalsIndex,
50
52
  type SequenceIntervalIndex,
51
53
  } from "./intervalIndex/index.js";
52
- import {
54
+ import type {
53
55
  CompressedSerializedInterval,
54
56
  ISerializedInterval,
55
- IntervalStickiness,
56
- IntervalType,
57
57
  SequenceInterval,
58
58
  SequenceIntervalClass,
59
59
  SerializedIntervalDelta,
60
+ } from "./intervals/index.js";
61
+ import {
62
+ IntervalStickiness,
63
+ IntervalType,
60
64
  createPositionReferenceFromSegoff,
61
65
  createSequenceInterval,
62
66
  getSerializedProperties,
@@ -72,8 +76,8 @@ export interface ISerializedIntervalCollectionV2 {
72
76
  }
73
77
 
74
78
  function sidesFromStickiness(stickiness: IntervalStickiness) {
75
- const startSide = (stickiness & IntervalStickiness.START) !== 0 ? Side.After : Side.Before;
76
- const endSide = (stickiness & IntervalStickiness.END) !== 0 ? Side.Before : Side.After;
79
+ const startSide = (stickiness & IntervalStickiness.START) === 0 ? Side.Before : Side.After;
80
+ const endSide = (stickiness & IntervalStickiness.END) === 0 ? Side.After : Side.Before;
77
81
 
78
82
  return { startSide, endSide };
79
83
  }
@@ -853,8 +857,9 @@ export class IntervalCollection
853
857
  }
854
858
  break;
855
859
  }
856
- default:
860
+ default: {
857
861
  unreachableCase(type);
862
+ }
858
863
  }
859
864
  }
860
865
 
@@ -903,8 +908,9 @@ export class IntervalCollection
903
908
  );
904
909
  break;
905
910
  }
906
- default:
911
+ default: {
907
912
  unreachableCase(opName);
913
+ }
908
914
  }
909
915
  const pending = clearEmptyPendingEntry(this.pending, id);
910
916
 
@@ -962,8 +968,9 @@ export class IntervalCollection
962
968
  this.removeIntervalById(id);
963
969
  break;
964
970
  }
965
- default:
971
+ default: {
966
972
  throw new Error("unknown ops should not be stashed");
973
+ }
967
974
  }
968
975
  }
969
976
 
@@ -1670,10 +1677,8 @@ export class IntervalCollection
1670
1677
  op,
1671
1678
  );
1672
1679
 
1673
- if (interval) {
1674
- if (this.onDeserialize) {
1675
- this.onDeserialize(interval);
1676
- }
1680
+ if (interval && this.onDeserialize) {
1681
+ this.onDeserialize(interval);
1677
1682
  }
1678
1683
 
1679
1684
  this.emit("addInterval", interval, local, op);
@@ -4,11 +4,11 @@
4
4
  */
5
5
 
6
6
  import { TypedEventEmitter } from "@fluid-internal/client-utils";
7
- import { IFluidHandle } from "@fluidframework/core-interfaces";
8
- import type { IEvent, IEventProvider } from "@fluidframework/core-interfaces";
7
+ import type { IEvent, IEventProvider, IFluidHandle } from "@fluidframework/core-interfaces";
9
8
  import { assert } from "@fluidframework/core-utils/internal";
10
- import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
11
- import { ValueType, IFluidSerializer } from "@fluidframework/shared-object-base/internal";
9
+ import type { ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
10
+ import type { IFluidSerializer } from "@fluidframework/shared-object-base/internal";
11
+ import { ValueType } from "@fluidframework/shared-object-base/internal";
12
12
 
13
13
  import { makeSerializable } from "./IntervalCollectionValues.js";
14
14
  import {
@@ -16,7 +16,7 @@ import {
16
16
  type ISerializedIntervalCollectionV1,
17
17
  type ISerializedIntervalCollectionV2,
18
18
  } from "./intervalCollection.js";
19
- import {
19
+ import type {
20
20
  IIntervalCollectionTypeOperationValue,
21
21
  ISerializableIntervalCollection,
22
22
  SequenceOptions,
@@ -135,14 +135,14 @@ export class IntervalCollectionMap {
135
135
 
136
136
  public serialize(serializer: IFluidSerializer): string {
137
137
  const serializableMapData: IMapDataObjectSerializable = {};
138
- this.data.forEach((localValue, key) => {
138
+ for (const [key, localValue] of this.data.entries()) {
139
139
  serializableMapData[key] = makeSerializable(
140
140
  localValue,
141
141
  serializer,
142
142
  this.handle,
143
143
  this.options?.intervalSerializationFormat ?? "2",
144
144
  );
145
- });
145
+ }
146
146
  return JSON.stringify(serializableMapData);
147
147
  }
148
148
 
@@ -168,7 +168,7 @@ export class IntervalCollectionMap {
168
168
  // "intervalCollections/". This would burden users trying to iterate the collection and
169
169
  // access its value, as well as those trying to match a create message to its underlying
170
170
  // collection. See https://github.com/microsoft/FluidFramework/issues/10557 for more context.
171
- const normalizedKey = key.startsWith("intervalCollections/") ? key.substring(20) : key;
171
+ const normalizedKey = key.startsWith("intervalCollections/") ? key.slice(20) : key;
172
172
 
173
173
  assert(
174
174
  serializable.type !== ValueType[ValueType.Plain] &&
@@ -4,19 +4,19 @@
4
4
  */
5
5
 
6
6
  import type { ListNode } from "@fluidframework/core-utils/internal";
7
- import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
8
- import { IMergeTreeOptions } from "@fluidframework/merge-tree/internal";
7
+ import type { ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
8
+ import type { IMergeTreeOptions } from "@fluidframework/merge-tree/internal";
9
9
 
10
10
  import type {
11
11
  IntervalCollection,
12
12
  ISerializedIntervalCollectionV1,
13
13
  ISerializedIntervalCollectionV2,
14
14
  } from "./intervalCollection.js";
15
- import {
15
+ import type {
16
16
  ISerializedInterval,
17
17
  IntervalDeltaOpType,
18
+ SequenceIntervalClass,
18
19
  SerializedIntervalDelta,
19
- type SequenceIntervalClass,
20
20
  } from "./intervals/index.js";
21
21
 
22
22
  export interface IntervalAddLocalMetadata {
@@ -3,18 +3,17 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { PropertyAction, RedBlackTree } from "@fluidframework/merge-tree/internal";
6
+ import type { PropertyAction } from "@fluidframework/merge-tree/internal";
7
+ import { RedBlackTree } from "@fluidframework/merge-tree/internal";
7
8
 
8
- import { SequenceInterval, createTransientIntervalFromSequence } from "../intervals/index.js";
9
+ import type { SequenceInterval } from "../intervals/index.js";
10
+ import { createTransientIntervalFromSequence } from "../intervals/index.js";
9
11
  import type { ISharedSegmentSequence } from "../sequence.js";
10
- import { ISharedString } from "../sharedString.js";
12
+ import type { ISharedString } from "../sharedString.js";
11
13
 
12
14
  import type { SequenceIntervalIndex } from "./intervalIndex.js";
13
- import {
14
- HasComparisonOverride,
15
- compareOverrideables,
16
- forceCompare,
17
- } from "./intervalIndexUtils.js";
15
+ import type { HasComparisonOverride } from "./intervalIndexUtils.js";
16
+ import { compareOverrideables, forceCompare } from "./intervalIndexUtils.js";
18
17
 
19
18
  /**
20
19
  * Collection of intervals.
@@ -5,9 +5,10 @@
5
5
 
6
6
  import { RedBlackTree } from "@fluidframework/merge-tree/internal";
7
7
 
8
- import { createTransientIntervalFromSequence, SequenceInterval } from "../intervals/index.js";
8
+ import type { SequenceInterval } from "../intervals/index.js";
9
+ import { createTransientIntervalFromSequence } from "../intervals/index.js";
9
10
  import type { ISharedSegmentSequence } from "../sequence.js";
10
- import { ISharedString } from "../sharedString.js";
11
+ import type { ISharedString } from "../sharedString.js";
11
12
 
12
13
  import type { SequenceIntervalIndex } from "./intervalIndex.js";
13
14
 
@@ -3,22 +3,22 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- export { SequenceIntervalIndex } from "./intervalIndex.js";
7
- export { IIdIntervalIndex, createIdIntervalIndex } from "./idIntervalIndex.js";
8
- export { IEndpointIndex, createEndpointIndex, EndpointIndex } from "./endpointIndex.js";
6
+ export type { SequenceIntervalIndex } from "./intervalIndex.js";
7
+ export { type IIdIntervalIndex, createIdIntervalIndex } from "./idIntervalIndex.js";
8
+ export { type IEndpointIndex, createEndpointIndex, EndpointIndex } from "./endpointIndex.js";
9
9
  export {
10
- IEndpointInRangeIndex,
10
+ type IEndpointInRangeIndex,
11
11
  createEndpointInRangeIndex,
12
12
  EndpointInRangeIndex,
13
13
  } from "./endpointInRangeIndex.js";
14
14
  export {
15
- IStartpointInRangeIndex,
15
+ type IStartpointInRangeIndex,
16
16
  createStartpointInRangeIndex,
17
17
  StartpointInRangeIndex,
18
18
  } from "./startpointInRangeIndex.js";
19
- export { SequenceIntervalIndexes } from "./sequenceIntervalIndexes.js";
19
+ export type { SequenceIntervalIndexes } from "./sequenceIntervalIndexes.js";
20
20
  export {
21
21
  createOverlappingIntervalsIndex,
22
22
  OverlappingIntervalsIndex,
23
- ISequenceOverlappingIntervalsIndex,
23
+ type ISequenceOverlappingIntervalsIndex,
24
24
  } from "./overlappingIntervalsIndex.js";
@@ -3,16 +3,15 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { SequencePlace, endpointPosAndSide } from "@fluidframework/merge-tree/internal";
7
-
8
- import { IntervalNode, IntervalTree } from "../intervalTree.js";
9
- import {
10
- SequenceInterval,
11
- BaseSequenceInterval,
12
- createTransientIntervalFromSequence,
13
- } from "../intervals/index.js";
6
+ import type { SequencePlace } from "@fluidframework/merge-tree/internal";
7
+ import { endpointPosAndSide } from "@fluidframework/merge-tree/internal";
8
+
9
+ import type { IntervalNode } from "../intervalTree.js";
10
+ import { IntervalTree } from "../intervalTree.js";
11
+ import type { SequenceInterval, BaseSequenceInterval } from "../intervals/index.js";
12
+ import { createTransientIntervalFromSequence } from "../intervals/index.js";
14
13
  import type { ISharedSegmentSequence } from "../sequence.js";
15
- import { ISharedString } from "../sharedString.js";
14
+ import type { ISharedString } from "../sharedString.js";
16
15
 
17
16
  import type { SequenceIntervalIndex } from "./intervalIndex.js";
18
17
 
@@ -3,9 +3,9 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { ISegment } from "@fluidframework/merge-tree/internal";
6
+ import type { ISegment } from "@fluidframework/merge-tree/internal";
7
7
 
8
- import { SequenceInterval } from "../intervals/index.js";
8
+ import type { SequenceInterval } from "../intervals/index.js";
9
9
 
10
10
  import type { ISequenceOverlappingIntervalsIndex } from "./overlappingIntervalsIndex.js";
11
11
 
@@ -3,18 +3,17 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { PropertyAction, RedBlackTree } from "@fluidframework/merge-tree/internal";
6
+ import type { PropertyAction } from "@fluidframework/merge-tree/internal";
7
+ import { RedBlackTree } from "@fluidframework/merge-tree/internal";
7
8
 
8
- import { SequenceInterval, createTransientIntervalFromSequence } from "../intervals/index.js";
9
+ import type { SequenceInterval } from "../intervals/index.js";
10
+ import { createTransientIntervalFromSequence } from "../intervals/index.js";
9
11
  import type { ISharedSegmentSequence } from "../sequence.js";
10
- import { ISharedString } from "../sharedString.js";
12
+ import type { ISharedString } from "../sharedString.js";
11
13
 
12
14
  import type { SequenceIntervalIndex } from "./intervalIndex.js";
13
- import {
14
- HasComparisonOverride,
15
- compareOverrideables,
16
- forceCompare,
17
- } from "./intervalIndexUtils.js";
15
+ import type { HasComparisonOverride } from "./intervalIndexUtils.js";
16
+ import { compareOverrideables, forceCompare } from "./intervalIndexUtils.js";
18
17
 
19
18
  /**
20
19
  * Collection of intervals.
@@ -3,15 +3,15 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import {
6
+ import type {
7
7
  IRBAugmentation,
8
8
  IRBMatcher,
9
9
  RBNode,
10
10
  RBNodeActions,
11
- RedBlackTree,
12
11
  } from "@fluidframework/merge-tree/internal";
12
+ import { RedBlackTree } from "@fluidframework/merge-tree/internal";
13
13
 
14
- import { ISerializableInterval } from "./intervals/index.js";
14
+ import type { ISerializableInterval } from "./intervals/index.js";
15
15
 
16
16
  export interface AugmentedIntervalNode {
17
17
  minmax: ISerializableInterval;
@@ -4,20 +4,20 @@
4
4
  */
5
5
 
6
6
  export {
7
- IInterval,
8
- ISerializedInterval,
9
- ISerializableInterval,
7
+ type IInterval,
8
+ type ISerializedInterval,
9
+ type ISerializableInterval,
10
10
  IntervalOpType,
11
11
  IntervalType,
12
12
  IntervalDeltaOpType,
13
13
  IntervalStickiness,
14
- SerializedIntervalDelta,
15
- CompressedSerializedInterval,
14
+ type SerializedIntervalDelta,
15
+ type CompressedSerializedInterval,
16
16
  endReferenceSlidingPreference,
17
17
  startReferenceSlidingPreference,
18
18
  } from "./intervalUtils.js";
19
19
  export {
20
- SequenceInterval,
20
+ type SequenceInterval,
21
21
  SequenceIntervalClass,
22
22
  BaseSequenceInterval,
23
23
  createSequenceInterval,
@@ -5,7 +5,8 @@
5
5
 
6
6
  /* eslint-disable no-bitwise */
7
7
 
8
- import { PropertySet, SlidingPreference, Side } from "@fluidframework/merge-tree/internal";
8
+ import type { PropertySet } from "@fluidframework/merge-tree/internal";
9
+ import { SlidingPreference, Side } from "@fluidframework/merge-tree/internal";
9
10
 
10
11
  /**
11
12
  * Basic interval abstraction
@@ -7,13 +7,16 @@
7
7
 
8
8
  import type { IDisposable } from "@fluidframework/core-interfaces";
9
9
  import { assert } from "@fluidframework/core-utils/internal";
10
- import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
11
- import {
10
+ import type { ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
11
+ import type {
12
12
  Client,
13
13
  ISegment,
14
14
  LocalReferencePosition,
15
- PropertiesManager,
16
15
  PropertySet,
16
+ SequencePlace,
17
+ } from "@fluidframework/merge-tree/internal";
18
+ import {
19
+ PropertiesManager,
17
20
  ReferenceType,
18
21
  SlidingPreference,
19
22
  compareReferencePositions,
@@ -24,7 +27,6 @@ import {
24
27
  minReferencePosition,
25
28
  refTypeIncludesFlag,
26
29
  reservedRangeLabelsKey,
27
- SequencePlace,
28
30
  Side,
29
31
  endpointPosAndSide,
30
32
  addProperties,
@@ -37,9 +39,8 @@ import { v4 as uuid } from "uuid";
37
39
 
38
40
  import type { ISharedSegmentSequence } from "../sequence.js";
39
41
 
42
+ import type { ISerializableInterval, ISerializedInterval } from "./intervalUtils.js";
40
43
  import {
41
- ISerializableInterval,
42
- ISerializedInterval,
43
44
  IntervalStickiness,
44
45
  IntervalType,
45
46
  computeStickinessFromSide,
@@ -6,4 +6,4 @@
6
6
  */
7
7
 
8
8
  export const pkgName = "@fluidframework/sequence";
9
- export const pkgVersion = "2.91.0";
9
+ export const pkgVersion = "2.93.0";