hermes_protobuf_encoding_components/impls/
from_context.rs1use hermes_encoding_components::traits::decode::{CanDecode, Decoder};
2use hermes_encoding_components::traits::encode::{CanEncode, Encoder};
3pub struct EncodeFromContext;
4
5impl<Encoding, Strategy, Value> Encoder<Encoding, Strategy, Value> for EncodeFromContext
6where
7 Encoding: CanEncode<Strategy, Value>,
8{
9 fn encode(encoding: &Encoding, value: &Value) -> Result<Encoding::Encoded, Encoding::Error> {
10 encoding.encode(value)
11 }
12}
13
14impl<Encoding, Strategy, Value> Decoder<Encoding, Strategy, Value> for EncodeFromContext
15where
16 Encoding: CanDecode<Strategy, Value>,
17{
18 fn decode(encoding: &Encoding, encoded: &Encoding::Encoded) -> Result<Value, Encoding::Error> {
19 encoding.decode(encoded)
20 }
21}