indexed-collection
Version:
A zero-dependency library of classes that make filtering, sorting and observing changes to arrays easier and more efficient.
10 lines (7 loc) • 367 B
text/typescript
import { Signal } from './Signal';
export type SignalHandler<T extends Signal> = (signal: T) => void;
export interface ISignalObserver {
registerObserver<T extends Signal>(signalType: symbol, handler: SignalHandler<T>): void;
unregisterObserver<T extends Signal>(handler: SignalHandler<T>, signalType?: symbol): void;
notifyObservers(signal: Signal): void;
}