///|
fn run() -> Unit raise {
let arguments = @wasi_sys.arguments()
let raw_path = if arguments.length() > 1 {
arguments[1]
} else {
"target/moon-wasi-example/config.txt"
}
let content = if arguments.length() > 2 {
arguments[2]
} else {
"enabled=true\n"
}
let path = @path.GuestPath::new(raw_path)
match path.parent() {
Some(parent) => @wasi_fs.create_dir_all(parent)
None => ()
}
@wasi_fs.atomic_write_text(path, content)
@wasi_sys.print("wrote \{path.as_string()}: \{@wasi_fs.read_text(path)}")
}
///|
fn main {
run() catch {
error => {
@wasi_sys.eprint("atomic-config failed: \{@debug.to_string(error)}\n") catch {
_ => ()
}
@wasi_sys.exit(1)
}
}
}