You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
742 B
29 lines
742 B
import { Subscriber } from './Subscriber'; |
|
import { OuterSubscriber } from './OuterSubscriber'; |
|
|
|
/** |
|
* We need this JSDoc comment for affecting ESDoc. |
|
* @ignore |
|
* @extends {Ignored} |
|
*/ |
|
export class InnerSubscriber<T, R> extends Subscriber<R> { |
|
private index: number = 0; |
|
|
|
constructor(private parent: OuterSubscriber<T, R>, private outerValue: T, private outerIndex: number) { |
|
super(); |
|
} |
|
|
|
protected _next(value: R): void { |
|
this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this); |
|
} |
|
|
|
protected _error(error: any): void { |
|
this.parent.notifyError(error, this); |
|
this.unsubscribe(); |
|
} |
|
|
|
protected _complete(): void { |
|
this.parent.notifyComplete(this); |
|
this.unsubscribe(); |
|
} |
|
}
|
|
|