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' ;
2
3
import marbleTestingSignature = require( '../helpers/marble-testing' ) ; // tslint:disable-line:no-require-imports
3
4
4
- declare const { asDiagram } ;
5
+ declare const asDiagram : any ;
5
6
declare const expectObservable : typeof marbleTestingSignature . expectObservable ;
6
7
7
- const Observable = Rx . Observable ;
8
-
9
8
/** @test {never} */
10
- describe ( 'Observable. never' , ( ) => {
9
+ describe ( 'never' , ( ) => {
11
10
asDiagram ( 'never' ) ( 'should create a cold observable that never emits' , ( ) => {
12
11
const expected = '-' ;
13
- const e1 = Observable . never ( ) ;
12
+ const e1 = never ( ) ;
14
13
expectObservable ( e1 ) . toBe ( expected ) ;
15
14
} ) ;
15
+
16
+ it ( 'should return the same instance every time' , ( ) => {
17
+ expect ( never ( ) ) . to . equal ( never ( ) ) ;
18
+ } ) ;
16
19
} ) ;
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' ;
2
3
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