use std::fmt::{Display, Formatter}; use crate::models::fueltank::Pump; #[derive(Serialize, Deserialize, Debug)] pub struct DadJoke { pub id: String, pub joke: String, } #[derive(Serialize, Deserialize, Debug)] pub struct DadJokeWrapper { pub results: Vec } impl Display for DadJoke { fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result { write!(f, "{}", self.joke) } } impl Pump for DadJokeWrapper { fn pump(&mut self) -> Option { self.results.pop() } fn len(&self) -> usize { self.results.len() } }