chore(monorepo): delta, january, quark

This commit is contained in:
Paul Makles
2022-06-02 00:04:22 +01:00
parent 5d8432e267
commit 2ce610e1e7
232 changed files with 18094 additions and 554 deletions

View File

@@ -0,0 +1,38 @@
/// Owned, Ref or None Value
#[derive(Clone)]
pub enum Value<'a, T> {
Owned(T),
Ref(&'a T),
None,
}
impl<'a, T> Value<'a, T> {
/// Check whether this Value exists
pub fn has(&self) -> bool {
!matches!(self, Self::None)
}
/// Get this Value as an Option Ref
pub fn get(&self) -> Option<&T> {
match self {
Self::Owned(t) => Some(t),
Self::Ref(t) => Some(t),
Self::None => None,
}
}
/// Set owned value
pub fn set(&mut self, t: T) {
*self = Value::Owned(t);
}
/// Set referential value
pub fn set_ref(&mut self, t: &'a T) {
*self = Value::Ref(t);
}
/// Clear current value
pub fn clear(&mut self) {
*self = Value::None;
}
}