1.2.2 ā€¢ Published 7 months ago

events-constructor v1.2.2

Weekly downloads
5
License
MIT
Repository
github
Last release
7 months ago

events-constructor

npm npm bundle size

Class for emitting events

Install

npm

npm install events-constructor

yarn

yarn add events-constructor

Usage

import Events from 'events-constructor';

const eventNames = ['event1', 'event2'];
const events = new Events(initEventNames);

events.on('event1', data => {
  console.log('event1 is called with data:', data);
});

events.trigger('event1', 'some data');

API

events.on

Add listener to event

events.on('event1', data => {
  console.log('event1 is called with data:', data);
});

events.once

Add a listener that will be called only once per event

events.once('event1', data => {
  console.log('event1 is called with data:', data);
});

events.off

Remove listener from event

events.off('event1', data => {
  console.log('event1 is called with data:', data);
});

events.trigger

Trigger event with data

events.trigger('event1', 'some data');

events.removeEventHandlers

Remove all listeners

events.removeEventHandlers();

events.triggers

Get all triggers

events.triggers;

events.deactivate()

Disable event handlers. The trigger method will not produce any effect.

events.on('event1', data => {
  console.log('event1 is called with data:', data); //it's not called
});

events.deactivate();
events.trigger('event1', 'some data');

events.activate()

Enable event handlers.

events.on('event1', data => {
  console.log('event1 is called with data:', data);
});

events.deactivate();
events.trigger('event1', 'some data'); // no effect

events.activate();
events.trigger('event1', 'some data'); // handler is called

events.eachTriggers()

Method for delegate triggers to otherEventsSource(for example)

events.eachTriggers((trigger, eventName) => otherEventsSource.on(eventName, trigger));

Run tests

npm test

Maintainer

šŸ‘¤ Krivega Dmitriy

Contributing

Contributions, issues and feature requests are welcome!Feel free to check issues page. You can also take a look at the contributing guide.

šŸ“ License

Copyright Ā© 2020 Krivega Dmitriy. This project is MIT licensed.

1.2.2

7 months ago

1.2.0

2 years ago

1.1.4

2 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.0.4

4 years ago

1.0.2

4 years ago

1.0.3

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago