1#![allow(clippy::complexity)]
2mod codec;
3mod error;
4mod global;
5mod macros;
6
7pub mod migration;
8pub mod observability;
9pub mod reactive;
10pub mod store;
11
12pub type AmeData<T> = <T as AmeState>::Data;
13
14pub use inventory;
15pub use serde;
16pub use uuid;
17
18pub use error::Error;
19pub use error::Result;
20pub use reactive::{
21 AccessMode, AmeState, AmeStateNode, Change, Field, InterceptDisposer, IntoPipeline, MapChange,
22 Pipeline, Reactive, ReactiveMap, ReactiveMapKey, ReactiveMapValue, ReactiveScope, ReadOnly,
23 ReadOnlyField, ReadOnlyMode, Signal, SignalSubscription, StoreSubscription, Writable,
24 WritableField, WritableMode,
25};
26
27pub mod stores {
28 pub use crate::store::default::*;
29}
30
31pub use store::{
32 AmeStateSlice, StateScope, Store, StoreEvent, StoreOp, SubscriptionKind, builder::StoreBuilder,
33 config::StoreConfig, default::DefaultStore, join_path,
34};
35
36pub use migration::{MigrationContext, MigrationError, MigrationPlan, MigrationReport};
37
38pub use amethystate_macros::{AmeType, amethystate, migrate};
39pub use global::*;
40
41#[cfg(any(feature = "tauri", feature = "json"))]
42pub use serde_json;
43
44#[cfg(any(feature = "confy-compat", feature = "confy-compat-0-6"))]
45pub mod confy;
46
47#[cfg(any(feature = "test-utils", test))]
48pub mod test_utils;
49
50#[cfg(feature = "tauri")]
51pub mod tauri {
52 pub use amethystate_core::scheme::*;
53 pub use amethystate_tauri::*;
54}
55
56pub mod core {
57 pub use amethystate_core::*;
58}
59
60#[cfg(any(feature = "async", feature = "tauri"))]
61pub mod client {
62 pub use amethystate_core::AmeBackendAsync;
63 pub use amethystate_core::AmeStateSliceAsync;
64 pub use amethystate_core::async_impl::*;
65}