@@ -672,13 +672,31 @@ export function anyFn<T>(
672672 return array => any ( array , predicate ) ;
673673}
674674
675+ export function all < T , U extends T > (
676+ array : readonly T [ ] ,
677+ predicate : ( element : T , index : number ) => element is U
678+ ) : array is readonly U [ ] ;
679+ export function all < T , U extends T > (
680+ array : ArrayLike < T > ,
681+ predicate : ( element : T , index : number ) => element is U
682+ ) : array is ArrayLike < U > ;
683+ export function all < T > (
684+ array : ArrayLike < T > ,
685+ predicate : ( element : T , index : number ) => boolean
686+ ) : boolean ;
675687export function all < T > (
676688 array : ArrayLike < T > ,
677689 predicate : ( element : T , index : number ) => boolean
678690) : boolean {
679691 return ! any ( array , ( element , index ) => ! predicate ( element , index ) ) ;
680692}
681693
694+ export function allFn < T , U extends T > (
695+ predicate : ( element : T , index : number ) => element is U
696+ ) : ( array : ArrayLike < T > ) => array is ArrayLike < U > ;
697+ export function allFn < T > (
698+ predicate : ( element : T , index : number ) => boolean
699+ ) : ( array : ArrayLike < T > ) => boolean ;
682700export function allFn < T > (
683701 predicate : ( element : T , index : number ) => boolean
684702) : ( array : ArrayLike < T > ) => boolean {
0 commit comments