Ninjas Practicing Multidimensionality
Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

flak

1.0.0 • Public • Published




Powerfull universal JavaScript event emitter for browser and server.

Installation

Node.js

npm install flak --save

Example

const Flak = require('flak');
const emitter = new Flak();
 
// Adds listener for the event
emitter.on('myEvent1', (param1, param2)=>{
    console.log(param1, param2);
});
 
// Adds a one time listener function for the event 
emitter.once('myEvent2', (param1, param2)=>{
    console.log(param1, param2);
});
 
// Adds listener for the event that can be call just 4 time
emitter.on('myEvent3', (param1, param2)=>{
    console.log(param1, param2);
}, {
    maxCalls: 4
});
 
// Adds the listener function to the beginning of the listeners array for the event named myEvent1
emitter.on('myEvent1', (param1, param2)=>{
    console.log(param1, param2);
}, {
    prepend: true
});
 
// Catch all events
emitter.onCatchAll(params=>{
    console.log(params);
});
 
// Fire event
emitter.fire('myEvent1', true, {a: 1});
 
// Fire async method
emitter.fireAsync('myEvent2', true, {a: 1});
 
// Remove all listeners for myEvent1
emitter.off('myEvent1');
 
// Returning data using "fireTheFirst"
emitter.on('myEvent', (param1, param2)=>{
    return param1 + '-' + param2;
});
console.log('foo-bar' === emitter.fireTheFirst('myEvent', 'foo', 'bar')) //=> true;
 
// Suspend event
emitter.suspendEvent('myEvent');
emitter.fire('myEvent'); // will not be fired!
 
// Resume event
emitter.resumeEvent('myEvent');

API Documentation

See full documentation here

Browser

Local

<script src="node_modules/flak/dist/flak.min.js"></script>

CDN unpkg

<script src="https://unpkg.com/flak/dist/flak.min.js"></script>

CDN jsDeliver

<script src="https://cdn.jsdelivr.net/npm/flak/dist/flak.min.js"></script>

Changelog

You can view the changelog here

License

Flak is open-sourced software licensed under the MIT license

Author

Fabio Ricali

Install

npm i flak

DownloadsWeekly Downloads

180

Version

1.0.0

License

MIT

Last publish

Collaborators

  • avatar