1.4.1 • Published 16 days ago

@mkellsy/event-emitter v1.4.1

Weekly downloads
-
License
MIT
Repository
github
Last release
16 days ago

Event Emitter

Strictly typed event emitter.

API

import EventEmitter from "@mkellsy/event-emitter";

interface Payload {
    Headers: Headers;
    Body: string;
}

type Events = {
    Error: (error: Error) => void;
    Message: (body: string) => void;
    Response: (payload: Payload) => void;
}

const eventEmitter = new EventEmitter<Events>();

Synchronously calls each of the listeners registered for the event named event, in the order they were registered, passing the supplied arguments to each.

eventEmitter.emit("Response", {
    Headers: new Headers(),
    Body: "string response",
});

Adds the listener function to the end of the listeners array for the event named event. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of eventand listener will result in the listener being added, and called, multiple times.

eventEmitter.on("Response", (payload) => {
    console.log(payload.Body);
});

Add the callback to the begining of the call stack.

eventEmitter.on("Response", (payload) => {
    console.log(payload.Body);
}, true);

Adds a one-time listener function for the event named event. The next time event is triggered, this listener is removed and then invoked.

eventEmitter.once("Response", (payload) => {
    console.log(payload.Body);
});

Add the callback to the begining of the call stack.

eventEmitter.once("Response", (payload) => {
    console.log(payload.Body);
}, true);

Removes all listeners or the specified listener from the listener array for the event named event.

const printResponse = (payload: Payload) => {
    console.log(payload.Body);
};

eventEmitter.on("Response", printResponse);
eventEmitter.off("Response", printResponse);

Removing a all listeners for a given `event.

It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).

eventEmitter.on("Response", (payload: Payload) => {
    console.log(payload.Body);
});

eventEmitter.off("Response");

Returns a copy of the array of listeners for the `event`.
```js
if (eventEmitter.listeners("Response").length > 0) {
    console.log("Response listeners exist");
}

Returns an array listing the events for which the emitter has registered listeners. The values in the array are of type string or symbol.

if (eventEmitter.events().indexOf("Response") >= 0) {
    console.log("Response listeners exist");
}
1.4.1

16 days ago

1.2.5

4 months ago

1.3.1

4 months ago

1.2.4

4 months ago

1.2.3

4 months ago

1.2.0

4 months ago

1.2.2

4 months ago

1.2.1

4 months ago

1.1.2

5 months ago

1.1.1

5 months ago

1.0.2

5 months ago

1.0.1

5 months ago

1.0.0

5 months ago