togoist/togoist.go

27 lines
553 B
Go
Raw Permalink Normal View History

2016-10-09 18:10:34 +00:00
package togoist
import (
"bytes"
"encoding/json"
"html/template"
)
func TogoString(tmpl, jsonInput string) (string, error) {
t := template.Must(template.New("togoist").Parse(tmpl)) // must is probably wrong
var j interface{}
err := json.Unmarshal([]byte(jsonInput), &j)
if err != nil {
return "", err
}
b := []byte{}
out := bytes.NewBuffer(b)
err = t.Execute(out, j)
if err != nil {
return "", err
}
return out.String(), nil
}
func Togo(tmpl, jsonInput []byte) (string, error) {
return TogoString(string(tmpl), string(jsonInput))
}