hermes_encoding_components/impls/
return_encoded.rs

1use cgp::core::error::HasErrorType;
2
3use crate::traits::decode::Decoder;
4use crate::traits::encode::Encoder;
5use crate::traits::types::encoded::HasEncodedType;
6
7pub struct ReturnEncoded;
8
9impl<Encoding, Strategy, Value> Encoder<Encoding, Strategy, Value> for ReturnEncoded
10where
11    Encoding: HasEncodedType<Encoded = Value> + HasErrorType,
12    Value: Clone,
13{
14    fn encode(_encoding: &Encoding, value: &Value) -> Result<Value, Encoding::Error> {
15        Ok(value.clone())
16    }
17}
18
19impl<Encoding, Strategy, Value> Decoder<Encoding, Strategy, Value> for ReturnEncoded
20where
21    Encoding: HasEncodedType<Encoded = Value> + HasErrorType,
22    Value: Clone,
23{
24    fn decode(_encoding: &Encoding, value: &Value) -> Result<Value, Encoding::Error> {
25        Ok(value.clone())
26    }
27}