@mezzy/signals
Version:
A luxurious user experience framework, developed by your friends at Mezzanine.
31 lines (30 loc) • 1.12 kB
TypeScript
import ISignal from './iSignal';
import ISignalBinding from './iSignalBinding';
export declare class Signal<T> implements ISignal<T> {
constructor(isMemorize?: boolean);
readonly key: string;
private readonly _key;
private readonly _bindings;
private _prevParam;
readonly listenerCount: number;
readonly isMemorize: boolean;
private readonly _isMemorize;
private _isDispatched;
private _isShouldPropagate;
isActive: boolean;
validateListener(listener: any, fnName: any): void;
private _registerListener;
private _addBinding;
private _indexOfListener;
has(listener: (value: T) => void, context?: any): boolean;
listen(listener: (value: T) => void, listenerContext?: any, priority?: number): ISignalBinding<T>;
listenOnce(listener: (value: T) => void, listenerContext?: any, priority?: number): ISignalBinding<T>;
delete(listener: (value: T) => void, context?: any): (value: T) => void;
deleteAll(): void;
halt(): void;
dispatch(param: T): void;
forget(): void;
dispose(): void;
toString(): string;
}
export default Signal;