diff options
| author | Dave Henderson <dhenderson@gmail.com> | 2020-08-10 10:48:01 -0400 |
|---|---|---|
| committer | Dave Henderson <dhenderson@gmail.com> | 2020-08-23 19:31:31 -0400 |
| commit | 4be2c38bab8877d69d5f8f4a5f0370b6672fe0e6 (patch) | |
| tree | 3f9edd6bddeaaba5717f490231bd35eebdf58891 /funcs.go | |
| parent | 406832735e6c2d4f1598502405058f543b1ca16e (diff) | |
Add experimental mode
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'funcs.go')
| -rw-r--r-- | funcs.go | 59 |
1 files changed, 38 insertions, 21 deletions
@@ -1,34 +1,51 @@ package gomplate import ( + "context" "text/template" "github.com/hairyhenderson/gomplate/v3/data" "github.com/hairyhenderson/gomplate/v3/funcs" + "github.com/hairyhenderson/gomplate/v3/internal/config" ) -// Funcs - The function mappings are defined here! +// Funcs - +// Deprecated: use CreateFuncs instead func Funcs(d *data.Data) template.FuncMap { + ctx := context.Background() + cfg := config.FromContext(ctx) + return CreateFuncs(config.ContextWithConfig(ctx, cfg), d) +} + +// CreateFuncs - function mappings are created here +func CreateFuncs(ctx context.Context, d *data.Data) template.FuncMap { f := template.FuncMap{} - funcs.AddDataFuncs(f, d) - funcs.AWSFuncs(f) - funcs.AddGCPFuncs(f) - funcs.AddBase64Funcs(f) - funcs.AddNetFuncs(f) - funcs.AddReFuncs(f) - funcs.AddStringFuncs(f) - funcs.AddEnvFuncs(f) - funcs.AddConvFuncs(f) - funcs.AddTimeFuncs(f) - funcs.AddMathFuncs(f) - funcs.AddCryptoFuncs(f) - funcs.AddFileFuncs(f) - funcs.AddFilePathFuncs(f) - funcs.AddPathFuncs(f) - funcs.AddSockaddrFuncs(f) - funcs.AddTestFuncs(f) - funcs.AddCollFuncs(f) - funcs.AddUUIDFuncs(f) - funcs.AddRandomFuncs(f) + addToMap(f, funcs.CreateDataFuncs(ctx, d)) + addToMap(f, funcs.CreateAWSFuncs(ctx)) + addToMap(f, funcs.CreateGCPFuncs(ctx)) + addToMap(f, funcs.CreateBase64Funcs(ctx)) + addToMap(f, funcs.CreateNetFuncs(ctx)) + addToMap(f, funcs.CreateReFuncs(ctx)) + addToMap(f, funcs.CreateStringFuncs(ctx)) + addToMap(f, funcs.CreateEnvFuncs(ctx)) + addToMap(f, funcs.CreateConvFuncs(ctx)) + addToMap(f, funcs.CreateTimeFuncs(ctx)) + addToMap(f, funcs.CreateMathFuncs(ctx)) + addToMap(f, funcs.CreateCryptoFuncs(ctx)) + addToMap(f, funcs.CreateFileFuncs(ctx)) + addToMap(f, funcs.CreateFilePathFuncs(ctx)) + addToMap(f, funcs.CreatePathFuncs(ctx)) + addToMap(f, funcs.CreateSockaddrFuncs(ctx)) + addToMap(f, funcs.CreateTestFuncs(ctx)) + addToMap(f, funcs.CreateCollFuncs(ctx)) + addToMap(f, funcs.CreateUUIDFuncs(ctx)) + addToMap(f, funcs.CreateRandomFuncs(ctx)) return f } + +// addToMap - add src's entries to dst +func addToMap(dst, src map[string]interface{}) { + for k, v := range src { + dst[k] = v + } +} |
