package templatebuilder import ( "bytes" "html/template" "os" ) type TemplateBuilder struct { } func NewTemplateBuilder() *TemplateBuilder { return &TemplateBuilder{} } func (tb *TemplateBuilder) GenerateFile(templatePath, outputFile string, data any) error { tmpl, err := template.ParseFiles(templatePath) if err != nil { return err } f, err := os.Create(outputFile) if err != nil { return err } defer f.Close() err = tmpl.Execute(f, data) if err != nil { return err } return nil } func (tb *TemplateBuilder) Generate(templatePath string, data any) (b []byte, err error) { tmpl, err := template.ParseFiles(templatePath) if err != nil { return } var buf bytes.Buffer err = tmpl.Execute(&buf, data) if err != nil { return } b = buf.Bytes() return }