Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var TemplateFuncsNamespaceRegistry []func(d *deps.Deps) *TemplateFuncsNamespace
TemplateFuncsNamespaceRegistry describes a registry of functions that provide namespaces.
Functions ¶
func AddTemplateFuncsNamespace ¶
func AddTemplateFuncsNamespace(ns func(d *deps.Deps) *TemplateFuncsNamespace)
AddTemplateFuncsNamespace adds a given function to a registry.
Types ¶
type TemplateFuncMethodMapping ¶
type TemplateFuncMethodMapping struct {
Method any
// Any template funcs aliases. This is mainly motivated by keeping
// backwards compatibility, but some new template funcs may also make
// sense to give short and snappy aliases.
// Note that these aliases are global and will be merged, so the last
// key will win.
Aliases []string
// A slice of input/expected examples.
// We keep it a the namespace level for now, but may find a way to keep track
// of the single template func, for documentation purposes.
// Some of these, hopefully just a few, may depend on some test data to run.
Examples [][2]string
}
TemplateFuncMethodMapping represents a mapping of functions to methods for a given namespace.
type TemplateFuncsNamespace ¶
type TemplateFuncsNamespace struct {
// The namespace name, "strings", "lang", etc.
Name string
// This is the method receiver.
Context func(ctx context.Context, v ...any) (any, error)
// OnCreated is called when all the namespaces are ready.
OnCreated func(namespaces map[string]any)
// Additional info, aliases and examples, per method name.
MethodMappings map[string]TemplateFuncMethodMapping
}
TemplateFuncsNamespace represents a template function namespace.
func (*TemplateFuncsNamespace) AddMethodMapping ¶
func (t *TemplateFuncsNamespace) AddMethodMapping(m any, aliases []string, examples [][2]string)
AddMethodMapping adds a method to a template function namespace.
type TemplateFuncsNamespaces ¶
type TemplateFuncsNamespaces []*TemplateFuncsNamespace
TemplateFuncsNamespaces is a slice of TemplateFuncsNamespace.
func (TemplateFuncsNamespaces) MarshalJSON ¶
func (namespaces TemplateFuncsNamespaces) MarshalJSON() ([]byte, error)
MarshalJSON returns the JSON encoding of namespaces.
func (TemplateFuncsNamespaces) ToMap ¶
func (namespaces TemplateFuncsNamespaces) ToMap() map[string]any
ToMap returns a limited map representation of the namespaces.
Directories
¶
| Path | Synopsis |
|---|---|
|
go_templates
|
|
|
cfg
Package cfg holds configuration shared by the Go command and internal/testenv.
|
Package cfg holds configuration shared by the Go command and internal/testenv. |
|
fmtsort
Package fmtsort provides a general stable ordering mechanism for maps, on behalf of the fmt and text/template packages.
|
Package fmtsort provides a general stable ordering mechanism for maps, on behalf of the fmt and text/template packages. |
|
htmltemplate
Package template (html/template) implements data-driven templates for generating HTML output safe against code injection.
|
Package template (html/template) implements data-driven templates for generating HTML output safe against code injection. |
|
testenv
Package testenv provides information about what functionality is available in different testing environments run by the Go team.
|
Package testenv provides information about what functionality is available in different testing environments run by the Go team. |
|
texttemplate
Package template implements data-driven templates for generating textual output.
|
Package template implements data-driven templates for generating textual output. |
|
texttemplate/parse
Package parse builds parse trees for templates as defined by text/template and html/template.
|
Package parse builds parse trees for templates as defined by text/template and html/template. |
Click to show internal directories.
Click to hide internal directories.