use jayver::Version;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let version = Version::parse("25.16.3")?;
println!("Parsed version: {version}");
let custom = Version::new(25, 20, 1)?;
println!("Custom version: {custom}");
let today = Version::today();
println!("Today's version: {today}");
let v1 = Version::parse("25.10.0")?;
let v2 = Version::parse("25.10.5")?;
let v3 = Version::parse("25.11.0")?;
println!("v1 < v2: {}", v1 < v2);
println!("v2 < v3: {}", v2 < v3);
let mut v = Version::parse("25.10.0")?;
v.increment_patch();
println!("After increment: {v}");
v.next_week()?;
println!("Next week: {v}");
let a = Version::parse("25.10.0")?;
let b = Version::parse("25.10.5")?;
println!("Same week: {}", a.same_week(&b));
Ok(())
}