1
0
Fork 0
golang-github-pocketbase-po.../tools/template/renderer.go
Daniel Baumann e28c88ef14
Adding upstream version 0.28.1.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-05-22 10:57:38 +02:00

33 lines
624 B
Go

package template
import (
"bytes"
"errors"
"html/template"
)
// Renderer defines a single parsed template.
type Renderer struct {
template *template.Template
parseError error
}
// Render executes the template with the specified data as the dot object
// and returns the result as plain string.
func (r *Renderer) Render(data any) (string, error) {
if r.parseError != nil {
return "", r.parseError
}
if r.template == nil {
return "", errors.New("invalid or nil template")
}
buf := new(bytes.Buffer)
if err := r.template.Execute(buf, data); err != nil {
return "", err
}
return buf.String(), nil
}