INNER CODE UNIT · Go
t
shurcooL/githubv4 · gen.go:129
func t(text string) *template.Template {
// typeString returns a string representation of GraphQL type t.
var typeString func(t map[string]interface{}) string
typeString = func(t map[string]interface{}) string {
switch t["kind"] {
case "NON_NULL":
s := typeString(t["ofType"].(map[string]interface{}))
if !strings.HasPrefix(s, "*") {
panic(fmt.Errorf("nullable type %q doesn't begin with '*'", s))
}
return s[1:] // Strip star from nullable type to make it non-null.
case "LIST":
return "*[]" + typeString(t["ofType"].(map[string]interface{}))
default:
return "*" + t["name"].(string)
}
}