amethystate 0.9.1

Type-safe reactive persistence for Rust GUI apps
Documentation
use crate::Store;
use crate::migration::fields::AmeStateFields;
use serde::{Deserialize, Serialize};
use uuid::Uuid;

pub trait AmeStateNode<S: Store>: Sized {
    fn new_node(store: &S, path: &str) -> crate::Result<Self>;
    fn new_node_with_id(store: &S, path: &str, instance_id: Uuid) -> crate::Result<Self>;
}

pub trait AmeState {
    type Data: AmeStateFields
        + Serialize
        + for<'de> Deserialize<'de>
        + Clone
        + Send
        + Sync
        + 'static;
}