26 lines
401 B
Go
26 lines
401 B
Go
package wand
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
)
|
|
|
|
func printOutput(w io.Writer, o []any) error {
|
|
for _, oi := range o {
|
|
r, ok := oi.(io.Reader)
|
|
if ok {
|
|
if _, err := io.Copy(w, r); err != nil {
|
|
return fmt.Errorf("error copying output: %w", err)
|
|
}
|
|
|
|
continue
|
|
}
|
|
|
|
if _, err := fmt.Fprintf(w, "%v\n", oi); err != nil {
|
|
return fmt.Errorf("error printing output: %w", err)
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|