You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
611 B
23 lines
611 B
import type { ObjMap } from './ObjMap'; |
|
/** |
|
* Creates a keyed JS object from an array, given a function to produce the keys |
|
* and a function to produce the values from each item in the array. |
|
* ```ts |
|
* const phoneBook = [ |
|
* { name: 'Jon', num: '555-1234' }, |
|
* { name: 'Jenny', num: '867-5309' } |
|
* ] |
|
* |
|
* // { Jon: '555-1234', Jenny: '867-5309' } |
|
* const phonesByName = keyValMap( |
|
* phoneBook, |
|
* entry => entry.name, |
|
* entry => entry.num |
|
* ) |
|
* ``` |
|
*/ |
|
export declare function keyValMap<T, V>( |
|
list: ReadonlyArray<T>, |
|
keyFn: (item: T) => string, |
|
valFn: (item: T) => V, |
|
): ObjMap<V>;
|
|
|