27 lines
371 B
Go
27 lines
371 B
Go
package warp
|
|
|
|
import "io"
|
|
|
|
func RF2W(f func(io.Reader) error) io.Writer {
|
|
r, w := io.Pipe()
|
|
go func() {
|
|
err := f(r)
|
|
if err == nil {
|
|
err = io.EOF
|
|
}
|
|
r.CloseWithError(err)
|
|
}()
|
|
return w
|
|
}
|
|
func WF2R(f func(io.Writer) error) io.Reader {
|
|
r, w := io.Pipe()
|
|
go func() {
|
|
err := f(w)
|
|
if err == nil {
|
|
err = io.EOF
|
|
}
|
|
w.CloseWithError(err)
|
|
}()
|
|
return r
|
|
}
|