//
//  CouldNotConvertError.cs
//
//  Copyright (c) František Boháček. All rights reserved.
//  Licensed under the MIT license. See LICENSE file in the project root for full license information.
using System;
using NosSmooth.Packets.Converters;
using Remora.Results;
namespace NosSmooth.Packets.Errors;
/// 
/// The value could not be converted.
/// 
/// 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}.");