github.com/fortexxx/gqlgen@v0.10.3-0.20191216030626-ca5ea8b21ead/plugin/plugin.go (about)

     1  // plugin package interfaces are EXPERIMENTAL.
     2  
     3  package plugin
     4  
     5  import (
     6  	"github.com/99designs/gqlgen/codegen"
     7  	"github.com/99designs/gqlgen/codegen/config"
     8  )
     9  
    10  type Plugin interface {
    11  	Name() string
    12  }
    13  
    14  type ConfigMutator interface {
    15  	MutateConfig(cfg *config.Config) error
    16  }
    17  
    18  type CodeGenerator interface {
    19  	GenerateCode(cfg *codegen.Data) error
    20  }
    21  
    22  type SourcesInjector interface {
    23  	InjectSources(cfg *config.Config)
    24  }