codegen

package
v0.0.0-...-c52f24a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 15, 2018 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Generate

func Generate(cfg Config) error

Types

type BindError

type BindError struct {
	// contains filtered or unexported fields
}

func (BindError) Error

func (b BindError) Error() string

type BindErrors

type BindErrors []BindError

func (BindErrors) Error

func (b BindErrors) Error() string

type Build

type Build struct {
	PackageName      string
	Objects          Objects
	Inputs           Objects
	Interfaces       []*Interface
	Imports          []*Import
	QueryRoot        *Object
	MutationRoot     *Object
	SubscriptionRoot *Object
	SchemaRaw        string
}

type Config

type Config struct {
	SchemaFilename string        `yaml:"schema,omitempty"`
	SchemaStr      string        `yaml:"-"`
	Exec           PackageConfig `yaml:"exec"`
	Model          PackageConfig `yaml:"model"`
	Models         TypeMap       `yaml:"models,omitempty"`
	// contains filtered or unexported fields
}

func LoadConfig

func LoadConfig(filename string) (*Config, error)

LoadConfig reads the gqlgen.yml config file

func LoadDefaultConfig

func LoadDefaultConfig() (*Config, error)

LoadDefaultConfig looks for a config file in the current directory, and all parent directories walking up the tree. The closest config file will be returned.

func (*Config) Check

func (cfg *Config) Check() error

type Enum

type Enum struct {
	*NamedType

	Values []EnumValue
}

type EnumValue

type EnumValue struct {
	Name        string
	Description string
}

type Field

type Field struct {
	*Type

	GQLName       string          // The name of the field in graphql
	GoMethodName  string          // The name of the method in go, if any
	GoVarName     string          // The name of the var in go, if any
	Args          []FieldArgument // A list of arguments to be passed to this field
	ForceResolver bool            // Should be emit Resolver method
	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
}

func (*Field) CallArgs

func (f *Field) CallArgs() string

func (*Field) IsConcurrent

func (f *Field) IsConcurrent() bool

func (*Field) IsResolver

func (f *Field) IsResolver() bool

func (*Field) ResolverDeclaration

func (f *Field) ResolverDeclaration() string

func (*Field) ShortInvocation

func (f *Field) ShortInvocation() string

func (*Field) ShortResolverDeclaration

func (f *Field) ShortResolverDeclaration() string

func (*Field) WriteJson

func (f *Field) WriteJson() string

should be in the template, but its recursive and has a bunch of args

type FieldArgument

type FieldArgument struct {
	*Type

	GQLName   string      // The name of the argument in graphql
	GoVarName string      // The name of the var in go
	Object    *Object     // A link back to the parent object
	Default   interface{} // The default value
}

type Import

type Import struct {
	Name string
	Path string
	// contains filtered or unexported fields
}

func (*Import) Alias

func (i *Import) Alias() string

func (*Import) Write

func (i *Import) Write() string

type Imports

type Imports struct {
	// contains filtered or unexported fields
}

type Interface

type Interface struct {
	*NamedType

	Implementors []InterfaceImplementor
}

type InterfaceImplementor

type InterfaceImplementor struct {
	ValueReceiver bool

	*NamedType
}

type Model

type Model struct {
	*NamedType

	Fields []ModelField
}

type ModelBuild

type ModelBuild struct {
	PackageName string
	Imports     []*Import
	Models      []Model
	Enums       []Enum
}

type ModelField

type ModelField struct {
	*Type
	GQLName   string
	GoVarName string
	GoFKName  string
	GoFKType  string
}

type NamedType

type NamedType struct {
	Ref
	IsScalar    bool
	IsInterface bool
	IsInput     bool
	GQLType     string // Name of the graphql type
	Marshaler   *Ref   // If this type has an external marshaler this will be set
}

func (NamedType) IsMarshaled

func (t NamedType) IsMarshaled() bool

type NamedTypes

type NamedTypes map[string]*NamedType

type Object

type Object struct {
	*NamedType

	Fields             []Field
	Satisfies          []string
	Root               bool
	DisableConcurrency bool
	Stream             bool
}

func (*Object) HasResolvers

func (o *Object) HasResolvers() bool

func (*Object) Implementors

func (o *Object) Implementors() string

type Objects

type Objects []*Object

func (Objects) ByName

func (os Objects) ByName(name string) *Object

type PackageConfig

type PackageConfig struct {
	Filename string `yaml:"filename,omitempty"`
	Package  string `yaml:"package,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

type Ref

type Ref struct {
	GoType        string  // Name of the go type
	Package       string  // the package the go type lives in
	Import        *Import // the resolved import with alias
	IsUserDefined bool    // does the type exist in the typemap
}

func (Ref) FullName

func (t Ref) FullName() string

func (Ref) PkgDot

func (t Ref) PkgDot() string

type Type

type Type struct {
	*NamedType

	Modifiers []string
	CastType  *Ref // the type to cast to when unmarshalling
}

func (Type) FullSignature

func (t Type) FullSignature() string

func (Type) IsPtr

func (t Type) IsPtr() bool

func (Type) IsSlice

func (t Type) IsSlice() bool

func (Type) Marshal

func (t Type) Marshal(val string) string

func (Type) Signature

func (t Type) Signature() string

func (*Type) StripPtr

func (t *Type) StripPtr()

func (Type) Unmarshal

func (t Type) Unmarshal(result, raw string) string

type TypeMap

type TypeMap map[string]TypeMapEntry

func (TypeMap) Check

func (tm TypeMap) Check() error

func (TypeMap) Exists

func (tm TypeMap) Exists(typeName string) bool

type TypeMapEntry

type TypeMapEntry struct {
	Model  string                  `yaml:"model"`
	Fields map[string]TypeMapField `yaml:"fields,omitempty"`
}

type TypeMapField

type TypeMapField struct {
	Resolver bool `yaml:"resolver"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL