// // 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.Packets.Errors; using Remora.Results; namespace NosSmooth.Packets.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(PacketStringEnumerator stringEnumerator) { var nextTokenResult = stringEnumerator.GetNextToken(); if (!nextTokenResult.IsSuccess) { return Result.FromError(nextTokenResult); } if (nextTokenResult.Entity.Token == "-") { return Result.FromSuccess(default); } return nextTokenResult.Entity.Token == "1" ? true : false; } }