#[macro_export]
macro_rules! merge_string {
($self_field:expr, $other_field:expr) => {
if !$other_field.is_empty() {
$self_field = $other_field;
}
};
}
#[macro_export]
macro_rules! merge_numeric {
($self_field:expr, $other_field:expr) => {
if $other_field != 0 {
$self_field = $other_field;
}
};
}
#[macro_export]
macro_rules! merge_address {
($self_field:expr, $other_field:expr) => {
if !$other_field.is_empty() && $other_field != Address::ZERO {
$self_field = $other_field;
}
};
}
#[macro_export]
macro_rules! merge_bool {
($self_field:expr, $other_field:expr) => {
if $other_field {
$self_field = $other_field;
}
};
}
#[macro_export]
macro_rules! merge_option {
($self_field:expr, $other_field:expr) => {
if $other_field.is_some() {
$self_field = $other_field;
}
};
}
#[macro_export]
macro_rules! env_string {
($field:expr, $env_var:literal) => {
if let Ok(val) = env::var($env_var) {
if !val.is_empty() {
$field = val;
}
}
};
}
#[macro_export]
macro_rules! env_option {
($field:expr, $env_var:literal) => {
if let Ok(val) = env::var($env_var) {
if !val.is_empty() {
$field = Some(val);
}
}
};
}
#[macro_export]
macro_rules! hex {
($bytes:expr) => {
::hex::encode($bytes)
};
}