Get unlimited public & private packages + team-based management with npm Teams.Learn more »

ste-signals

1.6.8 • Public • Published

Strongly Typed Events - Signals

Signals are the most barebone of all events. They don't contain any data. They just invoke the registered handler.

Build Status npm version forever code style: prettier License: MIT

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.

Install

npm i ste-signals

DownloadsWeekly Downloads

1,291

Version

1.6.8

License

MIT

Unpacked Size

17.3 kB

Total Files

10

Last publish

Collaborators

  • avatar