3 个版本

0.1.2 2021年1月23日
0.1.1 2020年11月21日
0.1.0 2020年11月21日

#57#newtype

MIT/Apache

8KB

my-own-uuid

此 crate 导出一个宏,可以更方便地创建自己的新类型 Uuid。这不是功能最全面的宏,它内置了许多假设,例如 Serde 和使用 Uuid v4。这些假设源于我的个人工作流程,我发现这个宏非常方便。

安装

在您的 Cargo.toml 中

[dependencies]
my-own-uuid = "0.1.0"

您何时想使用此类宏?

当您在单个对象上处理多种类型的 Id 时,拥有各种 Uuid 可以有效地让您感觉像在使用动态语言。这尤其是在游戏开发中,或在需要大量资产管理的发展中。想象一下,您有使用 Uuid 作为某些唯一标识符(可能是其保存文件)的实体,您还有使用 Uuid 的资产。您还有 Prefabs,这是一种实体,您像处理 Asset 一样处理它,它也有自己的 Uuid。正如您所想象的那样,这需要很多 Uuid 并确保不会出错。

这个新类型包装器极大地简化了过程,但只是通过添加小的编译器错误来警告您不要意外混淆您的 Uuid。直接使用 .0 访问新类型,您就可以完全控制原始 Uuid 数据。让我们的新类型成为一个不透明的包装器不是本项目的主要目标。

许可

此 crate 在 Apache 2.0 和 MIT 许可证下双许可。用户可以选择任一许可证。

依赖项

~0.7–1.4MB
~31K SLoC