Package Exports
- lil-event
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 (lil-event) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
lil'-event

Tiny event bus inspired in Node's EventEmitter
| Name | event |
| Version | 0.1.3 |
| Size | 2 KB / >1 KB (gzipped) |
| Environment | Node, Browser |
Installation
Node.js
npm install lil-eventBrowser
Via Bower
bower install lil-eventVia Component
component install lil-js/eventOr loading the script remotely
<script src="//cdn.rawgit.com/lil-js/event/0.1.3/event.js"></script>Environments
- Node.js
- Chrome >= 5
- Firefox >= 3
- Safari >= 5
- Opera >= 10
- IE >= 9
Usage
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')Basic emitter API
function connectDB() {
var bus = new lil.Event()
db.connect(uri)
.on('error', function (err) {
bus.emit('error', err)
})
.on('success', function () {
bus.emit('start', db)
})
return bus
}Events subscription
connectDB()
.on('error', onErrorHandler)
.on('start', onStartHandler)Prototype inheritance
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)
}Events subscription
var human = new Human()
human.on('walk', function (distance) {
// ...
})
human.on('sleep', function (time) {
// ...
})API
Event()
Create a new Event bus
Event#on(event, fn)
Alias: addListener Return: this
Subscribe to an specific event
Event#once(event, fn)
Alias: addOnceListener Return: this
Subcribe to an specific event for a once time. After event is emitted, the handler will be flushed from the listeners pool
Event#off(event, fn)
Alias: addListener Return: this
Unsubscribe an event listener by name and function
Event#emit(event, [ arguments... ])
Alias: fire Return: this
Fire an event on the current bus
Event#offAll(event)
Alias: removeAllListeners Return: this
Remove all listeners for the given event name
Event.VERSION
Contributing
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
Development
Only node.js is required for development
Clone the repository
$ git clone https://github.com/lil-js/event.git && cd eventInstall dependencies
$ npm installGenerate browser bundle source
$ make browserRun tests
$ make testLicense
MIT © Tomas Aparicio