index-array-by.d.ts 493 B

1234567891011121314151617181920212223
  1. type ListItem = any;
  2. type KeyAccessor = string | ((listItem: ListItem) => string);
  3. type ReducerFn = (items: ListItem[]) => any;
  4. interface NestedResult {
  5. [key: string]: NestedResult | ListItem | ListItem[];
  6. }
  7. type FlatResult = {
  8. keys: string[];
  9. vals: ListItem | ListItem[]
  10. }[];
  11. declare function indexBy(
  12. list: ListItem[],
  13. keyAccessors: KeyAccessor | KeyAccessor[],
  14. multiItem?: boolean | ReducerFn,
  15. flattenKeys?: boolean
  16. ): NestedResult | FlatResult;
  17. export default indexBy;