89 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# tiny-emitter
 | 
						|
 | 
						|
A tiny (less than 1k) event emitter library.
 | 
						|
 | 
						|
## Install
 | 
						|
 | 
						|
### npm
 | 
						|
 | 
						|
```
 | 
						|
npm install tiny-emitter --save
 | 
						|
```
 | 
						|
 | 
						|
## Usage
 | 
						|
 | 
						|
```js
 | 
						|
var Emitter = require('tiny-emitter');
 | 
						|
var emitter = new Emitter();
 | 
						|
 | 
						|
emitter.on('some-event', function (arg1, arg2, arg3) {
 | 
						|
 //
 | 
						|
});
 | 
						|
 | 
						|
emitter.emit('some-event', 'arg1 value', 'arg2 value', 'arg3 value');
 | 
						|
```
 | 
						|
 | 
						|
Alternatively, you can skip the initialization step by requiring `tiny-emitter/instance` instead. This pulls in an already initialized emitter.
 | 
						|
 | 
						|
```js
 | 
						|
var emitter = require('tiny-emitter/instance');
 | 
						|
 | 
						|
emitter.on('some-event', function (arg1, arg2, arg3) {
 | 
						|
 //
 | 
						|
});
 | 
						|
 | 
						|
emitter.emit('some-event', 'arg1 value', 'arg2 value', 'arg3 value');
 | 
						|
```
 | 
						|
 | 
						|
## Instance Methods
 | 
						|
 | 
						|
### on(event, callback[, context])
 | 
						|
 | 
						|
Subscribe to an event
 | 
						|
 | 
						|
* `event` - the name of the event to subscribe to
 | 
						|
* `callback` - the function to call when event is emitted
 | 
						|
* `context` - (OPTIONAL) - the context to bind the event callback to
 | 
						|
 | 
						|
### once(event, callback[, context])
 | 
						|
 | 
						|
Subscribe to an event only **once**
 | 
						|
 | 
						|
* `event` - the name of the event to subscribe to
 | 
						|
* `callback` - the function to call when event is emitted
 | 
						|
* `context` - (OPTIONAL) - the context to bind the event callback to
 | 
						|
 | 
						|
### off(event[, callback])
 | 
						|
 | 
						|
Unsubscribe from an event or all events. If no callback is provided, it unsubscribes you from all events.
 | 
						|
 | 
						|
* `event` - the name of the event to unsubscribe from
 | 
						|
* `callback` - the function used when binding to the event
 | 
						|
 | 
						|
### emit(event[, arguments...])
 | 
						|
 | 
						|
Trigger a named event
 | 
						|
 | 
						|
* `event` - the event name to emit
 | 
						|
* `arguments...` - any number of arguments to pass to the event subscribers
 | 
						|
 | 
						|
## Test and Build
 | 
						|
 | 
						|
Build (Tests, Browserifies, and minifies)
 | 
						|
 | 
						|
```
 | 
						|
npm install
 | 
						|
npm run build
 | 
						|
```
 | 
						|
 | 
						|
Test
 | 
						|
 | 
						|
```
 | 
						|
npm install
 | 
						|
npm test
 | 
						|
```
 | 
						|
 | 
						|
## License
 | 
						|
 | 
						|
[MIT](https://github.com/scottcorgan/tiny-emitter/blob/master/LICENSE)
 |