From 5354080d8ba2515cb7f1c3ae0f64c02adbbdf0db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Boh=C3=A1=C4=8Dek?= Date: Wed, 29 Dec 2021 15:15:24 +0100 Subject: [PATCH] feat: add char and string type converters --- .../Converters/Basic/CharTypeConverter.cs | 27 +++++++++++++++++++ .../Converters/Basic/StringTypeConverter.cs | 21 +++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 Core/NosSmooth.Packets/Converters/Basic/CharTypeConverter.cs create mode 100644 Core/NosSmooth.Packets/Converters/Basic/StringTypeConverter.cs diff --git a/Core/NosSmooth.Packets/Converters/Basic/CharTypeConverter.cs b/Core/NosSmooth.Packets/Converters/Basic/CharTypeConverter.cs new file mode 100644 index 0000000..f41fc4c --- /dev/null +++ b/Core/NosSmooth.Packets/Converters/Basic/CharTypeConverter.cs @@ -0,0 +1,27 @@ +// +// CharTypeConverter.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 NosSmooth.Packets.Errors; +using Remora.Results; + +namespace NosSmooth.Packets.Converters.Basic; + +/// +/// Converter of . +/// +public class CharTypeConverter : BasicTypeConverter +{ + /// + protected override Result Deserialize(string value) + { + if (value.Length != 1) + { + return new CouldNotConvertError(this, value, "The token is not one character long."); + } + + return value[0]; + } +} \ No newline at end of file diff --git a/Core/NosSmooth.Packets/Converters/Basic/StringTypeConverter.cs b/Core/NosSmooth.Packets/Converters/Basic/StringTypeConverter.cs new file mode 100644 index 0000000..6852c14 --- /dev/null +++ b/Core/NosSmooth.Packets/Converters/Basic/StringTypeConverter.cs @@ -0,0 +1,21 @@ +// +// StringTypeConverter.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 Remora.Results; + +namespace NosSmooth.Packets.Converters.Basic; + +/// +/// Converter of . +/// +public class StringTypeConverter : BasicTypeConverter +{ + /// + protected override Result Deserialize(string value) + { + return value; + } +} \ No newline at end of file -- 2.48.1