summaryrefslogtreecommitdiff
path: root/tools/node_modules/eslint/node_modules/rxjs/src/internal/observable/zip.ts
diff options
context:
space:
mode:
Diffstat (limited to 'tools/node_modules/eslint/node_modules/rxjs/src/internal/observable/zip.ts')
-rw-r--r--tools/node_modules/eslint/node_modules/rxjs/src/internal/observable/zip.ts6
1 files changed, 5 insertions, 1 deletions
diff --git a/tools/node_modules/eslint/node_modules/rxjs/src/internal/observable/zip.ts b/tools/node_modules/eslint/node_modules/rxjs/src/internal/observable/zip.ts
index cea051a3d1..ddae0fa9c3 100644
--- a/tools/node_modules/eslint/node_modules/rxjs/src/internal/observable/zip.ts
+++ b/tools/node_modules/eslint/node_modules/rxjs/src/internal/observable/zip.ts
@@ -4,6 +4,7 @@ import { isArray } from '../util/isArray';
import { Operator } from '../Operator';
import { ObservableInput, PartialObserver } from '../types';
import { Subscriber } from '../Subscriber';
+import { Subscription } from '../Subscription';
import { OuterSubscriber } from '../OuterSubscriber';
import { InnerSubscriber } from '../InnerSubscriber';
import { subscribeToResult } from '../util/subscribeToResult';
@@ -126,6 +127,8 @@ export class ZipSubscriber<T, R> extends Subscriber<T> {
const iterators = this.iterators;
const len = iterators.length;
+ this.unsubscribe();
+
if (len === 0) {
this.destination.complete();
return;
@@ -135,7 +138,8 @@ export class ZipSubscriber<T, R> extends Subscriber<T> {
for (let i = 0; i < len; i++) {
let iterator: ZipBufferIterator<any, any> = <any>iterators[i];
if (iterator.stillUnsubscribed) {
- this.add(iterator.subscribe(iterator, i));
+ const destination = this.destination as Subscription;
+ destination.add(iterator.subscribe(iterator, i));
} else {
this.active--; // not an observable
}