A non-overlapping collection of
TimeInterval
instances sorted by start time.
Name | Type | Description |
---|---|---|
intervals |
Array.<TimeInterval> | optional An array of intervals to add to the collection. |
Members
readonly changedEvent : Event
Gets an event that is raised whenever the collection of intervals change.
Gets whether or not the collection is empty.
Gets whether or not the start time is included in the collection.
Gets whether or not the stop time is included in the collection.
Gets the number of intervals in the collection.
readonly start : JulianDate
Gets the start time of the collection.
readonly stop : JulianDate
Gets the stop time of the collection.
Methods
static LSGlobe.TimeIntervalCollection.fromIso8601(options, result) → TimeIntervalCollection
Creates a new instance from an ISO 8601 time interval (start/end/duration).
Name | Type | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
Object with the following properties:
|
||||||||||||||||||||||||||||
result |
TimeIntervalCollection | optional An existing instance to use for the result. |
Returns:
The modified result parameter or a new instance if none was provided.
static LSGlobe.TimeIntervalCollection.fromIso8601DateArray(options, result) → TimeIntervalCollection
Creates a new instance from a ISO 8601 date array.
Name | Type | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
Object with the following properties:
|
||||||||||||||||||||||||||||
result |
TimeIntervalCollection | optional An existing instance to use for the result. |
Returns:
The modified result parameter or a new instance if none was provided.
static LSGlobe.TimeIntervalCollection.fromIso8601DurationArray(options, result) → TimeIntervalCollection
Creates a new instance from a ISO 8601 duration array.
Name | Type | Description | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
Object with the following properties:
|
||||||||||||||||||||||||||||||||||||
result |
TimeIntervalCollection | optional An existing instance to use for the result. |
Returns:
The modified result parameter or a new instance if none was provided.
static LSGlobe.TimeIntervalCollection.fromJulianDateArray(options, result) → TimeIntervalCollection
Creates a new instance from a JulianDate array.
Name | Type | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
Object with the following properties:
|
||||||||||||||||||||||||||||
result |
TimeIntervalCollection | optional An existing instance to use for the result. |
Returns:
The modified result parameter or a new instance if none was provided.
Adds an interval to the collection, merging intervals that contain the same data and
splitting intervals of different data as needed in order to maintain a non-overlapping collection.
The data in the new interval takes precedence over any existing intervals in the collection.
Name | Type | Description |
---|---|---|
interval |
TimeInterval | The interval to add. |
dataComparer |
TimeInterval.DataComparer | optional A function which compares the data of the two intervals. If omitted, reference equality is used. |
Checks if the specified date is inside this collection.
Name | Type | Description |
---|---|---|
julianDate |
JulianDate | The date to check. |
Returns:
true
if the collection contains the specified date, false
otherwise.
Compares this instance against the provided instance componentwise and returns
true
if they are equal, false
otherwise.
Name | Type | Description |
---|---|---|
right |
TimeIntervalCollection | optional The right hand side collection. |
dataComparer |
TimeInterval.DataComparer | optional A function which compares the data of the two intervals. If omitted, reference equality is used. |
Returns:
true
if they are equal, false
otherwise.
Finds and returns the data for the interval that contains the specified date.
Name | Type | Description |
---|---|---|
date |
JulianDate | The date to search for. |
Returns:
The data for the interval containing the specified date, or
undefined
if no such interval exists.
findInterval(options) → TimeInterval|undefined
Returns the first interval in the collection that matches the specified parameters.
All parameters are optional and
undefined
parameters are treated as a don't care condition.
Name | Type | Description | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
optional
Object with the following properties:
|
Returns:
The first interval in the collection that matches the specified parameters.
findIntervalContainingDate(date) → TimeInterval|undefined
Finds and returns the interval that contains the specified date.
Name | Type | Description |
---|---|---|
date |
JulianDate | The date to search for. |
Returns:
The interval containing the specified date,
undefined
if no such interval exists.
get(index) → TimeInterval|undefined
Gets the interval at the specified index.
Name | Type | Description |
---|---|---|
index |
Number | The index of the interval to retrieve. |
Returns:
The interval at the specified index, or
undefined
if no interval exists as that index.
Finds and returns the index of the interval in the collection that contains the specified date.
Name | Type | Description |
---|---|---|
date |
JulianDate | The date to search for. |
Returns:
The index of the interval that contains the specified date, if no such interval exists,
it returns a negative number which is the bitwise complement of the index of the next interval that
starts after the date, or if no interval starts after the specified date, the bitwise complement of
the length of the collection.
intersect(other, dataComparer, mergeCallback) → TimeIntervalCollection
Creates a new instance that is the intersection of this collection and the provided collection.
Name | Type | Description |
---|---|---|
other |
TimeIntervalCollection | The collection to intersect with. |
dataComparer |
TimeInterval.DataComparer | optional A function which compares the data of the two intervals. If omitted, reference equality is used. |
mergeCallback |
TimeInterval.MergeCallback | optional A function which merges the data of the two intervals. If omitted, the data from the left interval will be used. |
Returns:
A new TimeIntervalCollection which is the intersection of this collection and the provided collection.
Removes all intervals from the collection.
Removes the specified interval from this interval collection, creating a hole over the specified interval.
The data property of the input interval is ignored.
Name | Type | Description |
---|---|---|
interval |
TimeInterval | The interval to remove. |
Returns:
true
if the interval was removed, false
if no part of the interval was in the collection.