@@ -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