From ebb97fb7367fb983cffc1935a8fb57e4b80f5249 Mon Sep 17 00:00:00 2001 From: Dave Henderson Date: Thu, 25 Jan 2024 20:11:31 -0500 Subject: Move funcs package to internal (#1977) Signed-off-by: Dave Henderson --- funcs/base64.go | 77 --------------------------------------------------------- 1 file changed, 77 deletions(-) delete mode 100644 funcs/base64.go (limited to 'funcs/base64.go') diff --git a/funcs/base64.go b/funcs/base64.go deleted file mode 100644 index b25a9091..00000000 --- a/funcs/base64.go +++ /dev/null @@ -1,77 +0,0 @@ -package funcs - -import ( - "context" - - "github.com/hairyhenderson/gomplate/v4/base64" - "github.com/hairyhenderson/gomplate/v4/conv" -) - -// Base64NS - the base64 namespace -// -// Deprecated: don't use -func Base64NS() *Base64Funcs { - return &Base64Funcs{} -} - -// AddBase64Funcs - -// -// Deprecated: use [CreateBase64Funcs] instead -func AddBase64Funcs(f map[string]interface{}) { - for k, v := range CreateBase64Funcs(context.Background()) { - f[k] = v - } -} - -// CreateBase64Funcs - -func CreateBase64Funcs(ctx context.Context) map[string]interface{} { - f := map[string]interface{}{} - - ns := &Base64Funcs{ctx} - f["base64"] = func() interface{} { return ns } - - return f -} - -// Base64Funcs - -type Base64Funcs struct { - ctx context.Context -} - -// Encode - -func (Base64Funcs) Encode(in interface{}) (string, error) { - b := toBytes(in) - return base64.Encode(b) -} - -// Decode - -func (Base64Funcs) Decode(in interface{}) (string, error) { - out, err := base64.Decode(conv.ToString(in)) - return string(out), err -} - -// DecodeBytes - -func (Base64Funcs) DecodeBytes(in interface{}) ([]byte, error) { - out, err := base64.Decode(conv.ToString(in)) - return out, err -} - -type byter interface { - Bytes() []byte -} - -func toBytes(in interface{}) []byte { - if in == nil { - return []byte{} - } - if s, ok := in.([]byte); ok { - return s - } - if s, ok := in.(byter); ok { - return s.Bytes() - } - if s, ok := in.(string); ok { - return []byte(s) - } - return []byte(conv.ToString(in)) -} -- cgit v1.2.3