@discord-player/utils
Version:
Discord Player Utilities
82 lines (72 loc) • 3.17 kB
text/typescript
import { Collection as Collection$1 } from '@discordjs/collection';
import { inspect } from 'util';
declare class Collection<K = unknown, V = unknown> extends Collection$1<K, V> {
#private;
/**
* @returns {Array<V>} Array of this collection
*/
array(): V[];
set(key: K, value: V): this;
delete(key: K): boolean;
}
type QueueStrategy = 'LIFO' | 'FIFO';
type QueueItemFilter<T, R = boolean> = (value: T, idx: number, array: T[]) => R;
declare class Queue<T = unknown> {
strategy: QueueStrategy;
store: T[];
constructor(strategy?: QueueStrategy, initializer?: T[]);
get data(): T[];
static from<T>(data: T[], strategy?: QueueStrategy): Queue<T>;
isFIFO(): boolean;
isLIFO(): boolean;
add(item: T | T[]): void;
clear(): void;
shuffle(): void;
remove(itemFilter: QueueItemFilter<T>): void;
removeOne(itemFilter: QueueItemFilter<T>): void;
find(itemFilter: QueueItemFilter<T>): T | undefined;
filter(itemFilter: QueueItemFilter<T>): T[];
some(itemFilter: QueueItemFilter<T>): boolean;
every(itemFilter: QueueItemFilter<T>): boolean;
map<R = T>(itemFilter: QueueItemFilter<T, R>): R[];
at(idx: number): T | undefined;
dispatch(): T | undefined;
clone(): Queue<T>;
get size(): number;
toString(): string;
toArray(): T[];
toJSON(): T[];
[inspect.custom](): string;
}
declare class EventEmitter<L extends ListenerSignature<L> = DefaultListener> {
public static defaultMaxListeners: number;
public constructor(options?: { captureRejections?: boolean });
public addListener<U extends keyof L>(event: U, listener: L[U]): this;
public prependListener<U extends keyof L>(event: U, listener: L[U]): this;
public prependOnceListener<U extends keyof L>(event: U, listener: L[U]): this;
public removeListener<U extends keyof L>(event: U, listener: L[U]): this;
public removeAllListeners(event?: keyof L): this;
public once<U extends keyof L>(event: U, listener: L[U]): this;
public on<U extends keyof L>(event: U, listener: L[U]): this;
public off<U extends keyof L>(event: U, listener: L[U]): this;
public emit<U extends keyof L>(event: U, ...args: Parameters<L[U]>): boolean;
public eventNames<U extends keyof L>(): U[];
public listenerCount(type: keyof L): number;
public listeners<U extends keyof L>(type: U): L[U][];
public rawListeners<U extends keyof L>(type: U): L[U][];
public getMaxListeners(): number;
public setMaxListeners(n: number): this;
}
type ListenerSignature<L> = {
[E in keyof L]: (...args: any[]) => any;
};
type DefaultListener = {
[k: string]: (...args: any[]) => any;
};
declare function createEnum<K extends string | number | symbol>(data: K[]): Readonly<Record<K, K>>;
type PlayerExceptionMessage = string | Record<string, unknown>;
declare class PlayerException extends Error {
constructor(message: PlayerExceptionMessage);
}
declare const version: string;
export { Collection, type DefaultListener, EventEmitter, type ListenerSignature, PlayerException, type PlayerExceptionMessage, Queue, type QueueItemFilter, type QueueStrategy, createEnum, createEnum as keyMirror, version };