diff --git a/src/Observable.ts b/src/Observable.ts index 8de30e816c..8cceaa04d7 100644 --- a/src/Observable.ts +++ b/src/Observable.ts @@ -20,6 +20,7 @@ export type ObservableInput = ObservableOrPromise | ArrayOrIterator; * @class Observable */ export class Observable { + ' tag_class_Observable': T; public _isScalar: boolean = false; diff --git a/src/Subject.ts b/src/Subject.ts index c7ea22f3ad..d647d36837 100644 --- a/src/Subject.ts +++ b/src/Subject.ts @@ -10,16 +10,20 @@ import {throwError} from './util/throwError'; import {ObjectUnsubscribedError} from './util/ObjectUnsubscribedError'; export class Subject extends Observable implements Observer, Subscription { + ' tag_class_Subject': T; static create: Function = (destination: Observer, source: Observable): Subject => { return new Subject(destination, source); }; - constructor(protected destination?: Observer, protected source?: Observable) { + constructor(destination?: Observer, source?: Observable) { super(); + this.destination = destination; this.source = source; } + protected destination: Observer; + protected source: Observable; public observers: Observer[] = []; public isUnsubscribed: boolean = false; diff --git a/src/observable/ArrayLikeObservable.ts b/src/observable/ArrayLikeObservable.ts index 926b849654..55f1c1d7b3 100644 --- a/src/observable/ArrayLikeObservable.ts +++ b/src/observable/ArrayLikeObservable.ts @@ -6,6 +6,7 @@ import {Subscriber} from '../Subscriber'; import {Subscription} from '../Subscription'; export class ArrayLikeObservable extends Observable { + ' tag_class_ArrayLikeObservable': T; private mapFn: (x: T, y: number) => T; diff --git a/src/observable/ArrayObservable.ts b/src/observable/ArrayObservable.ts index 32248bf8da..87071fe6ef 100644 --- a/src/observable/ArrayObservable.ts +++ b/src/observable/ArrayObservable.ts @@ -10,6 +10,7 @@ import {Subscription} from '../Subscription'; * */ export class ArrayObservable extends Observable { + ' tag_class_ArrayLikeObservable': T; /** * @param array diff --git a/src/observable/BoundCallbackObservable.ts b/src/observable/BoundCallbackObservable.ts index b5a3d5b4b6..1652dca2d3 100644 --- a/src/observable/BoundCallbackObservable.ts +++ b/src/observable/BoundCallbackObservable.ts @@ -10,6 +10,8 @@ import {AsyncSubject} from '../subject/AsyncSubject'; * */ export class BoundCallbackObservable extends Observable { + ' tag_class_BoundCallbackObservable': T; + subject: AsyncSubject; /* tslint:disable:max-line-length */ diff --git a/src/observable/BoundNodeCallbackObservable.ts b/src/observable/BoundNodeCallbackObservable.ts index 55b46d4185..14defe87be 100644 --- a/src/observable/BoundNodeCallbackObservable.ts +++ b/src/observable/BoundNodeCallbackObservable.ts @@ -10,6 +10,8 @@ import {AsyncSubject} from '../subject/AsyncSubject'; * */ export class BoundNodeCallbackObservable extends Observable { + ' tag_class_BoundNodeCallbackObservable': T; + subject: AsyncSubject; /* tslint:disable:max-line-length */ diff --git a/src/observable/ConnectableObservable.ts b/src/observable/ConnectableObservable.ts index b353574fd6..f378850e54 100644 --- a/src/observable/ConnectableObservable.ts +++ b/src/observable/ConnectableObservable.ts @@ -4,6 +4,7 @@ import {Subscriber} from '../Subscriber'; import {Subscription} from '../Subscription'; export class ConnectableObservable extends Observable { + ' tag_class_ConnectableObservable': T; protected subject: Subject; protected subscription: Subscription; diff --git a/src/observable/DeferObservable.ts b/src/observable/DeferObservable.ts index cebc595499..c7598ae641 100644 --- a/src/observable/DeferObservable.ts +++ b/src/observable/DeferObservable.ts @@ -7,6 +7,7 @@ import {errorObject} from '../util/errorObject'; * */ export class DeferObservable extends Observable { + ' tag_class_DeferObservable': T; /** * @param observableFactory diff --git a/src/observable/EmptyObservable.ts b/src/observable/EmptyObservable.ts index 160f1f8424..4dc3580af8 100644 --- a/src/observable/EmptyObservable.ts +++ b/src/observable/EmptyObservable.ts @@ -7,6 +7,7 @@ import {Subscription} from '../Subscription'; * */ export class EmptyObservable extends Observable { + ' tag_class_EmptyObservable': T; /** * @param scheduler diff --git a/src/observable/ErrorObservable.ts b/src/observable/ErrorObservable.ts index 43663fb99b..866b461437 100644 --- a/src/observable/ErrorObservable.ts +++ b/src/observable/ErrorObservable.ts @@ -6,6 +6,7 @@ import {Subscription} from '../Subscription'; * */ export class ErrorObservable extends Observable { + ' tag_class_ErrorObservable': any; /** * @param error diff --git a/src/observable/ForkJoinObservable.ts b/src/observable/ForkJoinObservable.ts index ce8539a4e8..7fdabdf7e9 100644 --- a/src/observable/ForkJoinObservable.ts +++ b/src/observable/ForkJoinObservable.ts @@ -9,6 +9,8 @@ import {isArray} from '../util/isArray'; * */ export class ForkJoinObservable extends Observable { + ' tag_class_ForkJoinObservable': T; + constructor(private sources: Array | Promise>, private resultSelector?: (...values: Array) => T) { super(); diff --git a/src/observable/FromEventObservable.ts b/src/observable/FromEventObservable.ts index 50d8175c92..2d01a35f17 100644 --- a/src/observable/FromEventObservable.ts +++ b/src/observable/FromEventObservable.ts @@ -38,6 +38,7 @@ export type EventTargetLike = EventTarget | NodeStyleEventEmmitter | JQueryStyle * */ export class FromEventObservable extends Observable { + ' tag_class_FromEventObservable': [T, R]; /** * @param sourceObj diff --git a/src/observable/FromEventPatternObservable.ts b/src/observable/FromEventPatternObservable.ts index 20f70d8bea..9e6ef70852 100644 --- a/src/observable/FromEventPatternObservable.ts +++ b/src/observable/FromEventPatternObservable.ts @@ -8,6 +8,7 @@ import {Subscriber} from '../Subscriber'; * */ export class FromEventPatternObservable extends Observable { + ' tag_class_FromEventPatternObservable': [T, R]; /** * @param addHandler diff --git a/src/observable/FromObservable.ts b/src/observable/FromObservable.ts index 945fee1467..31c599c5b7 100644 --- a/src/observable/FromObservable.ts +++ b/src/observable/FromObservable.ts @@ -19,6 +19,8 @@ const isArrayLike = ((x: any): x is ArrayLike => x && typeof x.length === * */ export class FromObservable extends Observable { + ' tag_class_FromObservable': T; + constructor(private ish: ObservableInput, private scheduler: Scheduler) { super(null); } diff --git a/src/observable/IfObservable.ts b/src/observable/IfObservable.ts index c12ba85be1..3b92bffd84 100644 --- a/src/observable/IfObservable.ts +++ b/src/observable/IfObservable.ts @@ -3,6 +3,7 @@ import {Subscriber} from '../Subscriber'; import {Subscription} from '../Subscription'; export class IfObservable extends Observable { + ' tag_class_IfObservable': [T, R]; static create(condition: () => boolean, thenSource?: Observable, diff --git a/src/observable/IntervalObservable.ts b/src/observable/IntervalObservable.ts index cf3cdda5d6..a94d4de62d 100644 --- a/src/observable/IntervalObservable.ts +++ b/src/observable/IntervalObservable.ts @@ -8,6 +8,8 @@ import {async} from '../scheduler/async'; * */ export class IntervalObservable extends Observable { + ' tag_class_IntervalObservable': any; + /** * @param period * @param scheduler diff --git a/src/observable/IteratorObservable.ts b/src/observable/IteratorObservable.ts index e9390d9c8c..02b611a154 100644 --- a/src/observable/IteratorObservable.ts +++ b/src/observable/IteratorObservable.ts @@ -10,6 +10,8 @@ import {Subscription} from '../Subscription'; import {Subscriber} from '../Subscriber'; export class IteratorObservable extends Observable { + ' tag_class_IteratorObservable': T; + private iterator: any; static create(iterator: any, diff --git a/src/observable/NeverObservable.ts b/src/observable/NeverObservable.ts index 373f6749b8..f6a0e68360 100644 --- a/src/observable/NeverObservable.ts +++ b/src/observable/NeverObservable.ts @@ -6,6 +6,8 @@ import {noop} from '../util/noop'; * */ export class NeverObservable extends Observable { + ' tag_class_NeverObservable': T; + /** * @return {NeverObservable} * @static true diff --git a/src/observable/PromiseObservable.ts b/src/observable/PromiseObservable.ts index d7a6ed4c0a..8651e66349 100644 --- a/src/observable/PromiseObservable.ts +++ b/src/observable/PromiseObservable.ts @@ -8,6 +8,7 @@ import {Subscription} from '../Subscription'; * */ export class PromiseObservable extends Observable { + ' tag_class_PromiseObservable': T; public value: T; diff --git a/src/observable/RangeObservable.ts b/src/observable/RangeObservable.ts index 05919fa23e..a4554feaba 100644 --- a/src/observable/RangeObservable.ts +++ b/src/observable/RangeObservable.ts @@ -7,6 +7,7 @@ import {Subscriber} from '../Subscriber'; * */ export class RangeObservable extends Observable { + ' tag_class_RangeObservable': any; /** * @param start diff --git a/src/observable/ScalarObservable.ts b/src/observable/ScalarObservable.ts index e7b5c6801f..15ad40c67d 100644 --- a/src/observable/ScalarObservable.ts +++ b/src/observable/ScalarObservable.ts @@ -4,6 +4,8 @@ import {Subscriber} from '../Subscriber'; import {Subscription} from '../Subscription'; export class ScalarObservable extends Observable { + ' tag_class_ScalarObservable': T; + static create(value: T, scheduler?: Scheduler): ScalarObservable { return new ScalarObservable(value, scheduler); } diff --git a/src/observable/SubscribeOnObservable.ts b/src/observable/SubscribeOnObservable.ts index 3919f1a646..ce4c5d8ca7 100644 --- a/src/observable/SubscribeOnObservable.ts +++ b/src/observable/SubscribeOnObservable.ts @@ -6,6 +6,8 @@ import {asap} from '../scheduler/asap'; import {isNumeric} from '../util/isNumeric'; export class SubscribeOnObservable extends Observable { + ' tag_class_SubscribeOnObservable': T; + static create(source: Observable, delay: number = 0, scheduler: Scheduler = asap): Observable { return new SubscribeOnObservable(source, delay, scheduler); } diff --git a/src/observable/TimerObservable.ts b/src/observable/TimerObservable.ts index 3db92b49c5..ad725b2fac 100644 --- a/src/observable/TimerObservable.ts +++ b/src/observable/TimerObservable.ts @@ -11,6 +11,7 @@ import {Subscriber} from '../Subscriber'; * */ export class TimerObservable extends Observable { + ' tag_class_TimerObservable': any; /** * @param dueTime diff --git a/src/observable/UsingObservable.ts b/src/observable/UsingObservable.ts index a7b2ca941d..cd1107ae71 100644 --- a/src/observable/UsingObservable.ts +++ b/src/observable/UsingObservable.ts @@ -3,6 +3,7 @@ import {Subscriber} from '../Subscriber'; import {Subscription} from '../Subscription'; export class UsingObservable extends Observable { + ' tag_class_UsingObservable': T; static create(resourceFactory: () => Subscription, observableFactory: (resource: Subscription) => Observable): Observable { diff --git a/src/subject/AsyncSubject.ts b/src/subject/AsyncSubject.ts index 3a8bb4f487..9f47f83a76 100644 --- a/src/subject/AsyncSubject.ts +++ b/src/subject/AsyncSubject.ts @@ -3,6 +3,8 @@ import {Subscriber} from '../Subscriber'; import {Subscription} from '../Subscription'; export class AsyncSubject extends Subject { + ' tag_class_AsyncSubject': T; + value: T = null; hasNext: boolean = false; diff --git a/src/subject/BehaviorSubject.ts b/src/subject/BehaviorSubject.ts index f39367e5c1..1b0b0015a4 100644 --- a/src/subject/BehaviorSubject.ts +++ b/src/subject/BehaviorSubject.ts @@ -5,6 +5,7 @@ import {throwError} from '../util/throwError'; import {ObjectUnsubscribedError} from '../util/ObjectUnsubscribedError'; export class BehaviorSubject extends Subject { + ' tag_class_BehaviorSubject': T; constructor(private _value: T) { super(); diff --git a/src/subject/ReplaySubject.ts b/src/subject/ReplaySubject.ts index f50cda0ff6..ce9837b78b 100644 --- a/src/subject/ReplaySubject.ts +++ b/src/subject/ReplaySubject.ts @@ -6,6 +6,8 @@ import {Subscription} from '../Subscription'; import {ObserveOnSubscriber} from '../operator/observeOn'; export class ReplaySubject extends Subject { + ' tag_class_ReplaySubject': T; + private events: ReplayEvent[] = []; private scheduler: Scheduler; private bufferSize: number;