diff --git a/sliceutils/sliceUtils.go b/sliceutils/sliceUtils.go index 8b427e9..309db36 100644 --- a/sliceutils/sliceUtils.go +++ b/sliceutils/sliceUtils.go @@ -106,7 +106,7 @@ func Compact[T any](a []T, compactor func(acc T, next T) T) T { // Returns a channel that all elements in a will be written to in order. // Once all values of a have been sent, the channel will be closed. // The channel must be fully consumed until closed. Otherwise a goroutine will be leaked -func ToChannel[T any](a []T) chan T { +func ToChannel[T any](a []T) <-chan T { c := make(chan T) go func() { for _, v := range a { @@ -120,7 +120,7 @@ func ToChannel[T any](a []T) chan T { // FromChannel reads from a channel until closed, appending every element to a slice. // If you do not know how many elements to expect, use an expectedSize of 0 -func FromChannel[T any](c chan T, expectedSize uint) []T { +func FromChannel[T any](c <-chan T, expectedSize uint) []T { a := make([]T, expectedSize) for v := range c { a = append(a, v)