dead-simple-event-bus

1.0.1 • Public • Published

Dead simple event bus that can be used in Browsers and Node.js

Installation

Available via npm

npm install dead-simple-event-bus 

Public API

It as 3 methods.

  • add()
  • remove()
  • trigger()

API can be used in 3 ways , namely

  • Single event
  • Multiple events with args style
  • Multiple events with array style

Browser Setup

<script type="text/javascript" src="node_modules/dead-simple-event-bus/cli.js"></script>
<script type="text/javascript">
var ebSingle = new window.EventBus();
var ebArgsStyle = new window.EventBus();
var ebArrayStyle = new window.EventBus();
</script> 

node module

var EventBus = require('dead-simple-event-bus').EventBus;
var ebSingle = new EventBus();
var ebArgsStyle = new EventBus();
var ebArrayStyle = new EventBus();

Single event

//event Bus with single event 
ebSingle.add('a' , function(a , b ){ console.log(+ ' ' + b ); });
ebSingle.trigger('a' , [ 1 , 2 ]);
ebSingle.remove('a' , function(a , b ){ console.log(+ ' ' + b ); } );

Multiple events with args style

ebArgsStyle.add('a' , function(a , b ){ console.log(+ ' ' + b ); } , function(a , b ){ console.log( b + ' ' + a  ); });
ebArgsStyle.trigger('a' , [ 1 , 2 ]);
ebArgsStyle.remove('a' , function(a , b ){ console.log(+ ' ' + b ); } , function(a , b ){ console.log( b + ' ' + a  ); });

Multiple events with array style

ebArrayStyle.add('a' ,[ function(a , b ){ console.log(+ ' ' + b ); } , function(a , b ){ console.log( b + ' ' + a  ); } ] );
ebArrayStyle.trigger('a' , [ 1 , 2 ]);
ebArrayStyle.remove('a' , [ function(a , b ){ console.log(+ ' ' + b ); } , function(a , b ){ console.log( b + ' ' + a  ); }]);

Duplicate functions

dead-simple-event-bus optimizes the event bus by not allowing more than one copy of function to be added.

ebSingle.add('a' , function(a , b ){ console.log(+ ' ' + b ); }); // assigns event 
ebSingle.add('a' , function(a , b ){ console.log(+ ' ' + b ); }); // avoids assigning and prints message

By default , duplicate functions print a message to console and doesn't get addedup again on the event bus. If you want to handle this manually , you could dig a bit into the source and insert a callback.

Contribution

More than welcomed !

License

Readme

Keywords

Package Sidebar

Install

npm i dead-simple-event-bus

Weekly Downloads

2

Version

1.0.1

License

GPL-3.0

Last publish

Collaborators

  • scriptnull