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.
		
		
		
		
		
			
		
			
				
					119 lines
				
				3.2 KiB
			
		
		
			
		
	
	
					119 lines
				
				3.2 KiB
			| 
								 
											3 years ago
										 
									 | 
							
								# 3.3.0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								 - Support EventTarget emitters in `events.once` from Node.js 12.11.0.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   Now you can use the `events.once` function with objects that implement the EventTarget interface. This interface is used widely in
							 | 
						||
| 
								 | 
							
								   the DOM and other web APIs.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   ```js
							 | 
						||
| 
								 | 
							
								   var events = require('events');
							 | 
						||
| 
								 | 
							
								   var assert = require('assert');
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   async function connect() {
							 | 
						||
| 
								 | 
							
								     var ws = new WebSocket('wss://example.com');
							 | 
						||
| 
								 | 
							
								     await events.once(ws, 'open');
							 | 
						||
| 
								 | 
							
								     assert(ws.readyState === WebSocket.OPEN);
							 | 
						||
| 
								 | 
							
								   }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   async function onClick() {
							 | 
						||
| 
								 | 
							
								     await events.once(document.body, 'click');
							 | 
						||
| 
								 | 
							
								     alert('you clicked the page!');
							 | 
						||
| 
								 | 
							
								   }
							 | 
						||
| 
								 | 
							
								   ```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# 3.2.0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								 - Add `events.once` from Node.js 11.13.0.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								   To use this function, Promises must be supported in the environment. Use a polyfill like `es6-promise` if you support older browsers.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# 3.1.0 (2020-01-08)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								`events` now matches the Node.js 11.12.0 API.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  - pass through return value in wrapped `emitter.once()` listeners
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    Now, this works:
							 | 
						||
| 
								 | 
							
								    ```js
							 | 
						||
| 
								 | 
							
								    emitter.once('myevent', function () { return 1; });
							 | 
						||
| 
								 | 
							
								    var listener = emitter.rawListeners('myevent')[0]
							 | 
						||
| 
								 | 
							
								    assert(listener() === 1);
							 | 
						||
| 
								 | 
							
								    ```
							 | 
						||
| 
								 | 
							
								    Previously, `listener()` would return undefined regardless of the implementation.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    Ported from https://github.com/nodejs/node/commit/acc506c2d2771dab8d7bba6d3452bc5180dff7cf
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  - Reduce code duplication in listener type check ([#67](https://github.com/Gozala/events/pull/67) by [@friederbluemle](https://github.com/friederbluemle)).
							 | 
						||
| 
								 | 
							
								  - Improve `emitter.once()` performance in some engines
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# 3.0.0 (2018-05-25)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								**This version drops support for IE8.** `events` no longer includes polyfills
							 | 
						||
| 
								 | 
							
								for ES5 features. If you need to support older environments, use an ES5 shim
							 | 
						||
| 
								 | 
							
								like [es5-shim](https://npmjs.com/package/es5-shim). Both the shim and sham
							 | 
						||
| 
								 | 
							
								versions of es5-shim are necessary.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  - Update to events code from Node.js 10.x
							 | 
						||
| 
								 | 
							
								    - (semver major) Adds `off()` method
							 | 
						||
| 
								 | 
							
								  - Port more tests from Node.js
							 | 
						||
| 
								 | 
							
								  - Switch browser tests to airtap, making things more reliable
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# 2.1.0 (2018-05-25)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  - add Emitter#rawListeners from Node.js v9.4
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# 2.0.0 (2018-02-02)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  - Update to events code from node.js 8.x
							 | 
						||
| 
								 | 
							
								    - Adds `prependListener()` and `prependOnceListener()`
							 | 
						||
| 
								 | 
							
								    - Adds `eventNames()` method
							 | 
						||
| 
								 | 
							
								    - (semver major) Unwrap `once()` listeners in `listeners()`
							 | 
						||
| 
								 | 
							
								  - copy tests from node.js
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Note that this version doubles the gzipped size, jumping from 1.1KB to 2.1KB,
							 | 
						||
| 
								 | 
							
								due to new methods and runtime performance improvements. Be aware of that when
							 | 
						||
| 
								 | 
							
								upgrading.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# 1.1.1 (2016-06-22)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  - add more context to errors if they are not instanceof Error
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# 1.1.0 (2015-09-29)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  - add Emitter#listerCount (to match node v4 api)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# 1.0.2 (2014-08-28)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  - remove un-reachable code
							 | 
						||
| 
								 | 
							
								  - update devDeps
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## 1.0.1 / 2014-05-11
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  - check for console.trace before using it
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## 1.0.0 / 2013-12-10
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  - Update to latest events code from node.js 0.10
							 | 
						||
| 
								 | 
							
								  - copy tests from node.js
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## 0.4.0 / 2011-07-03 ##
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  - Switching to graphquire@0.8.0
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## 0.3.0 / 2011-07-03 ##
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  - Switching to URL based module require.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## 0.2.0 / 2011-06-10 ##
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  - Simplified package structure.
							 | 
						||
| 
								 | 
							
								  - Graphquire for dependency management.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## 0.1.1 / 2011-05-16 ##
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  - Unhandled errors are logged via console.error
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## 0.1.0 / 2011-04-22 ##
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  - Initial release
							 |