halo_micro/
lib.rs

1//! `halo_micro` facade.
2//!
3//! 推荐使用方式:
4//! - `halo_micro::core::...`
5//! - `halo_micro::rest::...`
6//!
7//! # crates.io package 名
8//! 发布包名:`halo-micro`,库 crate 名:`halo_micro`。
9//! 使用示例:
10//! ```toml
11//! halo_micro = { package = "halo-micro", version = "0.1.0" }
12//! ```
13//!
14//! 注意:
15//! - 对外统一通过 `halo_micro::core` / `halo_micro::rest` 访问。
16
17/// `halo_micro::core::*` -> 本项目 `core` crate。
18pub mod core {
19    pub use ::core::*;
20}
21
22/// 兼容 go-zero 风格:`halo_micro::conf::must_load(...)`。
23pub mod conf {
24    pub use ::core::conf::*;
25}
26
27/// `halo_micro::rest::*` -> `rest` crate。
28pub mod rest {
29    pub use ::rest::*;
30}
31
32#[cfg(test)]
33mod tests {
34    #[test]
35    fn facade_types_should_point_to_workspace_core() {
36        // 如果这里能赋值成功,就证明 `halo_micro::conf` 导出的是 workspace 的 `core::conf`,
37        // 而不是标准库的 `core`。
38        let _: ::core::conf::Format = crate::conf::Format::Yaml;
39    }
40}