expiry-set
Version:
A Set implementation with expirable keys
21 lines (20 loc) • 747 B
TypeScript
export default class ExpirySet<K = any> implements Set<K> {
private readonly maxAge;
private readonly data;
readonly [Symbol.toStringTag]: 'Set';
constructor(maxAge: number);
constructor(maxAge: number, values: ReadonlyArray<K> | null | undefined);
constructor(maxAge: number, iterable: Iterable<K>);
readonly size: number;
add(key: K): this;
clear(): void;
delete(key: K): boolean;
has(key: K): boolean;
values(): IterableIterator<K>;
keys(): IterableIterator<K>;
entries(): IterableIterator<[K, K]>;
forEach(callbackfn: (value: K, value2: K, set: Set<K>) => void, thisArg?: any): void;
[Symbol.iterator](): IterableIterator<K>;
private isExpired;
private createIterator;
}