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}