@omer-x/event-manager
TypeScript icon, indicating that this package has built-in type declarations

2.1.2 • Public • Published

Event Manager

EventManager is a simple TypeScript class that provides event management capabilities. It allows you to easily handle and manage events within your JavaScript or TypeScript applications.

Table of Contents

Installation

You can install EventManager via npm or yarn:

npm install @omermecitoglu/event-manager

or

yarn add @omermecitoglu/event-manager

Usage

To use the EventManager class in your project, first import it:

import EventManager from '@omermecitoglu/event-manager';

Then, create an instance of EventManager:

const eventManager = new EventManager();

You can also provide a custom logger function when creating an instance:

const customLogger = (...data) => {
  // Your custom logging logic here
};
const eventManager = new EventManager(customLogger);

Now, you can start using the EventManager to manage your events.

Example

// Subscribe to an event
function eventHandler() {
  console.log('Event triggered!');
}

eventManager.on('myEvent', eventHandler);

// Trigger the event
eventManager.trigger('myEvent');

// Unsubscribe from the event
eventManager.off('myEvent', eventHandler);

API Reference

EventManager(logger?: (...data: unknown[]) => void)

The constructor for the EventManager class. You can optionally provide a custom logger function.

getListeners(event: string)

Get an array of listeners for a specific event.

  • event (string): The name of the event.

on(event: string, fn: () => void)

Subscribe to an event.

  • event (string): The name of the event.
  • fn (function): The event handler function.

off(event: string, fn: () => void)

Unsubscribe from an event.

  • event (string): The name of the event.
  • fn (function): The event handler function to remove.

trigger(event: string, ...args: unknown[])

Trigger an event, invoking all registered event handlers.

  • event (string): The name of the event.
  • ...args (unknown[]): Any additional arguments to pass to the event handlers.

Contributing

Contributions to this project are welcome! If you have suggestions, bug reports, or would like to contribute code, please visit the GitHub repository.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Readme

Keywords

Package Sidebar

Install

npm i @omer-x/event-manager

Weekly Downloads

2

Version

2.1.2

License

MIT

Unpacked Size

42.1 kB

Total Files

11

Last publish

Collaborators

  • omer-x