ste-signals
TypeScript icon, indicating that this package has built-in type declarations

3.0.11 • 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 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.

Dependencies (1)

Dev Dependencies (8)

Package Sidebar

Install

npm i ste-signals

Weekly Downloads

3,113

Version

3.0.11

License

MIT

Unpacked Size

12.8 kB

Total Files

17

Last publish

Collaborators

  • keestalkstech