Crate clamber_core

Crate clamber_core 

Source
Expand description

Clamber Core 是一个面向 Rust 项目的通用核心工具库,提供:

  • 配置管理(YAML/TOML/JSON + 环境变量覆盖 + 多文件合并)
  • JWT 令牌生成与校验
  • 分布式唯一 ID(Snowflake)
  • 基于 tracing 的结构化日志初始化
  • 统一错误处理(thiserror)

快速开始示例:

use serde::{Serialize, Deserialize};
use clamber_core::token::{JwtConfig, generate_token, verify_token};

#[derive(Serialize, Deserialize, Debug, PartialEq)]
struct User { id: String, username: String, role: String }

fn main() -> clamber_core::Result<()> {
    let user = User { id: "1".into(), username: "alice".into(), role: "admin".into() };
    let token = generate_token(&user, JwtConfig::default())?;
    let decoded: User = verify_token(&token)?;
    assert_eq!(user, decoded);
    Ok(())
}

更多示例请查看项目 README 以及 examples 目录。

Re-exports§

pub use error::ClamberError;
pub use error::Result;
pub use tracing_logs::LogConfig;
pub use tracing_logs::logger_start_with_config;
pub use token::JwtConfig;
pub use token::JwtManager;
pub use token::generate_token;
pub use token::is_valid_token;
pub use token::verify_token;
pub use snowflake::SnowflakeConfig;
pub use snowflake::SnowflakeIdInfo;
pub use snowflake::SnowflakeManager;
pub use config::ConfigBuilder;
pub use config::ConfigFormat;
pub use config::ConfigManager;
pub use config::auto_load_config;
pub use config::get_config_paths;
pub use config::load_config;
pub use config::load_config_with_env;

Modules§

config
配置管理模块:支持多格式配置文件(YAML/TOML/JSON)、环境变量覆盖(可自定义前缀与分隔符)、多文件合并与默认值。 参见项目根目录的 CONFIG.md 获取更完整的使用指南与示例。
error
错误类型模块:对库内各子模块的错误进行统一建模,向外暴露 ClamberError 与 Result。
snowflake
Snowflake 模块:线程安全的分布式唯一 ID 生成与解析,支持自定义纪元与批量生成。 详见根目录 SNOWFLAKE.md 获取更完整说明与示例。
snowflake_utils
snowflake 便利函数(使用前缀避免命名冲突) 便利函数:Snowflake ID 相关的快捷 API。
token
JWT 模块:提供令牌生成、验证和便捷函数;支持自定义密钥与过期时间。 详见根目录 JWT_README.md 获取更丰富的示例与 API 说明。
tracing_logs
tracing 日志模块:提供控制台+文件输出、按日滚动、可配置格式/级别的初始化函数。 参见 README 以及 examples/beautiful_logs_custom.rs。