hermes_encoding_components/impls/
return_encoded.rs1use 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}