use azure_core::{fmt::SafeDebug, Bytes};
use azure_data_cosmos_driver::models::ResponseBody as DriverResponseBody;
use serde::de::DeserializeOwned;
#[derive(Clone, Default, SafeDebug)]
#[non_exhaustive]
pub struct ResponseBody(DriverResponseBody);
impl ResponseBody {
pub fn is_empty(&self) -> bool {
self.0.is_empty()
}
pub fn single(self) -> crate::Result<Bytes> {
self.0.single().map_err(Into::into)
}
pub fn items(self) -> crate::Result<Vec<Bytes>> {
self.0.items().map_err(Into::into)
}
pub fn into_single<T: DeserializeOwned>(self) -> crate::Result<T> {
self.0.into_single().map_err(Into::into)
}
pub fn into_items<T: DeserializeOwned>(self) -> crate::Result<Vec<T>> {
self.0.into_items().map_err(Into::into)
}
}
impl From<DriverResponseBody> for ResponseBody {
fn from(inner: DriverResponseBody) -> Self {
Self(inner)
}
}