use crate::ConfirmationMeta;
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct Confirmed<T> {
inner: T,
meta: ConfirmationMeta,
}
impl<T> Confirmed<T> {
pub const fn new(inner: T, meta: ConfirmationMeta) -> Self {
Self { inner, meta }
}
pub const fn inner(&self) -> &T {
&self.inner
}
pub fn into_inner(self) -> T {
self.inner
}
pub const fn meta(&self) -> &ConfirmationMeta {
&self.meta
}
pub fn into_parts(self) -> (T, ConfirmationMeta) {
(self.inner, self.meta)
}
pub fn map<U>(self, f: impl FnOnce(T) -> U) -> Confirmed<U> {
Confirmed { inner: f(self.inner), meta: self.meta }
}
}