You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					89 lines
				
				1.8 KiB
			
		
		
			
		
	
	
					89 lines
				
				1.8 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								# 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)
							 |