2.0.2 • Published 2 years ago

@lomray/event-manager v2.0.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Event manager on Typescript

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

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();
      }
    });
}
2.0.2

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

1.2.2

2 years ago

1.2.0

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.2.1

2 years ago

1.0.0

3 years ago