0.2.3 • Published 11 months ago

@ocubist/event-handler v0.2.3

Weekly downloads
-
License
MIT
Repository
-
Last release
11 months ago

Event Handler

Description

The Event Handler library provides a robust and efficient way to manage custom events in JavaScript applications. It supports registering persistent (on) and one-time (once) event listeners, emitting events, and removing listeners. This library is optimized for performance and can handle a large number of listeners efficiently.

Installation

To install the Event Handler, use npm or yarn:

npm install @ocubist/event-handler
# or
yarn add @ocubist/event-handler

Usage

Basic Example

import { useEventHandler } from "@ocubist/event-handler";

const eventName = "myEvent";
const eventHandler = useEventHandler(eventName);

// Define a listener function
const listener = (data) => {
  console.log("Event data:", data);
};

// Register the listener using `on`
eventHandler.on(listener);

// Emit the event with some data
eventHandler.emit({ message: "Hello, world!" });
// Output: "Event data: { message: 'Hello, world!' }"

// Remove the listener
eventHandler.off(listener);

// Verify listener count
console.log(eventHandler.listenerCount()); // 0

Advanced Example with POST Request

import { useEventHandler } from "@ocubist/event-handler";

const eventName = "dataReceived";
const eventHandler = useEventHandler(eventName);

// Define a listener function to handle data
const dataListener = async (data) => {
  try {
    const response = await fetch("https://example.com/api/data", {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
      },
      body: JSON.stringify(data),
    });
    const result = await response.json();
    console.log("POST response:", result);
  } catch (error) {
    console.error("Error posting data:", error);
  }
};

// Register the listener using `once`
eventHandler.once(dataListener);

// Emit the event with data to be sent in the POST request
eventHandler.emit({ key: "value" });
// The listener will send a POST request to "https://example.com/api/data" with the data

API Documentation

Docs

License

The Event Handler is licensed under the MIT License. See the LICENSE file for more information.

0.2.1

1 year ago

0.2.0

1 year ago

0.2.3

11 months ago

0.2.2

11 months ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago