diff --git a/packages/fullstack/src/props_html/deserialize_props.rs b/packages/fullstack/src/props_html/deserialize_props.rs
index 47037db31..b9e2a2aa9 100644
--- a/packages/fullstack/src/props_html/deserialize_props.rs
+++ b/packages/fullstack/src/props_html/deserialize_props.rs
@@ -4,8 +4,8 @@ use base64::engine::general_purpose::STANDARD;
use base64::Engine;
#[allow(unused)]
-pub(crate) fn serde_from_string(string: &str) -> Option {
- let decompressed = STANDARD.decode(string.as_bytes()).ok()?;
+pub(crate) fn serde_from_bytes(string: &[u8]) -> Option {
+ let decompressed = STANDARD.decode(string).ok()?;
postcard::from_bytes(&decompressed).ok()
}
diff --git a/packages/fullstack/src/props_html/mod.rs b/packages/fullstack/src/props_html/mod.rs
index d2ca82f56..143c40231 100644
--- a/packages/fullstack/src/props_html/mod.rs
+++ b/packages/fullstack/src/props_html/mod.rs
@@ -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 = 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.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 = deserialize_props::serde_from_string(&as_string).unwrap();
+ let decoded: Vec = deserialize_props::serde_from_bytes(&as_string).unwrap();
assert_eq!(data, decoded);
}
}