github.com/operandinc/gqlgen@v0.16.1/codegen/testserver/followschema/bytes.go (about) 1 package followschema 2 3 import ( 4 "fmt" 5 "io" 6 7 "github.com/operandinc/gqlgen/graphql" 8 ) 9 10 func MarshalBytes(b []byte) graphql.Marshaler { 11 return graphql.WriterFunc(func(w io.Writer) { 12 _, _ = fmt.Fprintf(w, "%q", string(b)) 13 }) 14 } 15 16 func UnmarshalBytes(v interface{}) ([]byte, error) { 17 switch v := v.(type) { 18 case string: 19 return []byte(v), nil 20 case *string: 21 return []byte(*v), nil 22 case []byte: 23 return v, nil 24 default: 25 return nil, fmt.Errorf("%T is not []byte", v) 26 } 27 }