本文整理汇总了Golang中github.com/graphql-go/graphql/language/ast.Definition.GetOperation方法的典型用法代码示例。如果您正苦于以下问题:Golang Definition.GetOperation方法的具体用法?Golang Definition.GetOperation怎么用?Golang Definition.GetOperation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/graphql-go/graphql/language/ast.Definition
的用法示例。
在下文中一共展示了Definition.GetOperation方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: getOperationRootType
// Extracts the root type of the operation from the schema.
func getOperationRootType(schema Schema, operation ast.Definition) (*Object, error) {
if operation == nil {
return nil, errors.New("Can only execute queries and mutations")
}
switch operation.GetOperation() {
case ast.OperationTypeQuery:
return schema.QueryType(), nil
case ast.OperationTypeMutation:
mutationType := schema.MutationType()
if mutationType.PrivateName == "" {
return nil, gqlerrors.NewError(
"Schema is not configured for mutations",
[]ast.Node{operation},
"",
nil,
[]int{},
nil,
)
}
return mutationType, nil
case ast.OperationTypeSubscription:
subscriptionType := schema.SubscriptionType()
if subscriptionType.PrivateName == "" {
return nil, gqlerrors.NewError(
"Schema is not configured for subscriptions",
[]ast.Node{operation},
"",
nil,
[]int{},
nil,
)
}
return subscriptionType, nil
default:
return nil, gqlerrors.NewError(
"Can only execute queries, mutations and subscription",
[]ast.Node{operation},
"",
nil,
[]int{},
nil,
)
}
}
示例2: getOperationRootType
// Extracts the root type of the operation from the schema.
func getOperationRootType(schema Schema, operation ast.Definition) (*Object, error) {
if operation == nil {
return nil, errors.New("Can only execute queries and mutations")
}
switch operation.GetOperation() {
case "query":
return schema.GetQueryType(), nil
case "mutation":
mutationType := schema.GetMutationType()
if mutationType.Name == "" {
return nil, errors.New("Schema is not configured for mutations")
}
return mutationType, nil
default:
return nil, errors.New("Can only execute queries and mutations")
}
}