refactor!: sizeable changes across the board

This commit is contained in:
2024-03-19 03:54:31 +00:00
parent a1b1ef82ad
commit 7632b1119c
22 changed files with 620 additions and 733 deletions

28
text.go Normal file
View File

@@ -0,0 +1,28 @@
package render
import (
"fmt"
"io"
)
type Text struct{}
var _ FormatRenderer = (*Text)(nil)
func (t *Text) Render(w io.Writer, v any) error {
var err error
switch x := v.(type) {
case fmt.Stringer:
_, err = w.Write([]byte(x.String()))
case io.WriterTo:
_, err = x.WriteTo(w)
default:
return ErrCannotRender
}
if err != nil {
return fmt.Errorf("%w: %w", ErrFailed, err)
}
return nil
}