From ad84857ea7a42ba713406a153c82e63660d21f70 Mon Sep 17 00:00:00 2001 From: "Gustavo \"Guz\" L de Mello" Date: Tue, 21 Oct 2025 21:44:42 -0300 Subject: [PATCH] feat(xtemplate): init package, Template interface New package focused on improving text/template and html/template std packages. --- xtemplate/xtemplate.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 xtemplate/xtemplate.go diff --git a/xtemplate/xtemplate.go b/xtemplate/xtemplate.go new file mode 100644 index 0000000..08d227c --- /dev/null +++ b/xtemplate/xtemplate.go @@ -0,0 +1,31 @@ +package xtemplate + +import ( + "io" + "io/fs" + "text/template/parse" +) + +type Template interface { + AddParseTree(name string, tree *parse.Tree) (Template, error) + Clone() (Template, error) + DefinedTemplates() string + Delims(left, right string) Template + Funcs(funcMap template.FuncMap) Template + Lookup(name string) Template + Name() string + New(name string) Template + Option(opt ...string) Template + Parse(text string) (Template, error) + ParseFS(fs fs.FS, patterns ...string) (Template, error) + ParseFiles(filenames ...string) (Template, error) + ParseGlob(pattern string) (Template, error) + Templates() []Template + + Templater +} + +type Templater interface { + Execute(wr io.Writer, data any) error + ExecuteTemplate(wr io.Writer, name string, data any) error +}