File tree Expand file tree Collapse file tree 3 files changed +48
-61
lines changed Expand file tree Collapse file tree 3 files changed +48
-61
lines changed Original file line number Diff line number Diff line change 1- import * as Rx from '../../src/Rx' ;
1+ import { never } from '../../src/create' ;
2+ import { expect } from 'chai' ;
23import marbleTestingSignature = require( '../helpers/marble-testing' ) ; // tslint:disable-line:no-require-imports
34
4- declare const { asDiagram } ;
5+ declare const asDiagram : any ;
56declare const expectObservable : typeof marbleTestingSignature . expectObservable ;
67
7- const Observable = Rx . Observable ;
8-
98/** @test {never} */
10- describe ( 'Observable. never' , ( ) => {
9+ describe ( 'never' , ( ) => {
1110 asDiagram ( 'never' ) ( 'should create a cold observable that never emits' , ( ) => {
1211 const expected = '-' ;
13- const e1 = Observable . never ( ) ;
12+ const e1 = never ( ) ;
1413 expectObservable ( e1 ) . toBe ( expected ) ;
1514 } ) ;
15+
16+ it ( 'should return the same instance every time' , ( ) => {
17+ expect ( never ( ) ) . to . equal ( never ( ) ) ;
18+ } ) ;
1619} ) ;
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1- import { NeverObservable } from './NeverObservable' ;
1+ import { Observable } from '../Observable' ;
2+ import { noop } from '../util/noop' ;
23
3- export const never = NeverObservable . create ;
4+ /** @internal */
5+ export const NEVER = new Observable < never > ( noop ) ;
6+
7+ /**
8+ * Creates an Observable that emits no items to the Observer.
9+ *
10+ * <span class="informal">An Observable that never emits anything.</span>
11+ *
12+ * <img src="./img/never.png" width="100%">
13+ *
14+ * This static operator is useful for creating a simple Observable that emits
15+ * neither values nor errors nor the completion notification. It can be used
16+ * for testing purposes or for composing with other Observables. Please note
17+ * that by never emitting a complete notification, this Observable keeps the
18+ * subscription from being disposed automatically. Subscriptions need to be
19+ * manually disposed.
20+ *
21+ * @example <caption>Emit the number 7, then never emit anything else (not even complete).</caption>
22+ * function info() {
23+ * console.log('Will not be called');
24+ * }
25+ * var result = Rx.Observable.never().startWith(7);
26+ * result.subscribe(x => console.log(x), info, info);
27+ *
28+ * @see {@link create }
29+ * @see {@link empty }
30+ * @see {@link of }
31+ * @see {@link throw }
32+ *
33+ * @return {Observable } A "never" Observable: never emits anything.
34+ * @static true
35+ * @name never
36+ * @owner Observable
37+ */
38+ export function never ( ) : Observable < never > {
39+ return NEVER ;
40+ }
You can’t perform that action at this time.
0 commit comments