fix prop serialization

This commit is contained in:
Evan Almloff committed 2023-07-08 09:13:24 -07:00
1 parent f0d1346652
commit 453d087ed6
2 files changed
+6 -7

No files matched your search

@@ -4,8 +4,8 @@ use base64::engine::general_purpose::STANDARD;
use base64::Engine;
#[allow(unused)]
pub(crate) fn serde_from_string<T: DeserializeOwned>(string: &str) -> Option<T> {
let decompressed = STANDARD.decode(string.as_bytes()).ok()?;
pub(crate) fn serde_from_bytes<T: DeserializeOwned>(string: &[u8]) -> Option<T> {
let decompressed = STANDARD.decode(string).ok()?;
postcard::from_bytes(&decompressed).ok()
}
+4 -5
View File
@@ -23,7 +23,7 @@ fn serialized_and_deserializes() {
for x in 0..10usize {
for y in 0..10 {
let mut as_string = String::new();
let mut as_string: Vec<u8> = Vec::new();
let data = vec![
Data {
a: x as u32,
@@ -37,10 +37,9 @@ fn serialized_and_deserializes() {
};
y
];
serialize_props::serde_to_writable(&data, &mut unsafe { as_string.as_bytes_mut() })
.unwrap();
serialize_props::serde_to_writable(&data, &mut as_string).unwrap();
println!("{}", as_string);
println!("{:?}", as_string);
println!(
"original size: {}",
std::mem::size_of::<Data>() * data.len()
@@ -48,7 +47,7 @@ fn serialized_and_deserializes() {
println!("serialized size: {}", to_allocvec(&data).unwrap().len());
println!("compressed size: {}", as_string.len());
let decoded: Vec<Data> = deserialize_props::serde_from_string(&as_string).unwrap();
let decoded: Vec<Data> = deserialize_props::serde_from_bytes(&as_string).unwrap();
assert_eq!(data, decoded);
}
}