| import { Subscriber } from './Subscriber'; | 
| import { Observable } from './Observable'; | 
| import { subscribeTo } from './util/subscribeTo'; | 
| export class SimpleInnerSubscriber extends Subscriber { | 
|     constructor(parent) { | 
|         super(); | 
|         this.parent = parent; | 
|     } | 
|     _next(value) { | 
|         this.parent.notifyNext(value); | 
|     } | 
|     _error(error) { | 
|         this.parent.notifyError(error); | 
|         this.unsubscribe(); | 
|     } | 
|     _complete() { | 
|         this.parent.notifyComplete(); | 
|         this.unsubscribe(); | 
|     } | 
| } | 
| export class ComplexInnerSubscriber extends Subscriber { | 
|     constructor(parent, outerValue, outerIndex) { | 
|         super(); | 
|         this.parent = parent; | 
|         this.outerValue = outerValue; | 
|         this.outerIndex = outerIndex; | 
|     } | 
|     _next(value) { | 
|         this.parent.notifyNext(this.outerValue, value, this.outerIndex, this); | 
|     } | 
|     _error(error) { | 
|         this.parent.notifyError(error); | 
|         this.unsubscribe(); | 
|     } | 
|     _complete() { | 
|         this.parent.notifyComplete(this); | 
|         this.unsubscribe(); | 
|     } | 
| } | 
| export class SimpleOuterSubscriber extends Subscriber { | 
|     notifyNext(innerValue) { | 
|         this.destination.next(innerValue); | 
|     } | 
|     notifyError(err) { | 
|         this.destination.error(err); | 
|     } | 
|     notifyComplete() { | 
|         this.destination.complete(); | 
|     } | 
| } | 
| export class ComplexOuterSubscriber extends Subscriber { | 
|     notifyNext(_outerValue, innerValue, _outerIndex, _innerSub) { | 
|         this.destination.next(innerValue); | 
|     } | 
|     notifyError(error) { | 
|         this.destination.error(error); | 
|     } | 
|     notifyComplete(_innerSub) { | 
|         this.destination.complete(); | 
|     } | 
| } | 
| export function innerSubscribe(result, innerSubscriber) { | 
|     if (innerSubscriber.closed) { | 
|         return undefined; | 
|     } | 
|     if (result instanceof Observable) { | 
|         return result.subscribe(innerSubscriber); | 
|     } | 
|     let subscription; | 
|     try { | 
|         subscription = subscribeTo(result)(innerSubscriber); | 
|     } | 
|     catch (error) { | 
|         innerSubscriber.error(error); | 
|     } | 
|     return subscription; | 
| } | 
| //# sourceMappingURL=innerSubscribe.js.map |