Skip to content

Commit 3799e5b

Browse files
committed
refactor(types): move Subscription, Observable, and Observer interfaces to types.ts
1 parent ddffecc commit 3799e5b

File tree

114 files changed

+263
-195
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

114 files changed

+263
-195
lines changed

spec/Observable-spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { expect } from 'chai';
22
import * as sinon from 'sinon';
33
import * as Rx from '../src/Rx';
4-
import { Observer } from './../src/internal/Observer';
5-
import { TeardownLogic } from '../src/internal/Subscription';
4+
import { Observer } from './../src/internal/types';
5+
import { TeardownLogic } from '../src/internal/types';
66
import { cold, expectObservable, expectSubscriptions } from './helpers/marble-testing';
77
import { map } from '../src/internal/operators/map';
88
//tslint:disable-next-line

spec/helpers/test-helper.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
declare const global: any;
22

33
import * as Rx from '../../src/Rx';
4-
import { ObservableInput } from '../../src/internal/Observable';
4+
import { ObservableInput } from '../../src/internal/types';
55
import { root } from '../../src/internal/util/root';
66
import { $$iterator } from '../../src/internal/symbol/iterator';
77
import $$symbolObservable from 'symbol-observable';

src/MiscJSDoc.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
* we need these bogus classes, which are not stripped away. This file on the
66
* other hand, is not included in the release bundle.
77
*/
8-
import { TeardownLogic } from './internal/Subscription';
8+
import { TeardownLogic } from './internal/types';
99
import { Observable } from './internal/Observable';
1010
import './internal/observable/dom/MiscJSDoc';
11-
import { Observer } from './internal/Observer';
11+
import { Observer } from './internal/types';
1212

1313
/**
1414
* We need this JSDoc comment for affecting ESDoc.

src/Rx.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ import './add/operator/zipAll';
144144

145145
/* tslint:disable:no-unused-variable */
146146
export {Operator} from './internal/Operator';
147-
export {Observer} from './internal/Observer';
147+
export {Observer} from './internal/types';
148148
export {Subscription} from './internal/Subscription';
149149
export {Subscriber} from './internal/Subscriber';
150150
export {AsyncSubject} from './internal/AsyncSubject';

src/internal/BehaviorSubject.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Subject } from './Subject';
22
import { Subscriber } from './Subscriber';
3-
import { Subscription, ISubscription } from './Subscription';
3+
import { Subscription } from './Subscription';
4+
import { ISubscription } from './types';
45
import { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';
56

67
/**

src/internal/Notification.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { PartialObserver } from './Observer';
1+
import { PartialObserver } from './types';
22
import { Observable } from './Observable';
33
import { empty } from './observable/empty';
44
import { of } from './observable/of';

src/internal/Observable.ts

+3-5
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
1-
import { PartialObserver } from './Observer';
1+
import { PartialObserver } from './types';
22
import { Operator } from './Operator';
33
import { Subscriber } from './Subscriber';
4-
import { Subscription, AnonymousSubscription, TeardownLogic } from './Subscription';
4+
import { Subscription } from './Subscription';
5+
import { AnonymousSubscription, TeardownLogic } from './types';
56
import { root } from './util/root';
67
import { toSubscriber } from './util/toSubscriber';
78
import { IfObservable } from './observable/IfObservable';
89
import { observable as Symbol_observable } from '../internal/symbol/observable';
910
import { OperatorFunction, Subscribable } from '../internal/types';
1011
import { pipeFromArray } from './util/pipe';
1112

12-
//TODO(davidd): refactor all references to these to use types instead
13-
export { Subscribable, ObservableLike, SubscribableOrPromise, ObservableInput } from '../internal/types';
14-
1513
/**
1614
* A representation of any set of values over any amount of time. This is the most basic building block
1715
* of RxJS.

src/internal/Observer.ts

+1-29
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,4 @@
1-
export interface NextObserver<T> {
2-
closed?: boolean;
3-
next: (value: T) => void;
4-
error?: (err: any) => void;
5-
complete?: () => void;
6-
}
7-
8-
export interface ErrorObserver<T> {
9-
closed?: boolean;
10-
next?: (value: T) => void;
11-
error: (err: any) => void;
12-
complete?: () => void;
13-
}
14-
15-
export interface CompletionObserver<T> {
16-
closed?: boolean;
17-
next?: (value: T) => void;
18-
error?: (err: any) => void;
19-
complete: () => void;
20-
}
21-
22-
export type PartialObserver<T> = NextObserver<T> | ErrorObserver<T> | CompletionObserver<T>;
23-
24-
export interface Observer<T> {
25-
closed?: boolean;
26-
next: (value: T) => void;
27-
error: (err: any) => void;
28-
complete: () => void;
29-
}
1+
import { Observer } from './types';
302

313
export const empty: Observer<any> = {
324
closed: true,

src/internal/Operator.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Subscriber } from './Subscriber';
2-
import { TeardownLogic } from './Subscription';
2+
import { TeardownLogic } from './types';
33

44
export interface Operator<T, R> {
55
call(subscriber: Subscriber<R>, source: any): TeardownLogic;

src/internal/Subject.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import { Operator } from './Operator';
2-
import { Observer } from './Observer';
2+
import { Observer } from './types';
33
import { Observable } from './Observable';
44
import { Subscriber } from './Subscriber';
5-
import { ISubscription, Subscription, TeardownLogic } from './Subscription';
5+
import { Subscription } from './Subscription';
6+
import { ISubscription, TeardownLogic } from './types';
67
import { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';
78
import { SubjectSubscription } from './SubjectSubscription';
89
import { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';

src/internal/SubjectSubscription.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Subject } from './Subject';
2-
import { Observer } from './Observer';
2+
import { Observer } from './types';
33
import { Subscription } from './Subscription';
44

55
/**

src/internal/Subscriber.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { isFunction } from './util/isFunction';
2-
import { Observer, PartialObserver, empty as emptyObserver } from './Observer';
2+
import { empty as emptyObserver } from './Observer';
3+
import { Observer, PartialObserver } from './types';
34
import { Subscription } from './Subscription';
45
import { rxSubscriber as rxSubscriberSymbol } from '../internal/symbol/rxSubscriber';
56

src/internal/Subscription.ts

+1-11
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,7 @@ import { isFunction } from './util/isFunction';
44
import { tryCatch } from './util/tryCatch';
55
import { errorObject } from './util/errorObject';
66
import { UnsubscriptionError } from './util/UnsubscriptionError';
7-
8-
export interface AnonymousSubscription {
9-
unsubscribe(): void;
10-
}
11-
12-
export type TeardownLogic = AnonymousSubscription | Function | void;
13-
14-
export interface ISubscription extends AnonymousSubscription {
15-
unsubscribe(): void;
16-
readonly closed: boolean;
17-
}
7+
import { ISubscription, TeardownLogic } from './types';
188

199
/**
2010
* Represents a disposable resource, such as the execution of an Observable. A

src/internal/observable/ConnectableObservable.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ import { Subject, SubjectSubscriber } from '../Subject';
22
import { Operator } from '../Operator';
33
import { Observable } from '../Observable';
44
import { Subscriber } from '../Subscriber';
5-
import { Subscription, TeardownLogic } from '../Subscription';
5+
import { Subscription } from '../Subscription';
6+
import { TeardownLogic } from '../types';
67
import { refCount as higherOrderRefCount } from '../../internal/operators/refCount';
78

89
/**

src/internal/observable/IfObservable.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import { Observable, SubscribableOrPromise } from '../Observable';
1+
import { Observable } from '../Observable';
2+
import { SubscribableOrPromise } from '../types';
23
import { Subscriber } from '../Subscriber';
3-
import { TeardownLogic } from '../Subscription';
4+
import { TeardownLogic } from '../types';
45

56
import { subscribeToResult } from '..//util/subscribeToResult';
67
import { OuterSubscriber } from '../OuterSubscriber';

src/internal/observable/UsingObservable.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
import { Observable, SubscribableOrPromise } from '../Observable';
1+
import { Observable } from '../Observable';
2+
import { SubscribableOrPromise } from '../types';
23
import { Subscriber } from '../Subscriber';
3-
import { AnonymousSubscription, TeardownLogic } from '../Subscription';
4+
import { AnonymousSubscription, TeardownLogic } from '../types';
45

56
import { subscribeToResult } from '..//util/subscribeToResult';
67
import { OuterSubscriber } from '../OuterSubscriber';

src/internal/observable/combineLatest.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
import { Observable, ObservableInput } from '../Observable';
1+
import { Observable } from '../Observable';
2+
import { ObservableInput } from '../types';
23
import { IScheduler } from '../Scheduler';
34
import { isScheduler } from '..//util/isScheduler';
4-
import { isArray } from '..//util/isArray';
5+
import { isArray } from '../util/isArray';
56
import { Subscriber } from '../Subscriber';
67
import { OuterSubscriber } from '../OuterSubscriber';
78
import { Operator } from '../Operator';

src/internal/observable/concat.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { Observable, ObservableInput } from '../Observable';
1+
import { Observable } from '../Observable';
2+
import { ObservableInput } from '../types';
23
import { IScheduler } from '../Scheduler';
34
import { isScheduler } from '..//util/isScheduler';
45
import { of } from './of';

src/internal/observable/defer.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { Observable, SubscribableOrPromise } from '../Observable';
1+
import { Observable } from '../Observable';
2+
import { SubscribableOrPromise } from '../types';
23
import { from } from './from'; // lol
34
import { empty } from './empty';
45

src/internal/observable/dom/AjaxObservable.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { tryCatch } from '../..//util/tryCatch';
33
import { errorObject } from '../..//util/errorObject';
44
import { Observable } from '../../Observable';
55
import { Subscriber } from '../../Subscriber';
6-
import { TeardownLogic } from '../../Subscription';
6+
import { TeardownLogic } from '../../types';
77
import { map } from '../../../internal/operators/map';
88

99
export interface AjaxRequest {

src/internal/observable/dom/WebSocketSubject.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { Subscription } from '../../Subscription';
55
import { Operator } from '../../Operator';
66
import { root } from '../..//util/root';
77
import { ReplaySubject } from '../../ReplaySubject';
8-
import { Observer, NextObserver } from '../../Observer';
8+
import { Observer, NextObserver } from '../../types';
99
import { tryCatch } from '../..//util/tryCatch';
1010
import { errorObject } from '../..//util/errorObject';
1111
import { assign } from '../..//util/assign';

src/internal/observable/forkJoin.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { Observable, ObservableInput } from '../Observable';
1+
import { Observable } from '../Observable';
2+
import { ObservableInput } from '../types';
23
import { isArray } from '../util/isArray';
34
import { EMPTY } from './empty';
45
import { subscribeToResult } from '../util/subscribeToResult';

src/internal/observable/merge.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { Observable, ObservableInput } from '../Observable';
1+
import { Observable } from '../Observable';
2+
import { ObservableInput } from '../types';
23
import { IScheduler } from '../Scheduler';
34
import { isScheduler } from '..//util/isScheduler';
45
import { mergeAll } from '../../internal/operators/mergeAll';

src/internal/observable/onErrorResumeNext.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { Observable, ObservableInput } from '../Observable';
1+
import { Observable } from '../Observable';
2+
import { ObservableInput } from '../types';
23
import { from } from './from';
34
import { isArray } from '../util/isArray';
45
import { EMPTY } from './empty';

src/internal/observable/race.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ import { isArray } from '..//util/isArray';
33
import { fromArray } from './fromArray';
44
import { Operator } from '../Operator';
55
import { Subscriber } from '../Subscriber';
6-
import { Subscription, TeardownLogic } from '../Subscription';
6+
import { Subscription } from '../Subscription';
7+
import { TeardownLogic } from '../types';
78
import { OuterSubscriber } from '../OuterSubscriber';
89
import { InnerSubscriber } from '../InnerSubscriber';
910
import { subscribeToResult } from '..//util/subscribeToResult';

src/internal/observable/zip.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
import { Observable, ObservableInput } from '../Observable';
1+
import { Observable } from '../Observable';
2+
import { ObservableInput } from '../types';
23
import { fromArray } from './fromArray';
34
import { isArray } from '..//util/isArray';
45
import { Operator } from '../Operator';
5-
import { PartialObserver } from '../Observer';
6+
import { PartialObserver } from '../types';
67
import { Subscriber } from '../Subscriber';
78
import { OuterSubscriber } from '../OuterSubscriber';
89
import { InnerSubscriber } from '../InnerSubscriber';

src/internal/operators/audit.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import { Operator } from '../Operator';
22
import { Subscriber } from '../Subscriber';
3-
import { Observable, SubscribableOrPromise } from '../Observable';
4-
import { Subscription, TeardownLogic } from '../Subscription';
3+
import { Observable } from '../Observable';
4+
import { SubscribableOrPromise } from '../types';
5+
import { Subscription } from '../Subscription';
6+
import { TeardownLogic } from '../types';
57

68
import { tryCatch } from '..//util/tryCatch';
79
import { errorObject } from '..//util/errorObject';

src/internal/operators/bufferCount.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Operator } from '../Operator';
22
import { Subscriber } from '../Subscriber';
33
import { Observable } from '../Observable';
4-
import { TeardownLogic } from '../Subscription';
4+
import { TeardownLogic } from '../types';
55
import { OperatorFunction } from '../../internal/types';
66

77
/**

src/internal/operators/bufferToggle.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Operator } from '../Operator';
22
import { Subscriber } from '../Subscriber';
3-
import { Observable, SubscribableOrPromise } from '../Observable';
3+
import { Observable } from '../Observable';
4+
import { SubscribableOrPromise } from '../types';
45
import { Subscription } from '../Subscription';
56
import { subscribeToResult } from '..//util/subscribeToResult';
67
import { OuterSubscriber } from '../OuterSubscriber';

src/internal/operators/catchError.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { Operator } from '../Operator';
22
import { Subscriber } from '../Subscriber';
3-
import { Observable, ObservableInput } from '../Observable';
3+
import { Observable } from '../Observable';
44

55
import { OuterSubscriber } from '../OuterSubscriber';
66
import { subscribeToResult } from '..//util/subscribeToResult';
7-
import { OperatorFunction } from '../../internal/types';
7+
import { ObservableInput, OperatorFunction } from '../../internal/types';
88

99
/**
1010
* Catches errors on the observable to be handled by returning a new observable or throwing an error.

src/internal/operators/combineAll.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { CombineLatestOperator } from '../observable/combineLatest';
2-
import { Observable, ObservableInput } from '../Observable';
3-
import { OperatorFunction } from '../../internal/types';
2+
import { Observable } from '../Observable';
3+
import { OperatorFunction, ObservableInput } from '../../internal/types';
44

55
export function combineAll<T>(): OperatorFunction<ObservableInput<T>, T[]>;
66
export function combineAll<T>(): OperatorFunction<any, T[]>;

src/internal/operators/concatAll.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
import { mergeAll } from './mergeAll';
3-
import { OperatorFunction } from '../../internal/types';
4-
import { ObservableInput, Observable } from '../Observable';
3+
import { OperatorFunction, ObservableInput } from '../../internal/types';
4+
import { Observable } from '../Observable';
55

66
export function concatAll<T>(): OperatorFunction<ObservableInput<T>, T>;
77
export function concatAll<R>(): OperatorFunction<any, R>;

src/internal/operators/concatMap.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { mergeMap } from './mergeMap';
2-
import { ObservableInput } from '../Observable';
3-
import { OperatorFunction } from '../../internal/types';
2+
import { ObservableInput, OperatorFunction } from '../../internal/types';
43

54
/* tslint:disable:max-line-length */
65
export function concatMap<T, R>(project: (value: T, index: number) => ObservableInput<R>): OperatorFunction<T, R>;

src/internal/operators/concatMapTo.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import { Observable, ObservableInput } from '../Observable';
1+
import { Observable } from '../Observable';
22
import { concatMap } from './concatMap';
3-
import { OperatorFunction } from '../../internal/types';
3+
import { ObservableInput, OperatorFunction } from '../../internal/types';
44

55
/* tslint:disable:max-line-length */
66
export function concatMapTo<T, R>(observable: ObservableInput<R>): OperatorFunction<T, R>;

src/internal/operators/count.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Observable } from '../Observable';
22
import { Operator } from '../Operator';
3-
import { Observer } from '../Observer';
3+
import { Observer } from '../types';
44
import { Subscriber } from '../Subscriber';
55
import { OperatorFunction } from '../../internal/types';
66

src/internal/operators/debounce.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
import { Operator } from '../Operator';
2-
import { Observable, SubscribableOrPromise } from '../Observable';
2+
import { Observable } from '../Observable';
3+
import { SubscribableOrPromise } from '../types';
34
import { Subscriber } from '../Subscriber';
4-
import { Subscription, TeardownLogic } from '../Subscription';
5+
import { Subscription } from '../Subscription';
6+
import { TeardownLogic } from '../types';
57

68
import { OuterSubscriber } from '../OuterSubscriber';
79
import { InnerSubscriber } from '../InnerSubscriber';

src/internal/operators/debounceTime.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ import { Operator } from '../Operator';
22
import { Observable } from '../Observable';
33
import { Subscriber } from '../Subscriber';
44
import { IScheduler } from '../Scheduler';
5-
import { Subscription, TeardownLogic } from '../Subscription';
5+
import { Subscription } from '../Subscription';
6+
import { TeardownLogic } from '../types';
67
import { async } from '../scheduler/async';
78
import { MonoTypeOperatorFunction } from '../../internal/types';
89

0 commit comments

Comments
 (0)