Skip to main content
Version: 0.8.0

Abstract Class: Collector<K, V>

Abstract class for defining a new Collector

Extends​

  • EventEmitter

Extended by​

Type Parameters​

Type Parameter
K
V

Constructors​

Constructor​

protected new Collector<K, V>(client, options?): Collector<K, V>

Parameters​

ParameterType
clientClient
optionsCollectorOptions<V>

Returns​

Collector<K, V>

Overrides​

EventEmitter.constructor

Properties​

client​

readonly client: Client


collected​

collected: Collection<K, V>


ended​

ended: boolean = false


filter​

filter: (item, ...args) => boolean

Parameters​

ParameterType
itemV
...argsany[]

Returns​

boolean


options​

options: CollectorOptions<V>

Methods​

[asyncIterator]()​

[asyncIterator](): AsyncIterableIterator<[K, V]>

Allows iterating over collected items asynchronously.

Returns​

AsyncIterableIterator<[K, V]>

Example​

for await (const [id, message] of collector) {
console.log(`Received message: ${message.content}`);
}

checkEnd()​

checkEnd(): void

Check if we should end upon collecting/disposing

Returns​

void


collect()​

abstract collect(item, ...args): K | null

Returns a key if the item should be collected, or null to skip

Parameters​

ParameterType
itemV
...argsany[]

Returns​

K | null


dispose()​

abstract dispose(item, ...args): K | null

Returns a key if the item should be disposed, or null to skip

Parameters​

ParameterType
itemV
...argsany[]

Returns​

K | null


endReason()​

endReason(): string | null

Check if there's a reason to end

Returns​

string | null


handleCollect()​

handleCollect(item, ...args): void

Evaluates an item and possibly passes it to the collector

Parameters​

ParameterType
itemV
...argsany[]

Returns​

void


handleDispose()​

handleDispose(item, ...args): void

Evaluates an item and possibly removes it from the collector

Parameters​

ParameterType
itemV
...argsany[]

Returns​

void


stop()​

stop(reason?): void

Stops the collector.

Parameters​

ParameterTypeDefault value
reasonstring"user"

Returns​

void