lil'-event
![Gitter chat](https://camo.githubusercontent.com/780e27c0eef0062b67d0e312109ccef8cf5dcb0eed283b162cc08928cc7a5adb/68747470733a2f2f6261646765732e6769747465722e696d2f6c696c2d6a732f616c6c2e706e67)
Tiny event bus inspired in Node's EventEmitter
Name | event |
Version | 0.1.3 |
Size | 2 KB / >1 KB (gzipped) |
Environment | Node, Browser |
npm install lil-event
Via Bower
bower install lil-event
Via Component
component install lil-js/event
Or loading the script remotely
<script src="//cdn.rawgit.com/lil-js/event/0.1.3/event.js"></script>
- Node.js
- Chrome >= 5
- Firefox >= 3
- Safari >= 5
- Opera >= 10
- IE >= 9
You could fetch de module via require()
if it's available.
Otherwise, global fallback will be used, exposed via lil.Event
var lil = require('lil-event')
function connectDB() {
var bus = new lil.Event() // or Object.create(lil.Event.prototype)
db.connect(uri)
.on('error', function (err) {
bus.emit('error', err)
})
.on('success', function () {
bus.emit('start', db)
})
return bus
}
connectDB()
.on('error', onErrorHandler)
.on('start', onStartHandler)
function Human() {}
Human.prototype = Object.create(lil.Event.prototype)
Human.prototype.walk = function (distance) {
this.emit('walk', distance)
}
Human.prototype.sleep = function (time) {
this.emit('walk', time)
}
var human = new Human()
human.on('walk', function (distance) {
// ...
})
human.on('sleep', function (time) {
// ...
})
Create a new Event bus
Alias: addListener
Return: this
Subscribe to an specific event
Alias: addOnceListener
Return: this
Subscribe to a specific event for a once time. After its emitted, the function handler will be removed from the listeners pool
Alias: addListener
Return: this
Unsubscribe an event listener by name and its handler function
Alias: fire
Return: this
Fire an event on the current bus
Alias: removeAllListeners
Return: this
Remove all listeners for the given event name
Wanna help? Cool! It will be appreciated :)
You must add new test cases for any new feature or refactor you do, always following the same design/code patterns that already exist
Only node.js is required for development
Clone the repository
$ git clone https://github.com/lil-js/event.git && cd event
Install dependencies
$ npm install
Generate browser bundle source
$ make browser
Run tests
$ make test
MIT © Tomas Aparicio