37 lines
623 B
Go
37 lines
623 B
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"encoding/json"
|
||
|
"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)
|
||
|
},
|
||
|
"first": func(a []string) string {
|
||
|
return a[0]
|
||
|
},
|
||
|
"last": func(a []string) string {
|
||
|
return a[len(a)-1]
|
||
|
},
|
||
|
}
|
||
|
|
||
|
func init() {
|
||
|
for k, v := range sprig.TxtFuncMap() {
|
||
|
ProtoHelpersFuncMap[k] = v
|
||
|
}
|
||
|
}
|