add StateExt trait

This commit is contained in:
llama 2025-10-24 19:25:58 +08:00
parent a789a2cb95
commit fcc0ee3cb7
No known key found for this signature in database
GPG key ID: 0B7543854B9413C3

View file

@ -19,6 +19,16 @@ use crate::uv;
pub const PROTOCOL: &str = "anki";
pub trait StateExt<R: Runtime> {
fn flow(&self) -> &State;
}
impl<R: Runtime, T: Manager<R>> StateExt<R> for T {
fn flow(&self) -> &State {
self.state::<State>().inner()
}
}
pub fn init() -> Option<State> {
let mut state = State::init().unwrap_or_else(State::UnknownError);