anycms_core/
lib.rs

1//! anycms-core
2//!
3//! A unified API response library supporting multiple Rust web frameworks.
4//!
5//! ## Features
6//! - `actix` (default): Support for actix-web framework
7//! - `axum`: Support for axum framework
8//! - `full`: Enable all framework integrations
9//!
10//! ## Example (Actix-web)
11//! ```rust
12//! use anycms_core::ApiResult;
13//!
14//! async fn get_user() -> ApiResult<User> {
15//!     let user = fetch_user().await?;
16//!     ApiResult::value(user)
17//! }
18//! ```
19//!
20//! ## Example (Axum)
21//! ```rust
22//! use anycms_core::ApiResult;
23//!
24//! async fn get_user() -> ApiResult<User> {
25//!     let user = fetch_user().await?;
26//!     ApiResult::value(user)
27//! }
28//! ```
29
30mod pagination;
31mod result;
32
33// Framework-specific implementations
34mod frameworks;
35
36// Core exports (always available)
37pub use pagination::ResultPagination;
38pub use result::{ApiResult, DefaultResult, AnyhowResult, EmptyResult};
39
40// Framework-specific exports (available only when corresponding feature is enabled)
41#[cfg(feature = "actix")]
42pub use frameworks::actix;
43
44#[cfg(feature = "axum")]
45pub use frameworks::axum;