Neurotic Programmer Masquerade

    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

    Keywords

    Install

    npm i dead-simple-event-bus

    DownloadsWeekly Downloads

    2

    Version

    1.0.1

    License

    GPL-3.0

    Last publish

    Collaborators

    • scriptnull