sqs_lambda/
event_decoder.rs

1use std::error::Error;
2
3pub trait PayloadDecoder<E> {
4    fn decode(&mut self, bytes: Vec<u8>) -> Result<E, Box<dyn Error>>;
5}
6
7impl<T, F> PayloadDecoder<T> for F
8where
9    F: Fn(Vec<u8>) -> Result<T, Box<dyn std::error::Error>>,
10{
11    fn decode(&mut self, body: Vec<u8>) -> Result<T, Box<dyn std::error::Error>> {
12        (self)(body)
13    }
14}