mod auto_map;
mod computed_box;
pub mod context;
mod dependencies;
pub use dependencies::{Dependencies, get_dependencies};
mod drop_resource;
mod graph_id;
mod graph_value;
mod reactive;
pub mod struct_mut;
mod to_computed;
mod value;
mod value_inner;
#[cfg(test)]
mod tests;
pub use auto_map::AutoMap;
pub use computed_box::Computed;
pub use drop_resource::DropResource;
pub use graph_id::GraphId;
pub use graph_value::GraphValue;
pub use reactive::Reactive;
pub use to_computed::ToComputed;
pub use value::{Value, ValueSynchronize};
#[macro_export]
macro_rules! computed_tuple {
($($arg: tt),*) => {{
let ($($arg),*) = ($($arg.clone()),*);
$crate::Computed::from(move |ctx| {
($($arg.get(ctx)),*)
})
}};
($($name: ident => $arg: expr),*) => {{
let ($($name),*) = ($(($arg).clone()),*);
$crate::Computed::from(move |ctx| {
($($name.get(ctx)),*)
})
}};
}