Licence
MIT
Version
4.0.0
Deps
1
Size
11 kB
Vulns
0
Weekly
0
Strongly Typed Events - Signals
Signals are the most barebone of all events. They don't contain any data. They just invoke the registered handler.
Version 4.0.0 requires Node.js 22.22.2 or newer.
Subscription made easy
An example says more than a 1000 words. Imagine if you have events like this on your class:
let clock = new Clock("Smu", 1000);
//log the ticks to the console - this is a signal event
clock.onTick.subscribe(() => console.log("Tick!"));
Events made easy
So let's look at the implementation from a TypeScript perspective. (Do you program NodeJs without typescript? Check this)
import { SignalDispatcher } from "ste-signals";
class Clock {
private _onTick = new SignalDispatcher();
private _ticks: number = 0;
constructor(public name: string, timeout: number) {
setInterval(() => {
this._ticks += 1;
this._onTick.dispatch();
}, timeout);
}
public get onTick() {
return this._onTick.asEvent();
}
}
Check the documentation or the examples for more information.
Need more info? Check the repo.
Maintenance
This project is maintained by Kees C. Bakker.