channel/forward.go

12 lines
351 B
Go

package channel
// Forward reads all values from all sources and sends them to target.
// It blocks until all values are forwarded and the out channel was closed.
// Use with go keyword for non-blocking behavior
func Forward[T any](target chan<- T, sources ...<-chan T) {
for value := range Merge(sources...) {
target <- value
}
close(target)
}