#slice #string #validation #custom

validated-slice

用于实现自定义验证切片类型的std特质的辅助宏

3个不稳定版本

0.2.0 2019年10月25日
0.1.1 2019年10月22日
0.1.0 2019年9月25日

#2510 in Rust模式

Download history 15/week @ 2024-03-12 4/week @ 2024-03-26 59/week @ 2024-04-02 4/week @ 2024-04-23

每月102次下载

MIT/Apache

100KB
1.5K SLoC

validated-slice

Build Status Latest version Documentation Minimum rustc version: 1.37

用于在Rust中实现自定义验证切片类型的std特质的辅助宏。

请参阅tests/ascii_str.rstests/plain_str.rs的示例。这些示例定义了自定义字符串类型,并通过此软件包实现它们的基本std特质。

自定义切片

为了定义具有特定特性的数据的不透明类型别名,您可能需要定义自定义切片类型和向量类型。例如

  • 只包含ASCII字符的字符串。
  • 有效的URI字符串。
  • 转义HTML和未转义的HTML。
  • 通过PartialEqPartialOrd进行不区分大小写的比较的字符串。
  • 非空数组。
  • 排序数组。

然而,原始类型[T]str有许多特质实现,没有这样的特质实现,自定义数组类型可能不太友好。(例如,如果您想使用ASCII字符串&AsciiStr,您可能还想实现Default for &AsciiStrstd::convert::TryFrom<&str> for &AsciiStrPartialEq<str> for &AsciiStrPartialOrd<AsciiStr> for Cow<'_, AsciiStr>std::fmt::Display for AsciiStr`等。)

validated-slice帮助用户通过更少的样板代码自动实现这些常见的数组和字符串特质。

当前状态

这个软件包处于早期阶段,并且是实验性的。可能会引入破坏性变更,包括语法和功能。

该软件包遵循semver,因此您可以通过检查软件包版本来了解破坏性变更。

功能

  • nostd支持
    • 有关宏的详细信息,请参阅文档。

待办事项

对于没有详细想法的期望功能,请参阅TODO.md

许可证

根据以下任一许可证授权:

任选其一。

贡献

除非您明确表示,否则根据Apache-2.0许可证定义的,您有意提交以包含在该作品中的任何贡献,将根据上述方式双重许可,而不附加任何额外的条款或条件。

无运行时依赖