diff --git a/src/util/collection.ts b/src/util/collection.ts index 97173eebb..894542077 100644 --- a/src/util/collection.ts +++ b/src/util/collection.ts @@ -31,6 +31,18 @@ export class Collection extends Map { return clearInterval(this.sweeper?.intervalId); } + changeSweeperInterval(newInterval: number) { + if (!this.sweeper) return; + + this.startSweeper({ filter: this.sweeper.filter, interval: newInterval }); + } + + changeSweeperFilter(newFilter: (value: V, key: K) => boolean | Promise) { + if (!this.sweeper) return; + + this.startSweeper({ filter: newFilter, interval: this.sweeper.interval }); + } + set(key: K, value: V) { // When this collection is maxSizeed make sure we can add first if ((this.maxSize || this.maxSize === 0) && this.size >= this.maxSize) {