UNPKG

remeda

Version:

A utility library for JavaScript and Typescript.

51 lines (49 loc) 1.98 kB
import { BoundedPartial } from "./BoundedPartial-Dk-WxpZ7.cjs"; //#region src/indexBy.d.ts /** * Converts a list of objects into an object indexing the objects by the given * key. * * There are several other functions that could be used to build an object from * an array: * * `fromKeys` - Builds an object from an array of *keys* and a mapper for values. * * `pullObject` - Builds an object from an array of items with mappers for *both* keys and values. * * `fromEntries` - Builds an object from an array of key-value pairs. * Refer to the docs for more details. * * @param data - The array. * @param mapper - The indexing function. * @signature * R.indexBy(array, fn) * @example * R.indexBy(['one', 'two', 'three'], x => x.length) // => {3: 'two', 5: 'three'} * @dataFirst * @category Array */ declare function indexBy<T, K extends PropertyKey>(data: ReadonlyArray<T>, mapper: (item: T, index: number, data: ReadonlyArray<T>) => K): BoundedPartial<Record<K, T>>; /** * Converts a list of objects into an object indexing the objects by the given * key. * * There are several other functions that could be used to build an object from * an array: * * `fromKeys` - Builds an object from an array of *keys* and a mapper for values. * * `pullObject` - Builds an object from an array of items with mappers for *both* keys and values. * * `fromEntries` - Builds an object from an array of key-value pairs. * Refer to the docs for more details. * * @param mapper - The indexing function. * @signature * R.indexBy(fn)(array) * @example * R.pipe( * ['one', 'two', 'three'], * R.indexBy(x => x.length) * ) // => {3: 'two', 5: 'three'} * @dataLast * @category Array */ declare function indexBy<T, K extends PropertyKey>(mapper: (item: T, index: number, data: ReadonlyArray<T>) => K): (data: ReadonlyArray<T>) => BoundedPartial<Record<K, T>>; //#endregion export { indexBy }; //# sourceMappingURL=indexBy-Bd5f2V69.d.cts.map