{"version":3,"sources":["../../src/functions/keyBy/keyBy.ts"],"names":[],"mappings":";AAGO,SAAS,MACd,OACA,WACuB;AACvB,SAAO,MAAM,OAAO,CAAC,aAAa,gBAAgB;AAChD,UAAM,MAAM,UAAU,WAAW;AAGjC,gBAAY,GAAG,IAAI;AAEnB,WAAO;AAAA,EACT,GAAG,CAAC,CAA0B;AAChC","sourcesContent":["/**\n * Same as Lodash's `keyBy` by more type-safe.\n */\nexport function keyBy<T, K extends string>(\n  array: readonly T[],\n  keyGetter: (item: T) => K\n): Partial<Record<K, T>> {\n  return array.reduce((draftObject, currentItem) => {\n    const key = keyGetter(currentItem);\n\n    // eslint-disable-next-line no-param-reassign\n    draftObject[key] = currentItem;\n\n    return draftObject;\n  }, {} as Partial<Record<K, T>>);\n}\n"]}