add new multiple generate function
This commit is contained in:
5
models/output.go
Normal file
5
models/output.go
Normal file
@@ -0,0 +1,5 @@
|
||||
package models
|
||||
|
||||
type Outputs []Output
|
||||
|
||||
type Output []byte
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -30,5 +30,5 @@ func TestTemplateBuilderData(t *testing.T) {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
t.Log(string(data))
|
||||
t.Log(data)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user