///|
#cfg(target="js")
fn cli_args() -> Array[String] {
let args = @env.args()
if args.length() < 2 {
[]
} else {
Array::makei(args.length() - 1, fn(i) { args[i + 1] })
}
}
///|
#cfg(not(target="js"))
fn cli_args() -> Array[String] {
@env.args()
}
///|
fn main {
let args = cli_args()
if args.length() == 3 {
match args[1] {
"reconcile-json" => println(@aqueous.reconcile_json(args[2]))
"challenge-json" => println(@aqueous.challenge_json(args[2]))
"replay-json" => println(@aqueous.replay_json(args[2]))
_ =>
println(
"unknown sample-handling command; use reconcile-json, challenge-json or replay-json",
)
}
} else {
println(
"MoonAqueousSpec - joint aliquot histories and zero-net-transfer checks",
)
println(
"Usage: moon run cmd/main -- reconcile-json|challenge-json|replay-json ''",
)
println(
"File input: python3 scripts/aliquots.py reconcile|challenge|replay --input FILE",
)
println(
"Units: uL; nmol/L (TA neq/L); chemical transfer nmol. pH is not additive.",
)
println(
"Model: Ca-carbonate-Na-Cl-water, complete declared ions and handling steps.",
)
}
}