-import Constants from './Constants';
export default class CircularArray<T> extends Array<T> {
- public size: number;
+ size: number;
+ private readonly maximumCircularArraySize = 2000;
- constructor(size: number = Constants.MAXIMUM_MEASUREMENTS_NUMBER) {
+ constructor(size?: number) {
super();
- this.size = size;
+ this.size = size && size <= this.maximumCircularArraySize ? size : this.maximumCircularArraySize;
}
push(...items: T[]): number {
return super.unshift(...items);
}
- concat(...items: (T|ConcatArray<T>)[]): T[] {
+ concat(...items: (T | ConcatArray<T>)[]): T[] {
if (this.length + items.length > this.size) {
super.splice(0, (this.length + items.length) - this.size);
}