Construct a new undoable observable list.
Whether the object can redo changes.
Whether the object can undo changes.
A signal emitted when the list has changed.
Test whether the list has been disposed.
The length of the list.
The type of this object.
Insert a value into the list at a specific index.
The index at which to insert the value.
The value to set at the specified index.
Linear.
No changes.
The index
will be clamped to the bounds of the list.
By convention, the oldIndex is set to -2 to indicate an insert operation.
The value -2 as oldIndex can be used to distinguish from the push method which will use a value -1.
An index
which is non-integral.
Remove and return the value at a specific index.
The index of the value of interest.
The value at the specified index, or undefined
if the
index is out of range.
Constant.
Iterators pointing at the removed value and beyond are invalidated.
An index
which is non-integral.
Remove a range of items from the list.
The start index of the range to remove (inclusive).
The end index of the range to remove (exclusive).
The new length of the list.
Linear.
Iterators pointing to the first removed value and beyond are invalid.
A startIndex
or endIndex
which is non-integral.
Remove the first occurrence of a value from the list.
The value of interest.
The index of the removed value, or -1
if the value
is not contained in the list.
Linear.
Iterators pointing at the removed value and beyond are invalidated.
A concrete implementation of an observable undoable list.