Skip to content

Commit a979cdf

Browse files
refactor(patches): move static observable stubs from Observable.ts to patch files
1 parent d99289f commit a979cdf

25 files changed

+164
-74
lines changed

src/Observable.ts

+1-44
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,7 @@ import {toSubscriber} from './util/toSubscriber';
88
import {tryCatch} from './util/tryCatch';
99
import {errorObject} from './util/errorObject';
1010

11-
import {combineLatestStatic} from './operator/combineLatest';
12-
import {concatStatic} from './operator/concat';
13-
import {mergeStatic} from './operator/merge';
14-
import {zipStatic} from './operator/zip';
15-
import {BoundCallbackObservable} from './observable/BoundCallbackObservable';
16-
import {BoundNodeCallbackObservable} from './observable/BoundNodeCallbackObservable';
17-
import {DeferObservable} from './observable/DeferObservable';
18-
import {EmptyObservable} from './observable/EmptyObservable';
19-
import {ForkJoinObservable} from './observable/ForkJoinObservable';
20-
import {FromObservable} from './observable/FromObservable';
21-
import {ArrayObservable} from './observable/ArrayObservable';
22-
import {FromEventObservable} from './observable/FromEventObservable';
23-
import {FromEventPatternObservable} from './observable/FromEventPatternObservable';
24-
import {PromiseObservable} from './observable/PromiseObservable';
25-
import {IntervalObservable} from './observable/IntervalObservable';
26-
import {TimerObservable} from './observable/TimerObservable';
27-
import {raceStatic} from './operator/race';
28-
import {RangeObservable} from './observable/RangeObservable';
29-
import {NeverObservable} from './observable/NeverObservable';
3011
import {ErrorObservable} from './observable/ErrorObservable';
31-
import {AjaxCreationMethod} from './observable/dom/AjaxObservable';
32-
import {WebSocketSubject} from './observable/dom/WebSocketSubject';
3312

3413
export type ObservableOrPromise<T> = Observable<T> | Promise<T>;
3514
export type ArrayOrIterator<T> = Iterator<T> | ArrayLike<T>;
@@ -159,30 +138,8 @@ export class Observable<T> {
159138
return this.source.subscribe(subscriber);
160139
}
161140

162-
// static method stubs
163-
static ajax: AjaxCreationMethod;
164-
static bindCallback: typeof BoundCallbackObservable.create;
165-
static bindNodeCallback: typeof BoundNodeCallbackObservable.create;
166-
static combineLatest: typeof combineLatestStatic;
167-
static concat: typeof concatStatic;
168-
static defer: typeof DeferObservable.create;
169-
static empty: typeof EmptyObservable.create;
170-
static forkJoin: typeof ForkJoinObservable.create;
171-
static from: typeof FromObservable.create;
172-
static fromArray: typeof ArrayObservable.create;
173-
static fromEvent: typeof FromEventObservable.create;
174-
static fromEventPattern: typeof FromEventPatternObservable.create;
175-
static fromPromise: typeof PromiseObservable.create;
176-
static interval: typeof IntervalObservable.create;
177-
static merge: typeof mergeStatic;
178-
static never: typeof NeverObservable.create;
179-
static of: typeof ArrayObservable.of;
180-
static race: typeof raceStatic;
181-
static range: typeof RangeObservable.create;
141+
// Throw is the special snow flake, the compiler sees it as a reserved word
182142
static throw: typeof ErrorObservable.create;
183-
static timer: typeof TimerObservable.create;
184-
static webSocket: typeof WebSocketSubject.create;
185-
static zip: typeof zipStatic;
186143

187144
/**
188145
* @method Symbol.observable

src/Rx.KitchenSink.ts

+4
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,7 @@ import './add/operator/mergeScan';
1515
import './add/operator/min';
1616
import './add/operator/pairwise';
1717
import './add/operator/timeInterval';
18+
19+
export {TimeInterval} from './operator/timeInterval';
20+
export {TestScheduler} from './testing/TestScheduler';
21+
export {VirtualTimeScheduler} from './scheduler/VirtualTimeScheduler';

src/Rx.ts

+5-4
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,10 @@ export {Observable} from './Observable';
88

99
// statics
1010
/* tslint:disable:no-use-before-declare */
11-
import './add/observable/combineLatest';
12-
import './add/observable/concat';
13-
import './add/observable/merge';
14-
import './add/observable/race';
1511
import './add/observable/bindCallback';
1612
import './add/observable/bindNodeCallback';
13+
import './add/observable/combineLatest';
14+
import './add/observable/concat';
1715
import './add/observable/defer';
1816
import './add/observable/empty';
1917
import './add/observable/forkJoin';
@@ -23,7 +21,10 @@ import './add/observable/fromEvent';
2321
import './add/observable/fromEventPattern';
2422
import './add/observable/fromPromise';
2523
import './add/observable/interval';
24+
import './add/observable/merge';
25+
import './add/observable/race';
2626
import './add/observable/never';
27+
import './add/observable/of';
2728
import './add/observable/range';
2829
import './add/observable/throw';
2930
import './add/observable/timer';

src/add/observable/bindCallback.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
import {Observable} from '../../Observable';
22
import {BoundCallbackObservable} from '../../observable/BoundCallbackObservable';
33

4-
Observable.bindCallback = BoundCallbackObservable.create;
4+
Observable.bindCallback = BoundCallbackObservable.create;
5+
6+
declare module '../../Observable' {
7+
namespace Observable {
8+
export let bindCallback: typeof BoundCallbackObservable.create;
9+
}
10+
}
+7-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
import {Observable} from '../../Observable';
22
import {BoundNodeCallbackObservable} from '../../observable/BoundNodeCallbackObservable';
33

4-
Observable.bindNodeCallback = BoundNodeCallbackObservable.create;
4+
Observable.bindNodeCallback = BoundNodeCallbackObservable.create;
5+
6+
declare module '../../Observable' {
7+
namespace Observable {
8+
export let bindNodeCallback: typeof BoundNodeCallbackObservable.create;
9+
}
10+
}

src/add/observable/combineLatest.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
import {Observable} from '../../Observable';
22
import {combineLatestStatic} from '../../operator/combineLatest';
33

4-
Observable.combineLatest = combineLatestStatic;
4+
Observable.combineLatest = combineLatestStatic;
5+
6+
declare module '../../Observable' {
7+
namespace Observable {
8+
export let combineLatest: typeof combineLatestStatic;
9+
}
10+
}

src/add/observable/concat.ts

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1-
21
import {Observable} from '../../Observable';
32
import {concatStatic} from '../../operator/concat';
43

5-
Observable.concat = concatStatic;
4+
Observable.concat = concatStatic;
5+
6+
declare module '../../Observable' {
7+
namespace Observable {
8+
export let concat: typeof concatStatic;
9+
}
10+
}

src/add/observable/defer.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
import {Observable} from '../../Observable';
22
import {DeferObservable} from '../../observable/DeferObservable';
33

4-
Observable.defer = DeferObservable.create;
4+
Observable.defer = DeferObservable.create;
5+
6+
declare module '../../Observable' {
7+
namespace Observable {
8+
export let defer: typeof DeferObservable.create;
9+
}
10+
}

src/add/observable/dom/ajax.ts

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1-
21
import {Observable} from '../../../Observable';
32
import {AjaxObservable} from '../../../observable/dom/AjaxObservable';
43

5-
Observable.ajax = AjaxObservable.create;
4+
Observable.ajax = AjaxObservable.create;
5+
6+
declare module '../../../Observable' {
7+
namespace Observable {
8+
export let ajax: typeof AjaxObservable.create;
9+
}
10+
}

src/add/observable/dom/webSocket.ts

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1-
21
import {Observable} from '../../../Observable';
32
import {WebSocketSubject} from '../../../observable/dom/WebSocketSubject';
43

5-
Observable.webSocket = WebSocketSubject.create;
4+
Observable.webSocket = WebSocketSubject.create;
5+
6+
declare module '../../../Observable' {
7+
namespace Observable {
8+
export let webSocket: typeof WebSocketSubject.create;
9+
}
10+
}

src/add/observable/empty.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
import {Observable} from '../../Observable';
22
import {EmptyObservable} from '../../observable/EmptyObservable';
33

4-
Observable.empty = EmptyObservable.create;
4+
Observable.empty = EmptyObservable.create;
5+
6+
declare module '../../Observable' {
7+
namespace Observable {
8+
export let empty: typeof EmptyObservable.create;
9+
}
10+
}

src/add/observable/forkJoin.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
import {Observable} from '../../Observable';
22
import {ForkJoinObservable} from '../../observable/ForkJoinObservable';
33

4-
Observable.forkJoin = ForkJoinObservable.create;
4+
Observable.forkJoin = ForkJoinObservable.create;
5+
6+
declare module '../../Observable' {
7+
namespace Observable {
8+
export let forkJoin: typeof ForkJoinObservable.create;
9+
}
10+
}

src/add/observable/from.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
import {Observable} from '../../Observable';
22
import {FromObservable} from '../../observable/FromObservable';
33

4-
Observable.from = FromObservable.create;
4+
Observable.from = FromObservable.create;
5+
6+
declare module '../../Observable' {
7+
namespace Observable {
8+
export let from: typeof FromObservable.create;
9+
}
10+
}

src/add/observable/fromArray.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
import {Observable} from '../../Observable';
22
import {ArrayObservable} from '../../observable/ArrayObservable';
3+
import './of';
34

45
Observable.fromArray = ArrayObservable.create;
5-
Observable.of = ArrayObservable.of;
6+
7+
declare module '../../Observable' {
8+
namespace Observable {
9+
export let fromArray: typeof ArrayObservable.create;
10+
}
11+
}

src/add/observable/fromEvent.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
import {Observable} from '../../Observable';
22
import {FromEventObservable} from '../../observable/FromEventObservable';
33

4-
Observable.fromEvent = FromEventObservable.create;
4+
Observable.fromEvent = FromEventObservable.create;
5+
6+
declare module '../../Observable' {
7+
namespace Observable {
8+
export let fromEvent: typeof FromEventObservable.create;
9+
}
10+
}
+7-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
import {Observable} from '../../Observable';
22
import {FromEventPatternObservable} from '../../observable/FromEventPatternObservable';
33

4-
Observable.fromEventPattern = FromEventPatternObservable.create;
4+
Observable.fromEventPattern = FromEventPatternObservable.create;
5+
6+
declare module '../../Observable' {
7+
namespace Observable {
8+
export let fromEventPattern: typeof FromEventPatternObservable.create;
9+
}
10+
}

src/add/observable/fromPromise.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
import {Observable} from '../../Observable';
22
import {PromiseObservable} from '../../observable/PromiseObservable';
33

4-
Observable.fromPromise = PromiseObservable.create;
4+
Observable.fromPromise = PromiseObservable.create;
5+
6+
declare module '../../Observable' {
7+
namespace Observable {
8+
export let fromPromise: typeof PromiseObservable.create;
9+
}
10+
}

src/add/observable/interval.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
import {Observable} from '../../Observable';
22
import {IntervalObservable} from '../../observable/IntervalObservable';
33

4-
Observable.interval = IntervalObservable.create;
4+
Observable.interval = IntervalObservable.create;
5+
6+
declare module '../../Observable' {
7+
namespace Observable {
8+
export let interval: typeof IntervalObservable.create;
9+
}
10+
}

src/add/observable/merge.ts

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1-
21
import {Observable} from '../../Observable';
32
import {mergeStatic} from '../../operator/merge';
43

5-
Observable.merge = mergeStatic;
4+
Observable.merge = mergeStatic;
5+
6+
declare module '../../Observable' {
7+
namespace Observable {
8+
export let merge: typeof mergeStatic;
9+
}
10+
}

src/add/observable/never.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
import {Observable} from '../../Observable';
22
import {NeverObservable} from '../../observable/NeverObservable';
33

4-
Observable.never = NeverObservable.create;
4+
Observable.never = NeverObservable.create;
5+
6+
declare module '../../Observable' {
7+
namespace Observable {
8+
export let never: typeof NeverObservable.create;
9+
}
10+
}

src/add/observable/of.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
import {Observable} from '../../Observable';
22
import {ArrayObservable} from '../../observable/ArrayObservable';
33

4-
Observable.of = ArrayObservable.of;
4+
Observable.of = ArrayObservable.of;
5+
6+
declare module '../../Observable' {
7+
namespace Observable {
8+
export let of: typeof ArrayObservable.of;
9+
}
10+
}

src/add/observable/race.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
import {Observable} from '../../Observable';
22
import {raceStatic} from '../../operator/race';
33

4-
Observable.race = raceStatic;
4+
Observable.race = raceStatic;
5+
6+
declare module '../../Observable' {
7+
namespace Observable {
8+
export let race: typeof raceStatic;
9+
}
10+
}

src/add/observable/range.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
import {Observable} from '../../Observable';
22
import {RangeObservable} from '../../observable/RangeObservable';
33

4-
Observable.range = RangeObservable.create;
4+
Observable.range = RangeObservable.create;
5+
6+
declare module '../../Observable' {
7+
namespace Observable {
8+
export let range: typeof RangeObservable.create;
9+
}
10+
}

src/add/observable/timer.ts

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
11
import {Observable} from '../../Observable';
22
import {TimerObservable} from '../../observable/TimerObservable';
33

4-
Observable.timer = TimerObservable.create;
4+
Observable.timer = TimerObservable.create;
5+
6+
declare module '../../Observable' {
7+
namespace Observable {
8+
export let timer: typeof TimerObservable.create;
9+
}
10+
}

0 commit comments

Comments
 (0)