From 57fa355a6f7fae1224793bef868f88ae3104597e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Z=C3=BCrcher?= Date: Thu, 8 Jan 2026 09:41:07 +0100 Subject: [PATCH] add new multiple generate function --- models/output.go | 5 +++++ templateBuilder.go | 20 +++++++++++++++++++- test/templateBuilder_test.go | 2 +- 3 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 models/output.go diff --git a/models/output.go b/models/output.go new file mode 100644 index 0000000..631ae7c --- /dev/null +++ b/models/output.go @@ -0,0 +1,5 @@ +package models + +type Outputs []Output + +type Output []byte diff --git a/templateBuilder.go b/templateBuilder.go index fc58c7c..95a6ba7 100644 --- a/templateBuilder.go +++ b/templateBuilder.go @@ -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 +} diff --git a/test/templateBuilder_test.go b/test/templateBuilder_test.go index e1450f0..9a6c5c3 100644 --- a/test/templateBuilder_test.go +++ b/test/templateBuilder_test.go @@ -30,5 +30,5 @@ func TestTemplateBuilderData(t *testing.T) { t.Fatal(err) } - t.Log(string(data)) + t.Log(data) }