armour/database/
updater.rs1use derive_more::{AsMut, AsRef, Debug, Deref, DerefMut};
2use sled::InlineArray;
3
4use crate::{Entry, Record};
5
6#[derive(Debug, Clone, AsMut, AsRef, Deref, DerefMut)]
7pub struct Updater<Item: Record> {
8 pub id: Item::SelfId,
9 #[deref]
10 #[deref_mut]
11 #[as_ref]
12 #[as_mut]
13 pub val: Item,
14 #[debug(skip)]
15 pub bytes: InlineArray,
16 pub old: Item,
17}
18
19impl<Item: Record> From<Updater<Item>> for Entry<Item> {
20 fn from(value: Updater<Item>) -> Self {
21 Entry::new(value.id, value.val)
22 }
23}