Spaces:
Running
Running
import type { ObjMap } from './ObjMap'; | |
/** | |
* Creates a keyed JS object from an array, given a function to produce the keys | |
* for each value in the array. | |
* | |
* This provides a convenient lookup for the array items if the key function | |
* produces unique results. | |
* ```ts | |
* const phoneBook = [ | |
* { name: 'Jon', num: '555-1234' }, | |
* { name: 'Jenny', num: '867-5309' } | |
* ] | |
* | |
* const entriesByName = keyMap( | |
* phoneBook, | |
* entry => entry.name | |
* ) | |
* | |
* // { | |
* // Jon: { name: 'Jon', num: '555-1234' }, | |
* // Jenny: { name: 'Jenny', num: '867-5309' } | |
* // } | |
* | |
* const jennyEntry = entriesByName['Jenny'] | |
* | |
* // { name: 'Jenny', num: '857-6309' } | |
* ``` | |
*/ | |
export declare function keyMap<T>( | |
list: ReadonlyArray<T>, | |
keyFn: (item: T) => string, | |
): ObjMap<T>; | |