package servetpl import ( "fmt" "html/template" "os" textTemplate "text/template" "github.com/eternal-flame-AD/yoake/internal/servetpl/funcmap" ) func parseTemplateFileAs[M interface{ ~map[string]any }, T interface { *template.Template | *textTemplate.Template Parse(string) (T, error) New(name string) T Funcs(funcs M) T }](tpl T, name string, path string) (T, error) { slurpedFile, err := os.ReadFile(path) if err != nil { return nil, fmt.Errorf("error reading template file %s: %w", path, err) } res, err := tpl.New(name).Funcs(funcmap.GetFuncMap()).Parse(string(slurpedFile)) return res, err }