Documentation
¶
Index ¶
- Constants
- func IsZeroValue(value any) bool
- func MarshalGQL(ctx context.Context, v any) (string, error)
- type GraphQLMarshaller
- type QueryBuilder
- func (q *QueryBuilder) Arg(name string, value any) *QueryBuilder
- func (q *QueryBuilder) Bind(v any) *QueryBuilder
- func (q *QueryBuilder) Build(ctx context.Context) (string, error)
- func (q *QueryBuilder) Client(c graphql.Client) *QueryBuilder
- func (q *QueryBuilder) Execute(ctx context.Context) error
- func (q *QueryBuilder) InlineFragment(typeName string) *QueryBuilder
- func (q *QueryBuilder) Root() *QueryBuilder
- func (q *QueryBuilder) Select(name string) *QueryBuilder
- func (q *QueryBuilder) SelectFields(fields ...string) *QueryBuilder
- func (q *QueryBuilder) SelectMixed(simpleFields []string, nestedSelections map[string]*QueryBuilder) *QueryBuilder
- func (q *QueryBuilder) SelectMultiple(name ...string) *QueryBuilder
- func (q *QueryBuilder) SelectNested(field string, subSelection *QueryBuilder) *QueryBuilder
- func (q *QueryBuilder) SelectWithAlias(alias, name string) *QueryBuilder
- type Selection
Constants ¶
View Source
const ( GraphQLMarshallerType = "XXX_GraphQLType" GraphQLMarshallerIDType = "XXX_GraphQLIDType" GraphQLMarshallerID = "XXX_GraphQLID" )
Variables ¶
This section is empty.
Functions ¶
func IsZeroValue ¶
Types ¶
type GraphQLMarshaller ¶
type GraphQLMarshaller interface {
// XXX_GraphQLType is an internal function. It returns the native GraphQL type name
XXX_GraphQLType() string
// XXX_GraphQLIDType is an internal function. It returns the native GraphQL type name for the ID of this object
XXX_GraphQLIDType() string
// XXX_GraphqlID is an internal function. It returns the underlying type ID
XXX_GraphQLID(ctx context.Context) (string, error)
json.Marshaler
}
GraphQLMarshaller is an internal interface for marshalling an object into GraphQL.
type QueryBuilder ¶
type QueryBuilder struct {
// contains filtered or unexported fields
}
QueryBuilder represents a GraphQL query builder using a chain-based approach
func Mutation ¶
func Mutation() *QueryBuilder
Mutation creates a new QueryBuilder for a mutation operation.
func (*QueryBuilder) Arg ¶
func (q *QueryBuilder) Arg(name string, value any) *QueryBuilder
func (*QueryBuilder) Bind ¶
func (q *QueryBuilder) Bind(v any) *QueryBuilder
func (*QueryBuilder) Client ¶
func (q *QueryBuilder) Client(c graphql.Client) *QueryBuilder
func (*QueryBuilder) InlineFragment ¶
func (q *QueryBuilder) InlineFragment(typeName string) *QueryBuilder
InlineFragment adds an inline fragment type condition (... on TypeName). Subsequent selections will be nested inside the fragment. The response data is flat — the fragment doesn't add a nesting level during unpack.
func (*QueryBuilder) Root ¶
func (q *QueryBuilder) Root() *QueryBuilder
func (*QueryBuilder) Select ¶
func (q *QueryBuilder) Select(name string) *QueryBuilder
func (*QueryBuilder) SelectFields ¶
func (q *QueryBuilder) SelectFields(fields ...string) *QueryBuilder
SelectFields selects multiple fields at the current level
func (*QueryBuilder) SelectMixed ¶
func (q *QueryBuilder) SelectMixed(simpleFields []string, nestedSelections map[string]*QueryBuilder) *QueryBuilder
SelectMixed allows mixing simple fields and nested selections at the same level
func (*QueryBuilder) SelectMultiple ¶
func (q *QueryBuilder) SelectMultiple(name ...string) *QueryBuilder
func (*QueryBuilder) SelectNested ¶
func (q *QueryBuilder) SelectNested(field string, subSelection *QueryBuilder) *QueryBuilder
SelectNested selects a field with nested sub-selections
func (*QueryBuilder) SelectWithAlias ¶
func (q *QueryBuilder) SelectWithAlias(alias, name string) *QueryBuilder
Click to show internal directories.
Click to hide internal directories.