UNPKG
lean4-code-actions
Version:
latest (1.1.32)
1.1.32
Refactorings and snippets for Lean 4
lean4-code-actions
/
libs
/
utils
/
array
/
colocateBy.ts
8 lines
(6 loc)
•
288 B
text/typescript
View Raw
1
2
3
4
5
6
7
8
import
{ groupBy, sortBy }
from
'remeda'
export
function
colocateBy<T>(
items
: T[],
fn
:
(
item: T
) =>
PropertyKey
) {
const
itemsGrouped =
groupBy
(items, fn)
const
itemsSorted =
sortBy
(
Object
.
entries
(itemsGrouped),
(
entry
) =>
entry[
0
])
return
itemsSorted.
flatMap
(
entry
=>
entry[
1
]) }