0.1.2 |
|
---|---|
0.1.1 |
|
0.1.0 |
|
#43 in #datatype
每月 29 次下载
用于 purp-value-derive
97KB
2.5K SLoC
✨ Purp Value :sparkles
Purp Value 提供了一种灵活且强大的方式来操作 Rust 项目的不同类型的数据。无论您需要处理数字、字符串、数组、对象还是日期时间值,Purp Value 都能为您提供支持。
特性
- 易于使用的 API 用于操作值
- 针对不同类型数据的统一 API
- 提供经典的方法用于数值和字符串操作
- 支持转换为各种数据格式(例如,JSON、YAML 和 XML)
- 与 Serde 集成,实现易于序列化和反序列化
- 使用 Pest 进行本地解析和转换以进行数据验证
示例
以下是使用 Purp Value 的示例
use value::{Array, DateTime, Number, Object, StringB, Value};
let string_value = Value::String(StringB::new("hello".to_string()));
let number_value = Value::Number(Number::from(42));
let boolean_value = Value::Boolean(true);
let null_value = Value::Null;
let undefined_value = Value::Undefined;
let mut datetime_value = Value::DateTime(DateTime::from("2023-04-05T00:00:00Z"));
string_value.to_string();
number_value.get_i32();
assert_eq!(boolean_value, true);
assert_eq!(null_value, Value::Null);
assert_eq!(undefined_value, Value::Undefined);
datetime_value.add_days(1);
转换为 Value
您还可以通过实现 to_value
方法将您的自定义数据类型转换为 Value
枚举。例如
use value::{Array, DateTime, Number, Object, StringB, Value};
let array = Array::from(vec![Value::Number(Number::from(1)), Value::Number(Number::from(2))]).to_value();
let object = Object::from(vec![("key".to_string(), Value::String(StringB::new("value".to_string())))]).to_value();
let string = StringB::new("hello".to_string()).to_value();
let number = Number::from(42).to_value();
let boolean = true.to_value();
let datetime = DateTime::from("2023-04-05T00:00:00Z").to_value();
入门
要在 Rust 项目中使用 Purp Value,只需将以下行添加到您的 Cargo.toml
文件中
[dependencies]
value = "0.1"
然后,您可以在代码中像这样导入库
use value::Value;
贡献
如果您发现错误或对新功能有建议,请在 GitHub 仓库 上打开一个问题。
如果您想为此项目做出贡献,请随时提交拉取请求。在提交拉取请求之前,请确保您的代码符合项目风格指南并通过所有测试。
许可证
本项目采用 MIT 许可证。有关更多信息,请参阅 LICENSE-APACHE 或 LICENSE-MIT 文件。
依赖项
~5–7MB
~130K SLoC