Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

flak

fabioricali263MIT1.0.0

Powerfull universal JavaScript event emitter for browser and server.

event, listener, emitter, on, off, trigger, once, addEvent, removeEvent, addListener, suspendEvent, resumeEvent

readme





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

changelog

Change Log

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

[1.0.0] - 2017-11-23

  • Added
    • suspendEvent
    • resumeEvent
    • suspendEvents
    • resumeEvents
    • isSuspended

[0.3.1] - 2017-11-10

  • Now Flak is UMD ready

[0.3.0] - 2017-09-05

  • Added fireTheFirst method
  • Minor improvements

[0.2.1] - 2017-08-15

  • Fixed wrong link in readme

[0.2.0] - 2017-08-11

  • Added onCatchAll, now is possible catch all events
  • Fixed bad arguments in fireAsync

[0.1.3] - 2017-08-10

  • Removed unnecessary files for npm

[0.1.2] - 2017-08-10

  • Added repository url to package
  • Fixed API documentation url

[0.1.1] - 2017-08-10

  • First release