5 个版本
0.2.1 | 2024 年 3 月 20 日 |
---|---|
0.2.0 | 2024 年 3 月 20 日 |
0.1.2 | 2024 年 3 月 20 日 |
0.1.1 | 2024 年 3 月 3 日 |
0.1.0 | 2024 年 2 月 26 日 |
在 开发工具 中排名第 1227
每月下载 56 次
33KB
555 行
oats
无需随机 UUID 的麻烦,短而唯一的 ID。
感谢
入门
将库添加到项目中
cargo add oats-rs
使用它生成唯一标识符
use oats::bowl::{GenerationBehavior, WrappedBowl};
use std::time::SystemTime;
let wrapped_bowl = WrappedBowl::of(1, GenerationBehavior::Normal, Some(SystemTime::now()));
let oat = wrapped_bowl.generate();
assert_eq!(oat.node(), 1);
Oats 语法
当使用 ToString 时,Oat 对象以包含节点 ID 和本地唯一标识符(LUID)的混合格式显示,其中包含时间戳和序列 ID。LUID 编码为无填充的 URL 安全 base64 字符串。
const ENGINE: FastPortable = FastPortable::from(&URL_SAFE, NO_PAD);
format!("{:X>2X}{}", &self.node, encode_engine(&self luid.to_le_bytes(), &ENGINE))
依赖项
~255KB