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
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