@@ -547,20 +547,22 @@ type IteratorResult<Yield,Return> =
547
547
| { done : true , value ? : Return }
548
548
| { done : false , value : Yield } ;
549
549
550
- interface $Iterator< + Yield , + Return , - Next > {
551
- @@iterator ( ) : $Iterator < Yield , Return , Next > ;
552
- next ( value ? : Next ) : IteratorResult < Yield , Return > ;
553
- }
554
- type Iterator< + T > = $Iterator< T , void , void > ;
555
-
556
550
interface $Iterable< + Yield , + Return , - Next > {
557
551
@@iterator ( ) : $Iterator < Yield , Return , Next > ;
558
552
}
559
553
type Iterable< + T > = $Iterable< T , void , void > ;
560
554
561
- interface Generator < + Yield , + Return , - Next > {
555
+ interface $Iterator < + Yield , + Return , - Next > extends $Iterable < Yield , Return , Next > {
562
556
@@iterator ( ) : $Iterator < Yield , Return , Next > ;
563
557
next ( value ? : Next ) : IteratorResult < Yield , Return > ;
558
+ + return ?: < R > (value: R) => IteratorResult < Yield , R | Return > ;
559
+ + throw ?: ( error ? : any ) => IteratorResult < Yield , Return > ;
560
+ }
561
+ type Iterator< + T > = $Iterator< T , void , void > ;
562
+
563
+ interface Generator< + Yield , + Return , - Next > extends $Iterator< Yield , Return , Next > {
564
+ @@iterator ( ) : Generator < Yield , Return , Next > ;
565
+ next ( value ? : Next ) : IteratorResult < Yield , Return > ;
564
566
return < R > (value: R): IteratorResult< Yield , R | Return > ;
565
567
throw(error?: any): IteratorResult< Yield , Return > ;
566
568
}
@@ -569,25 +571,27 @@ declare function $iterate<T>(p: Iterable<T>): T;
569
571
570
572
/* Async Iterable/Iterator/Generator */
571
573
572
- interface $AsyncIterator< + Yield , + Return , - Next > {
573
- @@asyncIterator ( ) : $AsyncIterator < Yield , Return , Next > ;
574
- next ( value ? : Next ) : Promise < IteratorResult < Yield , Return >> ;
575
- }
576
- type AsyncIterator< + T > = $AsyncIterator< T , void , void > ;
577
-
578
574
interface $AsyncIterable< + Yield , + Return , - Next > {
579
575
@@asyncIterator ( ) : $AsyncIterator < Yield , Return , Next > ;
580
576
}
581
577
type AsyncIterable< + T > = $AsyncIterable< T , void , void > ;
582
578
583
- interface AsyncGenerator < + Yield , + Return , - Next > {
579
+ interface $AsyncIterator < + Yield , + Return , - Next > extends $AsyncIterable < Yield , Return , Next > {
584
580
@@asyncIterator ( ) : $AsyncIterator < Yield , Return , Next > ;
585
581
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 >> ;
584
+ }
585
+ type AsyncIterator< + T > = $AsyncIterator< T , void , void > ;
586
+
587
+ interface AsyncGenerator< + Yield , + Return , - Next > extends $AsyncIterator {
588
+ @@asyncIterator ( ) : AsyncGenerator < Yield , Return , Next > ;
589
+ next ( value ? : Next ) : Promise < IteratorResult < Yield , Return >> ;
586
590
return < R > (value: R): Promise< IteratorResult < Yield , R | Return > > ;
587
591
throw ( error ? : any ) : Promise < IteratorResult < Yield , Return >> ;
588
592
}
589
593
590
- declare function $asyncIterator < T > (p: AsyncIterable< T > ): T;
594
+ declare function $asyncIterate < T > (p: AsyncIterable< T > ): T;
591
595
592
596
/* Maps and Sets */
593
597
0 commit comments