use strict_path::{PathBoundary, VirtualRoot};
fn main() -> Result<(), Box<dyn std::error::Error>> {
println!("=== One-Liner Patterns ===");
let tmp_dir = tempfile::tempdir()?;
PathBoundary::<()>::try_new(&tmp_dir)?
.strict_join("hello.txt")?
.write("Hello world!")?;
println!("-> Wrote file in one line");
let tmp_dir = tempfile::tempdir()?;
let exists = PathBoundary::<()>::try_new(&tmp_dir)?
.strict_join("missing.txt")?
.exists();
println!("-> File exists: {exists}");
let tmp_dir = tempfile::tempdir()?;
VirtualRoot::<()>::try_new(&tmp_dir)?
.virtual_join("simple.txt")?
.write("VirtualRoot content")?;
println!("-> VirtualRoot file write in one line");
struct Demo;
let tmp_dir = tempfile::tempdir()?;
PathBoundary::<Demo>::try_new(&tmp_dir)?
.strict_join("demo.txt")?
.write("Demo content")?;
println!("-> Custom marker works");
println!("=== All one-liners completed! ===");
Ok(())
}