Enum serde_intermediate::versioning::Change
source · [−]pub enum Change {
Same,
Removed,
Changed(Intermediate),
Added(Intermediate),
PartialChange(Box<Change>),
PartialSeq(Vec<(usize, Change)>),
PartialMap(Vec<(Intermediate, Change)>),
PartialStruct(Vec<(String, Change)>),
}
Variants
Same
Removed
Changed(Intermediate)
(value)
Added(Intermediate)
(value)
PartialChange(Box<Change>)
(change)
PartialSeq(Vec<(usize, Change)>)
(changes: [(index, change)])
PartialMap(Vec<(Intermediate, Change)>)
(changes: [(key, change)])
PartialStruct(Vec<(String, Change)>)
(changes: [(name, change)])
Implementations
sourceimpl Change
impl Change
pub fn same() -> Self
pub fn removed() -> Self
pub fn changed(value: impl Into<Intermediate>) -> Self
pub fn added(value: impl Into<Intermediate>) -> Self
pub fn partial_change(change: Self) -> Self
pub fn partial_seq() -> Self
pub fn partial_map() -> Self
pub fn partial_struct() -> Self
pub fn partial_seq_item(self, index: usize, change: Self) -> Self
pub fn partial_map_item(
self,
key: impl Into<Intermediate>,
change: Self
) -> Self
pub fn partial_struct_item(self, name: impl ToString, change: Self) -> Self
pub fn is_same(&self) -> bool
pub fn difference(prev: &Intermediate, next: &Intermediate) -> Self
pub fn sequence_difference(
prev: &[Intermediate],
next: &[Intermediate]
) -> Vec<(usize, Self)>
pub fn patch(&self, value: &Intermediate) -> Result<Option<Intermediate>>
pub fn data_difference<P, N>(prev: &P, next: &N) -> Result<Self> where
P: Serialize,
N: Serialize,
pub fn data_patch<T>(&self, data: &T) -> Result<Option<T>> where
T: Serialize + DeserializeOwned,
pub fn total_bytesize(&self) -> usize
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Change
impl<'de> Deserialize<'de> for Change
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl PartialOrd<Change> for Change
impl PartialOrd<Change> for Change
sourcefn partial_cmp(&self, other: &Change) -> Option<Ordering>
fn partial_cmp(&self, other: &Change) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl StructuralPartialEq for Change
Auto Trait Implementations
impl RefUnwindSafe for Change
impl Send for Change
impl Sync for Change
impl Unpin for Change
impl UnwindSafe for Change
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more