-const DEFAULT_CIRCULAR_ARRAY_SIZE = 2000;
+export const DEFAULT_CIRCULAR_ARRAY_SIZE = 2000;
-export default class CircularArray<T> extends Array<T> {
+/** Array with a maximum length shifting items when full. */
+export class CircularArray<T> extends Array<T> {
public size: number;
constructor(size: number = DEFAULT_CIRCULAR_ARRAY_SIZE, ...items: T[]) {
if (length > this.size) {
super.splice(this.size, items.length);
}
- return length;
+ return this.length;
}
public concat(...items: (T | ConcatArray<T>)[]): CircularArray<T> {
if (concatenatedCircularArray.length > concatenatedCircularArray.size) {
concatenatedCircularArray.splice(
0,
- concatenatedCircularArray.length - this.size
+ concatenatedCircularArray.length - concatenatedCircularArray.size
);
}
return concatenatedCircularArray;