@@ -675,13 +675,31 @@ export function anyFn<T>(
675675 return array => any ( array , predicate ) ;
676676}
677677
678+ export function all < T , U extends T > (
679+ array : readonly T [ ] ,
680+ predicate : ( element : T , index : number ) => element is U
681+ ) : array is readonly U [ ] ;
682+ export function all < T , U extends T > (
683+ array : ArrayLike < T > ,
684+ predicate : ( element : T , index : number ) => element is U
685+ ) : array is ArrayLike < U > ;
686+ export function all < T > (
687+ array : ArrayLike < T > ,
688+ predicate : ( element : T , index : number ) => boolean
689+ ) : boolean ;
678690export function all < T > (
679691 array : ArrayLike < T > ,
680692 predicate : ( element : T , index : number ) => boolean
681693) : boolean {
682694 return ! any ( array , ( element , index ) => ! predicate ( element , index ) ) ;
683695}
684696
697+ export function allFn < T , U extends T > (
698+ predicate : ( element : T , index : number ) => element is U
699+ ) : ( array : ArrayLike < T > ) => array is ArrayLike < U > ;
700+ export function allFn < T > (
701+ predicate : ( element : T , index : number ) => boolean
702+ ) : ( array : ArrayLike < T > ) => boolean ;
685703export function allFn < T > (
686704 predicate : ( element : T , index : number ) => boolean
687705) : ( array : ArrayLike < T > ) => boolean {
0 commit comments