package storage import ( "strings" "text/template" "git.sr.ht/~cco/go-scopes/logging/log" ) var TemplateFunctions = map[string]any{ "toLower": strings.ToLower, "add1": func(i int) int { return i + 1 }, "add2": func(i int) int { return i + 2 }, "add": func(i, j int) int { return i + j }, } func Template(name, src string) *template.Template { t := template.New(name).Funcs(TemplateFunctions) t, err := t.Parse(src) if err != nil { panic(err) } return t } func BuildSql(t *template.Template, data any) string { var out strings.Builder err := t.Execute(&out, data) if err != nil { log.Error(err).Msg("storage.template.BuildSql") return "" } return out.String() }