UNPKG

colyseus.js

Version:

Colyseus Multiplayer SDK for JavaScript/TypeScript

18 lines (17 loc) 968 B
type FunctionParameters<T extends (...args: any[]) => any> = T extends (...args: infer P) => any ? P : never; export declare class EventEmitter<CallbackSignature extends (...args: any[]) => any> { handlers: Array<CallbackSignature>; register(cb: CallbackSignature, once?: boolean): this; invoke(...args: FunctionParameters<CallbackSignature>): void; invokeAsync(...args: FunctionParameters<CallbackSignature>): Promise<any[]>; remove(cb: CallbackSignature): void; clear(): void; } export declare function createSignal<CallbackSignature extends (...args: any[]) => void | Promise<any>>(): { once: (cb: CallbackSignature) => void; remove: (cb: CallbackSignature) => void; invoke: (...args: FunctionParameters<CallbackSignature>) => void; invokeAsync: (...args: FunctionParameters<CallbackSignature>) => Promise<any[]>; clear: () => void; } & ((this: any, cb: CallbackSignature) => EventEmitter<CallbackSignature>); export {};