// /futriis/internal/msgpack/deserializer.go // Пакет msgpack предоставляет дополнительные методы десериализации // /futriis/internal/msgpack/deserializer.go package msgpack import ( "futriis/pkg/types" "github.com/vmihailenco/msgpack/v5" ) // Deserializer расширяет функциональность десериализации type Deserializer struct { serializer *Serializer } // NewDeserializer создаёт новый экземпляр десериализатора func NewDeserializer() *Deserializer { return &Deserializer{ serializer: NewSerializer(), } } // DeserializeValue десериализует значение произвольного типа func (d *Deserializer) DeserializeValue(data []byte) (interface{}, error) { var value interface{} err := msgpack.Unmarshal(data, &value) if err != nil { return nil, err } return value, nil } // DeserializeMap десериализует данные в карту func (d *Deserializer) DeserializeMap(data []byte) (map[string]interface{}, error) { var m map[string]interface{} err := msgpack.Unmarshal(data, &m) if err != nil { return nil, err } return m, nil }