75 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			75 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|  | # 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 |