@@ -665,13 +665,31 @@ export function anyFn<T>(
665665 return array => any ( array , predicate ) ;
666666}
667667
668+ export function all < T , U extends T > (
669+ array : readonly T [ ] ,
670+ predicate : ( element : T , index : number ) => element is U
671+ ) : array is readonly U [ ] ;
672+ export function all < T , U extends T > (
673+ array : ArrayLike < T > ,
674+ predicate : ( element : T , index : number ) => element is U
675+ ) : array is ArrayLike < U > ;
676+ export function all < T > (
677+ array : ArrayLike < T > ,
678+ predicate : ( element : T , index : number ) => boolean
679+ ) : boolean ;
668680export function all < T > (
669681 array : ArrayLike < T > ,
670682 predicate : ( element : T , index : number ) => boolean
671683) : boolean {
672684 return ! any ( array , ( element , index ) => ! predicate ( element , index ) ) ;
673685}
674686
687+ export function allFn < T , U extends T > (
688+ predicate : ( element : T , index : number ) => element is U
689+ ) : ( array : ArrayLike < T > ) => array is ArrayLike < U > ;
690+ export function allFn < T > (
691+ predicate : ( element : T , index : number ) => boolean
692+ ) : ( array : ArrayLike < T > ) => boolean ;
675693export function allFn < T > (
676694 predicate : ( element : T , index : number ) => boolean
677695) : ( array : ArrayLike < T > ) => boolean {
0 commit comments