feat(render): experimental package to render arbitrary values to different formats

This commit is contained in:
2024-03-17 20:40:14 +00:00
commit 2b28f96bad
20 changed files with 1098 additions and 0 deletions

38
render_test.go Normal file
View File

@@ -0,0 +1,38 @@
package render_test
import (
"bytes"
"io"
)
type mockWriter struct {
WriteErr error
buf bytes.Buffer
}
func (mw *mockWriter) Write(p []byte) (n int, err error) {
if mw.WriteErr != nil {
return 0, mw.WriteErr
}
return mw.buf.Write(p)
}
func (mw *mockWriter) String() string {
return mw.buf.String()
}
type mockRenderer struct {
output string
err error
}
func (m *mockRenderer) Render(w io.Writer, _ any) error {
_, err := w.Write([]byte(m.output))
if m.err != nil {
return m.err
}
return err
}