mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
Fix 'co' for strict generators (#35937)
This commit is contained in:
parent
18b549ebcd
commit
fb623cb9bb
7
types/co/index.d.ts
vendored
7
types/co/index.d.ts
vendored
@ -4,7 +4,12 @@
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 3.1
|
||||
|
||||
type ExtractType<T> = T extends IterableIterator<infer R> ? R : never;
|
||||
type ExtractType<T> =
|
||||
T extends { [Symbol.iterator](): { next(): { done: true, value: infer U } } } ? U :
|
||||
T extends { [Symbol.iterator](): { next(): { done: false } } } ? never :
|
||||
T extends { [Symbol.iterator](): { next(): { value: infer U } } } ? U :
|
||||
T extends { [Symbol.iterator](): any } ? unknown :
|
||||
never;
|
||||
|
||||
interface Co {
|
||||
<F extends (...args: any[]) => Iterator<any>>(fn: F, ...args: Parameters<F>): Promise<ExtractType<ReturnType<F>>>;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user