From 0abc15bb8d980ff1f4fc4a8ae019462f9894a570 Mon Sep 17 00:00:00 2001 From: Jack Bates Date: Tue, 27 Aug 2019 13:01:02 -0700 Subject: [PATCH] Better typings for AsyncIterator/Generator, like #31117 --- src/lib/es2018.asyncgenerator.d.ts | 6 +++--- src/lib/es2018.asynciterable.d.ts | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/lib/es2018.asyncgenerator.d.ts b/src/lib/es2018.asyncgenerator.d.ts index f6966264c8be4..7080d427d41b8 100644 --- a/src/lib/es2018.asyncgenerator.d.ts +++ b/src/lib/es2018.asyncgenerator.d.ts @@ -2,9 +2,9 @@ interface AsyncGenerator extends AsyncIterator { // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places. - next(...args: [] | [TNext]): Promise>; - return(value: TReturn | PromiseLike): Promise>; - throw(e: any): Promise>; + next(...args: [] | [TNext]): Promise ? UReturn : TReturn>>; + return(value: TReturn): Promise ? UReturn : TReturn>>; + throw(e: any): Promise ? UReturn : TReturn>>; [Symbol.asyncIterator](): AsyncGenerator; } diff --git a/src/lib/es2018.asynciterable.d.ts b/src/lib/es2018.asynciterable.d.ts index 19a31c72ca4a9..8465b30fbea84 100644 --- a/src/lib/es2018.asynciterable.d.ts +++ b/src/lib/es2018.asynciterable.d.ts @@ -11,9 +11,9 @@ interface SymbolConstructor { interface AsyncIterator { // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places. - next(...args: [] | [TNext]): Promise>; - return?(value?: TReturn | PromiseLike): Promise>; - throw?(e?: any): Promise>; + next(...args: [] | [TNext]): Promise ? UReturn : TReturn>>; + return?(value?: TReturn): Promise ? UReturn : TReturn>>; + throw?(e?: any): Promise ? UReturn : TReturn>>; } interface AsyncIterable { @@ -22,4 +22,4 @@ interface AsyncIterable { interface AsyncIterableIterator extends AsyncIterator { [Symbol.asyncIterator](): AsyncIterableIterator; -} \ No newline at end of file +}