using System.Buffers; using MyTelegram.Abstractions; using MyTelegram.Domain.Shared.Events; using MessagePack; namespace MyTelegram.BotApi.Serializers; public class BotGiftEventSerializer : IEventDataSerializer { private static readonly MessagePackSerializerOptions Options = MessagePackSerializerOptions.Standard .WithResolver(MessagePack.Resolvers.ContractlessStandardResolver.Instance); public object Deserialize(Type type, ReadOnlyMemory buffer) { return MessagePackSerializer.Deserialize(buffer, Options)!; } public BotGiftEvent Deserialize(ReadOnlyMemory buffer) { return MessagePackSerializer.Deserialize(buffer, Options); } public void Serialize(IBufferWriter writer, BotGiftEvent value) { MessagePackSerializer.Serialize(writer, value, Options); } }