File: /var/www/tana/frontend/node_modules/component-emitter/Readme.md
# Emitter [](https://travis-ci.org/component/emitter)
  Event emitter component.
## Installation
```
$ component install component/emitter
```
## API
### Emitter(obj)
  The `Emitter` may also be used as a mixin. For example
  a "plain" object may become an emitter, or you may
  extend an existing prototype.
  As an `Emitter` instance:
```js
var Emitter = require('emitter');
var emitter = new Emitter;
emitter.emit('something');
```
  As a mixin:
```js
var Emitter = require('emitter');
var user = { name: 'tobi' };
Emitter(user);
user.emit('im a user');
```
  As a prototype mixin:
```js
var Emitter = require('emitter');
Emitter(User.prototype);
```
### Emitter#on(event, fn)
  Register an `event` handler `fn`.
### Emitter#once(event, fn)
  Register a single-shot `event` handler `fn`,
  removed immediately after it is invoked the
  first time.
### Emitter#off(event, fn)
  * Pass `event` and `fn` to remove a listener.
  * Pass `event` to remove all listeners on that event.
  * Pass nothing to remove all listeners on all events.
### Emitter#emit(event, ...)
  Emit an `event` with variable option args.
### Emitter#listeners(event)
  Return an array of callbacks, or an empty array.
### Emitter#hasListeners(event)
  Check if this emitter has `event` handlers.
## License
MIT