#haxe #serialization #serde

haxeformat

Haxe序列化格式在Rust中的实现

5个版本

0.2.3 2023年4月4日
0.2.2 2020年6月18日
0.2.1 2020年6月10日
0.2.0 2020年5月28日
0.1.0 2020年5月11日

#804 in 编码

39 每月下载量
5 个crate中使用(通过 etwin_twinoid_client

MIT 许可证

150KB
4K SLoC

Haxeformat

Rust实现Haxe序列化格式,支持serde。

文档

使用方法

use serde::{ Serialize, Deserialize };

#[derive(Debug, Eq, PartialEq, Serialize, Deserialize)]
struct Person {
    name: String,
    surname: String,
    age: u32,
}

let person = Person { name: "John".to_owned(), surname: "Doe".to_owned(), age: 42 };
let serialized = "oy4:namey4:Johny7:surnamey3:Doey3:agei42g";

assert_eq!(haxeformat::from_str::<Person>(serialized).unwrap(), person);
assert_eq!(haxeformat::to_string::<Person>(&person).unwrap(), serialized);

lib.rs:

Rust实现Haxe序列化格式,支持serde。

使用方法

use serde::{ Serialize, Deserialize };

#[derive(Debug, Eq, PartialEq, Serialize, Deserialize)]
struct Person {
    name: String,
    surname: String,
    age: u32,
}

let person = Person { name: "John".to_owned(), surname: "Doe".to_owned(), age: 42 };
let serialized = "oy4:namey4:Johny7:surnamey3:Doey3:agei42g";

assert_eq!(haxeformat::from_str::<Person>(serialized).unwrap(), person);
assert_eq!(haxeformat::to_string::<Person>(&person).unwrap(), serialized);

依赖项

~2.5MB
~42K SLoC