コード例 #1
0
        private ArgumentValue CreateArgumentValue(
            string responseName,
            IInputField argument,
            ArgumentNode?argumentValue,
            IValueNode value,
            bool isDefaultValue)
        {
            ArgumentNonNullValidator.ValidationResult validationResult =
                ArgumentNonNullValidator.Validate(argument, value, Path.New(argument.Name));

            if (argumentValue is not null && validationResult.HasErrors)
            {
                return(new ArgumentValue(
                           argument,
                           ErrorHelper.ArgumentNonNullError(
                               argumentValue,
                               responseName,
                               validationResult)));
            }

            if (argument.Type.IsLeafType() && CanBeCompiled(value))
            {
                try
                {
                    return(new ArgumentValue(
                               argument,
                               value.GetValueKind(),
                               true,
                               isDefaultValue,
                               ParseLiteral(argument, value),
                               value));
                }
                catch (SerializationException ex)
                {
                    if (argumentValue is not null)
                    {
                        return(new ArgumentValue(
                                   argument,
                                   ErrorHelper.ArgumentValueIsInvalid(argumentValue, responseName, ex)));
                    }

                    return(new ArgumentValue(
                               argument,
                               ErrorHelper.ArgumentDefaultValueIsInvalid(responseName, ex)));
                }
            }

            return(new ArgumentValue(
                       argument,
                       value.GetValueKind(),
                       false,
                       isDefaultValue,
                       null,
                       value));
        }
コード例 #2
0
ファイル: ErrorHelper.cs プロジェクト: AradAral/hotchocolate
 public static IError ArgumentNonNullError(
     ArgumentNode argument,
     string responseName,
     ArgumentNonNullValidator.ValidationResult validationResult)
 {
     return(ErrorBuilder.New()
            .SetMessage(
                ErrorHelper_ArgumentNonNullError_Message,
                argument.Name.Value)
            .AddLocation(argument)
            .SetExtension("responseName", responseName)
            .SetExtension("errorPath", validationResult.Path)
            .Build());
 }
コード例 #3
0
 public static IError ArgumentNonNullError(
     ArgumentNode argument,
     string responseName,
     ArgumentNonNullValidator.ValidationResult validationResult)
 {
     return(ErrorBuilder.New()
            .SetMessage(
                "Detected a non-null violation in argument `{0}`.",
                argument.Name.Value)
            .AddLocation(argument)
            .SetExtension("responseName", responseName)
            .SetExtension("errorPath", validationResult.Path)
            .Build());
 }