Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ArgValidatorFn ¶
type BuildRootSchemaConfig ¶
type BuildRootSchemaConfig struct { }
BuildRootSchemaConfig Configuration for building the root schema, currently a placeholder
type FieldBuilder ¶
type FieldBuilder[argT any, outT any] interface { WithDescription(desc string) FieldBuilder[argT, outT] WithResolver(resolverFunc ResolverFn[argT, outT]) FieldBuilder[argT, outT] WithCustomArgValidator(fn ArgValidatorFn) FieldBuilder[argT, outT] Build() (field *graphql.Field, err error) MustBuild() *graphql.Field AddMiddleware(middlewareFn ResolverMiddlewareFn) FieldBuilder[argT, outT] }
FieldBuilder interface, put NoArgs to use no args
func NewFieldBuilder ¶
func NewFieldBuilder[argT any, outT any](cfgArgs ...FieldBuilderConfig) FieldBuilder[argT, outT]
type FieldBuilderConfig ¶
type FieldBuilderConfig struct { Translator Translator ArgValidator ArgValidatorFn Middlewares []ResolverMiddlewareFn }
type MutationQueryCollector ¶
type MutationQueryCollector interface { PushMutations(mutations graphql.Fields) PushQueries(queries graphql.Fields) BuildRootSchema(optionalCfg ...BuildRootSchemaConfig) (schema graphql.Schema, err error) Mutations() graphql.Fields Queries() graphql.Fields }
MutationQueryCollector A simple Collector struct for *graphql.Field maps for queries and mutations
func NewMutationQueryCollector ¶
func NewMutationQueryCollector() MutationQueryCollector
NewMutationQueryCollector Returns a new mutationQueryCollector
type ResolverFn ¶
type ResolverFn[argT any, outT any] func(p graphql.ResolveParams, arg argT) (outT, error)
type ResolverMiddlewareFn ¶
type ResolverMiddlewareFn func(nextFn graphql.FieldResolveFn) graphql.FieldResolveFn
type TranslationMap ¶
TranslationMap is a map that stores the graphql.Output according to it's type
type Translator ¶
type Translator interface { Translate(t interface{}) (ret graphql.Output, err error) TranslateInput(t interface{}) (ret *graphql.InputObject, err error) TranslateArgs(t interface{}) (ret graphql.FieldConfigArgument, err error) MustTranslate(t interface{}) graphql.Output MustTranslateInput(t interface{}) *graphql.InputObject MustTranslateArgs(t interface{}) (ret graphql.FieldConfigArgument) }
Translator purpose is to provide an easy way of translating various types into graphql types
func NewTranslator ¶
func NewTranslator(args ...*TranslatorConfig) Translator
NewTranslator returns a new translator It also stores already translated graphql.Object/graphql.InputObject to eliminate duplicates
type TranslatorConfig ¶
type TranslatorConfig struct { // PredefinedTranslation ignores whether it's a pointer or not, beware! PredefinedTranslation TranslationMap }
TranslatorConfig Stores the configuration of the graphql object builder