Documentation ¶
Index ¶
- func Generate(cfg Config) error
- func GenerateCode(data *Data) error
- func GenerateServer(cfg Config, filename string) error
- type ArgSet
- type Config
- type Data
- type Directive
- type Enum
- type EnumValue
- type Field
- func (f *Field) ArgsFunc() string
- func (f *Field) CallArgs() string
- func (f *Field) ComplexityArgs() string
- func (f *Field) ComplexitySignature() string
- func (f *Field) GoNameUnexported() string
- func (f *Field) HasDirectives() bool
- func (f *Field) IsConcurrent() bool
- func (f *Field) IsMethod() bool
- func (f *Field) IsReserved() bool
- func (f *Field) IsVariable() bool
- func (f *Field) ResolverType() string
- func (f *Field) ShortInvocation() string
- func (f *Field) ShortResolverDeclaration() string
- type FieldArgument
- type GoFieldType
- type Interface
- type InterfaceImplementor
- type Model
- type ModelField
- type Object
- type Objects
- type PackageConfig
- type SchemaFilenames
- type TypeMap
- type TypeMapEntry
- type TypeMapField
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateCode ¶ added in v0.8.6
func GenerateServer ¶
Types ¶
type ArgSet ¶ added in v0.8.6
type ArgSet struct { Args []*FieldArgument FuncDecl string }
type Config ¶
type Config struct { SchemaFilename SchemaFilenames `yaml:"schema,omitempty"` SchemaStr map[string]string `yaml:"-"` Exec PackageConfig `yaml:"exec"` Model PackageConfig `yaml:"model"` Resolver PackageConfig `yaml:"resolver,omitempty"` Models TypeMap `yaml:"models,omitempty"` StructTag string `yaml:"struct_tag,omitempty"` FilePath string `yaml:"-"` // contains filtered or unexported fields }
func DefaultConfig ¶
func DefaultConfig() *Config
DefaultConfig creates a copy of the default config
func LoadConfig ¶
LoadConfig reads the gqlgen.yml config file
func LoadConfigFromDefaultLocations ¶
LoadConfigFromDefaultLocations looks for a config file in the current directory, and all parent directories walking up the tree. The closest config file will be returned.
type Data ¶ added in v0.8.6
type Data struct { Config *config.Config Schema *ast.Schema SchemaStr map[string]string Directives map[string]*Directive Objects Objects Inputs Objects Interfaces map[string]*Interface ReferencedTypes map[string]*config.TypeReference QueryRoot *Object MutationRoot *Object SubscriptionRoot *Object }
Data is a unified model of the code to be generated. Plugins may modify this structure to do things like implement resolvers or directives automatically (eg grpc, validation)
func (*Data) Args ¶ added in v0.8.6
func (a *Data) Args() map[string][]*FieldArgument
type Directive ¶
type Directive struct { Name string Args []*FieldArgument }
func (*Directive) Declaration ¶
type Field ¶
type Field struct { *ast.FieldDefinition TypeReference *config.TypeReference GoFieldType GoFieldType // The field type in go, if any GoReceiverName string // The name of method & var receiver in go, if any GoFieldName string // The name of the method or var in go, if any IsResolver bool // Does this field need a resolver Args []*FieldArgument // A list of arguments to be passed to this field MethodHasContext bool // If this is bound to a go method, does the method also take a context NoErr bool // If this is bound to a go method, does that method have an error as the second argument Object *Object // A link back to the parent object Default interface{} // The default value Directives []*Directive }
func (*Field) ComplexityArgs ¶ added in v0.5.0
func (*Field) ComplexitySignature ¶ added in v0.5.0
func (*Field) GoNameUnexported ¶
func (*Field) HasDirectives ¶ added in v0.8.6
func (*Field) IsConcurrent ¶
func (*Field) IsReserved ¶ added in v0.5.0
func (*Field) IsVariable ¶
func (*Field) ResolverType ¶
func (*Field) ShortInvocation ¶
func (*Field) ShortResolverDeclaration ¶
type FieldArgument ¶
type FieldArgument struct { *ast.ArgumentDefinition TypeReference *config.TypeReference VarName string // The name of the var in go Object *Object // A link back to the parent object Default interface{} // The default value Directives []*Directive Value interface{} // value set in Data }
func (*FieldArgument) Stream ¶
func (f *FieldArgument) Stream() bool
type GoFieldType ¶
type GoFieldType int
const ( GoFieldUndefined GoFieldType = iota GoFieldMethod GoFieldVariable )
type Interface ¶
type Interface struct { *ast.Definition Type types.Type Implementors []InterfaceImplementor InTypemap bool }
type InterfaceImplementor ¶
type InterfaceImplementor struct { *ast.Definition Interface *Interface Type types.Type }
func (*InterfaceImplementor) ValueReceiver ¶
func (i *InterfaceImplementor) ValueReceiver() bool
type Model ¶
type Model struct { *NamedType Description string Fields []ModelField Implements []*NamedType }
type ModelField ¶
type Object ¶
type Object struct { *ast.Definition Type types.Type ResolverInterface types.Type Root bool Fields []*Field Implements []*ast.Definition DisableConcurrency bool Stream bool Directives []*Directive }
func (*Object) Description ¶ added in v0.8.6
func (*Object) HasDirectives ¶ added in v0.8.6
func (*Object) HasResolvers ¶
func (*Object) HasUnmarshal ¶ added in v0.8.6
func (*Object) Implementors ¶
func (*Object) IsConcurrent ¶ added in v0.5.0
func (*Object) IsReserved ¶ added in v0.5.0
type PackageConfig ¶
type PackageConfig struct { Filename string `yaml:"filename,omitempty"` Package string `yaml:"package,omitempty"` Type string `yaml:"type,omitempty"` }
func (*PackageConfig) Check ¶
func (c *PackageConfig) Check() error
func (*PackageConfig) Dir ¶
func (c *PackageConfig) Dir() string
func (*PackageConfig) ImportPath ¶
func (c *PackageConfig) ImportPath() string
func (*PackageConfig) IsDefined ¶
func (c *PackageConfig) IsDefined() bool
type SchemaFilenames ¶ added in v0.7.0
type SchemaFilenames []string
func (SchemaFilenames) Has ¶ added in v0.7.0
func (a SchemaFilenames) Has(file string) bool
func (*SchemaFilenames) UnmarshalYAML ¶ added in v0.7.0
func (a *SchemaFilenames) UnmarshalYAML(unmarshal func(interface{}) error) error
type TypeMap ¶
type TypeMap map[string]TypeMapEntry
type TypeMapEntry ¶
type TypeMapEntry struct { Model string `yaml:"model"` Fields map[string]TypeMapField `yaml:"fields,omitempty"` }
type TypeMapField ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.