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);
        }
 private bool ValuesAreTheSame(ChainLinkArgument arg)
 {
     return(JsonConvert.SerializeObject(arg.Value) == JsonConvert.SerializeObject(this.Value));
 }