stash/vendor/github.com/99designs/gqlgen/plugin/plugin.go
WithoutPants 7a45943e8e
Stash box client interface (#751)
* Add gql client generation files
* Update dependencies
* Add stash-box client generation to the makefile
* Move scraped scene object matchers to models
* Add stash-box to scrape with dropdown
* Add scrape scene from fingerprint in UI
2020-09-17 19:57:18 +10:00

31 lines
742 B
Go

// plugin package interfaces are EXPERIMENTAL.
package plugin
import (
"github.com/99designs/gqlgen/codegen"
"github.com/99designs/gqlgen/codegen/config"
"github.com/vektah/gqlparser/v2/ast"
)
type Plugin interface {
Name() string
}
type ConfigMutator interface {
MutateConfig(cfg *config.Config) error
}
type CodeGenerator interface {
GenerateCode(cfg *codegen.Data) error
}
// EarlySourceInjector is used to inject things that are required for user schema files to compile.
type EarlySourceInjector interface {
InjectSourceEarly() *ast.Source
}
// LateSourceInjector is used to inject more sources, after we have loaded the users schema.
type LateSourceInjector interface {
InjectSourceLate(schema *ast.Schema) *ast.Source
}