@@ -13,12 +13,15 @@ export function filter<A, P extends A>(
1313// filter(() => boolean, list)
1414export function filter < T > (
1515 pred : ( value : T ) => boolean ,
16- ) : < P extends T , C extends readonly P [ ] | Record < string , P > > ( collection : C ) => C ;
16+ ) : {
17+ < K > ( map : Map < K , T > ) : Map < K , T > ;
18+ < P extends T , C extends readonly P [ ] | Record < string , P > > ( collection : C ) : C ;
19+ } ;
1720
1821// filter(() => narrow, map)
19- export function filter < K , T , P extends T > ( pred : ( val : T ) => val is P , map : readonly Map < K , T > ) : Map < K , P > ;
22+ export function filter < K , T , P extends T > ( pred : ( val : T ) => val is P , map : Map < K , T > ) : Map < K , P > ;
2023// filter(() => boolean, map)
21- export function filter < K , T > ( pred : ( val : T ) => boolean , map : readonly Map < K , T > ) : Map < K , T > ;
24+ export function filter < K , T > ( pred : ( val : T ) => boolean , map : Map < K , T > ) : Map < K , T > ;
2225
2326// filter(() => narrow, list) - readonly T[] falls into Record<string T> for some reason, so list needs to come first
2427export function filter < T , P extends T > ( pred : ( val : T ) => val is P , list : readonly T [ ] ) : P [ ] ;
0 commit comments