IntervalCollection Class
Signature
export declare class IntervalCollection<TInterval extends ISerializableInterval> extends TypedEventEmitter<IIntervalCollectionEvent<TInterval>>
Extends: TypedEventEmitter<IIntervalCollectionEvent
Type Parameters
Parameter | Constraint | Description |
---|---|---|
TInterval | ISerializableInterval |
Remarks
The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the IntervalCollection
class.
Properties
Property | Type | Description |
---|---|---|
attached | boolean |
Methods
Property Details
attached
Signature
get attached(): boolean;
Type: boolean
Method Details
[Symbol.iterator]
Signature
[Symbol.iterator](): IntervalCollectionIterator<TInterval>;
Returns
Return type: IntervalCollectionIterator<TInterval>
add
Create a new interval and add it to the collection
Signature
add(start: number, end: number, intervalType: IntervalType, props?: PropertySet): TInterval;
Parameters
Parameter | Modifiers | Type | Description |
---|---|---|---|
start | number | interval start position | |
end | number | interval end position | |
intervalType | IntervalType | type of the interval. All intervals are SlideOnRemove. Intervals may not be Transient. | |
props | optional | PropertySet | properties of the interval |
Returns
- the created interval
Return type: TInterval
addConflictResolver
Signature
addConflictResolver(conflictResolver: IntervalConflictResolver<TInterval>): void;
Parameters
Parameter | Type | Description |
---|---|---|
conflictResolver | IntervalConflictResolver<TInterval> |
addInternal
This API is deprecated and will be removed in a future release.
- use ackAdd
Signature
addInternal(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage): TInterval;
Parameters
Parameter | Type | Description |
---|---|---|
serializedInterval | ISerializedInterval | |
local | boolean | |
op | ISequencedDocumentMessage |
Returns
Return type: TInterval
attachDeserializer
Signature
attachDeserializer(onDeserialize: DeserializeCallback): void;
Parameters
Parameter | Type | Description |
---|---|---|
onDeserialize | DeserializeCallback |
attachGraph
Signature
attachGraph(client: Client, label: string): void;
Parameters
Parameter | Type | Description |
---|---|---|
client | Client | |
label | string |
change
Signature
change(id: string, start?: number, end?: number): TInterval | undefined;
Parameters
Parameter | Modifiers | Type | Description |
---|---|---|---|
id | string | ||
start | optional | number | |
end | optional | number |
Returns
Return type: TInterval | undefined
changeInterval
This API is deprecated and will be removed in a future release.
- use ackChange
Signature
changeInterval(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage): void;
Parameters
Parameter | Type | Description |
---|---|---|
serializedInterval | ISerializedInterval | |
local | boolean | |
op | ISequencedDocumentMessage |
changeProperties
Signature
changeProperties(id: string, props: PropertySet): void;
Parameters
Parameter | Type | Description |
---|---|---|
id | string | |
props | PropertySet |
CreateBackwardIteratorWithEndPosition
Signature
CreateBackwardIteratorWithEndPosition(endPosition: number): IntervalCollectionIterator<TInterval>;
Parameters
Parameter | Type | Description |
---|---|---|
endPosition | number |
Returns
Return type: IntervalCollectionIterator<TInterval>
CreateBackwardIteratorWithStartPosition
Signature
CreateBackwardIteratorWithStartPosition(startPosition: number): IntervalCollectionIterator<TInterval>;
Parameters
Parameter | Type | Description |
---|---|---|
startPosition | number |
Returns
Return type: IntervalCollectionIterator<TInterval>
CreateForwardIteratorWithEndPosition
Signature
CreateForwardIteratorWithEndPosition(endPosition: number): IntervalCollectionIterator<TInterval>;
Parameters
Parameter | Type | Description |
---|---|---|
endPosition | number |
Returns
Return type: IntervalCollectionIterator<TInterval>
CreateForwardIteratorWithStartPosition
Signature
CreateForwardIteratorWithStartPosition(startPosition: number): IntervalCollectionIterator<TInterval>;
Parameters
Parameter | Type | Description |
---|---|---|
startPosition | number |
Returns
Return type: IntervalCollectionIterator<TInterval>
deleteInterval
This API is deprecated and will be removed in a future release.
- use ackDelete
Signature
deleteInterval(serializedInterval: ISerializedInterval, local: boolean, op: ISequencedDocumentMessage): void;
Parameters
Parameter | Type | Description |
---|---|---|
serializedInterval | ISerializedInterval | |
local | boolean | |
op | ISequencedDocumentMessage |
findOverlappingIntervals
Signature
findOverlappingIntervals(startPosition: number, endPosition: number): TInterval[];
Parameters
Parameter | Type | Description |
---|---|---|
startPosition | number | |
endPosition | number |
Returns
Return type: TInterval[]
gatherIterationResults
Signature
gatherIterationResults(results: TInterval[], iteratesForward: boolean, start?: number, end?: number): void;
Parameters
Parameter | Modifiers | Type | Description |
---|---|---|---|
results | TInterval[] | ||
iteratesForward | boolean | ||
start | optional | number | |
end | optional | number |
getIntervalById
Signature
getIntervalById(id: string): TInterval;
Parameters
Parameter | Type | Description |
---|---|---|
id | string |
Returns
Return type: TInterval
map
Signature
map(fn: (interval: TInterval) => void): void;
Parameters
Parameter | Type | Description |
---|---|---|
fn | (interval: TInterval) => void |
nextInterval
Signature
nextInterval(pos: number): TInterval;
Parameters
Parameter | Type | Description |
---|---|---|
pos | number |
Returns
Return type: TInterval
previousInterval
Signature
previousInterval(pos: number): TInterval;
Parameters
Parameter | Type | Description |
---|---|---|
pos | number |
Returns
Return type: TInterval
removeIntervalById
Signature
removeIntervalById(id: string): TInterval;
Parameters
Parameter | Type | Description |
---|---|---|
id | string |
Returns
Return type: TInterval