pub mod api;
pub mod auth;
pub mod config;
pub mod constants;
pub mod error;
pub mod http;
pub(crate) mod observability;
pub(crate) mod query_params;
pub mod req_option;
pub(crate) mod request_builder;
#[cfg(feature = "testing")]
pub mod testing;
pub mod trait_system;
pub mod validation;
mod content_disposition;
mod performance;
mod req_translator;
mod response_handler;
mod utils;
pub use error::{validation_error, CoreError, SDKResult};
pub use validation::Validatable;
#[macro_export]
macro_rules! validate_required {
($field:expr, $error_msg:expr) => {
if $crate::Validatable::is_empty_trimmed(&$field) {
return Err($crate::error::CoreError::validation_msg($error_msg));
}
};
}
#[macro_export]
macro_rules! validate_required_list {
($field:expr, $max_len:expr, $error_msg:expr) => {
if $field.is_empty() {
return Err($crate::error::CoreError::validation_msg($error_msg));
}
if $field.len() > $max_len {
return Err($crate::error::CoreError::validation_msg($error_msg));
}
};
}
pub mod prelude {
pub use crate::api::prelude::*;
pub use crate::config::Config;
pub use crate::constants::*;
pub use crate::error::{validation_error, CoreError, SDKResult};
pub use crate::http::Transport;
pub use crate::req_option::*;
pub use crate::validate_required;
pub use crate::validate_required_list;
}