package stdio

import (
	
	
)

// WriteWrapper warp io.Writer support more operate methods.
type WriteWrapper struct {
	Out io.Writer
}

// WrapW instance
func ( io.Writer) *WriteWrapper {
	return &WriteWrapper{Out: }
}

// NewWriteWrapper instance
func ( io.Writer) *WriteWrapper {
	return &WriteWrapper{Out: }
}

// Write bytes data
func ( *WriteWrapper) ( []byte) ( int,  error) {
	return .Out.Write()
}

// Writef data to output
func ( *WriteWrapper) ( string,  ...any) ( int,  error) {
	return fmt.Fprintf(.Out, , ...)
}

// WriteByte data
func ( *WriteWrapper) ( byte) error {
	,  := .Out.Write([]byte{})
	return 
}

// WriteString data
func ( *WriteWrapper) ( string) ( int,  error) {
	if ,  := .Out.(io.StringWriter);  {
		return .WriteString()
	}
	return .Out.Write([]byte())
}

// String get write data string
func ( *WriteWrapper) () string {
	if ,  := .Out.(fmt.Stringer);  {
		return .String()
	}
	return ""
}