diff options
-rw-r--r-- | http_template_funcs.go | 8 | ||||
-rw-r--r-- | resources.go | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/http_template_funcs.go b/http_template_funcs.go index 5395b92..2a7d826 100644 --- a/http_template_funcs.go +++ b/http_template_funcs.go @@ -29,3 +29,11 @@ func queryEscape(s string) string { func dereference[T any](p *T) T { return *p } + +func dereference_or_zero[T any](p *T) T { + if p != nil { + return *p + } + var z T + return z +} diff --git a/resources.go b/resources.go index 2576c12..fb67102 100644 --- a/resources.go +++ b/resources.go @@ -44,7 +44,7 @@ func loadTemplates() (err error) { "base_name": baseName, "path_escape": pathEscape, "query_escape": queryEscape, - "dereference_error": dereference[error], + "dereference_error": dereference_or_zero[error], }) err = fs.WalkDir(resourcesFS, "templates", func(path string, d fs.DirEntry, err error) error { |