1 Commits

Author SHA1 Message Date
Adrian Zürcher
57fa355a6f add new multiple generate function 2026-01-08 09:41:07 +01:00
3 changed files with 25 additions and 2 deletions

5
models/output.go Normal file
View File

@@ -0,0 +1,5 @@
package models
type Outputs []Output
type Output []byte

View File

@@ -4,6 +4,8 @@ import (
"bytes" "bytes"
"html/template" "html/template"
"os" "os"
"gitea.tecamino.com/paadi/template-builder/models"
) )
type TemplateBuilder struct { type TemplateBuilder struct {
@@ -39,7 +41,7 @@ func (tb *TemplateBuilder) Generate(templatePath string, data any) (b []byte, er
} }
var buf bytes.Buffer var buf bytes.Buffer
err = tmpl.Execute(&buf, data) err = tmpl.Execute(&buf, d)
if err != nil { if err != nil {
return return
} }
@@ -47,3 +49,19 @@ func (tb *TemplateBuilder) Generate(templatePath string, data any) (b []byte, er
return return
} }
func (tb *TemplateBuilder) GenerateMultiple(templatePath string, data ...any) (output models.Outputs, err error) {
tmpl, err := template.ParseFiles(templatePath)
if err != nil {
return
}
for _, d := range data {
var buf bytes.Buffer
err = tmpl.Execute(&buf, d)
if err != nil {
return
}
output = append(output, buf.Bytes())
}
return
}

View File

@@ -30,5 +30,5 @@ func TestTemplateBuilderData(t *testing.T) {
t.Fatal(err) t.Fatal(err)
} }
t.Log(string(data)) t.Log(data)
} }