import { Observable } from '../Observable';
|
import { noop } from '../util/noop';
|
|
/**
|
* An Observable that emits no items to the Observer and never completes.
|
*
|
* 
|
*
|
* A simple Observable that emits neither values nor errors nor the completion
|
* notification. It can be used for testing purposes or for composing with other
|
* Observables. Please note that by never emitting a complete notification, this
|
* Observable keeps the subscription from being disposed automatically.
|
* Subscriptions need to be manually disposed.
|
*
|
* ## Example
|
*
|
* Emit the number 7, then never emit anything else (not even complete)
|
*
|
* ```ts
|
* import { NEVER, startWith } from 'rxjs';
|
*
|
* const info = () => console.log('Will not be called');
|
*
|
* const result = NEVER.pipe(startWith(7));
|
* result.subscribe({
|
* next: x => console.log(x),
|
* error: info,
|
* complete: info
|
* });
|
* ```
|
*
|
* @see {@link Observable}
|
* @see {@link EMPTY}
|
* @see {@link of}
|
* @see {@link throwError}
|
*/
|
export const NEVER = new Observable<never>(noop);
|
|
/**
|
* @deprecated Replaced with the {@link NEVER} constant. Will be removed in v8.
|
*/
|
export function never() {
|
return NEVER;
|
}
|