pub use crate::store::{
Getter, Mutator, MutatorContext, ReadonlyStore, Store, StoreBuilder, StoreError, StoreId,
StoreRegistry,
};
pub use crate::context::{StoreProvider, provide_store, use_store};
#[cfg(feature = "csr")]
#[cfg_attr(docsrs, doc(cfg(feature = "csr")))]
pub use crate::context::mount_csr_store;
pub use crate::r#async::{
Action, ActionError, ActionFuture, ActionResult, ActionState, AsyncAction, AsyncActionBuilder,
};
pub use crate::composition::{
AnyStore, CompositeStore, DerivedView, MultiStoreSelector, RootStore, RootStoreBuilder,
StoreDependency, StoreGroup, provide_root_store, use_root_store,
};
pub use crate::selectors::{combine_selectors, create_selector, filter_selector, map_selector};
#[cfg(feature = "hydrate")]
#[cfg_attr(docsrs, doc(cfg(feature = "hydrate")))]
pub use crate::hydration::{
HYDRATION_SCRIPT_PREFIX, HydratableStore, HydrationBuilder, StoreHydrationError,
has_hydration_data, hydrate_store, hydration_script_html, hydration_script_id,
serialize_store_state,
};
#[cfg(feature = "hydrate")]
#[cfg_attr(docsrs, doc(cfg(feature = "hydrate")))]
pub use crate::context::{
HydratableStoreContextExt, provide_hydrated_store, try_use_hydrated_store, use_hydrated_store,
};
#[cfg(feature = "middleware")]
#[cfg_attr(docsrs, doc(cfg(feature = "middleware")))]
pub use crate::middleware::{
ActionContext, ActionResult as MiddlewareActionResult, ContextMetadata, CrossInstant, EventBus,
EventSubscriber, LogLevel, LoggingConfig, LoggingMiddleware, Middleware, MiddlewareChain,
MiddlewareContext, MiddlewareError, MiddlewareResult, MiddlewareStore, MutationResult,
StoreEvent, TimingMiddleware, ValidationMiddleware,
};
#[cfg(feature = "tracing")]
#[cfg_attr(docsrs, doc(cfg(feature = "tracing")))]
pub use crate::middleware::TracingMiddleware;
#[cfg(feature = "middleware")]
#[cfg_attr(docsrs, doc(cfg(feature = "middleware")))]
pub use crate::audit::{
AuditEntry, AuditTrail, AuditUserContext, ChangeType, FieldChange, StateDiff,
};
#[cfg(feature = "middleware")]
#[cfg_attr(docsrs, doc(cfg(feature = "middleware")))]
pub use crate::coordination::StoreCoordinator;
#[cfg(feature = "devtools")]
#[cfg_attr(docsrs, doc(cfg(feature = "devtools")))]
pub use crate::devtools::{
DevtoolsConfig, DevtoolsEvent, DevtoolsEventSubscriber, StoreInfo, StoreInspector,
TimeTravelDebugger, init_devtools, register_store, unregister_store,
};
#[cfg(any(
feature = "persist-web",
feature = "persist-idb",
feature = "persist-server"
))]
#[cfg_attr(
docsrs,
doc(cfg(any(
feature = "persist-web",
feature = "persist-idb",
feature = "persist-server"
)))
)]
pub use crate::persistence::{
MemoryAdapter, PersistConfig, PersistError, PersistResult, PersistedState, PersistenceAdapter,
PersistentStore, StorageCapacity, StorageType,
};
#[cfg(feature = "persist-web")]
#[cfg_attr(docsrs, doc(cfg(feature = "persist-web")))]
pub use crate::persistence::{LocalStorageAdapter, SessionStorageAdapter};
#[cfg(feature = "persist-idb")]
#[cfg_attr(docsrs, doc(cfg(feature = "persist-idb")))]
pub use crate::persistence::IndexedDbAdapter;
#[cfg(feature = "persist-server")]
#[cfg_attr(docsrs, doc(cfg(feature = "persist-server")))]
pub use crate::persistence::ServerSyncAdapter;
#[cfg(feature = "server-actions")]
#[cfg_attr(docsrs, doc(cfg(feature = "server-actions")))]
pub use crate::server::{
ActionHistory, ActionHistoryEntry, OptimisticActionHandle, OptimisticConfig, ServerAction,
ServerActionBuilder, ServerActionError, ServerActionHandle, ServerActionResult,
create_server_action, execute_server_action, use_optimistic_action, use_server_action,
};
#[cfg(feature = "templates")]
#[cfg_attr(docsrs, doc(cfg(feature = "templates")))]
pub use crate::templates::{
Feature, FeatureFlag, FeatureFlagState, FeatureFlagStore, FeatureVariant, FlagError,
UserContext, provide_feature_flags, use_feature, use_feature_flags,
};
pub use leptos::prelude::{RwSignal, signal};
#[cfg(feature = "hydrate")]
pub use serde::{Deserialize, Serialize};