JSPM

  • Created
  • Published
  • Downloads 10374
  • Score
    100M100P100Q134711F
  • License MIT

Add the power of Simple Events to your projects. Every event has an argument with its data.

Package Exports

  • ste-simple-events

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ste-simple-events) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Strongly Typed Events - Simple events

Simple events are a type of event that will provide an argument with data when fired. 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 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 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 { SimpleEventDispatcher } from "ste-simple-events";

class Clock {
  private _onSequenceTick = new SimpleEventDispatcher<number>();
  private _ticks: number = 0;

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

  public get onSequenceTick() {
    return this._onSequenceTick.asEvent();
  }
}

Check the documentation or the examples for more information.

Need more info? Check the repo.