use crate::Deleter as AsyncDeleter;
use crate::*;
pub struct Deleter {
handle: tokio::runtime::Handle,
inner: AsyncDeleter,
}
impl Deleter {
pub(crate) fn create(handle: tokio::runtime::Handle, inner: AsyncDeleter) -> Result<Self> {
Ok(Self { handle, inner })
}
pub fn delete(&mut self, input: impl IntoDeleteInput) -> Result<()> {
self.handle.block_on(self.inner.delete(input))
}
pub fn delete_iter<I, D>(&mut self, iter: I) -> Result<()>
where
I: IntoIterator<Item = D>,
D: IntoDeleteInput,
{
self.handle.block_on(self.inner.delete_iter(iter))
}
pub fn delete_try_iter<I, D>(&mut self, try_iter: I) -> Result<()>
where
I: IntoIterator<Item = Result<D>>,
D: IntoDeleteInput,
{
self.handle.block_on(self.inner.delete_try_iter(try_iter))
}
pub fn close(&mut self) -> Result<()> {
self.handle.block_on(self.inner.close())
}
}