2.0.5 • Published 3 years ago

tom32i-event-emitter.js v2.0.5

Weekly downloads
934
License
MIT
Repository
-
Last release
3 years ago

tom32i-event-emitter.js

Minimalist JS Event Emitter system

Install:

npm install tom32i-event-emitter.js

Import

HTML:

<script src="tom32i-event-emitter.js"></script>

ES6:

import EventEmitter from 'tom32i-event-emitter.js';

Node:

const EventEmitter = require('tom32i-event-emitter.js');

Usage

Make your prototype extend the EventEmitter.

Emit event with the emit method.

/**
 * Player
 */
class Player extends EventEmitter {
    constructor() {
        super();

        this.alive = true;
    }

    /**
     * Emit and event on death
     */
    die() {
        this.alive = false;

        // Emitting an event:
        this.emit('die', { player: this, foo: 'bar' });
    }
}

Listening for events with on / off:

var player = new Player();

function onDie(event) {
    const { type, detail } = event;
    const { foo, player } = detail;
    // ...
}

// Adding a listener
player.on('die', onDie);  // "on" is an alias of "addEventListener"

// Removing a listener
player.off('die', onDie); // "off" is an alias of "removeEventListener"

Contribute

Clone the repository:

git clone git@github.com:Tom32i/event-emiter.js.git

Install dev dependencies:

npm install

Build dist:

npm build
2.0.5

3 years ago

2.0.4

4 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.1

8 years ago

2.0.0

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago