private GraphQLValue CreateVariable(ChainLinkArgument argument, List <GraphQLVariableDefinition> variableDefinitions, Dictionary <string, object> variableValues) { if (argument.Value == null) { return(new GraphQLScalarValue(ASTNodeKind.NullValue)); } var variableName = $"var_{variableDefinitions.Count}"; var variable = new GraphQLVariable() { Name = new GraphQLName() { Value = variableName } }; variableDefinitions.Add(new GraphQLVariableDefinition() { Variable = variable, Type = new GraphQLNamedType() { Name = new GraphQLName() { Value = argument.GraphQLType } } }); variableValues.Add(variableName, argument.Value); return(variable); }
public override GraphQLVariable EndVisitVariable(GraphQLVariable variable) { { Tracker.EnterVariable?.Invoke(variable); } return(base.EndVisitVariable(variable)); }
public virtual GraphQLVariable BeginVisitVariable(GraphQLVariable variable) { if (variable.Name != null) { BeginVisitNode(variable.Name); } return(EndVisitVariable(variable)); }
protected override ValueTask VisitVariableAsync(GraphQLVariable variable, GetVariablesVisitorContext context) { // GraphQLVariable AST node represents both variable definition and variable usage so check parent node if (context.Info.GetAncestor(1) is not GraphQLVariableDefinition) { context.AddVariableUsage(new VariableUsage(variable, context.Info.GetInputType() !)); } return(default);
private VariableUsage CreateUsage(GraphQLVariable variable) { var type = this.GetLastInputType(); return(new VariableUsage() { ArgumentType = type, Variable = variable }); }
public override GraphQLVariable BeginVisitVariable(GraphQLVariable variable) { var usage = this.CreateUsage(variable); if (usage != null) { this.variableUsages.Add(usage); } return(base.BeginVisitVariable(variable)); }
private string PrintVariable(GraphQLVariable variable) { return($"${variable.Name.Value}"); }
/// <summary> /// Initializes a new instance with the specified parameters. /// </summary> /// <param name="node">A variable reference node.</param> /// <param name="type">A graph type.</param> public VariableUsage(GraphQLVariable node, IGraphType type) { Node = node; Type = type; }
public virtual GraphQLVariable EndVisitVariable(GraphQLVariable variable) => variable;
public virtual GraphQLVariable EndVisitVariable(GraphQLVariable variable) { return(variable); }
/// <summary> /// Initializes a new instance with the specified properties. /// </summary> public NoUndefinedVariablesError(ValidationContext context, GraphQLOperationDefinition node, GraphQLVariable variableReference) : base(context.Document.Source, NUMBER, UndefinedVarMessage(variableReference.Name.StringValue, node.Name?.StringValue), variableReference, node) { }
public Result GetValue(GraphQLVariable value) => this.GetValue(value.Name.Value);
public override GraphQLVariable EndVisitVariable(GraphQLVariable variable) { Tracker.LeaveVariable?.Invoke(variable); return(base.EndVisitVariable(variable)); }
public override GraphQLVariable BeginVisitVariable(GraphQLVariable variable) { Tracker.EnterVariable?.Invoke(variable); return(base.BeginVisitVariable(variable)); }
public object GetValue(GraphQLVariable value) => this.GetValue(value.Name.Value);