From e5c6fc7958b6ae546a179bec2e175a745ef8b579 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Boh=C3=A1=C4=8Dek?= Date: Fri, 31 Dec 2021 11:13:35 +0100 Subject: [PATCH] fix: return correct errors with inner results --- Core/NosSmooth.Packets/Converters/Basic/LongTypeConverter.cs | 2 +- Core/NosSmooth.Packets/Converters/Basic/UIntTypeConverter.cs | 2 +- .../Converters/Special/ListTypeConverter.cs | 2 +- Core/NosSmooth.Packets/Errors/CouldNotConvertError.cs | 5 ++--- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/Core/NosSmooth.Packets/Converters/Basic/LongTypeConverter.cs b/Core/NosSmooth.Packets/Converters/Basic/LongTypeConverter.cs index c996dc3..94a836f 100644 --- a/Core/NosSmooth.Packets/Converters/Basic/LongTypeConverter.cs +++ b/Core/NosSmooth.Packets/Converters/Basic/LongTypeConverter.cs @@ -19,7 +19,7 @@ public class LongTypeConverter : BasicTypeConverter { if (!long.TryParse(value, out var parsed)) { - return new CouldNotConvertError(this, value, "Could not parse as an long."); + return new CouldNotConvertError(this, value, "Could not parse as a long."); } return parsed; diff --git a/Core/NosSmooth.Packets/Converters/Basic/UIntTypeConverter.cs b/Core/NosSmooth.Packets/Converters/Basic/UIntTypeConverter.cs index 37c4f28..8d4c9cc 100644 --- a/Core/NosSmooth.Packets/Converters/Basic/UIntTypeConverter.cs +++ b/Core/NosSmooth.Packets/Converters/Basic/UIntTypeConverter.cs @@ -19,7 +19,7 @@ public class UIntTypeConverter : BasicTypeConverter { if (!uint.TryParse(value, out var parsed)) { - return new CouldNotConvertError(this, value, "Could not parse as uint."); + return new CouldNotConvertError(this, value, "Could not parse as uint"); } return parsed; diff --git a/Core/NosSmooth.Packets/Converters/Special/ListTypeConverter.cs b/Core/NosSmooth.Packets/Converters/Special/ListTypeConverter.cs index 3e3034c..a863618 100644 --- a/Core/NosSmooth.Packets/Converters/Special/ListTypeConverter.cs +++ b/Core/NosSmooth.Packets/Converters/Special/ListTypeConverter.cs @@ -65,7 +65,7 @@ public class ListTypeConverter : ISpecialTypeConverter stringEnumerator.PopLevel(); if (!result.IsSuccess) { - return Result.FromError(new ListSerializerError(result, data.Count)); + return Result.FromError(new ListSerializerError(result, data.Count), result); } data.Add(result.Entity); diff --git a/Core/NosSmooth.Packets/Errors/CouldNotConvertError.cs b/Core/NosSmooth.Packets/Errors/CouldNotConvertError.cs index 99a1ab1..48aee5d 100644 --- a/Core/NosSmooth.Packets/Errors/CouldNotConvertError.cs +++ b/Core/NosSmooth.Packets/Errors/CouldNotConvertError.cs @@ -16,6 +16,5 @@ namespace NosSmooth.Packets.Errors; /// The converter that failed the parsing. /// The value that failed to parse. /// The reason for the error. -/// The underlying exception, if any. -public record CouldNotConvertError(ITypeConverter Converter, string Value, string Reason, Exception? Exception = default) - : ResultError($"Converter {Converter.GetType().FullName} could not convert {Value} due to {Reason}."); \ No newline at end of file +public record CouldNotConvertError(ITypeConverter Converter, string Value, string Reason) + : ResultError($"Converter {Converter.GetType().FullName} could not convert value \"{Value}\" due to {Reason}."); \ No newline at end of file -- 2.48.1