dax
Version:
Cross platform shell tools inspired by zx.
17 lines • 665 B
TypeScript
/**
* Fixed-capacity ring buffer of strings. `push` is O(1); bounded-size
* append-dropping doesn't need the `shift()` copies that an `array.shift()`
* path would pay on every overflowing line.
*/
export declare class LineRingBuffer implements Iterable<string> {
#private;
readonly capacity: number;
constructor(capacity: number);
get size(): number;
push(item: string): void;
/** Iterate every retained item, oldest first. */
[Symbol.iterator](): IterableIterator<string>;
/** Iterate the last `n` retained items, oldest first. */
takeLast(n: number): IterableIterator<string>;
}
//# sourceMappingURL=lineRingBuffer.d.ts.map