dioxus_provider/
lib.rs

1#![doc = include_str!("../README.md")]
2
3// Core modules
4pub mod cache;
5pub mod errors;
6pub mod global;
7pub mod hooks;
8pub mod injection;
9mod log_utils;
10pub mod mutation;
11pub mod param_utils;
12pub mod platform;
13pub mod refresh;
14mod state;
15pub mod types;
16
17// Re-export commonly used items at crate root for convenience
18pub use global::ProviderConfig;
19pub use global::init;
20
21pub mod prelude {
22    //! The prelude exports all the most common types and functions for using dioxus-provider.
23
24    // The main provider trait and the macro
25    pub use crate::hooks::Provider;
26    pub use dioxus_provider_macros::{mutation, provider};
27
28    // The core hook for using providers
29    pub use crate::hooks::use_provider;
30
31    // Hooks for manual cache management
32    pub use crate::hooks::use_clear_provider_cache;
33    pub use crate::hooks::use_invalidate_provider;
34    pub use crate::hooks::use_provider_cache;
35
36    // The async state enum, needed for matching
37    pub use crate::state::{AsyncState, State};
38
39    // Global initialization
40    pub use crate::global::{ProviderConfig, init};
41
42    // Dependency Injection
43    pub use crate::injection::{clear_dependencies, has_dependency, inject, register_dependency};
44
45    // Mutation system - Manual Implementation Pattern
46    pub use crate::mutation::{
47        Mutation, MutationContext, MutationState, provider_cache_key, provider_cache_key_simple,
48        use_mutation, use_optimistic_mutation,
49    };
50
51    // Error types
52    pub use crate::errors::{
53        ApiError, ApiResult, DatabaseError, DatabaseResult, ProviderError, ProviderResult,
54        UserError, UserResult,
55    };
56
57    // Parameter utilities for custom types
58    pub use crate::param_utils::IntoProviderParam;
59}