use nami::{Binding, Signal, SignalExt, binding};
fn main() {
let temperature: Binding<i32> = binding(25);
let inverted = temperature.negate();
println!("Temperature: {}", temperature.get()); println!("Inverted: {}", inverted.get());
temperature.set(-10);
println!("Temperature: {}", temperature.get()); println!("Inverted: {}", inverted.get());
let delta: Binding<i32> = binding(-42);
let magnitude = delta.abs();
println!("Delta: {}", delta.get()); println!("Magnitude: {}", magnitude.get());
delta.set(100);
println!("Magnitude: {}", magnitude.get());
let balance: Binding<i32> = binding(100);
let is_positive_or_zero = balance.sign();
println!(
"Balance {} is positive or zero: {}",
balance.get(),
is_positive_or_zero.get()
);
balance.set(0);
println!(
"Balance {} is positive or zero: {}",
balance.get(),
is_positive_or_zero.get()
);
balance.set(-50);
println!(
"Balance {} is positive or zero: {}",
balance.get(),
is_positive_or_zero.get()
);
let value: Binding<i32> = binding(42);
let positive = value.is_positive();
let negative = value.is_negative();
let zero = value.is_zero();
println!("{} is positive: {}", value.get(), positive.get()); println!("{} is negative: {}", value.get(), negative.get()); println!("{} is zero: {}", value.get(), zero.get());
value.set(-10);
println!("{} is positive: {}", value.get(), positive.get()); println!("{} is negative: {}", value.get(), negative.get()); println!("{} is zero: {}", value.get(), zero.get());
value.set(0);
println!("{} is positive: {}", value.get(), positive.get()); println!("{} is negative: {}", value.get(), negative.get()); println!("{} is zero: {}", value.get(), zero.get());
let account_balance: Binding<i32> = binding(1500);
let is_overdrawn = account_balance.is_negative();
let status_color = is_overdrawn.select("red", "green");
let status_text = is_overdrawn.select("Overdrawn!", "In good standing");
println!("Balance: ${}", account_balance.get());
println!("Status color: {}", status_color.get()); println!("Status: {}", status_text.get());
account_balance.set(-200);
println!("\nBalance: ${}", account_balance.get());
println!("Status color: {}", status_color.get()); println!("Status: {}", status_text.get()); }