7 个版本 (3 个稳定版)
新版本 1.1.1 | 2024 年 8 月 16 日 |
---|---|
1.0.0 | 2024 年 8 月 15 日 |
0.1.3 | 2023 年 8 月 12 日 |
在 Rust 模式 中排名 2034
每月下载量 50 次
10KB
132 行
litenum
litenum 是字面量和枚举之间转换的 最小化 工具 !
功能
- 最小化实现
- 无 std,无分配
使用方法
转换为字面量
#[litenum::to]
enum AnkerTarget {
_blank,
_self,
_top,
_parent,
}
fn main() {
assert_eq!(
AnkerTarget::_blank.lit(),
"_blank",
)
}
从字面量转换
#[litenum::from]
#[derive(Debug, PartialEq)]
enum AnkerTarget {
_blank,
_self,
_top,
_parent,
}
fn main() {
assert_eq!(
AnkerTarget::from_lit("_blank"),
Some(AnkerTarget::_blank),
)
}
同时实现两者
#[litenum::ium] // same as
// `#[litenum::to] #[litenum::from]`
#[derive(Debug, PartialEq)]
enum AnkerTarget {
_blank,
_self,
_top,
_parent,
}
fn main() {
assert_eq!(
AnkerTarget::_blank.lit(),
"_blank",
);
assert_eq!(
AnkerTarget::from_lit("_blank"),
Some(AnkerTarget::_blank),
);
}
依赖项
~1.5MB
~35K SLoC