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;
13mod provider_state;
14pub mod refresh;
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::provider_state::{AsyncState, ProviderState};
38
39    // Global initialization
40    pub use crate::global::{ProviderConfig, init};
41
42    // Dependency Injection
43    pub use crate::injection::{
44        clear_dependencies, has_dependency, inject, register_dependency,
45    };
46
47    // Mutation system - Manual Implementation Pattern
48    pub use crate::mutation::{
49        Mutation, MutationContext, MutationState, provider_cache_key, provider_cache_key_simple,
50        use_mutation, use_optimistic_mutation,
51    };
52
53    // Error types
54    pub use crate::errors::{
55        ApiError, ApiResult, DatabaseError, DatabaseResult, ProviderError, ProviderResult,
56        UserError, UserResult,
57    };
58
59    // Parameter utilities for custom types
60    pub use crate::param_utils::IntoProviderParam;
61}