wae-types 0.0.1

WAE Types - 统一错误类型与结果类型
Documentation

wae-types

类型模块 - 提供通用类型定义。

主要功能

  • 错误类型: 统一错误定义
  • 结果类型: 通用 Result 类型
  • ID 类型: 类型安全的标识符
  • 时间类型: 时间相关类型

技术栈

  • 序列化: serde
  • 错误处理: thiserror

使用示例

use wae_types::{
    Result,
    Error,
    Id,
    Timestamp,
};

fn main() -> Result<()> {
    let user_id: Id<User> = Id::new("user-001");
    let order_id: Id<Order> = Id::new("order-001");
    
    let now = Timestamp::now();
    let expires_at = now.add_hours(24);
    
    if now > expires_at {
        return Err(Error::expired("令牌已过期"));
    }
    
    Ok(())
}

类型安全 ID

use wae_types::Id;

struct User { id: Id<User> }
struct Order { id: Id<Order> }

let user_id: Id<User> = Id::new("001");
let order_id: Id<Order> = Id::new("001");

fn get_user(id: Id<User>) { }
fn get_order(id: Id<Order>) { }

get_user(user_id);
get_order(order_id);

错误类型

use wae_types::Error;

match result {
    Err(Error::NotFound(msg)) => println!("未找到: {}", msg),
    Err(Error::Unauthorized) => println!("未授权"),
    Err(Error::Validation(msg)) => println!("验证失败: {}", msg),
    _ => {}
}