add new multiple generate function

This commit is contained in:
Adrian Zürcher
2026-01-08 09:41:07 +01:00
parent 806b70dee6
commit 57fa355a6f
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"
"html/template"
"os"
"gitea.tecamino.com/paadi/template-builder/models"
)
type TemplateBuilder struct {
@@ -39,7 +41,7 @@ func (tb *TemplateBuilder) Generate(templatePath string, data any) (b []byte, er
}
var buf bytes.Buffer
err = tmpl.Execute(&buf, data)
err = tmpl.Execute(&buf, d)
if err != nil {
return
}
@@ -47,3 +49,19 @@ func (tb *TemplateBuilder) Generate(templatePath string, data any) (b []byte, er
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.Log(string(data))
t.Log(data)
}