Skip to content

Commit f35d3a9

Browse files
committed
Revert "RFC: Improve core types for (Async) Iterable/Iterator/Generator"
This reverts commit 7d5bb51. Whoops. Definitely did not mean to commit this before PR.
1 parent 7d5bb51 commit f35d3a9

File tree

1 file changed

+17
-21
lines changed

1 file changed

+17
-21
lines changed

lib/core.js

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -547,21 +547,19 @@ type IteratorResult<Yield,Return> =
547547
| { done: true, value?: Return }
548548
| { done: false, value: Yield };
549549

550-
interface $Iterable<+Yield,+Return,-Next> {
550+
interface $Iterator<+Yield,+Return,-Next> {
551551
@@iterator(): $Iterator<Yield,Return,Next>;
552-
}
553-
type Iterable<+T> = $Iterable<T,void,void>;
554-
555-
interface $Iterator<+Yield,+Return,-Next> implements $Iterable<Yield,Return,Next> {
556-
@@iterator(): this;
557552
next(value?: Next): IteratorResult<Yield,Return>;
558-
return?: <R>(value: R) => IteratorResult<Yield,R|Return>;
559-
throw?: (error?: any) => IteratorResult<Yield,Return>;
560553
}
561554
type Iterator<+T> = $Iterator<T,void,void>;
562555

563-
interface Generator<+Yield,+Return,-Next> implements $Iterator<Yield,Return,Next> {
564-
@@iterator(): this;
556+
interface $Iterable<+Yield,+Return,-Next> {
557+
@@iterator(): $Iterator<Yield,Return,Next>;
558+
}
559+
type Iterable<+T> = $Iterable<T,void,void>;
560+
561+
interface Generator<+Yield,+Return,-Next> {
562+
@@iterator(): $Iterator<Yield,Return,Next>;
565563
next(value?: Next): IteratorResult<Yield,Return>;
566564
return<R>(value: R): IteratorResult<Yield,R|Return>;
567565
throw(error?: any): IteratorResult<Yield,Return>;
@@ -571,27 +569,25 @@ declare function $iterate<T>(p: Iterable<T>): T;
571569

572570
/* Async Iterable/Iterator/Generator */
573571

574-
interface $AsyncIterable<+Yield,+Return,-Next> {
572+
interface $AsyncIterator<+Yield,+Return,-Next> {
575573
@@asyncIterator(): $AsyncIterator<Yield,Return,Next>;
576-
}
577-
type AsyncIterable<+T> = $AsyncIterable<T,void,void>;
578-
579-
interface $AsyncIterator<+Yield,+Return,-Next> implements $AsyncIterable<Yield,Return,Next> {
580-
@@asyncIterator(): this;
581574
next(value?: Next): Promise<IteratorResult<Yield,Return>>;
582-
return?: <R>(value: R) => Promise<IteratorResult<Yield,R|Return>>;
583-
throw? (error?: any) => Promise<IteratorResult<Yield,Return>>;
584575
}
585576
type AsyncIterator<+T> = $AsyncIterator<T,void,void>;
586577

587-
interface AsyncGenerator<+Yield,+Return,-Next> implements $AsyncIterator {
588-
@@asyncIterator(): this;
578+
interface $AsyncIterable<+Yield,+Return,-Next> {
579+
@@asyncIterator(): $AsyncIterator<Yield,Return,Next>;
580+
}
581+
type AsyncIterable<+T> = $AsyncIterable<T,void,void>;
582+
583+
interface AsyncGenerator<+Yield,+Return,-Next> {
584+
@@asyncIterator(): $AsyncIterator<Yield,Return,Next>;
589585
next(value?: Next): Promise<IteratorResult<Yield,Return>>;
590586
return<R>(value: R): Promise<IteratorResult<Yield,R|Return>>;
591587
throw(error?: any): Promise<IteratorResult<Yield,Return>>;
592588
}
593589

594-
declare function $asyncIterate<T>(p: AsyncIterable<T>): T;
590+
declare function $asyncIterator<T>(p: AsyncIterable<T>): T;
595591

596592
/* Maps and Sets */
597593

0 commit comments

Comments
 (0)