Add `MaybeUndefined::update_to` method. #881
This commit is contained in:
parent
4f50a50e7d
commit
aa15be435a
2
examples
2
examples
|
@ -1 +1 @@
|
|||
Subproject commit 61384c8fa50e1395e50015b2be77b4bc6f5de4d2
|
||||
Subproject commit 6a63808523f7e4995f9111a3497f06921cd3b11b
|
|
@ -172,6 +172,32 @@ impl<T> MaybeUndefined<T> {
|
|||
MaybeUndefined::Undefined => MaybeUndefined::Undefined,
|
||||
}
|
||||
}
|
||||
|
||||
/// Update `value` if the `MaybeUndefined<T>` is not undefined.
|
||||
///
|
||||
/// # Example
|
||||
///
|
||||
/// ```rust
|
||||
/// use async_graphql::MaybeUndefined;
|
||||
///
|
||||
/// let mut value = None;
|
||||
///
|
||||
/// MaybeUndefined::Value(10i32).update_to(&mut value);
|
||||
/// assert_eq!(value, Some(10));
|
||||
///
|
||||
/// MaybeUndefined::Undefined.update_to(&mut value);
|
||||
/// assert_eq!(value, Some(10));
|
||||
///
|
||||
/// MaybeUndefined::Null.update_to(&mut value);
|
||||
/// assert_eq!(value, None);
|
||||
/// ```
|
||||
pub fn update_to(self, value: &mut Option<T>) {
|
||||
match self {
|
||||
MaybeUndefined::Value(new) => *value = Some(new),
|
||||
MaybeUndefined::Null => *value = None,
|
||||
MaybeUndefined::Undefined => {}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: InputType> InputType for MaybeUndefined<T> {
|
||||
|
|
Loading…
Reference in New Issue