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

Usage no npm install needed!

<script type="module">
  import steSimpleEvents from '';


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 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(`${} 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;
    }, timeout);

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

Check the documentation or the examples for more information.

Need more info? Check the repo.


This project is maintained by Kees C. Bakker.