From 1b2c21f537998edd28cb2c0d32c2d608d0bf28b7 Mon Sep 17 00:00:00 2001 From: Nicholas Jamieson Date: Mon, 23 Jul 2018 22:20:40 +1000 Subject: [PATCH] fix(pipe): replace rest parameters overload Replace the rest parameters overload with a signature that also includes the A-I type parameters. Closes #3841 --- spec-dtslint/Observable-spec.ts | 4 ---- src/internal/Observable.ts | 4 ++-- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/spec-dtslint/Observable-spec.ts b/spec-dtslint/Observable-spec.ts index da18cc61f2b..af57306ff56 100644 --- a/spec-dtslint/Observable-spec.ts +++ b/spec-dtslint/Observable-spec.ts @@ -52,10 +52,6 @@ describe('pipe', () => { const o = of('foo').pipe(a('1'), a('2'), a('3'), a('4'), a('5'), a('6'), a('7'), a('8'), a('9'), a('10')); // $ExpectType Observable<{}> }); - it('should support an explicit type parameter for more than 9 arguments', () => { - const o = of('foo').pipe(a('1'), a('2'), a('3'), a('4'), a('5'), a('6'), a('7'), a('8'), a('9'), a('10')); // $ExpectType Observable - }); - it('should enforce types for the 1st argument', () => { const o = of('foo').pipe(a('#', '1')); // $ExpectError }); diff --git a/src/internal/Observable.ts b/src/internal/Observable.ts index a60bcf83912..1f059f572d0 100644 --- a/src/internal/Observable.ts +++ b/src/internal/Observable.ts @@ -296,7 +296,7 @@ export class Observable implements Subscribable { pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction, op6: OperatorFunction, op7: OperatorFunction): Observable; pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction, op6: OperatorFunction, op7: OperatorFunction, op8: OperatorFunction): Observable; pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction, op6: OperatorFunction, op7: OperatorFunction, op8: OperatorFunction, op9: OperatorFunction): Observable; - pipe(...operations: OperatorFunction[]): Observable; + pipe(op1: OperatorFunction, op2: OperatorFunction, op3: OperatorFunction, op4: OperatorFunction, op5: OperatorFunction, op6: OperatorFunction, op7: OperatorFunction, op8: OperatorFunction, op9: OperatorFunction, ...operations: OperatorFunction[]): Observable; /* tslint:enable:max-line-length */ /** @@ -318,7 +318,7 @@ export class Observable implements Subscribable { * .subscribe(x => console.log(x)) * ``` */ - pipe(...operations: OperatorFunction[]): Observable { + pipe(...operations: OperatorFunction[]): Observable { if (operations.length === 0) { return this as any; }