// // BoolStringConverter.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.PacketSerializer.Abstractions; using Remora.Results; namespace NosSmooth.PacketSerializer.Converters.Basic; /// /// Converter of . /// public class BoolStringConverter : BaseStringConverter { /// public override Result Serialize(bool obj, PacketStringBuilder builder) { builder.Append(obj ? '1' : '0'); return Result.FromSuccess(); } /// public override Result Deserialize(ref PacketStringEnumerator stringEnumerator) { var nextTokenResult = stringEnumerator.GetNextToken(out var packetToken); if (!nextTokenResult.IsSuccess) { return Result.FromError(nextTokenResult); } return packetToken.Token[0] == '1' ? true : false; } }