mirror of
https://github.com/wavetermdev/waveterm.git
synced 2025-02-21 02:33:34 +01:00
30 lines
444 B
Go
30 lines
444 B
Go
package iterfn
|
|
|
|
import (
|
|
"cmp"
|
|
"iter"
|
|
"maps"
|
|
"slices"
|
|
)
|
|
|
|
func CollectSeqToSorted[T cmp.Ordered](seq iter.Seq[T]) []T {
|
|
rtn := []T{}
|
|
for v := range seq {
|
|
rtn = append(rtn, v)
|
|
}
|
|
slices.Sort(rtn)
|
|
return rtn
|
|
}
|
|
|
|
func CollectSeq[T any](seq iter.Seq[T]) []T {
|
|
rtn := []T{}
|
|
for v := range seq {
|
|
rtn = append(rtn, v)
|
|
}
|
|
return rtn
|
|
}
|
|
|
|
func MapKeysToSorted[K cmp.Ordered, V any](m map[K]V) []K {
|
|
return CollectSeqToSorted(maps.Keys(m))
|
|
}
|