@fluidframework/sequence 2.0.0-dev.4.4.0.162574 → 2.0.0-dev.5.3.2.178189

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 (107) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/defaultMap.d.ts +3 -2
  3. package/dist/defaultMap.d.ts.map +1 -1
  4. package/dist/defaultMap.js +4 -3
  5. package/dist/defaultMap.js.map +1 -1
  6. package/dist/defaultMapInterfaces.d.ts +12 -1
  7. package/dist/defaultMapInterfaces.d.ts.map +1 -1
  8. package/dist/defaultMapInterfaces.js.map +1 -1
  9. package/dist/index.d.ts +4 -2
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +17 -3
  12. package/dist/index.js.map +1 -1
  13. package/dist/intervalCollection.d.ts +240 -78
  14. package/dist/intervalCollection.d.ts.map +1 -1
  15. package/dist/intervalCollection.js +313 -190
  16. package/dist/intervalCollection.js.map +1 -1
  17. package/dist/intervalIndex/index.d.ts +8 -0
  18. package/dist/intervalIndex/index.d.ts.map +1 -0
  19. package/dist/intervalIndex/index.js +12 -0
  20. package/dist/intervalIndex/index.js.map +1 -0
  21. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts +32 -0
  22. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts.map +1 -0
  23. package/dist/intervalIndex/overlappingIntervalsIndex.js +103 -0
  24. package/dist/intervalIndex/overlappingIntervalsIndex.js.map +1 -0
  25. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.d.ts +8 -0
  26. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.d.ts.map +1 -0
  27. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js +33 -0
  28. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -0
  29. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts +33 -0
  30. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -0
  31. package/dist/intervalIndex/sequenceIntervalIndexes.js +7 -0
  32. package/dist/intervalIndex/sequenceIntervalIndexes.js.map +1 -0
  33. package/dist/packageVersion.d.ts +1 -1
  34. package/dist/packageVersion.js +1 -1
  35. package/dist/packageVersion.js.map +1 -1
  36. package/dist/revertibles.d.ts +104 -0
  37. package/dist/revertibles.d.ts.map +1 -0
  38. package/dist/revertibles.js +414 -0
  39. package/dist/revertibles.js.map +1 -0
  40. package/dist/sequence.d.ts +4 -4
  41. package/dist/sequence.d.ts.map +1 -1
  42. package/dist/sequence.js +3 -3
  43. package/dist/sequence.js.map +1 -1
  44. package/dist/sharedIntervalCollection.d.ts +3 -3
  45. package/dist/sharedIntervalCollection.d.ts.map +1 -1
  46. package/dist/sharedIntervalCollection.js +1 -1
  47. package/dist/sharedIntervalCollection.js.map +1 -1
  48. package/dist/tsdoc-metadata.json +11 -0
  49. package/lib/defaultMap.d.ts +3 -2
  50. package/lib/defaultMap.d.ts.map +1 -1
  51. package/lib/defaultMap.js +4 -3
  52. package/lib/defaultMap.js.map +1 -1
  53. package/lib/defaultMapInterfaces.d.ts +12 -1
  54. package/lib/defaultMapInterfaces.d.ts.map +1 -1
  55. package/lib/defaultMapInterfaces.js.map +1 -1
  56. package/lib/index.d.ts +4 -2
  57. package/lib/index.d.ts.map +1 -1
  58. package/lib/index.js +3 -1
  59. package/lib/index.js.map +1 -1
  60. package/lib/intervalCollection.d.ts +240 -78
  61. package/lib/intervalCollection.d.ts.map +1 -1
  62. package/lib/intervalCollection.js +310 -190
  63. package/lib/intervalCollection.js.map +1 -1
  64. package/lib/intervalIndex/index.d.ts +8 -0
  65. package/lib/intervalIndex/index.d.ts.map +1 -0
  66. package/lib/intervalIndex/index.js +7 -0
  67. package/lib/intervalIndex/index.js.map +1 -0
  68. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts +32 -0
  69. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts.map +1 -0
  70. package/lib/intervalIndex/overlappingIntervalsIndex.js +98 -0
  71. package/lib/intervalIndex/overlappingIntervalsIndex.js.map +1 -0
  72. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.d.ts +8 -0
  73. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.d.ts.map +1 -0
  74. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js +29 -0
  75. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -0
  76. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts +33 -0
  77. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -0
  78. package/lib/intervalIndex/sequenceIntervalIndexes.js +6 -0
  79. package/lib/intervalIndex/sequenceIntervalIndexes.js.map +1 -0
  80. package/lib/packageVersion.d.ts +1 -1
  81. package/lib/packageVersion.js +1 -1
  82. package/lib/packageVersion.js.map +1 -1
  83. package/lib/revertibles.d.ts +104 -0
  84. package/lib/revertibles.d.ts.map +1 -0
  85. package/lib/revertibles.js +404 -0
  86. package/lib/revertibles.js.map +1 -0
  87. package/lib/sequence.d.ts +4 -4
  88. package/lib/sequence.d.ts.map +1 -1
  89. package/lib/sequence.js +3 -3
  90. package/lib/sequence.js.map +1 -1
  91. package/lib/sharedIntervalCollection.d.ts +3 -3
  92. package/lib/sharedIntervalCollection.d.ts.map +1 -1
  93. package/lib/sharedIntervalCollection.js +1 -1
  94. package/lib/sharedIntervalCollection.js.map +1 -1
  95. package/package.json +22 -24
  96. package/src/defaultMap.ts +4 -1
  97. package/src/defaultMapInterfaces.ts +13 -1
  98. package/src/index.ts +27 -5
  99. package/src/intervalCollection.ts +660 -216
  100. package/src/intervalIndex/index.ts +11 -0
  101. package/src/intervalIndex/overlappingIntervalsIndex.ts +166 -0
  102. package/src/intervalIndex/overlappingSequenceIntervalsIndex.ts +71 -0
  103. package/src/intervalIndex/sequenceIntervalIndexes.ts +32 -0
  104. package/src/packageVersion.ts +1 -1
  105. package/src/revertibles.ts +626 -0
  106. package/src/sequence.ts +12 -2
  107. package/src/sharedIntervalCollection.ts +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EACN,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,QAAQ,EACR,kBAAkB,EAClB,0BAA0B,EAC1B,eAAe,EACf,2BAA2B,EAC3B,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,+BAA+B,EAC/B,4BAA4B,EAC5B,uBAAuB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EACN,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,wBAAwB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACN,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,mBAAmB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,yBAAyB,EACzB,wBAAwB,EACxB,+BAA+B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACpG,OAAO,EACN,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,2BAA2B,EAC3B,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,0BAA0B,EAC1B,4BAA4B,GAC5B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EACN,uBAAuB,EACvB,0BAA0B,EAC1B,+BAA+B,EAC/B,uCAAuC,GACvC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,8BAA8B,EAC9B,iCAAiC,EACjC,iCAAiC,EACjC,0CAA0C,EAC1C,oCAAoC,EACpC,8BAA8B,EAC9B,kBAAkB,EAClB,6BAA6B,EAC7B,sBAAsB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EACN,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,wBAAwB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACN,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,mBAAmB,GACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,yBAAyB,EACzB,wBAAwB,EACxB,+BAA+B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
package/lib/index.js CHANGED
@@ -2,7 +2,9 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- export { Interval, IntervalCollection, IntervalCollectionIterator, intervalLocatorFromEndpoint, IntervalType, SequenceInterval, } from "./intervalCollection";
5
+ export { Interval, intervalLocatorFromEndpoint, IntervalOpType, IntervalType, SequenceInterval, IntervalStickiness, sequenceIntervalHelpers, createEndpointInRangeIndex, createStartpointInRangeIndex, } from "./intervalCollection";
6
+ export { createOverlappingIntervalsIndex, createOverlappingSequenceIntervalsIndex, } from "./intervalIndex";
7
+ export { appendAddIntervalToRevertibles, appendChangeIntervalToRevertibles, appendDeleteIntervalToRevertibles, appendIntervalPropertyChangedToRevertibles, appendSharedStringDeltaToRevertibles, discardSharedStringRevertibles, revertSharedStringRevertibles, } from "./revertibles";
6
8
  export { SharedSegmentSequence } from "./sequence";
7
9
  export { SequenceDeltaEvent, SequenceEvent, SequenceMaintenanceEvent, } from "./sequenceDeltaEvent";
8
10
  export { SharedStringFactory } from "./sequenceFactory";
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,OAAO,EAIN,QAAQ,EACR,kBAAkB,EAClB,0BAA0B,EAE1B,2BAA2B,EAC3B,YAAY,EAGZ,gBAAgB,GAIhB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAgC,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAEN,kBAAkB,EAClB,aAAa,EACb,wBAAwB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACN,iBAAiB,EAEjB,YAAY,GAEZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEN,wBAAwB,EACxB,+BAA+B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAmB,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Supports distributed data structures which are list-like.\n *\n * This library's main export is {@link SharedString}, a DDS for storing and simultaneously editing a sequence of\n * text.\n *\n * See the package's README for a high-level introduction to `SharedString`'s feature set.\n * @remarks Note that SharedString is a sequence DDS but it has additional specialized features and behaviors for\n * working with text.\n *\n * @packageDocumentation\n */\nexport { IMapMessageLocalMetadata, IValueOpEmitter } from \"./defaultMapInterfaces\";\nexport {\n\tDeserializeCallback,\n\tIIntervalCollectionEvent,\n\tIIntervalHelpers,\n\tInterval,\n\tIntervalCollection,\n\tIntervalCollectionIterator,\n\tIntervalLocator,\n\tintervalLocatorFromEndpoint,\n\tIntervalType,\n\tISerializableInterval,\n\tISerializedInterval,\n\tSequenceInterval,\n\tISerializedIntervalCollectionV2,\n\tCompressedSerializedInterval,\n\tSerializedIntervalDelta,\n} from \"./intervalCollection\";\nexport { IInterval, IntervalConflictResolver } from \"./intervalTree\";\nexport { ISharedSegmentSequenceEvents, SharedSegmentSequence } from \"./sequence\";\nexport {\n\tISequenceDeltaRange,\n\tSequenceDeltaEvent,\n\tSequenceEvent,\n\tSequenceMaintenanceEvent,\n} from \"./sequenceDeltaEvent\";\nexport { SharedStringFactory } from \"./sequenceFactory\";\nexport {\n\tgetTextAndMarkers,\n\tISharedString,\n\tSharedString,\n\tSharedStringSegment,\n} from \"./sharedString\";\nexport {\n\tISharedIntervalCollection,\n\tSharedIntervalCollection,\n\tSharedIntervalCollectionFactory,\n} from \"./sharedIntervalCollection\";\nexport { IJSONRunSegment, SharedSequence, SubSequence } from \"./sharedSequence\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,OAAO,EAIN,QAAQ,EAIR,2BAA2B,EAC3B,cAAc,EACd,YAAY,EAGZ,gBAAgB,EAEhB,kBAAkB,EAClB,uBAAuB,EAGvB,0BAA0B,EAC1B,4BAA4B,GAC5B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAGN,+BAA+B,EAC/B,uCAAuC,GACvC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACN,8BAA8B,EAC9B,iCAAiC,EACjC,iCAAiC,EACjC,0CAA0C,EAC1C,oCAAoC,EACpC,8BAA8B,EAE9B,6BAA6B,GAE7B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAgC,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACjF,OAAO,EAEN,kBAAkB,EAClB,aAAa,EACb,wBAAwB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EACN,iBAAiB,EAEjB,YAAY,GAEZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEN,wBAAwB,EACxB,+BAA+B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAmB,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Supports distributed data structures which are list-like.\n *\n * This library's main export is {@link SharedString}, a DDS for storing and simultaneously editing a sequence of\n * text.\n *\n * See the package's README for a high-level introduction to `SharedString`'s feature set.\n * @remarks Note that SharedString is a sequence DDS but it has additional specialized features and behaviors for\n * working with text.\n *\n * @packageDocumentation\n */\nexport { IMapMessageLocalMetadata, IValueOpEmitter, SequenceOptions } from \"./defaultMapInterfaces\";\nexport {\n\tDeserializeCallback,\n\tIIntervalCollectionEvent,\n\tIIntervalHelpers,\n\tInterval,\n\tIntervalIndex,\n\tIIntervalCollection,\n\tIntervalLocator,\n\tintervalLocatorFromEndpoint,\n\tIntervalOpType,\n\tIntervalType,\n\tISerializableInterval,\n\tISerializedInterval,\n\tSequenceInterval,\n\tSerializedIntervalDelta,\n\tIntervalStickiness,\n\tsequenceIntervalHelpers,\n\tIEndpointInRangeIndex,\n\tIStartpointInRangeIndex,\n\tcreateEndpointInRangeIndex,\n\tcreateStartpointInRangeIndex,\n} from \"./intervalCollection\";\nexport { IInterval, IntervalConflictResolver } from \"./intervalTree\";\nexport {\n\tSequenceIntervalIndexes,\n\tIOverlappingIntervalsIndex,\n\tcreateOverlappingIntervalsIndex,\n\tcreateOverlappingSequenceIntervalsIndex,\n} from \"./intervalIndex\";\nexport {\n\tappendAddIntervalToRevertibles,\n\tappendChangeIntervalToRevertibles,\n\tappendDeleteIntervalToRevertibles,\n\tappendIntervalPropertyChangedToRevertibles,\n\tappendSharedStringDeltaToRevertibles,\n\tdiscardSharedStringRevertibles,\n\tIntervalRevertible,\n\trevertSharedStringRevertibles,\n\tSharedStringRevertible,\n} from \"./revertibles\";\nexport { ISharedSegmentSequenceEvents, SharedSegmentSequence } from \"./sequence\";\nexport {\n\tISequenceDeltaRange,\n\tSequenceDeltaEvent,\n\tSequenceEvent,\n\tSequenceMaintenanceEvent,\n} from \"./sequenceDeltaEvent\";\nexport { SharedStringFactory } from \"./sequenceFactory\";\nexport {\n\tgetTextAndMarkers,\n\tISharedString,\n\tSharedString,\n\tSharedStringSegment,\n} from \"./sharedString\";\nexport {\n\tISharedIntervalCollection,\n\tSharedIntervalCollection,\n\tSharedIntervalCollectionFactory,\n} from \"./sharedIntervalCollection\";\nexport { IJSONRunSegment, SharedSequence, SubSequence } from \"./sharedSequence\";\n"]}
@@ -4,17 +4,29 @@
4
4
  */
5
5
  import { TypedEventEmitter } from "@fluidframework/common-utils";
6
6
  import { IEvent } from "@fluidframework/common-definitions";
7
- import { Client, ICombiningOp, PropertiesManager, PropertySet, LocalReferencePosition } from "@fluidframework/merge-tree";
7
+ import { Client, ICombiningOp, ISegment, PropertiesManager, PropertySet, LocalReferencePosition, ReferenceType, SlidingPreference } from "@fluidframework/merge-tree";
8
8
  import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
9
- import { IMapMessageLocalMetadata, IValueFactory, IValueOpEmitter, IValueOperation, IValueType } from "./defaultMapInterfaces";
9
+ import { IMapMessageLocalMetadata, IValueFactory, IValueOpEmitter, IValueOperation, IValueType, SequenceOptions } from "./defaultMapInterfaces";
10
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
+ };
11
23
  export declare enum IntervalType {
12
24
  Simple = 0,
13
25
  Nest = 1,
14
26
  /**
15
27
  * SlideOnRemove indicates that the ends of the interval will slide if the segment
16
28
  * they reference is removed and acked.
17
- * See `packages\dds\merge-tree\REFERENCEPOSITIONS.md` for details
29
+ * See `packages\dds\merge-tree\docs\REFERENCEPOSITIONS.md` for details
18
30
  * SlideOnRemove is the default interval behavior and does not need to be specified.
19
31
  */
20
32
  SlideOnRemove = 2,
@@ -44,6 +56,7 @@ export interface ISerializedInterval {
44
56
  end: number;
45
57
  /** Interval type to create */
46
58
  intervalType: IntervalType;
59
+ stickiness?: IntervalStickiness;
47
60
  /** Any properties the interval has */
48
61
  properties?: PropertySet;
49
62
  }
@@ -59,12 +72,9 @@ export declare type SerializedIntervalDelta = Omit<ISerializedInterval, "start"
59
72
  *
60
73
  * Intervals are of the format:
61
74
  *
62
- * [start, end, sequenceNumber, intervalType, properties]
63
- */
64
- export declare type CompressedSerializedInterval = [number, number, number, IntervalType, PropertySet];
65
- /**
66
- * @internal
75
+ * [start, end, sequenceNumber, intervalType, properties, stickiness?]
67
76
  */
77
+ export declare type CompressedSerializedInterval = [number, number, number, IntervalType, PropertySet, IntervalStickiness] | [number, number, number, IntervalType, PropertySet];
68
78
  export interface ISerializedIntervalCollectionV2 {
69
79
  label: string;
70
80
  version: 2;
@@ -88,21 +98,60 @@ export interface ISerializableInterval extends IInterval {
88
98
  */
89
99
  getIntervalId(): string | undefined;
90
100
  }
101
+ /**
102
+ * @sealed
103
+ */
91
104
  export interface IIntervalHelpers<TInterval extends ISerializableInterval> {
92
105
  compareEnds(a: TInterval, b: TInterval): number;
106
+ compareStarts?(a: TInterval, b: TInterval): number;
93
107
  /**
94
108
  *
95
109
  * @param label - label of the interval collection this interval is being added to. This parameter is
96
110
  * irrelevant for transient intervals.
97
111
  * @param start - numerical start position of the interval
98
- * @param end - numberical end position of the interval
112
+ * @param end - numerical end position of the interval
99
113
  * @param client - client creating the interval
100
114
  * @param intervalType - Type of interval to create. Default is SlideOnRemove
101
115
  * @param op - If this create came from a remote client, op that created it. Default is undefined (i.e. local)
102
116
  * @param fromSnapshot - If this create came from loading a snapshot. Default is false.
103
117
  */
104
- create(label: string, start: number | undefined, end: number | undefined, client: Client | undefined, intervalType: IntervalType, op?: ISequencedDocumentMessage, fromSnapshot?: boolean): TInterval;
118
+ create(label: string, start: number | undefined, end: number | undefined, client: Client | undefined, intervalType: IntervalType, op?: ISequencedDocumentMessage, fromSnapshot?: boolean, stickiness?: IntervalStickiness): TInterval;
105
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];
106
155
  /**
107
156
  * Serializable interval whose endpoints are plain-old numbers.
108
157
  */
@@ -133,7 +182,7 @@ export declare class Interval implements ISerializableInterval {
133
182
  * Adds an auxiliary set of properties to this interval.
134
183
  * These properties can be recovered using `getAdditionalPropertySets`
135
184
  * @param props - set of properties to add
136
- * @remarks - This gets called as part of the default conflict resolver for `IntervalCollection<Interval>`
185
+ * @remarks - This gets called as part of the default conflict resolver for `IIntervalCollection<Interval>`
137
186
  * (i.e. non-sequence-based interval collections). However, the additional properties don't get serialized.
138
187
  * This functionality seems half-baked.
139
188
  */
@@ -182,7 +231,7 @@ export declare class Interval implements ISerializableInterval {
182
231
  private initializeProperties;
183
232
  }
184
233
  /**
185
- * Interval impelmentation whose ends are associated with positions in a mutatable sequence.
234
+ * Interval implementation whose ends are associated with positions in a mutatable sequence.
186
235
  * As such, when content is inserted into the middle of the interval, the interval expands to
187
236
  * include that content.
188
237
  *
@@ -215,6 +264,7 @@ export declare class SequenceInterval implements ISerializableInterval {
215
264
  */
216
265
  end: LocalReferencePosition;
217
266
  intervalType: IntervalType;
267
+ readonly stickiness: IntervalStickiness;
218
268
  /**
219
269
  * {@inheritDoc ISerializableInterval.properties}
220
270
  */
@@ -234,7 +284,7 @@ export declare class SequenceInterval implements ISerializableInterval {
234
284
  * End endpoint of this interval.
235
285
  * @remarks - This endpoint can be resolved into a character position using the SharedString it's a part of.
236
286
  */
237
- end: LocalReferencePosition, intervalType: IntervalType, props?: PropertySet);
287
+ end: LocalReferencePosition, intervalType: IntervalType, props?: PropertySet, stickiness?: IntervalStickiness);
238
288
  private callbacks?;
239
289
  /**
240
290
  * Subscribes to position change events on this interval if there are no current listeners.
@@ -293,10 +343,14 @@ export declare class SequenceInterval implements ISerializableInterval {
293
343
  * {@inheritDoc IInterval.modify}
294
344
  * @deprecated - This API was never intended to be public and will be marked internal in a future release.
295
345
  */
296
- modify(label: string, start: number, end: number, op?: ISequencedDocumentMessage, localSeq?: number): SequenceInterval;
346
+ modify(label: string, start: number, end: number, op?: ISequencedDocumentMessage, localSeq?: number, stickiness?: IntervalStickiness): SequenceInterval;
297
347
  private initializeProperties;
298
348
  }
299
- export declare function createSequenceInterval(label: string, start: number, end: number, client: Client, intervalType: IntervalType, op?: ISequencedDocumentMessage, fromSnapshot?: boolean): SequenceInterval;
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;
300
354
  export declare function createIntervalIndex(): LocalIntervalCollection<Interval>;
301
355
  /**
302
356
  * Collection of intervals.
@@ -321,22 +375,6 @@ export interface IntervalIndex<TInterval extends ISerializableInterval> {
321
375
  */
322
376
  remove(interval: TInterval): void;
323
377
  }
324
- declare class OverlappingIntervalsIndex<TInterval extends ISerializableInterval> implements IntervalIndex<TInterval> {
325
- private readonly client;
326
- private readonly helpers;
327
- private readonly intervalTree;
328
- constructor(client: Client, helpers: IIntervalHelpers<TInterval>);
329
- map(fn: (interval: TInterval) => void): void;
330
- mapUntil(fn: (interval: TInterval) => boolean): void;
331
- gatherIterationResults(results: TInterval[], iteratesForward: boolean, start?: number, end?: number): void;
332
- /**
333
- * @returns an array of all intervals contained in this collection that overlap the range
334
- * `[startPosition, endPosition)`.
335
- */
336
- findOverlappingIntervals(startPosition: number, endPosition: number): TInterval[];
337
- remove(interval: TInterval): void;
338
- add(interval: TInterval): void;
339
- }
340
378
  declare class IdIntervalIndex<TInterval extends ISerializableInterval> implements IntervalIndex<TInterval>, Iterable<TInterval> {
341
379
  private readonly intervalIdMap;
342
380
  add(interval: TInterval): void;
@@ -354,6 +392,30 @@ declare class EndpointIndex<TInterval extends ISerializableInterval> implements
354
392
  add(interval: TInterval): void;
355
393
  remove(interval: TInterval): void;
356
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>;
357
419
  export declare class LocalIntervalCollection<TInterval extends ISerializableInterval> {
358
420
  private readonly client;
359
421
  private readonly label;
@@ -361,7 +423,7 @@ export declare class LocalIntervalCollection<TInterval extends ISerializableInte
361
423
  /** Callback invoked each time one of the endpoints of an interval slides. */
362
424
  private readonly onPositionChange?;
363
425
  private static readonly legacyIdPrefix;
364
- readonly overlappingIntervalsIndex: OverlappingIntervalsIndex<TInterval>;
426
+ readonly overlappingIntervalsIndex: IOverlappingIntervalsIndex<TInterval>;
365
427
  readonly idIntervalIndex: IdIntervalIndex<TInterval>;
366
428
  readonly endIntervalIndex: EndpointIndex<TInterval>;
367
429
  private readonly indexes;
@@ -378,9 +440,11 @@ export declare class LocalIntervalCollection<TInterval extends ISerializableInte
378
440
  */
379
441
  ensureSerializedId(serializedInterval: ISerializedInterval): string;
380
442
  private removeIntervalFromIndexes;
443
+ appendIndex(index: IntervalIndex<TInterval>): void;
444
+ removeIndex(index: IntervalIndex<TInterval>): boolean;
381
445
  removeExistingInterval(interval: TInterval): void;
382
- createInterval(start: number, end: number, intervalType: IntervalType, op?: ISequencedDocumentMessage): TInterval;
383
- addInterval(start: number, end: number, intervalType: IntervalType, props?: PropertySet, op?: ISequencedDocumentMessage): TInterval;
446
+ createInterval(start: number, end: number, intervalType: IntervalType, op?: ISequencedDocumentMessage, stickiness?: IntervalStickiness): TInterval;
447
+ addInterval(start: number, end: number, intervalType: IntervalType, props?: PropertySet, op?: ISequencedDocumentMessage, stickiness?: IntervalStickiness): TInterval;
384
448
  private linkEndpointsToInterval;
385
449
  private addIntervalToIndexes;
386
450
  add(interval: TInterval): void;
@@ -390,6 +454,9 @@ export declare class LocalIntervalCollection<TInterval extends ISerializableInte
390
454
  private removeIntervalListeners;
391
455
  }
392
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>;
393
460
  export declare class SequenceIntervalCollectionValueType implements IValueType<IntervalCollection<SequenceInterval>> {
394
461
  static Name: string;
395
462
  get name(): string;
@@ -408,7 +475,7 @@ export declare class IntervalCollectionValueType implements IValueType<IntervalC
408
475
  }
409
476
  export declare function makeOpsMap<T extends ISerializableInterval>(): Map<string, IValueOperation<IntervalCollection<T>>>;
410
477
  export declare type DeserializeCallback = (properties: PropertySet) => void;
411
- export declare class IntervalCollectionIterator<TInterval extends ISerializableInterval> implements Iterator<TInterval> {
478
+ declare class IntervalCollectionIterator<TInterval extends ISerializableInterval> implements Iterator<TInterval> {
412
479
  private readonly results;
413
480
  private index;
414
481
  constructor(collection: IntervalCollection<TInterval>, iteratesForward?: boolean, start?: number, end?: number);
@@ -429,8 +496,9 @@ export interface IIntervalCollectionEvent<TInterval extends ISerializableInterva
429
496
  * endpoints. These references should be used for position information only.
430
497
  * `local` reflects whether the change originated locally.
431
498
  * `op` is defined if and only if the server has acked this change.
499
+ * `slide` is true if the change is due to sliding on removal of position
432
500
  */
433
- (event: "changeInterval", listener: (interval: TInterval, previousInterval: TInterval, local: boolean, op: ISequencedDocumentMessage | undefined) => void): any;
501
+ (event: "changeInterval", listener: (interval: TInterval, previousInterval: TInterval, local: boolean, op: ISequencedDocumentMessage | undefined, slide: boolean) => void): any;
434
502
  /**
435
503
  * This event is invoked whenever an interval is added or removed from the collection.
436
504
  * `local` reflects whether the change originated locally.
@@ -450,35 +518,27 @@ export interface IIntervalCollectionEvent<TInterval extends ISerializableInterva
450
518
  }
451
519
  /**
452
520
  * Collection of intervals that supports addition, modification, removal, and efficient spatial querying.
453
- * This class is not a DDS in its own right, but emits events on mutating operations such that it's possible to
454
- * integrate into a DDS.
455
- * This aligns with its usage in `SharedSegmentSequence`, which allows associating intervals to positions in the
456
- * sequence DDS which are broadcast to all other clients in an eventually consistent fashion.
521
+ * Changes to this collection will be incur updates on collaborating clients (i.e. they are not local-only).
457
522
  */
458
- export declare class IntervalCollection<TInterval extends ISerializableInterval> extends TypedEventEmitter<IIntervalCollectionEvent<TInterval>> {
459
- private readonly helpers;
460
- private readonly requiresClient;
461
- private readonly emitter;
462
- private savedSerializedIntervals?;
463
- private localCollection;
464
- private onDeserialize;
465
- private client;
466
- private readonly localSeqToSerializedInterval;
467
- private readonly localSeqToRebasedInterval;
468
- private readonly pendingChangesStart;
469
- private readonly pendingChangesEnd;
470
- get attached(): boolean;
471
- /** @internal */
472
- constructor(helpers: IIntervalHelpers<TInterval>, requiresClient: boolean, emitter: IValueOpEmitter, serializedIntervals: ISerializedInterval[] | ISerializedIntervalCollectionV2);
473
- private rebasePositionWithSegmentSlide;
474
- private computeRebasedPositions;
475
- /** @internal */
476
- attachGraph(client: Client, label: string): void;
523
+ export interface IIntervalCollection<TInterval extends ISerializableInterval> extends TypedEventEmitter<IIntervalCollectionEvent<TInterval>> {
524
+ readonly attached: boolean;
477
525
  /**
478
- * Gets the next local sequence number, modifying this client's collab window in doing so.
526
+ * Attaches an index to this collection.
527
+ * All intervals which are part of this collection will be added to the index, and the index will automatically
528
+ * be updated when this collection updates due to local or remote changes.
529
+ *
530
+ * @remarks - After attaching an index to an interval collection, applications should typically store this
531
+ * index somewhere in their in-memory data model for future reference and querying.
479
532
  */
480
- private getNextLocalSeq;
481
- private emitChange;
533
+ attachIndex(index: IntervalIndex<TInterval>): void;
534
+ /**
535
+ * Detaches an index from this collection.
536
+ * All intervals which are part of this collection will be removed from the index, and updates to this collection
537
+ * due to local or remote changes will no longer incur updates to the index.
538
+ *
539
+ * @returns - Return false if the target index cannot be found in the indexes, otherwise remove all intervals in the index and return true
540
+ */
541
+ detachIndex(index: IntervalIndex<TInterval>): boolean;
482
542
  /**
483
543
  * @returns the interval in this collection that has the provided `id`.
484
544
  * If no interval in the collection has this `id`, returns `undefined`.
@@ -490,12 +550,12 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
490
550
  * @param end - interval end position (exclusive)
491
551
  * @param intervalType - type of the interval. All intervals are SlideOnRemove. Intervals may not be Transient.
492
552
  * @param props - properties of the interval
553
+ * @param stickiness - {@link (IntervalStickiness:type)} to apply to the added interval.
493
554
  * @returns - the created interval
494
555
  * @remarks - See documentation on {@link SequenceInterval} for comments on interval endpoint semantics: there are subtleties
495
556
  * with how the current half-open behavior is represented.
496
557
  */
497
- add(start: number, end: number, intervalType: IntervalType, props?: PropertySet): TInterval;
498
- private deleteExistingInterval;
558
+ add(start: number, end: number, intervalType: IntervalType, props?: PropertySet, stickiness?: IntervalStickiness): TInterval;
499
559
  /**
500
560
  * Removes an interval from the collection.
501
561
  * @param id - Id of the interval to remove
@@ -508,7 +568,7 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
508
568
  * @param props - Property set to apply to the interval. Shallow merging is used between any existing properties
509
569
  * and `prop`, i.e. the interval will end up with a property object equivalent to `{ ...oldProps, ...props }`.
510
570
  */
511
- changeProperties(id: string, props: PropertySet): void;
571
+ changeProperties(id: string, props: PropertySet): any;
512
572
  /**
513
573
  * Changes the endpoints of an existing interval.
514
574
  * @param id - Id of the interval to change
@@ -517,6 +577,105 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
517
577
  * @returns the interval that was changed, if it existed in the collection.
518
578
  */
519
579
  change(id: string, start?: number, end?: number): TInterval | undefined;
580
+ attachDeserializer(onDeserialize: DeserializeCallback): void;
581
+ /**
582
+ * @returns an iterator over all intervals in this collection.
583
+ */
584
+ [Symbol.iterator](): Iterator<TInterval>;
585
+ /**
586
+ * @returns a forward iterator over all intervals in this collection with start point equal to `startPosition`.
587
+ */
588
+ CreateForwardIteratorWithStartPosition(startPosition: number): Iterator<TInterval>;
589
+ /**
590
+ * @returns a backward iterator over all intervals in this collection with start point equal to `startPosition`.
591
+ */
592
+ CreateBackwardIteratorWithStartPosition(startPosition: number): Iterator<TInterval>;
593
+ /**
594
+ * @returns a forward iterator over all intervals in this collection with end point equal to `endPosition`.
595
+ */
596
+ CreateForwardIteratorWithEndPosition(endPosition: number): Iterator<TInterval>;
597
+ /**
598
+ * @returns a backward iterator over all intervals in this collection with end point equal to `endPosition`.
599
+ */
600
+ CreateBackwardIteratorWithEndPosition(endPosition: number): Iterator<TInterval>;
601
+ /**
602
+ * Gathers iteration results that optionally match a start/end criteria into the provided array.
603
+ * @param results - Array to gather the results into. In lieu of a return value, this array will be populated with
604
+ * intervals matching the query upon edit.
605
+ * @param iteratesForward - whether or not iteration should be in the forward direction
606
+ * @param start - If provided, only match intervals whose start point is equal to `start`.
607
+ * @param end - If provided, only match intervals whose end point is equal to `end`.
608
+ */
609
+ gatherIterationResults(results: TInterval[], iteratesForward: boolean, start?: number, end?: number): void;
610
+ /**
611
+ * @returns an array of all intervals in this collection that overlap with the interval
612
+ * `[startPosition, endPosition]`.
613
+ */
614
+ findOverlappingIntervals(startPosition: number, endPosition: number): TInterval[];
615
+ /**
616
+ * Applies a function to each interval in this collection.
617
+ */
618
+ map(fn: (interval: TInterval) => void): void;
619
+ previousInterval(pos: number): TInterval | undefined;
620
+ nextInterval(pos: number): TInterval | undefined;
621
+ }
622
+ /**
623
+ * {@inheritdoc IIntervalCollection}
624
+ */
625
+ export declare class IntervalCollection<TInterval extends ISerializableInterval> extends TypedEventEmitter<IIntervalCollectionEvent<TInterval>> implements IIntervalCollection<TInterval> {
626
+ private readonly helpers;
627
+ private readonly requiresClient;
628
+ private readonly emitter;
629
+ private readonly options;
630
+ private savedSerializedIntervals?;
631
+ private localCollection;
632
+ private onDeserialize;
633
+ private client;
634
+ private readonly localSeqToSerializedInterval;
635
+ private readonly localSeqToRebasedInterval;
636
+ private readonly pendingChangesStart;
637
+ private readonly pendingChangesEnd;
638
+ get attached(): boolean;
639
+ /** @internal */
640
+ constructor(helpers: IIntervalHelpers<TInterval>, requiresClient: boolean, emitter: IValueOpEmitter, serializedIntervals: ISerializedInterval[] | ISerializedIntervalCollectionV2, options?: Partial<SequenceOptions>);
641
+ /**
642
+ * {@inheritdoc IIntervalCollection.attachIndex}
643
+ */
644
+ attachIndex(index: IntervalIndex<TInterval>): void;
645
+ /**
646
+ * {@inheritdoc IIntervalCollection.detachIndex}
647
+ */
648
+ detachIndex(index: IntervalIndex<TInterval>): boolean;
649
+ private rebasePositionWithSegmentSlide;
650
+ private computeRebasedPositions;
651
+ /** @internal */
652
+ attachGraph(client: Client, label: string): void;
653
+ /**
654
+ * Gets the next local sequence number, modifying this client's collab window in doing so.
655
+ */
656
+ private getNextLocalSeq;
657
+ private emitChange;
658
+ /**
659
+ * {@inheritdoc IIntervalCollection.getIntervalById}
660
+ */
661
+ getIntervalById(id: string): TInterval | undefined;
662
+ /**
663
+ * {@inheritdoc IIntervalCollection.add}
664
+ */
665
+ add(start: number, end: number, intervalType: IntervalType, props?: PropertySet, stickiness?: IntervalStickiness): TInterval;
666
+ private deleteExistingInterval;
667
+ /**
668
+ * {@inheritdoc IIntervalCollection.removeIntervalById}
669
+ */
670
+ removeIntervalById(id: string): TInterval | undefined;
671
+ /**
672
+ * {@inheritdoc IIntervalCollection.changeProperties}
673
+ */
674
+ changeProperties(id: string, props: PropertySet): void;
675
+ /**
676
+ * {@inheritdoc IIntervalCollection.change}
677
+ */
678
+ change(id: string, start?: number, end?: number): TInterval | undefined;
520
679
  private addPendingChange;
521
680
  private addPendingChangeHelper;
522
681
  private removePendingChange;
@@ -533,6 +692,9 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
533
692
  * As such, the conflict resolver is never invoked and unnecessary. This API will be removed in an upcoming release.
534
693
  */
535
694
  addConflictResolver(_: IntervalConflictResolver<TInterval>): void;
695
+ /**
696
+ * {@inheritdoc IIntervalCollection.attachDeserializer}
697
+ */
536
698
  attachDeserializer(onDeserialize: DeserializeCallback): void;
537
699
  /**
538
700
  * Returns new interval after rebasing. If undefined, the interval was
@@ -558,40 +720,40 @@ export declare class IntervalCollection<TInterval extends ISerializableInterval>
558
720
  */
559
721
  [Symbol.iterator](): IntervalCollectionIterator<TInterval>;
560
722
  /**
561
- * @returns a forward iterator over all intervals in this collection with start point equal to `startPosition`.
723
+ * {@inheritdoc IIntervalCollection.CreateForwardIteratorWithStartPosition}
562
724
  */
563
725
  CreateForwardIteratorWithStartPosition(startPosition: number): IntervalCollectionIterator<TInterval>;
564
726
  /**
565
- * @returns a backward iterator over all intervals in this collection with start point equal to `startPosition`.
727
+ * {@inheritdoc IIntervalCollection.CreateBackwardIteratorWithStartPosition}
566
728
  */
567
729
  CreateBackwardIteratorWithStartPosition(startPosition: number): IntervalCollectionIterator<TInterval>;
568
730
  /**
569
- * @returns a forward iterator over all intervals in this collection with end point equal to `endPosition`.
731
+ * {@inheritdoc IIntervalCollection.CreateForwardIteratorWithEndPosition}
570
732
  */
571
733
  CreateForwardIteratorWithEndPosition(endPosition: number): IntervalCollectionIterator<TInterval>;
572
734
  /**
573
- * @returns a backward iterator over all intervals in this collection with end point equal to `endPosition`.
735
+ * {@inheritdoc IIntervalCollection.CreateBackwardIteratorWithEndPosition}
574
736
  */
575
737
  CreateBackwardIteratorWithEndPosition(endPosition: number): IntervalCollectionIterator<TInterval>;
576
738
  /**
577
- * Gathers iteration results that optionally match a start/end criteria into the provided array.
578
- * @param results - Array to gather the results into. In lieu of a return value, this array will be populated with
579
- * intervals matching the query upon edit.
580
- * @param iteratesForward - whether or not iteration should be in the forward direction
581
- * @param start - If provided, only match intervals whose start point is equal to `start`.
582
- * @param end - If provided, only match intervals whose end point is equal to `end`.
739
+ * {@inheritdoc IIntervalCollection.gatherIterationResults}
583
740
  */
584
741
  gatherIterationResults(results: TInterval[], iteratesForward: boolean, start?: number, end?: number): void;
585
742
  /**
586
- * @returns an array of all intervals in this collection that overlap with the interval
587
- * `[startPosition, endPosition]`.
743
+ * {@inheritdoc IIntervalCollection.findOverlappingIntervals}
588
744
  */
589
745
  findOverlappingIntervals(startPosition: number, endPosition: number): TInterval[];
590
746
  /**
591
- * Applies a function to each interval in this collection.
747
+ * {@inheritdoc IIntervalCollection.map}
592
748
  */
593
749
  map(fn: (interval: TInterval) => void): void;
750
+ /**
751
+ * {@inheritdoc IIntervalCollection.previousInterval}
752
+ */
594
753
  previousInterval(pos: number): TInterval | undefined;
754
+ /**
755
+ * {@inheritdoc IIntervalCollection.nextInterval}
756
+ */
595
757
  nextInterval(pos: number): TInterval | undefined;
596
758
  }
597
759
  /**
@@ -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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"}