#[macro_export]
macro_rules! i18n_string {
($key:expr $(,)?) => {
$crate::tina::data::i18n_string::I18nString::from_key($key)
};
($key:expr, $(($arg_key:expr,$arg_value:expr)),+ $(,)?) => {
$crate::tina::data::i18n_string::I18nString::from($key, vec![$(($arg_key, $arg_value)),+])
};
($key:expr, $($arg:expr),+ $(,)?) => {
$crate::tina::data::i18n_string::I18nString::from_key_args($key, vec![$($arg),+])
};
}
#[macro_export]
macro_rules! app_error {
($return_code:expr $(,)?) => {
$crate::tina::data::app_error::AppError::new($crate::tina::data::return_code::IntoDynReturnCode::into_dyn_return_code($return_code), $crate::tina::data::return_code::IReturnCode::get_code_description(&$return_code), $crate::anyhow!($crate::tina::data::return_code::IReturnCode::get_code_description(&$return_code).get_string($crate::tina::i18n::ResourceBundle::get_default_locale().as_str())), file!(), line!())
};
($return_code:expr, $return_msg:expr $(,)?) => {
$crate::tina::data::app_error::AppError::new($crate::tina::data::return_code::IntoDynReturnCode::into_dyn_return_code($return_code), $return_msg, $crate::anyhow!($return_msg.get_string($crate::tina::i18n::ResourceBundle::get_default_locale().as_str())), file!(), line!())
};
($return_code:expr, $return_msg:expr, $log_msg:expr $(,)?) => {
$crate::tina::data::app_error::AppError::new($crate::tina::data::return_code::IntoDynReturnCode::into_dyn_return_code($return_code), $return_msg, $crate::anyhow!($log_msg), file!(), line!())
};
($return_code:expr, $return_msg:expr, $log_msg:expr, $($arg:expr),+ $(,)?) => {
$crate::tina::data::app_error::AppError::new($crate::tina::data::return_code::IntoDynReturnCode::into_dyn_return_code($return_code), $return_msg, $crate::anyhow!(format!($log_msg,$($arg),+)), file!(), line!())
};
}
#[macro_export]
macro_rules! app_system_error {
($msg:expr $(,)?) => {
$crate::app_error!($crate::tina::data::http_status::HttpStatus::Error, $crate::tina::data::return_code::IReturnCode::get_code_description(&$crate::tina::data::http_status::HttpStatus::Error), $msg)
};
($msg:expr, $($arg:expr),+ $(,)?) => {
$crate::app_error!($crate::tina::data::http_status::HttpStatus::Error, $crate::tina::data::return_code::IReturnCode::get_code_description(&$crate::tina::data::http_status::HttpStatus::Error), $msg, $($arg),+)
};
}
#[macro_export]
macro_rules! app_system_error_with_msg {
($msg:expr $(,)?) => {
$crate::app_error!($crate::tina::data::http_status::HttpStatus::Error, $msg)
};
($msg:expr, $log_msg:expr $(,)?) => {
$crate::app_error!($crate::tina::data::http_status::HttpStatus::Error, $msg, $log_msg)
};
($msg:expr, $log_msg:expr, $($arg:expr),+ $(,)?) => {
$crate::app_error!($crate::tina::data::http_status::HttpStatus::Error, $msg, $log_msg, $($arg),+)
};
}
#[macro_export]
macro_rules! app_param_check_error {
($msg:expr $(,)?) => {
$crate::app_error!($crate::tina::data::http_status::HttpStatus::BadRequest, $crate::tina::data::return_code::IReturnCode::get_code_description(&$crate::tina::data::http_status::HttpStatus::BadRequest), $msg)
};
($msg:expr, $($arg:expr),+ $(,)?) => {
$crate::app_error!($crate::tina::data::http_status::HttpStatus::BadRequest, $crate::tina::data::return_code::IReturnCode::get_code_description(&$crate::tina::data::http_status::HttpStatus::BadRequest), $msg, $($arg),+)
};
}
#[macro_export]
macro_rules! app_param_check_error_with_msg {
($msg:expr $(,)?) => {
$crate::app_error!($crate::tina::data::http_status::HttpStatus::BadRequest, $msg)
};
($msg:expr, $log_msg:expr $(,)?) => {
$crate::app_error!($crate::tina::data::http_status::HttpStatus::BadRequest, $msg, $log_msg)
};
($msg:expr, $log_msg:expr, $($arg:expr),+ $(,)?) => {
$crate::app_error!($crate::tina::data::http_status::HttpStatus::BadRequest, $msg, $log_msg, $($arg),+)
};
}
#[macro_export]
macro_rules! app_error_from {
() => {
|err| $crate::tina::data::app_error::AppError::from_err(err, file!(), line!())
};
($err:expr $(,)?) => {
$crate::tina::data::app_error::AppError::from_err($err, file!(), line!())
};
}
#[macro_export]
macro_rules! app_error_from_none_static {
() => {
|err| $crate::tina::data::app_error::AppError::from_none_static_err(err, file!(), line!())
};
($err:expr $(,)?) => {
$crate::tina::data::app_error::AppError::from_none_static_err($err, file!(), line!())
};
}
#[macro_export]
macro_rules! app_error_from_none_send {
() => {
|err| $crate::tina::data::app_error::AppError::from_none_send_err(err, file!(), line!())
};
($err:expr $(,)?) => {
$crate::tina::data::app_error::AppError::from_none_send_err($err, file!(), line!())
};
}
#[macro_export]
macro_rules! app_debug {
(target: $target:expr, $($arg:tt)+) => (
if cfg!(debug_assertions) {
$crate::debug!(target: $target, $($arg)+)
}
);
($($arg:tt)+) => (
if cfg!(debug_assertions) {
$crate::debug!($($arg)+)
}
)
}