return null;
}
+ lastPointInTimeRange(startTime, endTime)
+ {
+ console.assert(startTime <= endTime);
+ for (let point of this._reverse()) {
+ if (point.time < startTime)
+ return null;
+ if (point.time <= endTime)
+ return point;
+ }
+ return null;
+ }
+
[Symbol.iterator]()
{
const data = this._data;
}
};
}
+
+ _reverse()
+ {
+ return {
+ [Symbol.iterator]: () => {
+ const data = this._data;
+ const end = this._startingIndex;
+ let i = this._afterEndingIndex;
+ return {
+ next() {
+ return {done: i-- == end, value: data[i]};
+ }
+ };
+ }
+ }
+ }
}
if (typeof module != 'undefined')