-
-
Notifications
You must be signed in to change notification settings - Fork 722
/
IParameterExpressionBuilder.cs
39 lines (33 loc) · 1.16 KB
/
IParameterExpressionBuilder.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
using System.Linq.Expressions;
#nullable enable
namespace HotChocolate.Internal;
/// <summary>
/// This interface represents an expression builder to resolver resolver parameter values.
/// </summary>
public interface IParameterExpressionBuilder : IParameterHandler
{
/// <summary>
/// Defines the argument kind that is handled by this builder.
/// </summary>
ArgumentKind Kind { get; }
/// <summary>
/// Specifies if this expression builder can build parameter value resolvers
/// for pure resolvers.
/// </summary>
bool IsPure { get; }
/// <summary>
/// Specifies that this handler is run after all non-default handlers.
/// </summary>
bool IsDefaultHandler { get; }
/// <summary>
/// Builds an expression that resolves a resolver parameter.
/// </summary>
/// <param name="context">
/// The parameter expression builder context.
/// </param>
/// <returns>
/// Returns an expression the handles the value injection into the parameter specified by
/// <see cref="ParameterExpressionBuilderContext.Parameter"/>.
/// </returns>
Expression Build(ParameterExpressionBuilderContext context);
}