JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 117
  • Score
    100M100P100Q71449F
  • License MIT

Powerfull universal JavaScript event emitter for browser and server.

Package Exports

  • flak

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (flak) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

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