1 个不稳定版本
0.1.0 | 2023年4月19日 |
---|
#536 在 #deserialize
13KB
227 行
✨ 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 文件。
依赖项
~305–760KB
~18K SLoC