UNPKG

helene

Version:
39 lines (38 loc) 1.32 kB
import { AnyFunction } from '../utils'; import { EventEmitter2 } from 'eventemitter2'; import { Client } from './client'; export declare class ClientChannel extends EventEmitter2 { client: Client; name: string; events: Set<string>; _events?: Record<string, AnyFunction[]>; constructor(name: string); setClient(client: Client): void; private pendingSubscriptions; private subscribeDebounceTimeout?; commitPendingSubscriptions(): Promise<void>; subscribe(event: string | string[]): Promise<any>; private pendingUnsubscriptions; private unsubscribeDebounceTimeout?; commitPendingUnsubscriptions(): Promise<void>; unsubscribe(event: string | string[]): Promise<any>; resubscribe(): Promise<any>; /** * Wait for an event to fire asynchronously. * * Returns true if no params are sent. */ wait(event: string, callback?: (...data: any) => any): Promise<any | any[]>; /** * Returns true if the event was not fired within a given timeout. */ timeout(event: string, timeoutMs?: number): Promise<unknown>; iterator(event: string): { [Symbol.asyncIterator](): any; next(): Promise<unknown>; return(): { done: boolean; }; throw(error: unknown): Promise<never>; }; }