#[derive(fieldwork::Fieldwork)]
#[fieldwork(get, get_mut, set, with, without, take, into_field)]
enum Event {
Click { x: i32, y: i32, button: u8 },
Move { x: i32, y: i32 },
Scroll { x: i32, y: i32, delta: f32 },
}
#[derive(fieldwork::Fieldwork)]
#[fieldwork(get, set, into_field)]
enum Status {
Active { name: String },
Inactive { name: String },
}
#[derive(fieldwork::Fieldwork)]
#[fieldwork(get, take, without)]
enum Session {
Authenticated { token: Option<String>, user_id: u32 },
Anonymous { token: Option<String> },
}