pub trait MutationCapability{
    type Ok;
    type Err;
    type Keys: Hash + PartialEq + Clone;
    // Required method
    fn run(
        &self,
        keys: &Self::Keys,
    ) -> impl Future<Output = Result<Self::Ok, Self::Err>>;
    // Provided methods
    fn matches(&self, _keys: &Self::Keys) -> bool { ... }
    fn on_settled(
        &self,
        _keys: &Self::Keys,
        _result: &Result<Self::Ok, Self::Err>,
    ) -> impl Future<Output = ()> { ... }
}Required Associated Types§
Required Methods§
Provided Methods§
Sourcefn matches(&self, _keys: &Self::Keys) -> bool
 
fn matches(&self, _keys: &Self::Keys) -> bool
Implement a custom logic to check if this mutation should be invalidated or not given a MutationCapability::Keys.
Sourcefn on_settled(
    &self,
    _keys: &Self::Keys,
    _result: &Result<Self::Ok, Self::Err>,
) -> impl Future<Output = ()>
 
fn on_settled( &self, _keys: &Self::Keys, _result: &Result<Self::Ok, Self::Err>, ) -> impl Future<Output = ()>
Runs after MutationCapability::run. You may use this method to invalidate crate::query::Querys.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.