hermes_protobuf_encoding_components/impls/
from_context.rs

1use 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}