diff options
| author | Dave Henderson <dhenderson@gmail.com> | 2024-01-25 20:11:31 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-25 20:11:31 -0500 |
| commit | ebb97fb7367fb983cffc1935a8fb57e4b80f5249 (patch) | |
| tree | 43ef6cd01f629f60f59efe1e5b003f7c8e3a1257 /internal/funcs/env.go | |
| parent | f1d9158ea99abbe556251c1ff2fe970f3b460ee9 (diff) | |
Move funcs package to internal (#1977)
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to 'internal/funcs/env.go')
| -rw-r--r-- | internal/funcs/env.go | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/internal/funcs/env.go b/internal/funcs/env.go new file mode 100644 index 00000000..0df63b3e --- /dev/null +++ b/internal/funcs/env.go @@ -0,0 +1,49 @@ +package funcs + +import ( + "context" + + "github.com/hairyhenderson/gomplate/v4/conv" + "github.com/hairyhenderson/gomplate/v4/env" +) + +// EnvNS - the Env namespace +// +// Deprecated: don't use +func EnvNS() *EnvFuncs { + return &EnvFuncs{} +} + +// AddEnvFuncs - +// +// Deprecated: use [CreateEnvFuncs] instead +func AddEnvFuncs(f map[string]interface{}) { + for k, v := range CreateEnvFuncs(context.Background()) { + f[k] = v + } +} + +// CreateEnvFuncs - +func CreateEnvFuncs(ctx context.Context) map[string]interface{} { + ns := &EnvFuncs{ctx} + + return map[string]interface{}{ + "env": func() interface{} { return ns }, + "getenv": ns.Getenv, + } +} + +// EnvFuncs - +type EnvFuncs struct { + ctx context.Context +} + +// Getenv - +func (EnvFuncs) Getenv(key interface{}, def ...string) string { + return env.Getenv(conv.ToString(key), def...) +} + +// ExpandEnv - +func (EnvFuncs) ExpandEnv(s interface{}) string { + return env.ExpandEnv(conv.ToString(s)) +} |
