chore: initialize recovered claude workspace
This commit is contained in:
18
src/utils/objectGroupBy.ts
Normal file
18
src/utils/objectGroupBy.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
/**
|
||||
* https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object.groupby
|
||||
*/
|
||||
export function objectGroupBy<T, K extends PropertyKey>(
|
||||
items: Iterable<T>,
|
||||
keySelector: (item: T, index: number) => K,
|
||||
): Partial<Record<K, T[]>> {
|
||||
const result = Object.create(null) as Partial<Record<K, T[]>>
|
||||
let index = 0
|
||||
for (const item of items) {
|
||||
const key = keySelector(item, index++)
|
||||
if (result[key] === undefined) {
|
||||
result[key] = []
|
||||
}
|
||||
result[key].push(item)
|
||||
}
|
||||
return result
|
||||
}
|
||||
Reference in New Issue
Block a user