An open API service indexing awesome lists of open source software.

https://github.com/fabioricali/flak

JavaScript event emitter for browser and server.
https://github.com/fabioricali/flak

eventemitter events javascript-event-emitter listener nodejs

Last synced: 4 months ago
JSON representation

JavaScript event emitter for browser and server.

Awesome Lists containing this project

README

          









Powerfull universal JavaScript event emitter for browser and server.







## Installation

### Node.js
```
npm install flak --save
```

## Example
```javascript
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
```html

```

#### CDN unpkg
```html

```

#### CDN jsDeliver
```html

```

## Changelog
You can view the changelog here

## License
Flak is open-sourced software licensed under the MIT license

## Author
Fabio Ricali