Skip to content

Commit 407aa9b

Browse files
committed
refactor(observables): modularize Observable statics
1 parent f5018ca commit 407aa9b

16 files changed

+69
-116
lines changed

src/Rx.KitchenSink.ts

Lines changed: 19 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -17,64 +17,26 @@ export interface KitchenSinkOperators<T> extends CoreOperators<T> {
1717
projectResult?: (x: T, y: any, ix: number, iy: number) => R) => Observable<R>;
1818
}
1919

20-
// operators
20+
// statics
2121
/* tslint:disable:no-use-before-declare */
22-
import {combineLatest as combineLatestStatic} from './operators/combineLatest-static';
23-
Observable.combineLatest = combineLatestStatic;
24-
25-
import {concat as concatStatic} from './operators/concat-static';
26-
Observable.concat = concatStatic;
27-
28-
import {merge as mergeStatic} from './operators/merge-static';
29-
Observable.merge = mergeStatic;
30-
/* tslint:enable:no-use-before-declare */
31-
32-
import {DeferObservable} from './observables/DeferObservable';
33-
Observable.defer = DeferObservable.create;
34-
35-
import {EmptyObservable} from './observables/EmptyObservable';
36-
Observable.empty = EmptyObservable.create;
37-
38-
import {ForkJoinObservable} from './observables/ForkJoinObservable';
39-
Observable.forkJoin = ForkJoinObservable.create;
40-
41-
import {FromObservable} from './observables/FromObservable';
42-
Observable.from = FromObservable.create;
43-
44-
import {ArrayObservable} from './observables/ArrayObservable';
45-
Observable.fromArray = ArrayObservable.create;
46-
47-
import {FromEventObservable} from './observables/FromEventObservable';
48-
Observable.fromEvent = FromEventObservable.create;
49-
50-
import {FromEventPatternObservable} from './observables/FromEventPatternObservable';
51-
Observable.fromEventPattern = FromEventPatternObservable.create;
52-
53-
import {PromiseObservable} from './observables/PromiseObservable';
54-
Observable.fromPromise = PromiseObservable.create;
55-
56-
import {CallbackObservable} from './observables/CallbackObservable';
57-
Observable.fromCallback = CallbackObservable.create;
58-
59-
import {IntervalObservable} from './observables/IntervalObservable';
60-
Observable.interval = IntervalObservable.create;
61-
62-
import {InfiniteObservable} from './observables/InfiniteObservable';
63-
Observable.never = InfiniteObservable.create;
64-
65-
Observable.of = ArrayObservable.of;
66-
67-
import {RangeObservable} from './observables/RangeObservable';
68-
Observable.range = RangeObservable.create;
69-
70-
import {ErrorObservable} from './observables/ErrorObservable';
71-
Observable.throw = ErrorObservable.create;
72-
73-
import {TimerObservable} from './observables/TimerObservable';
74-
Observable.timer = TimerObservable.create;
75-
76-
import {zip as zipStatic} from './operators/zip-static';
77-
Observable.zip = zipStatic;
22+
import './operators/combineLatest-static';
23+
import './operators/concat-static';
24+
import './operators/merge-static';
25+
import './observables/DeferObservable';
26+
import './observables/EmptyObservable';
27+
import './observables/ForkJoinObservable';
28+
import './observables/FromObservable';
29+
import './observables/ArrayObservable';
30+
import './observables/FromEventObservable';
31+
import './observables/FromEventPatternObservable';
32+
import './observables/PromiseObservable';
33+
import './observables/CallbackObservable';
34+
import './observables/IntervalObservable';
35+
import './observables/InfiniteObservable';
36+
import './observables/RangeObservable';
37+
import './observables/ErrorObservable';
38+
import './observables/TimerObservable';
39+
import './operators/zip-static';
7840

7941
// Operators
8042
import './operators/buffer';

src/Rx.ts

Lines changed: 19 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,25 @@
11
import {Observable} from './Observable';
22

3-
// operators
3+
// statics
44
/* tslint:disable:no-use-before-declare */
5-
import {combineLatest as combineLatestStatic} from './operators/combineLatest-static';
6-
Observable.combineLatest = combineLatestStatic;
7-
8-
import {concat as concatStatic} from './operators/concat-static';
9-
Observable.concat = concatStatic;
10-
11-
import {merge as mergeStatic} from './operators/merge-static';
12-
Observable.merge = mergeStatic;
13-
/* tslint:enable:no-use-before-declare */
14-
15-
import {DeferObservable} from './observables/DeferObservable';
16-
Observable.defer = DeferObservable.create;
17-
18-
import {EmptyObservable} from './observables/EmptyObservable';
19-
Observable.empty = EmptyObservable.create;
20-
21-
import {ForkJoinObservable} from './observables/ForkJoinObservable';
22-
Observable.forkJoin = ForkJoinObservable.create;
23-
24-
import {FromObservable} from './observables/FromObservable';
25-
Observable.from = FromObservable.create;
26-
27-
import {ArrayObservable} from './observables/ArrayObservable';
28-
Observable.fromArray = ArrayObservable.create;
29-
30-
import {FromEventObservable} from './observables/FromEventObservable';
31-
Observable.fromEvent = FromEventObservable.create;
32-
33-
import {FromEventPatternObservable} from './observables/FromEventPatternObservable';
34-
Observable.fromEventPattern = FromEventPatternObservable.create;
35-
36-
import {PromiseObservable} from './observables/PromiseObservable';
37-
Observable.fromPromise = PromiseObservable.create;
38-
39-
import {CallbackObservable} from './observables/CallbackObservable';
40-
Observable.fromCallback = CallbackObservable.create;
41-
42-
import {IntervalObservable} from './observables/IntervalObservable';
43-
Observable.interval = IntervalObservable.create;
44-
45-
import {InfiniteObservable} from './observables/InfiniteObservable';
46-
Observable.never = InfiniteObservable.create;
47-
48-
Observable.of = ArrayObservable.of;
49-
50-
import {RangeObservable} from './observables/RangeObservable';
51-
Observable.range = RangeObservable.create;
52-
53-
import {ErrorObservable} from './observables/ErrorObservable';
54-
Observable.throw = ErrorObservable.create;
55-
56-
import {TimerObservable} from './observables/TimerObservable';
57-
Observable.timer = TimerObservable.create;
58-
59-
import {zip as zipStatic} from './operators/zip-static';
60-
Observable.zip = zipStatic;
5+
import './operators/combineLatest-static';
6+
import './operators/concat-static';
7+
import './operators/merge-static';
8+
import './observables/DeferObservable';
9+
import './observables/EmptyObservable';
10+
import './observables/ForkJoinObservable';
11+
import './observables/FromObservable';
12+
import './observables/ArrayObservable';
13+
import './observables/FromEventObservable';
14+
import './observables/FromEventPatternObservable';
15+
import './observables/PromiseObservable';
16+
import './observables/CallbackObservable';
17+
import './observables/IntervalObservable';
18+
import './observables/InfiniteObservable';
19+
import './observables/RangeObservable';
20+
import './observables/ErrorObservable';
21+
import './observables/TimerObservable';
22+
import './operators/zip-static';
6123

6224
//operators
6325
import './operators/buffer';

src/observables/ArrayObservable.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,3 +78,6 @@ export class ArrayObservable<T> extends Observable<T> {
7878
}
7979
}
8080
}
81+
82+
Observable.fromArray = ArrayObservable.create;
83+
Observable.of = ArrayObservable.of;

src/observables/CallbackObservable.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,3 +108,5 @@ function dispatchNext({ value, subscriber }) {
108108
function dispatchError({ err, subscriber }) {
109109
subscriber.error(err);
110110
}
111+
112+
Observable.fromCallback = CallbackObservable.create;

src/observables/DeferObservable.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,5 @@ export class DeferObservable<T> extends Observable<T> {
2222
}
2323
}
2424
}
25+
26+
Observable.defer = DeferObservable.create;

src/observables/EmptyObservable.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,5 @@ export class EmptyObservable<T> extends Observable<T> {
2626
}
2727
}
2828
}
29+
30+
Observable.empty = EmptyObservable.create;

src/observables/ErrorObservable.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,5 @@ export class ErrorObservable<T> extends Observable<T> {
2929
}
3030
}
3131
}
32+
33+
Observable.throw = ErrorObservable.create;

src/observables/ForkJoinObservable.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,3 +101,5 @@ function emptyArray(len: number): any[] {
101101
}
102102
return arr;
103103
}
104+
105+
Observable.forkJoin = ForkJoinObservable.create;

src/observables/FromEventObservable.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,6 @@ export class FromEventObservable<T, R> extends Observable<T> {
5050

5151
FromEventObservable.setupSubscription(sourceObj, eventName, handler, subscriber);
5252
}
53-
}
53+
}
54+
55+
Observable.fromEvent = FromEventObservable.create;

src/observables/FromEventPatternObservable.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,3 +41,5 @@ export class FromEventPatternObservable<T, R> extends Observable<T> {
4141
}));
4242
}
4343
}
44+
45+
Observable.fromEventPattern = FromEventPatternObservable.create;

src/observables/FromObservable.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,6 @@ export class FromObservable<T> extends Observable<T> {
4545
return ish[$$observable]().subscribe(new ObserveOnSubscriber(subscriber, scheduler, 0));
4646
}
4747
}
48-
}
48+
}
49+
50+
Observable.from = FromObservable.create;

src/observables/InfiniteObservable.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,5 @@ export class InfiniteObservable<T> extends Observable<T> {
1515
noop();
1616
}
1717
}
18+
19+
Observable.never = InfiniteObservable.create;

src/observables/IntervalObservable.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,3 +43,5 @@ export class IntervalObservable<T> extends Observable<T> {
4343
}));
4444
}
4545
}
46+
47+
Observable.interval = IntervalObservable.create;

src/observables/PromiseObservable.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,5 @@ function dispatchNext({ value, subscriber }) {
6666
function dispatchError({ err, subscriber }) {
6767
subscriber.error(err);
6868
}
69+
70+
Observable.fromPromise = PromiseObservable.create;

src/observables/RangeObservable.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,3 +64,5 @@ export class RangeObservable<T> extends Observable<T> {
6464
}
6565
}
6666
}
67+
68+
Observable.range = RangeObservable.create;

src/observables/TimerObservable.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,5 @@ export class TimerObservable<T> extends Observable<T> {
6767
subscriber.add(scheduler.schedule(TimerObservable.dispatch, dueTime, { index, period, subscriber }));
6868
}
6969
}
70+
71+
Observable.timer = TimerObservable.create;

0 commit comments

Comments
 (0)