pub trait DittoMutDocument: DittoDocument {
    // Required methods
    fn get_mut<'doc, V: MutableValue<'doc>>(
        &'doc mut self,
        path: &str
    ) -> Result<V, DittoError>;
    fn set<V: Serialize>(
        &mut self,
        path: &str,
        val: V
    ) -> Result<(), DittoError>;
    fn set_as_default<V: Serialize>(
        &mut self,
        path: &str,
        val: V
    ) -> Result<(), DittoError>;
    fn remove(&mut self, path: &str) -> Result<(), DittoError>;
    fn increment(&mut self, path: &str, amount: f64) -> Result<(), DittoError>;
}
Expand description

Required Methods§

source

fn get_mut<'doc, V: MutableValue<'doc>>( &'doc mut self, path: &str ) -> Result<V, DittoError>

Returns the value at a given path in the mutable document.

The parameter V represents the type expected at the given path. Note however that other peers may have changed this type and deserialization may fail.

source

fn set<V: Serialize>(&mut self, path: &str, val: V) -> Result<(), DittoError>

Assigns a some serializable value to the document at the given path and removes any other information present at that path.

If the path does not exist it will be created.

source

fn set_as_default<V: Serialize>( &mut self, path: &str, val: V ) -> Result<(), DittoError>

Sets the value at the provided path and marks it as the default, indicating other peers in the network are expected to overwrite it.

source

fn remove(&mut self, path: &str) -> Result<(), DittoError>

Remove the value from a document at a given path

source

fn increment(&mut self, path: &str, amount: f64) -> Result<(), DittoError>

Increment (+/-) a counter by amount.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<T: BorrowMut<Document>> DittoMutDocument for T