Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MarshalID

func MarshalID(id external.ObjectID) graphql.Marshaler

    Lets redefine the base ID type to use an id from an external library

    func MarshalPreferences

    func MarshalPreferences(p *Prefs) graphql.Marshaler

    func MarshalTimestamp

    func MarshalTimestamp(t time.Time) graphql.Marshaler

      if the type referenced in .gqlgen.yml is a function that returns a marshaller we can use it to encode and decode onto any existing go type.

      func UnmarshalID

      func UnmarshalID(v interface{}) (external.ObjectID, error)

        And the same for the unmarshaler

        func UnmarshalTimestamp

        func UnmarshalTimestamp(v interface{}) (time.Time, error)

          Unmarshal{Typename} is only required if the scalar appears as an input. The raw values have already been decoded from json into int/float64/bool/nil/map[string]interface/[]interface

          Types

          type Address

          type Address struct {
          	ID       external.ObjectID `json:"id"`
          	Location *Point            `json:"location"`
          }

          type Banned

          type Banned bool

          func (Banned) MarshalGQL

          func (b Banned) MarshalGQL(w io.Writer)

          func (*Banned) UnmarshalGQL

          func (b *Banned) UnmarshalGQL(v interface{}) error

          type Point

          type Point struct {
          	X int
          	Y int
          }

            Point is serialized as a simple array, eg [1, 2]

            func (Point) MarshalGQL

            func (p Point) MarshalGQL(w io.Writer)

              MarshalGQL implements the graphql.Marshaler interface

              func (*Point) UnmarshalGQL

              func (p *Point) UnmarshalGQL(v interface{}) error

              type Prefs

              type Prefs struct {
              	DarkMode bool
              }

              func UnmarshalPreferences

              func UnmarshalPreferences(v interface{}) (*Prefs, error)

              type SearchArgs

              type SearchArgs struct {
              	Location     *Point
              	CreatedAfter *time.Time
              	IsBanned     Banned
              }

              type Tier

              type Tier uint

                A custom enum that uses integers to represent the values in memory but serialize as string for graphql

                const (
                	TierA Tier = iota
                	TierB Tier = iota
                	TierC Tier = iota
                )

                func TierForStr

                func TierForStr(str string) (Tier, error)

                func (Tier) IsValid

                func (e Tier) IsValid() bool

                func (Tier) MarshalGQL

                func (e Tier) MarshalGQL(w io.Writer)

                func (Tier) String

                func (e Tier) String() string

                func (*Tier) UnmarshalGQL

                func (e *Tier) UnmarshalGQL(v interface{}) error

                type User

                type User struct {
                	ID       external.ObjectID
                	Name     string
                	Created  time.Time  // direct binding to builtin types with external Marshal/Unmarshal methods
                	Modified *time.Time // direct binding to builtin types with external Marshal/Unmarshal methods
                	ValPrefs Prefs      // external un/marshal that act on pointers
                	PtrPrefs *Prefs
                	IsBanned Banned
                	Address  Address
                	Tier     Tier
                }