@@ -889,9 +889,10 @@ declare namespace R {
889
889
* Returns a new list, constructed by applying the supplied function to every element of the supplied list.
890
890
*/
891
891
map < T , U > ( fn : ( x : T ) => U , list : T [ ] ) : U [ ] ;
892
- map < T , U > ( fn : ( x : T ) => U , obj : U ) : U ;
893
- map < T , U > ( fn : ( x : T ) => U , obj : Functor < T > ) : Functor < U > ; // used in functors
894
892
map < T , U > ( fn : ( x : T ) => U ) : ( list : T [ ] ) => U [ ] ;
893
+ map < T , V , M extends { [ k : string ] : T } > ( fn : ( value : T ) => V , obj : M ) : { [ K in keyof M ] : V } ;
894
+ map < T , V , M extends { [ k : string ] : T } > ( fn : ( value : T ) => V ) : ( obj : M ) => { [ K in keyof M ] : V } ;
895
+ map < T , U > ( fn : ( x : T ) => U , obj : Functor < T > ) : Functor < U > ; // used in functors
895
896
896
897
/**
897
898
* The mapAccum function behaves like a combination of map and reduce.
@@ -911,10 +912,8 @@ declare namespace R {
911
912
/**
912
913
* Like mapObj, but but passes additional arguments to the predicate function.
913
914
*/
914
- mapObjIndexed < K extends Prop , T , U , V extends Record < K , T > > ( fn : ( value : T , key : string , obj ?: V ) => U , obj : V ) : Record < K , U > ;
915
- mapObjIndexed < K extends Prop , T , U , V extends Record < K , T > > ( fn : ( value : T , key : string , obj ?: V ) => U , obj : V ) : { [ P in keyof V ] : U ( V [ P ] ) /*T?*/ } ;
916
- mapObjIndexed < T , TResult , Item > ( fn : ( value : T , key : string , obj ?: any ) => TResult , obj : Item ) : { [ P in keyof Item ] : Item [ P ] } ;
917
- mapObjIndexed < T , TResult > ( fn : ( value : T , key : string , obj ?: any ) => TResult ) : ( obj : any ) => { [ index :string ] : TResult } ;
915
+ mapObjIndexed < T , V , M extends { [ k : string ] : T } > ( fn : ( value : T , key : string , obj ?: M ) => V , obj : M ) : { [ K in keyof M ] : V } ;
916
+ mapObjIndexed < T , V , M extends { [ k : string ] : T } > ( fn : ( value : T , key : string , obj ?: M ) => V ) : ( obj : M ) => { [ K in keyof M ] : V } ;
918
917
919
918
/**
920
919
* Tests a regular expression agains a String
0 commit comments