DieselDepot-APP/node_modules/es-toolkit/dist/compat/array/countBy.d.mts
SJCoetz def597c157 chore: add generated build artifacts and node module type files
add all Next.js build outputs and third-party dependency type declaration files
2026-07-20 01:18:42 +02:00

20 lines
No EOL
998 B
TypeScript

import { ValueIteratee } from "../_internal/ValueIteratee.mjs";
//#region src/compat/array/countBy.d.ts
/**
* Creates an object composed of keys generated from the results of running each element of collection through
* iteratee. The corresponding value of each key is the number of times the key was returned by iteratee. The
* iteratee is invoked with one argument: (value).
*
* @param collection The collection to iterate over.
* @param iteratee The function invoked per iteration.
* @return Returns the composed aggregate object.
*
* @example
* countBy([6.1, 4.2, 6.3], Math.floor); // => { '4': 1, '6': 2 }
* countBy(['one', 'two', 'three'], 'length'); // => { '3': 2, '5': 1 }
*/
declare function countBy<T>(collection: ArrayLike<T> | null | undefined, iteratee?: ValueIteratee<T>): Record<string, number>;
declare function countBy<T extends object>(collection: T | null | undefined, iteratee?: ValueIteratee<T[keyof T]>): Record<string, number>;
//#endregion
export { countBy };