...

Source file src/github.com/99designs/gqlgen/codegen/config/testdata/autobinding/scalars/model/model.go

Documentation: github.com/99designs/gqlgen/codegen/config/testdata/autobinding/scalars/model

     1  package model
     2  
     3  import (
     4  	"fmt"
     5  	"io"
     6  	"strings"
     7  )
     8  
     9  type Banned bool
    10  
    11  func (b Banned) MarshalGQL(w io.Writer) {
    12  	if b {
    13  		w.Write([]byte("true"))
    14  	} else {
    15  		w.Write([]byte("false"))
    16  	}
    17  }
    18  
    19  func (b *Banned) UnmarshalGQL(v interface{}) error {
    20  	switch v := v.(type) {
    21  	case string:
    22  		*b = strings.ToLower(v) == "true"
    23  		return nil
    24  	case bool:
    25  		*b = Banned(v)
    26  		return nil
    27  	default:
    28  		return fmt.Errorf("%T is not a bool", v)
    29  	}
    30  }
    31  

View as plain text