UNPKG

@skyway-sdk/common

Version:

The official Next Generation JavaScript SDK for SkyWay

54 lines 1.78 kB
export declare class Event<T extends any> { private _onSetListener; private _stack; private _eventIndex; /**@internal */ constructor(_onSetListener?: () => void); /**@internal */ emit: (arg: T) => void; /**@internal */ removeAllListeners: () => void; /**@internal */ pipe: (event: Event<T>) => { removeListener: () => void; disposer: (disposer: EventDisposer) => void; }; /** * イベントが起きた時に実行する関数を登録する。 * 戻り値として関数の登録を解除する関数が帰ってくる */ add: (callback: (args: T) => void) => { removeListener: () => void; disposer: (disposer: EventDisposer) => void; }; /**イベントが起きた時に一度だけ実行される関数を登録する */ once: (callback: (arg: T) => void) => { removeListener: () => void; disposer: (disposer: EventDisposer) => void; }; /** * イベントが起きた時に Promise が resolve される * @param timeLimit ms */ asPromise: (timeLimit?: number) => Promise<T>; /** * イベントが起きた時に実行される boolean を返す関数を登録する。 * 登録した関数が true を返した時に Promise が resolve される * */ watch: (callback: (arg: T) => boolean | undefined | null, timeLimit?: number) => Promise<T>; /**@internal */ get length(): number; } /**@internal */ export declare class Events { events: Event<any>[]; make<T extends any>(): Event<T>; dispose(): void; } /**@internal */ export declare class EventDisposer { private _disposer; push(disposer: () => void): void; dispose(): void; } //# sourceMappingURL=event.d.ts.map