-
-
Notifications
You must be signed in to change notification settings - Fork 725
/
IObjectFieldDescriptor.cs
92 lines (67 loc) · 2.6 KB
/
IObjectFieldDescriptor.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
using System;
using System.Linq.Expressions;
using System.Reflection;
using HotChocolate.Language;
using HotChocolate.Resolvers;
using HotChocolate.Types.Descriptors.Definitions;
#nullable enable
namespace HotChocolate.Types
{
public interface IObjectFieldDescriptor
: IDescriptor<ObjectFieldDefinition>
, IFluent
{
IObjectFieldDescriptor SyntaxNode(
FieldDefinitionNode? fieldDefinition);
IObjectFieldDescriptor Name(
NameString value);
IObjectFieldDescriptor Description(
string? value);
[Obsolete("Use `Deprecated`.")]
IObjectFieldDescriptor DeprecationReason(
string? reason);
IObjectFieldDescriptor Deprecated(string? reason);
IObjectFieldDescriptor Deprecated();
IObjectFieldDescriptor Type<TOutputType>()
where TOutputType : class, IOutputType;
IObjectFieldDescriptor Type<TOutputType>(
TOutputType outputType)
where TOutputType : class, IOutputType;
IObjectFieldDescriptor Type(
ITypeNode typeNode);
IObjectFieldDescriptor Type(
Type type);
IObjectFieldDescriptor Argument(
NameString argumentName,
Action<IArgumentDescriptor> argumentDescriptor);
IObjectFieldDescriptor Ignore(bool ignore = true);
[Obsolete("Use Resolve(...)")]
IObjectFieldDescriptor Resolver(
FieldResolverDelegate fieldResolver);
[Obsolete("Use Resolve(...)")]
IObjectFieldDescriptor Resolver(
FieldResolverDelegate fieldResolver,
Type resultType);
IObjectFieldDescriptor Resolve(
FieldResolverDelegate fieldResolver);
IObjectFieldDescriptor Resolve(
FieldResolverDelegate fieldResolver,
Type resultType);
IObjectFieldDescriptor ResolveWith<TResolver>(
Expression<Func<TResolver, object>> propertyOrMethod);
IObjectFieldDescriptor ResolveWith(MemberInfo propertyOrMethod);
IObjectFieldDescriptor Subscribe(
SubscribeResolverDelegate subscribeResolver);
IObjectFieldDescriptor Use(
FieldMiddleware middleware);
IObjectFieldDescriptor Directive<T>(
T directiveInstance)
where T : class;
IObjectFieldDescriptor Directive<T>()
where T : class, new();
IObjectFieldDescriptor Directive(
NameString name,
params ArgumentNode[] arguments);
IObjectFieldDescriptor ConfigureContextData(Action<ExtensionData> configure);
}
}