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.
		
		
		
		
			
				
					62 lines
				
				1.8 KiB
			
		
		
			
		
	
	
					62 lines
				
				1.8 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								# any-observable [](https://travis-ci.org/sindresorhus/any-observable)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								> Support any [Observable](https://github.com/zenparsing/es-observable) library and polyfill
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Like [`any-promise`](https://github.com/kevinbeaty/any-promise). *(Docs are lacking here, so refer to those docs for now)*
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Install
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								$ npm install any-observable
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								You must also install the Observable library you want:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								$ npm install zen-observable
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Usage
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								const Observable = require('any-observable'); // Using `zen-observable` since it's installed
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Observable.of(1, 2).forEach(x => console.log(x));
							 | 
						||
| 
								 | 
							
								//=> 1
							 | 
						||
| 
								 | 
							
								//=> 2
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Registration Shortcuts
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								This adds the following shortcut registrations:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								- `rxjs-min`: Bare bones [RxJs](https://github.com/ReactiveX/rxjs) Observable implementation. See the [RxJs Installation Instructions](http://reactivex.io/rxjs/manual/installation.html) for details on patching additional methods into that implementation.
							 | 
						||
| 
								 | 
							
								- `rxjs`: Same as `rxjs-min`, but adds the somewhat standard `Observable.of` and `Observable.from`.
							 | 
						||
| 
								 | 
							
								- `rxjs-all`: The kitchen sink approach to Observables.
							 | 
						||
| 
								 | 
							
								- `zen`: The [`zen-observable`](https://github.com/zenparsing/zen-observable) implementation.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								Shortcut registration can be done as follows:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```js
							 | 
						||
| 
								 | 
							
								import 'any-observable/register/zen';
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								It's especially handy for more recent versions of Node.js (and many test runners), that offer a `--require` flag:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								$ ava --require=any-observable/register/zen test.js
							 | 
						||
| 
								 | 
							
								```
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## Related
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								- [is-observable](https://github.com/sindresorhus/is-observable) - Check if a value is an Observable
							 | 
						||
| 
								 | 
							
								- [observable-to-promise](https://github.com/sindresorhus/observable-to-promise) - Convert an Observable to a Promise
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## License
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								MIT © [Sindre Sorhus](https://sindresorhus.com)
							 |