diff --git a/stdio/stdio.go b/stdio/stdio.go index ce5400574..b7d8f7a6e 100644 --- a/stdio/stdio.go +++ b/stdio/stdio.go @@ -5,6 +5,7 @@ import ( "bufio" "bytes" "io" + "os" "strings" ) @@ -59,3 +60,13 @@ func NewScanner(in any) *bufio.Scanner { panic("invalid input type for create scanner") } } + +// WriteBytes to stdout +func WriteBytes(bs []byte) { + _, _ = os.Stdout.Write(bs) +} + +// WriteString to stdout +func WriteString(s string) { + _, _ = os.Stdout.WriteString(s) +} diff --git a/stdio/writer.go b/stdio/writer.go index 76070cbb1..8a9b9fc23 100644 --- a/stdio/writer.go +++ b/stdio/writer.go @@ -33,6 +33,9 @@ func (w *WriteWrapper) WriteByte(c byte) error { // WriteString data func (w *WriteWrapper) WriteString(s string) (n int, err error) { + if sw, ok := w.Out.(io.StringWriter); ok { + return sw.WriteString(s) + } return w.Out.Write([]byte(s)) }