1
0
Fork 0
mirror of https://github.com/Luzifer/yaml-vault.git synced 2025-01-07 20:41:52 +00:00
yaml-vault/vendor/github.com/Luzifer/korvike/functions/collect.go
Knut Ahlers b4574de797
Update dependencies, switch to dep for vendoring
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2019-01-09 16:20:41 +01:00

30 lines
716 B
Go

package functions
import (
"errors"
"sync"
"text/template"
)
var (
templateFunctions = template.FuncMap{}
templateFunctionsLock sync.Mutex
)
func registerFunction(name string, f interface{}) error {
templateFunctionsLock.Lock()
defer templateFunctionsLock.Unlock()
if _, ok := templateFunctions[name]; ok {
return errors.New("Duplicate function for name " + name)
}
templateFunctions[name] = f
return nil
}
// GetFunctionMap exports all functions used in korvike to be used in own projects
// Example:
// import korvike "github.com/Luzifer/korvike"
// tpl := template.New("mytemplate").Funcs(korvike.GetFunctionMap())
func GetFunctionMap() template.FuncMap {
return templateFunctions
}