1.2.4 • Published 7 years ago
signal-ts v1.2.4
TypeScript Signal
Signal Pattern pattern written in Typescript.
Signals are typed and easy to use!
Installation
npm install signal-tsUsage
Creating a Signal
Create an instance of Signal with the specified type, i.e, string, number, etc.
import {Signal} from "signal-ts";
let onCompleted: Signal<number> = new Signal();Add function callback
Register a callback with add().
onCompleted.add((n: number) => {
console.log("got a number", n);
});You can also register a callback only once().
onCompleted.once(n: number) => {
console.log("got a number once", n);
});Emitting a Signal
onCompleted.emit(299792458);Pro-Tips
Organize your events in a module or namespace.
export namespace Event {
export const onLoaded: Signal<string> = new Signal();
export const onCompleted: Signal<number> = new Signal();
}Bind to events in your constructor.
class Receiver {
private message: string;
constructor() {
Event.onLoaded.add(this.loaded);
}
public loaded(message: string): void {
this.message = message;
}
}Remove a callback
Event.onLoaded.remove(this.callback);