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

2.0.2 • Public • Published

Event manager on Typescript

This package provides simple event manager on typescript for any JS/TS project (React/React Native/NodeJS).

reliability Security Rating Maintainability Rating Vulnerabilities Bugs Lines of Code size size semantic version

Usage

  1. Install package:
  npm i --save @lomray/event-manager
  1. Add subscribers and emitters:
import EventManager from '@lomray/event-manager';

interface IDemoChannelData {
    prop1: string;
    prop2: number;
}

enum Channel {
    demo = 'demo'
}

// Listen event on channel (don't forget call unsubscribe for remove litener)
const unsubscribe = EventManager.subscribe<IDemoChannelData>(Channel.demo, (data) => {
    console.log(data);
});

// Publish some data to channel
setInterval(() => {
  EventManager.publish<IDemoChannelData>(Channel.demo, { prop1: 'hi', prop2: 1 });
}, 5000);

Working example for react:

const DemoComponent = () => {
    useEffect(() => {
      const unsubscribe = EventManager.subscribe<IDemoChannelData>(Channel.demo, (data) => {
        console.log(data);
      });
      
      return () => {
        unsubscribe();
      }
    });
}

Package Sidebar

Install

npm i @lomray/event-manager

Weekly Downloads

379

Version

2.0.2

License

MIT

Unpacked Size

6.5 kB

Total Files

4

Last publish

Collaborators

  • matthew_patell
  • danial031193