protoc-gen-go-micro/helpers.go

44 lines
805 B
Go
Raw Normal View History

package main
import (
"encoding/json"
"strings"
"text/template"
"github.com/Masterminds/sprig"
)
var ProtoHelpersFuncMap = template.FuncMap{
"string": func(i interface {
String() string
}) string {
return i.String()
},
"json": func(v interface{}) string {
a, _ := json.Marshal(v)
return string(a)
},
"prettyjson": func(v interface{}) string {
a, _ := json.MarshalIndent(v, "", " ")
return string(a)
},
"splitArray": func(sep string, s string) []string {
return strings.Split(s, sep)
},
"first": func(a []string) string {
return a[0]
},
"last": func(a []string) string {
return a[len(a)-1]
},
"lowerFirst": func(s string) string {
return strings.ToLower(s[:1]) + s[1:]
},
}
func init() {
for k, v := range sprig.TxtFuncMap() {
ProtoHelpersFuncMap[k] = v
}
}