1use crate::{log_fatal, log_info, log_warn};
2use std::process;
3
4pub const SUCCESS: i32 = 0;
6pub const ERROR: i32 = 1;
8
9pub fn end(code: i32) {
13 match code {
14 SUCCESS => end_success(),
15 ERROR => end_error(),
16 _ => {
17 log_warn!("ending with custom exit code: {code}");
18 process::exit(code);
19 }
20 }
21}
22
23pub fn end_success() {
25 log_info!("process ended successfully! (code {SUCCESS})");
26 process::exit(SUCCESS)
27}
28
29pub fn end_error() {
31 log_fatal!("process ended due to fatal error! (code {ERROR})");
32 process::exit(ERROR)
33}