Files
kubevela/pkg/utils/util/cmd.go
Jianbo Sun dd222ac876 refactor cli/dashboard/apiserver to reference folder (#1084)
* refactor cli/dashboard/apiserver to reference folder

* address comments
2021-02-23 13:03:38 +08:00

43 lines
1.1 KiB
Go

package util
import (
"fmt"
"io"
)
// IOStreams provides the standard names for iostreams. This is useful for embedding and for unit testing.
// Inconsistent and different names make it hard to read and review code
type IOStreams struct {
// In think, os.Stdin
In io.Reader
// Out think, os.Stdout
Out io.Writer
// ErrOut think, os.Stderr
ErrOut io.Writer
}
// Infonln compared to Info(), won't print new line
func (i *IOStreams) Infonln(a ...interface{}) {
_, _ = i.Out.Write([]byte(fmt.Sprint(a...)))
}
// Info print info with new line
func (i *IOStreams) Info(a ...interface{}) {
_, _ = i.Out.Write([]byte(fmt.Sprintln(a...)))
}
// Infof print info in a specified format
func (i *IOStreams) Infof(format string, a ...interface{}) {
_, _ = i.Out.Write([]byte(fmt.Sprintf(format, a...)))
}
// Errorf print error info in a specified format
func (i *IOStreams) Errorf(format string, a ...interface{}) {
_, _ = i.ErrOut.Write([]byte(fmt.Sprintf(format, a...)))
}
// Error print error info
func (i *IOStreams) Error(a ...interface{}) {
_, _ = i.ErrOut.Write([]byte(fmt.Sprintln(a...)))
}