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

3.0.11 • Public • Published

Strongly Typed Events - Events

Add events that are modeled after .Net with a sender and argument to your project. If you use typescript, you can leverage the support for generics and get strongly typed code.

Need a different type of event? Check out the others.

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 name of the clock and the tick argument to the console - this is an event
clock.onClockTick.subscribe((c, n) =>
  console.log(`${c.name} ticked ${n} times.`)
);

Events made easy

So let's look at the implementation from a TypeScript perspective. (Do you program NodeJs without typescript? Check this)

import { EventDispatcher } from "ste-events";

class Clock {
  private _onClockTick = new EventDispatcher();
  private _ticks: number = 0;

  constructor(public name: string, timeout: number) {
    setInterval(() => {
      this._ticks += 1;
      this._onClockTick.dispatch(this, this._ticks);
    }, timeout);
  }

  public get onClockTick() {
    return this._onClockTick.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-events

Weekly Downloads

2,712

Version

3.0.11

License

MIT

Unpacked Size

15.6 kB

Total Files

19

Last publish

Collaborators

  • keestalkstech