#[macro_export]
macro_rules! implement_utils {
($req_type:ty, $payload_type:ty) => {
impl Utils<'_> for $req_type {
type T = $payload_type;
fn payload(&self) -> Option<&Self::T> {
if self.payload.is_some() {
return Some(self.payload.as_ref().unwrap());
}
None
}
}
#[cfg(all(test, feature = "test-utils"))]
impl $req_type {
pub fn default_test_extras() -> Self {
Self {
access_token: "",
payload: None,
}
}
}
};
}
#[macro_export]
macro_rules! implement_content_upload_utils {
($req_type:ty, $payload_type:ty) => {
impl Utils<'_> for $req_type {
type T = $payload_type;
fn payload(&self) -> Option<&Self::T> {
self.payload.as_ref()
}
fn content_body(&self) -> Option<&[u8]> {
self.data.as_deref()
}
}
#[cfg(all(test, feature = "test-utils"))]
impl $req_type {
pub fn default_test_extras() -> Self {
Self {
access_token: "",
payload: None,
data: None,
}
}
}
};
}