[−][src]Crate artemis_normalized_cache
This is a normalized cache exchange for the artemis
GraphQL Client.
This is a drop-in replacement for the default [CacheExchange
] that, instead of document
caching, caches normalized data by keys and connections between data.
artemis
is already quite a comprehensive GraphQL client. However in several cases it may be
desirable to have data update across the entirety of an app when a response updates some known
pieces of data.
Quick Start
After installing this crate, change the default artemis
Client like from something like this:
let client = artemis::ClientBuilder::new("http://0.0.0.0") .with_default_exchanges() .build();
to this
use artemis::default_exchanges::{FetchExchange, DedupExchange}; use artemis_normalized_cache::NormalizedCacheExchange; let client = artemis::ClientBuilder::new("http://0.0.0.0") .with_exchange(FetchExchange) .with_exchange(NormalizedCacheExchange::new()) .with_exchange(DedupExchange) .build();
TODO: Don't steal urlq's docs you plagiarist
Re-exports
pub use cache_exchange::NormalizedCacheExchange; |
Modules
cache_exchange | Contains the exchange factory and implementation. The factory is the only thing needed for most users and is reexported from the root. |
Structs
NormalizedCacheExtension | A query extension that lets you pass additional logic into the cache. |
NormalizedCacheOptions | Options to pass to the normalized cache. |
QueryStore | A reference to the store used to run custom query updates |