git-bug/bug/label.go
2018-07-29 20:56:03 +02:00

30 lines
476 B
Go

package bug
import (
"fmt"
"io"
)
type Label string
func (l Label) String() string {
return string(l)
}
// UnmarshalGQL implements the graphql.Marshaler interface
func (l *Label) UnmarshalGQL(v interface{}) error {
_, ok := v.(string)
if !ok {
return fmt.Errorf("labels must be strings")
}
*l = v.(Label)
return nil
}
// MarshalGQL implements the graphql.Marshaler interface
func (l Label) MarshalGQL(w io.Writer) {
w.Write([]byte(`"` + l.String() + `"`))
}