#![allow(unused_results)]
use super::*;
#[derive(Debug, Default, Clone, PartialEq, Eq)]
pub struct Batch {
pub(crate) writes: std::collections::BTreeMap<InlineArray, Option<InlineArray>>,
}
impl Batch {
pub fn insert<K, V>(&mut self, key: K, value: V)
where
K: Into<InlineArray>,
V: Into<InlineArray>,
{
self.writes.insert(key.into(), Some(value.into()));
}
pub fn remove<K>(&mut self, key: K)
where
K: Into<InlineArray>,
{
self.writes.insert(key.into(), None);
}
pub fn get<K: AsRef<[u8]>>(&self, k: K) -> Option<Option<&InlineArray>> {
let inner = self.writes.get(k.as_ref())?;
Some(inner.as_ref())
}
}