MutationCapability

Trait MutationCapability 

Source
pub trait MutationCapability
where Self: 'static + Clone + PartialEq + Hash + Eq,
{ 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§

Source

fn run( &self, keys: &Self::Keys, ) -> impl Future<Output = Result<Self::Ok, Self::Err>>

Mutation logic.

Provided Methods§

Source

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.

Source

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.

Implementors§